Modified round robin load balancing technique based on IP identifier
First Claim
1. A method for uniformly distributing data transmitted by a server over a plurality of underlying links of an aggregate within a computer network, comprising:
- defining a unit of data as a datagram;
apportioning each datagram into at least one fragment at the server;
associating each fragment to an underlying link of the aggregate on the basis of an Internet protocol (IP) identifier (ID) of each datagram and a number of active links of the aggregate, wherein the step of associating includes;
logically combining the IP ID with a predetermined mask to produce a quantity,right shifting the quantity a predetermined number of places,establishing a threshold at which a group of data is forwarded to each underlying link of the aggregate,producing a result representing a remainder upon dividing the right shifted logically combined quantity IP ID and predetermined mask by the number of active links, wherein the IP ID is a 16-bit value, the predetermined mask is 0xFF80 and predetermined number of right shifted places is 7, and wherein the group of data comprises 128 IP IDs;
transmitting the fragment over its associated underlying link from the server to the computer network.
1 Assignment
0 Petitions
Accused Products
Abstract
A load balancing technique uniformly distributes data transmitted by a server over a plurality of underlying physical links of a virtual interface or aggregate within a computer network. According to the invention, the unit of data granularity is preferably a datagram, rather than an Internet protocol (IP) fragment or packet. The load balancing technique implements a round robin scheduling policy among the links based on an identifier (ID) associated with each datagram. As a result, the technique ensures that all fragments of a datagram are forwarded over the same physical link of the aggregate on the basis of a similar IP ID.
70 Citations
13 Claims
-
1. A method for uniformly distributing data transmitted by a server over a plurality of underlying links of an aggregate within a computer network, comprising:
-
defining a unit of data as a datagram; apportioning each datagram into at least one fragment at the server; associating each fragment to an underlying link of the aggregate on the basis of an Internet protocol (IP) identifier (ID) of each datagram and a number of active links of the aggregate, wherein the step of associating includes; logically combining the IP ID with a predetermined mask to produce a quantity, right shifting the quantity a predetermined number of places, establishing a threshold at which a group of data is forwarded to each underlying link of the aggregate, producing a result representing a remainder upon dividing the right shifted logically combined quantity IP ID and predetermined mask by the number of active links, wherein the IP ID is a 16-bit value, the predetermined mask is 0xFF80 and predetermined number of right shifted places is 7, and wherein the group of data comprises 128 IP IDs; transmitting the fragment over its associated underlying link from the server to the computer network. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer readable medium, comprising:
-
the medium storing executable program instructions for uniformly distributing data transmitted by a server over a plurality of underlying links of an aggregate within a computer network, the executable program instructions having program instructions for; defining a unit of data as a datagram; apportioning each datagram into at least one fragment at the server; associating each fragment to an underlying link of the aggregate on the basis of an Internet protocol (IP) identifier (ID) of each datagram and a number of active links of the aggregate, wherein the step of associating includes; logically combining the IP ID with a predetermined mask to produce a quantity, right shifting the quantity a predetermined number of places, establishing a threshold at which a group of data is forwarded to each underlying link of the aggregate, producing a result representing a remainder upon dividing the right shifted logically combined quantity IP ID and predetermined mask by the number of active links, wherein the IP ID is a 16-bit value, the predetermined mask is 0xFF80 and predetermined number of right shifted places is 7, and wherein the group of data comprises 128 IP IDs; transmitting the fragment over its associated underlying link from the server to the computer network. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for uniformly distributing data transmitted by a server over a number of underlying links of an aggregate within a computer network, comprising:
-
providing the plurality of links as a connection to a network node; selecting one link of the plurality of links for transmitting a datagram to the network node (hereinafter the selected link) using a round robin selection technique, the data identified by an Internet protocol (IP) identifier (ID), the IP ID indicating an end point destination for the data; apportioning the datagram into at least one fragment; performing a logical AND operation to combine the IP ID and a predetermined mask, wherein the predetermined mask is 0xFF80; dividing the result of the logical AND operation by the number of underlying links to generate a remainder; using the remainder as the link identifier; associating the fragments with the selected link; and transmitting the fragments over the selected link.
-
-
13. A method for uniformly distributing data transmitted by a server over a number of underlying links of an aggregate within a computer network, comprising:
-
providing the plurality of links as a connection to a network node; selecting one link of the plurality of links for transmitting a datagram to the network node (hereinafter the selected link) using a round robin selection technique, the data identified by an Internet protocol (IP) identifier (ID), the IP ID indicating an end point destination for the data; apportioning the datagram into at least one fragment; performing a logical AND operation to combine the IP ID and a predetermined mask, wherein the predetermined mask is 0xFF80 and the predetermined number of bits is 7 bits; right shifting the result of the logical AND by a predetermined number of bits; dividing the result of right shifting by the number of underlying links to generate a remainder; using the remainder as the link identifier;
associating the fragments with the selected link; andtransmitting the fragments over the selected link.
-
Specification