IP Library Granted Patent US 10,250,523
Granted Patent B2
US 10,250,523 · App. 14/645,383 · Granted Apr 2, 2019

Unified bandwidth management on distributed network environment

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,250,523
App. No.
14/645,383
Granted
Apr 2, 2019
Kind
B2
Abstract

The present invention provides systems and methods for unified bandwidth management for network traffic. In particular, two or more network devices may be grouped into a single set, and bandwidth management is performed on the single set. The grouping of network devices into a single set facilitates dynamic adjustment of bandwidth management based on real-time variations in network traffic that may arise during standard operations of the network.

Claims (70)

1. A method for controlling and managing bandwidth traffic in a distributed network, the method comprising:

receiving one or more messages sent over a communication network from a first defined set of one or more network devices to a first designated set master that manages the first defined set, wherein the received messages concern respective real-time incoming traffic at each network device within the first defined set, and wherein the network devices of the first defined set are configured to transmit information between a first subnet and a second subnet in parallel;

updating information stored in one or more traffic status tables of the first designated set master regarding the network devices in the first defined set based on the received messages, the stored information including the respective real-time incoming traffic at each network device within the first defined set of network devices;

sending the updated information from the traffic status tables of the first designated set master to each of the network devices in the first defined set, wherein each of the network devices in the first defined set updates a corresponding traffic status table stored in a respective network device memory in accordance with the updated information sent from the first designated set master,

storing in memory of the first designated set master a defined overall maximum bandwidth controlling a total bandwidth across the first defined set; and

executing instructions stored in memory, wherein execution of the instructions by a processor of the first designated set master instructs each of the network devices within the first defined set to calculate an adjusted individual maximum bandwidth based on the updated real-time incoming traffic for the network devices in the first defined set, wherein:

the adjusted individual maximum bandwidth of all the network devices is limited by the overall maximum bandwidth,

the one or more traffic status tables at the first designated set master are updated to include information that identifies an amount of real-time ingress traffic received by each of the network devices in the first defined set, and

each of the network devices in the first defined set automatically adjusts their maximum bandwidth based on the bandwidth distribution calculation performed at each of the network devices in the first defined set, the adjustment including updating the incoming traffic bandwidth distribution for each of the network devices of the first defined set configured to transmit information between the first subnet and the second subnet in parallel.

2. The method of claim 1 , further comprising designating a first network device in the first defined set as the set master.

3. The method of claim 1 , further comprising executing instructions by the processor, wherein execution of the further instructions:

initializes the individual maximum bandwidths across the network devices of the first defined set based on the defined overall maximum bandwidth for traffic between a first subnet and a second subnet;

identifies all network devices corresponding to the first defined set, wherein each network device distributes information about their incoming traffic to other network devices in the same set and is aware of the incoming traffic of the other network devices in the first defined set; and

updates information stored in a database in memory, wherein the updated information includes the identity of all network devices in the first defined set and each respective network device incoming traffic.

4. The method of claim 3 , further comprising adding one or more additional network devices to the set by the first designated set master, wherein adding the additional network devices comprises:

receiving one or more requests sent over the communication network to the first designated set master, the one or more requests from the one or more additional network devices looking to be added to the set and including information from the one or more additional network devices;

updating information regarding all network devices stored in a database in memory of the first designated set master, wherein the updated information includes the additional network devices and respective incoming traffic for each of the additional network devices; and

executing instructions to perform the bandwidth distribution calculation in order to calculate an adjustment to the individual maximum bandwidth of the network devices in the first defined set, inclusive of the additional network devices, based on their respective incoming traffic and the incoming traffic of other network devices in the first defined set, wherein the adjusted individual maximum bandwidth of all the network devices is still controlled by the overall maximum bandwidth for traffic between the first subnet and the second subnet.

5. The method of claim 4 , wherein at least one of the additional network devices is added to a second set by a second designated set master of the second set, and the method further comprising:

receiving information sent over the communication network to the first designated set master, the information concerning the at least one additional network device added to the second defined set;

updating information stored in memory of the first designated set master, wherein the updated information includes the information regarding the at least one additional network device having been added to the second defined set; and

executing by the first designated set master, instructions for each of the network devices within the first defined set to perform the bandwidth distribution calculation to calculate an adjustment to the respective individual maximum bandwidth of each network device in the first defined set based on the updated information, wherein the adjusted individual maximum bandwidths of all the network devices is still controlled by the maximum bandwidth for traffic between the first subnet and the second subnet.

