IP Library Granted Patent US 10,924,533
Granted Patent B2
US 10,924,533 · App. 15/555,115 · Granted Feb 16, 2021

System, apparatus and method for load balancing

Inventors: Johan Svedberg (Stockholm, SE); Robert Skog (Stockholm, SE)
Assignee: Telefonaktiebolaget LM Ericsson (Publ)
H04L67/1004G06F9/505H04L45/24H04L67/1002H04L67/1031H04L69/14H04L69/16G06F9/5077
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,924,533
App. No.
15/555,115
Granted
Feb 16, 2021
Kind
B2
Abstract

A method of performing multi-path load balancing in a communications network comprising a plurality of servers comprises, in a server: receiving a first connection request from a first load balancer, sent from a first interface of a client device (step 301 ); and storing a code representing the server in a database, the code associated with a unique identity of the server (step 302 ). The method comprises, in a second load balancer: receiving a second connection request, from a second interface of the client device, wherein the second connection request is associated with the first connection request sent from the first interface of the client device to the server, and wherein the second connection request includes a code associated with the server (step 401 ); mapping the code to an entry in the database (step 402 ); determining the unique server identity associated with the code (step 403 ); and forwarding the second connection request to the server associated with the unique server identity ( 404 ).

Claims (62)

1. A method of performing multi-path load balancing in a communications network comprising a plurality of servers, the method comprising:

in a server of the plurality of servers:

receiving a first connection request, from a first load balancer, sent from a first interface of a client device;

sending a first acknowledgement of the first connection request to the first interface of the client device bypassing the first load balancer; and

storing a code representing the server in a database, the code associated with a unique identity of the server;

in a second load balancer:

receiving a second connection request from a second interface of the client device, wherein the second connection request is associated with the first connection request sent from the first interface of the client device to the server, wherein the second connection request includes a token associated with the server, wherein the token associated with the server is received from the second interface of the client device, and wherein the second load balancer is different from the first load balancer;

mapping the token to an entry in the database;

determining the unique server identity associated with the token; and

forwarding the second connection request to the server associated with the unique server identity.

2. The method of claim 1 , wherein the first and second connection requests form part of a transmission control protocol (TCP).

3. The method of claim 1 , further comprising, in the server, sending a second acknowledgement of the second connection request to the client device, wherein the first and second acknowledgements include the unique identity of the server.

4. The method of claim 3 , further comprising, in the first and second load balancer:

receiving a first and second response to the first and second acknowledgments, respectively;

determining the unique server identity from a transmission control protocol (TCP) header; and

forwarding the first and second response to the server associated with the unique server identity.

5. The method of claim 4 , wherein the server stores the code representing the server in the database after receipt of the first response.

6. A method of performing multi-path load balancing, associated with a server, the method comprising:

receiving a first connection request, from a first load balancer, sent from a first interface of a client device;

sending a first acknowledgement of the first connection request to the first interface of the client device bypassing the first load balancer;

storing a code representing the server in a database, the code associated with a unique identity of the server; and

receiving a second connection request, from a second load balancer, sent from a second interface of the client device, wherein the second connection request includes a token associated with the server, and wherein the second load balancer is different from the first load balancer.

7. The method of claim 6 , wherein the first and second connection requests form part of a transmission control protocol (TCP).

8. The method of claim 6 , wherein the server stores the code representing the server in the database after receipt of a first response, the first response relating to the first acknowledgement.

9. The method of claim 6 , wherein the code comprises the token associated with a security key relating to the server.

10. A method of performing multi-path load balancing in a load balancing cluster comprising a first and second load balancer, the method comprising:

in the first load balancer:

receiving a first connection request from a first interface of a client device;

forwarding the first connection request to a first server of a plurality of servers; and

receiving a first response to a first acknowledgment of the first connection request from the first interface of the client device, wherein the first response contains keys identifying the first server and the client device;

in the second load balancer:

receiving a second connection request from a second interface of the client device, wherein the second connection request includes a token associated with the first server, and wherein the second load balancer is different from the first load balancer;

mapping the token to an entry in a database;

determining a unique server identity associated with the token; and

forwarding the second connection request to the first server associated with the unique server identity.

11. The method of claim 10 , wherein the first and second connection requests form part of a transmission control protocol (TCP).

12. The method of claim 11 , further comprising, in the first load balancer:

determining the unique server identity from the first response; and

forwarding the first response to the first server associated with the unique server identity, wherein the first acknowledgement is sent from the first server to the client device.

13. The method of claim 10 , further comprising, in the second load balancer:

receiving a second response to a second acknowledgment of the second connection request, sent by the first server to the client device;

determining the unique server identity from the second response; and

forwarding the second response to the first server associated with the unique server identity.

14. A server for use with multi-path load balancing, the server comprising:

a communications circuit configured to:

receive a first connection request, from a first load balancer, sent from a first interface of a client device; and

send a first acknowledgement of the first connection request to the first interface of the client device bypassing the first load balancer; and

a processing circuit configured to:

store a code representing the server in a database, the code associated with a unique identity of the server; and

receive a second connection request, from a second load balancer, sent from a second interface of the client device, wherein the second connection request includes a token associated with the server, and wherein the second load balancer is different from the first load balancer.

15. A load balancing cluster comprising a first and second load balancer for use with multi-path load balancing, the load balancing cluster comprising:

the first load balancer, wherein the first load balancer comprises:

a first communications circuit configured to:

receive a first connection request from a first interface of a client device;

forward the first connection request to a first server of a plurality of servers; and

receive a first response to a first acknowledgment of the first connection request from the first interface of the client device, wherein the first response contains keys identifying the first server and the client device; and

the second load balancer, wherein the second load balancer comprises:

a second communications circuit configured to receive a second connection request from a second interface of the client device, wherein the second connection request includes a token associated with the first server, and wherein the second load balancer is different from the first load balancer; and

a second processing circuit configured to:

map the token to an entry in a database; and

determine a unique server identity associated with the token,

wherein the second communications circuit is further configured to forward the second connection request to the first server associated with the unique server identity.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2017
From: SKOG, ROBERT; SVEDBERG, JOHAN
To: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
Reel/Frame 043469/0280 →
CHANGE OF NAME Recorded Sep 1, 2017
From: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
To: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Reel/Frame 043748/0958 →
Continuity (1)
Related Publication 20180041570A1 · Feb 8, 2018