Abstract
One embodiment of the present invention provides a system for facilitating multipath load balancing at a local node in a network. During operation, the system measures a value for a metric on a local link which couples the local node to a neighboring node. In addition, the system receives from the neighboring node a neighbor pathmetric value which indicates a value for the metric associated with all paths from the neighboring node to a destination node. The system then computes a "local pathmetric value" for the metric associated with all paths from the local node to the destination node via the local link and the neighboring node. The system further computes a "packetforwarding probability" corresponding to the destination node for each local link coupled to the local node, wherein the distribution of the packetforwarding probability bears a nonlinear relation to the distribution of the local pathmetric values for all the local links. The system subsequently forwards a packet destined for the destination node to one of the local links based on the computed packetforwarding probability for that local link.
Claims

A method for facilitating multipath load balancing at a local node in a network, the method comprising:
measuring a value for a metric on a local link which couples the local node to a neighboring node;
receiving from the neighboring node a neighbor pathmetric value which indicates a value for the metric associated with paths from the neighboring node to a destination node;
computing a local pathmetric value for the metric associated with paths from the local node to the destination node via the local link and the neighboring node;
computing a packetforwarding probability corresponding to the destination node for each local link coupled to the local node,
pwij←exp(pmij/Tj)∑k=1Nexp(pmkj/Tj);wherein the distribution of the packetforwarding probability bears a nonlinear relation to the distribution of the local pathmetric values for the local links,
wherein computing the packetforwarding probability involves computing a metricspecific path weight for paths that traverse a local link and lead to the destination node,
wherein the metricspecific path weight indicates the likelihood of the corresponding local link being chosen for forwarding packets to the destination node,
wherein computing the metricspecific path weight involves computing a distribution of the local pathmetric values for the metric using the following formula:
wherein
i denotes the index of a local link;
j denotes the index of a metric, if more than one metric is associated with a local link;
pw_{ij }denotes the metricspecific path weight for metric j and for paths traversing local link i;
pm_{ij }denotes the local pathmetric value for metric j and for paths traversing local link i;
T_{j }denotes a predetermined parameter associated with metric j; and
N denotes the total number of local links; and
forwarding a packet destined for the destination node to one of the local links based on the computed packetforwarding probability for that local link.
 The method of claim 1 wherein if a local link has more than one metric, the predetermined parameter T_{j }associated with metric j has a value of 1/N, wherein N denotes the total number of local links.

The method of claim 1, wherein if a local link has more than one metric, computing the packetforwarding probability involves computing a link weight for a local link as follows:
wi←∑j=1MQj·pwij;
wherein
i denotes the index of a local link;
j denotes the index of a metric;
w_{i }denotes the link weight for local link i;
pw_{ij }denotes the metricspecific path weight for metric j and for a path traversing local link i;
Q_{j }denotes the weight assigned to metric j for calculating the link weight; and
M denotes the total number of metrics.

The method of claim 3, further comprising computing an average metric value associated with the destination node for a given metric and for the paths which lead to the destination node and which traverse the local links, as follows:
amj←∑i=1Nwi·pmij;
wherein
i denotes the index of a local link;
j denotes the index of a metric;
am_{j }denotes the average metric value for metric j;
w_{i }denotes the link weight for local link i;
pm_{ij }denotes the local pathmetric value for metric j and for paths traversing local link i and leading to the destination node; and
N denotes the total number of local links.
 The method of claim 4, further comprising communicating a rounded average metric value to a neighboring node.
 The method of claim 5, wherein the communication of the rounded average metric value to the neighboring node occurs when the current rounded average metric value differs from a corresponding previously communicated value.
 The method of claim 3, wherein forwarding the packet involves forwarding the packet to a local link i with a probability of w_{i}.

A computerreadable storage medium storing instructions that when executed by a computer cause the computer to perform a method for facilitating multipath load balancing at a local node in a network, the method comprising:
measuring a value for a metric on a local link which couples the local node to a neighboring node;
receiving from the neighboring node a neighbor pathmetric value which indicates a value for the metric associated with paths from the neighboring node to a destination node;
computing a local pathmetric value for the metric associated with paths from the local node to the destination node via the local link and the neighboring node;
computing a packetforwarding probability corresponding to the destination node for each local link coupled to the local node,
pwij←exp(pmij/Tj)∑k=1Nexp(pmkj/Tj);wherein the distribution of the packetforwarding probability bears a nonlinear relation to the distribution of the local pathmetric values for the local links,
wherein computing the packetforwarding probability involves computing a metricspecific path weight for paths that traverse a local link and lead to the destination node; and
wherein the metricspecific path weight indicates the likelihood of the corresponding local link being chosen for forwarding packets to the destination node,
wherein computing the metricspecific path weight involves computing a distribution of the local pathmetric values for the metric using the following formula:
wherein
i denotes the index of a local link;
j denotes the index of a metric, if more than one metric is associated with a local link;
pw_{ij }denotes the metricspecific path weight for metric j and for paths traversing local link i;
pm_{ij }denotes the local pathmetric value for metric j and for paths traversing local link i;
T_{j }denotes a predetermined parameter associated with metric j; and
N denotes the total number of local links; and
forwarding a packet destined for the destination node to one of the local links based on the computed packetforwarding probability for that local link.
 The computerreadable storage medium of claim 8, wherein if a local link has more than one metric, the predetermined parameter T_{j }associated with metric j has a value of 1/N, wherein N denotes the total number of local links.

