IP Library Granted Patent US 8,358,657
Granted Patent B2
US 8,358,657 · App. 12/695,236 · Granted Jan 22, 2013

Adaptive coding and modulation for broadband data transmission

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 8,358,657
App. No.
12/695,236
Granted
Jan 22, 2013
Kind
B2
Abstract

A process is described to build physical layer frames with a modcode adapted to the signal quality of a destination terminal. Data packets assigned to the same modcode may be sent in the same frame, although packets associated with higher modcodes may be used to complete a frame before switching to the applicable higher modcode for construction of subsequent frames. After an interval, the order of progression is restarted with an out of order packet above a threshold age. Flow control filtering mechanisms and a variable reliability margin may be used to adapt dynamically to the current data traffic conditions.

Claims (62)

1. A method of controlling the flow of data traffic for a broadcast signal implementing adaptive coding and modulation, the method comprising:

dynamically assigning a modcode of a plurality of modcodes to each of a plurality of data packets based at least in part on a signal quality of a link on which each respective packet is destined;

associating a timestamp with each of the plurality of data packets;

transmitting a subset of the plurality of data packets according to a defined order of progression, wherein the transmitting according to the defined order of progression comprises:

transmitting each data packet associated with a first modcode of the plurality of modcodes; and

incrementing to a next higher order second modcode of the plurality of modcodes to transmit a data packet associated with an oldest timestamp of the plurality of data packets associated with the second modcode; and

interrupting the defined order of progression upon expiration of a timer to transmit an out of order packet with a timestamp exceeding a first threshold age, wherein the out of order packet comprises one of the plurality of packets not included in the subset.

2. The method of claim 1 , wherein the first threshold age comprises the timestamp of the second oldest of the plurality of data packets not included in the subset.

3. The method of claim 1 , further comprising:

blocking additional incoming data packets when the out of order packet exceeds a second threshold age.

4. The method of claim 3 , further comprising:

allowing only data packets associated with a threshold quality or class of service to enter while blocking the additional packets.

5. The method of claim 1 , further comprising:

restarting the defined order of progression from the out of order packet.

6. The method of claim 1 , further comprising:

varying the period of timer based at least in part on a delay associated with transmitting from the packet forwarding queues.

7. The method of claim 1 , wherein the transmitting according to the defined order of progression further comprises:

transmitting at least one data packet associated with a first modcode and the data packet associated with the second modcode in a single frame according the first modcode.

8. The method of claim 1 , wherein the transmitting according to the defined order of progression further comprises:

determining a length of a prospective pad for the at least one data packet associated with a first modcode;

determining that no data packet associated with the first modcode remains to fill the prospective pad; and

filling the prospective pad with the data packet associated with the second modcode.

9. The method of claim 1 , further comprising:

utilizing a counter to associate an order with the plurality of data packets; and

holding transmission of a data packet of the plurality of data packets when the packet is out of the order specified by the counter.

10. The method of claim 1 , further comprising:

varying a signal quality range associated with one or more of the plurality of modcodes to modify a reliability margin for at least a subset of the plurality of data packets destined for a link within the varied signal quality range.

11. The method of claim 1 , wherein the dynamically assigning the modcode step comprises:

placing selected data packets of the plurality of data packet into selective ones of a plurality of packet forwarding queues each associated with different signal quality ranges.

12. The method of claim 1 , further comprising:

inserting, into a linked list, a plurality of elements each corresponding to one or more of the plurality of data packets and an associated signal quality; and

iterating through the linked list to identify a set of data packets for encapsulation and transmission based at least in part on a signal quality associated with each element of the linked list.

13. The method of claim 1 , wherein the adaptive coding and modulation is implemented in accordance with a DVB-S2 standard.

14. The method of claim 1 , wherein the signal quality comprises at least one of a signal to noise ratio, an estimated signal to noise ratio, a bit error rate, a receive power level, and another communication link quality indicator.

15. A method of controlling the flow of data traffic for a broadcast signal implementing adaptive coding and modulation, the method comprising:

dynamically assigning a modcode of a plurality of modcodes to each of a plurality of data packets based at least in part on a signal quality of a link on which each respective packet is destined;

associating a timestamp with each of the plurality of data packets;

transmitting a subset of the plurality of data packets according to a defined order of progression, wherein the transmitting according to the defined order of progression comprises:

fragmenting an internet protocol data packet of the plurality of data packets into first fragment and second fragment, each fragment associated with a first modcode of the plurality of modcodes;

transmitting the first fragment according to a second modcode of the plurality of modcodes; and

transmitting the second fragment according to the first modcode, the first modcode of higher order than the second modcode; and

interrupting the defined order of progression upon expiration of a timer to transmit an out of order packet with a timestamp exceeding a first threshold age, wherein the out of order packet comprises one of the plurality of packets not included in the subset.

16. The method of claim 15 , wherein the first fragment is sized to fill a length of prospective pad for a frame to be transmitted according to the second modcode.

17. A device for controlling the flow of data traffic for a broadcast signal implementing adaptive coding and modulation, the device comprising:

a sorting unit configured to dynamically assign a different modcode to each of a plurality of packets based at least in part on a signal quality of a link on which each respective packet is to be received;

a transmitting unit, coupled with the sorting unit, and configured to:

transmit a subset of the plurality of packets according to a defined order of progression;

interrupt the defined order of progression upon expiration of a timer to transmit an out of order packet exceeding a threshold age, wherein the out of order packet comprises one of the plurality of packets not included in the subset;

transmit each data packet associated with a first modcode of the plurality of modcodes before incrementing to a next higher order second modcode of the plurality of modcodes; and

transmit a data packet with an oldest timestamp associated with the second modcode.

18. The device of claim 17 , wherein,

the sorting unit is further configured to block additional incoming data packets when the out of order packet exceeds a second threshold age.

19. The device of claim 18 , wherein,

the sorting unit is further configured to allow data packets associated with a threshold quality or class of service to enter.

20. The device of claim 17 , wherein,

the transmitting unit is further configured to restarting the defined order of progression from the out of order packet.

21. The device of claim 17 , wherein,

the transmitting unit is further configured to varying the period of the timer based at least in part on a latency associated with transmitting from the packet forwarding queues.

22. The device of claim 17 , wherein,

the transmitting unit is further configured to transmit at least one data packet associated with the first modcode and the data packet associated with the second modcode in a single frame according to the first modcode.

23. The device of claim 17 , wherein,

the sorting unit is configured to vary a signal quality range associated with one or more of the plurality of modcodes to modify a reliability margin for at least a subset of the plurality of data packets destined for a link within the varied signal quality range.

Assignments (5)
SECURITY AGREEMENT Recorded Jun 1, 2023
From: VIASAT, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 063822/0446 →
SECURITY AGREEMENT Recorded Mar 7, 2022
From: VIASAT, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 059332/0558 →
SECURITY INTEREST Recorded Mar 27, 2019
From: VIASAT, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE
Reel/Frame 048715/0589 →
SECURITY AGREEMENT Recorded May 9, 2012
From: VIASAT, INC.
To: UNION BANK, N.A.
Reel/Frame 028184/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 28, 2010
From: THESLING, WILLIAM H.
To: VIASAT, INC.
Reel/Frame 023863/0428 →