IP Library Granted Patent US 7,684,425
Granted Patent B2
US 7,684,425 · App. 11/554,226 · Granted Mar 23, 2010

Adaptive coding and modulation queuing methods and devices

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 7,684,425
App. No.
11/554,226
Granted
Mar 23, 2010
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 (84)

1. A method of implementing adaptive coding and modulation for a satellite communications network using a plurality of packet forwarding queues, the method comprising:

assigning a different modcode to each of the plurality of packet forwarding queues, each queue associated with a select one of a plurality of signal quality ranges;

placing each respective packet of a plurality of packets into a respective one of the packet forwarding queues, each respective queue associated with a signal quality range encompassing a signal quality of a corresponding link to which the respective packet is destined;

transmitting, via the satellite communications network, a subset of the plurality of packets taken from the packet forwarding queues, the transmitting sequence according to a defined order of progression, wherein the defined order of progression comprises:

transmitting each packet in a first selected packet forwarding queue associated with a first modcode;

incrementing from the first selected queue to a second selected packet forwarding queue with a next higher order second modcode to transmit a set of packets from the second selected queue; and

continuing to increment through each of a subset of the plurality of packet forwarding queues, each increment associated with transmitting from a next higher order modcode packet forwarding queue; and

interrupting the defined order of progression through the plurality of packet forwarding queues assigned different modcodes upon expiration of a timer to transmit, via the satellite communications network, an out of order packet of the plurality of packets taken from the packet forwarding queues, the out of order packet exceeding a threshold age and not included in the subset.

2. The method of claim 1 , further comprising:

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

3. The method of claim 1 , wherein the threshold age comprises the age of the second oldest packet remaining in the packet forwarding queues.

4. The method of claim 1 , wherein the incrementing step comprises incrementing to a second selected packet forwarding queue with a next higher order second modcode to transmit packet from the second selected queue.

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

transmitting at least one packet from the first selected queue and the packet from the second selected queue in a single frame according the first modcode.

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

determining a length of a prospective pad for the at least one packet from the first selected queue;

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

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

7. The method of claim 1 , further comprising:

utilizing a counter to associate an order with the plurality of packets before entering the queues; and

holding transmission of a packet in the packet forwarding queues when the packet is out of the order specified by the counter.

8. The method of claim 1 , further comprising:

blocking additional packets from entering the packet forwarding queues when the out of order packet exceeds a second threshold age.

9. The method of claim 8 , further comprising:

allowing packets associated with a threshold quality or class of service to enter the packet forwarding queues.

10. The method of claim 1 , further comprising:

varying at least one of the plurality of signal quality ranges to increase a reliability margin when a delay associated with transmitting from the packet forwarding queues decreases.

11. The method of claim 1 , further comprising:

varying at least one of the plurality of signal quality ranges to decrease a reliability margin when a delay associated with transmitting from the packet forwarding queues increases.

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

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

transmitting the first fragment according to a second modcode; and

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

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 device implementing adaptive coding and modulation for a satellite communications network by assigning different modcodes for links of different signal qualities, the device comprising:

a plurality of packet forwarding queues, each queue associated with a different modcode and one of a plurality of signal quality ranges;

a sorter communicatively coupled with the plurality of queues, and configured to place each respective packet of a plurality of packets into a respective one of the packet forwarding queues, the respective queue associated with a signal quality range encompassing a signal quality of a corresponding link to which the respective packet is destined; and

a transmitter, communicatively coupled with the plurality of queues, configured to:

transmit, via the satellite communications network, a subset of the plurality of packets taken from the packet forwarding queues, the transmit sequence according to a defined order of progression, wherein the defined order of progression comprises:

transmitting a first set of packets in a first selected packet forwarding queue associated with a first modcode;

incrementing from the first selected queue to a second selected packet forwarding queue with a next higher order second modcode to transmit a second set of packets from the second selected queue; and

continuing to increment through each of a subset of the plurality of packet forwarding queues, each increment associated with a next higher order modcode packet forwarding queue including one or more of the plurality of packets; and

interrupt the defined order of progression through the plurality of packet forwarding queues assigned different modcodes upon expiration of a timer to transmit, via the satellite communications network, a packet of the plurality of packets, the packet exceeding a threshold age and not included in the subset.

16. The device of claim 15 , wherein,

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

