Allocating bandwidth between bandwidth zones according to user load
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.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
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 bandwidth zones having a number 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 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; 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 bandwidth zone has a higher user load than the second bandwidth zone, and such that the first amount is smaller than the second amount while the first bandwidth zone has a lower user load than the second bandwidth zone.
2 . The bandwidth management system of claim 1 , wherein:
at least one of the first bandwidth zone and the second bandwidth zone is a first-level zone that includes a plurality of second-level zones; and the computer server is further operable to calculate a user load of the first-level zone by accumulating a plurality of user loads of the plurality of second-level zones.
3 . The bandwidth management system of claim 1 , wherein a user load of a particular one of the bandwidth zones comprises a summation of one or more current users in the particular one of the bandwidth zones.
4 . The bandwidth management system of claim 3 , further comprising:
an authentication server for managing logged in users; wherein the one or more current users in the particular one of the bandwidth zones corresponds to the logged in users of the particular one of the bandwidth zones.
5 . The bandwidth management system of claim 3 , further comprising:
a log for logging network traffic activity; wherein the current users in the particular one of the bandwidth zones are users who have received or sent network traffic during a last predetermined time period according to the log.
6 . The bandwidth management system claim 3 , further comprising:
a user monitor for sending a ping to users; wherein the current users in the particular one of the bandwidth zones are users who replied to the ping.
7 . The bandwidth management system of claim 1 , wherein a user load of a particular one of the bandwidth zones comprises a summation of bandwidth caps of current users in the particular one of the bandwidth zones.
8 . The bandwidth management system of claim 1 , wherein the computer server is further operable to scale the first amount and the second amount relative to one another such that a smallest of the first amount and the second amount corresponds to a maximum transmission unit (MTU) of the one or more outgoing network interfaces.
9 . The bandwidth management system of claim 1 , wherein the computer server is further operable to scale the first amount and the second amount relative to one another such that a largest of the first amount and the second amount corresponds to a multiple of a maximum transmission unit (MTU) of the one or more outgoing network interfaces.
10 . The bandwidth management system of claim 1 , wherein the computer server is further operable to round each of the first amount and the second amount to a multiple of a maximum transmission unit (MTU) of the one or more outgoing network interfaces.
11 . A method of allocating bandwidth between a plurality of bandwidth zones at an establishment serving a plurality of users, each of the bandwidth zones having a number 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; 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 bandwidth zone has a higher user load than the second bandwidth zone, and such that the first amount is smaller than the second amount while the first bandwidth zone has a lower user load than the second bandwidth zone.
12 . The method of claim 11 , wherein:
at least one of the first bandwidth zone and the second bandwidth zone is a first-level zone that includes a plurality of second-level zones; and the method further comprises calculating a user load of the first-level zone by accumulating a plurality of user loads of the plurality of second-level zones.
13 . The method of claim 11 , further comprising determining a user load of a particular one of the bandwidth zones by calculating a summation of one or more current users in the particular one of the bandwidth zones.
14 . The method of claim 13 , further comprising:
providing an authentication server for managing logged in users; wherein the one or more current users in the particular one of the bandwidth zones corresponds to the logged in users of the particular one of the bandwidth zones.
15 . The method of claim 13 , further comprising:
logging network traffic activity in a log; wherein the current users in the particular one of the bandwidth zones are users who have received or sent network traffic during a last predetermined time period according to the log.
16 . The method of claim 11 , wherein a user load of a particular one of the bandwidth zones comprises a summation of bandwidth caps of current users in the particular one of the bandwidth zones.
17 . The method of claim 11 , further comprising scaling the first amount and the second amount relative to one another such that a smallest of the first amount and the second amount corresponds to a maximum transmission unit (MTU) of the one or more outgoing network interfaces.
18 . The method of claim 11 , further comprising scaling the first amount and the second amount relative to one another such that a largest of the first amount and the second amount corresponds to a multiple of a maximum transmission unit (MTU) of the one or more outgoing network interfaces.
19 . The method of claim 11 , further comprising rounding each of the first amount and the second amount to a multiple of a maximum transmission unit (MTU) of the one or more outgoing network interfaces.
20 . An apparatus for allocating bandwidth between a plurality of bandwidth zones at an establishment serving a plurality of users, each of the bandwidth zones having a number of users competing for bandwidth allocated thereto, the apparatus comprising:
a storage device; a network interfaces; 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; 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 bandwidth zone has a higher user load than the second bandwidth zone, and such that the first amount is smaller than the second amount while the first bandwidth zone has a lower user load than the second bandwidth zone.Join the waitlist — get patent alerts
Track US2021006501A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.