Method and apparatus for adaptive delay management
First Claim
Patent Images
1. A method for scheduling transmission instances in a wireless communication system, comprising:
- receiving channel condition indicators at a receiver from a plurality of mobile users, wherein the channel condition indicators correspond to forward link communications;
determining a delay criterion for the plurality of mobile users, wherein the delay criterion for the plurality of mobile users is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; and
determining a transmission schedule for a plurality of queues including data associated with the plurality of mobile users, wherein the high priority data is scheduled for transmission before the non-high priority data, the non-high priority data is scheduled based at least in part on the channel condition indicators and an age of the non-high priority data, and the transmission schedule is a function of the delay criterion and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues;
wherein each bit metric is calculated based at least in part on whether the data in the associated queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow.
1 Assignment
0 Petitions
Accused Products
Abstract
Adaptive delay management means and method for allocating resources having different Quality of Service (QoS) requirements. A Forward Link (FL) scheduler prepares transmission instances by treating pending data queues according to a priority class, such as Best Effort (BE) and Expedited Forwarding (EF). Data bits from multiple queues are stuffed into a transmission instance. Various metrics are used to generate a set of candidates for transmission and then select and build a next transmission instance from the set of candidates.
67 Citations
58 Claims
-
1. A method for scheduling transmission instances in a wireless communication system, comprising:
-
receiving channel condition indicators at a receiver from a plurality of mobile users, wherein the channel condition indicators correspond to forward link communications; determining a delay criterion for the plurality of mobile users, wherein the delay criterion for the plurality of mobile users is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; and determining a transmission schedule for a plurality of queues including data associated with the plurality of mobile users, wherein the high priority data is scheduled for transmission before the non-high priority data, the non-high priority data is scheduled based at least in part on the channel condition indicators and an age of the non-high priority data, and the transmission schedule is a function of the delay criterion and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow. - View Dependent Claims (2, 3, 4)
-
-
5. A method for scheduling transmission instances in a wireless communication system, comprising:
-
evaluating a plurality of transmission queues to identify delay sensitivity and throughput sensitivity of an application flow associated with each transmission queue; generating a set of candidate transmission instances from the plurality of transmission queues, wherein generating the set of candidate transmission instances comprises calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; selecting one candidate transmission instance from the set; and preparing the selected candidate transmission instance for transmission by a transmitter. - View Dependent Claims (6, 7)
-
-
8. An apparatus for scheduling transmission instances in a wireless communication system, comprising:
-
means for receiving channel condition indicators from a plurality of mobile users, wherein the channel condition indicators correspond to forward link communications; means for determining a delay criterion for the plurality of mobile users, wherein the delay criterion for the plurality of mobile users is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; and means for determining a transmission schedule for a plurality of queues including data associated with the plurality of mobile users, wherein the high priority data is scheduled for transmission before the non-high priority data, the non-high priority data is scheduled based at least in part on the channel condition indicators and an age of the non-high priority data, and the transmission schedule is a function of the delay criterion and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow.
-
-
9. An apparatus for scheduling transmission instances in a wireless communication system, comprising:
-
means for evaluating a plurality of transmission queues to identify delay sensitivity and throughput sensitivity of an application flow associated with each transmission queue; means for generating a set of candidate transmission instances from the plurality of transmission queues, wherein the means for generating the set of candidate transmission instances comprises means for calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; means for selecting one candidate transmission instance from the set; and preparing the selected candidate transmission instance for transmission. - View Dependent Claims (10)
-
-
11. An apparatus for scheduling transmission instances in a wireless communication system, comprising:
-
a memory storage unit for storing transmission queues, each queue having an associated delay criterion, wherein the delay criterion is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; a queue select unit for selecting a transmission queue of the stored transmission queues as a function of the delay criterion, wherein queues with high priority data are scheduled for transmission before queues with non-high priority data, and the queues with non-high priority data are scheduled based at least in part on channel condition indicators and an age of the non-high priority data; and a bit metric calculation unit for calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, and wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. An apparatus for scheduling transmission instances in a wireless communication system, comprising:
-
a memory storage unit for storing transmission queues, each queue having an associated delay criterion; and a queue select unit for selecting a transmission queue of the stored transmission queues as a function of the delay criterion and a plurality of bit metrics; wherein each queue has an associated flow class to identify sensitivity to throughput or sensitivity to delay; wherein the plurality of bit metrics comprises at least a first bit metric for a throughput sensitive flow calculated as; - View Dependent Claims (37, 38, 39)
-
-
40. An apparatus for scheduling transmission instances in a wireless communication system, comprising:
-
a memory storage unit for storing transmission queues, each queue having an associated delay criterion, wherein the delay criterion is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; and a controller configured to; calculate a bit metric associated with each of the transmission queues, wherein each of the transmission queues stores an instance of an application flow, wherein the application flow is divided into a plurality of instances; wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; select a packet type for a transmission instance; determine an estimated throughput; determine flows supporting the estimated throughput; and order flows according to the delay criterion and bit metrics, wherein queues with high priority data are scheduled for transmission before queues with non-high priority data, and the queues with non-high priority data are scheduled based at least in part on channel condition indicators and an age of the non-high priority data. - View Dependent Claims (41)
-
-
42. An apparatus for scheduling transmission instances in a wireless communication system, comprising:
-
memory storage unit for storing transmission queues, each queue having an associated delay criterion; and a controller configured to; estimate throughput for flows stored in the transmission queues; calculate a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; determine a quality of service priority for the flows; sort according to quality of service priorities and bit metrics; determine an order of flows based on estimated throughput for each flow; and select a flow available for transmission at a highest rate based on the determined order of flows. - View Dependent Claims (43)
-
-
44. A method for scheduling packet transmissions in a communication system, the method comprising:
-
receiving channel condition indicators at a receiver from a plurality of subscriber stations; comparing the channel condition indicators; determining delay performance targets for each of the plurality of subscriber stations in response to the comparison, wherein a higher delay performance target is associated with good channel conditions and a lower delay performance target is associated with poor channel conditions; and determining a transmission schedule for a plurality of queues including data associated with the plurality of subscriber stations as a function of the delay performance targets and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow. - View Dependent Claims (45, 46, 47, 48, 49)
-
-
50. A machine-readable medium being a non-transitory medium having instructions for execution by a processor for scheduling transmission instances in a wireless communication system, the instructions comprising code for:
-
evaluating a plurality of transmission queues to identify delay sensitivity and throughput sensitivity of an application flow associated with each transmission queue; generating a set of candidate transmission instances from the plurality of transmission queues, wherein generating the set of candidate transmission instances comprises calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; selecting one candidate transmission instance from the set; and preparing the selected candidate transmission instance for transmission.
-
-
51. A machine-readable medium being a non-transitory medium having instructions for execution by a processor for scheduling transmission instances in a wireless communication system, the instructions comprising code for:
-
receiving channel condition indicators from a plurality of mobile users, wherein the channel condition indicators correspond to forward link communications; determining a delay criterion for the plurality of mobile users, wherein the delay criterion for the plurality of mobile users is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; and determining a transmission schedule for a plurality of queues including data associated with the plurality of mobile users, wherein the high priority data is scheduled for transmission before the non-high priority data, the non-high priority data is scheduled based at least in part on the channel condition indicators and an age of the non-high priority data, and the transmission schedule is a function of the delay criterion and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow.
-
-
52. A machine-readable medium being a non-transitory medium having instructions for execution by a processor for scheduling transmission instances in a wireless communication system, the instructions comprising code for:
-
storing transmission queues, each queue having an associated delay criterion; calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; estimating throughput for flows stored in the transmission queues; determining a quality of service priority for the flows; sorting according to quality of service priorities; determining an order of flows based on estimated throughput for each flow; and selecting a flow available for transmission at a highest rate based on the determined order of flows and bit metrics.
-
-
53. A machine-readable medium being a non-transitory medium having instructions for execution by a processor for scheduling packet transmissions in a communication system, the instructions comprising code for:
-
receiving channel condition indicators from a plurality of subscriber stations; comparing the channel condition indicators; determining delay performance targets for each of the plurality of subscriber stations in response to the comparison, wherein a higher delay performance target is associated with good channel conditions and a lower delay performance target is associated with poor channel conditions; and determining a transmission schedule for a plurality of queues including data associated with the plurality of subscriber stations as a function of the delay performance targets and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow.
-
-
54. A machine-readable medium being a non-transitory medium having instructions for execution by a processor for scheduling transmission instances in a wireless communication system, the instructions comprising code for:
-
storing transmission queues, each queue having an associated delay criterion, wherein the delay criterion is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; and selecting a transmission queue from the stored transmission queues as a function of the delay criterion and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, wherein queues with high priority data are scheduled for transmission before queues with non-high priority data, and the queues with non-high priority data are scheduled based at least in part on channel condition indicators and an age of the non-high priority data; wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow.
-
-
55. A method for scheduling transmission instances in a wireless communication system comprising:
-
storing transmission queues at a base station, each queue having an associated delay criterion, wherein the delay criterion, is based on data to be transmitted, the data being either high priority data or non-high priority data, the high priority data being delay sensitive and the non-high priority data being capacity sensitive; and selecting a transmission queue from the stored transmission queues as a function of the delay criterion and a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, wherein queues with high priority data are scheduled for transmission before queues with non-high priority data, and the queues with non-high priority data are scheduled based at least in part on channel condition indicators and an age of the non-high priority data; wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow.
-
-
56. A method for scheduling transmission instances in a wireless communication system comprising:
-
storing transmission queues at a base station, each queue having an associated delay criterion; calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues; wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; estimating throughput for flows stored in the transmission queues; determining a quality of service priority for the flows; sorting according to quality of service priorities; determining an order of flows based on estimated throughput for each flow and bit metrics; and selecting a flow available for transmission at a highest rate based on the determined order of flows.
-
-
57. An apparatus for scheduling packet transmissions in a communication system, comprising:
-
a receiver module for receiving channel condition indicators from a plurality of subscriber stations; a comparator module for comparing the channel condition indicators;
a delay performance module for determining delay performance targets for each of the plurality of subscriber stations in response to the comparison, wherein a higher delay performance target is associated with good channel conditions and a lower delay performance target is associated with poor channel conditions;a bit metric module for calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, the plurality of queues being associated with the plurality of subscriber stations; wherein each bit metric is calculated based at least in part on whether the data in the associated queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; and a schedule module for determining a transmission schedule for each the plurality of subscriber stations as a function of the delay performance targets and bit metrics.
-
-
58. An apparatus for scheduling packet transmissions in a communication system comprising:
-
means for receiving channel condition indicators from a plurality of subscriber stations; means for comparing the channel condition indicators; means for determining delay performance targets for each of the plurality of subscriber stations in response to the comparison, wherein a higher delay performance target is associated with good channel conditions and a lower delay performance target is associated with poor channel conditions; means for calculating a plurality of bit metrics, wherein a bit metric is calculated for and assigned to each bit pending in each of the plurality of queues, the plurality of queues being associated with the plurality of subscriber stations; wherein each bit metric is calculated based at least in part on whether the data in the associated transmission queue is delay sensitive or throughput sensitive, wherein bit metrics for throughput sensitive flows are based on an inverse of a difference between an averaged total throughput of the flow and a target throughput of the flow; and means for determining a transmission schedule for each the plurality of subscriber stations as a function of the delay performance targets and bit metrics.
-
Specification