IP Library Granted Patent US 11,316,765
Granted Patent B2
US 11,316,765 · App. 16/788,549 · Granted Apr 26, 2022

Load balancing across bandwidth carrying circuits

Inventors: Guo Dong Zhang (Beijing, CN); Chen Bo Li (Beijing, CN); Hsiulan Chen (Beijing, CN); Jing Jie Wang (Beijing, CN); Jiang Zhu (Beijing, CN)
Assignee: KYNDRYL, INC.
H04L43/0811H04L43/0876H04L43/12H04L47/125H04L47/805
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 11,316,765
App. No.
16/788,549
Granted
Apr 26, 2022
Kind
B2
Abstract

Aspects of the present invention disclose a method, computer program product, and system for dynamic load balancing of user traffic across Internet circuits based on monitored loads of the circuits. The method includes one or more processors receiving a request to utilize an Internet-accessible resource from a first user. The method further includes one or more processors identifying a communications service provider (CSP) that is associated with the user. The method further includes one or more processors determining a real-time load on a first Internet uplink circuit that is provisioned to the first CSP. In response to determining that the real-time load on the first Internet uplink circuit does meet a threshold condition, the method further includes one or more processors distributing traffic corresponding to executing the received request to utilize the Internet-accessible resource to a second Internet uplink circuit that is provisioned to a second CSP.

Claims (58)

1. A method comprising:

receiving, by one or more processors, a request to utilize an Internet-accessible resource from a first user;

identifying, by one or more processors, a first communications service provider (CSP) that is associated with the user;

determining, by one or more processors, a real-time load and quality of user traffic on a first Internet uplink circuit that is provisioned to the first CSP;

determining, by one or more processors, whether the real-time load on the first Internet uplink circuit meets a threshold condition;

in response to determining that the real-time load on the first Internet uplink circuit does meet the threshold condition and the quality of user traffic, distributing, by one or more processors, traffic corresponding to executing the received request to utilize the Internet-accessible resource to a second Internet uplink circuit that is provisioned to a second CSP;

storing connectivity threshold information for the first CSP uplink circuit and the second CSP uplink circuit in a database for load management, including bandwidth utilization threshold, user traffic speed connection speed, load on a circuit, and metrics associated with quality of service and user traffic; and

parsing a received request from a client device to identify information indicating the first CSP uplink circuit and the second CSP uplink circuit, the received request includes metadata associated with the request.

2. The method of claim 1 , wherein the user is registered with the first CSP.

3. The method of claim 1 , wherein the second CSP is different than the first CSP.

4. The method of claim 1 , wherein determining the real-time load on the first Internet uplink circuit, further comprises:

sending, by one or more processors, a bandwidth utilization probe to the first internet uplink circuit, and

wherein the real-time load is selected from the group consisting of percentage bandwidth utilization, connection speed, load on circuit, and the quality of service.

5. The method of claim 1 , wherein the request is for an application session with the Internet-accessible resource.

6. The method of claim 1 , wherein distributing traffic corresponding to executing the received request further comprises:

determining, by one or more processors, respective real-time loads on a plurality of Internet uplink circuits that are respectively provisioned to a plurality of CSPs by a hosting data center; and

identifying, by one or more processors, the second Internet uplink circuit as having a lowest real-time load.

7. The method of claim 1 , wherein the first Internet uplink circuit and the second Internet uplink circuit are bandwidth carrying circuits that are provisioned to respective CSPs.

8. A computer program product comprising:

one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising:

program instructions to receive a request to utilize an Internet-accessible resource from a first user;

program instructions to identify a first communications service provider (CSP) that is associated with the user;

program instructions to determine a real-time load and quality of user traffic on a first Internet uplink circuit that is provisioned to the first CSP;

program instructions to determine whether the real-time load on the first Internet uplink circuit meets a threshold condition and the quality of user traffic;

