# US 12,192,003 B2 · Network equipment and method for delivering data packets

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

- Number: US 12,192,003 B2
- Document ID: US12192003B2
- Status: Granted
- Kind: B2
- Application number: 17/299,489
- Filed: 2019-11-27
- Published: 2022-04-21
- Granted: 2025-01-07
- Earliest claimed: 2018-12-06
- Assignees: InterDigital CE Patent Holdings, SAS
- Applicants: InterDigital CE Patent Holdings, SAS
- Inventors: Yvon Legallais; Charline Taibi Guguen; Remi Houdaille
- Web page: https://patentgrep.com/patent/US12192003B2

## CPC

- H04L 1/1657: {Implicit acknowledgement of correct or incorrect reception, e.g. with a moving window}
- H04L 1/188: {Time-out mechanisms}
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- H04L 69/163: In-band adaptation of TCP data exchange; In-band control procedures
- H04L 69/166: IP fragmentation; TCP segmentation
- H04L 69/28: Timers or timing mechanisms used in protocols
- H04L 65/65: Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

During the delivery of a sequence of packets from a server to a client device, when an expiration time associated with an initial payload of a data packet belonging to a sliding window for delivery is reached without reception of a corresponding acknowledgment from the device, the server (300) resends the data packet with a new payload corresponding to the initial payload of a next data packet to be transmitted through the sliding window.

## Claims

### Claim 1

A network equipment configured to be in communication with a device through a network for delivering data packets comprising an initial payload, the network equipment comprising one or more processors configured for:
obtaining an expiration time for the initial payload of the data packets to be delivered to the device,
delivering to the device data packets belonging to a sliding window moving according to data packet acknowledgments, and
when the expiration time of the initial payload of a data packet belonging to the sliding window is reached without reception of a corresponding acknowledgment from the device, resending the data packet with a new payload replacing the initial payload of the data packet, the new payload corresponding to the initial payload of at least one next data packet to be transmitted through the sliding window when the expiration time of the new payload of the resent data packet is not reached yet;
wherein the expiration time of the initial payload of the data packet depends on a maximum time before rendering and a time of transmission of the data packet from the network equipment to the device, the maximum time before rendering depending on a maximum buffering time of the data packet at the device before processing and a decoding time.

### Claim 2 (depends on 1)

The network equipment of claim 1, wherein, when at least one data packet has been resent with the new payload, the initial payload of a subsequent packet not transmitted yet through the sliding window is transferred to one or more previous packets for delivery.

### Claim 3 (depends on 1)

The network equipment of claim 1, wherein, each data packet being associated with a sequence number, the sequence number associated with the resent data packet remains unchanged.

### Claim 4 (depends on 1)

The network equipment of claim 1, wherein, when a TCP protocol is implemented for transmitting data packets, a TCP header of the resent data packet remains unchanged, except checksum.

### Claim 5 (depends on 1)

The network equipment of claim 1, wherein the expiration time of the initial payload of the data packet corresponds to an expiration time of a first video frame or a first audio sample to be processed of that data packet.

### Claim 6 (depends on 1)

The network equipment of claim 1, wherein a specific header is added to the initial payload of every data packet.

### Claim 7 (depends on 1)

The network equipment of claim 1, wherein a specific header of the data packet comprises a length of the initial payload of the data packet and a packet number.

### Claim 8

A method to be implemented at a network equipment configured to be in communication with a device through a network for delivering data packets comprising an initial payload, the method comprising:
obtaining an expiration time for the initial payload of the data packets to be delivered to the device,
delivering to the device data packets belonging to a sliding window moving according to data packet acknowledgments, and
when the expiration time of the initial payload of a data packet belonging to the sliding window is reached without reception of a corresponding acknowledgment from the device, resending the data packet with a new payload replacing the initial payload of the data packet, the new payload corresponding to the initial payload of at least one next data packet to be transmitted through the sliding window when the expiration time of the new payload of the resent data packet is not reached yet;
wherein the expiration time of the initial payload of the data packet depends on a maximum time before rendering and a time of transmission of the data packet from the network equipment to the device, the maximum time before rendering depending on a maximum buffering time of the data packet at the device before processing and a decoding time.

### Claim 9 (depends on 8)

