IP Library Granted Patent US 9,185,041
Granted Patent B2
US 9,185,041 · App. 14/089,983 · Granted Nov 10, 2015

Load balancing traffic in a MPLS network

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 9,185,041
App. No.
14/089,983
Granted
Nov 10, 2015
Kind
B2
Abstract

A method and system for managing traffic in a network. Label switch paths are identified. Each label switch path begins at a first provider edge and ends at a second provider edge. For each label switch path, logical paths are identified. Most recent data received from the first provider edge is transmitted to the second provider edge via a selected logical path.

Claims (224)

1. A method for managing traffic in a network, said method comprising:

identifying, by a processor of a computer system, I label switch paths P i (i=1, 2, . . . , I), each label switch path P i beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;

for each label switch path P i (i=1, 2, . . . , I), said processor identifying J logical paths LP i,j (j=1, 2, . . . , J), wherein J=2 N such that N is a positive integer of at least 2, wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J, and wherein each logical path of the K logical paths begins at the first provider edge and ends at the second provider edge;

said processor transmitting most recent data received from the first provider edge to the second provider edge via a selected logical path of the K logical paths;

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor identifying jitter J i,j and packet delay D i,j and packet loss L i,j ; and

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor calculating a path usage U i,j as a first function of said J i,j and said D i,j and said L i,j , wherein U i,j is a fraction denoting a highest percentage of total network traffic that logical path LP i,j can manage.

2. The method of claim 1 , wherein the selected logical path comprises a highest usage value for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.

3. The method of claim 1 , wherein said calculating the path usage U i,j for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J) comprises:

calculating a path rate Ri,j as a second function of said J i,j and said D i,j and said L i,j ;

calculating a weight per path (W i,j ) according to

W

i

,

j

=

R

i

,

j

/

i

=

1

,

j

=

1

I

,

J

R

i

,

j

;

calculating a credit per path (C i,j ) according to C i,j =1/W i,j ;

calculating (C i,j ) according to

U

i

,

j

=

C

i

,

j

/

i

=

1

,

j

=

1

I

,

J

R

i

,

j

.

4. The method of claim 3 ,

wherein R i,j is calculated according to R i,j =D i,j *DN+J i,j *JN+L i,j *LN; and

wherein DN, JN, and JN are proportionality constants for calculating R i,j .

5. The method of claim 4 , wherein the method further comprises:

said first provider edge receiving, via the processor, DN, JN, and JN as user input for said calculating R i,j .

6. The method of claim 1 , wherein said received most recent data that is transmitted via the selected logical path comprises a plurality of packets, wherein each packet comprises a header that includes an EXP field consisting of N bits, and wherein the value of the N bits in the EXP field is the value of j pertaining to the selected logical path.

7. The method of claim 1 , said method further comprising:

providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable program code in the computer system, said program code being executed by the processor to implement said identifying I label switch paths, said identifying J logical path, and said transmitting most recent data.

8. A computer program product, comprising a computer readable memory device having computer readable computer readable program code stored therein, said program code containing instructions that when executed by a processor of a computer system implement a method for managing traffic in a network, said method comprising:

said processor identifying I label switch paths P i (i=1, 2, . . . , I), each label switch path P i beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;

for each label switch path P i (i=1, 2, . . . , I), said processor identifying J logical paths LP i,j (j=1, 2, . . . , J), wherein J=2 N such that N is a positive integer of at least 2, wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J, and wherein each logical path of the K logical paths begins at the first provider edge and ends at the second provider edge;

said processor transmitting most recent data received from the first provider edge to the second provider edge via a selected logical path of the K logical paths;

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor identifying jitter J i,j packet delay D i,j and packet loss L i,j ; and

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor calculating a path usage U i,j as a first function of said J i,j and said D i,j and said L i,j , wherein U i,j is a fraction denoting a highest percentage of total network traffic that logical path LP i,j can manage.

9. The computer program product of claim 8 , wherein the selected logical path comprises a highest usage value for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.