The computerreadable storage medium of claim 8, wherein if a local link has more than one metric, computing the packetforwarding probability involves computing a link weight for a local link as follows:
wi←∑j=1MQj·pwij;
wherein
i denotes the index of a local link;
j denotes the index of a metric;
w_{i }denotes the link weight for local link i;
pw_{ij }denotes the metricspecific path weight for metric j and for a path traversing local link i;
Q_{j }denotes the weight assigned to metric j for calculating the link weight; and
M denotes the total number of metrics.

The computerreadable storage medium of claim 10, further comprising computing an average metric value associated with the destination node for a given metric and for the paths which lead to the destination node and which traverse the local links, as follows:
amj←∑i=1Nwi·pmij;
wherein
i denotes the index of a local link;
j denotes the index of a metric;
am_{j }denotes the average metric value for metric j;
w_{i }denotes the link weight for local link i;
pm_{ij }denotes the local pathmetric value for metric j and for paths traversing local link i and leading to the destination node; and
N denotes the total number of local links.
 The computerreadable storage medium of claim 11, further comprising communicating a rounded average metric value to a neighboring node.
 The computerreadable storage medium of claim 12, wherein the communication of the rounded average metric value to the neighboring node occurs when the current rounded average metric value differs from a corresponding previously communicated value.
 The computerreadable storage medium of claim 10, wherein forwarding the packet involves forwarding the packet to a local link i with a probability of w_{i}.

An apparatus for facilitating multipath load balancing at a local node in a network, the apparatus comprising:
a metricmeasurement mechanism configured to measure a value for a metric on a local link which couples the local node to a neighboring node;
a receiving mechanism configured to receive from the neighboring node a neighbor pathmetric value which indicates a value for the metric associated with paths from the neighboring node to a destination node;
a computing mechanism configured to:
pwij←exp(pmij/Tj)∑k=1Nexp(pmkj/Tj);computing a local pathmetric value for the metric associated with paths from the local node to the destination node via the local link and the neighboring node; and
to compute a packetforwarding probability corresponding to the destination node for each local link coupled to the local node,
wherein the distribution of the packetforwarding probability bears a nonlinear relation to the distribution of the local pathmetric values for the local links
wherein computing the packetforwarding probability involves computing a metricspecific path weight for paths that traverse a local link and lead to the destination node,
wherein the metricspecific path weight indicates the likelihood of the corresponding local link being chosen for forwarding packets to the destination node,
wherein computing the metricspecific path weight involves computing a distribution of the local pathmetric values for the metric using the following formula:
wherein
i denotes the index of a local link;
j denotes the index of a metric, if more than one metric is associated with a local link;
pw_{ij }denotes the metricspecific path weight for metric j and for paths traversing local link i;
pm_{ij }denotes the local pathmetric value for metric j and for paths traversing local link t
T_{j }denotes a predetermined parameter associated with metric j; and
N denotes the total number of local links; and
a packetforwarding mechanism configured to forward a packet destined for the destination node to one of the local links based on the computed packetforwarding probability for that local link.
Owners (US)

Palo Alto Research Center Incorporated
(Dec 19 2005)
Explore more patents:
Applicants

Palo Alto Res Ct Inc
Explore more patents:
Inventors

Mosko Marc E
Explore more patents:
CPC Classifications

H04L45/24
Explore more patents:

H04L43/00
Explore more patents:

H04L43/08
Explore more patents:

H04L45/124
Explore more patents:

H04L47/10
Explore more patents:

H04L47/125
Explore more patents:
IPC Classifications

G01R31/08
Explore more patents:
US Classifications

370/238
Explore more patents:
Document Preview
 Publication: Feb 17, 2009

Application:
Dec 20, 2005
US 31466305 A

Priority:
Dec 20, 2005
US 31466305 A