Apparatus, method and computer program product providing radio network controller internal dynamic HSDPA flow control using one of fixed or calculated scaling factors

Abstract
Flow statistics for a buffer that receives data from a plurality of other entities are collected, and an available bandwidth for an interface coupled to an output side of the buffer is determined. From those is determined an arrival rate such that the buffer would not be overloaded. A flow control message is sent to each of the entities that limits aggregate flow from the entities so as not to exceed the arrival rate. One embodiment uses a scaling factor in the flow control messages, the same scaling factor for each entity on any given scheduling interval. An entity receives the flow control message and from it determines an allowed amount CRallowed of packet data units PDUs for that scheduling interval. The lower of CRallowed and an allocation of granted credits CR is used to compute a send rate, which the entity uses as its maximum rate for the interval.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

In the attached Drawing Figures:



FIG. 1 illustrates an overview of Iub transport with the AAL2 and ATM layer;



FIG. 2 shows an internal AAL2 flow control architecture in accordance with exemplary embodiments of this invention;



FIG. 3A depicts a first flow control histogram for the AAL2 architecture of FIG. 2 that uses calculated scaling factors;



FIG. 3B depicts a second flow control histogram for the AAL2 architecture of FIG. 2 that uses fixed scaling factors;



FIG. 4 shows a Table defining CPS-Packet sizes; and



FIG. 5 shows a simplified block diagram of various electronic devices that are suitable for use in practicing the exemplary embodiments of this invention.