10. The computer program product of claim 8 , wherein said calculating the path usage U i,j for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J) comprises:

calculating a path rate Ri,j as a second function of said J i,j and said D i,j and said L i,j ;

calculating a weight per path (W i,j ) according to

W

i

,

j

=

R

i

,

j

/

i

=

1

,

j

=

1

I

,

J

R

i

,

j

;

calculating a credit per path (C i,j ) according to C i,j =1/W i,j ;

calculating (C i,j ) according to

U

i

,

j

=

C

i

,

j

/

i

=

1

,

j

=

1

I

,

J

R

i

,

j

.

11. The computer program product of claim 10 ,

wherein R i,j is calculated according to R i,j =D i,j *DN+J i,j *JN+L i,j *LN; and

wherein DN, JN, and JN are proportionality constants for calculating R i,j .

12. The computer program product of claim 11 , wherein the method further comprises:

said first provider edge receiving, via the processor, DN, JN, and JN as user input for said calculating R i,j .

13. A computer system comprising a processor coupled to a computer-readable memory unit, said memory unit comprising program code, said program code comprising instruction that when executed by said processor, implement a method for managing traffic in a network, said method comprising:

said processor identifying I label switch paths P i (i=1, 2, . . . , I), each label switch path P i beginning at a first provider edge and ending at a second provider edge, wherein the first provider edge and the second provider edge each reside in the network, and wherein I is a total number of paths in the network such that I is a positive integer of at least 2;

for each label switch path P i (i=1, 2, . . . , I), said processor identifying J logical paths LP i,j (j=1, 2, . . . , J), wherein J=2 N such that N is a positive integer of at least 2, wherein said J logical paths for the I label switch paths consist of K logical paths such that K=I*J, and wherein each logical path of the K logical paths begins at the first provider edge and ends at the second provider edge;

said processor transmitting most recent data received from the first provider edge to the second provider edge via a selected logical path of the K logical paths;

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor identifying jitter J packet delay D i,j and packet loss L i,j ;

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor calculating a path usage U i,j as a first function of said J i,j and said D i,j and said L i,j , wherein U i,j is a fraction denoting a highest percentage of total network traffic that logical path LP i,j can manage;

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor identifying jitter J packet delay D i,j and packet loss L i,j ; and

for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J), said processor calculating a path usage U i,j as a first function of said J i,j and said D i,j and said L i,j , wherein U i,j is a fraction denoting a highest percentage of total network traffic that logical path LP i,j can manage.

14. The computer system of claim 13 , wherein the selected logical path comprises a highest usage value for which said transmitting said received most recent data does not result in the selected logical path managing a higher percentage of network traffic than is dictated by said highest usage value comprised by said selected logical path.

15. The computer system of claim 13 , wherein said calculating the path usage U i,j for each logical path LP i,j (i=1, 2, . . . , I and j=1, 2, . . . , J) comprises:

calculating a path rate Ri,j as a second function of said J i,j and said D i,j and said L i,j ;

calculating a weight per path (W i,j ) according to

W

i

,

j

=

R

i

,

j

/

i

=

1

,

j

=

1

I

,

J

R

i

,

j

;

calculating a credit per path (C i,j ) according to C i,j =1/W i,j ;

calculating (C i,j ) according to

U

i

,

j

=

C

i

,

j

/

i

=

1

,

j

=

1

I

,

J

R

i

,

j

.

16. The computer system of claim 15 ,

wherein R i,j is calculated according to R i,j =D i,j *DN+J i,j *JN+L i,j *LN; and

wherein DN, JN, and JN are proportionality constants for calculating R i,j .

17. The computer system of claim 16 , wherein the method further comprises:

said first provider edge receiving, via the processor, DN, JN, and JN as user input for said calculating R i,j .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2013
From: DENECHEAU, LIONEL; HAZARD, LUDOVIC; SAUER, STEPHEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031676/0792 →