Method and system of session-aware load balancing

US10003641B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10003641-B2
Application numberUS-201414488085-A
CountryUS
Kind codeB2
Filing dateSep 16, 2014
Priority dateSep 16, 2014
Publication dateJun 19, 2018
Grant dateJun 19, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods implemented in a network device are disclosed for maintaining session integrity through load balancing. The method assigns a same virtual Internet protocol VIPA to the network device and a set of servers. The network device is assigned a set of next hop IP addresses, where each next hop IP address corresponds to a route to a server, and the VIPA of the network device is advertised to outside of the load balancing system. When a packet is a first packet from a source of a communication session and destined to the VIPA, the network device selects a next hop IP address to forward to a server according to its load balancing policy. The selection is saved so that subsequent packets of the same communication session from the same source will be forwarded to the same server.

First claim

Opening claim text (preview).

What is claimed is: 1. A method implemented in a network device serving as a load balancing network device coupled to a network containing a load balancing system, wherein the load balancing system contains the network device and a plurality of servers, the method comprising: assigning a virtual Internet Protocol address (VIPA) to the network device; assigning the VIPA also to the plurality of servers; disabling destination address translation and port translation by the network device; assigning a plurality of next hop IP addresses in the network device, wherein each next hop IP address corresponds to an IP interface to one of the plurality of servers; advertising the VIPA of the network device to network elements outside of the load balancing system; receiving a packet with a destination IP address corresponds to the VIPA assigned to the network device and the plurality of servers; determining that the packet with a source IP address is a first packet in a communication session; selecting one of the set of next hop IP addresses to forward the packet to reach a server of the plurality of servers based on a load balancing policy in response to the determination that the packet with the source IP address is the first packet in the communication session; forwarding the packet based on the selected next hop IP address; and saving the selection of the network device for forwarding subsequent packets of the communication session. 2. The method of claim 1 , wherein the selection of the network device is saved in a forwarding table coupled to the network device. 3. The method of claim 2 , further comprising: receiving a subsequent packet of the communication session; identifying the selected next hop IP address from the forwarding table; and forwarding the subsequent packet to the selected next hop IP address. 4. The method of claim 2 , further comprising: removing the selection of the network device from the forwarding table once the communication session is terminated. 5. The method of claim 1 , further comprising: determining that the server operates in an abnormal state, wherein the server saves state information of the communication session to a database external to the server, and wherein the database is accessible to other servers of the plurality of servers; selecting one of the set of next hop IP addresses to forward the subsequent packets of the communication session to reach another server of the plurality of servers based on the load balancing policy; and saving the selection of the network device for forwarding the subsequent packets to reach the another server with the destination IP address. 6. The method of claim 5 , wherein the determination of the server operating in the abnormal state is through monitoring the server at the network device. 7. The method of claim 1 , wherein the packet forwarding to the one of the plurality of servers passes a network element performing virtual routing and forwarding function, wherein the network element contains one or more interfaces coupled to the network device, and a plurality of interfaces each coupled to one of the plurality of servers. 8. The method of claim 1 , wherein the network device is a software-defined networking (SDN) controller. 9. The method of claim 1 , wherein the packet complies with one of protocol suites: Internet Protocol Security (IPSec); Diameter; Session Initiation Protocol (SIP); H.248; and Transport Layer Security. 10. A network device coupled to a load balancing system, wherein the network device is to balance load of the load balancing system and is coupled to a plurality of servers, the network device comprising: a processor; and a non-transitory machine-readable storage media coupled to the processor and storing load balancing software, which when executed by the processor, causes the processor to: assign a virtual Internet Protocol address (VIPA) to the network device, assign the VIPA also to the plurality of servers, disable destination address translation and port translation by the network device, assign a plurality of next hop IP addresses in the network device, wherein each next hop IP address corresponds to an IP interface to one of the plurality of servers, advertise the VIPA of the network device to network elements outside of the load balancing system, receive a packet with a destination IP address corresponds to the VIPA to the network device and the plurality of servers, determine that the packet with a source IP address is a first packet in a communication session, select one of the set of next hop IP addresses to forward the packet to reach a server of the plurality of servers based on a load balancing policy in response to the determination that the packet with the source IP address is the first packet in the communication session, forward the packet based on the selected next hop IP address, and save the selection of the network device for forwarding subsequent packets of the communication session. 11. The network device of claim 10 , where the selection of the network device is to be saved in a forwarding table coupled to the network device. 12. The network device of claim 11 , wherein the processor is further to: receive a subsequent packet of the communication session; identify the selected next hop IP address from the forwarding table; and forward the subsequent packet to the selected next hop IP address. 13. The network device of claim 10 , wherein the processor is further to: determine that the server operates in an abnormal state, wherein the server saves state information of the communication session to a database external to the server, wherein the database is accessible to other servers of the plurality of servers; select one of the set of next hop IP addresses to forward the subsequent packets of the communication session to reach another server of the plurality of servers based on the load balancing policy; save the selection of the network device for forwarding the subsequent packets to reach the another server with the destination IP address. 14. The network device of claim 13 , wherein the determination of the server operating in the abnormal state is through the processor to monitor the server. 15. The network device of claim 10 , wherein the network device is a software-defined networking (SDN) controller. 16. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations at a network device coupled to a load balancing system, wherein the network device is to balance load of the load balancing system and is coupled to a plurality of servers, the operations comprising: assigning a virtual Internet Protocol address (VIPA) to the network device; assigning the VIPA also to the plurality of servers; disabling destination address translation and port translation by the network device; assigning a plurality of next hop IP addresses in the network device, wherein each next hop IP address corresponds to an IP interface to one of the plurality of servers; advertising the VIPA of the network device to network elements outside of the load balancing system; receiving a packet with a destination IP address corresponds to the VIPA assigned to the network device and the plurality of servers; determining that the packet with a source IP address is a first packet in a communication session; selecting, one of the set of next hop IP addresses to forward the packet to reach a server of the plurality of servers based on a load balancing policy in

Assignees

Inventors

Classifications

  • Persistence of sessions during load balancing · CPC title

  • Electricity · mapped topic

  • Reaction to server failures by a load balancer · CPC title

  • for accessing one among a plurality of replicated servers · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10003641B2 cover?
Methods implemented in a network device are disclosed for maintaining session integrity through load balancing. The method assigns a same virtual Internet protocol VIPA to the network device and a set of servers. The network device is assigned a set of next hop IP addresses, where each next hop IP address corresponds to a route to a server, and the VIPA of the network device is advertised to ou…
Who is the assignee on this patent?
Ericsson Telefon Ab L M, Ericsson Telefon Ab L M
What technology area does this patent fall under?
Primary CPC classification H04L67/1027. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 19 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).