IP Library Granted Patent US 10,630,817
Granted Patent B2
US 10,630,817 · App. 15/720,727 · Granted Apr 21, 2020

Load balancing and session persistence in packet networks

Inventor: Chia J. Liu (Marlton, NJ)
Assignee: Comcast Cable Communications, LLC
H04L69/22H04L45/74H04L67/1027H04L69/16H04L69/161H04L61/6009H04L61/6013
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,630,817
App. No.
15/720,727
Granted
Apr 21, 2020
Kind
B2
Abstract

A node may generate a data packet comprising an Internet Protocol (IP) header and a destination options extension header (DOEH). The DOEH may comprise one or more data fields and an IP payload. The node may send the data packet to another node in a data network.

Claims (67)

1. A method comprising:

receiving, by a load balancer, a first packet comprising a first header;

determining, based on the first header not indicating a server identifier for the first packet to be sent and based on one or more load balancing criteria, a server from a plurality of servers;

sending the first packet to the server;

receiving a second packet comprising a second header;

determining, based on the second header, that the second packet is associated with a same session as the first packet; and

sending, based on a determination that the second packet is associated with the same session as the first packet, the second packet to the server.

2. The method of claim 1 , wherein at least one of the first header and the second header is a destination options extension header (DOEH).

3. The method of claim 2 , wherein the first packet is a Hyper Text Transfer Protocol (HTTP) packet.

4. The method of claim 3 , wherein the second packet is a Hyper Text Transfer Protocol Secure (HTTPS) packet.

5. The method of claim 1 , wherein the first header is destination options extension header (DOEH) and wherein the server identifier of the first header is null.

6. The method of claim 1 , wherein the second header is a destination options extension header (DOEH), and wherein a server identifier of the second header indicates the server.

7. The method of claim 1 , wherein the first header is a destination options extension header (DOEH), wherein the first packet further comprises an Internet Protocol (IP) header, and wherein sending the first packet comprises:

modifying the first header to generate a modified IP header; and

sending the first packet comprising the modified IP header and the DOEH.

8. The method of claim 1 , further comprising:

receiving, from the server, a third packet comprising:

an Internet Protocol (IP) header; and

a destination options extension header (DOEH);

modifying the IP header to generate a modified IP header; and

sending the third packet comprising the modified IP header and the DOEH.

9. The method of claim 8 , wherein the first packet is received by the load balancer from a proxy server, and wherein modifying the IP header comprises:

modifying a destination address field of the IP header to indicate the proxy server.

10. An apparatus comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

receive, from a first computing device, a Hyper Text Transfer Protocol (HTTP) packet;

associate the HTTP packet with a session;

send the HTTP packet to a server;

receive, from a second computing device, a Hyper Text Transfer Protocol Secure (HTTPS) packet;

determine, based on a header of the HTTPS packet, that the HTTPS packet is associated with the session; and

send, based on a determination that the HTTPS packet is associated with the session, the HTTPS packet to the server.

11. The apparatus of claim 10 , wherein the header is a destination options extension header (DOEH), and wherein the HTTPS packet further comprises an Internet Protocol (IP) header.

12. The apparatus of claim 11 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to determine, based on the header of the HTTPS packet, that the HTTPS packet is associated with the session by:

determining that a server address field of the DOEH indicates the server.

13. The apparatus of claim 10 , the memory storing instructions that, when executed by the one or more processors, cause the apparatus to:

determine that a server address field of a destination options extension header (DOEH) of the HTTP packet is null; and

select, from a plurality of servers and based on a client address field of the DOEH, the server.

14. A system comprising:

a load balancer configured to:

receive a first packet comprising a first header;

selecting, based on the first header not indicating a server identifier for the first packet to be sent and based on one or more load balancing criteria, a server from a plurality of servers;

send the first packet to the server;

receive a second packet comprising a second header;

determine, based on the second header, that the second packet is associated with a same session as the first packet; and

send the second packet to the server; and

a server configured to:

receive, from the load balancer, the first packet and the second packet; and

send, to the load balancer, one or more packets.

15. The system of claim 14 , wherein the first header is a destination options extension header (DOEH) and wherein the load balancer is configured to select the server by:

determining that the server identifier of the first header is null; and

selecting, further based on a client address field of the first header, the server.

16. The system of claim 14 , wherein the second header is a destination options extension header (DOEH), and wherein the load balancer is configured to determine, based on the second header, that the second packet is associated with the same session as the first packet by:

determining that a server identifier of the second header indicates the server.

17. The system of claim 14 , wherein the first packet is a Hyper Text Transfer Protocol (HTTP) packet.

18. The system of claim 17 , wherein the second packet is a Hyper Text Transfer Protocol Secure (HTTPS) packet.

19. The system of claim 14 , wherein the load balancer is further configured to:

receive, from the server, a third packet comprising:

an Internet Protocol (IP) header; and

a destination options extension header (DOEH);

modify the IP header to generate a modified IP header; and

send the third packet comprising the modified IP header and the DOEH.

20. The system of claim 14 , wherein the first header is a destination options extension header (DOEH), wherein the first packet further comprises an Internet Protocol (IP) header, and wherein the load balancer is configured to send the first packet by:

modifying the first header to generate a modified IP header; and

sending the first packet comprising the modified IP header and the DOEH.

21. The system of claim 20 , wherein the load balancer is configured to send the first packet by:

modifying the server identifier of the first packet to indicate the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 2, 2017
From: LIU, CHIA J.
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 043756/0146 →
Continuity (3)
Continuation 14331993 · Jul 15, 2014
Continuation 13407167 · Feb 28, 2012
Related Publication 20180248985A1 · Aug 30, 2018