Claims
  • 1. A method comprising: collecting flow statistics for a buffer;determining an available bandwidth for an interface coupled to an output side of the buffer;from the collected flow statistics and the determined available bandwidth, determining an arrival rate such that the buffer would not be overloaded; andsending a flow control message to each of a plurality of entities sending data to be stored in the buffer that limits aggregate flow from the plurality of entities so as not to exceed the arrival rate.
  • 2. The method of claim 1, wherein the interface comprises a constant bit rate virtual control connection CBR-VCC, the method further comprising: multiplexing data in the buffer received from multiple ones of the plurality of entities and sending the multiplexed data over the CBR-VCC.
  • 3. The method of claim 1 executed by a radio network controller, wherein the buffer lies within an Asynchronous Transfer Mode Adaptation Layer type 2 AAL2 protocol layer, and the buffer receives the data from the plurality of entities over a medium access control MAC protocol layer.
  • 4. The method of claim 1, wherein collecting flow statistics comprises comparing a queue length of the buffer against a high threshold TH and against a low threshold TL, and wherein sending the flow control message is responsive to the queue length crossing one of the high and low thresholds.
  • 5. The method of claim 4, wherein the thresholds are calculated based on at least two of: an arrival rate An of packets in the buffer during a sampling interval T over which the flow statistics are collected,a service rate Sn of packets transferred from the buffer during the sampling period,a maximum allowed delay D for packets in the buffer,a latency L between a time the flow control messages are sent and a time the entities are considered to comply with the messages, andthe available bandwidth.
  • 6. The method of claim 5, wherein
  • 7. The method of claim 4, further comprising computing the high threshold TH and computing the low threshold TL, and wherein the steps of collecting, determining an available bandwidth, determining an arrival rate, computing the high threshold TH, computing the low threshold TL, and comparing a queue length of the buffer are repeated for each sequential sampling interval T.
  • 8. The method of claim 1, wherein the said buffer comprises a low priority buffer, and wherein determining the available bandwidth comprises: measuring a throughput for the low priority buffer and for a high priority buffer having an output side coupled to the interface, andestimating available bandwidth based on the measured throughput of the buffers.
  • 9. The method of claim 1, wherein the flow control messages sent to each of the plurality of entities comprises a scaling factor selected based on a queue length of the buffer relative to a high threshold and to a low threshold.
  • 10. The method of claim 9, wherein the said flow control messages sent to each of the plurality of entities comprise the same scaling factor.
  • 11. A program of machine-readable instructions, tangibly embodied on a computer readable memory and executable by a digital data processor, to perform actions directed toward controlling flow to a buffer, the actions comprising: collecting flow statistics for a buffer;determining an available bandwidth for an interface coupled to an output side of the buffer;from the collected flow statistics and the determined available bandwidth, determining an arrival rate such that the buffer would not be overloaded; andsending a flow control message to each of a plurality of entities sending data to be stored in the buffer that limits aggregate flow from the plurality of entities so as not to exceed the arrival rate.
  • 12. The program of claim 11, wherein the interface comprises a constant bit rate virtual control connection CBR-VCC, the actions further comprising: multiplexing data in the buffer received from multiple ones of the plurality of entities and sending the multiplexed data over the CBR-VCC.
  • 13. The program of claim 11, wherein the memory and the processor are disposed in a radio network controller, wherein the buffer lies within an Asynchronous Transfer Mode Adaptation Layer type 2 AAL2 protocol layer, and the buffer receives the data from the plurality of entities over a medium access control MAC protocol layer.
  • 14. The program of claim 11, wherein collecting flow statistics comprises comparing a queue length of the buffer against a high threshold TH and against a low threshold TL, and wherein sending the flow control message is responsive to the queue length crossing one of the high and low thresholds.
  • 15. The program of claim 14, wherein the actions further comprises calculating the high threshold TH as:
  • 16. The program of claim 11, wherein the said buffer comprises a low priority buffer, and wherein determining the available bandwidth comprises: measuring a throughput for the low priority buffer and for a high priority buffer having an output side coupled to the interface, andestimating available bandwidth based on the measured throughput of the buffers.
  • 17. The program of claim 11, wherein the flow control messages sent to each of the plurality of entities comprises a scaling factor selected based on a queue length of the buffer relative to a high threshold and to a low threshold.
  • 18. An apparatus comprising: a buffer having an input and an output coupled to an interface;a processor coupled to a memory and executing computer instructions stored on the memory adapted to collect flow statistics for the buffer, to determine an available bandwidth for the interface, and to determine from the collected flow statistics and the available bandwidth an arrival rate such that the buffer would not be overloaded; anda transmitter adapted to send a flow control message to each of a plurality of entities sending data to be stored in the buffer that limits aggregate flow from the plurality of entities so as not to exceed the arrival rate.
  • 19. The apparatus of claim 18, wherein the interface comprises a constant bit rate virtual control connection CBR-VCC, the apparatus further comprising: a multiplexer coupled between the buffer and the interface for multiplexing data output from the buffer and received from multiple ones of the plurality of entities.
  • 20. The apparatus of claim 18, wherein the apparatus comprises a radio network controller, wherein the buffer lies within an Asynchronous Transfer Mode Adaptation Layer type 2 AAL2 protocol layer, and the buffer receives the data from the plurality of entities over a medium access control MAC protocol layer.
  • 21. The apparatus of claim 18, wherein the processor coupled to the memory adapted to collect flow statistics comprises comparing a queue length of the buffer against a high threshold TH and against a low threshold TL, wherein sending the flow control message is responsive to the queue length crossing one of the high and low thresholds.
  • 22. The apparatus of claim 21, wherein the processor coupled to the memory is adapted to calculate the high threshold TH as:
  • 23. The apparatus of claim 18, wherein the said buffer comprises a low priority buffer, the apparatus further comprising a high priority buffer in parallel with the low priority buffer, and wherein the processor and memory are adapted to determine the available bandwidth by: measuring a throughput for the low priority buffer and for the high priority buffer, andestimating available bandwidth based on the measured throughput of the buffers.
  • 24. The apparatus of claim 18, wherein the flow control messages sent to each of the plurality of entities comprises a scaling factor selected based on a queue length of the buffer relative to a high threshold and to a low threshold.
  • 25. An apparatus comprising: means for temporarily storing data received from a plurality of entities;means for collecting flow statistics for the means for temporarily storing;means for determining an available bandwidth for an interface coupled to an output side of the means for temporarily storing;means for determining from the collected flow statistics and the available bandwidth an arrival rate such that the means for temporarily storing would not be overloaded; andsending means for sending a flow control message to each of the plurality of entities that limits aggregate flow from the plurality of entities so as not to exceed the arrival rate.
  • 26. The apparatus of claim 25, wherein: the means for temporarily storing comprises a buffer;the means for collecting, means for determining flow statistics and means for determining an arrival rate comprise a digital processor coupled to a memory of computer readable instructions; andthe sending means comprises a modem.
  • 27. A method comprising: receiving a flow control message;determining from the flow control message an allowed amount CRallowed of packet data units PDUs for a scheduling interval I;receiving an allocation of granted credits CR for the scheduling interval I;computing a send rate sr based on the lower of the allowed amount CRallowed and the granted credits CR; andduring the scheduling interval, sending packet data at a rate not to exceed the send rate sr.
  • 28. The method of claim 27 wherein the lower of the allowed amount CRallowed and the granted credits CR is a scheduled amount CRscheduled, and
  • 29. The method of claim 28, wherein sending packet data at the send rate sr comprises sending packet data at the send rate sr simultaneously on each of at least two concurrent flows.
  • 30. The method of claim 27, wherein the flow control message comprises a scaling factor, and determining the allowed amount CRallowed comprises multiplying the scaling factor by the granted credits CR.
  • 31. The method of claim 30, wherein determining the allowed amount CRallowed comprises multiplying the scaling factor by the granted credits CR and if non-zero, rounding up.
  • 32. The method of claim 27, wherein sending packet data comprises: converting a number of granted credits CR to an equivalent number Nequivalent of common part sublayer CPS packets;converting the equivalent number Nequivalent to an allowed number Nallowed of CPS packets using a scaling factor received in the flow control message; andconverting the allowed number Nallowed to the allowed amount CRallowed.
  • 33. The method of claim 27 executed by a mobile station.
  • 34. The method of claim 27 stored as computer instructions on a memory and executed by a digital processor.
  • 35. An apparatus comprising: a receiver adapted to receive a flow control message and an allocation of granted credits CR for a scheduling interval I;a processor, coupled to the receiver and to a memory, adapted to determine from the flow control message an allowed amount CRallowed of packet data units PDUs for the scheduling interval I, and to compute a send rate sr based on the lower of the allowed amount CRallowed and the granted credits CR; anda transmitter adapted to transmit packet data during the scheduling interval at a rate not to exceed the send rate sr.
  • 36. The apparatus of claim 35, wherein the processor attributes the lower of the allowed amount CRallowed and the granted credits CR as a scheduled amount CRscheduled, and
  • 37. The apparatus of claim 35, wherein the flow control message comprises a scaling factor, and the processor determines the allowed amount CRallowed by multiplying the scaling factor by the granted credits CR.
  • 38. The apparatus of claim 35, wherein the processor is configured to determine the allowed amount CRallowed of packet data units PDUs for the scheduling interval I by: converting the allocation of granted credits CR to an equivalent number Nequivalent of common part sublayer CPS packets;converting the equivalent number Nequivalent to an allowed number Nallowed of CPS packets using a scaling factor received in the flow control message; andconverting the allowed number Nallowed to the allowed amount CRallowed.
Provisional Applications (1)
Number Date Country
60763113 Jan 2006 US