IP Library Granted Patent US 8,730,817
Granted Patent B2
US 8,730,817 · App. 12/962,359 · Granted May 20, 2014

Methods and apparatus to determine network link weights

Inventors: Mauricio Guilherme de Carvalho Resende (Holmdel, NJ); Luciana Salete Buriol (Porto Alegre, BR); Roger S. Reis (Porto Alegre, BR); Marcus Ritt (Porto Alegre, BR)
Assignees: AT&T Intellectual Property I, L.P.; Universidade Federal do Rio Grande do sul—UFRGS
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 8,730,817
App. No.
12/962,359
Granted
May 20, 2014
Kind
B2
Abstract

Methods and apparatus to determine network link weights are disclosed. An example method disclosed herein to determine link weights for routing in a communication network comprises iteratively updating a plurality of vectors using a genetic algorithm, the vectors including a plurality of individual values decodable into possible link weights, and decoding a first one of the vectors updated using the genetic algorithm into a first plurality of link weights providing a possible routing of a load through the communication network, the load to be split among a plurality of paths having respective path lengths determined from the plurality of link weights, at least two of the paths having different path lengths.

Claims (64)

1. A method to determine link weights in a communication network, the method comprising:

iteratively updating a plurality of vectors using a genetic algorithm, the vectors including a plurality of individual values decodable into possible link weights; and

decoding a first one of the vectors updated using the genetic algorithm into a first plurality of link weights providing communication network, the load to be split among a plurality of paths having respective path lengths determined from the first plurality of link weights, at least two of the paths having different path lengths, wherein iteratively updating the plurality of vectors further comprises:

partitioning the plurality of vectors into a first group of vectors and a second group of vectors based on routing costs associated with the vectors; and

randomly combining a first subset of the first group of vectors and a second subset of the second group of vectors based on a crossover probability.

2. The method as defined in claim 1 wherein iteratively updating the plurality of vectors further comprises:

randomly generating a third group of vectors for inclusion in the plurality of vectors; and

randomly setting a first individual value of a second vector formed by combining one of the first group of vectors and one of the second group of vectors based on a mutation probability.

3. The method as defined in claim 1 further comprising including the first group of vectors in the plurality of vectors updated using the genetic algorithm.

4. The method as defined in claim 1 wherein, after an iteration of the genetic algorithm, the method further comprises:

decoding the plurality of vectors updated using the genetic algorithm into respective pluralities of link weights supporting dynamic exponentially-weighted flow splitting;

determining respective dynamic exponentially-weighted flow splitting routing costs for the respective pluralities of link weights; and

when a processing convergence is detected, selecting a first plurality of link weights from the pluralities of link weights, the first plurality of link weights associated with a minimum dynamic exponentially-weighted flow splitting routing cost to perform dynamic exponentially-weighted flow splitting routing in the communication network.

5. The method as defined in claim 4 wherein, after decoding the plurality of vectors updated using the genetic algorithm into the respective pluralities of link weights, the method further comprises:

incrementing a first link weight of a first plurality of link weights from the pluralities of link weights, the first plurality of link weights decoded from the first one of the vectors updated using the genetic algorithm;

determining whether incrementing the first link weight improved a first dynamic exponentially-weighted flow splitting routing cost associated with the first plurality of link weights;

if the first dynamic exponentially-weighted flow splitting routing cost is improved, again incrementing the first link weight and determining whether the first dynamic exponentially-weighted flow splitting routing cost is improved; and

if the first dynamic exponentially-weighted flow splitting routing cost is not improved, iteratively incrementing a next link weight of the first plurality of link weights and determining whether an associated dynamic exponentially-weighted flow splitting routing cost is improved until no improvement is observed after examining a number of link weights of the first plurality of link weights.

6. The method as defined in claim 1 wherein the at least two paths comprise one or more links, and the load is not to be split onto a link having a gap distance exceeding a gap threshold, the gap distance determined from the first plurality of link weights.

7. The method as defined in claim 1 wherein decoding the first one of the vectors into the first plurality of link weights comprises:

scaling individual values included in the first one of the vectors by a scale factor; and

rounding the scaled individual values to respective nearest integer values to determine respective link weights.

8. A tangible machine readable medium comprising machine readable instructions which, when executed, cause a machine to perform operations comprising:

iteratively updating a plurality of vectors using a genetic algorithm, the vectors respectively including a plurality of individual values decodable into possible link weights for performing routing in a communication network;

decoding a first vector updated using the genetic algorithm into a first plurality of link weights providing a possible routing of a load through the communication network, the load to be split among a plurality of paths having respective path lengths determined from the first plurality of link weights, at least some of the paths having different path lengths;

partitioning the plurality of vectors into a first group of vectors and a second group of vectors based on routing costs associated with respective ones of the vectors; and

randomly combining a first subset of the first group of vectors and a second subset of the second group of vectors based on a crossover probability to determine an updated plurality of vectors during an iteration of the genetic algorithm.

