Flow control in a packet data communication system
First Claim
1. A method for controlling a data rate for a transfer of data from a first node of a plurality of nodes in a communication system to a second node of the plurality of nodes, the method comprising:
- determining whether a period of time has expired since an immediately preceding flow control message has been conveyed by the second node to the first node;
when the period of time has expired, determining a plurality of flow control parameters comprising a current occupancy (Q) of a buffer of the second node, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer; and
determining a desired data rate (r) based on the determined plurality of flow control parameters;
wherein the desired data rate can be used to adjust the data rate and wherein determining a desired data rate comprises;
determining a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L);
determining a difference between the upper threshold (U) and the lower threshold (L);
determining a time period (C′
) based on a maximum data rate (R) for a transfer of data over an air interface, the upper threshold (U), and the lower threshold (L); and
when the quantity (q) is less than the difference between the upper threshold (U) and the lower threshold (L) and the quantity (q) is greater than zero, determining a desired data rate (r) based on the maximum data rate (R), the quantity (q), and the time period (C′
).
4 Assignments
0 Petitions
Accused Products
Abstract
A communication system that includes multiple nodes controls a flow of data from a first node of the multiple nodes to a second node of the multiple nodes without relying on an estimate of a rate at which data is drawn from a buffer of the second node and such that an overflow and an underflow of the buffer is avoided. The second node determines multiple flow control parameters, including a current occupancy (Q) of the buffer and an upper threshold (U) and a lower threshold (L) for an occupancy of the buffer and determines a desired data rate (r) based on the multiple flow control parameters. The desired data rate can be used to adjust a data rate for the flow of data. In another embodiment, the communication system further dynamically controls a rate at which flow control messages are conveyed by the second node to the first node.
-
Citations
29 Claims
-
1. A method for controlling a data rate for a transfer of data from a first node of a plurality of nodes in a communication system to a second node of the plurality of nodes, the method comprising:
-
determining whether a period of time has expired since an immediately preceding flow control message has been conveyed by the second node to the first node; when the period of time has expired, determining a plurality of flow control parameters comprising a current occupancy (Q) of a buffer of the second node, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer; and determining a desired data rate (r) based on the determined plurality of flow control parameters;
wherein the desired data rate can be used to adjust the data rate and wherein determining a desired data rate comprises;determining a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L); determining a difference between the upper threshold (U) and the lower threshold (L); determining a time period (C′
) based on a maximum data rate (R) for a transfer of data over an air interface, the upper threshold (U), and the lower threshold (L); andwhen the quantity (q) is less than the difference between the upper threshold (U) and the lower threshold (L) and the quantity (q) is greater than zero, determining a desired data rate (r) based on the maximum data rate (R), the quantity (q), and the time period (C′
). - View Dependent Claims (4, 5)
-
-
2. A method for controlling a data rate for a transfer of data from a first node of a plurality of nodes in a communication system to a second node of the plurality of nodes, the method comprising:
-
determining whether a period of time has expired since an immediately preceding flow control message has been conveyed by the second node to the first node; when the period of time has expired, determining a plurality of flow control parameters comprising a current occupancy (O) of a buffer of the second node, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer; and determining a desired data rate (r) based on the determined plurality of flow control parameters, wherein the desired data rate can be used to adjust the data rate and wherein determining a desired data rate comprises; determining a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L); determining whether the quantity (q) is less than zero; and when the quantity (q) is less than zero, determining a desired data rate based on a maximum data rate (R) for a transfer of data over an air interface.
-
-
3. A method for controlling a data rate for a transfer of data from a first node of a plurality of nodes in a communication system to a second node of the plurality of nodes, the method comprising:
-
determining whether a period of time has expired since an immediately preceding flow control message has been conveyed by the second node to the first node; when the period of time has expired, determining a plurality of flow control parameters comprising a current occupancy (O) of a buffer of the second node, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer; and determining a desired data rate (r) based on the determined plurality of flow control parameters, wherein the desired data rate can be used to adjust the data rate and wherein determining a desired data rate comprises; determining a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L); determining a difference between the upper threshold (U) and the lower threshold (L); and when the quantity (q) is greater than the difference between the upper threshold (U) and the lower threshold (L), determining a desired data rate approximately equal to zero.
-
-
6. A method for controlling a data rate for a transfer of data from a first node of a plurality of nodes in a communication system to a second node of the plurality of nodes, the method comprising:
-
determining whether a period of time has expired since an immediately preceding flow control message has been conveyed by the second node to the first node; when the period of time has expired, determining a plurality of flow control parameters comprising a current occupancy (O) of a buffer of the second node, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer; determining a desired data rate (r) based on the determined plurality of flow control parameters, wherein the desired data rate can be used to adjust the data rate; determining a maximum size (B) of the buffer of the second node; and adjusting, by the first node, a size of a buffer of the first node based on the maximum size (B) of the buffer of the second node.
-
-
7. A method for controlling a data rate for a transfer of data from a first node of a plurality of nodes in a communication system to a second node of the plurality of nodes, the method comprising:
-
determining whether a period of time has expired since a conveyance of a preceding flow control message from the second node to the first node; determining a plurality of flow control parameters comprising a current occupancy (Q) of a buffer of the second node, an upper threshold (U) for an occupancy of the buffer, a lower threshold (L) for an occupancy of the buffer, a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L), and a quantity (q0) corresponding to a value determined for the quantity q with respect to the preceding flow control message; determining at least one of whether a difference between the quantity (q) and the quantity (q0) exceeds an adjustment threshold (d), whether the quantity (q) is less than or equal to zero (0), and whether the quantity (q) is greater than or equal to a difference between the upper threshold (U) and the lower threshold (L); and determining to adjust the data rate when the period of time has expired and the difference between the quantity (q) and the quantity (q0) exceeds the adjustment threshold (d), the quantity (q) is less than or equal to zero (0), or the quantity (q) is greater than or equal to a difference between the upper threshold (U) and the lower threshold (L). - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A node in a wireless communication infrastructure, wherein the node receives data at a data rate from a different node in the communication system for transmission to a mobile station, the node comprising:
-
at least one memory device comprising a buffer that stores data intended for mobile station; and a processor that determines whether a period of time has expired since the node conveyed an immediately preceding flow control message to the different node and, when the period of time has expired, determines a plurality of flow control parameters comprising a current occupancy in (Q) of the buffer, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer and determines a desired data rate (r) based on the determined plurality of flow control parameters, wherein the desired data rate can be used to adjust the data rate and wherein the processor determines a desired data rate by determining a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L), determining a difference between the upper threshold (U) and the lower threshold (L), determining a time period (C′
) based on a maximum data rate (R) for a transfer of data over an air interface, the upper threshold (U), and the lower threshold (L), and when the quantity (q) is less than the difference between the upper threshold (U) and the lower threshold (L) and the quantity (q) is greater than zero, determining a desired data rate (r) based on a maximum data rate (R) for a transfer of data over an air interface, the quantity (q), and the time period (C′
). - View Dependent Claims (20, 21)
-
-
18. A node in a wireless communication infrastructure, wherein the node receives data at a data rate from a different node in the communication system for transmission to a mobile station, the node comprising:
-
at least one memory device comprising a buffer that stores data intended for mobile station; and a processor that determines whether a period of time has expired since the node conveyed an immediately preceding flow control message to the different node and, when the period of time has expired, determines a plurality of flow control parameters comprising a current occupancy (O) of the buffer, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer and determines a desired data rate (r) based on the determined plurality of flow control parameters, wherein the desired data rate can be used to adjust the data rate and wherein the processor determines a desired data rate by determining a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L), determining whether the quantity (q) is less than zero, and when the quantity (q) is less than zero, determining a desired data rate based on a maximum data rate (A) for a transfer of data over an air interface.
-
-
19. A node in a wireless communication infrastructure, wherein the node receives data at a data rate from a different node in the communication system for transmission to a mobile station, the node comprising:
-
at least one memory device comprising a buffer that stores data intended for mobile station; and a processor that determines whether a period of time has expired since the node conveyed an immediately preceding flow control message to the different node and, when the period of time has expired, determines a plurality of flow control parameters comprising a current occupancy (O) of the buffer, an upper threshold (U) for an occupancy of the buffer, and a lower threshold (L) for an occupancy of the buffer and determines a desired data rate (r) based on the determined plurality of flow control parameters, wherein the desired data rate can be used to adjust the data rate and wherein the processor determines a desired data rate by determining a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L), determining a difference between the upper threshold (U) and the lower threshold (L), and when the quantity (q) is greater than the difference between the upper threshold (U) and the lower threshold (L), determining a desired data rate approximately equal to zero.
-
-
22. A node in a wireless communication infrastructure, wherein the node receives data at a data rate from a different node in the communication system for transmission to a mobile station, the node comprising:
-
at least one memory device that stores an adjustment threshold (d) and that comprises a buffer that stores data intended for mobile station; and a processor that determines whether a period of time has expired since the node conveyed a preceding flow control message to the different node;
determines a plurality of flow control parameters comprising a current occupancy (Q) of the buffer, an upper threshold (U) for an occupancy of the buffer, a lower threshold (L) for an occupancy of the buffer, a quantity (q) corresponding to an amount by which the current occupancy (Q) of the buffer exceeds the lower threshold (L), and a quantity (q0) corresponding to a value determined for the quantity q with respect to the preceding flow control message, determines at least one of whether a difference between the quantity (q) and the quantity (q0) exceeds the adjustment threshold (d), whether the quantity (q) is less than or equal to zero (0), and whether the quantity (q) is greater than or equal to a difference between the upper threshold (U) and the lower threshold (L), and determines to adjust the data rate when the period of time has expired and the difference between the quantity (q) and the quantity (q0) exceeds the adjustment threshold (d), the quantity (q) is less than or equal to zero (0), or the quantity (q) is greater than or equal to a difference between the upper threshold (U) and the lower threshold (L). - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
Specification