Apparatus and method of selecting next hops for a session
First Claim
1. A method of establishing a session across a plurality of nodes in a computer network, the plurality of nodes including a current node and a plurality of next nodes, each one of the plurality of next nodes being coupled with the current node via a link, the method comprising:
- determining residual capacities of the links between the current node and the plurality of next nodes, wherein residual capacity corresponds to amount of network flow capacity remaining in a respective link, at a given point in time, not in use or otherwise reserved;
determining a sum of the residual capacities of the links between the current node and the plurality of next nodes;
generating a random number from a range of numbers, the range of numbers being a function of the sum of the residual capacities of the links between the current node and the plurality of next nodes;
selecting one of the plurality of next nodes as a function of the random number and the residual capacities of the links between the current node and the plurality of next nodes, the selected next node being a next hop node; and
directing packets for the session from the current node to the next hop node.
2 Assignments
0 Petitions
Accused Products
Abstract
A method establishes a session across a plurality of nodes in a computer network using a load balancing technique. The plurality of nodes includes a current node and a plurality of next nodes, and each next hop node is coupled with the current node via a link. To determine the next hop node from the current node, the method determines the residual capacity of the links between the current node and the next nodes, and generates a random number. Next, the method selects one of the next nodes as a function of the random number and the respective residual capacities of the links between the current node and the next nodes. After selecting the one next hop node, the method directs packets for the session from the current node to the one selected next hop node.
76 Citations
24 Claims
-
1. A method of establishing a session across a plurality of nodes in a computer network, the plurality of nodes including a current node and a plurality of next nodes, each one of the plurality of next nodes being coupled with the current node via a link, the method comprising:
-
determining residual capacities of the links between the current node and the plurality of next nodes, wherein residual capacity corresponds to amount of network flow capacity remaining in a respective link, at a given point in time, not in use or otherwise reserved; determining a sum of the residual capacities of the links between the current node and the plurality of next nodes; generating a random number from a range of numbers, the range of numbers being a function of the sum of the residual capacities of the links between the current node and the plurality of next nodes; selecting one of the plurality of next nodes as a function of the random number and the residual capacities of the links between the current node and the plurality of next nodes, the selected next node being a next hop node; and directing packets for the session from the current node to the next hop node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An apparatus for establishing a session across a plurality of nodes in a computer network, the plurality of nodes including a current node and a plurality of next nodes, each one of the plurality of next nodes being coupled with the current node via a link, the apparatus comprising:
-
a random number generator configured to generate a random number; a capacity calculator operatively coupled with the random number generator, the capacity calculator being configured to determine residual capacities of the links between the current node and the plurality of next nodes, wherein residual capacity corresponds to amount of network flow capacity remaining in a respective link, at a given point in time, not in use or otherwise reserved; the random number generator is configured to generate the random number from a range of numbers, the range of numbers being a function of a sum of the residual capacities of the links between the current node and the plurality of next nodes; a link selector operatively coupled with the random number generator, the link selector being configured to select one of the plurality of next nodes as a function of the random number and the residual capacities of the links between the current node and the plurality of next nodes, the one selected next node being a next hop node; and a router configured to direct packets for the session from the current node to the next hop node. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A computer program product for use on a computer system for establishing a session across a plurality of nodes in a computer network, the plurality of nodes including a current node and a plurality of next nodes, each one of the plurality of next nodes being coupled with the current node via a link, the computer program product comprising a tangible, non-transient computer usable medium having computer readable program code thereon, the computer readable program code comprising:
-
program code for determining residual capacities of the links between the current node and the plurality of next nodes, wherein residual capacity corresponds to amount of network flow capacity remaining in a respective link, at a given point in time, not in use or otherwise reserved; program code for determining a sum of the residual capacities of the links between the current node and the plurality of next nodes; and program code for generating a random number from a range of numbers, the range of numbers being a function of the sum of the residual capacities of the links between the current node and the plurality of next nodes; program code for selecting one of the plurality of next nodes as a function of the random number and the residual capacities of the links between the current node and the plurality of next nodes, the selected next node being a next hop node; and program code for directing packets for the session from the current node to the next hop node. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
Specification