Allocating bandwidth between bandwidth zones according to user load
First Claim
1. A bandwidth management system for allocating bandwidth between a plurality of bandwidth zones at an establishment serving a plurality of users, each of the plurality of bandwidth zones having one or more of the plurality of users competing for bandwidth allocated thereto, the bandwidth management system comprising:
- a computer server providing a first queue and a second queue, wherein the first queue queues first data associated with a first bandwidth zone of the plurality of bandwidth zones, and the second queue queues second data associated with a second bandwidth zone of the plurality of bandwidth zones; and
a computer readable medium storing a plurality of software instructions for execution by the computer server;
wherein, by the computer server executing the plurality of software instructions loaded from the computer readable medium, the computer server is operable to repeatedly dequeue a first amount of the first data from the first queue and a second amount of the second data from the second queue, and pass the first amount of the first data and the second amount of the second data to one or more outgoing network interfaces;
the computer server is further operable to dynamically determine a first user load of the first bandwidth zone by summing a first characteristic of the plurality of users that are competing for bandwidth in the first bandwidth zone, and to dynamically determine a second user load of the second bandwidth zone by summing a second characteristic of the plurality of users that are competing for bandwidth in the second bandwidth zone; and
the computer server is further operable to automatically adjust the first amount and the second amount over time such that the first amount is larger than the second amount while the first user load is higher than the second user load, and such that the first amount is smaller than the second amount while the first user load is lower than the second user load.
2 Assignments
0 Petitions
Accused Products
Abstract
A bandwidth management system includes a plurality of queues respectively corresponding to a plurality of zones. An enqueuing module receives network traffic from one or more incoming network interfaces, determines a belonging zone to which the network traffic belongs, and enqueues the network traffic on a queue corresponding to the belonging zone. A dequeuing module selectively dequeues data from the queues and passes the data to one or more outgoing network interfaces. When dequeuing data from the queues the dequeuing module dequeues an amount of data from a selected queue, and the amount of data dequeued from the selected queue is determined according to user load of a zone to which the selected queue corresponds.
58 Citations
20 Claims
-
1. A bandwidth management system for allocating bandwidth between a plurality of bandwidth zones at an establishment serving a plurality of users, each of the plurality of bandwidth zones having one or more of the plurality of users competing for bandwidth allocated thereto, the bandwidth management system comprising:
-
a computer server providing a first queue and a second queue, wherein the first queue queues first data associated with a first bandwidth zone of the plurality of bandwidth zones, and the second queue queues second data associated with a second bandwidth zone of the plurality of bandwidth zones; and a computer readable medium storing a plurality of software instructions for execution by the computer server; wherein, by the computer server executing the plurality of software instructions loaded from the computer readable medium, the computer server is operable to repeatedly dequeue a first amount of the first data from the first queue and a second amount of the second data from the second queue, and pass the first amount of the first data and the second amount of the second data to one or more outgoing network interfaces; the computer server is further operable to dynamically determine a first user load of the first bandwidth zone by summing a first characteristic of the plurality of users that are competing for bandwidth in the first bandwidth zone, and to dynamically determine a second user load of the second bandwidth zone by summing a second characteristic of the plurality of users that are competing for bandwidth in the second bandwidth zone; and the computer server is further operable to automatically adjust the first amount and the second amount over time such that the first amount is larger than the second amount while the first user load is higher than the second user load, and such that the first amount is smaller than the second amount while the first user load is lower than the second user load. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of allocating bandwidth between a plurality of bandwidth zones at an establishment serving a plurality of users, each of the plurality of bandwidth zones having one or more of the plurality of users competing for bandwidth allocated thereto, the method comprising:
-
providing a first queue and a second queue, wherein the first queue queues first data associated with a first bandwidth zone of the plurality of bandwidth zones, and the second queue queues second data associated with a second bandwidth zone of the plurality of bandwidth zones; repeatedly dequeuing a first amount of the first data from the first queue and a second amount of the second data from the second queue, and passing the first amount of the first data and the second amount of the second data to one or more outgoing network interfaces; dynamically determining a first user load of the first bandwidth zone by summing a first characteristic of the plurality of users that are competing for bandwidth in the first bandwidth zone; dynamically determining a second user load of the second bandwidth zone by summing a second characteristic of the plurality of users that are competing for bandwidth in the second bandwidth zone; and automatically adjusting the first amount and the second amount over time such that the first amount is larger than the second amount while the first user load is higher than the second user load, and such that the first amount is smaller than the second amount while the first user load is lower than the second user load. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. An apparatus for allocating bandwidth between a plurality of bandwidth zones at an establishment serving a plurality of users, each of the plurality of bandwidth zones having one or more of the plurality of users competing for bandwidth allocated thereto, the apparatus comprising:
-
a storage device; a network interface; and a processor coupled to the storage device and the network interface; wherein, by the processor executing software instructions loaded from the storage device, the processor is operable to; provide a first queue and a second queue, wherein the first queue queues first data associated with a first bandwidth zone of the plurality of bandwidth zones, and the second queue queues second data associated with a second bandwidth zone of the plurality of bandwidth zones; repeatedly dequeue a first amount of the first data from the first queue and a second amount of the second data from the second queue, and pass the first amount of the first data and the second amount of the second data to the network interface; dynamically determine a first user load of the first bandwidth zone by summing a first characteristic of the plurality of users that are competing for bandwidth in the first bandwidth zone; dynamically determine a second user load of the second bandwidth zone by summing a second characteristic of the plurality of users that are competing for bandwidth in the second bandwidth zone; and automatically adjust the first amount and the second amount over time such that the first amount is larger than the second amount while the first user load is higher than the second user load, and such that the first amount is smaller than the second amount while the first user load is lower than the second user load.
-
Specification