17. The device of claim 15 , wherein the threshold age comprises an age of the second oldest packet remaining in the packet forwarding queues.

18. The device of claim 15 , wherein the continuing comprises identifying each packet in a selected queue for transmission before incrementing to a next higher order modcode packet forwarding queue.

19. The device of claim 18 , wherein the defined order of progression further comprises the transmitting unit configured to:

transmit at least one packet from the first selected queue and the packet from the second selected queue in a single frame according the first modcode.

20. The device of claim 15 , wherein,

the sorter is further configured to utilize a counter to associate an order with each of the plurality of packets before entering the packet forwarding queues; and

the transmitter is further configured to hold transmission of a packet in the packet forwarding queues when the packet is out of the order specified by the counter.

21. The device of claim 15 , wherein,

the sorter is further configured to block additional packets from entering the packet forwarding queues when the out of order packet exceeds a second threshold age.

22. The device of claim 15 , wherein,

the sorter is further configured to allow packets associated with a threshold quality of service to enter the packet forwarding queues.

23. The device of claim 15 , wherein,

the sorter is further configured to vary at least one of the plurality of signal quality ranges to modify a reliability margin for packets destined for a link within the varied signal quality range.

24. The device of claim 15 , wherein the transmitting unit is further configured to:

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

transmitting the first fragment according to a second modcode; and

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

25. The device of claim 15 , wherein the device implements adaptive coding and modulation in accordance with a DVB-S2 standard.

26. The device of claim 15 , 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.

27. A device for implementing adaptive coding and modulation by assigning different modcodes in a satellite communications network for links of different signal qualities, the device comprising:

assigning means for assigning a different modcode to each of a plurality of packet forwarding queues, each queue associated with one of a plurality of signal quality ranges;

placing means, communicatively coupled with the assigning means, for placing each respective packet of a plurality of packets into a respective one of the packet forwarding queues, each respective queue associated with a signal quality range encompassing a signal quality of a corresponding link to which the respective packet is destined;

transmitting means for transmitting, via the satellite communications network, a subset of the plurality of packets according to a defined order of progression, wherein the defined order of progression comprises:

transmitting each packet in a first selected packet forwarding queue associated with a first modcode;

incrementing from the first selected queue to a second selected packet forwarding queue with a next higher order second modcode to transmit each packet from the second selected queue; and

continuing to increment through each of a subset of the plurality of packet forwarding queues, each increment associated with transmitting each packet from a next higher order modcode packet forwarding queue; and

interrupting means, communicatively coupled with the transmitting means, for interrupting the defined order of progression through the plurality of packet forwarding queues assigned different modcodes upon expiration of a timer to transmit, via the satellite communications network, an out of order packet of the plurality of packets, the out of order packet exceeding a threshold age and not included in the subset.

28. A device implementing adaptive coding and modulation in a satellite communications network by assigning different modcodes for links of different signal qualities, the device comprising:

a plurality of packet forwarding queues, each queue associated with a different modcode and one of a plurality of signal quality ranges;

means, communicatively coupled with the packet forwarding queues, for placing each respective packet of a plurality of packets into a respective one of the packet forwarding queues, each queue associated with a signal quality range encompassing a signal quality of a corresponding link to which respective packets are destined; and

means, communicatively coupled with the packet forwarding queues, for:

transmitting in the satellite communications network a packet subset of the plurality of packets according to a defined order of progression, wherein the defined order of progression comprises:

transmitting a first set of packets in a first selected packet forwarding queue associated with a first modcode;

incrementing from the first selected queue to a second selected packet forwarding queue with a next higher order second modcode to transmit a second set of packets from the second selected queue; and

continuing to increment through each of a subset of the plurality of packet forwarding queues, each increment associated with transmitting from a next higher order modcode packet forwarding queue; and

interrupting the defined order of progression through the plurality of packet forwarding queues assigned different modcodes upon expiration of a timer to transmit a packet, of the plurality of packets, exceeding a threshold age and not included in the packet subset.

29. The method of claim 1 , wherein the interrupting the defined order of progression occurs before the incrementing from the first selected queue to the second selected queue.

30. The method of claim 1 , wherein the interrupting the defined order of progression occurs before the continuing to increment through each of a subset of the plurality of packet forwarding queues.

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 Nov 7, 2006
From: THESLING, WILLIAM H.
To: VIASAT, INC.
Reel/Frame 018492/0213 →