US10834179B2 - Load balancing - Google Patents
Load balancing Download PDFInfo
- Publication number
- US10834179B2 US10834179B2 US15/562,587 US201515562587A US10834179B2 US 10834179 B2 US10834179 B2 US 10834179B2 US 201515562587 A US201515562587 A US 201515562587A US 10834179 B2 US10834179 B2 US 10834179B2
- Authority
- US
- United States
- Prior art keywords
- tcp
- bits
- traffic server
- pdu
- traffic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
- H04L43/106—Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H04L67/42—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Definitions
- This invention relates to performing load balancing in a communications network comprising a plurality of traffic servers.
- Load balancing is a fundamental function used in communications networks that comprise a plurality of traffic servers, such as cloud-based systems. As the cloud grows it is useful not only to support stateless load balancing, where an algorithm (such as a hashtag algorithm) is used to direct a particular client to a particular server, but also to support stateful load balancing where each session is assigned to a particular server.
- an algorithm such as a hashtag algorithm
- Stateful load balancing may be used during the dynamic increase or decrease of the number of traffic servers available in the cloud. In this case, the load balancer will continue to direct traffic to the servers until they are closed, and will start directing traffic to severs when connections become available.
- stateful load balancing Another typical use of stateful load balancing is for overload protection. If a specific traffic server is overloaded, stateful load balancing can be used to redirect any new traffic connections to other available traffic servers.
- a method of performing load balancing in a communications network comprising a plurality of traffic servers.
- the method comprises: in a load balancer, receiving a connection request in a communications protocol from a client device and in the load balancer, selecting a traffic server for the requested connection.
- the method further comprises encoding an identity of the selected traffic server into a protocol message header.
- the protocol message header is returned containing the encoded identity of the selected traffic server to the client device.
- the protocol message header containing the encoded identity of the selected traffic server is included in communications protocol packets sent from the client device to the load balancer.
- the load balancer forwards communications protocol packets sent from the client device to the selected traffic server.
- the communications protocol may the Transmission Control Protocol.
- the encoding of the identity of the selected traffic server into the protocol message header may comprise encoding the identity of the selected traffic server into bits of the Transmission Control Protocol header reserved for carrying a time stamp value.
- the encoding of the identity of the selected traffic server into bits of the Transmission Control Protocol header reserved for carrying a time stamp value comprises carrying least significant bits of a time stamp value in bits of the Transmission Control Protocol header reserved for carrying most significant bits of the time stamp value. It may also further comprise carrying a value identifying the selected traffic server in bits of the Transmission Control Protocol header reserved for carrying least significant bits of the time stamp value.
- a method for use in a load balancer of a communications network comprising a plurality of traffic servers, the method comprising: receiving a connection request in a communications protocol from a client device. On determining that the connection request relates to a new connection, selecting a traffic server for the requested connection. The method comprises receiving a communications protocol packet from the client device. On determining that the connection request relates to an existing connection, the method comprises decoding an identity of a selected traffic server from a protocol message header of the received communications protocol packet. The method comprises forwarding the communications protocol packet to the selected traffic server having the decoded identity.
- the communications protocol is the Transmission Control Protocol.
- the decoding of the identity of the selected traffic server from the protocol message header may comprise decoding the identity of the selected traffic server from bits of the Transmission Control Protocol header reserved for carrying a time stamp value.
- the decoding of the identity of the selected traffic server from bits of the Transmission Control Protocol header reserved for carrying a time stamp value may comprise reading a value identifying the selected traffic server in bits of the Transmission Control Protocol header reserved for carrying least significant bits of the time stamp value.
- a method associated with a traffic server of a communications network comprising a plurality of traffic servers, the method comprising: receiving from a load balancer a connection request in a communications protocol originating from a client device.
- the method comprises encoding an identity of said traffic server into a protocol message header; and returning the protocol message header containing the encoded identity of the traffic server to the client device.
- the method further comprises receiving from the load balancer further communications protocol packets sent from the client device including the protocol message header containing the encoded identity of the traffic server.
- the encoding of the identity of the selected traffic server into the protocol message header may comprise encoding the identity of the selected traffic server into bits of the Transmission Control Protocol header reserved for carrying a time stamp value.
- the method further comprises restoring an original value of the protocol message header to remove the encoded identity of the traffic server before forwarding said further communications protocol packets to a destination.
- the communications protocol is the Transmission Control Protocol.
- the plurality of traffic servers are further adapted to encode the identity of the selected traffic server into bits of the Transmission Control Protocol header reserved for carrying a time stamp value by carrying least significant bits of a time stamp value in bits of the Transmission Control Protocol header reserved for carrying most significant bits of the time stamp value, and carrying a value identifying the selected traffic server in bits of the Transmission Control Protocol header reserved for carrying least significant bits of the time stamp value.
- the load balancer may be adapted to read a value identifying the selected traffic server in bits of the Transmission Control Protocol header reserved for carrying least significant bits of the time stamp value.
- a traffic server of a communications network comprising a plurality of traffic servers, wherein the traffic server is adapted to: receive from a load balancer a connection request in a communications protocol originating from a client device.
- the traffic server is adapted to encode an identity of said traffic server into a protocol message header.
- the traffic server is adapted to return the protocol message header containing the encoded identity of the traffic server to the client device; and receive from the load balancer further communications protocol packets sent from the client device which include the protocol message header containing the encoded identity of the traffic server.
- the communications protocol may be the Transmission Control Protocol.
- the traffic server is further adapted to encode the identity of the selected traffic server into bits of the Transmission Control Protocol header reserved for carrying a time stamp value.
- the traffic sever is further adapted to carry least significant bits of a time stamp value in bits of the Transmission Control Protocol header reserved for carrying most significant bits of the time stamp value, and carry a value identifying the selected traffic server in bits of the Transmission Control Protocol header reserved for carrying least significant bits of the time stamp value.
- the traffic server may be further adapted to restore an original value of the protocol message header to remove the encoded identity of the traffic server before forwarding said further communications protocol packets to a destination.
- a load balancer for use in a communications network comprising a plurality of traffic servers, the load balancer comprising: a communications module for receiving a connection request in a communications protocol from a client device and for receiving a communications protocol packet from the client device.
- the load balancer further comprises a determination module for determining whether the connection request relates to a new connection and for determining whether the connection request relates to an existing connection.
- the load balancer further comprises a selection module for selecting a traffic server for the requested connection if it is determined that the connection request related to a new connection.
- the load balancer further comprises a decoding module for, if it is determined that the connection request relates to an existing connection, decoding an identity of a selected traffic server from a protocol message header of the received communications protocol packet.
- the load balancer further comprises a forwarding module for forwarding the communications protocol packet to the selected traffic server having the decoded identity.
- a computer-program product comprising machine-readable code containing instructions for causing a traffic server of a communications network comprising a plurality of traffic servers, to perform a method comprising: receiving from a load balancer a connection request in a communications protocol originating from a client device.
- the method comprises encoding an identity of said traffic server into a protocol message header.
- the method further comprises returning the protocol message header containing the encoded identity of the traffic server to the client device.
- the method further comprises receiving from the load balancer further communications protocol packets sent from the client device including the protocol message header containing the encoded identity of the traffic server.
- FIG. 1 shows an embodiment of a communications network
- FIG. 2 illustrates an example of a Load Balancer in the network of FIG. 1 ;
- FIG. 3 illustrates an example of a Traffic Server in the network of FIG. 1 ;
- FIG. 4 illustrates a signalling diagram according to an embodiment of the invention
- FIG. 6 shows an example of the encoding of a time stamp used in a TCP stack
- FIG. 7 is a flow chart showing a method according to an embodiment of the invention.
- FIG. 8 is a flow chart showing the method carried out in a Load Balancer according to an embodiment of the invention.
- FIG. 9 is a flow chart showing the method for encoding the Traffic Server Identity, as carried out in a Load Balancer Agent according to an embodiment of the invention.
- FIG. 10 is a flow chart showing the method for decoding the Traffic Server Identity as carried out in a Load Balancer Agent according to an embodiment of the invention.
- Embodiments of the present invention relate to the use of stateful load balancing and the encoding of a Traffic Server Identity into received packets in a Traffic Server.
- FIG. 1 shows a communications network generally indicated 100 according to some embodiments of the invention.
- a client device which in this illustrated example is a user equipment 102 , is connected to an access switch 104 of the communications network 100 .
- the access switch 104 is adapted to forward requests from the user equipment 102 to a load balancer in an access load balancer pool 106 (Access LB Pool) which may comprise a plurality of load balancers, for example the illustrated load balancer Access_LB 1 .
- Different requests sent by the user equipment 102 may be sent to different load balancers within this pool.
- the requests may be in any communications protocol.
- the communications protocol may be a Transmission Control Protocol (TCP)
- This illustrated example shows a cloud-based system, in which there are pools of load balancers and traffic servers, with the numbers of load balancers and traffic servers being subject to change.
- FIG. 2 illustrates an example of a load balancer generally indicated 200 according to an embodiment of the invention. Any or all of the load balancers in the load balancer pools 106 and 110 shown in FIG. 1 may have this structure.
- the load balancer 200 comprises a communications module 201 and a data processing and control unit 202 .
- the communications module 201 handles communications with other network nodes in the intended communications protocol(s). For example, the load balancer may be required to communicate with other network nodes over the Internet using the Transmission Control Protocol (TCP).
- TCP Transmission Control Protocol
- the data processing and control unit 202 comprises a processor 203 and a memory block 204 .
- the data processing and control unit 202 allows the load balancer 200 to perform the functions required for its operation, including the functions described herein.
- the memory block 204 may contain stored program instructions for causing the processor 203 to perform the methods described herein.
- FIG. 3 illustrates an example of a traffic server generally indicated 300 according to embodiments of the invention. Any or all of the traffic servers in the traffic server pool 108 illustrated in FIG. 1 may have this structure.
- the traffic server 300 comprises a communications module 301 and a data processing and control unit 302 .
- the communications module 301 handles communications with other network nodes in the intended communications protocol(s). For example, the traffic server may be required to communicate with other network nodes over the Internet using the Transmission Control Protocol (TCP).
- TCP Transmission Control Protocol
- the data processing and control unit 302 comprises a processor 303 and a memory block 304 .
- the data processing and control unit 302 allows traffic server 300 to perform the functions required for its operation, including the functions described herein.
- the memory block 304 may contain stored program instructions for causing the processor 303 to perform the methods described herein.
- the traffic server also comprises a dedicated load balancer agent (LBA) 305 which is in communication with the TCP stack 306 within the traffic server 300 .
- the load balancer agent 305 is therefore associated with the traffic server.
- the load balancer agent is co-located with the same virtual machine as the traffic server.
- FIG. 4 illustrates a signalling diagram according to an embodiment of the invention.
- the client for example the user equipment 102 in FIG. 1
- HTTP Hypertext Transfer Protocol
- This request is processed first by the access switch (for example the access switch 104 in FIG. 1 ) which distributes the traffic to an access load balancer in step 404 using an Equal Cost Multi-Path (ECMP) algorithm.
- the access load balancer determines whether or not the request is for a new TCP connection. If the request is for a new TCP connection the access load balancer uses stateless load balancing to select a traffic server in step 406 .
- the stateless load balancing in step 406 may involve using a hashtag algorithm on the source port of the HTTP request and the IP address to select a traffic server.
- the access load balancer Module may include a dedicated virtual machine for performing this stateless traffic distribution to the traffic servers.
- step 408 the selected traffic server encodes information identifying the traffic server into the packet. This process is described in more detail with reference to FIG. 6 .
- step 410 the traffic server returns its response to the HTTP request, with the encoded traffic server identity, to the client, without passing through the access load balancer. This response also includes a time stamp value that can be read by the client.
- step 416 the traffic server repeats the encoding of the traffic server identity, again as described in more detail with reference to FIG. 6 .
- Step 418 the traffic server returns the encoded packet to the client.
- This returned packet also includes a time stamp value that can be read by the client and, in step 420 the client verifies that this time stamp is monotonically increased from the previously read time stamp.
- the TCP server will save the TSval as a local variant TS.recent and copy TSval as a TSecr in order to acknowledge the time stamp in its reply.
- the TCP server also includes a new TSval in its response to the TCP client. In this illustration, the new TSval is “2222”.
- step 504 the TCP server sends an acknowledgement, ACK, of the SYN request along with the two new TSval and TSecr values.
- the TCP client will then save the new TSval as a local value TS.recent and copy the TSval to the TSecr for the next acknowledgment.
- the new TSval value will be a monotonic increase of the original TSval sent by the TCP client. In this example, the new value is “1112”.
- step 506 the TCP client sends an acknowledgment ACK back to the TCP server along with the two new TSval and TSecr values.
- the TCP server will check that the received TSval value is a monotonic increase of the saved TS.recent before replacing the local TS.recent value with the new TSval value (i.e. 1112).
- the new TSval value will again be copied into the TSecr value and a new time stamp “2223”, which is a monotonic increase of the last time stamp produced by the TCP server will be put into TSval.
- the TCP client will check that the received TSval value is a monotonic increase of the saved TS.recent value.
- the time stamp values, TSval, TSecr and TS.recent, are stored as a 32 bit long integers. This integer can represent a amount of time passed. For example, in a Linux Operating System, each single bit increase of the time stamp value represents 4 ms. Therefore the time stamp value can run for a total of 198.8 days duration before repeating values.
- the round trip time between a client and a server is in the order of seconds. Therefore, a number, L, of the higher bits in this 32 bit long integer are in fact unnecessary as the likelihood of a particular session lasting long enough to mean that one of the higher bits will change is very low.
- FIG. 6 shows an original time stamp value 602 and an encoded time stamp value 604 .
- An encoding process E converts an original time stamp value 602 to an encoded time stamp value 604
- a decoding process D converts the encoded time stamp value 604 to the original time stamp value 602 .
- the original time stamp value 602 has a first part 606 , which contains the K bits which are sufficient for producing an accurate time stamp during a typical application.
- the original time stamp value 602 also has a second part 608 , which contains the L higher bits which are not required for calculating time values in a typical application. In this illustrated example, this second part 608 is used to encode the traffic server identity.
- each traffic server is given a unique identity value, for example, “1”, “2”, “3”, etc., that can be used to distinguish it from the other traffic servers that are in use in that system at that time. For example, if the system includes up to 16 traffic servers, four bits may be allocated to the second part 608 of the original time stamp value 602 , as that will provide the possibility of 16 different traffic server identities.
- the lower K bits and the higher L bits are swapped over, so that the encoded time stamp value 604 has a first part 610 , which contains the K bits representing the actual time stamp, and a second part 612 , which contains the encoded traffic server identity.
- the L bits representing the encoded traffic server identity are the lower bits of the encoded time stamp value 604 . Therefore the least significant bits of the original time stamp 602 are carried in the most significant bits of the encoded time stamp 604 , and the least significant bits of the encoded time stamp are reserved for carrying a value identifying the selected traffic server.
- the load balancer When, in step 414 , the load balancer receives a packet containing an encoded traffic server identity, it determines the traffic server identity from the received packet and sends the packet on to the correct traffic server, namely the same traffic server that was selected in step 406 . Specifically, it can obtain the traffic server identity by examining the L least significant bits of the TSecr value.
- a load balancing agent in the traffic server receives a packet containing an encoded time stamp value, it reads the L most significant bits of its current time value. If these bits have changed since the parameter TShighrecent was stored, the new value is recorded as a new value for TShighrecent.
- the TCP stack will therefore be unaware of the encoding and decoding of the time stamp.
- steps 408 and 410 will be illustrated with reference to one specific example. It should be noted that the load balancing agent may check both the TSval and TSecr values, but this illustration relates to a new TCP request, and so the TSecr value is zero.
- the current time value read by the traffic server is 0x12345678 (in hexadecimal notation, where each character represents four bits of the binary value). Also, in this example, the number of unnecessary high bits, L, is 4.
- the TCP stack may then respond to the TCP connection request.
- the load balancing agent will encode the traffic server identity into the TCP packet header. Using the example above, if the traffic server identity is 3, then the encoded TSval will be 0x23456783. That is, the 28 least significant bits (i.e. 7 hexadecimal characters) of the time value, 2345678, become the 28 most significant bits of the encoded time stamp value, and the traffic server identity, represented by 4 bits (i.e. one hexadecimal character) is used as the 4 least significant bits of the encoded time stamp value.
- FIG. 7 is a flowchart showing a method according to an embodiment of the invention.
- FIG. 7 shows the end-to-end message sequence for handling the user request, including both the access side and the internet side.
- Two separate time stamps can therefore be used by the access side load balancing and the Internet side load balancing.
- the load balancing agent encodes the same traffic server identity into the time stamps so that requests and responses from either side will be directed towards the same traffic server.
- step 702 the client creates a TCP connection and sends an HTTP request to the origin server. As was described with reference to FIG. 4 , this request is first received by the access switch.
- the access switch distributes the traffic to one of the access load balancers for example using Equal Cost Multi-Path (ECMP).
- ECMP Equal Cost Multi-Path
- the access load balancer receiving the request determines whether the request is for a new TCP connection and, if so, uses stateless load balancing to select a traffic server in step 706 .
- the stateless load balancing may incorporate using the source port and IP address of the request in a hashtag algorithm to select a traffic server. If the request relates to an existing TCP connection, the access load balancer directs the traffic to the traffic server identified in the packet header, as described elsewhere.
- step 708 the load balancing agent in the selected traffic server encodes the traffic server identity into the request packet. As explained above, this may be done by encoding the traffic server identity into the bits allocated in the TCP header for carrying the time stamp.
- the request is then sent on to the Internet access switch which forwards the HTTP request to the origin server in step 710 .
- the entire TCP header needed to be analysed by the load balancer at this stage in order to maintain the same traffic server for the whole TCP session.
- the Internet side load balancers can be bypassed at this stage.
- the encoded traffic server identity in the protocol header will then be carried by any subsequent protocol packets sent from the client device to the load balancer.
- the load balancer can detect the encoding of the traffic server identity in the protocol header, and the packet can be forwarded to the correct Traffic Server.
- the load balancer may be able to detect the encoding of the traffic server identity by whether or not the low bits of the returned time stamp represent a traffic server identity or not.
- all TCP traffic is encoded where necessary and, hence, if the packet is not an initial request for a TCP connection, i.e. TSecr is zero, the load balancer will know that the traffic server identity is contained in the returned time stamp.
- the origin server Having received the request, the origin server will then verify the monotonic increase of TSval., copy the TSval to TSecr and return the HTTP response to the Internet switch in step 712 .
- the internet switch will then select an Internet load balancer in step 714 . In some embodiments this is done by using Equal Cost Multi Path.
- the selected Internet load balancer will then decode the TSecr value to determine the traffic server identity, and then forward the HTTP response to the correct traffic server in step 716 .
- step 718 the load balancing agent in the traffic server will encode the traffic server identity into the time stamp TSval.
- the traffic server identity encoded in this step will be the same as the traffic server identity which was encoded in step 708 .
- the HTTP Response will then be sent to the access switch, bypassing the access side load balancer for the same reasons as described above, and the access switch forwards the HTTP response to the Client in step 720 .
- FIG. 8 is a flow chart showing the method carried out in a load balancer according to an embodiment of the invention.
- step 802 the load balancer receives a packet from a client.
- step 804 the load balancer determines whether the packet is a SYN, i.e. if the request is a request for a new TCP connection. If the packet is a SYN, the method passes to step 806 , in which the load balancer performs stateless load balancing to select a traffic server.
- the load balancer uses a hashtag algorithm on the Source port and the IP address of the request to select a traffic server. It will be appreciated that other stateless load balancing methods could be used.
- step 804 If the received packet is determined in step 804 to be a SYN packet, the method passes to step 808 wherein the TSecr is examined.
- step 810 the traffic server identity is retrieved, either by examining the time stamp in step 808 or as a result of the stateless load balancing in step 806 .
- the packet is then sent to the correct traffic server corresponding to the retrieved traffic server identity in step 812 .
- FIG. 9 is a flow chart showing the method for encoding the traffic server identity, as carried out in a load balancer agent associated with a traffic server, according to an embodiment of the invention.
- step 902 the load balancer agent reads the value that has been assigned to the parameter L, that is, the number of bits that are considered unnecessary.
- step 904 the load balancer agent receives a packet from the TCP stack.
- step 908 the load balancer agent encodes the traffic server identity into the L lower bits of the encoded time stamp.
- step 910 the packet is sent out with the encoded time stamp included in the TCP header.
- FIG. 10 is a flow chart showing the method for decoding the traffic server identity as carried out in a load balancer agent according to an embodiment of the invention.
- step 1002 the load balancer agent reads the value that has been assigned to the parameter L.
- the load balancer agent will then continuously monitor the L higher bits of the system time stamp of the traffic server in step 1004 .
- step 1006 the load balancer agent receives a packet from the network.
- step 1008 the load balancer agent assigns the K high bits of the received TSecr, which will be the encoded time stamp, to the low K bits of the decoded time stamp.
- step 1010 the load balancer agent determines if the L high bits of the system time stamp have changed. This can be done by comparing the L high bits of the current system time stamp to the value of TShighrecent.
- step 1012 If the L high bits of the system time stamp have changed, then the method passes to step 1012 and the value of the TShighrecent is assigned to the L high bits of the decoded timestamp.
- step 1014 If the L high bits of the system time stamp have not changed, then the method passes to step 1014 and the L high bits of the current time stamp are assigned to the L high bits of the decoded time stamp.
- the packet is forwarded to the TCP stack in step 1016 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims (11)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/075358 WO2016154841A1 (en) | 2015-03-30 | 2015-03-30 | Load balancing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20180115601A1 US20180115601A1 (en) | 2018-04-26 |
US10834179B2 true US10834179B2 (en) | 2020-11-10 |
Family
ID=57006505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/562,587 Active 2035-06-20 US10834179B2 (en) | 2015-03-30 | 2015-03-30 | Load balancing |
Country Status (4)
Country | Link |
---|---|
US (1) | US10834179B2 (en) |
EP (1) | EP3278517A4 (en) |
CN (1) | CN107534614A (en) |
WO (1) | WO2016154841A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302090B (en) * | 2015-05-25 | 2019-10-22 | 阿里巴巴集团控股有限公司 | A kind of message treatment method, apparatus and system |
US10419401B2 (en) | 2016-01-08 | 2019-09-17 | Capital One Services, Llc | Methods and systems for securing data in the public cloud |
US10693860B2 (en) * | 2017-09-08 | 2020-06-23 | Citrix Systems, Inc. | RDP proxy support in presence of RDP server farm with session directory or broker |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003010677A1 (en) | 2001-07-26 | 2003-02-06 | Netscaler, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side network connections |
WO2003017123A1 (en) | 2001-08-16 | 2003-02-27 | Redline Networks, Inc. | System and method for maintaining statefulness during client-server interactions |
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
US20040090966A1 (en) * | 2002-11-07 | 2004-05-13 | Thomas David Andrew | Method and system for communicating information between a switch and a plurality of servers in a computer network |
US20040165538A1 (en) * | 2003-02-21 | 2004-08-26 | Swami Yogesh Prem | System and method for movement detection and congestion response for transport layer protocol |
WO2006074977A1 (en) | 2005-01-12 | 2006-07-20 | International Business Machines Corporation | Method, system and computer program product for bypassing routing stacks using mobile internet protocol |
US20070258458A1 (en) * | 2006-05-04 | 2007-11-08 | Rohit Kapoor | Methods and systems for enhancing local repair in robust header compression |
WO2008112864A1 (en) | 2007-03-13 | 2008-09-18 | Radvision Ltd. | Methods, media, and systems for balancing session initiation protocol server load |
US20090011705A1 (en) * | 2007-07-05 | 2009-01-08 | Samsung Electronics Co., Ltd. | Data transmission system for asynchronous transmitting data and map information |
US20120246637A1 (en) | 2011-03-22 | 2012-09-27 | Cisco Technology, Inc. | Distributed load balancer in a virtual machine environment |
CN103155500A (en) | 2010-05-14 | 2013-06-12 | 极进网络公司 | Methods, systems, and computer readable media for stateless load balancing of network traffic flows |
US20140330982A1 (en) * | 2013-05-03 | 2014-11-06 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US20140330976A1 (en) * | 2013-05-06 | 2014-11-06 | Jeroen van Bemmel | Stateless load balancing of connections |
US20140330977A1 (en) * | 2013-05-06 | 2014-11-06 | Jeroen van Bemmel | Stateless recognition of keep-alive packets |
WO2014194423A1 (en) | 2013-06-07 | 2014-12-11 | Alcatel Lucent | Method and apparatus for providing software defined network flow distribution |
US20160283312A1 (en) * | 2015-03-24 | 2016-09-29 | Imagination Technologies Limited | Logging events with timestamps |
US20170302360A1 (en) * | 2014-10-07 | 2017-10-19 | Nec Corporation | Relay radio terminal, core network apparatus, and method therefor |
-
2015
- 2015-03-30 CN CN201580078451.XA patent/CN107534614A/en active Pending
- 2015-03-30 EP EP15886828.1A patent/EP3278517A4/en not_active Withdrawn
- 2015-03-30 WO PCT/CN2015/075358 patent/WO2016154841A1/en active Application Filing
- 2015-03-30 US US15/562,587 patent/US10834179B2/en active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6691165B1 (en) * | 1998-11-10 | 2004-02-10 | Rainfinity, Inc. | Distributed server cluster for controlling network traffic |
WO2003010677A1 (en) | 2001-07-26 | 2003-02-06 | Netscaler, Inc. | System, method and computer program product to maximize server throughput while avoiding server overload by controlling the rate of establishing server-side network connections |
WO2003017123A1 (en) | 2001-08-16 | 2003-02-27 | Redline Networks, Inc. | System and method for maintaining statefulness during client-server interactions |
US20040090966A1 (en) * | 2002-11-07 | 2004-05-13 | Thomas David Andrew | Method and system for communicating information between a switch and a plurality of servers in a computer network |
US20040165538A1 (en) * | 2003-02-21 | 2004-08-26 | Swami Yogesh Prem | System and method for movement detection and congestion response for transport layer protocol |
WO2006074977A1 (en) | 2005-01-12 | 2006-07-20 | International Business Machines Corporation | Method, system and computer program product for bypassing routing stacks using mobile internet protocol |
US20070258458A1 (en) * | 2006-05-04 | 2007-11-08 | Rohit Kapoor | Methods and systems for enhancing local repair in robust header compression |
WO2008112864A1 (en) | 2007-03-13 | 2008-09-18 | Radvision Ltd. | Methods, media, and systems for balancing session initiation protocol server load |
US20090011705A1 (en) * | 2007-07-05 | 2009-01-08 | Samsung Electronics Co., Ltd. | Data transmission system for asynchronous transmitting data and map information |
CN103155500A (en) | 2010-05-14 | 2013-06-12 | 极进网络公司 | Methods, systems, and computer readable media for stateless load balancing of network traffic flows |
US20120246637A1 (en) | 2011-03-22 | 2012-09-27 | Cisco Technology, Inc. | Distributed load balancer in a virtual machine environment |
US20140330982A1 (en) * | 2013-05-03 | 2014-11-06 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
US20140330976A1 (en) * | 2013-05-06 | 2014-11-06 | Jeroen van Bemmel | Stateless load balancing of connections |
US20140330977A1 (en) * | 2013-05-06 | 2014-11-06 | Jeroen van Bemmel | Stateless recognition of keep-alive packets |
WO2014194423A1 (en) | 2013-06-07 | 2014-12-11 | Alcatel Lucent | Method and apparatus for providing software defined network flow distribution |
US20170302360A1 (en) * | 2014-10-07 | 2017-10-19 | Nec Corporation | Relay radio terminal, core network apparatus, and method therefor |
US20160283312A1 (en) * | 2015-03-24 | 2016-09-29 | Imagination Technologies Limited | Logging events with timestamps |
Non-Patent Citations (3)
Title |
---|
European Office Action issued in Application No. 15886828.1 dated Aug. 24, 2018, 8 pages. |
International Search Report and Written Opinion issued in Application No. PCT/CN2015/075358 dated Jan. 12, 2016, 7 pages. |
The European Office Communication issued in Application No. 15886828.1 dated Jan. 24, 2018, 11 pages. |
Also Published As
Publication number | Publication date |
---|---|
EP3278517A4 (en) | 2018-02-21 |
CN107534614A (en) | 2018-01-02 |
WO2016154841A1 (en) | 2016-10-06 |
EP3278517A1 (en) | 2018-02-07 |
US20180115601A1 (en) | 2018-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8165122B2 (en) | System and method for converting unicast client requests into multicast client requests | |
US20060112422A1 (en) | Data transfer using hyper-text transfer protocol (HTTP) query strings | |
US10924533B2 (en) | System, apparatus and method for load balancing | |
CN110943800B (en) | Data packet sending method, device and system, storage medium and electronic device | |
US7702809B1 (en) | Method and system for scaling network traffic managers | |
US20170054640A1 (en) | Device and method for establishing connection in load-balancing system | |
US9762546B2 (en) | Multi-connection system and method for service using internet protocol | |
US11082330B2 (en) | Per-provider origin pull | |
US10848599B2 (en) | Data transmission method and gateway as well as server and computer-readable storage medium | |
CN111917900B (en) | Domain name agent request processing method and device | |
US9332053B2 (en) | Methods, systems, and computer readable media for load balancing stream control transmission protocol (SCTP) messages | |
CN109196842B (en) | Session keeping method, device and storage medium | |
CN109862438B (en) | Method and equipment for proxy forwarding of real-time streaming protocol streaming media data | |
US10834179B2 (en) | Load balancing | |
JP2006277570A (en) | Load distribution system, load distribution device, real server and load distribution method | |
CN110650097B (en) | Data broadcasting method and device and computer readable storage medium | |
CN114138325A (en) | Gray scale publishing method and device | |
CN105656994B (en) | A kind of business acceleration method and device | |
CN109040199A (en) | A kind of method, system and storage medium for distributing resource data | |
US10992702B2 (en) | Detecting malware on SPDY connections | |
CN116647565A (en) | Network node for indirect communication and method therein | |
CN115834574B (en) | Data coding transmission method, device, equipment and storage medium | |
CN110601993A (en) | Multi-outlet load balancing method and device | |
CN109618014B (en) | Message forwarding method and device | |
Kadi et al. | Performance Analysis of Identifier Locator Communication Cache Effects on ILNPv6 Stack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: TELEFONAKTIEBOLAGET LM ERICSSON (PUBL), SWEDEN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NING, GAVIN;QIU, KERMIT;ZENG, BIN;REEL/FRAME:046372/0480 Effective date: 20150407 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: ADVISORY ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |