IP Library › Granted Patent US 11,509,417
Granted Patent B2
US 11,509,417 · App. 16/750,185 · Granted Nov 22, 2022

Systems and methods to generate copies of data for transmission over multiple communication channels

Inventors: Mingchao Yu (Belconnen, AU); Mark Craig Reed (Lyneham, AU)
Assignee: Dolby Laboratories Licensing Corporation
H04L1/0041H04L1/0033H04L1/0045G06F9/4881G06F13/37H04L12/4015H04L67/60
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 11,509,417
App. No.
16/750,185
Granted
Nov 22, 2022
Kind
B2
Abstract

Systems and methods to transmit data over multiple communication channels in parallel with forward error correction. Original packets are evenly distributed to the channels as the initial systematically channel-encoded packets. Subsequent channel-encoded packets are configured to be linearly independent of their base sets of channel-encoded packets, where a base set for a subsequent channel-encoded packet includes those scheduled to be transmitted before the subsequent packet in the same channel as the subsequent packet, and optionally one or more initial packets from other channels. The compositions of the sequences of the encoded packets can be predetermined without the content of the packets; and the channel-encoded packets can be generated from the original packets on-the-fly by the transmitters of the channels during transmission. When a sufficient number of packets have been received via the channels, a recipient may terminate their transmissions.

Claims (42)

1. A method implemented in a computing apparatus, the method comprising:

identifying a data segment to be transmitted via a plurality of parallel communication channels;

generating a plurality of original packets of a same length, by partitioning the data segment;

generating a plurality of channel-encoded packets by combining, using a predetermined function, a random subset of the original packets partitioned from the data segment;

for each of the plurality of parallel communication channels, generating a transmission schedule by allocating a respective first subset of the plurality of original packets based on a transmission speed of the corresponding parallel communication channel and by allocating a respective second subset of the plurality of channel-encoded packets;

after generating the transmission schedule, transmitting the plurality of original packets and the plurality of channel-encoded packets according to the transmission schedule; and

in response to a determination by a recipient device coupled to the plurality of parallel communication channels that a received set of packets is sufficient to reconstruct the data segment, causing termination of the transmitting.

2. The method according to claim 1 , wherein a size of the respective first subset allocated to a corresponding parallel communication channel is proportional to the transmission speed of the corresponding parallel communication channel.

3. The method according to claim 1 , wherein the predetermined function is configured to implement a forward error correction technique.

4. The method according to claim 1 , wherein the predetermined function is configured to apply an XOR operation to the random subset of the original packets.

5. The method according to claim 1 , wherein, for each of the plurality of parallel communication channels, original packets other than those included in the respective first subset are used to generate channel-encoded pockets included in the respective second subset.

6. The method according to claim 1 , wherein, for each of the plurality of parallel communication channels, the transmission schedule is such that the respective second subset is transmitted after an entirety of the respective first subset.

7. The method according to claim 6 , wherein generating the plurality of channel-encoded packets includes:

identifying the random subset of the original packets prior to generating the transmission schedule; and

generating an actual data for a respective channel-encoded packet after transmitting the entirety of the respective first subset and immediately prior to transmitting the respective channel-encoded packet.

8. The method according to claim 6 , wherein generating the plurality of channel-encoded packets includes:

identifying the random subset of the original packets prior to generating the transmission schedule; and

generating an actual data for the plurality of channel-encoded packets prior to generating the transmission schedule.

9. The method according to claim 8 , further comprising:

after identifying the random subset of the original packets, storing an identification of the random subset of the original packets in a memory.

10. The method according to claim 1 , wherein causing termination of the transmitting includes receiving an indicator from the recipient device.

11. A system comprising:

a memory; and

a processor coupled to the memory, the processor configured to:

identify a data segment to be transmitted by the data processing system via a plurality of parallel communication channels,

generate a plurality of channel-encoded packets by combining, using a predetermined function, a random subset of original packets partitioned from the data segment,

for each of the plurality of parallel communication channels, generate a transmission schedule by allocating a respective first subset of a plurality of original packets partitioned from the data segment based on a transmission speed of the corresponding parallel communication channel and by allocating a respective second subset of the plurality of channel-encoded packets,

after generating the transmission schedule, cause transmission of the plurality of original packets and the plurality of channel-encoded packets according to the transmission schedule, and

in response to a determination by a recipient device coupled to the plurality of parallel communication channels that a received set of packets is sufficient to reconstruct the data segment, cause termination of the transmitting.

12. The system according to claim 11 , further comprising a plurality of transmitters respectively configured to transmit the plurality of original packets and the plurality of channel-encoded packets via corresponding ones of the plurality of parallel communication channels, in response to a signal from the processor.

13. The system according to claim 12 , wherein the plurality of transmitters are configured to transmit independently from each other.

14. The system according to claim 11 , wherein a size of the respective first subset allocated to a corresponding parallel communication channel is proportional to the transmission speed of the corresponding parallel communication channel.

15. The system according to claim 11 , wherein the predetermined function is configured to implement a forward error correction technique.

16. The system according to claim 11 , wherein the predetermined function is configured to apply an XOR operation to the random subset of the original packets.

17. The system according to claim 11 , wherein, for each of the plurality of parallel communication channels, original packets other than those included in the respective first subset are used to generate channel-encoded pockets included in the respective second subset.

18. The system according to claim 11 , wherein, for each of the plurality of parallel communication channels, the transmission schedule is such that the respective second subset is transmitted after an entirety of the respective first subset.

19. The system according to claim 18 , wherein the processor is configured to generate the plurality of channel-encoded packets by at least:

identifying the random subset of the original packets prior to generating the transmission schedule; and

generating an actual data for a respective channel-encoded packet after transmitting the entirety of the respective first subset and immediately prior to transmitting the respective channel-encoded packet.

20. The system according to claim 18 , wherein the processor is configured to generate the plurality of channel-encoded packets by at least:

identifying the random subset of the original packets prior to generating the transmission schedule; and

generating an actual data for the plurality of channel-encoded packets prior to generating the transmission schedule.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2020
From: INTERFEREX COMMUNICATIONS PTY LTD.
To: DOLBY LABORATORIES LICENSING CORPORATION
Reel/Frame 054099/0518 →
NUNC PRO TUNC ASSIGNMENT Recorded Jan 23, 2020
From: INTERFEREX COMMUNICATIONS PTY LTD.
To: DOLBY LABORATORIES LICENSING CORP.
Reel/Frame 051595/0250 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2020
From: REED, MARK C.; YU, MINGCHAO
To: INTERFEREX COMMUNICATIONS PTY LTD.
Reel/Frame 051670/0802 →
Continuity (2)
Continuation 15405874 · Jan 13, 2017
Related Publication 20200162191A1 · May 21, 2020
Cited By (1)
US 12,641,320