6. The method of claim 1 , wherein the adjusted individual maximum bandwidth calculation is based on a proportion of total ingress traffic to a respective network device and the defined overall maximum bandwidth for the set.

7. The method of claim 1 , wherein each network device of the first set of network devices stores information about other network devices in the first set of network devices.

8. The method of claim 1 , wherein the communication network is a wireless network.

9. An apparatus for controlling and managing bandwidth traffic in a distributed network, the apparatus comprising:

a communication interface of a first designated set master that receives one or more messages sent over a communication network from a first defined set of one or more network devices to the first designated set master that manages the first defined set, wherein the received messages concern respective real-time incoming traffic at each network device within the first defined set, and wherein the network devices of the first defined set are configured to transmit information between a first subnet and a second subnet in parallel;

memory that stores in one or more traffic status tables:

a defined overall maximum bandwidth controlling a total bandwidth across the first defined set, and

information regarding the network devices in the first defined set; and

a processor that executes instructions stored in memory, wherein execution of the instructions by the processor updates information stored in the traffic status tables in the memory based on the received messages, wherein the stored information is updated to include the respective real-time incoming traffic at each network device within the first defined set;

wherein the communication interface sends the updated information from the traffic status table of the first designated set master to each of the network devices in the first defined set, wherein each of the network devices in the first defined set updates a corresponding traffic status table stored in a respective network device memory in accordance with the updated information sent from the first designated set master, each network device in the first defined set being instructed to calculate an adjusted individual maximum bandwidth based on the updated real-time incoming traffic for the network devices in the first defined set, wherein:

the adjusted individual maximum bandwidth of all the network devices is limited by the overall maximum bandwidth,

the one or more traffic status tables of the first designated set master are updated to include information that identifies an amount of real-time ingress traffic received by each of the network devices in the first defined set, and

each of the network devices in the first defined set automatically adjusts their maximum bandwidth based on the bandwidth distribution calculation performed at each of the network devices in the first defined set, the adjustment including updating the incoming traffic bandwidth distribution for each of the network devices of the first defined set configured to transmit information between the first subnet and the second subnet in parallel.

10. The apparatus of claim 9 , wherein the processor executes further instructions, wherein execution of the further instructions:

initializes the individual maximum bandwidths across the network devices of the first defined set based on the defined overall maximum bandwidth for traffic between a first subnet and a second subnet; and

identifies all network devices corresponding to the same set, wherein each network device distributes information about their incoming traffic to other network devices in the same set and is aware of the incoming traffic of the other network devices in the first defined set, wherein memory is updated with information regarding the identity of all network devices in the first defined set and each respective network device incoming traffic.

11. The apparatus of claim 10 , wherein one or more additional network devices is added to the set, wherein adding the additional network devices comprises:

the communication interface receiving one or more requests sent over the communication network to the first designated set master, the one or more requests from the one or more additional network devices looking to be added to the set and including information from the one or more additional network devices;

memory being updated with information regarding all network devices stored in a database in memory of the first designated set master, wherein the updated information includes the additional network devices and respective incoming traffic for each of the additional network devices; and

the processor executing instructions for each network device to perform the bandwidth distribution calculation to calculate an adjustment to the individual maximum bandwidth of each network device in the first defined set based on their respective incoming traffic and the incoming traffic of other network devices in the first defined set, wherein the adjusted individual maximum bandwidth of all the network devices is still controlled by the overall maximum bandwidth for traffic between the first subnet and the second subnet, and wherein each of the network devices in the first defined set automatically adjusts their maximum bandwidth based on the bandwidth distribution calculation.

12. The apparatus of claim 11 , wherein at least one of the additional network devices is added to a second set by a second designated set master of the second set, and wherein:

the communication interface receives information sent over the communication network to the first designated set master, the information concerning the at least one additional network device added to the second defined set;

memory is updated concerning the information regarding the at least one additional network device having been added to the second defined set; and

the processor, of each network device in the second set, executes the bandwidth distribution calculation to calculate an adjustment to the respective individual maximum bandwidth based on the updated information, wherein the adjusted individual maximum bandwidths of all the network devices is still controlled by the maximum bandwidth for traffic between the first subnet and the second subnet and wherein each of the network devices in the first defined set automatically adjusts their maximum bandwidth based on the bandwidth distribution calculation performed at each at each of the network devices in the first defined set.

