# US 2019/0245901 A1 · Audio-video (av) packet delivery over a local area network

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

- Number: US 2019/0245901 A1
- Document ID: US20190245901A1
- Status: Published application
- Kind: A1
- Application number: 16/268,403
- Filed: 2019-02-05
- Published: 2019-08-08
- Earliest claimed: 2018-02-05
- Assignees: Avago Technologies International Sales Pte. Limited
- Applicants: Avago Technologies International Sales Pte. Limited
- Inventors: Rajesh Shankarrao MAMIDWAR; Sanjeev SOOD; Prashant KATRE; Arnab BHATTACHARYA; Amit R. AGARWAL
- Web page: https://patentgrep.com/patent/US20190245901A1

## CPC

- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- H04L 65/613: for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A network device providing audio-video packet delivery over a local area network may include a memory and at least one processor. The at least one processor may be configured to receive data packets from a server, the data packets being addressed to an electronic device downstream from the network device. The at least one processor may be further configured to determine whether the data packets satisfy an offload condition. The at least one processor may be further configured to, when the data packets satisfy the offload condition: transmit, to the server, acknowledgement packets corresponding to the received data packets, store the data packets in a buffer, transmit the data packets to the electronic device, and retransmit the data packets to the electronic device responsive to request therefor, the retransmitted data packets being retrieved from the buffer.

## Claims

### Claim 1

A network device comprising:
a memory; and
at least one processor configured to:
receive data packets from a server, the data packets being addressed to an electronic device downstream from the network device;
determine whether the data packets satisfy an offload condition;
when the data packets satisfy the offload condition:
transmit, to the server, acknowledgement packets corresponding to the received data packets;
store the data packets in a buffer;
transmit the data packets to the electronic device; and
retransmit the data packets to the electronic device responsive to request therefor, the retransmitted data packets being retrieved from the buffer.

### Claim 2 (depends on 1)

The network device of claim 1, wherein when a TCP/IP connection is established between the server and the electronic device, the at least one processor is configured to operate as a TCP client/sink with respect to the server, and to operate as a TCP server/source with respect to the electronic device.

### Claim 3 (depends on 1)

The network device of claim 1, wherein the at least one processor is configured to store payloads of the data packets in the buffer and transmit the payloads in separately generated data packets to the electronic device.

### Claim 4 (depends on 3)

The network device of claim 3, wherein the at least one processor is configured to retransmit the data packets by retrieving the payloads from the buffer, packetizing the payloads into additional data packets, and transmitting the additional data packets.

### Claim 5 (depends on 1)

The network device of claim 1, wherein the at least one processor is configured to determine whether data packets satisfy an offload condition based on at least one of:
determining that the data packets are associated with a high bit rate stream;
determining that the data packets comprise audio-video packets;
determining that a number of retransmission requests received for the data packets satisfies a threshold amount; or
determining that the server has been previously selected for packet offload.

### Claim 6 (depends on 1)

The network device of claim 1, wherein the at least one processor is further configured to remove the data packets from the buffer when corresponding acknowledgment packets are received from the electronic device.

### Claim 7 (depends on 1)

The network device of claim 1, wherein the at least one processor is further configured to:
when the data packets do not satisfy the offload condition, transmit the data packets to the electronic device without storing the data packets in the buffer.

### Claim 8 (depends on 1)

The network device of claim 1, wherein the at least one processor is further configured to:
when the data packets satisfy the offload condition, offload a network connection corresponding to the data packets to a secondary processor separate from a host processor of the network device.

### Claim 9 (depends on 8)

The network device of claim 8, wherein the at least one processor is further configured to:
when the data packets satisfy the offload condition, transmit one or more flow control packets to the server based at least in part on a fullness of the buffer, the one or more flow control packets corresponding to transmission of the data packets.

### Claim 10 (depends on 9)

The network device of claim 9, wherein the buffer is dedicated to the network connection corresponding to the data packets.

### Claim 11 (depends on 9)

The network device of claim 9, wherein the buffer is shared by the network connection and another network connection.

### Claim 12 (depends on 1)

The network device of claim 1, wherein the network device is communicatively coupled to the server via a wide area network, the electronic device is communicatively coupled to the network device via a wireless local area network, and the electronic device is communicatively coupled to the server through the network device.

### Claim 13

A method comprising:
receiving, by a network device, a first plurality of content streams addressed to a first electronic device and a second plurality of content streams addressed to a second content device, each of the first and second plurality of content streams comprising data packets; and
performing packet by packet pacing for transmitting the first and second plurality of content streams to the first and second electronic device, respectively, wherein each data packet transmitted to the first electronic device for the first plurality of content streams is from a different content stream than a previous data packet transmitted to the first electronic device and each data packet transmitted to the second electronic device for the second plurality of content streams is from a different content stream than a previous data packet transmitted to the second electronic device.

### Claim 14 (depends on 13)

The method of claim 13, wherein the packet by packet pacing is performed on at least one of content received from a network server or network traffic generated by the network device.

### Claim 15 (depends on 13)

The method of claim 13, wherein the packet by packet pacing is performed on each Ethernet packet boundary for each data packet of each of the first and second plurality of content streams.

### Claim 16 (depends on 13)

The method of claim 13, wherein the first and second electronic devices are communicatively coupled to the network device via a wired connection, the first electronic device is capable of a first data transfer rate and the second electronic device is capable of a second data transfer rate that differs from the first data transfer rate.

### Claim 17 (depends on 13)

The method of claim 13, wherein the network device receives the first and second plurality of content streams from a content server, the network device is communicatively coupled to the content server via a wide area network, the first and second electronic devices are communicatively coupled to the network device via a local area network, and the first and second content devices are communicatively coupled to the content server through the network device.

### Claim 18

A non-transitory machine readable medium comprising code that, when executed by one or more processors, causes the one or more processors to perform operations, the code comprising:
code to receive, by a network device, a data packet from a server, the data packet being addressed to an electronic device, and responsively transmit an acknowledgement packet to the server;
code to locally store a copy of a payload of the data packet, generate a separate data packet from the payload, and transmit the separate data packet to the electronic device; and
code to retrieve, packetize, and retransmit the locally stored copy of the payload of the data packet to the electronic device in response to receipt of a retransmission request for the separate data packet from the electronic device.

### Claim 19 (depends on 18)

The non-transitory machine readable medium of claim 18, wherein the code further comprises:
code to remove the copy of the data packet responsive to receipt of an acknowledgment packet corresponding to the data packet.

### Claim 20 (depends on 19)

The non-transitory machine readable medium of claim 19, wherein the network device is coupled to the electronic device via a local area network, the network device is coupled to the server via a wide area network that is non-overlapping with the local area network, and the acknowledgement packet is transmitted to the server for the data packet addressed to the electronic device before the data packet addressed to the electronic device is transmitted to the electronic device.
