Method and system for load balancing over a set of communication channels
First Claim
Patent Images
1. A method for providing load balancing in a communication system including a plurality of terminals, the method comprising:
- determining a user load based upon data queued for transmission at each of the terminals;
generating a user load vector based on the user load;
sorting the user load vector to identify a more loaded terminal;
determining an inroute load corresponding to loading of inroutes serving the terminals;
generating an inroute load vector based on the inroute load;
sorting the inroute load vector to determine a less loaded inroute;
determining variance of the inroute load vector;
determining a load change for a maximum reduction in the variance of the inroute load vector;
determining a first terminal with a load that matches the load change based on the user load vector;
outputting a user-to-inroute distribution that minimizes variation of the inroute load, the user-to-inroute distribution mapping the user load to the inroutes; and
reassigning the user load to the inroutes based on the determined user-to-inroute distribution from a central hub including moving the load of the first terminal to the less loaded inroute, whereinthe reassignment of the user load to the inroutes is independent of decisions at the terminals and allocation and redistribution of bandwidth is obtained at the plurality of terminals without an externally provided command.
13 Assignments
0 Petitions
Accused Products
Abstract
An approach for load balancing is disclosed. A user load is determined based upon data queued for transmission at each of the terminals. In addition, an inroute load corresponding to loading of inroutes serving the terminals is determined. A user-to-inroute distribution that minimizes variation of the inroute load is generated. The user-to-inroute distribution maps the user load to the inroutes. The user load is reassigned to the inroutes based on the determined user-to-inroute distribution. This arrangement has particular applicability to a satellite network that provides data communication services.
21 Citations
20 Claims
-
1. A method for providing load balancing in a communication system including a plurality of terminals, the method comprising:
-
determining a user load based upon data queued for transmission at each of the terminals; generating a user load vector based on the user load; sorting the user load vector to identify a more loaded terminal; determining an inroute load corresponding to loading of inroutes serving the terminals; generating an inroute load vector based on the inroute load; sorting the inroute load vector to determine a less loaded inroute; determining variance of the inroute load vector; determining a load change for a maximum reduction in the variance of the inroute load vector; determining a first terminal with a load that matches the load change based on the user load vector; outputting a user-to-inroute distribution that minimizes variation of the inroute load, the user-to-inroute distribution mapping the user load to the inroutes; and reassigning the user load to the inroutes based on the determined user-to-inroute distribution from a central hub including moving the load of the first terminal to the less loaded inroute, wherein the reassignment of the user load to the inroutes is independent of decisions at the terminals and allocation and redistribution of bandwidth is obtained at the plurality of terminals without an externally provided command. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory computer-readable storage medium having instructions providing load balancing in a communication system including a plurality of terminals, the instruction executable to cause one or more processors to perform the following:
-
determining a user load based upon data queued for transmission at each of the terminals; generating a user load vector based on the user load; sorting the user load vector to identify a more loaded terminal; determining an inroute load corresponding to loading of inroutes serving the terminals; generating an inroute load vector based on the inroute load; sorting the inroute load vector to determine a less loaded inroute; determining variance of the inroute load vector; determining a load change for a maximum reduction in the variance of the inroute load vector; determining a first terminal with a load that matches the load change based on the user load vector; outputting a user-to-inroute distribution that minimizes variation of the inroute load, the user-to-inroute distribution mapping the user load to the inroutes; and reassigning the user load to the inroutes based on the determined user-to-inroute distribution from a central hub including moving the load of the first terminal to the less loaded inroute, wherein the reassignment of the user load to the inroutes is independent of decisions at the terminals and allocation and redistribution of bandwidth is obtained at the plurality of terminals without an externally provided command.
-
-
7. An apparatus for providing load balancing in a communication system including a plurality of terminals, the apparatus comprising:
-
a memory configured to store a user load based upon data queued for transmission at each of the terminals, the memory being further configured to store an inroute load corresponding to loading of inroutes serving the terminals; and a processor configured to; generate a user load vector based on the user load, sort the user load vector to identify a more loaded terminal, generate an inroute load vector based on the inroute load; sort the inroute load vector to determine a less loaded inroute; determine variance of the inroute load vector; determine a load change for a maximum reduction in the variance of the inroute load vector; determine a first terminal with a load that matches the load change based on the user load vector output a user-to-inroute distribution that minimizes variation of the inroute load, the user-to-inroute distribution mapping the user load to the inroutes, wherein the user load is reassigned to the inroutes based on the determined user-to-inroute distribution, including moving the load of the first terminal to the less loaded inroute, and independent of decisions at the terminals, and allocation and redistribution of bandwidth is obtained at the plurality of terminals without an externally provided command. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for providing load balancing in a communication system including a plurality of terminals, the method comprising:
-
generating at least one load vector for a plurality of communication channels based on at least one of a user load based upon data queued for transmission and an inroute load corresponding to loading of inroutes serving the terminals; sorting the at least one load vector to identify at least one of a more loaded terminal and a less loaded inroute; determining variance of the at least one load vector; determining a load change for a maximum reduction in the variance of the at least one load vector; outputting a load value that generates a maximum reduction in the variance; identifying a first terminal having a user load corresponding to the load value; and causing a central hub to assign the first terminal to the less loaded inroute to move the load of the first terminal to the less loaded inroute independent of any decision by the terminal, wherein allocation and redistribution of bandwidth is obtained at the plurality of terminals without an externally provided command. - View Dependent Claims (13, 14, 15)
-
-
16. A non-transitory computer-readable storage medium having instructions providing load balancing in a communication system including a hub communicating with a plurality of terminals, the instructions executable to cause one or more processors to perform the following:
-
generating at least one load vector for a plurality of communication channels based on at least one of a user load based upon data queued for transmission and an inroute load corresponding to loading of inroutes serving the terminals; sorting the at least one load vector to identify at least one of a more loaded terminal and a less loaded inroute; determining variance of the at least one load vector; outputting a load value that generates a maximum reduction in the variance; identifying a first terminal having a user load corresponding to the load value; and causing the central hub to assign the first terminal to the less loaded inroute to move the load of the first terminal to the less loaded inroute independent of any decision by the terminal, wherein allocation and redistribution of bandwidth is obtained at the plurality of terminals without a command provided by the hub.
-
-
17. A hub device for providing load balancing in a communication system including a plurality of terminals, the system comprising:
-
means for generating at least one load vector for a plurality of communication channels based on at least one of a user load based upon data queued for transmission and an inroute load corresponding to loading of inroutes serving the terminals; means for sorting the at least one load vector to identify at least one of a more loaded terminal and a less loaded inroute; means for determining variance of the at least one load vector; means for determining a load change for a maximum reduction in the variance of the at least one load vector; means for outputting a load value that generates a maximum reduction in the variance; means for identifying a first terminal having a user load corresponding to the load value; and means for assigning the first terminal to the less loaded inroute to move the load of the first terminal to the less loaded inroute independent of any decision by the terminal, wherein allocation and redistribution of bandwidth is obtained at the plurality of terminals without a command provided by the hub. - View Dependent Claims (18, 19, 20)
-
Specification