The method of claim 8, wherein, when at least one data packet has been resent with the new payload, the initial payload of a subsequent packet not transmitted yet through the sliding window is transferred to one or more previous packets for delivery.

### Claim 10 (depends on 8)

The method of claim 8, wherein, each data packet being associated with a sequence number, the sequence number associated with the resent data packet remains unchanged.

### Claim 11 (depends on 8)

The method of claim 8, wherein, when a TCP protocol is implemented for transmitting data packets, a TCP header of the resent data packet remains unchanged, except checksum.

### Claim 12 (depends on 8)

The method of claim 8, wherein the expiration time of the initial payload of the data packet corresponds to an expiration time of a first video frame or a first audio sample to be processed of that data packet.

### Claim 13 (depends on 8)

The method of claim 8, wherein a specific header is added to the initial payload of every data packet.

### Claim 14 (depends on 8)

The method of claim 8, wherein a specific header of the data packet comprises a length of the initial payload of the data packet and a packet number.

### Claim 15

A device configured to be in communication with a network equipment through a network for receiving data packets comprising an initial payload, the device comprising one or more processors configured for:
receiving from the network equipment data packets belonging to a sliding window moving according to data packet acknowledgments,
when an expiration time of the initial payload of a data packet belonging to the sliding window is reached without sending of a corresponding acknowledgment by the device, receiving the data packet with a new payload replacing the initial payload of the data packet, the new payload corresponding to the initial payload of at least one next data packet to be transmitted through the sliding window when the expiration time of the new payload of the resent data packet is not reached yet, the expiration time of the initial payload of the data packet depending on a maximum time before rendering and a time of transmission of the data packet from the network equipment to the device, the maximum time before rendering depending on a maximum buffering time of the data packet at the device before processing and a decoding time, and
reordering received data packets thanks to a specific header added to initial payload of data packets.

### Claim 16

A method to be implemented at device configured to be in communication with a network equipment through a network for receiving data packets comprising an initial payload, the method comprising:
receiving from the network equipment data packets belonging to a sliding window moving according to data packet acknowledgments,
when an expiration time of the initial payload of a data packet belonging to the sliding window is reached without sending of a corresponding acknowledgment by the device, receiving the data packet with a new payload replacing the initial payload of the data packet, the new payload corresponding to the initial payload of at least one next data packet to be transmitted through the sliding window when the expiration time of the new payload of the resent data packet is not reached yet, the expiration time of the initial payload of the data packet depending on a maximum time before rendering and a time of transmission of the data packet from the network equipment to the device, the maximum time before rendering depending on a maximum buffering time of the data packet at the device before processing and a decoding time, and
reordering received data packets thanks to a specific header added to initial payload of data packets.

### Claim 17

A non-transitory program storage device, readable by a computer, tangibly embodying a program of instructions executable by the computer to perform a method to be implemented at a network equipment configured to be in communication with a device through a network for delivering data packets comprising an initial payload, the method comprising:
obtaining an expiration time for the initial payload of the data packets to be delivered to the device,
delivering to the device data packets belonging to a sliding window moving according to data packet acknowledgments, and
when the expiration time of the initial payload of a data packet belonging to the sliding window is reached without reception of a corresponding acknowledgment from the device, resending the data packet with a new payload replacing the initial payload of the data packet, the new payload corresponding to the initial payload of at least one next data packet to be transmitted through the sliding window when the expiration time of the new payload of the resent data packet is not reached yet;
wherein the expiration time of the initial payload of the data packet depends on a maximum time before rendering and a time of transmission of the data packet from the network equipment to the device the maximum time before rendering depending on a maximum buffering time of the data packet at the device before processing and a decoding time.

### Claim 18 (depends on 17)

The non-transitory program storage device of claim 17, wherein, when at least one data packet has been resent with the new payload, the initial payload of a subsequent packet not transmitted yet through the sliding window is transferred to one or more previous packets for delivery.

### Claim 19 (depends on 17)

The non-transitory program storage device of claim 17, wherein, each data packet being associated with a sequence number, the sequence number associated with the resent data packet remains unchanged.

### Claim 20 (depends on 17)

The non-transitory program storage device of claim 17, wherein, when a TCP protocol is implemented for transmitting data packets, a TCP header of the resent data packet remains unchanged, except checksum.