9. A tangible machine readable medium as defined in claim 8 wherein the operations further comprise:

including the first group of vectors in the updated plurality of vectors;

randomly generating a third group of vectors for inclusion in the updated plurality of vectors; and

randomly setting a first individual value of an updated vector formed by combining one of the first group of vectors and one of the second group of vectors based on a mutation probability to determine the updated plurality of vectors during the iteration of the genetic algorithm.

10. A tangible machine readable medium as defined in claim 8 wherein the operations further comprise:

decoding respective ones of the updated plurality of vectors into respective pluralities of link weights supporting dynamic exponentially-weighted flow splitting after iterations of the genetic algorithm;

determining a dynamic exponentially-weighted flow splitting routing cost associated with respective ones of the pluralities of link weights; and

when a processing convergence is detected, selecting a first plurality of link weights associated with a minimum dynamic exponentially-weighted flow splitting routing cost for performing dynamic exponentially-weighted flow splitting routing in the communication network.

11. A tangible machine readable medium as defined in claim 8 wherein the operations further comprise:

incrementing a link weight of a first plurality of link weights decoded from the first vector;

determining whether incrementing the link weight of the first plurality of link weights improved a first dynamic exponentially-weighted flow splitting routing cost associated with the first plurality of link weights;

if the first dynamic exponentially-weighted flow splitting routing cost is improved, again incrementing the link weight of the first plurality of link weights and determining whether the first dynamic exponentially-weighted flow splitting routing cost is improved; and

if the first dynamic exponentially-weighted flow splitting routing cost is not improved, incrementing other link weights of the first plurality of link weights and determining whether associated dynamic exponentially-weighted flow splitting routing costs are improved until no improvement is observed after examining a number of link weights of the first plurality of link weights.

12. A tangible machine readable medium as defined in claim 8 wherein the operations further comprise:

scaling individual values included in the first vector by a scale factor; and

rounding the scaled individual values to nearest integer values to determine respective link weights.

13. An apparatus to determine link weights for routing in a communication network, the apparatus comprising:

a processor to iteratively update a plurality of vectors using a genetic method, the vectors including respective pluralities of individual values decodable into possible link weights; and

a weight decoder to:

decode the plurality of vectors updated by the processor into respective pluralities of link weights providing respective pluralities of possible solutions to route loads through the communication network, the link weights supporting dynamic exponentially-weighted flow splitting; and

determine dynamic exponentially-weighted flow splitting routing costs associated respectively with the pluralities of link weights, the processor to partition the vectors for subsequent updating based on the dynamic exponentially-weighted flow splitting routing costs.

14. The apparatus as defined in claim 13 wherein the processor is to update the vectors by:

partitioning the vectors into a first group of vectors and a second group of vectors based on the dynamic exponentially-weighted flow splitting routing costs; and

randomly combining a first subset of the first group of vectors and a second subset of the second group of vectors based on a crossover probability.

15. The apparatus as defined in claim 14 wherein the processor is to update the vectors by:

including the first group of vectors in the plurality of vectors;

randomly generating a third group of vectors to include in the plurality of vectors; and

randomly setting a first individual value of an updated vector formed by combining one of the first group of vectors and one of the second group of vectors based on a mutation probability.

16. The apparatus as defined in claim 13 wherein, when a convergence is detected, the weight decoder is to select a first plurality of link weights associated with a minimum dynamic exponentially-weighted flow splitting routing cost to perform dynamic exponentially-weighted flow splitting routing in the communication network.

17. The apparatus as defined in claim 13 further comprising a weight updater to:

increment a first link weight of a first plurality of link weights from the pluralities of link weights, the first plurality of link weights decoded from a first updated vector after decoding the updated plurality of vectors into respective pluralities of link weights;

determine whether incrementing the first link weight improved a first dynamic exponentially-weighted flow splitting routing cost associated with the first plurality of link weights;

if the first dynamic exponentially-weighted flow splitting routing cost is improved, again increment the first link weight and determine whether the first dynamic exponentially-weighted flow splitting routing cost is improved; and

if the first dynamic exponentially-weighted flow splitting routing cost is not improved, iteratively increment a next link weight of the first plurality of link weights and determine whether an associated dynamic exponentially-weighted flow splitting routing cost is improved until no improvement is observed after examining a number of link weights of the first plurality of link weights.

18. The apparatus as defined in claim 13 wherein the weight decoder is to:

scale individual values included in the vectors by a scale factor; and

round the scaled individual values to respective nearest integer values to determine respective link weights.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2014
From: BURIOL, LUCIANE SALETE; RITT, MARCUS
To: UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL - UFRGS
Reel/Frame 032596/0515 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2011
From: RESENDE, MAURICIO GUILHERME DE CARVALHO
To: AT&T INTELLECTUAL PROPERTY I, L.P., A NEVADA PARTNERSHIP
Reel/Frame 025626/0897 →
Continuity (1)
Related Publication 20120140636A1 · Jun 7, 2012