IP Library Granted Patent US 9,749,896
Granted Patent B2
US 9,749,896 · App. 15/141,977 · Granted Aug 29, 2017

Load balancing traffic in a MPLS network

Inventors: Lionel Denecheau (La Colle sur Loup, FR); Ludovic Hazard (Tourrettes sur Loup, FR); Stephen Sauer (La Defense, FR)
Assignee: International Business Machines Corporation
H04W28/0268H04L41/5003H04L45/00H04L45/125H04L45/50H04L47/125H04M1/2535H04W84/02
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,749,896
App. No.
15/141,977
Granted
Aug 29, 2017
Kind
B2
Abstract

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

Claims (206)

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

for each label switch path P i (i=1, 2, . . . , I) of I label switch paths, identifying, by a processor of a computer system, J logical paths LP i,j (j=1, 2, . . . , J), wherein I is a total number of paths in the network such that I is a positive integer of at least 2, wherein each label switch path P i begins at a first provider edge and ends at a second provider edge, wherein J=2 N such that N is a positive integer of at least 2, wherein the J logical paths for the I label switch paths consist of K logical paths such that K=I*J, wherein each logical path of the K logical paths begins at the first provider edge and ends at the second provider edge, wherein each logical path of the K logical paths has a usage value U i,j which is a fraction denoting a highest percentage of total network traffic that logical path LP i,j can manage, and wherein a selected logical path of the K logical paths 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 total network traffic than is dictated by said highest usage value comprised by said selected logical path; and

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.

2. The method of claim 1 , wherein the first provider edge and the second provider edge each reside in the network.

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

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.

4. The method of claim 3 , 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

ij

;

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

.

5. The method of claim 4 ,

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 .

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 J logical paths 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:

for each label switch path P i (i=1, 2, . . . , I) of I label switch paths, said processor identifying, J logical paths LP i,j (j=1, 2, J), wherein I is a total number of paths in the network such that I is a positive integer of at least 2, wherein each label switch path P i begins at a first provider edge and ends at a second provider edge, wherein J=2 N such that N is a positive integer of at least 2, wherein the J logical paths for the I label switch paths consist of K logical paths such that K=I*J, wherein each logical path of the K logical paths begins at the first provider edge and ends at the second provider edge, wherein each logical path of the K logical paths has a usage value U i,j which is a fraction denoting a highest percentage of total network traffic that logical path LP i,j can manage, and wherein a selected logical path of the K logical paths 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 total network traffic than is dictated by said highest usage value comprised by said selected logical path; and

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.

9. The computer program product of claim 8 , wherein the first provider edge and the second provider edge each reside in the network.

10. The computer program product of claim 8 , said method further comprising:

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.

11. The computer program product of claim 10 , 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

ij

;

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

.

12. The computer program product of claim 11 ,

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 .

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:

for each label switch path P i (i=1, 2, . . . , I) of I label switch paths, said processor identifying, J logical paths LP i,j (j=1, 2, . . . , J), wherein I is a total number of paths in the network such that I is a positive integer of at least 2, wherein each label switch path P i begins at a first provider edge and ends at a second provider edge, wherein J=2 N such that N is a positive integer of at least 2, wherein the J logical paths for the I label switch paths consist of K logical paths such that K=I*J, wherein each logical path of the K logical paths begins at the first provider edge and ends at the second provider edge, wherein each logical path of the K logical paths has a usage value U i,j which is a fraction denoting a highest percentage of total network traffic that logical path LP i,j can manage, and wherein a selected logical path of the K logical paths 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 total network traffic than is dictated by said highest usage value comprised by said selected logical path; and

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.

14. The computer system of claim 13 , said method further comprising:

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.

15. The computer system of claim 13 , said method further comprising:

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.

16. The computer system of claim 15 , 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

ij

;

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

.

17. The computer system of claim 16 ,

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 IN are proportionality constants for 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 Apr 29, 2016
From: DENECHEAU, LIONEL; HAZARD, LUDOVIC; SAUER, STEPHEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038417/0107 →
Priority Claims (1)
EP 09305835 · Sep 14, 2009 · regional
Continuity (4)
Continuation 14838411 · Aug 28, 2015
Continuation 14089983 · Nov 26, 2013
Continuation 12872021 · Aug 31, 2010
Related Publication 20160249246A1 · Aug 25, 2016