IP Library Granted Patent US 10,045,247
Granted Patent B2
US 10,045,247 · App. 15/616,239 · Granted Aug 7, 2018

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 10,045,247
App. No.
15/616,239
Granted
Aug 7, 2018
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. For each logical path, jitter, packet delay and packet loss are identified. For each logical path, calculating a path usage is calculated as a first function of the jitter, the packet delay, and the packet loss, wherein the path usage is a fraction denoting a highest percentage of total network traffic that each logical path can manage.

Claims (208)

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, 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 first provider edge and the second provider edge each reside in the network.

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 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.

6. 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 (i=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, 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.

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

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

.

9. The computer program product of claim 8 ,

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 .

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

11. 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, 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.

12. The computer system of claim 11 , 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.

13. The computer system of claim 11 , 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

.

14. The computer system of claim 13 ,

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 .

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

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 Jun 7, 2017
From: DENECHEAU, LIONEL; HAZARD, LUDOVIC; SAUER, STEPHEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 042636/0573 →