in response to determining that the real-time load on the first Internet uplink circuit does meet the threshold condition, program instructions to distribute traffic corresponding to executing the received request to utilize the Internet-accessible resource to a second Internet uplink circuit that is provisioned to a second CSP;

program instructions to collect the real-time load and quality of user traffic traversing through the first CSP uplink circuit and the second CSP uplink circuit and to send the collected information for storage in database and utilization by load management program, wherein the program instructions determine and store bandwidth utilization, connection speed, load on a circuit, and quality of service metrics; and

program instructions to parse a received request from a client device to identify information indicating the first CSP uplink circuit and the second CSP uplink circuit, the received request includes metadata associated with executing/resolving the request.

9. The computer program product of claim 8 , wherein the user is registered with the first CSP.

10. The computer program product of claim 8 , wherein the second CSP is different than the first CSP.

11. The computer program product of claim 8 , wherein the program instructions to determine a real-time load on a first Internet uplink circuit further comprises program instructions to:

send a bandwidth utilization probe to the first internet uplink circuit, and

wherein the real-time load is selected from the group consisting of percentage bandwidth utilization, connection speed, load on circuit, and the quality of service.

12. The computer program product of claim 8 , wherein the request is for an application session with the Internet-accessible resource.

13. The computer program product of claim 8 , wherein the program instructions to distribute traffic corresponding to executing the received request further comprises program instructions to:

determine respective real-time loads on a plurality of Internet uplink circuits that are respectively provisioned to a plurality of CSPs by a hosting data center; and

identify the second Internet uplink circuit as having a lowest real-time load.

14. A computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising:

program instructions to receive a request to utilize an Internet-accessible resource from a first user;

program instructions to identify a first communications service provider (CSP) that is associated with the user;

program instructions to determine a real-time load and quality of user traffic on a first Internet uplink circuit that is provisioned to the first CSP;

program instructions to determine whether the real-time load on the first Internet uplink circuit meets a threshold condition and quality of user traffic;

in response to determining that the real-time load on the first Internet uplink circuit does meet the threshold condition, program instructions to distribute traffic corresponding to executing the received request to utilize the Internet-accessible resource to a second Internet uplink circuit that is provisioned to a second CSP;

program instructions to collect the real-time load and quality of user traffic traversing through the first CSP uplink circuit and the second CSP uplink circuit and to send the collected information for storage in database and utilization by load management program, wherein the program instructions determine and store bandwidth utilization, connection speed, load on a circuit, and quality of service metrics;

program instructions to analyze a received request from a client device, the received request includes metadata associated with executing/resolving the request; and

program instructions to identify information which is stored in the database to determine that the client device is associated with the first CSP uplink circuit or the second CSP uplink circuit based on information stored in the database.

15. The computer system of claim 14 , wherein the user is registered with the first CSP.

16. The computer system of claim 14 , wherein the second CSP is different than the first CSP.

17. The computer system of claim 14 , wherein the program instructions to determine a real-time load on a first Internet uplink circuit further comprises program instructions to:

send a bandwidth utilization probe to the first internet uplink circuit, and

wherein the real-time load is selected from the group consisting of percentage bandwidth utilization, connection speed, load on circuit, and the quality of service.

18. The computer system of claim 14 , wherein the request is for an application session with the Internet-accessible resource.

19. The computer system of claim 14 , wherein the program instructions to distribute traffic corresponding to executing the received request further comprises program instructions to:

determine respective real-time loads on a plurality of Internet uplink circuits that are respectively provisioned to a plurality of CSPs by a hosting data center; and

identify the second Internet uplink circuit as having a lowest real-time load.

20. The computer system of claim 14 , wherein the first Internet uplink circuit and the second Internet uplink circuit are bandwidth carrying circuits that are provisioned to respective CSPs.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 058213/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2020
From: ZHANG, GUO DONG; LI, CHEN BO; CHEN, HSIULAN; WANG, JING JIE; ZHU, JIANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 051794/0928 →