13. The apparatus of claim 9 , wherein the adjusted individual maximum bandwidth calculation is based on a proportion of total ingress traffic to a respective network device and the defined overall maximum bandwidth for the set.

14. The apparatus of claim 9 , wherein each network device of the first defined set of network devices stores information about other network devices in the first defined set.

15. The apparatus of claim 9 , wherein the communication network is a wireless network.

16. A system for controlling and managing bandwidth traffic in a distributed network, the system comprising:

a defined set of a plurality of network devices, wherein one of the network devices is designated set master, wherein the set master comprises:

a communication interface that receives one or more messages sent over a communication network from a first defined set of one or more network devices, wherein the received messages concern respective real-time incoming traffic at each network device within the first defined set, and wherein the network devices of the first defined set are configured to transmit information between a first subnet and a second subnet in parallel;

memory that stores:

one or more traffic status tables,

a defined overall maximum bandwidth controlling a total bandwidth across the defined set, and

information regarding the plurality of network devices, wherein the stored information is updated to include the respective real-time incoming traffic at each network device within the defined set of f network devices

a processor that executes instructions stored in memory, wherein execution of the instructions by the processor updates the stored traffic status table regarding the network devices in the first defined set based on the messages, the stored information including the respective real-time incoming traffic at each network device within the first defined set;

wherein the communication interface sends the updated information from the traffic status table to each of the network devices in the first defined set, wherein each network device in the first defined set of network devices updates a corresponding traffic status table stored in the respective network device memory based on the updated information sent from the set master, each network device in the first defined set being instructed to calculate an adjusted individual maximum bandwidth based on the updated real-time incoming traffic for the network devices in the defined set, wherein

the adjusted individual maximum bandwidth of all the network devices is limited by the overall maximum bandwidth,

the one or more traffic status tables of the first designated set master are updated to include information that identifies an amount of real-time ingress traffic received by each of the network devices in the defined set, and

each of the network devices in the defined set automatically adjusts their maximum bandwidth based on the bandwidth distribution calculation performed at each of the network devices in the defined set, the adjustment including updating the incoming traffic bandwidth distribution for each of the network devices of the first defined set configured to transmit information between the first subnet and the second subnet in parallel.

17. A non-transitory computer-readable storage medium, having embodied thereon a program executable by a processor to perform a method for controlling and managing bandwidth traffic in a distributed network, the method comprising:

receiving one or more messages sent over a communication network from a first defined set of one or more network devices to a first designated set master that manages the first defined set, wherein the received messages concern respective real-time incoming traffic at each network device within the first defined set, and wherein the network devices of the first defined set are configured to transmit information between a first subnet and a second subnet in parallel;

updating information stored in one or more traffic status tables of the first designated set master regarding the network devices in the first defined set based on the received messages, the stored information including the respective real-time incoming traffic at each network device within the first defined set of network devices;

sending the updated information from the traffic status tables of the first designated set master to each of the network devices in the first defined set, wherein each of the network devices in the first defined set updates a corresponding traffic status table stored in a respective network device memory in accordance with the updated information sent from the first designated set master,

storing in memory of the first designated set master a defined overall maximum bandwidth controlling a total bandwidth across the first defined set; and

executing instructions stored in memory, wherein execution of the instructions by a processor of the first designated set master instructs each of the network devices within the first defined set to calculate an adjusted individual maximum bandwidth based on the updated real-time incoming traffic for the network devices in the first defined set, wherein:

the adjusted individual maximum bandwidth of all the network devices is limited by the overall maximum bandwidth,

the one or more traffic status tables at the first designated set master are updated to include information that identifies an amount of real-time ingress traffic received by each of the network devices in the first defined set, and

each of the network devices in the first defined set automatically adjusts their maximum bandwidth based on the bandwidth distribution calculation performed at each of the network devices in the first defined set, the adjustment including updating the incoming traffic bandwidth distribution for each of the network devices of the first defined set configured to transmit information between the first subnet and the second subnet in parallel.

Assignments (20)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
CHANGE OF NAME Recorded May 29, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 047058/0082 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded May 16, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046169/0718 →
CHANGE OF NAME Recorded May 15, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046163/0137 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
CONVERSION AND NAME CHANGE Recorded Dec 17, 2015
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 037325/0855 →
MERGER Recorded Dec 17, 2015
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 037320/0529 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2015
From: MAO, MIAO; SOUNDERRAJ, DEEPA THILAKAVANI; CHEN, ZHONG
To: SONICWALL, INC.
Reel/Frame 035191/0379 →