Method and apparatus for performing flow control in a wireless communications system
First Claim
1. A method of performing flow control in a wireless communications system while transmitting data from a server router to a client router, the client router transmitting data synchronously at an outbound rate and having an outbound queue having a queue depth, the server router receiving data units from a data source, the method comprising:
- filling the client router'"'"'s outbound queue;
calculating a RATE variable, having an integer portion and a fractional portion, having a value equal to the outbound rate of the client router;
adding the value of the RATE variable to a COUNT variable, the COUNT variable having an integer portion and a fractional portion, performed by the server router;
transmitting, to the client router from the server router, an asynchronous data burst having a number of data units equal to the integer portion of the COUNT variable upon the expiration of a send interval timer, and decrementing the COUNT variable by 1 for every data unit so transmitted;
accumulating the fractional portion of the COUNT variable in the COUNT variable; and
repeating the steps of adding, transmitting, and accumulating.
4 Assignments
0 Petitions
Accused Products
Abstract
A data communications system includes a server router (102), such as an access controller gateway, operably coupled to at least one client router (104), such as a base radio controller, by an asynchronous link, such as a LAN (106). The client router forwards data received from the server router and stored in the client router'"'"'s outbound queue (110) synchronously to a device, such as a mobile station (202). The client router'"'"'s outbound queue is maintained between a lower queue limit and an upper queue limit so as to both reduce the occurrence of data starvation and reduce the amount of data lost should the mobile station hand off to a new serving site. The server router calculates an optimum average send rate and transmits data in bursts at regular intervals, and adjusts the average send rate in response to changes in the outbound rate of the client router. The client router is state machine driven, and sends flow control messages only when entering a new state so as to reduce the amount of flow control messaging.
-
Citations
7 Claims
-
1. A method of performing flow control in a wireless communications system while transmitting data from a server router to a client router, the client router transmitting data synchronously at an outbound rate and having an outbound queue having a queue depth, the server router receiving data units from a data source, the method comprising:
-
filling the client router'"'"'s outbound queue;
calculating a RATE variable, having an integer portion and a fractional portion, having a value equal to the outbound rate of the client router;
adding the value of the RATE variable to a COUNT variable, the COUNT variable having an integer portion and a fractional portion, performed by the server router;
transmitting, to the client router from the server router, an asynchronous data burst having a number of data units equal to the integer portion of the COUNT variable upon the expiration of a send interval timer, and decrementing the COUNT variable by 1 for every data unit so transmitted;
accumulating the fractional portion of the COUNT variable in the COUNT variable; and
repeating the steps of adding, transmitting, and accumulating. - View Dependent Claims (2, 3, 4, 5, 6, 7)
sending a DECREMENT message from the client router to the server router upon the queue depth of the outbound queue reaching a first upper queue limit;
decrementing the value of the RATE and the COUNT variable by 1 upon receiving the DECREMENT message at the server router; and
placing the client router in a DECREMENT state so that no other DECREMENT messages are sent while the queue depth is below a second upper queue limit and above a first lower queue limit, the second upper queue limit being higher than the first upper queue limit.
-
-
5. A method for performing flow control in a wireless communications system as defined in claim 4, further comprising the steps of:
-
sending a STOP message including a STOP_COUNT value from the client router to the server router in response to the queue depth of the outbound queue reaching the second upper queue limit; and
subtracting the STOP_COUNT value from the COUNT variable upon receiving the STOP message at the server router.
-
-
6. A method for performing flow control in a wireless communications system as defined in claim 1, further comprising the steps of:
-
sending an INCREMENT message from the client router to the server router upon the queue depth of the outbound queue falling below a first lower queue limit;
incrementing the value of the RATE and the COUNT variable by 1 upon receiving the INCREMENT message at the server router; and
placing the client router in an INCREMENT state so that no other INCREMENT messages are sent while the queue depth is below a first upper queue limit and above a second lower queue limit.
-
-
7. A method for performing flow control in a wireless communications system as defined in claim 6, further comprising the steps of:
-
sending a START message from the client router to the server router upon the queue depth of the outbound queue falling to a second lower queue limit below the first lower queue limit; and
performing the step of filling the outbound queue upon receiving the START message at the server router.
-
Specification