Method and system for providing satellite bandwidth on demand using multi-level queuing
First Claim
1. A method of performing bandwidth allocations, the method comprising:
- receiving a bandwidth request from a terminal, wherein the bandwidth request includes a rate request;
determining bandwidth request type and priority of the received bandwidth request;
placing the bandwidth request in one of a plurality of a global queues based upon the determining step, each of the global queues corresponding to a data rate of each of a plurality of channels;
moving the bandwidth request from the one global queue to one of a plurality of local queues, the plurality of local queues corresponding to the plurality of channels, wherein the bandwidth request is moved based on loading of the channels;
filling the one local queue with subsequent rate requests up to a queuing threshold that is dynamically established according to a total number of rate requests in the local queues;
filling another one of the local queues with additional rate requests upon filling the one local queue beyond the queuing threshold; and
allocating transmission slots in response to the bandwidth request stored in the one local queue.
13 Assignments
0 Petitions
Accused Products
Abstract
An approach for allocating bandwidth in a satellite communication system is disclosed. The system includes a set of global queues that store bandwidth requests, which are received from a number of satellite terminals. The received bandwidth request include a high priority rate request, a low priority rate request, a high priority volume request, and a low priority volume request. A bandwidth control processor determines bandwidth request type and priority of the received bandwidth requests and places the bandwidth requests in the appropriate global queues based upon the determined bandwidth request type and priority. Each of the global queues corresponds to a data rate associated with of each a plurality of channels. The system also utilizes a set of local queues that correspond to the channels. The BCP moves the bandwidth requests from the global queues to the local queues. The BCP then allocates the transmission slots in response to the bandwidth requests stored in the local queues.
-
Citations
45 Claims
-
1. A method of performing bandwidth allocations, the method comprising:
-
receiving a bandwidth request from a terminal, wherein the bandwidth request includes a rate request; determining bandwidth request type and priority of the received bandwidth request; placing the bandwidth request in one of a plurality of a global queues based upon the determining step, each of the global queues corresponding to a data rate of each of a plurality of channels; moving the bandwidth request from the one global queue to one of a plurality of local queues, the plurality of local queues corresponding to the plurality of channels, wherein the bandwidth request is moved based on loading of the channels; filling the one local queue with subsequent rate requests up to a queuing threshold that is dynamically established according to a total number of rate requests in the local queues; filling another one of the local queues with additional rate requests upon filling the one local queue beyond the queuing threshold; and allocating transmission slots in response to the bandwidth request stored in the one local queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15)
-
-
11. A method of performing bandwidth allocations, the method comprising:
-
receiving a bandwidth request from a terminal; determining bandwidth request type and Priority of the received bandwidth request; placing the bandwidth request in one of a plurality of a global queues based upon the determining step, each of the global queues corresponding to a data rate of each of a plurality of channels; moving the bandwidth request from the one global queue to one of a plurality of local queues, the plurality of local queues corresponding to the plurality of channels, wherein the bandwidth request is moved based on loading of the channels; allocating transmission slots in response to the bandwidth request stored in the one local queue; receiving a plurality of rate requests; receiving a defragmentation command; and moving the rate requests from the local queues to the corresponding global queues for reallocation in response to the defragmentation command.
-
-
13. A method of performing bandwidth allocations, the method comprising:
-
receiving a bandwidth request from a terminal, wherein the bandwidth request includes an original volume request; determining bandwidth request type and priority of the received bandwidth request; placing the bandwidth request in one of a plurality of a global queues based upon the determining step, each of the global queues corresponding to a data rate of each of a plurality of channels; moving the bandwidth request from the one global queue to one of a plurality of local queues, the plurality of local queues corresponding to the plurality of channels, wherein the bandwidth request is moved based on loading of the channel; allocating transmission slots in response to the bandwidth request stored in the one local queue; receiving a follow-up volume request; associating the follow-up volume request with the original volume request; placing the follow-up volume request to a particular local queue that stored the original bandwidth request among the plurality of local queues; and maintaining a database of pointers for the terminal, one of the pointers specifying the particular local queue.
-
-
16. A communication system for performing bandwidth allocations, the system comprising:
-
a plurality of global queues, each of the global queues being configured to store a bandwidth request received from a terminal, wherein the bandwidth request includes a rate request; a bandwidth control processor (BCP) coupled the plurality of global queues, the bandwidth control processor being configured to determine bandwidth request type and priority of the received bandwidth request and to place the bandwidth request in one of a plurality of a global queues based upon the determined bandwidth request type and priority, wherein each of the global queues corresponds to a data rate of each of a plurality of channels; and a plurality of local queues coupled to the BCP, the plurality of local queues corresponding to the plurality of channels, one of the plurality of local queues storing the bandwidth request which is moved from the one global queue based on loading of the channels, the one local queue being filled with subsequent rate requests up to a queuing threshold that is dynamically established according to a total number of rate requests in the local queues, another one of the local queues being filled up with additional rate requests in response to the one local queue being filled beyond the queuing threshold, wherein the BCP allocates transmission slots in response to the bandwidth request stored in the one local queue. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 29, 30)
-
-
26. A communication system for performing bandwidth allocations, the system comprising:
-
a plurality of global queues, each of the global queues being configured to store a bandwidth request received from a terminal; a bandwidth control processor (BCP) coupled the plurality of global queues, the bandwidth control processor being configured to determine bandwidth request type and priority of the received bandwidth request and to place the bandwidth request in one of a plurality of a global queues based upon the determined bandwidth request type and priority wherein each of the global queues corresponds to a data rate of each of a plurality of channels; and a plurality of local queues coupled to the BCP, the plurality of local queues corresponding to the plurality of channels, one of the plurality of local queues storinq the bandwidth request which is moved from the one global queue based on loading of the channels, wherein the BCP allocates transmission slots in response to the bandwidth request stored in the one local queue, wherein the BCP is configured to move rate requests from the local queues to the corresponding global queues for reallocation in response to a defragmentation command.
-
-
28. A communication system for performing bandwidth allocations, the system comprising:
-
a plurality of global queues, each of the global queues being configured to store a bandwidth request received from a terminal; a bandwidth control processor (BCP) coupled the plurality of global queues, the bandwidth control processor being configured to determine bandwidth request type and priority of the received bandwidth request and to place the bandwidth request in one of a plurality of a global queues based upon the determined bandwidth request type and priority, wherein each of the global queues corresponds to a data rate of each of a plurality of channels; and a plurality of local queues coupled to the BCP, the plurality of local queues corresponding to the plurality of channels, one of the plurality of local queues storing the bandwidth request which is moved from the one global queue based on loading of the channels, wherein the BCP allocates transmission slots in response to the bandwidth request stored in the one local queue, wherein the bandwidth request includes an original volume request, the BCP associating a follow-up volume request with the original volume request and placing the follow-up volume request to a particular local queue that stored the original bandwidth request among the plurality of local queues; and a database coupled to the BCP, the database storing a plurality of pointers for the terminal, one of the pointers specifying the particular local queue.
-
-
31. A computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for allocating bandwidth, said method comprising the steps of:
-
receiving a bandwidth request from a terminal, wherein the bandwidth request includes a rate request; determining bandwidth request type and priority of the received bandwidth request; placing the bandwidth request in one of a plurality of a global queues based upon the determining step, each of the global queues corresponding to a data rate of each of a plurality of channels; moving the bandwidth request from the one global queue to one of a plurality of local queues, the plurality of local queues corresponding to the plurality of channels, wherein the bandwidth request is moved based on loading of the channels; filling the one local queue with subsequent rate requests up to a queuing threshold that is dynamically established according to a total number of rate requests in the local queues; filling another one of the local queues with additional rate requests upon filling the one local queue beyond the queuing threshold; and allocating transmission slots in response to the bandwidth request stored in the one local queue. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 44, 45)
-
-
41. A computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for allocating bandwidth, said method comprising the steps of:
-
receiving a bandwidth request from a terminal; determining bandwidth request type and priority of the received bandwidth request; placing the bandwidth request in one of a plurality of a global queues based upon the determining step, each of the global queues corresponding to a data rate of each of a plurality of channels; moving the bandwidth request from the one global queue to one of a plurality of local queues, the plurality of local queues corresponding to the plurality of channels, wherein the bandwidth request is moved based on loading of the channels; allocating transmission slots in response to the bandwidth request stored in the one local queue; receiving a plurality of rate requests; receiving a defragmentation command; and moving the rate requests from the local queues to the corresponding global queues for reallocation in response to the defragmentation command.
-
-
43. A computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for allocating bandwidth, said method comprising the steps of:
-
receiving a bandwidth request from a terminal, wherein the bandwidth request includes an original volume request; determining bandwidth request type and priority of the received bandwidth request; placing the bandwidth request in one of a plurality of a global queues based upon the determining step, each of the global queues corresponding to a data rate of each of a plurality of channels; moving the bandwidth request from the one global queue to one of a plurality of local queues, the plurality of local queues corresponding to the plurality of channels, wherein the bandwidth request is moved based on loading of the channels; allocating transmission slots in response to the bandwidth request stored in the one local queue; receiving a follow-up volume request; associating the follow-up volume request with the original volume request; placing the follow-up volume request to a particular local queue that stored the original bandwidth request among the plurality of local queues; and maintaining a database of pointers for the terminal, one of the pointers specifying the particular local queue.
-
Specification