Patent ID: 7983163

Claim:
A method for implementing adaptive load sharing to balance network traffic, said method comprising: identifying paths P i for i=1, 2, . . . , I, each path P i beginning at a first provider edge and ending at a second provider edge, both said first provider edge and said second provider edge residing in a network, said index I being a total number of paths in said network and being a positive integer greater than 1; identifying jitter J i for i=1, 2, . . . , I where J i corresponds to jitter on path P i , said jitter Ji being a measurement of time; identifying packet delay D i for i=1, 2, . . . , I where D i is a packet delay on path P i , said packet delay Di being a measurement of time; identifying packet loss L i for i=1, 2, . . . , I where L i is a packet loss on path P i , said packet loss Li being an integer having a value greater than zero; a processor of a computer system calculating path usage U i for i=1, 2, . . . , I where U i is a maximum percentage of network traffic path P i may transmit, said U i being a function of said J i and said D i and said L i ; and sending data received by said first provider edge to said second provider edge via path P i where path P i has both a largest path usage U i value selected from U 1 , U 2 , . . . , U 1 and said path P i does not already transmit a percentage of network traffic equal to said U i , said calculating said path usage U i comprising: calculating a path rate R i according to a function R i =D i *DN+J i *JN+L i −LN for i=1, 2, . . . , I, said DN being a delay ratio and being an integer having a value greater than 1, said JN being a jitter ratio and being an integer having a value greater than 1, said LN being a packet loss ratio per ten million packets and being an integer having a value greater than 1, said DN and said JN and said LN being provided by an end user prior to said calculating said path usage U i , and calculating said path usage U i according to a function U i = c i ∑ i = 2 I ⁢ c i for i=1, 2, . . . , I, where C i is value calculated according to a function C i = 1 R i ∑ i = 2 I ⁢ R i .