IP Library Granted Patent US 10,554,571
Granted Patent B2
US 10,554,571 · App. 15/238,980 · Granted Feb 4, 2020

Packet-to-packet timing reconstruction for channel bonding

Inventors: Rajesh Shankarrao Mamidwar (San Diego, CA); Anand Tongle (San Diego, CA)
Assignee: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
H04L47/624H04L25/14H04L65/4069H04L1/1841H04L69/22
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,554,571
App. No.
15/238,980
Granted
Feb 4, 2020
Kind
B2
Abstract

A stream at a source device may be transmitted over multiple channels. At the input of the channels the packets from the stream may be grouped into chunks. Informational packets may be appended to the chunks. The informational packets may include sequencing information for the chunks and packet-to-packet timing information. The chunks may then be distributed over the multiple channels. After transmission over the channels, the informational packets may be extracted from the chunks. Reconstruction circuitry, at the destination device, may determine the sequence of the chunks at the source device based on the sequencing information. The reconstruction circuitry may also determine relative timings of the packets within the single stream based on the packet-to-packet timing information. The packets may be released from buffers in accord with the determined packet-to-packet timing information and the sequencing information to recreate the relative timings within the single stream at the destination device.

Claims (39)

1. A method comprising:

dividing an input stream into multiple chunks, the input stream comprising encoded video content;

assigning multiple consecutive packets within the input stream to a first chunk of the multiple chunks;

calculating, prior to transmission of the first chunk, an average packet spacing between the multiple consecutive packets within the input stream assigned to the first chunk, the average packet spacing being calculated based at least in part on sampled packet-to-packet timing for some of the multiple consecutive packets assigned to the first chunk;

appending, to the first chunk, an informational packet containing the average packet spacing to support reconstruction, at a receiver, of the average packet spacing between the multiple consecutive packets assigned to the first chunk for decoding the encoded video content by translating, at the receiver, the average packet spacing into a local time domain value of the receiver; and

distributing the multiple chunks over bonded transmit communication channels to the receiver, an entirety of the first chunk being distributed to one of the bonded transmit communication channels.

2. The method of claim 1 , where the average packet spacing is determined based at least in part on a total end-to-end timing for the first chunk and a number of the multiple consecutive packets assigned to the first chunk.

3. The method of claim 1 , where the informational packet comprises a bundle identifier packet.

4. The method of claim 3 , where the average packet spacing is included within an adaptation field of the bundle identifier packet.

5. The method of claim 1 , where appending the informational packet comprises appending the informational packet to one or more ends of the first chunk.

6. The method of claim 1 , where the multiple consecutive packets assigned to the first chunk are not re-sequenced at the receiver.

7. The method of claim 1 , where the average packet spacing is determined by measuring multiple durations between packet boundaries among the multiple consecutive packets assigned to the first chunk.

8. The method of claim 6 , where the informational packet further includes sequencing information for ordering at least a portion of the multiple chunks after transmission over the bonded transmit communication channels.

9. The method of claim 1 , where the multiple chunks each include the same number of packets.

10. The method of claim 1 , where the multiple chunks each include 2 N packets, where N comprises an integer value.

11. A device comprising:

communication interface circuitry coupled to bonded transmit communication channels; and

routing circuitry coupled to the communication interface circuitry, the routing circuitry configured to:

divide an input stream into multiple chunks, the input stream comprising content;

assign multiple consecutive packets within the input stream to a first chunk of the multiple chunks;

measure durations between the multiple consecutive packets within the input stream assigned to the first chunk to determine an average packet-to-packet interval for the first chunk, the average packet-to-packet interval being determined based at least in part on measured durations between some of the multiple consecutive packets assigned to the first chunk;

append, to the first chunk, an informational packet containing the average packet-to-packet interval for the first chunk to support reconstruction of the durations at a receiver for accessing the content by translating, at the receiver, the average packet-to-packet interval into a local time domain value of the receiver; and

distribute the multiple chunks over the bonded transmit communication channels to the receiver, an entirety of the first chunk being distributed to one of the bonded transmit communication channels.

12. The device of claim 11 , where the average packet-to-packet interval is determined without measuring the duration between each of the multiple consecutive packets within the input stream assigned to the first chunk.

13. The device of claim 11 , where the average packet-to-packet interval is determined by measuring the durations between packet boundaries among the consecutive packets.

14. The device of claim 11 , where the informational packet further includes sequencing information for ordering at least a portion of the multiple chunks after transmission over the bonded transmit communication channels.

15. The device of claim 14 , where the multiple consecutive packets within the input stream assigned to the first chunk are not re-sequenced at the receiver.

16. The device of claim 11 , where the routing circuitry is configured to mark a boundary between the first chunk and a second chunk of the multiple chunks by inserting the informational packet between the first and second chunks.

17. A device comprising:

communication interface circuitry coupled to bonded transmit communication channels, the communication interface circuitry configured to receive, from another device, multiple chunks over the bonded transmit communication channels, an entirety of a first chunk of the multiple chunks being received over one of the bonded transmit communication channels; and

reconstruction circuitry coupled to the communication interface circuitry, the reconstruction circuitry configured to:

for the first chunk of the multiple chunks, extract sequence data and an average packet spacing for the first chunk from an informational packet appended to the first chunk, the average packet spacing having been measured at the other device;

responsive to the sequence data, reorder the first chunk relative to at least one other of the multiple chunks without resequencing the packets within the multiple chunks;

translate the average packet spacing measured at the other device into a local time domain value; and

reconstruct the received stream within the first chunk by spacing the packets in accord with the average packet spacing translated into the local time domain value.

18. The device of claim 17 , wherein the reconstruction circuitry is configured to translate the average packet spacing measured at the other device into the local time domain value by:

translating the average packet spacing measured at the other device into a cycle of a local reference clock.

19. The device of claim 17 , wherein the informational packet comprises a bundle identifier packet.

20. The device of claim 17 , wherein the multiple chunks each include the same number of packets.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2016
From: MAMIDWAR, RAJESH SHANKARRAO; TONGLE, ANAND
To: BROADCOM CORPORATION
Reel/Frame 039467/0097 →