# US 8,787,163 B1 · Method and apparatus for adjusting the size of a buffer in a network node based on latency

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,787,163 B1
- Document ID: US8787163B1
- Status: Granted
- Kind: B1
- Application number: 13/017,448
- Filed: 2011-01-31
- Granted: 2014-07-22
- Earliest claimed: 2010-02-24
- Assignees: Marvell International Ltd.
- Applicants: Pradeep Jugraj Nemavat; Sandesh Goel
- Inventors: Pradeep Jugraj Nemavat; Sandesh Goel
- Web page: https://patentgrep.com/patent/US8787163B1

## CPC

- H04L 12/54: Store-and-forward switching systems (packet switching systems H04L45/00, H04L47/00)
- H04L 47/30: in combination with information about buffer occupancy at either end or at transit nodes
- H04L 47/00: Traffic control in data switching networks (arrangements for detecting or preventing errors in the information received H04L1/00)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods associated with controlling buffer size based on latency are described. In one embodiment, a method includes determining a transmission latency for a data item exiting a transmission buffer and selectively manipulating a size of the transmission buffer based on the transmission latency for the data item.

## Claims

### Claim 1

A method, comprising:
determining a transmission latency for a data item exiting a transmission buffer;
determining an egress rate for the transmission buffer based on the transmission latency;
determining whether the transmission latency will exceed a maximum acceptable latency for the transmission buffer based at least in part on the egress rate for the transmission buffer; and
selectively manipulating a size of the transmission buffer based on the transmission latency for the data item so that the transmission latency does not exceed the maximum acceptable latency.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
wherein selectively manipulating the size of the transmission buffer based on the transmission latency for the data item comprises selectively manipulating the size of the transmission buffer based on the egress rate.

### Claim 3 (depends on 2)

The method of claim 2, further comprising determining the transmission latency and the egress rate for every packet that enters the transmission buffer, less than every packet that enters the transmission buffer, or periodically.

### Claim 4 (depends on 1)

The method of claim 1, wherein the transmission buffer is an egress buffer in a network node.

### Claim 5 (depends on 4)

The method of claim 4, wherein the data item is a packet.

### Claim 6 (depends on 4)

The method of claim 4, wherein the network node is one of (i) an access point, (ii) a station, and (iii) a router.

### Claim 7 (depends on 1)

The method of claim 1, wherein determining the transmission latency comprises comparing a time at which the data item exited the transmission buffer to a time at which the data item entered the transmission buffer.

### Claim 8 (depends on 1)

The method of claim 1, wherein determining the egress rate comprises comparing an amount of data that exited the transmission buffer between (i) the time at which the data item entered the transmission buffer and (ii) the time at which the data item exited the transmission buffer.

### Claim 9 (depends on 1)

The method of claim 1, wherein selectively manipulating the size of the transmission buffer comprises shortening the transmission buffer by an amount that depends on the egress rate.

### Claim 10 (depends on 1)

The method of claim 1, wherein selectively manipulating the size of the transmission buffer comprises setting the size of the transmission buffer to a size that equals the egress rate multiplied by the maximum acceptable latency for the transmission buffer.

### Claim 11 (depends on 1)

The method of claim 1, wherein selectively manipulating the size of the transmission buffer comprises selectively increasing the size of the transmission buffer upon determining that the transmission latency is less than the maximum acceptable latency.

### Claim 12 (depends on 11)

The method of claim 11, wherein selectively increasing the size of the transmission buffer comprises setting the size of the transmission buffer to a maximum size allowed for the transmission buffer.

### Claim 13 (depends on 1)

The method of claim 1, wherein selectively manipulating the size of the transmission buffer comprises selectively increasing the size of the transmission buffer upon determining that the transmission latency is less than a threshold latency.

### Claim 14

An apparatus, comprising:
a processor;
a memory configured to store a transmission buffer;
a set of logics; and
an interface to connect the processor, the memory, and the set of logics,
wherein the set of logics comprises:
a first logic configured to selectively add a packet to the transmission buffer, to determine an insert time at which the packet was added to the transmission buffer, and to store a pending data that identifies an amount of data pending for transmission from the transmission buffer at the insert time;
a second logic configured to determine an exit time at which the packet left the transmission buffer;
a third logic configured to determine a latency for the packet based on the insert time and the exit time; and
a fourth logic configured to:
determine an egress rate for the transmission buffer based on the latency and the pending data;
determine whether the latency will exceed a maximum acceptable latency for the packet based, at least in part, on the egress rate for the transmission buffer; and
control a size of the transmission buffer based on the latency so that the transmission latency does not exceed the maximum acceptable latency.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the fourth logic is further configured to control the size of the transmission buffer based on the latency and the egress rate.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the fourth logic is configured to increase the size of the transmission buffer upon determining that the latency is less than the maximum acceptable latency, and wherein the transmission buffer has a maximum size.

### Claim 17 (depends on 14)

The apparatus of claim 14, wherein the fourth logic is configured to decrease the size of the transmission buffer upon determining that the latency exceeds the maximum acceptable latency, and wherein the transmission buffer has a minimum size.

### Claim 18 (depends on 14)

The apparatus of claim 14, wherein the fourth logic is configured to set the size of the transmission buffer to a size equaling the egress rate times the maximum acceptable latency for the transmission buffer.

### Claim 19

A non-transitory computer-readable medium storing computer executable instructions that when executed by a network node control the network node to perform a method, the method comprising:
computing a latency experienced by a packet transiting a transmission buffer in the network node, wherein the latency is based on a time the packet entered the transmission buffer and a time the packet exited the transmission buffer;
computing an egress rate for the transmission buffer, wherein the egress rate is based on the latency and an amount of data exiting the transmission buffer during the latency;
determining whether the transmission latency will exceed a maximum acceptable latency for the transmission buffer based at least in part on the egress rate for the transmission buffer;
computing a buffer size for the transmission buffer based on the egress rate; so that the transmission latency does not exceed the maximum acceptable latency; and
physically transforming the network node by setting the transmission buffer size to the buffer size.
