Quality of service packet scheduler design
First Claim
1. A method of self-clocked fair queuing with low latency in a satellite communication system, the method comprising:
- receiving a plurality of packets;
assigning each of the plurality of packets to one of a plurality of queues, wherein a first subset of packets from the plurality of packets is assigned to a low latency queue from the plurality of queues;
assigning virtual departure times to the plurality of packets based on weights of respective queues to which the plurality of packets are assigned, wherein one or more of the packets from the first subset of packets is assigned a virtual departure time equal to a virtual departure time of a previous packet in the low latency queue;
ordering the plurality of packets for transmission from the plurality of queues based on the virtual departure times assigned to the plurality of packets; and
transmitting the plurality of packets based on the ordering.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, devices, and processors are described for quality of service (QoS) packet scheduling in satellite communications systems. A packet received at the QoS packet scheduler may be assigned a virtual departure time utilizing novel self-clocked fair queuing techniques. The virtual departure time for a packet assigned to a queue may depend on a different weight assigned to the queues. Queues may be treated as low latency queues in some cases and may be provided with committed information rates in other cases. Low latency queues may be assigned weights equal to infinity, or the reciprocal of the weight equal to zero. Queues with committed information rates may assign different weights to packets depending on whether the rate that packets are received exceeds the committed information rate. Packets may then be scheduled based on their virtual departure time order.
9 Citations
23 Claims
-
1. A method of self-clocked fair queuing with low latency in a satellite communication system, the method comprising:
-
receiving a plurality of packets; assigning each of the plurality of packets to one of a plurality of queues, wherein a first subset of packets from the plurality of packets is assigned to a low latency queue from the plurality of queues; assigning virtual departure times to the plurality of packets based on weights of respective queues to which the plurality of packets are assigned, wherein one or more of the packets from the first subset of packets is assigned a virtual departure time equal to a virtual departure time of a previous packet in the low latency queue; ordering the plurality of packets for transmission from the plurality of queues based on the virtual departure times assigned to the plurality of packets; and transmitting the plurality of packets based on the ordering. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A self-clocked fair queuing device with low latency in a satellite communication system, the device comprising:
a sorter module configured to; receive a plurality of packets from a plurality of terminals in the satellite communication system; and assign each of the plurality of packets to one of a plurality of queues, wherein a first subset of packets from the plurality of packets is assigned to a low latency queue of the plurality of queues; and a virtual departure time assigner module configured to; assign virtual departure times to the plurality of packets based on weights of respective queues to which the plurality of packets are assigned, wherein one or more of the packets from the first subset of packets is assigned a virtual departure time equal to a virtual departure time of a previous packet in the low latency queue; and an ordering module configured to order the plurality of packets for transmission from the plurality of queues based on the virtual departure times assigned to the plurality of packets. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
17. A self-clocked fair queuing device with low latency in a satellite communication system, the device comprising
a means for receiving a plurality of packets; -
a means for assigning each of the plurality of packets to one of a plurality of queues, wherein a first subset of packets from the plurality of packets is assigned to a low latency queue from the plurality of queues; a means for assigning virtual departure times to the plurality of packets based on weights of respective queues to which the plurality of packets are assigned, wherein one or more of the packets from the first subset of packets is assigned a virtual departure time equal to a virtual departure time of a previous packet in the low latency queue; a means for ordering the plurality of packets for transmission from the plurality of queues based on the virtual departure times assigned to the plurality of packets; and a means for transmitting the plurality of packets based on the ordering. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification