IP Library › Granted Patent US 11,122,116
Granted Patent B2
US 11,122,116 · App. 16/587,915 · Granted Sep 14, 2021

Load balancing system, method, and apparatus

Inventors: Jun Zhou (Nanjing, CN); Xia Zhu (Nanjing, CN); Ji Li (Nanjing, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04L67/1014H04L9/0816H04L9/3213H04L67/1036H04L69/163H04L69/24
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,122,116
App. No.
16/587,915
Granted
Sep 14, 2021
Kind
B2
Abstract

A load balancing system, method, and apparatus, where the method includes: receiving, by a load balancing device, a first message from a client that is used to request to establish a first Transmission Control Protocol (TCP) connection; sending the first message to a server; receiving a second message from the client that is used to request to establish a second TCP connection; and determining, based on a token of the server included in the second message, that a destination device of the second message is the server, and sending the second message to the server, in order to establish the second TCP connection between the client and the server.

Claims (80)

1. A load balancing system, comprising:

a server;

a load balancing device; and

a client configured to:

send, to the server through the load balancing device, a first message to request establishing a first Transmission Control Protocol (TCP) connection;

receive, from the server in response to the first message, a response message comprising a key of the server and a first function, wherein the key of the server is calculated by the server based on a token of the server using the first function, wherein the token is calculated by the server based on a number of the server, and wherein the number of the server includes an identifier of the server;

calculate the token based on the key and the first function; and

send, to the load balancing device, a second message to request establishing a second TCP connection, wherein the response message comprises the key of the server and the first function, wherein the first function is to calculate the token of the server based on the key of the server, wherein the second message comprises the token, and wherein the second TCP connection and the first TCP connection belong to a same Multipath Transport Control Protocol (MPTCP) session,

wherein the server is configured to:

receive the first message from the client through the load balancing device; and

send the response message to the client, and

wherein the load balancing device is configured to:

receive the first message from the client;

send the first message to the server;

receive the second message from the client;

calculate the number of the server based on the token in the second message;

determine that a destination device of the second message is the server according to an identifier of the server included in the number of the server;

and

send the second message to the server in order to establish the second TCP connection.

2. The system according to claim 1 , wherein the server is further configured to calculate the token based on the number of the server using a second function.

3. The system according to claim 2 , wherein the server and the load balancing device are further configured to negotiate a first key, and wherein the server is further configured to calculate the token based on the number and the first key using the second function.

4. The system according to claim 2 , wherein the server and the load balancing device are further configured to negotiate the second function.

5. A load balancing method, comprising:

receiving, by a server, a first message from a client through a load balancing device, wherein the first message requests establishing a first Transmission Control Protocol (TCP) connection;

calculating, by the server, a token of the server based on a number of the server;

calculating, by the server, a key of the server based on the token using a first function, wherein the number of the server includes an identifier of the server; and

sending, by the server, a response message of the first message to the client, wherein the response message comprises the key of the server and the first function, wherein the first function is for the client to calculate the token of the server based on the key in order to establish, based on the token of the server, a second TCP connection to the server, and wherein the second TCP connection belongs to a same Multipath Transport Control Protocol (MPTCP) session as the first TCP connection.

6. The method according to claim 5 , further comprising:

negotiating, by the server with the load balancing device, a second function;

and

calculating the key based on the token using the first function.

7. The method according to claim 6 , further comprising:

negotiating, by the server with the load balancing device, a first key; and

calculating, by the server, the token based on the number and the first key using the second function.

8. A load balancing method, comprising:

sending, by a client to a server through a load balancing device, a first message to request establishing a first Transmission Control Protocol (TCP) connection;

receiving, by the client in response to the first message, a response message from the server, wherein the response message comprises a key of the server and a first function, wherein the first function is to calculate a token of the server based on the key, wherein the key of the server is calculated by the server based on a token of the server using the first function, wherein the token is calculated by the server based on a number of the server, and wherein the number of the server includes an identifier of the server;

calculating, by the client, the token based on the key; and

sending, to the load balancing device, a second message to request establishing a second TCP connection, wherein the second message comprises the token, wherein the token is for the load balancing device to determine that the server is a destination device of the second message in order to establish the second TCP connection between the client and the server, and wherein the second TCP connection and the first TCP connection belong to a same Multipath Transport Control Protocol (MPTCP) session.

9. A load balancing method, comprising:

receiving, by a load balancing device, a first message from a client to request establishing a first Transmission Control Protocol (TCP) connection;

sending, by the load balancing device, the first message to a server;

receiving, by the load balancing device, a second message from the client to request establishing a second TCP connection, wherein the second TCP connection and the first TCP connection belong to a same MPTCP session, and wherein the second message comprises a token of the server;

calculating the number of the server based on the token in the second message;

determining that a destination device of the second message is the server according to an identifier of the server included in the number of the server;

and

sending the second message to the server in order to establish the second TCP connection between the client and the server.

10. The method according to claim 9 , further comprising: negotiating, by the load balancing device with the server, a function, wherein calculating, by the load balancing device, the number comprises calculating, by the load balancing device, the number based on the token using the function.

11. A load balancing apparatus applied to a server, the load balancing apparatus comprising:

a receiver configured to receive a first message from a client, wherein the first message requests establishing a first Transmission Control Protocol (TCP) connection;

a processor coupled to the receiver and configured to:

calculate a token of the server based on a number of the server;

calculate a key of the server based on the token using a first function; and

generate a response message based on the first message, wherein the number of the server includes an identifier of the server; and

a transmitter coupled to the processor and configured to send the response message to the client, wherein the response message comprises the key of a server and the first function, and wherein the first function is for the client to calculate the token of the server based on the key of the server, in order to establish, based on the token of the server, a second TCP connection to the server, wherein the second TCP connection belongs to a same Multipath Transport Control Protocol (MPTCP) session as the first TCP connection.

12. The apparatus according to claim 11 , wherein the processor is further configured to:

negotiate a second function with the server; and

calculate the token based on the number of the server using the second function.

13. The apparatus according to claim 12 , wherein the processor is further configured to:

negotiate a first key with the server; and

calculate the token based on the number and the first key using the second function.

14. A load balancing apparatus applied to a client, the load balancing apparatus comprising:

a transmitter configured to send, to a server, a first message to request establishing a first Transmission Control Protocol (TCP) connection;

a receiver configured to receive a response message from the server in response to the first message, wherein the response message comprises a key of the server and a first function, wherein the first function is to calculate a token of the server based on the key, wherein the key of the server is calculated by the server based on a token of the server using the first function, wherein the token is calculated by the server based on a number of the server, and wherein the number of the server includes an identifier of the server; and

a processor coupled to the transmitter and the receiver and configured to:

calculate the token based on the key using the first function; and

send, to the load balancing device, a second message to request establishing a second TCP connection, wherein the second message comprises the token, wherein the token is for the load balancing device to determine that the server is a destination device of the second message in order to establish the second TCP connection between the client and the server, and wherein the second TCP connection and the first TCP connection belong to a same Multipath Transport Control Protocol (MPTCP) session.

15. A load balancing apparatus, comprising:

a receiver configured to receive from a client a first message that requests establishing a first Transmission Control Protocol (TCP) connection;

a transmitter configured to send the first message to a server, wherein the receiver is further configured to receive from the client a second message that requests establishing a second TCP connection, wherein the second TCP connection and the first TCP connection belong to a same Multipath Transport Control Protocol (MPTCP) session, and wherein the second message comprises a token of the server; and

a processor coupled to the receiver and the transmitter and configured to:

calculate a number of the server based on the token in the second message;

determine that a destination device of the second message is the server according to an identifier of the server included in the number of the server;

and

send the second message to the server in order to establish the second TCP connection between the client and the server.

16. The load balancing apparatus according to claim 15 , wherein the processor is further configured to further calculate the number based on the token using a function.

17. The load balancing apparatus according to claim 16 , wherein the function is negotiated between the load balancing apparatus and the server.

18. The system according to claim 1 , wherein the number of the server includes a second identifier of the MPTCP session.

19. The system according to claim 4 , wherein the load balancing device is further configured to calculate the number of the server based on the token using the second function.

20. The system according to claim 1 , wherein the first TCP connection is a primary MPTCP connection, and wherein the first message is a synchronization (SYN) message for establishing the primary MPTCP connection.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2020
From: ZHOU, JUN; ZHU, XIA; LI, JI
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 052499/0756 →
Priority Claims (1)
CN 201710210891.7 · Mar 31, 2017 · national
Continuity (2)
Continuation PCTCN2017120212 · Dec 29, 2017
Related Publication 20200028899A1 · Jan 23, 2020