US9270774B2 - Combining stateless and stateful server load balancing - Google Patents

Combining stateless and stateful server load balancing Download PDF

Info

Publication number
US9270774B2
US9270774B2 US14/520,126 US201414520126A US9270774B2 US 9270774 B2 US9270774 B2 US 9270774B2 US 201414520126 A US201414520126 A US 201414520126A US 9270774 B2 US9270774 B2 US 9270774B2
Authority
US
United States
Prior art keywords
hybrid
service
service gateway
stateless
condition
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
Application number
US14/520,126
Other versions
US20150039671A1 (en
Inventor
Rajkumar Jalan
Feilong Xu
Lalgudi Narayanan KANNAN
Ronald Wai Lun Szeto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
A10 Networks Inc
Original Assignee
A10 Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by A10 Networks Inc filed Critical A10 Networks Inc
Priority to US14/520,126 priority Critical patent/US9270774B2/en
Assigned to A10 NETWORKS, INC. reassignment A10 NETWORKS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JALAN, RAJKUMAR, KANNAN, LALGUDI NARAYANAN, SZETO, RONALD WAI LUN, XU, FEILONG
Publication of US20150039671A1 publication Critical patent/US20150039671A1/en
Priority to US15/016,097 priority patent/US9906591B2/en
Application granted granted Critical
Publication of US9270774B2 publication Critical patent/US9270774B2/en
Priority to US15/858,578 priority patent/US10484465B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • H04L67/2819
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/564Enhancement of application control based on intercepted application data

Definitions

  • This invention relates generally to data communications, and more specifically, to a service gateway.
  • Service providers deploy service gateways such as server load balancers or traffic managers to bridge host computers or computing devices with servers providing the data services.
  • Service gateways provide services either using a stateful processing method or a stateless processing method.
  • a stateful processing method packets are processed as a stream of packets, and each packet in the stream are processed in the same way.
  • packets are processed discretely, where each packet is assessed individually.
  • the stateful processing method may be preferred over the stateless processing method due to the security and control features that may be implemented, however, the resource requirements of such features may make the services difficult to scale.
  • the stateless processing method may be preferred over the stateful processing method due to its scalability, however, this is at the expense of security and control.
  • Traffic managed by service gateways is rarely uniform, as conditions on a network typically fluctuate, at times greatly.
  • system administrators are required to choose either a stateful processing method or a stateless processing method for a particular service address, weighing the costs and benefits of each method.
  • System administrators are not able to realize the advantages of both processing methods for such non-uniform traffic.
  • a method for processing data packets sent over a communication session between a host and a server by a service gateway comprises: processing a data packet using a hybrid-stateful processing method by the service gateway; checking by the service gateway whether a hybrid-stateless condition is satisfied; in response to determining that the hybrid-stateless condition is satisfied, changing to a hybrid-stateless processing method for a subsequently received data packet by the service gateway; and in response to determining that the hybrid-stateless condition is not satisfied, processing the subsequently received data packet using the hybrid-stateful processing method by the service gateway.
  • a method for processing data packets sent over a communication session between a host and a server by a service gateway comprises: processing a data packet using a hybrid-stateless processing method by the service gateway, wherein the hybrid-stateless processing method processes the data packet using a stateless processing method unless a service address or a server address of the data packet matches a session entry in a session table; checking by the service gateway whether a hybrid-stateful condition is satisfied; in response to determining that the hybrid-stateful condition is satisfied, changing to a hybrid-stateful processing method for a subsequently received data packet by the service gateway, wherein the hybrid-stateful processing method processes the subsequently received data packet using a stateful processing method unless the subsequently received data packet either does not comprise a service request or the subsequently received data packet is received from the server; in response to determining that the hybrid-stateful condition is not satisfied, processing the subsequently received data packet using the hybrid-stateless processing method by the service gateway; wherein the hybrid-stateful processing method comprises
  • the hybrid-stateless processing method comprises: receiving the subsequently received data packet from the host by the service gateway; obtaining the service address from the subsequently received data packet by the service gateway; comparing the service address of the subsequently received data packet against service addresses stored in session entries in the session table by the service gateway; in response to determining that the session table comprises a session entry matching the service address of the subsequently received data packet, processing the subsequently received data packet based on information stored in the matching session entry using the stateful processing method by the service gateway.
  • the session table In response to determining that the session table does not comprise any session entry matching the service address of the subsequently received data packet: comparing the service address of the subsequently received data packet against service addresses stored in mapping entries in a mapping table by the service gateway, finding a mapping entry matching the service address of the subsequently received data packet by the service gateway, and processing the subsequently received data packet based on information stored in the matching mapping entry using the stateless processing method by the service gateway.
  • FIG. 1 illustrates a service gateway for processing a communication session between a host and a plurality of servers.
  • FIG. 2 illustrates a stateful processing method
  • FIG. 3 illustrates a stateless processing method
  • FIG. 4 illustrates an embodiment of a service gateway performing a hybrid-stateless processing method combining a stateful processing method and a stateless processing method according to the present invention.
  • FIG. 5 illustrates an embodiment of a service gateway performing a hybrid-stateful processing method combining a stateful processing method and a stateless processing method according to the present invention.
  • FIG. 6 illustrates an embodiment of a service gateway changing from a hybrid-stateful processing method to a hybrid-stateless processing in response to a hybrid-stateless condition being satisfied according to the present invention.
  • FIG. 7 illustrates an embodiment of a service gateway changing from a hybrid-stateless processing method to a hybrid-stateful processing method in response to a hybrid-stateful condition being satisfied according to the present invention.
  • FIG. 8 is a flowchart illustrating an embodiment of a hybrid-stateless processing method according to the present invention.
  • FIG. 9 is a flowchart illustrating an embodiment of a hybrid-stateful processing method according to the present invention.
  • FIG. 10 is a flowchart illustrating an embodiment of a method for changing from a hybrid-stateful processing method to a hybrid-stateless processing in response to a hybrid-stateless condition being satisfied according to the present invention.
  • FIG. 11 is a flowchart illustrating an embodiment of a method for changing from a hybrid-stateless processing method to a hybrid-stateful processing method in response to a hybrid-stateful condition being satisfied according to the present invention.
  • the present invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements.
  • the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
  • the present invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.
  • a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium.
  • Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk.
  • Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
  • a data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus.
  • the memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
  • I/O devices including but not limited to keyboards, displays, point devices, etc.
  • I/O controllers including but not limited to keyboards, displays, point devices, etc.
  • Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks.
  • Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified local function(s).
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • Embodiments of the present invention provide a security gateway with the capability of processing packets using either a hybrid stateless processing method or a hybrid stateful processing method, and with the capability for assessing conditions in determining whether to switch from using the hybrid stateful processing method to the hybrid stateless processing method or vice versa.
  • FIG. 1 illustrates a service gateway 110 for processing a communication session 300 between a host 100 and a server 200 .
  • a plurality of data packets are sent between host 100 and server 200 over the communication session 300 .
  • the service gateway 110 receives a service request 301 data packet from a host 100 to establish communication session 300 .
  • Service request 301 is delivered over a data network 153 .
  • Service request 301 may be a Web service request such as a HTTP (Hypertext Transport Protocol) request, a secure HTTP request, a FTP (File Transfer Protocol) request, a file transfer request, a SIP (Session Initiation Protocol) session request, a request based on Web technology, a video or audio streaming request, a Web conferencing session request, or any request over the Internet, corporate network, data center network, or a network cloud.
  • Service request 301 may be a request for a mobile application download, an advertisement delivery request, an e-book delivery request, a collaboration session request, or an on-line newspaper or magazine delivery request.
  • Host 100 is a computing device with network access capabilities.
  • Host 100 may be a workstation, a desktop personal computer or a laptop personal computer.
  • host 100 is a Personal Data Assistant (PDA), a tablet, a smartphone, or a cellular phone.
  • PDA Personal Data Assistant
  • host 100 may be a set-top box, an Internet media viewer, an Internet media player, a smart sensor, a smart medical device, a net-top box, a networked television set, a networked DVR, a networked Blu-ray player, or a media center.
  • Service gateway 110 is a computing device operationally coupled to a processor 113 and a computer readable medium 114 for storing computer readable program code to be executed by the processor 113 .
  • Service gateway 110 may be implemented as a server load balancer, an application delivery controller, a service delivery platform, a traffic manager, a security gateway, a component of a firewall system, a component of a virtual private network (VPN), a load balancer for video servers, or a gateway to distribute load to one or more servers.
  • VPN virtual private network
  • Server 200 is a computing device operationally coupled to a processor 213 and a computer readable medium 214 for storing computer readable program code to be executed by the processor 213 .
  • the computer readable program code may implement server 200 as a Web server, a file server, a video server, a database server, an application server, a voice system, a conferencing server, a media gateway, a SIP server, a remote access server, a VPN server, a media center, an app server or a network server providing a network or application service to host 100 .
  • Data network 153 may include an Internet Protocol (IP) network.
  • IP Internet Protocol
  • Data network 153 may include a corporate data network or a regional corporate data network, an Internet service provider network, a residential data network, a wired network such as Ethernet, a wireless network such as a WiFi network, or cellular network.
  • Data network 153 may reside in a data center, or connects to a network or application network cloud.
  • Service request 301 from host 100 includes a service address 331 , such as an IP address.
  • Service address 331 includes an application layer address or a transport layer port number, such as transmission control protocol (TCP) port number or user datagram protocol (UDP) port number.
  • TCP transmission control protocol
  • UDP user datagram protocol
  • Service address 331 is associated with service gateway 110 so that service gateway 110 processes the service request 301 .
  • Service address 331 may include a destination IP address of service request 301 , and optionally may include destination transport layer port number of service request 301 .
  • Service request 301 may include a TCP session request data packet, or a UDP data packet.
  • Service address 331 is included in the data packet of service request 301 .
  • Service gateway 110 determines a server address 321 based on service address 331 obtained from service request 301 .
  • Server address 321 is associated with server 200 and may include a network address or IP address of server 200 .
  • Server address 321 may include an application layer address, such as a TCP port number or a UDP port number of server 200 .
  • service gateway 110 sends a service session request 306 to server 200 . Subsequently service gateway 110 receives a response to session request 306 from server 200 and establishes a server-side service session 305 with server 200 . Based on session request 306 response, service gateway 110 sends a service request 301 response to host 100 , and establishes a host-side service session 302 with host 100 for service request 301 .
  • Communication session 300 includes host-side service session 302 and server-side service session 305 .
  • Service session 302 includes one or more data packets from host 100 for communication session 300 .
  • Service session 305 includes one or more data packets from server 200 for communication session 300 .
  • Service session 302 may include service request 301 .
  • service gateway 110 Upon establishment of service session 302 and service session 305 , service gateway 110 subsequently processes a data packet 304 of service session 302 received from host 100 .
  • Data packet 304 includes service address 331 .
  • Service gateway 110 modifies data packet 304 by replacing service address 331 with server address 321 .
  • Service gateway 110 sends modified data packet 304 to server 200 .
  • service gateway 110 When service gateway 110 receives a data packet 307 of service session 305 from server 200 , service gateway 110 processes data packet 307 .
  • Data packet 307 of service session 305 may include server address 321 .
  • Service gateway 110 modifies data packet 307 by replacing server address 321 with service address 331 .
  • Service gateway 110 sends modified data packet 307 to host 100 .
  • FIG. 2 illustrates a stateful processing method.
  • service gateway 110 maintains a service session table 412 .
  • Session table 412 stores one or more service session entries.
  • Service gateway 110 creates a session entry 420 for service session 302 .
  • Session entry 420 stores service address 331 and server address 321 to associate service address 331 and server address 321 .
  • Service gateway 110 may create session entry 420 after establishing host-side service session 302 and server-side service session 306 .
  • Service gateway 110 may create session entry 420 after receiving service request 301 .
  • Service gateway 110 stores service address 331 and server address 321 in session entry 420 after service gateway 110 determines the addresses.
  • Service gateway 110 stores session entry 420 in session table 412 .
  • Service gateway 110 includes a storage 400 and stores session table 412 in storage 400 .
  • Storage 400 is a memory module residing in service gateway 110 .
  • Service gateway 110 includes a network processing module (not shown) comprising a field programmable gate array (FPGA), a network processor, an application specific integrated circuit (ASIC).
  • Storage 400 is associated with the network processing module. Examples of storage 400 include a content addressable memory (CAM), a ternary content addressable memory (TCAM), a static random accessible memory (SRAM), or a dynamic random accessible memory (DRAM).
  • CAM content addressable memory
  • TCAM ternary content addressable memory
  • SRAM static random accessible memory
  • DRAM dynamic random accessible memory
  • Service gateway 110 obtains service address 331 from service request 301 .
  • Service gateway 110 maintains a service policy 471 and determines server address 321 based on service policy 471 .
  • Service policy 471 may be based on a relationship between server 200 and service address 331 .
  • Service policy 471 includes service address 331 and server address 321 .
  • Service gateway 110 selects service policy 471 based on a match between service address 331 obtained from service request 301 and the service address in the service policy 471 .
  • Service gateway 110 applies service policy 471 to service request 301 .
  • Service policy 471 may include a security policy 482 where a non-secure service request 301 can be sent to server 200 .
  • Service policy 471 may include a traffic policy 483 , where service request 301 is served by server 200 when traffic load to server 200 is low. Service request 301 may be received from a predetermined network interface of service gateway 110 and traffic policy 483 indicates that service request 301 from the network interface should be sent to server 200 .
  • Service policy 471 may include a server load policy 484 indicating that service request 301 is to be sent to server 200 when server load of server 240 is high.
  • service policy 471 includes a server availability policy 485 indicating that service request 301 is to be sent to server 200 , where server 200 is a back-up server to server 240 , and server 240 is not available.
  • Service policy 471 may include a load balancing policy 486 between server 200 and server 240 .
  • Service gateway 110 selects server 200 using the load balancing policy 486 , which may include a round robin or another load balancing scheme.
  • Service policy 471 may include a host policy 487 indicating that service request 301 is to be sent to server 200 when host 100 satisfies host policy 487 .
  • service gateway 110 After service gateway 110 applies service policy 471 to service request 301 , service gateway 110 retrieves server address 321 from service policy 471 .
  • Service gateway 110 creates session entry 420 with service address 331 and server address 321 , associating service address 331 and server address 321 .
  • Service gateway 110 stores session entry 420 in session table 412 .
  • Service gateway 110 uses session table 412 to process data packet 304 received from host 100 , and data packet 307 received from server 200 .
  • service gateway 110 receives data packet 304 from host 100
  • service gateway 110 obtains service address 331 from data packet 304 .
  • Service gateway 110 compares the obtained service address 331 against service addresses stored in session table 412 .
  • service gateway 110 determines there is a match between the obtained service address 331 and session entry 420 in session table 412
  • service gateway 110 uses information stored in session entry 420 to process data packet 304 .
  • Service gateway 110 modifies data packet 304 by replacing service address 331 with server address 321 , where server address 321 is obtained from the matched session entry 420 .
  • Service gateway 110 sends modified data packet 304 to server 200 .
  • Service request 301 may include a host address 104 associated with host 100 .
  • Service gateway 110 retrieves host address 104 from service request 301 .
  • Service gateway 110 may use retrieved host address 104 when applying service policy 471 .
  • Service gateway 110 stores host address 104 in service session entry 420 .
  • Data packet 304 may include host address 104 .
  • Service gateway 110 obtains host address 104 from data packet 304 and compares the obtained host address 104 against addresses stored in session table 412 and session entry 420 .
  • service gateway 110 When service gateway 110 receives a data packet 307 of server-side service session 305 from server 200 , service gateway 110 retrieves server address 321 from data packet 307 . Service gateway 110 compares the obtained server address 321 against addresses stored in session table 412 , and determines there is a match with session entry 420 . In response to determining there is a match, service gateway 110 uses session entry 420 to process data packet 307 . Service gateway 110 modifies data packet 307 by replacing server address 321 with service address 331 , which is retrieved from the matched session entry 420 . Service gateway 110 sends modified data packet 307 to host 100 .
  • Data packet 307 may include host address 104 .
  • Service gateway 110 obtains host address 104 from data packet 307 and uses the obtained host address 104 in comparing against addresses stored in session table 412 and session entry 420 .
  • Data packet 304 received from service session 302 may indicate a session termination request.
  • data packet 304 is a TCP FIN packet, a TCP RESET packet.
  • Service gateway 110 inspects data packet 304 content and determines data packet 304 includes a session termination request. In response, service gateway 110 removes session entry 420 from session table 412 . Service gateway 110 may remove session entry 420 after processing data packet 304 or waits for a pre-determined period of time before removing session entry 420 .
  • a stateful processing method allows service gateway 110 to apply one or more service policies to select server 200 .
  • the service policies may include security policies and other policies to protect server 200 .
  • Security policy 482 may cause service request 301 to be declined if a security concern is detected. Such security consideration is known to those skilled in the art and is not described in this application.
  • Applying traffic policy 483 or server load policy 484 can also protect server 200 from overloading. Enforcing the service policies often improves service response time of server 200 to serve host 100 .
  • service policy 471 to service request 301 requires computation resource of service gateway 110 , such as CPU cycles. Such computation requirement may post a limitation on the ability of service gateway 110 to provide services when service gateway 110 receives and processes a large number of service requests over a short period of time.
  • session table 412 has a certain capacity limit, such as 4 GB, 2000 entries, up to 10000 entries or 200 MB.
  • the capacity of session table 412 may become a severe limitation to the servicing capabilities of service gateway 110 .
  • FIG. 3 illustrates a stateless processing method.
  • service gateway 110 does not use session table 412 . Instead, service gateway 110 maintains and uses a service mapping table 452 .
  • Service mapping table 452 is stored in storage 400 .
  • Service mapping table 452 includes a service mapping entry 460 .
  • Mapping entry 460 may include service address 331 and server address 321 , associating service address 331 and server address 321 . According to the service mapping entry 460 , server 200 with server address 321 serves host 100 for service address 331 .
  • service gateway 110 When service gateway 110 receives a data packet 304 from host 100 , service gateway 110 obtains service address 331 from data packet 304 , and compares service address 331 with service addresses stored in service mapping table 452 . When service gateway 110 determines there is a match with mapping entry 460 , service gateway 110 retrieves server address 321 from mapping entry 460 . Service gateway 110 modifies data packet 304 by replacing service address 331 with server address 321 . Service gateway 110 sends modified data packet 304 to server 200 .
  • service gateway 110 When service gateway 110 receives a data packet 307 from server 200 , service gateway 110 processes data packet 307 using service mapping table 452 .
  • Service gateway 110 obtains server address 321 from data packet 307 .
  • Service gateway 110 compares server address 321 against server addresses stored in service mapping table 452 .
  • service gateway 110 retrieves service address 331 from mapping entry 460 , and modifies data packet 307 by replacing server address 321 with service address 331 . Subsequently service gateway 110 sends modified data packet 307 to host 100 .
  • Service gateway 110 may match service address 331 or server address 321 against service mapping table 452 using a hash method.
  • Service mapping table 452 includes a hash table using a hash function (HashFunc) 571 .
  • Mapping entry 460 is associated with a hash value (HashValue 581 ).
  • HashValue 581 includes the result of applying HashFunc 571 to service address 331 .
  • HashValue 581 may include the result of applying HashFunc 571 to server address 321 .
  • HashValue 581 may include an index of mapping entry 460 in service mapping table 452 .
  • Mapping entry 460 occupies an entry in service mapping table 452 indexed by HashValue 581 .
  • service mapping table 452 contains 1000 entries where the indices are 1-1000, and mapping entry 460 has an index of 894.
  • service mapping table 452 contains 16 entries and mapping entry 460 has an index of 7.
  • Service gateway 110 applies HashFunc 571 to service address 331 of data packet 304 to obtain HashValue 581 . Assume that service gateway 110 searches service mapping table 452 for an entry with index HashValue 581 and finds mapping entry 460 . For data packet 307 , service gateway 110 applies HashFunc 571 to server address 321 of data packet 307 to obtain HashValue 581 . Service gateway 110 searches service mapping table 452 for an entry with index HashValue 581 and finds mapping entry 460 .
  • Mapping entry 460 may include HashValue 581 .
  • service gateway 110 applies hash function HashFunc 571 to obtain HashValue 581 , service gateway 110 searches service mapping table 452 and finds mapping entry 460 containing an index matching HashValue 581 .
  • HashFunc 571 examples include CRC checksum functions and other checksum functions; hash functions using a combination of bit-wise operators such as bit-wise AND operator, bit-wise OR operator, bit-wise NAND operator and bit-wise XOR operator; MD5 hash functions and other cryptography hash functions; Jenkins hash function and other non-cryptography hash functions; hardware based hash functions implemented in FPGA, ASIC or an integrated circuit board of service gateway 110 ; and other types of hash functions or table lookup functions. Typically such hash functions are simple and can be calculated rapidly by service gateway 110 .
  • Data packet 304 includes host address 104 associated with host 100 .
  • Service gateway 110 obtains host address 104 from data packet 304 and uses the obtained host address 104 in the processing of data packet 304 .
  • Data packet 307 includes host address 104 .
  • Service gateway obtains host address 104 from data packet 307 and uses the obtained host address 104 in the processing of data packet 307 .
  • mapping entry 460 is configured by a service provider or an administrator of a service provider. Mapping entry 460 may be configured when server 200 becomes available, or when server address 321 or service address 331 becomes available. Server address 321 or service address 331 may be configured by the service provider to become available.
  • service mapping table 452 is not related to the number of service sessions processed by service gateway 110 .
  • the capacity of service mapping table 452 is related to the number of available service addresses and server addresses. Such capacity is usually small.
  • Service mapping tables 452 may have a few tens of entries or a few thousand entries.
  • a stateless processing method includes small resource requirement for service mapping table 452 , a minimal or no computational requirement to handle service request 301 , or no requirements to apply service policy 471 .
  • a stateless processing method is usually preferred over a stateful processing method when service gateway 110 receives a large number of service session requests in a short period of time, or under a heavy load of service requests.
  • a stateless method is also preferred when the memory capacity of session table for new sessions is running low, say below 10% of the session table 412 .
  • a stateless method protects service gateway 110 from resource overload and therefore maintains service quality towards host 100 under stressful situations.
  • a stateless processing method may be less desirable than a stateful processing method due to security concerns, since service gateway 110 does not apply security policy 482 . Similarly service gateway 110 does not apply any other policy in service policy 471 , affecting security of server 200 , security of data network 153 , traffic condition of data network 153 , and service quality rendered to host 100 .
  • a stateful processing method is also preferred over the stateless processing method when service gateway 110 may select server address 321 from a plurality of server addresses. For example, a service provider may configure a plurality of servers to serve service address 331 in a load balancing manner. A service provider may configure a backup server for service address 331 .
  • a service provider may use a stateful processing method for a first service address while using a stateless processing method for a different second service address.
  • the service provider does not expect the first service to have significant traffic or usage.
  • the service provider may not expect the second service to be a security concern.
  • the first service may see a sudden surge of traffic due to an unforeseen situation, whereas the second service may suffer a security attack.
  • a service provider may combine a stateful processing method for the first service when the load is light and change to a stateless processing method when the load becomes heavy; and may deploy a hybrid processing method to combine a stateless processing method for the second service during normal circumstances and switch immediately to a stateful processing method when a security alert is detected for the second service.
  • FIGS. 4 through 11 The various embodiment of the present invention are now described with reference to FIGS. 4 through 11 .
  • FIG. 4 illustrates an embodiment of a service gateway 110 performing a hybrid-stateless processing method combining a stateful processing method and a stateless process method according to the present invention.
  • FIG. 8 is a flowchart illustrating an embodiment of a hybrid-stateless processing method according to the present invention.
  • the computer readable medium 114 of the service gateway 110 stores computer readable program code, which when executed by processor 113 , implements the various embodiment of the present invention.
  • Service gateway 110 maintains session table 412 and service mapping table 452 in storage 400 .
  • service gateway 110 processes a received data packet 304 with a stateless method using service mapping table 452 when the service address of the received data packet 304 does not match any service addresses stored in session table 412 .
  • Service gateway 110 connects to server 200 and server 240 .
  • Server 200 is associated with server address 321 .
  • Server 240 is associated with server address 324 .
  • Service gateway 110 is associated with service address 331 and service address 334 .
  • session table 412 includes a session entry 420 which stores service address 331 and server address 321 , associating service address 331 and server address 321 .
  • Service mapping table 452 includes a mapping entry 462 which stores service address 334 and server address 324 , associating service addresses 334 and 324 .
  • server 200 may be the same as server 240 .
  • Server address 321 may be the same as server address 324 .
  • Service address 331 may be the same as service address 334 .
  • service gateway 110 receives a data packet 304 from host 100 ( 801 ).
  • Service gateway 110 obtains service address 336 from data packet 304 ( 802 ).
  • Service gateway 110 compares service address 336 of data packet 304 against service addresses stored in session table 412 ( 803 ).
  • service gateway 110 finds a match in session entry 420 , where service address 336 matches service address 331 of session entry 420 ( 804 ). In response to finding the match, service gateway 110 processes data packet 304 based on information stored in session entry 420 using a stateful processing method ( 805 ), such as the one described above with reference to FIG. 2 .
  • service gateway 110 When service gateway 110 does not find a match in session table 412 ( 804 ), service gateway 110 compares service address 336 of data packet 304 against service addresses in service mapping table 452 ( 806 ). If service gateway 110 finds a match in mapping entry 462 of service mapping table 452 , wherein service address 336 matches service address 324 of mapping entry 462 ( 807 ), service gateway 110 processes data packet 304 based on information stored in mapping entry 462 using a stateless processing method ( 808 ), such as the one described above with reference to FIG. 3 .
  • service gateway 110 receives a data packet 307 from server 200 ( 830 ).
  • Service gateway 110 extracts server address 321 from data packet 307 ( 831 ) and compares server address 321 of data packet 307 against server addresses stored in session table 412 ( 832 ).
  • service gateway 110 finds a match in session entry 420 , with server address 321 of data packet 307 matching server address 321 of session entry 420 ( 803 )
  • service gateway 110 processes data packet 308 using the stateful processing method ( 805 ), as described above with reference to FIG. 2 .
  • service gateway 110 receives a data packet 308 from server 240 ( 830 ).
  • Service gateway 110 extracts server address 324 from data packet 308 ( 832 ) and compares server address 324 of data packet 308 against server addresses stored in session table 412 ( 832 ).
  • service gateway 110 compares server address 324 of data packet 308 against server addresses stored in service mapping table 452 ( 834 ) and finds a match in mapping entry 462 , where server address 324 of data packet 308 matches server address 324 of mapping entry 462 ( 807 ).
  • service gateway 110 modifies data packet 308 based on information stored in mapping entry 462 using a stateless processing method ( 808 ).
  • Service gateway 110 sends modified data packet 308 .
  • FIG. 5 illustrates an embodiment of a service gateway 110 performing a hybrid-stateful processing method combining a stateful processing method and a stateless processing method according to the present invention.
  • FIG. 9 is a flowchart illustrating an embodiment of the hybrid-stateful processing method according to the present invention.
  • service gateway 110 receives a data packet 304 from host 100 ( 901 ).
  • service gateway 110 determines that data packet 304 includes a service request 301 from host 100 ( 902 ).
  • service gateway 110 applies a stateful processing method to service request 301 ( 903 ).
  • Service gateway 110 performs the stateful processing method, including applying service policy 471 to service request 301 , creating session entry 420 using service address 331 of service request 301 and server address 321 of service policy 471 , as described above with reference to FIG. 2 .
  • service gateway 110 determines data packet 304 does not include a service request ( 902 ). In response, service gateway 110 processes data packet 304 using the hybrid-stateless processing method, as described above with reference to FIG. 4 .
  • service gateway 110 receives a data packet 307 from server 200 ( 901 ).
  • service gateway 110 applies a hybrid-stateless processing method to data packet 307 ( 904 ), as described above with reference to FIG. 4 .
  • FIGS. 6 and 10 illustrate an embodiment of a service gateway and a method, respectfully, for changing from a hybrid-stateful processing method to a hybrid-stateless processing method in response to a hybrid-stateless condition being satisfied according to the present invention.
  • service gateway 110 is using a hybrid-stateful processing method ( 1001 ).
  • Service gateway 110 maintains a hybrid-stateless condition 810 .
  • Service gateway 110 checks if hybrid-stateless condition 810 is satisfied ( 1002 ). In response to determining that the hybrid-stateless condition 810 is satisfied ( 1003 ), service gateway 110 changes to a hybrid-stateless processing method ( 1004 ).
  • the service gateway 110 processes the next data packet received using the hybrid-stateless processing method, as described above with reference to FIGS. 4 and 8 .
  • the service gateway 110 continues using the hybrid-stateful processing method ( 1005 ), as described above with reference to FIGS. 5 and 9 .
  • hybrid-stateless condition 810 includes a session rate 811 .
  • session rate 811 is 10 thousand sessions per second, 5 thousand active sessions per second, or one hundred sessions per 10 milliseconds.
  • service gateway 110 calculates a session rate 821 .
  • Session rate 821 can be calculated based on a count of active host-side service sessions over a period of time. When the service session is associated with a session entry in session table 412 , a service session is active. In various embodiments, session rate 821 calculates a difference between a count of received service requests and a count of received service termination requests over a period of time. In other embodiments, session rate 821 calculates a count of service requests received over a period of time.
  • service gateway 110 calculates a session rate 821 in a predetermined period of time, such as every second, once every 250 milliseconds, once every 3 seconds or once every 10 seconds. In other embodiments, service gateway 110 calculates session rate 821 at variable times. For example, service gateway 110 calculates session rate 821 when a data packet from a host is received; when a service request is received; when a service termination request is received; or when a data packet is received from server 200 . Service gateway 110 compares session rate 821 with session rate 811 of hybrid-stateless condition 810 . If session rate 821 exceeds or is equal to session rate 811 , service gateway 110 determines that hybrid-stateless condition 810 is met and satisfied.
  • hybrid-stateless condition 810 includes a session table utilization 814 .
  • a session table utilization is a parameter setting forth a percentage of the session table capacity that is storing session entries.
  • Hybrid-stateless condition 810 is satisfied if a count of stored session entries of session table 412 exceeds session table utilization 814 .
  • session table utilization 814 is 90%, 85% or 95%.
  • Service gateway 110 calculates a session table utilization 824 from time to time by calculating a count of stored session entries of session table 412 .
  • service gateway 110 calculates session table utilization 824 periodically, such as every second, once every 20 milliseconds, once every 500 milliseconds, or once every 2 seconds.
  • service gateway 110 calculates session table utilization 824 when service gateway 110 processes a service request, a service termination request, or a data packet.
  • Service gateway 110 compares session table utilization 824 with session table utilization 814 of hybrid-stateless condition 810 . When session table utilization 824 exceeds or is equal to session table utilization 814 , service gateway 110 determines that hybrid-stateless condition 810 is met and satisfied.
  • hybrid-stateless condition 810 further includes a time duration 816 , where hybrid-stateless condition 810 must be considered met for at least a time duration 816 in order for the hybrid-stateless condition 810 to be satisfied. Examples of time duration 816 include 120 seconds, 30 seconds, and 5 seconds.
  • Service gateway 110 checks from time to time whether the hybrid-stateless condition 810 is met, as described earlier. In various embodiments, service gateway 110 further includes a time duration 826 stored in memory. Initially, service gateway 110 assigns a value of 0 to the time duration 826 . From time to time, service gateway 110 checks if hybrid-stateless condition 810 is met.
  • service gateway 110 increases the time duration 826 by an amount of time elapsed since the last time the hybrid-stateless condition 810 was checked. After the time duration 826 is modified, service gateway 110 checks if the time duration 826 exceeds time duration 816 . If time duration 826 exceeds time duration 816 , service gateway 110 determines that hybrid-stateless condition 810 is satisfied. Service gateway 110 subsequently changes to employ a hybrid-stateless method with subsequently received data packets.
  • service gateway 110 modifies the time duration 826 to a value of 0.
  • service gateway 110 receives hybrid-stateless condition 810 from an operator or an administrator 130 .
  • Administrator 130 can be a human operator provisioning hybrid-stateless condition 810 onto service gateway 110 .
  • Administrator 130 can be a network management system sending hybrid-stateless condition 810 to service gateway 110 .
  • Administrator 130 may include a storage medium storing hybrid-stateless condition 810 .
  • Service gateway 110 retrieves hybrid-stateless condition 810 from the storage of administrator 130 .
  • FIGS. 7 and 11 illustrate an embodiment of a service gateway and a method, respectfully, for changing from a hybrid-stateless processing method to a hybrid-stateful processing method in response to a hybrid-stateful condition being satisfied according to the present invention.
  • service gateway 110 employs a hybrid-stateless processing method ( 1101 )
  • Service gateway 110 maintains a hybrid-stateful condition 910 .
  • Service gateway 110 checks if hybrid-stateful condition 910 is satisfied ( 1102 ).
  • service gateway 110 changes to a hybrid-stateful processing method ( 1104 ) and processes the next data packet using the hybrid-stateful processing method, described above with reference to FIGS.
  • service gateway 110 In response to determining that the hybrid-stateful condition 910 is not satisfied ( 1103 ), service gateway 110 continues using the hybrid-stateless processing method ( 1105 ) and processes the next data packet using the hybrid-stateless processing method, as described above with reference to FIGS. 4 and 8 .
  • hybrid-stateful condition 910 includes a session rate 911 .
  • session rate 911 is 1 thousand sessions per second, 500 active sessions per second, or ten sessions per 10 milliseconds.
  • Service gateway 110 can calculate a session rate 921 .
  • session rate 921 calculates a difference between a count of received service requests and a count of received service termination requests over a period of time. Session rate 921 may also calculate a count of service requests received over a period of time.
  • service gateway 110 determines if a data packet received from a host includes a service request before applying a hybrid-stateless processing method to the received data packet. Service gateway 110 may also determine if a data packet received from a host or a server includes a service termination request before applying a hybrid-stateless processing method to the received data packet.
  • service gateway 110 calculates session rate 921 in a predetermined period of time, such as every second, once every 100 milliseconds, once every 3 seconds, or once every 5 seconds.
  • Service gateway 110 may also calculate session rate 921 at variable times. For example, service gateway 110 calculates session rate 921 when a data packet from a host is received; when a service request is received; when a service termination request is received; or when a data packet is received from a server.
  • Service gateway 110 compares session rate 921 with session rate 911 . If session rate 921 is below or smaller than session rate 911 , service gateway 110 determines that hybrid-stateful condition 910 is met and satisfied.
  • hybrid-stateful condition 910 includes a session table utilization 914 .
  • Hybrid-stateful condition 910 is satisfied if a count of stored session entries of session table 412 does not exceed session table utilization 914 .
  • session table utilization 914 is 60%, 75% or 45%.
  • Service gateway 110 calculates session table utilization 924 from time to time by calculating a count of stored session entries of session table 412 .
  • service gateway 110 calculates session table utilization 924 periodically, such as every second, once every 20 milliseconds, once every 500 milliseconds, or once every 2 seconds.
  • Service gateway 110 may also calculate session table utilization 924 when service gateway 110 processes a service request, a service termination request, or a data packet.
  • Service gateway 110 compares session table utilization 924 with session table utilization 914 of hybrid-stateful condition 910 . If session table utilization 924 is smaller than session table utilization 914 , service gateway 110 determines that hybrid-stateful condition 910 is met and satisfied.
  • Hybrid-stateful condition 910 may further include a time duration 916 , where hybrid-stateful condition 910 must be considered met for at least a time duration 916 in order for the hybrid-stateful condition 910 is satisfied. Examples of time duration 916 include 100 seconds, 40 seconds, and 5 seconds.
  • Service gateway 110 checks from time to time if the hybrid-stateful condition 910 is met as described earlier. In some embodiments, service gateway 110 further includes a time duration 926 stored in memory. Initially, service gateway 110 assigns a value of 0 to the time duration 926 . From time to time, service gateway 110 determines if hybrid-stateful condition 910 is met.
  • service gateway 110 increases the time duration 926 by an amount of time elapsed since the last time the hybrid-stateful condition 910 was checked. In various embodiments, after the time duration 926 is modified, service gateway 110 checks if the time duration 926 exceeds time duration 916 . If time duration 926 exceeds time duration 916 , service gateway 110 determines hybrid-stateful condition 910 is satisfied. Service gateway 110 subsequently changes to employ a hybrid-stateful method with subsequently received data packets.
  • service gateway 110 receives hybrid-stateful condition 910 from an operator or an administrator 130 .
  • Administrator 130 can be a human operator provisioning hybrid-stateful condition 910 onto service gateway 110 .
  • Administrator 130 can be a network management system sending hybrid-stateful condition 910 to service gateway 110 .
  • Administrator 130 can include a storage medium storing hybrid-stateful condition 910 .
  • Service gateway 110 retrieves hybrid-stateful condition 910 from the storage of administrator 130 .
  • FIG. 8 shows that when the service gateway 110 is processing data packets using the stateful processing method ( 805 ), the service gateway 110 would check whether the hybrid-stateless condition 801 is met (see FIG. 10 ).
  • FIG. 8 also shows that when the service gateway 110 is processing data packets using the stateless processing method ( 808 ), the service gateway 110 would check whether the hybrid-stateful condition 910 is met (see FIG. 11 ).
  • the references (C and D) to FIGS. 10 and 11 are not intended to convey any order of steps. The checking of the conditions 810 or 910 may occur concurrently with the processing of data packets, as described above with reference to FIGS. 4 and 8 .
  • FIG. 9 shows that when the service gateway 110 is processing data packets using the stateful processing method ( 903 ), the service gateway 110 would check whether the hybrid-stateless condition 810 is met (see FIG. 10 ).
  • FIG. 9 also shows that when the service gateway 110 is processing data packets using the hybrid-stateless processing method ( 904 ), the service gateway 110 would either check if the hybrid-stateless condition 810 or the hybrid-stateful condition 910 is met (see FIGS. 10 and 11 ), depending on the processing during the hybrid states processing method per FIGS. 4 and 8 .
  • FIGS. 10 (C) and 11 (D) are not intended to convey any order of steps. The checking of the conditions 810 or 910 may occur concurrently with the processing of data packets as illustrated in FIGS. 5 and 9 .

Abstract

The processing of data packets sent over a communication session between a host and a server by a service gateway includes processing a data packet using a current hybrid-stateful or hybrid-stateless processing method. The processing then checks whether a hybrid-stateless or hybrid-stateful condition is satisfied. When one of the sets of conditions is satisfied, the process includes changing from a hybrid-stateful to a hybrid-stateless processing method, or vice versa, for a subsequently received data packet. If the conditions are not satisfied, the process continues as originally structured.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of and claims the priority benefit of U.S. patent application Ser. No. 13/280,336 filed on Oct. 24, 2011, and issued on Nov. 25, 2014 as U.S. Pat. No. 8,897,154, entitled “Combining Stateless and Stateful Server Load Balancing,” the disclosure of which is incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field
This invention relates generally to data communications, and more specifically, to a service gateway.
2. Related Art
Demand for data communication services for consumer and corporate computing devices has been rapidly increasing. Service providers deploy service gateways such as server load balancers or traffic managers to bridge host computers or computing devices with servers providing the data services.
Service gateways provide services either using a stateful processing method or a stateless processing method. Generally, in a stateful processing method, packets are processed as a stream of packets, and each packet in the stream are processed in the same way. In a stateless processing method, packets are processed discretely, where each packet is assessed individually. The stateful processing method may be preferred over the stateless processing method due to the security and control features that may be implemented, however, the resource requirements of such features may make the services difficult to scale. The stateless processing method may be preferred over the stateful processing method due to its scalability, however, this is at the expense of security and control.
Traffic managed by service gateways is rarely uniform, as conditions on a network typically fluctuate, at times greatly. Currently, system administrators are required to choose either a stateful processing method or a stateless processing method for a particular service address, weighing the costs and benefits of each method. System administrators are not able to realize the advantages of both processing methods for such non-uniform traffic.
BRIEF SUMMARY OF THE INVENTION
According to one embodiment of the present invention, a method for processing data packets sent over a communication session between a host and a server by a service gateway, comprises: processing a data packet using a hybrid-stateful processing method by the service gateway; checking by the service gateway whether a hybrid-stateless condition is satisfied; in response to determining that the hybrid-stateless condition is satisfied, changing to a hybrid-stateless processing method for a subsequently received data packet by the service gateway; and in response to determining that the hybrid-stateless condition is not satisfied, processing the subsequently received data packet using the hybrid-stateful processing method by the service gateway.
In another embodiment of the present invention, a method for processing data packets sent over a communication session between a host and a server by a service gateway, comprises: processing a data packet using a hybrid-stateless processing method by the service gateway, wherein the hybrid-stateless processing method processes the data packet using a stateless processing method unless a service address or a server address of the data packet matches a session entry in a session table; checking by the service gateway whether a hybrid-stateful condition is satisfied; in response to determining that the hybrid-stateful condition is satisfied, changing to a hybrid-stateful processing method for a subsequently received data packet by the service gateway, wherein the hybrid-stateful processing method processes the subsequently received data packet using a stateful processing method unless the subsequently received data packet either does not comprise a service request or the subsequently received data packet is received from the server; in response to determining that the hybrid-stateful condition is not satisfied, processing the subsequently received data packet using the hybrid-stateless processing method by the service gateway; wherein the hybrid-stateful processing method comprises: receiving the data packet by the service gateway; determining by the service gateway whether the data packet is received by the service gateway from the host or the server; in response to determining that the data packet is received from the host, determining by the service gateway whether the data packet comprises a service request; in response to determining that the data packet comprises the service request, processing the data packet using the stateful processing method by the service gateway; in response to determining that the data packet is received from the host and does not comprise the service request, processing the data packet using the hybrid-stateless processing method by the service gateway; and in response to determining that the data packet is received from the server, processing the data packet using the hybrid-stateless processing method by the service gateway.
In one aspect of the present invention, the hybrid-stateless processing method comprises: receiving the subsequently received data packet from the host by the service gateway; obtaining the service address from the subsequently received data packet by the service gateway; comparing the service address of the subsequently received data packet against service addresses stored in session entries in the session table by the service gateway; in response to determining that the session table comprises a session entry matching the service address of the subsequently received data packet, processing the subsequently received data packet based on information stored in the matching session entry using the stateful processing method by the service gateway. In response to determining that the session table does not comprise any session entry matching the service address of the subsequently received data packet: comparing the service address of the subsequently received data packet against service addresses stored in mapping entries in a mapping table by the service gateway, finding a mapping entry matching the service address of the subsequently received data packet by the service gateway, and processing the subsequently received data packet based on information stored in the matching mapping entry using the stateless processing method by the service gateway.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a service gateway for processing a communication session between a host and a plurality of servers.
FIG. 2 illustrates a stateful processing method.
FIG. 3 illustrates a stateless processing method.
FIG. 4 illustrates an embodiment of a service gateway performing a hybrid-stateless processing method combining a stateful processing method and a stateless processing method according to the present invention.
FIG. 5 illustrates an embodiment of a service gateway performing a hybrid-stateful processing method combining a stateful processing method and a stateless processing method according to the present invention.
FIG. 6 illustrates an embodiment of a service gateway changing from a hybrid-stateful processing method to a hybrid-stateless processing in response to a hybrid-stateless condition being satisfied according to the present invention.
FIG. 7 illustrates an embodiment of a service gateway changing from a hybrid-stateless processing method to a hybrid-stateful processing method in response to a hybrid-stateful condition being satisfied according to the present invention.
FIG. 8 is a flowchart illustrating an embodiment of a hybrid-stateless processing method according to the present invention.
FIG. 9 is a flowchart illustrating an embodiment of a hybrid-stateful processing method according to the present invention.
FIG. 10 is a flowchart illustrating an embodiment of a method for changing from a hybrid-stateful processing method to a hybrid-stateless processing in response to a hybrid-stateless condition being satisfied according to the present invention.
FIG. 11 is a flowchart illustrating an embodiment of a method for changing from a hybrid-stateless processing method to a hybrid-stateful processing method in response to a hybrid-stateful condition being satisfied according to the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
The present invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the present invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc.
Furthermore, the present invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, displays, point devices, etc.) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified local function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Embodiments of the present invention provide a security gateway with the capability of processing packets using either a hybrid stateless processing method or a hybrid stateful processing method, and with the capability for assessing conditions in determining whether to switch from using the hybrid stateful processing method to the hybrid stateless processing method or vice versa. Before describing the various embodiments of the present invention, the stateful only and stateless only methods are first described with reference to FIGS. 1 through 3.
FIG. 1 illustrates a service gateway 110 for processing a communication session 300 between a host 100 and a server 200. A plurality of data packets are sent between host 100 and server 200 over the communication session 300. The service gateway 110 receives a service request 301 data packet from a host 100 to establish communication session 300. Service request 301 is delivered over a data network 153. Service request 301 may be a Web service request such as a HTTP (Hypertext Transport Protocol) request, a secure HTTP request, a FTP (File Transfer Protocol) request, a file transfer request, a SIP (Session Initiation Protocol) session request, a request based on Web technology, a video or audio streaming request, a Web conferencing session request, or any request over the Internet, corporate network, data center network, or a network cloud. Service request 301 may be a request for a mobile application download, an advertisement delivery request, an e-book delivery request, a collaboration session request, or an on-line newspaper or magazine delivery request.
Host 100 is a computing device with network access capabilities. Host 100 may be a workstation, a desktop personal computer or a laptop personal computer. In some embodiments, host 100 is a Personal Data Assistant (PDA), a tablet, a smartphone, or a cellular phone. For other examples, host 100 may be a set-top box, an Internet media viewer, an Internet media player, a smart sensor, a smart medical device, a net-top box, a networked television set, a networked DVR, a networked Blu-ray player, or a media center.
Service gateway 110 is a computing device operationally coupled to a processor 113 and a computer readable medium 114 for storing computer readable program code to be executed by the processor 113. Service gateway 110 may be implemented as a server load balancer, an application delivery controller, a service delivery platform, a traffic manager, a security gateway, a component of a firewall system, a component of a virtual private network (VPN), a load balancer for video servers, or a gateway to distribute load to one or more servers.
Server 200 is a computing device operationally coupled to a processor 213 and a computer readable medium 214 for storing computer readable program code to be executed by the processor 213. The computer readable program code may implement server 200 as a Web server, a file server, a video server, a database server, an application server, a voice system, a conferencing server, a media gateway, a SIP server, a remote access server, a VPN server, a media center, an app server or a network server providing a network or application service to host 100.
Data network 153 may include an Internet Protocol (IP) network. Data network 153 may include a corporate data network or a regional corporate data network, an Internet service provider network, a residential data network, a wired network such as Ethernet, a wireless network such as a WiFi network, or cellular network. Data network 153 may reside in a data center, or connects to a network or application network cloud.
Service request 301 from host 100 includes a service address 331, such as an IP address. Service address 331 includes an application layer address or a transport layer port number, such as transmission control protocol (TCP) port number or user datagram protocol (UDP) port number. Service address 331 is associated with service gateway 110 so that service gateway 110 processes the service request 301. Service address 331 may include a destination IP address of service request 301, and optionally may include destination transport layer port number of service request 301.
Service request 301 may include a TCP session request data packet, or a UDP data packet. Service address 331 is included in the data packet of service request 301.
Service gateway 110 determines a server address 321 based on service address 331 obtained from service request 301. Server address 321 is associated with server 200 and may include a network address or IP address of server 200. Server address 321 may include an application layer address, such as a TCP port number or a UDP port number of server 200.
Based on server address 321, service gateway 110 sends a service session request 306 to server 200. Subsequently service gateway 110 receives a response to session request 306 from server 200 and establishes a server-side service session 305 with server 200. Based on session request 306 response, service gateway 110 sends a service request 301 response to host 100, and establishes a host-side service session 302 with host 100 for service request 301.
Communication session 300 includes host-side service session 302 and server-side service session 305. Service session 302 includes one or more data packets from host 100 for communication session 300. Service session 305 includes one or more data packets from server 200 for communication session 300. Service session 302 may include service request 301.
Upon establishment of service session 302 and service session 305, service gateway 110 subsequently processes a data packet 304 of service session 302 received from host 100. Data packet 304 includes service address 331. Service gateway 110 modifies data packet 304 by replacing service address 331 with server address 321. Service gateway 110 sends modified data packet 304 to server 200.
When service gateway 110 receives a data packet 307 of service session 305 from server 200, service gateway 110 processes data packet 307. Data packet 307 of service session 305 may include server address 321. Service gateway 110 modifies data packet 307 by replacing server address 321 with service address 331. Service gateway 110 sends modified data packet 307 to host 100.
There are two common methods in processing service session 302 and service session 305: a stateful processing method and a stateless processing method. FIG. 2 illustrates a stateful processing method. In FIG. 2, service gateway 110 maintains a service session table 412. Session table 412 stores one or more service session entries. Service gateway 110 creates a session entry 420 for service session 302. Session entry 420 stores service address 331 and server address 321 to associate service address 331 and server address 321. Service gateway 110 may create session entry 420 after establishing host-side service session 302 and server-side service session 306. Service gateway 110 may create session entry 420 after receiving service request 301. Service gateway 110 stores service address 331 and server address 321 in session entry 420 after service gateway 110 determines the addresses. Service gateway 110 stores session entry 420 in session table 412.
Service gateway 110 includes a storage 400 and stores session table 412 in storage 400. Storage 400 is a memory module residing in service gateway 110. Service gateway 110 includes a network processing module (not shown) comprising a field programmable gate array (FPGA), a network processor, an application specific integrated circuit (ASIC). Storage 400 is associated with the network processing module. Examples of storage 400 include a content addressable memory (CAM), a ternary content addressable memory (TCAM), a static random accessible memory (SRAM), or a dynamic random accessible memory (DRAM).
Service gateway 110 obtains service address 331 from service request 301. Service gateway 110 maintains a service policy 471 and determines server address 321 based on service policy 471. Service policy 471 may be based on a relationship between server 200 and service address 331. Service policy 471 includes service address 331 and server address 321. Service gateway 110 selects service policy 471 based on a match between service address 331 obtained from service request 301 and the service address in the service policy 471. Service gateway 110 applies service policy 471 to service request 301. Service policy 471 may include a security policy 482 where a non-secure service request 301 can be sent to server 200. Service policy 471 may include a traffic policy 483, where service request 301 is served by server 200 when traffic load to server 200 is low. Service request 301 may be received from a predetermined network interface of service gateway 110 and traffic policy 483 indicates that service request 301 from the network interface should be sent to server 200.
Server 240 also serves service request 301. Service policy 471 may include a server load policy 484 indicating that service request 301 is to be sent to server 200 when server load of server 240 is high. In one example, service policy 471 includes a server availability policy 485 indicating that service request 301 is to be sent to server 200, where server 200 is a back-up server to server 240, and server 240 is not available. Service policy 471 may include a load balancing policy 486 between server 200 and server 240. Service gateway 110 selects server 200 using the load balancing policy 486, which may include a round robin or another load balancing scheme. Service policy 471 may include a host policy 487 indicating that service request 301 is to be sent to server 200 when host 100 satisfies host policy 487.
After service gateway 110 applies service policy 471 to service request 301, service gateway 110 retrieves server address 321 from service policy 471. Service gateway 110 creates session entry 420 with service address 331 and server address 321, associating service address 331 and server address 321. Service gateway 110 stores session entry 420 in session table 412.
Service gateway 110 uses session table 412 to process data packet 304 received from host 100, and data packet 307 received from server 200. When service gateway 110 receives data packet 304 from host 100, service gateway 110 obtains service address 331 from data packet 304. Service gateway 110 compares the obtained service address 331 against service addresses stored in session table 412. When service gateway 110 determines there is a match between the obtained service address 331 and session entry 420 in session table 412, service gateway 110 uses information stored in session entry 420 to process data packet 304. Service gateway 110 modifies data packet 304 by replacing service address 331 with server address 321, where server address 321 is obtained from the matched session entry 420. Service gateway 110 sends modified data packet 304 to server 200.
Service request 301 may include a host address 104 associated with host 100. Service gateway 110 retrieves host address 104 from service request 301. Service gateway 110 may use retrieved host address 104 when applying service policy 471. Service gateway 110 stores host address 104 in service session entry 420. Data packet 304 may include host address 104. Service gateway 110 obtains host address 104 from data packet 304 and compares the obtained host address 104 against addresses stored in session table 412 and session entry 420.
When service gateway 110 receives a data packet 307 of server-side service session 305 from server 200, service gateway 110 retrieves server address 321 from data packet 307. Service gateway 110 compares the obtained server address 321 against addresses stored in session table 412, and determines there is a match with session entry 420. In response to determining there is a match, service gateway 110 uses session entry 420 to process data packet 307. Service gateway 110 modifies data packet 307 by replacing server address 321 with service address 331, which is retrieved from the matched session entry 420. Service gateway 110 sends modified data packet 307 to host 100.
Data packet 307 may include host address 104. Service gateway 110 obtains host address 104 from data packet 307 and uses the obtained host address 104 in comparing against addresses stored in session table 412 and session entry 420.
Data packet 304 received from service session 302 may indicate a session termination request. For example, data packet 304 is a TCP FIN packet, a TCP RESET packet. Service gateway 110 inspects data packet 304 content and determines data packet 304 includes a session termination request. In response, service gateway 110 removes session entry 420 from session table 412. Service gateway 110 may remove session entry 420 after processing data packet 304 or waits for a pre-determined period of time before removing session entry 420.
The processing method illustrated in FIG. 2 is often referred as a stateful processing method. A stateful processing method allows service gateway 110 to apply one or more service policies to select server 200. The service policies may include security policies and other policies to protect server 200. Security policy 482 may cause service request 301 to be declined if a security concern is detected. Such security consideration is known to those skilled in the art and is not described in this application. Applying traffic policy 483 or server load policy 484 can also protect server 200 from overloading. Enforcing the service policies often improves service response time of server 200 to serve host 100.
However, applying service policy 471 to service request 301 requires computation resource of service gateway 110, such as CPU cycles. Such computation requirement may post a limitation on the ability of service gateway 110 to provide services when service gateway 110 receives and processes a large number of service requests over a short period of time.
For example, session table 412 has a certain capacity limit, such as 4 GB, 2000 entries, up to 10000 entries or 200 MB. The greater the number of service sessions serviced by service gateway 110 using a stateful processing method, the greater the number of session entries stored in session table 412. The capacity of session table 412 may become a severe limitation to the servicing capabilities of service gateway 110.
FIG. 3 illustrates a stateless processing method. In this method, service gateway 110 does not use session table 412. Instead, service gateway 110 maintains and uses a service mapping table 452. Service mapping table 452 is stored in storage 400. Service mapping table 452 includes a service mapping entry 460. Mapping entry 460 may include service address 331 and server address 321, associating service address 331 and server address 321. According to the service mapping entry 460, server 200 with server address 321 serves host 100 for service address 331.
When service gateway 110 receives a data packet 304 from host 100, service gateway 110 obtains service address 331 from data packet 304, and compares service address 331 with service addresses stored in service mapping table 452. When service gateway 110 determines there is a match with mapping entry 460, service gateway 110 retrieves server address 321 from mapping entry 460. Service gateway 110 modifies data packet 304 by replacing service address 331 with server address 321. Service gateway 110 sends modified data packet 304 to server 200.
When service gateway 110 receives a data packet 307 from server 200, service gateway 110 processes data packet 307 using service mapping table 452. Service gateway 110 obtains server address 321 from data packet 307. Service gateway 110 compares server address 321 against server addresses stored in service mapping table 452. When service gateway 110 determines there is a match with mapping entry 460, service gateway 110 retrieves service address 331 from mapping entry 460, and modifies data packet 307 by replacing server address 321 with service address 331. Subsequently service gateway 110 sends modified data packet 307 to host 100.
Service gateway 110 may match service address 331 or server address 321 against service mapping table 452 using a hash method. Service mapping table 452 includes a hash table using a hash function (HashFunc) 571. Mapping entry 460 is associated with a hash value (HashValue 581).
HashValue 581 includes the result of applying HashFunc 571 to service address 331. HashValue 581 may include the result of applying HashFunc 571 to server address 321.
HashValue 581 may include an index of mapping entry 460 in service mapping table 452. Mapping entry 460 occupies an entry in service mapping table 452 indexed by HashValue 581. For example, service mapping table 452 contains 1000 entries where the indices are 1-1000, and mapping entry 460 has an index of 894. In another example, service mapping table 452 contains 16 entries and mapping entry 460 has an index of 7.
Service gateway 110 applies HashFunc 571 to service address 331 of data packet 304 to obtain HashValue 581. Assume that service gateway 110 searches service mapping table 452 for an entry with index HashValue 581 and finds mapping entry 460. For data packet 307, service gateway 110 applies HashFunc 571 to server address 321 of data packet 307 to obtain HashValue 581. Service gateway 110 searches service mapping table 452 for an entry with index HashValue 581 and finds mapping entry 460.
Mapping entry 460 may include HashValue 581. After service gateway 110 applies hash function HashFunc 571 to obtain HashValue 581, service gateway 110 searches service mapping table 452 and finds mapping entry 460 containing an index matching HashValue 581.
Examples of hash functions HashFunc 571 include CRC checksum functions and other checksum functions; hash functions using a combination of bit-wise operators such as bit-wise AND operator, bit-wise OR operator, bit-wise NAND operator and bit-wise XOR operator; MD5 hash functions and other cryptography hash functions; Jenkins hash function and other non-cryptography hash functions; hardware based hash functions implemented in FPGA, ASIC or an integrated circuit board of service gateway 110; and other types of hash functions or table lookup functions. Typically such hash functions are simple and can be calculated rapidly by service gateway 110.
Data packet 304 includes host address 104 associated with host 100. Service gateway 110 obtains host address 104 from data packet 304 and uses the obtained host address 104 in the processing of data packet 304.
Data packet 307 includes host address 104. Service gateway obtains host address 104 from data packet 307 and uses the obtained host address 104 in the processing of data packet 307.
Typically, mapping entry 460 is configured by a service provider or an administrator of a service provider. Mapping entry 460 may be configured when server 200 becomes available, or when server address 321 or service address 331 becomes available. Server address 321 or service address 331 may be configured by the service provider to become available.
In this stateless processing method, service mapping table 452 is not related to the number of service sessions processed by service gateway 110. The capacity of service mapping table 452 is related to the number of available service addresses and server addresses. Such capacity is usually small. Service mapping tables 452 may have a few tens of entries or a few thousand entries.
The advantages of a stateless processing method include small resource requirement for service mapping table 452, a minimal or no computational requirement to handle service request 301, or no requirements to apply service policy 471. A stateless processing method is usually preferred over a stateful processing method when service gateway 110 receives a large number of service session requests in a short period of time, or under a heavy load of service requests. A stateless method is also preferred when the memory capacity of session table for new sessions is running low, say below 10% of the session table 412. A stateless method protects service gateway 110 from resource overload and therefore maintains service quality towards host 100 under stressful situations.
However, a stateless processing method may be less desirable than a stateful processing method due to security concerns, since service gateway 110 does not apply security policy 482. Similarly service gateway 110 does not apply any other policy in service policy 471, affecting security of server 200, security of data network 153, traffic condition of data network 153, and service quality rendered to host 100. A stateful processing method is also preferred over the stateless processing method when service gateway 110 may select server address 321 from a plurality of server addresses. For example, a service provider may configure a plurality of servers to serve service address 331 in a load balancing manner. A service provider may configure a backup server for service address 331.
In a typical deployment scenario, a service provider may use a stateful processing method for a first service address while using a stateless processing method for a different second service address. The service provider does not expect the first service to have significant traffic or usage. The service provider may not expect the second service to be a security concern. In reality, the first service may see a sudden surge of traffic due to an unforeseen situation, whereas the second service may suffer a security attack. Using a hybrid processing method according to the present invention, as described below, a service provider may combine a stateful processing method for the first service when the load is light and change to a stateless processing method when the load becomes heavy; and may deploy a hybrid processing method to combine a stateless processing method for the second service during normal circumstances and switch immediately to a stateful processing method when a security alert is detected for the second service.
The various embodiment of the present invention are now described with reference to FIGS. 4 through 11.
FIG. 4 illustrates an embodiment of a service gateway 110 performing a hybrid-stateless processing method combining a stateful processing method and a stateless process method according to the present invention. FIG. 8 is a flowchart illustrating an embodiment of a hybrid-stateless processing method according to the present invention. In this embodiment, the computer readable medium 114 of the service gateway 110 stores computer readable program code, which when executed by processor 113, implements the various embodiment of the present invention. Service gateway 110 maintains session table 412 and service mapping table 452 in storage 400. In this embodiment of a hybrid-stateless processing method, service gateway 110 processes a received data packet 304 with a stateless method using service mapping table 452 when the service address of the received data packet 304 does not match any service addresses stored in session table 412.
Service gateway 110 connects to server 200 and server 240. Server 200 is associated with server address 321. Server 240 is associated with server address 324. Service gateway 110 is associated with service address 331 and service address 334.
In some embodiments, session table 412 includes a session entry 420 which stores service address 331 and server address 321, associating service address 331 and server address 321. Service mapping table 452 includes a mapping entry 462 which stores service address 334 and server address 324, associating service addresses 334 and 324.
In various embodiments, server 200 may be the same as server 240. Server address 321 may be the same as server address 324. Service address 331 may be the same as service address 334.
Referring to both FIGS. 4 and 8, service gateway 110 receives a data packet 304 from host 100 (801). Service gateway 110 obtains service address 336 from data packet 304 (802). Service gateway 110 compares service address 336 of data packet 304 against service addresses stored in session table 412 (803).
In some embodiments, service gateway 110 finds a match in session entry 420, where service address 336 matches service address 331 of session entry 420 (804). In response to finding the match, service gateway 110 processes data packet 304 based on information stored in session entry 420 using a stateful processing method (805), such as the one described above with reference to FIG. 2.
When service gateway 110 does not find a match in session table 412 (804), service gateway 110 compares service address 336 of data packet 304 against service addresses in service mapping table 452 (806). If service gateway 110 finds a match in mapping entry 462 of service mapping table 452, wherein service address 336 matches service address 324 of mapping entry 462 (807), service gateway 110 processes data packet 304 based on information stored in mapping entry 462 using a stateless processing method (808), such as the one described above with reference to FIG. 3.
In various embodiments, service gateway 110 receives a data packet 307 from server 200 (830). Service gateway 110 extracts server address 321 from data packet 307 (831) and compares server address 321 of data packet 307 against server addresses stored in session table 412 (832). When service gateway 110 finds a match in session entry 420, with server address 321 of data packet 307 matching server address 321 of session entry 420 (803), service gateway 110 processes data packet 308 using the stateful processing method (805), as described above with reference to FIG. 2.
In some embodiments, service gateway 110 receives a data packet 308 from server 240 (830). Service gateway 110 extracts server address 324 from data packet 308 (832) and compares server address 324 of data packet 308 against server addresses stored in session table 412 (832). When service gateway 110 does not find a match (833), service gateway 110 compares server address 324 of data packet 308 against server addresses stored in service mapping table 452 (834) and finds a match in mapping entry 462, where server address 324 of data packet 308 matches server address 324 of mapping entry 462 (807). In response, service gateway 110 modifies data packet 308 based on information stored in mapping entry 462 using a stateless processing method (808). Service gateway 110 sends modified data packet 308.
FIG. 5 illustrates an embodiment of a service gateway 110 performing a hybrid-stateful processing method combining a stateful processing method and a stateless processing method according to the present invention. FIG. 9 is a flowchart illustrating an embodiment of the hybrid-stateful processing method according to the present invention. Referring to both FIGS. 5 and 9, service gateway 110 receives a data packet 304 from host 100 (901). In some embodiments, service gateway 110 determines that data packet 304 includes a service request 301 from host 100 (902). In response, service gateway 110 applies a stateful processing method to service request 301 (903). Service gateway 110 performs the stateful processing method, including applying service policy 471 to service request 301, creating session entry 420 using service address 331 of service request 301 and server address 321 of service policy 471, as described above with reference to FIG. 2.
In various embodiments, service gateway 110 determines data packet 304 does not include a service request (902). In response, service gateway 110 processes data packet 304 using the hybrid-stateless processing method, as described above with reference to FIG. 4.
In other embodiments, service gateway 110 receives a data packet 307 from server 200 (901). In this embodiment of a hybrid-stateful processing method, service gateway 110 applies a hybrid-stateless processing method to data packet 307 (904), as described above with reference to FIG. 4.
FIGS. 6 and 10 illustrate an embodiment of a service gateway and a method, respectfully, for changing from a hybrid-stateful processing method to a hybrid-stateless processing method in response to a hybrid-stateless condition being satisfied according to the present invention. Referring to both FIGS. 6 and 10, service gateway 110 is using a hybrid-stateful processing method (1001). Service gateway 110 maintains a hybrid-stateless condition 810. Service gateway 110 checks if hybrid-stateless condition 810 is satisfied (1002). In response to determining that the hybrid-stateless condition 810 is satisfied (1003), service gateway 110 changes to a hybrid-stateless processing method (1004). The service gateway 110 processes the next data packet received using the hybrid-stateless processing method, as described above with reference to FIGS. 4 and 8. In response to determining that the hybrid-stateless condition 810 is not satisfied (1003), the service gateway 110 continues using the hybrid-stateful processing method (1005), as described above with reference to FIGS. 5 and 9.
In some embodiments, hybrid-stateless condition 810 includes a session rate 811. For example, session rate 811 is 10 thousand sessions per second, 5 thousand active sessions per second, or one hundred sessions per 10 milliseconds.
In various embodiments, service gateway 110 calculates a session rate 821. Session rate 821 can be calculated based on a count of active host-side service sessions over a period of time. When the service session is associated with a session entry in session table 412, a service session is active. In various embodiments, session rate 821 calculates a difference between a count of received service requests and a count of received service termination requests over a period of time. In other embodiments, session rate 821 calculates a count of service requests received over a period of time.
In some embodiments, service gateway 110 calculates a session rate 821 in a predetermined period of time, such as every second, once every 250 milliseconds, once every 3 seconds or once every 10 seconds. In other embodiments, service gateway 110 calculates session rate 821 at variable times. For example, service gateway 110 calculates session rate 821 when a data packet from a host is received; when a service request is received; when a service termination request is received; or when a data packet is received from server 200. Service gateway 110 compares session rate 821 with session rate 811 of hybrid-stateless condition 810. If session rate 821 exceeds or is equal to session rate 811, service gateway 110 determines that hybrid-stateless condition 810 is met and satisfied.
In various embodiments, hybrid-stateless condition 810 includes a session table utilization 814. A session table utilization is a parameter setting forth a percentage of the session table capacity that is storing session entries. Hybrid-stateless condition 810 is satisfied if a count of stored session entries of session table 412 exceeds session table utilization 814. For example, session table utilization 814 is 90%, 85% or 95%. Service gateway 110 calculates a session table utilization 824 from time to time by calculating a count of stored session entries of session table 412. In some embodiments, service gateway 110 calculates session table utilization 824 periodically, such as every second, once every 20 milliseconds, once every 500 milliseconds, or once every 2 seconds. In other embodiments, service gateway 110 calculates session table utilization 824 when service gateway 110 processes a service request, a service termination request, or a data packet.
Service gateway 110 compares session table utilization 824 with session table utilization 814 of hybrid-stateless condition 810. When session table utilization 824 exceeds or is equal to session table utilization 814, service gateway 110 determines that hybrid-stateless condition 810 is met and satisfied.
In some embodiments, hybrid-stateless condition 810 further includes a time duration 816, where hybrid-stateless condition 810 must be considered met for at least a time duration 816 in order for the hybrid-stateless condition 810 to be satisfied. Examples of time duration 816 include 120 seconds, 30 seconds, and 5 seconds. Service gateway 110 checks from time to time whether the hybrid-stateless condition 810 is met, as described earlier. In various embodiments, service gateway 110 further includes a time duration 826 stored in memory. Initially, service gateway 110 assigns a value of 0 to the time duration 826. From time to time, service gateway 110 checks if hybrid-stateless condition 810 is met. If hybrid-stateless condition 810 is met, service gateway 110 increases the time duration 826 by an amount of time elapsed since the last time the hybrid-stateless condition 810 was checked. After the time duration 826 is modified, service gateway 110 checks if the time duration 826 exceeds time duration 816. If time duration 826 exceeds time duration 816, service gateway 110 determines that hybrid-stateless condition 810 is satisfied. Service gateway 110 subsequently changes to employ a hybrid-stateless method with subsequently received data packets.
If service gateway 110 determines hybrid-stateless condition 810 is not met, service gateway 110 modifies the time duration 826 to a value of 0.
In some embodiments, service gateway 110 receives hybrid-stateless condition 810 from an operator or an administrator 130. Administrator 130 can be a human operator provisioning hybrid-stateless condition 810 onto service gateway 110. Administrator 130 can be a network management system sending hybrid-stateless condition 810 to service gateway 110. Administrator 130 may include a storage medium storing hybrid-stateless condition 810. Service gateway 110 retrieves hybrid-stateless condition 810 from the storage of administrator 130.
FIGS. 7 and 11 illustrate an embodiment of a service gateway and a method, respectfully, for changing from a hybrid-stateless processing method to a hybrid-stateful processing method in response to a hybrid-stateful condition being satisfied according to the present invention. Referring to both FIGS. 7 and 11, service gateway 110 employs a hybrid-stateless processing method (1101) Service gateway 110 maintains a hybrid-stateful condition 910. Service gateway 110 checks if hybrid-stateful condition 910 is satisfied (1102). In response to determining that the hybrid-stateful condition 910 is satisfied (1103), service gateway 110 changes to a hybrid-stateful processing method (1104) and processes the next data packet using the hybrid-stateful processing method, described above with reference to FIGS. 5 and 9. In response to determining that the hybrid-stateful condition 910 is not satisfied (1103), service gateway 110 continues using the hybrid-stateless processing method (1105) and processes the next data packet using the hybrid-stateless processing method, as described above with reference to FIGS. 4 and 8.
In some embodiments, hybrid-stateful condition 910 includes a session rate 911. For example, session rate 911 is 1 thousand sessions per second, 500 active sessions per second, or ten sessions per 10 milliseconds.
Service gateway 110 can calculate a session rate 921. In some embodiments, session rate 921 calculates a difference between a count of received service requests and a count of received service termination requests over a period of time. Session rate 921 may also calculate a count of service requests received over a period of time. In various embodiments, service gateway 110 determines if a data packet received from a host includes a service request before applying a hybrid-stateless processing method to the received data packet. Service gateway 110 may also determine if a data packet received from a host or a server includes a service termination request before applying a hybrid-stateless processing method to the received data packet.
In some embodiments, service gateway 110 calculates session rate 921 in a predetermined period of time, such as every second, once every 100 milliseconds, once every 3 seconds, or once every 5 seconds. Service gateway 110 may also calculate session rate 921 at variable times. For example, service gateway 110 calculates session rate 921 when a data packet from a host is received; when a service request is received; when a service termination request is received; or when a data packet is received from a server. Service gateway 110 compares session rate 921 with session rate 911. If session rate 921 is below or smaller than session rate 911, service gateway 110 determines that hybrid-stateful condition 910 is met and satisfied.
In various embodiments, hybrid-stateful condition 910 includes a session table utilization 914. Hybrid-stateful condition 910 is satisfied if a count of stored session entries of session table 412 does not exceed session table utilization 914. For example, session table utilization 914 is 60%, 75% or 45%. Service gateway 110 calculates session table utilization 924 from time to time by calculating a count of stored session entries of session table 412. In some embodiments, service gateway 110 calculates session table utilization 924 periodically, such as every second, once every 20 milliseconds, once every 500 milliseconds, or once every 2 seconds. Service gateway 110 may also calculate session table utilization 924 when service gateway 110 processes a service request, a service termination request, or a data packet.
Service gateway 110 compares session table utilization 924 with session table utilization 914 of hybrid-stateful condition 910. If session table utilization 924 is smaller than session table utilization 914, service gateway 110 determines that hybrid-stateful condition 910 is met and satisfied.
Hybrid-stateful condition 910 may further include a time duration 916, where hybrid-stateful condition 910 must be considered met for at least a time duration 916 in order for the hybrid-stateful condition 910 is satisfied. Examples of time duration 916 include 100 seconds, 40 seconds, and 5 seconds. Service gateway 110 checks from time to time if the hybrid-stateful condition 910 is met as described earlier. In some embodiments, service gateway 110 further includes a time duration 926 stored in memory. Initially, service gateway 110 assigns a value of 0 to the time duration 926. From time to time, service gateway 110 determines if hybrid-stateful condition 910 is met. If hybrid-stateful condition 910 is met, service gateway 110 increases the time duration 926 by an amount of time elapsed since the last time the hybrid-stateful condition 910 was checked. In various embodiments, after the time duration 926 is modified, service gateway 110 checks if the time duration 926 exceeds time duration 916. If time duration 926 exceeds time duration 916, service gateway 110 determines hybrid-stateful condition 910 is satisfied. Service gateway 110 subsequently changes to employ a hybrid-stateful method with subsequently received data packets.
In some embodiments, service gateway 110 receives hybrid-stateful condition 910 from an operator or an administrator 130. Administrator 130 can be a human operator provisioning hybrid-stateful condition 910 onto service gateway 110. Administrator 130 can be a network management system sending hybrid-stateful condition 910 to service gateway 110. Administrator 130 can include a storage medium storing hybrid-stateful condition 910. Service gateway 110 retrieves hybrid-stateful condition 910 from the storage of administrator 130.
Returning to FIG. 8, FIG. 8 shows that when the service gateway 110 is processing data packets using the stateful processing method (805), the service gateway 110 would check whether the hybrid-stateless condition 801 is met (see FIG. 10). FIG. 8 also shows that when the service gateway 110 is processing data packets using the stateless processing method (808), the service gateway 110 would check whether the hybrid-stateful condition 910 is met (see FIG. 11). However, the references (C and D) to FIGS. 10 and 11 are not intended to convey any order of steps. The checking of the conditions 810 or 910 may occur concurrently with the processing of data packets, as described above with reference to FIGS. 4 and 8.
Returning to FIG. 9, FIG. 9 shows that when the service gateway 110 is processing data packets using the stateful processing method (903), the service gateway 110 would check whether the hybrid-stateless condition 810 is met (see FIG. 10). FIG. 9 also shows that when the service gateway 110 is processing data packets using the hybrid-stateless processing method (904), the service gateway 110 would either check if the hybrid-stateless condition 810 or the hybrid-stateful condition 910 is met (see FIGS. 10 and 11), depending on the processing during the hybrid states processing method per FIGS. 4 and 8. However, the reference to FIGS. 10 (C) and 11 (D) are not intended to convey any order of steps. The checking of the conditions 810 or 910 may occur concurrently with the processing of data packets as illustrated in FIGS. 5 and 9.
Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Claims (15)

What is claimed is:
1. A method for processing data packets sent over a communication session between a host and a server by a service gateway, comprising:
processing a data packet using a hybrid-stateful processing method by the service gateway, the hybrid-stateful processing method utilizing a service session table;
checking by the service gateway whether a hybrid-stateless condition is satisfied;
in response to determining that the hybrid-stateless condition is satisfied, changing to a hybrid-stateless processing method for a subsequently received data packet by the service gateway, the hybrid-stateless processing method utilizing a service mapping table; and
in response to determining that the hybrid-stateless condition is not satisfied, processing the subsequently received data packet using the hybrid-stateful processing method by the service gateway.
2. The method of claim 1, wherein the checking by the service gateway whether the hybrid-stateless condition is satisfied comprises:
comparing a time duration stored in memory against a predetermined time duration by the service gateway;
determining whether the time duration stored in memory exceeds the predetermined time duration;
in response to determining that the time duration stored in memory exceeds the predetermined time duration, determining by the service gateway that the hybrid-stateless condition is satisfied; and
in response to determining that the time duration stored in memory does not exceed the predetermined time duration, determining by the service gateway that the hybrid-stateless condition is not satisfied.
3. The method of claim 1, wherein the checking by the service gateway whether a hybrid-stateless condition is satisfied comprises receiving from an administrator the hybrid-stateless condition by the service gateway.
4. The method of claim 3, wherein the administrator comprises:
a human operator;
a network management system; or
a storage medium storing the hybrid-stateless condition.
5. A system, comprising:
a service gateway comprising a processor and a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code configured to:
process a data packet using a hybrid-stateful processing method, the hybrid-stateful processing method utilizing a service session table at the service gateway;
check whether a hybrid-stateless condition is satisfied;
in response to determining that the hybrid-stateless condition is satisfied, change to a hybrid-stateless processing method for a subsequently received data packet, the hybrid-stateless processing method utilizing a service mapping table at the service gateway; and
in response to determining that the hybrid-stateless condition is not satisfied, process the subsequently received data packet using the hybrid-stateful processing method.
6. The system of claim 5, wherein the check whether a hybrid-stateless condition is satisfied comprises:
compare a time duration stored in memory against a predetermined time duration by the service gateway;
determine whether the time duration stored in memory exceeds the predetermined time duration;
in response to determining that the time duration stored in memory exceeds the predetermined time duration, determine by the service gateway that the hybrid-stateless condition is satisfied; and
in response to determining that the time duration stored in memory does not exceed the predetermined time duration, determine by the service gateway that the hybrid-stateless condition is not satisfied.
7. The system of claim 5, wherein the check whether a hybrid-stateless condition is satisfied comprises receiving from an administrator the hybrid-stateless condition by the service gateway.
8. The system of claim 7, wherein the administrator comprises:
a human operator;
a network management system; or
a storage medium storing the hybrid-stateless condition.
9. A method for processing data packets sent over a communication session between a host and a server by a service gateway, comprising:
processing a data packet using a hybrid-stateless processing method by the service gateway, the hybrid-stateless processing method utilizing a service mapping table;
checking by the service gateway whether a hybrid-stateful condition is satisfied;
in response to determining that the hybrid-stateful condition is satisfied, changing to a hybrid-stateful processing method for a subsequently received data packet by the service gateway, the hybrid-stateful processing method utilizing a service session table; and
in response to determining that the hybrid-stateful condition is not satisfied, processing the subsequently received data packet using the hybrid-stateless processing method by the service gateway.
10. The method of claim 9, wherein the hybrid-stateful condition comprises a predetermined session rate, wherein the checking by the service gateway whether the hybrid-stateful condition is satisfied comprises:
calculating a session rate for a plurality of communication sessions received by the service gateway;
determining whether the calculated session rate is less than the predetermined session rate by the service gateway;
in response to determining that the calculated session rate is less than the predetermined session rate, determining by the service gateway that the hybrid-stateful condition is satisfied; and
in response to determining that the calculated session rate is greater than or equals the predetermined session rate, determining by the service gateway that the hybrid-stateful condition is not satisfied.
11. The method of claim 10, wherein the calculated session rate comprises:
a difference between a count of received service requests and a count of received service termination requests over a predetermined period of time or
a count of service requests over the predetermined period of time.
12. The method of claim 9, wherein the hybrid-stateful condition comprises a predetermined session table utilization, wherein the checking by the service gateway whether a hybrid-stateful condition is satisfied comprises:
counting a number of stored session entries in the session table by the service gateway;
determining whether the number of stored session entries does not exceed the predetermined session table utilization by the service gateway;
in response to determining that the number of stored session entries does not exceed the predetermined session table utilization, determining by the service gateway that the hybrid-stateful condition is satisfied; and
in response to determining that the number of stored session entries exceeds the predetermined session table utilization, determining by the service gateway that the hybrid-stateful condition is not satisfied.
13. The method of claim 9, wherein the checking by the service gateway whether the hybrid-stateful condition is satisfied comprises:
comparing a time duration stored in memory against a predetermined time duration by the service gateway;
determining whether the time duration stored in memory exceeds the predetermined time duration;
in response to determining that the time duration stored in memory exceeds the predetermined time duration, determining by the service gateway that the hybrid-stateful condition is satisfied; and
in response to determining that the time duration stored in memory does not exceed the predetermined time duration, determining by the service gateway that the hybrid-stateful condition is not satisfied.
14. The method of claim 13, wherein the checking by the service gateway whether a hybrid-stateful condition is satisfied comprises receiving from an administrator the hybrid-stateful condition by the service gateway.
15. The method of claim 14, wherein the administrator comprises:
a human operator;
a network management system; or
a storage medium storing the hybrid-stateful condition.
US14/520,126 2011-10-24 2014-10-21 Combining stateless and stateful server load balancing Active US9270774B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/520,126 US9270774B2 (en) 2011-10-24 2014-10-21 Combining stateless and stateful server load balancing
US15/016,097 US9906591B2 (en) 2011-10-24 2016-02-04 Combining stateless and stateful server load balancing
US15/858,578 US10484465B2 (en) 2011-10-24 2017-12-29 Combining stateless and stateful server load balancing

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/280,336 US8897154B2 (en) 2011-10-24 2011-10-24 Combining stateless and stateful server load balancing
US14/520,126 US9270774B2 (en) 2011-10-24 2014-10-21 Combining stateless and stateful server load balancing

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/280,336 Continuation US8897154B2 (en) 2011-10-24 2011-10-24 Combining stateless and stateful server load balancing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/016,097 Continuation US9906591B2 (en) 2011-10-24 2016-02-04 Combining stateless and stateful server load balancing

Publications (2)

Publication Number Publication Date
US20150039671A1 US20150039671A1 (en) 2015-02-05
US9270774B2 true US9270774B2 (en) 2016-02-23

Family

ID=48135938

Family Applications (4)

Application Number Title Priority Date Filing Date
US13/280,336 Active 2032-11-16 US8897154B2 (en) 2011-10-24 2011-10-24 Combining stateless and stateful server load balancing
US14/520,126 Active US9270774B2 (en) 2011-10-24 2014-10-21 Combining stateless and stateful server load balancing
US15/016,097 Active 2032-01-11 US9906591B2 (en) 2011-10-24 2016-02-04 Combining stateless and stateful server load balancing
US15/858,578 Active 2031-11-21 US10484465B2 (en) 2011-10-24 2017-12-29 Combining stateless and stateful server load balancing

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/280,336 Active 2032-11-16 US8897154B2 (en) 2011-10-24 2011-10-24 Combining stateless and stateful server load balancing

Family Applications After (2)

Application Number Title Priority Date Filing Date
US15/016,097 Active 2032-01-11 US9906591B2 (en) 2011-10-24 2016-02-04 Combining stateless and stateful server load balancing
US15/858,578 Active 2031-11-21 US10484465B2 (en) 2011-10-24 2017-12-29 Combining stateless and stateful server load balancing

Country Status (8)

Country Link
US (4) US8897154B2 (en)
EP (1) EP2772026B1 (en)
JP (1) JP5913609B2 (en)
KR (1) KR101632187B1 (en)
CN (1) CN104067569B (en)
HK (1) HK1198565A1 (en)
IN (1) IN2014CN03764A (en)
WO (1) WO2013070391A1 (en)

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160156708A1 (en) * 2011-10-24 2016-06-02 A10 Networks, Inc. Combining Stateless and Stateful Server Load Balancing
US9497201B2 (en) 2006-10-17 2016-11-15 A10 Networks, Inc. Applying security policy to an application session
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US9544364B2 (en) 2012-12-06 2017-01-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9602442B2 (en) 2012-07-05 2017-03-21 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9961135B2 (en) 2010-09-30 2018-05-01 A10 Networks, Inc. System and method to balance servers based on server load status
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US9979801B2 (en) 2011-12-23 2018-05-22 A10 Networks, Inc. Methods to manage services over a service gateway
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
USRE47296E1 (en) 2006-02-21 2019-03-12 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060117020A1 (en) * 2004-12-01 2006-06-01 John Toebes Arrangement for selecting a server to provide distributed services from among multiple servers based on a location of a client device
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
WO2012097015A2 (en) 2011-01-11 2012-07-19 A10 Networks Inc. Virtual application delivery chassis system
US9154577B2 (en) 2011-06-06 2015-10-06 A10 Networks, Inc. Sychronization of configuration file of virtual application distribution chassis
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US9386088B2 (en) 2011-11-29 2016-07-05 A10 Networks, Inc. Accelerating service processing using fast path TCP
US20130144620A1 (en) * 2011-12-06 2013-06-06 Telcordia Technologies, Inc. Method, system and program for verifying the authenticity of a website using a reliable telecommunication channel and pre-login message
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9106561B2 (en) 2012-12-06 2015-08-11 A10 Networks, Inc. Configuration of a virtual service network
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
WO2015131943A1 (en) * 2014-03-05 2015-09-11 Huawei Technologies Co., Ltd. Access node device for forwarding data packets
US9807110B2 (en) 2014-03-11 2017-10-31 Vectra Networks, Inc. Method and system for detecting algorithm-generated domains
US20150264073A1 (en) * 2014-03-11 2015-09-17 Vectra Networks, Inc. System and method for detecting intrusions through real-time processing of traffic with extensive historical perspective
US10742559B2 (en) 2014-04-24 2020-08-11 A10 Networks, Inc. Eliminating data traffic redirection in scalable clusters
US9961130B2 (en) * 2014-04-24 2018-05-01 A10 Networks, Inc. Distributed high availability processing methods for service sessions
CN104035884B (en) * 2014-06-30 2017-04-05 河南百旺金赋电脑有限公司 A kind of Crossed Circle queuing data storage method and intelligent gateway
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
US10129202B2 (en) * 2014-11-25 2018-11-13 Cisco Technology, Inc. Optimizing global IPv6 address assignments
KR20170110612A (en) * 2015-01-30 2017-10-11 캘거리 싸이언티픽 인코포레이티드 Highly Scalable, Fault Tolerant Remote Access Architecture and Access Method
GB2535798B (en) * 2015-02-27 2022-01-26 Metaswitch Networks Ltd Network node
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
WO2016209275A1 (en) * 2015-06-26 2016-12-29 Hewlett Packard Enterprise Development Lp Server load balancing
US10034201B2 (en) * 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
US10497044B2 (en) 2015-10-19 2019-12-03 Demandware Inc. Scalable systems and methods for generating and serving recommendations
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10452518B2 (en) 2015-12-02 2019-10-22 Veeva Systems Inc. Uploading tenant code to a multi-tenant system
US9760472B2 (en) * 2015-12-02 2017-09-12 Veeva Systems Inc. Tenant code debugging in multi-tenant systems
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
FR3045999A1 (en) * 2015-12-18 2017-06-23 Orange METHOD FOR COMMUNICATING BETWEEN A CALLER AND A PLURALITY OF TERMINALS CALLED
WO2017112907A1 (en) * 2015-12-23 2017-06-29 F5 Networks, Inc. Inserting and removing stateful devices in a network
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
JP6181216B2 (en) * 2016-01-22 2017-08-16 株式会社東芝 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, PROGRAM, AND COMMUNICATION SYSTEM
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US10616321B2 (en) 2017-12-22 2020-04-07 At&T Intellectual Property I, L.P. Distributed stateful load balancer
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels
CN110858982B (en) * 2018-08-22 2022-01-14 华为技术有限公司 Flow/rate statistical method and related equipment
CN110278152B (en) * 2018-08-31 2020-05-29 新华三信息安全技术有限公司 Method and device for establishing fast forwarding table
CN110290044B (en) * 2019-06-26 2021-08-06 普联技术有限公司 Method, device and storage medium for shunting VPN (virtual private network) and backbone network
CN114104880B (en) * 2021-11-15 2024-03-08 云知声(上海)智能科技有限公司 Elevator call control system and control method thereof
US11811675B2 (en) 2022-01-24 2023-11-07 Bank Of America Corporation System for triggering adaptive resource channel requisition within a distributed network

Citations (280)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218602A (en) 1991-04-04 1993-06-08 Dsc Communications Corporation Interprocessor switching network
JPH0997233A (en) 1995-09-28 1997-04-08 Nec Corp Load distributing method for on-line information processing system
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
JPH1196128A (en) 1997-09-22 1999-04-09 Fujitsu Ltd Device and method for adjusting network service server load and recording medium
US5935207A (en) 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US5958053A (en) 1997-01-30 1999-09-28 At&T Corp. Communications protocol with improved security
JPH11338836A (en) 1998-05-25 1999-12-10 Nippon Telegr & Teleph Corp <Ntt> Load distribution system for computer network
US6003069A (en) 1997-12-16 1999-12-14 Lexmark International, Inc. Client/server printer driver system
US6047268A (en) 1997-11-04 2000-04-04 A.T.&T. Corporation Method and apparatus for billing for transactions conducted over the internet
JP2000276432A (en) 1999-03-24 2000-10-06 Nec Corp Dynamic load distribution system for transaction message
US6131163A (en) 1998-02-17 2000-10-10 Cisco Technology, Inc. Network gateway mechanism having a protocol stack proxy
JP2000307634A (en) 1999-04-15 2000-11-02 Kdd Corp Congestion control method by repeating station of packet exchanging network
JP2001051859A (en) 1999-08-11 2001-02-23 Hitachi Ltd Load information communication method
WO2001014990A1 (en) 1999-08-21 2001-03-01 Webever, Inc. Method for content delivery over the internet
US6219706B1 (en) 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6321338B1 (en) 1998-11-09 2001-11-20 Sri International Network surveillance
US20010049741A1 (en) 1999-06-18 2001-12-06 Bryan D. Skene Method and system for balancing load distribution on a wide area network
WO2001045349A3 (en) 1999-12-16 2002-01-24 Speedera Networks Inc Scalable domain name system with persistence and load balancing
US20020032777A1 (en) 2000-09-11 2002-03-14 Yoko Kawata Load sharing apparatus and a load estimation method
US6374300B2 (en) 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
US20020078164A1 (en) 2000-12-13 2002-06-20 Marnetics Ltd. System and method for data transfer acceleration in a TCP network environment
WO2001013228A9 (en) 1999-08-13 2002-07-11 Sun Microsystems Inc Graceful distribution in application server load balancing
US20020091844A1 (en) 1997-10-14 2002-07-11 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US20020103916A1 (en) 2000-09-07 2002-08-01 Benjie Chen Thwarting connection-based denial of service attacks
US20020133491A1 (en) 2000-10-26 2002-09-19 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
US20020138618A1 (en) 2000-03-21 2002-09-26 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
CN1372662A (en) 1999-07-09 2002-10-02 卡纳尔股份有限公司 Running and testing applications
US20020143991A1 (en) 2001-03-16 2002-10-03 Kingsum Chow Geographic location determination including inspection of network address
US20020178259A1 (en) 2001-05-23 2002-11-28 International Business Machines Corporation Load balancing content requests using dynamic document generation cost information
US20020194350A1 (en) 2001-06-18 2002-12-19 Lu Leonard L. Content-aware web switch without delayed binding and methods thereof
US20020194335A1 (en) 2001-06-19 2002-12-19 Maynard William Pat Method and apparatus for load balancing
US20030009591A1 (en) 2001-06-25 2003-01-09 Clive Hayball Apparatus and method for managing internet resource requests
US20030014544A1 (en) 2001-02-15 2003-01-16 Banderacom Infiniband TM work queue to TCP/IP translation
US20030023711A1 (en) 2001-07-30 2003-01-30 Parmar Pankaj N. Identifying network management policies
US20030023873A1 (en) 2001-03-16 2003-01-30 Yuval Ben-Itzhak Application-layer security method and system
US20030035409A1 (en) 2001-08-20 2003-02-20 Wang Jiwei R. Method and apparatus for providing service selection, redirection and managing of subscriber access to multiple WAP (Wireless Application Protecol) geteways simultaneously
US20030035420A1 (en) 2000-08-18 2003-02-20 Zhisheng Niu TCP aware local retransmissioner scheme for unreliable transmission network
US6587866B1 (en) 2000-01-10 2003-07-01 Sun Microsystems, Inc. Method for distributing packets to server nodes using network client affinity and packet distribution table
US20030131245A1 (en) 2002-01-04 2003-07-10 Michael Linderman Communication security system
US20030135625A1 (en) 2002-01-15 2003-07-17 International Business Machines Corporation Blended SYN cookies
CN1449618A (en) 2000-09-04 2003-10-15 国际商业机器公司 System communication between computer systems
US20030195962A1 (en) 2002-04-10 2003-10-16 Satoshi Kikuchi Load balancing of servers
WO2003103237A1 (en) 2002-06-04 2003-12-11 Cosine Communications, Inc. System and method for controlling routing in a virtual router system
US20040062246A1 (en) 1997-10-14 2004-04-01 Alacritech, Inc. High performance network interface
US20040073703A1 (en) 1997-10-14 2004-04-15 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US20040078480A1 (en) 1997-10-14 2004-04-22 Boucher Laurence B. Parsing a packet header
US20040078419A1 (en) 2001-11-02 2004-04-22 Stephen Ferrari Switching system
US6748414B1 (en) 1999-11-15 2004-06-08 International Business Machines Corporation Method and apparatus for the load balancing of non-identical servers in a network environment
US20040111516A1 (en) 2002-12-06 2004-06-10 Stuart Cain Reduced wireless internet connect time
US6772334B1 (en) 2000-08-31 2004-08-03 Networks Associates, Inc. System and method for preventing a spoofed denial of service attack in a networked computing environment
US6779033B1 (en) 2000-12-28 2004-08-17 Networks Associates Technology, Inc. System and method for transacting a validated application session in a networked computing environment
CN1529460A (en) 2003-10-14 2004-09-15 北京邮电大学 Whole load equalizing method based on global network positioning
US20040187032A1 (en) 2001-08-07 2004-09-23 Christoph Gels Method, data carrier, computer system and computer progamme for the identification and defence of attacks in server of network service providers and operators
WO2004084085A1 (en) 2003-03-18 2004-09-30 Fujitsu Limited Load distributing system by intersite cooperation
US20040199646A1 (en) 2000-02-18 2004-10-07 Netscaler, Inc. Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
US20040199616A1 (en) 2002-12-30 2004-10-07 Mika Karhu Automatic and dynamic service information delivery from service providers to data terminals in an access point network
US20040202182A1 (en) 2003-02-12 2004-10-14 Martin Lund Method and system to provide blade server load balancing using spare link bandwidth
US20040210663A1 (en) 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US20040213158A1 (en) 2001-06-07 2004-10-28 Paul Collett Real time processing
US20050005207A1 (en) 2001-09-28 2005-01-06 Thierry Herneque Method of improving the performance of a transmission protocol using a retransmission timer
US20050009520A1 (en) 2001-07-03 2005-01-13 Herrero Antonio Juan Sanchez Method and system for handling multiple registration
US20050021848A1 (en) 2000-10-13 2005-01-27 Jorgenson Daniel Scott System and method for distributing load among redundant independent stateful World Wide Web server sites
CN1575582A (en) 2001-09-28 2005-02-02 塞维斯通讯公司 Configurable adaptive global traffic control and management
US20050027862A1 (en) 2003-07-18 2005-02-03 Nguyen Tien Le System and methods of cooperatively load-balancing clustered servers
US20050036501A1 (en) 2003-08-11 2005-02-17 Samsung Electronics Co., Ltd. Domain name service system and method thereof
US20050036511A1 (en) 2003-08-14 2005-02-17 International Business Machines Corp. Method, system and article for improved TCP performance during packet reordering
US20050044270A1 (en) 2000-02-07 2005-02-24 Grove Adam J. Method for high-performance delivery of web content
US20050074013A1 (en) 1998-02-02 2005-04-07 Hershey Paul C. System and associated method for the synchronization and control of multiplexed payloads over a telecommunications network
US20050080890A1 (en) 2003-10-14 2005-04-14 Yang Sun Hee Server load balancing apparatus and method using MPLS session
US20050102400A1 (en) 2003-11-06 2005-05-12 Masahiko Nakahara Load balancing system
US20050125276A1 (en) 2003-12-05 2005-06-09 Grigore Rusu System and method for event tracking across plural contact mediums
US20050163073A1 (en) 2002-06-10 2005-07-28 Ipr Licensing, Inc Applying session services based on packet flows
US20050198335A1 (en) 2001-02-06 2005-09-08 Microsoft Corporation Distributed load balancing for single entry-point systems
US20050213586A1 (en) 2004-02-05 2005-09-29 David Cyganski System and method to increase network throughput
US20050240989A1 (en) 2004-04-23 2005-10-27 Seoul National University Industry Foundation Method of sharing state between stateful inspection firewalls on mep network
US20050249225A1 (en) 2004-05-10 2005-11-10 Singhal Tara C Method and apparatus for packet source validation architecture system for enhanced Internet security
CN1714545A (en) 2002-01-24 2005-12-28 艾维西系统公司 System and method for fault tolerant data communication
CN1725702A (en) 2004-07-20 2006-01-25 联想网御科技(北京)有限公司 Network safety equipment and assemblied system and method for implementing high availability
US20060023721A1 (en) 2004-07-29 2006-02-02 Ntt Docomo, Inc. Server device, method for controlling a server device, and method for establishing a connection using the server device
US20060036733A1 (en) 2004-07-09 2006-02-16 Toshiba America Research, Inc. Dynamic host configuration and network access authentication
US20060036610A1 (en) 2004-08-13 2006-02-16 Reallusion Inc. File conversion and sharing system and the method of the same
US7010605B1 (en) 2000-08-29 2006-03-07 Microsoft Corporation Method and apparatus for encoding and storing session data
US7013482B1 (en) * 2000-07-07 2006-03-14 802 Systems Llc Methods for packet filtering including packet invalidation if packet validity determination not timely made
US20060069804A1 (en) 2004-08-25 2006-03-30 Ntt Docomo, Inc. Server device, client device, and process execution method
US20060069774A1 (en) * 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services
US20060077926A1 (en) 2004-10-08 2006-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Home network-assisted selection of intermediary network for a roaming mobile terminal
US20060092950A1 (en) 2004-10-28 2006-05-04 Cisco Technology, Inc. Architecture and method having redundancy in active/active stateful devices based on symmetric global load balancing protocol (sGLBP)
US20060098645A1 (en) 2004-11-09 2006-05-11 Lev Walkin System and method for providing client identifying information to a server
US7069438B2 (en) 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US7076555B1 (en) 2002-01-23 2006-07-11 Novell, Inc. System and method for transparent takeover of TCP connections between servers
US20060168319A1 (en) 2004-11-18 2006-07-27 Nokia Corporation Systems and methods for multipoint service invocation
US20060190997A1 (en) 2005-02-22 2006-08-24 Mahajani Amol V Method and system for transparent in-line protection of an electronic communications network
US20060187901A1 (en) 2005-02-23 2006-08-24 Lucent Technologies Inc. Concurrent dual-state proxy server, method of providing a proxy and SIP network employing the same
US20060251057A1 (en) 2005-05-06 2006-11-09 Sung-Bok Kwon Name service system and method thereof
US7143087B2 (en) 2002-02-01 2006-11-28 John Fairweather System and method for creating a distributed network architecture
JP2006332825A (en) 2005-05-24 2006-12-07 Fujitsu Ltd Program, method, and device for dispersing load
US20060277303A1 (en) 2005-06-06 2006-12-07 Nikhil Hegde Method to improve response time when clients use network services
US20060280121A1 (en) 2005-06-13 2006-12-14 Fujitsu Limited Frame-transfer control device, DoS-attack preventing device, and DoS-attack preventing system
US20070019543A1 (en) 2005-07-06 2007-01-25 Fortinet, Inc. Systems and methods for detecting and preventing flooding attacks in a network environment
US7181524B1 (en) 2003-06-13 2007-02-20 Veritas Operating Corporation Method and apparatus for balancing a load among a plurality of servers in a computer system
EP1770915A1 (en) 2005-09-29 2007-04-04 Matsushita Electric Industrial Co., Ltd. Policy control in the evolved system architecture
US20070118881A1 (en) 2005-11-18 2007-05-24 Julian Mitchell Application control at a policy server
US7228359B1 (en) 2002-02-12 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing domain name service based on a client identifier
US7234161B1 (en) 2002-12-31 2007-06-19 Nvidia Corporation Method and apparatus for deflecting flooding attacks
US7236457B2 (en) 2002-10-04 2007-06-26 Intel Corporation Load balancing in a network
US20070156919A1 (en) 2005-06-21 2007-07-05 Sunil Potti Enforcing network service level agreements in a network element
CN101004740A (en) 2006-01-18 2007-07-25 腾讯科技(深圳)有限公司 Method and system for reading information at network resource site, and searching engine
US7254133B2 (en) 2002-07-15 2007-08-07 Intel Corporation Prevention of denial of service attacks
US20070185998A1 (en) 2006-02-06 2007-08-09 Cisco Technology, Inc. Supporting options in a communication session using a TCP cookie
US20070195792A1 (en) 2006-02-21 2007-08-23 A10 Networks Inc. System and method for an adaptive TCP SYN cookie with time validation
US7269850B2 (en) 2002-12-31 2007-09-11 Intel Corporation Systems and methods for detecting and tracing denial of service attacks
US7277963B2 (en) 2002-06-26 2007-10-02 Sandvine Incorporated TCP proxy providing application layer modifications
US20070230337A1 (en) 2006-03-30 2007-10-04 Ntt Docomo, Inc. Communication terminal and retransmission control method
US20070245090A1 (en) 2006-03-24 2007-10-18 Chris King Methods and Systems for Caching Content at Multiple Levels
US20070259673A1 (en) 2006-05-04 2007-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Inactivity monitoring for different traffic or service classifications
US7301899B2 (en) 2001-01-31 2007-11-27 Comverse Ltd. Prevention of bandwidth congestion in a denial of service or other internet-based attack
US20070283429A1 (en) 2006-05-30 2007-12-06 A10 Networks Inc. Sequence number based TCP session proxy
US7308499B2 (en) 2003-04-30 2007-12-11 Avaya Technology Corp. Dynamic load balancing for enterprise IP traffic
US20070286077A1 (en) 2006-06-07 2007-12-13 Nokia Corporation Communication system
US20070288247A1 (en) 2006-06-11 2007-12-13 Michael Mackay Digital life server
US7310686B2 (en) 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US20070294209A1 (en) 2006-06-20 2007-12-20 Lyle Strub Communication network application activity monitoring and control
US7328267B1 (en) 2002-01-18 2008-02-05 Cisco Technology, Inc. TCP proxy connection management in a gigabit environment
US20080031263A1 (en) 2006-08-07 2008-02-07 Cisco Technology, Inc. Method and apparatus for load balancing over virtual network links
US7334232B2 (en) * 1998-11-05 2008-02-19 Bea Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
JP2008040718A (en) 2006-08-04 2008-02-21 Nippon Telegr & Teleph Corp <Ntt> Load distribution control device and method
US7337241B2 (en) 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7349970B2 (en) * 2001-03-29 2008-03-25 International Business Machines Corporation Workload management of stateful program entities
CN101169785A (en) 2007-11-21 2008-04-30 浪潮电子信息产业股份有限公司 Clustered database system dynamic loading balancing method
US20080101396A1 (en) 2006-10-31 2008-05-01 Hiroaki Miyata Packet forwarding apparatus having gateway load distribution function
US7370353B2 (en) 2001-11-05 2008-05-06 Cisco Technology, Inc. System and method for managing dynamic network sessions
US20080109452A1 (en) 2002-02-15 2008-05-08 Cognos Incorporated Queuing model for a plurality of servers
US20080109870A1 (en) 2006-11-08 2008-05-08 Kieran Gerard Sherlock Identities Correlation Infrastructure for Passive Network Monitoring
WO2008053954A1 (en) 2006-11-01 2008-05-08 Panasonic Corporation Communication control method, communication system, home agent allocation server, and mobile node
KR100830413B1 (en) 2006-05-25 2008-05-20 (주)씨디네트웍스 Server connection system and load balancing network system
CN101189598A (en) 2005-03-09 2008-05-28 泰克迪亚科技公司 Method, apparatus and system for a location-based uniform resource locator
US20080134332A1 (en) 2006-12-04 2008-06-05 Susann Marie Keohane Method and apparatus for reduced redundant security screening
US7391725B2 (en) 2004-05-18 2008-06-24 Christian Huitema System and method for defeating SYN attacks
WO2008078593A1 (en) 2006-12-22 2008-07-03 International Business Machines Corporation Message hub, program, and method
CN101247349A (en) 2008-03-13 2008-08-20 华耀环宇科技(北京)有限公司 Network flux fast distribution method
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
CN101261644A (en) 2008-04-30 2008-09-10 杭州华三通信技术有限公司 Method and device for accessing united resource positioning symbol database
US7430755B1 (en) 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US20080250099A1 (en) 2007-04-06 2008-10-09 Jinmei Shen On-Demand Propagation of Routing Information in Distributed Computing System
US20080291911A1 (en) 2007-05-21 2008-11-27 Ist International, Inc. Method and apparatus for setting a TCP retransmission timer
US7467202B2 (en) 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
US7472190B2 (en) * 2003-10-17 2008-12-30 International Business Machines Corporation Method, system and program product for preserving a user state in an application
US7492766B2 (en) * 2006-02-22 2009-02-17 Juniper Networks, Inc. Dynamic building of VLAN interfaces based on subscriber information strings
US20090049198A1 (en) 2007-08-14 2009-02-19 Microsoft Corporation Validating change of name server
US20090070470A1 (en) 2005-08-03 2009-03-12 International Business Machines Corporation Priority Based LDAP Service Publication Mechanism
US7506360B1 (en) 2002-10-01 2009-03-17 Mirage Networks, Inc. Tracking communication for determining device states
US20090077651A1 (en) 2001-07-13 2009-03-19 Yuri Poeluev Method and apparatus for resolving a web site address when connected with a virtual private network (vpn)
US7512980B2 (en) 2001-11-30 2009-03-31 Lancope, Inc. Packet sampling flow-based detection of network intrusions
US20090092124A1 (en) 2007-10-03 2009-04-09 Microsoft Corporation Network routing of endpoints to content based on content swarms
US20090106830A1 (en) 2005-06-03 2009-04-23 Thomas Maher Secure Network Communication System and Method
US7533409B2 (en) 2001-03-22 2009-05-12 Corente, Inc. Methods and systems for firewalling virtual private networks
US20090138606A1 (en) 2002-10-08 2009-05-28 Brian Moran Transferring sessions between devices
US20090141634A1 (en) 2007-12-04 2009-06-04 Jesse Abraham Rothstein Adaptive Network Traffic Classification Using Historical Context
US7552323B2 (en) 2002-11-18 2009-06-23 Liquidware Labs, Inc. System, apparatuses, methods, and computer-readable media using identification data in packet communications
US20090164614A1 (en) 2007-12-20 2009-06-25 Christian Michael F Dns wildcard beaconing to determine client location and resolver load for global traffic load balancing
US20090172093A1 (en) 2007-12-26 2009-07-02 International Business Machines Corporation Technique For Previously Providing Estimate of Time Required For Processing
US20090213858A1 (en) 2008-02-27 2009-08-27 Alcatel Lucent Application-aware MPLS tunnel selection
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US20090222583A1 (en) 2008-03-03 2009-09-03 Microsoft Corporation Client-side load balancing
US20090228547A1 (en) 2008-03-04 2009-09-10 Kddi Corporation Server apparatus and communication system
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7613193B2 (en) 2005-02-04 2009-11-03 Nokia Corporation Apparatus, method and computer program product to reduce TCP flooding attacks while conserving wireless network bandwidth
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US20100008229A1 (en) 2008-07-11 2010-01-14 Qi Bi Method and system for joint reverse link access and traffic channel radio frequency overload control
US20100036952A1 (en) 2008-08-11 2010-02-11 International Business Machines Corporation Load balancing using replication delay
US20100054139A1 (en) 2005-03-29 2010-03-04 Lg Electronics Inc. Method and apparatus of controlling transmission of data block
US20100064008A1 (en) 2007-03-13 2010-03-11 Huawei Technologies Co., Ltd. Peer-to-peer network system, proxy service peer, and method for peer interworking between overlay networks
US20100083076A1 (en) 2008-09-26 2010-04-01 Brother Kogyo Kabushiki Kaisha Terminal device, time adjusting method of terminal device and communication system
US20100094985A1 (en) 2008-10-14 2010-04-15 Mamoun Abu-Samaha Http push to simulate server-initiated sessions
US7707295B1 (en) 2002-05-03 2010-04-27 Foundry Networks, Inc. Connection rate limiting
US20100106833A1 (en) 2008-10-23 2010-04-29 International Business Machines Corporation Dynamic expiration of domain name service entries
US20100106854A1 (en) 2008-10-29 2010-04-29 Hostway Corporation System and method for controlling non-existing domain traffic
US7711790B1 (en) 2000-08-24 2010-05-04 Foundry Networks, Inc. Securing an accessible computer system
US20100162378A1 (en) 2008-12-18 2010-06-24 Thusitha Jayawardena Methods and apparatus to enhance security in residential networks
US7747748B2 (en) 1998-11-17 2010-06-29 Democrasoft, Inc. Method for connection acceptance control and rapid determination of optimal multi-media content delivery over networks
US20100210265A1 (en) 2009-02-17 2010-08-19 Nokia Corporation Method and apparatus for providing shared services
US20100217793A1 (en) 2009-02-23 2010-08-26 Research In Motion Limited Method, system and apparatus for connecting a plurality of client machines to a plurality of servers
US20100223630A1 (en) * 2007-06-26 2010-09-02 Sap Ag System and method for switching between stateful and stateless communication modes
US7792113B1 (en) 2002-10-21 2010-09-07 Cisco Technology, Inc. Method and system for policy-based forwarding
US20100228819A1 (en) 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US20100235880A1 (en) 2006-10-17 2010-09-16 A10 Networks, Inc. System and Method to Apply Network Traffic Policy to an Application Session
US20100235507A1 (en) 2002-05-03 2010-09-16 Brocade Communications Systems, Inc. Connection rate limiting for server load balancing and transparent cache switching
US20100235522A1 (en) 2009-03-11 2010-09-16 Juniper Networks Inc. Session-cache-based http acceleration
US20100238828A1 (en) 2009-03-23 2010-09-23 Corvil Limited System and method for estimation of round trip times within a tcp based data network
US7808994B1 (en) * 2006-02-22 2010-10-05 Juniper Networks, Inc. Forwarding traffic to VLAN interfaces built based on subscriber information strings
US20100268814A1 (en) 2008-11-19 2010-10-21 Seachange International, Inc. Intercept Device for Providing Content
US20100265824A1 (en) 2007-11-09 2010-10-21 Blade Network Technologies, Inc Session-less Load Balancing of Client Traffic Across Servers in a Server Group
US7826487B1 (en) 2005-05-09 2010-11-02 F5 Network, Inc Coalescing acknowledgement responses to improve network communications
US20100293296A1 (en) 2000-09-26 2010-11-18 Foundry Networks, Inc. Global server load balancing
US20100312740A1 (en) 2009-06-09 2010-12-09 Clemm L Alexander Tracking policy decisions in a network
US20100318631A1 (en) 2009-06-12 2010-12-16 Yahoo! Inc. User Location Dependent DNS Lookup
US20100322252A1 (en) 2009-06-22 2010-12-23 Josephine Suganthi Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system
US20100333101A1 (en) 2007-11-29 2010-12-30 Solarflare Communications Inc. Virtualised receive side scaling
US20100330971A1 (en) 2009-06-26 2010-12-30 Oracle International Corporation System and method for providing a production upgrade of components within a multiprotocol gateway
US20110007652A1 (en) 2008-05-09 2011-01-13 Huawei Technologies Co., Ltd. Method and device for path switchover
US20110023071A1 (en) 2008-03-28 2011-01-27 Huawei Technologies Co., Ltd. Method, System, and Apparatus for Creating Content-on-Demand Service
US7881215B1 (en) 2004-03-18 2011-02-01 Avaya Inc. Stateful and stateless data processing
US20110029599A1 (en) 2000-07-13 2011-02-03 Infoblox, Inc. Domain name service server
US20110032941A1 (en) 2002-11-08 2011-02-10 Juniper Networks, Inc. Systems and methods for accelerating tcp/ip data stream processing
US20110040826A1 (en) * 2009-08-13 2011-02-17 Sap Ag Transparently stateful execution of stateless applications
US20110047294A1 (en) 2005-06-29 2011-02-24 Visa U.S.A., Inc. Adaptive gateway for switching transactions and data on unreliable networks using context-based rules
US20110060831A1 (en) 2008-06-12 2011-03-10 Tomoki Ishii Network monitoring device, bus system monitoring device, method and program
EP2296313A1 (en) 2008-07-16 2011-03-16 Huawei Technologies Co., Ltd. Control method and device for wireless multi-hopping network congestion
US20110093522A1 (en) 2009-10-21 2011-04-21 A10 Networks, Inc. Method and System to Determine an Application Delivery Server Based on Geo-Location Information
CN101094225B (en) 2006-11-24 2011-05-11 中兴通讯股份有限公司 Network, system and method of differentiated security service
US20110110294A1 (en) 2009-11-06 2011-05-12 Vamsidhar Valluri VIRTUAL CARE-OF ADDRESS FOR MOBILE IP (Internet Protocol)
US20110145324A1 (en) 2009-12-16 2011-06-16 Quantum Corporation Reducing messaging in a client-server system
US20110153834A1 (en) 2009-12-17 2011-06-23 Sonus Networks, Inc. Transparent Recovery of Transport Connections Using Packet Translation Techniques
US7970934B1 (en) 2006-07-31 2011-06-28 Google Inc. Detecting events of interest
WO2011079381A1 (en) 2009-12-31 2011-07-07 Bce Inc. Method and system for increasing performance of transmission control protocol sessions in data networks
US7983258B1 (en) * 2005-11-09 2011-07-19 Juniper Networks, Inc. Dynamic virtual local area network (VLAN) interface configuration
US20110185073A1 (en) 2009-11-25 2011-07-28 Ashok Kumar Jagadeeswaran Systems and methods for client ip address insertion via tcp options
US7990847B1 (en) 2005-04-15 2011-08-02 Cisco Technology, Inc. Method and system for managing servers in a server cluster
US7991859B1 (en) 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
US20110191773A1 (en) 2010-02-01 2011-08-04 Computer Associates Think, Inc. System and Method for Datacenter Power Management
US20110196971A1 (en) 2010-02-10 2011-08-11 Praveenkumar Reguraman Application session control using packet inspection
US20110276982A1 (en) 2010-05-06 2011-11-10 Hitachi, Ltd. Load Balancer and Load Balancing System
US20110276695A1 (en) 2010-05-06 2011-11-10 Juliano Maldaner Continuous upgrading of computers in a load balanced environment
US20110289496A1 (en) 2010-05-18 2011-11-24 North End Technologies, Inc. Method & apparatus for load balancing software update across a plurality of publish/subscribe capable client devices
US20110292939A1 (en) 2009-05-28 2011-12-01 Krishnamurthy Subramaian Method & apparatus for forwarding table reduction
US20110302256A1 (en) 2010-06-07 2011-12-08 Salesforce.Com, Inc. Methods and systems for providing customized domain messages
US20110307541A1 (en) 2010-06-10 2011-12-15 Microsoft Corporation Server load balancing and draining in enhanced communication systems
US20120023231A1 (en) 2009-10-23 2012-01-26 Nec Corporation Network system, control method for the same, and controller
US20120030341A1 (en) 2010-07-28 2012-02-02 International Business Machines Corporation Transparent Header Modification for Reducing Serving Load Based on Current and Projected Usage
US8122116B2 (en) 2008-10-31 2012-02-21 Hitachi, Ltd. Storage management method and management server
US20120066371A1 (en) 2010-09-10 2012-03-15 Cisco Technology, Inc. Server Load Balancer Scaling for Virtual Servers
US20120084460A1 (en) 2010-10-04 2012-04-05 Openwave Systems Inc. Method and system for dynamic traffic steering
US20120084419A1 (en) 2010-09-30 2012-04-05 A10 Networks, Inc. System and method to balance servers based on server load status
US8185651B2 (en) 2002-01-10 2012-05-22 Network General Technology Multi-segment network application monitoring and correlation architecture
US8191106B2 (en) 2007-06-07 2012-05-29 Alcatel Lucent System and method of network access security policy management for multimodal device
US20120144014A1 (en) 2010-12-01 2012-06-07 Cisco Technology, Inc. Directing data flows in data centers with clustering services
WO2012075237A2 (en) 2010-12-02 2012-06-07 A10 Networks Inc. System and method to distribute application traffic to servers based on dynamic service response time
EP1885096B1 (en) 2006-08-01 2012-07-04 Alcatel Lucent Application session border element
US20120173759A1 (en) 2010-12-29 2012-07-05 Mugdha Agarwal Systems and Methods for Policy Based Integration to Horizontally Deployed WAN Optimization Appliances
US20120170548A1 (en) 2011-01-04 2012-07-05 Cisco Technology, Inc. Distributed load management on network devices
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US20120240185A1 (en) 2000-09-25 2012-09-20 Harsh Kapoor Systems and methods for processing data flows
US8296434B1 (en) 2009-05-28 2012-10-23 Amazon Technologies, Inc. Providing dynamically scaling computing load balancing
KR20120117461A (en) 2011-04-15 2012-10-24 서강대학교산학협력단 Method and system of controlling data transfer rate for downward vertical handover in overlayed network environment
EP1209876B1 (en) 2000-11-21 2012-11-21 Avaya Communication Israel Ltd. Dynamic load balancer
US20120297046A1 (en) 2009-12-23 2012-11-22 Murali Raja Systems and methods for gslb spillover
US8379515B1 (en) 2007-02-01 2013-02-19 F5 Networks, Inc. TCP throughput control by imposing temporal delay
US20130046876A1 (en) 2008-11-25 2013-02-21 Raghav Somanahalli Narayana Systems and methods for gslb site persistence
US20130074177A1 (en) 2008-08-14 2013-03-21 Juniper Networks, Inc. Routing device having integrated mpls-aware firewall
US20130083725A1 (en) 2011-10-04 2013-04-04 Juniper Networks, Inc. Methods and apparatus for enforcing a common user policy within a network
US20130100958A1 (en) 2011-10-24 2013-04-25 A10 Networks, Inc. Methods to combine stateless and stateful server load balancing
US20130136139A1 (en) 2011-11-29 2013-05-30 A10 Networks, Inc. Accelerating Service Processing Using Fast Path TCP
US20130148500A1 (en) 2011-04-18 2013-06-13 Kentaro Sonoda Terminal, control device, communication method, communication system, communication module, program, and information processing device
US20130166762A1 (en) 2011-12-23 2013-06-27 A10 Networks, Inc. Methods to Manage Services over a Service Gateway
US20130173795A1 (en) 2011-12-30 2013-07-04 Verisign, Inc. DNS Package in a Partitioned Network
US20130176854A1 (en) 2012-01-09 2013-07-11 Motorola Mobility, Inc. Dynamic tcp layer optimization for real-time field performance
US20130191486A1 (en) 2012-01-24 2013-07-25 Sony Corporation Time control apparatus, time control method, and program
US8499093B2 (en) * 2010-05-14 2013-07-30 Extreme Networks, Inc. Methods, systems, and computer readable media for stateless load balancing of network traffic flows
WO2013112492A1 (en) 2012-01-28 2013-08-01 A10 Networks, Inc. System and method to generate secure name records
US20130250765A1 (en) 2012-03-23 2013-09-26 Qualcomm Incorporated Delay based active queue management for uplink traffic in user equipment
US20130258846A1 (en) 2010-12-07 2013-10-03 Telefonaktiebolaget L M Ericsson (Publ) Method for Enabling Traffic Acceleration in a Mobile Telecommunication Network
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US20140012972A1 (en) 2012-07-05 2014-01-09 A10 Networks, Inc. Method to Allocate Buffer for TCP Proxy Session Based on Dynamic Network Conditions
US20140089500A1 (en) 2012-09-25 2014-03-27 Swaminathan Sankar Load distribution in data networks
US20140164617A1 (en) 2012-12-06 2014-06-12 A10 Networks, Inc. Forwarding policies on a virtual service network
US20140169168A1 (en) 2012-12-06 2014-06-19 A10 Networks, Inc. Configuration of a virtual service network
CN103944954A (en) 2013-01-23 2014-07-23 A10网络股份有限公司 Reducing Buffer Usage For Tcp Proxy Session Based On Delayed Acknowledgment
US20140258536A1 (en) 2013-03-08 2014-09-11 A10 Networks, Inc. Application delivery controller and global server load balancer
US20140269728A1 (en) 2013-03-15 2014-09-18 Rajkumar Jalan Processing data packets using a policy based network path
US20140286313A1 (en) 2011-11-23 2014-09-25 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for improving transmission control protocol performance in a cellular network
US8879427B2 (en) * 2000-07-07 2014-11-04 802 Systems Inc. Methods for updating the configuration of a programmable packet filtering device including a determination as to whether a packet is to be junked
WO2014179753A2 (en) 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US8885463B1 (en) 2011-10-17 2014-11-11 Juniper Networks, Inc. Path computation element communication protocol (PCEP) extensions for stateful label switched path management
US20140334485A1 (en) 2013-05-09 2014-11-13 Vmware, Inc. Method and system for service switching using service tags
US20140359052A1 (en) 2013-05-28 2014-12-04 Verizon Patent And Licensing Inc. Resilient tcp splicing for proxy services
US8965957B2 (en) * 2010-12-15 2015-02-24 Sap Se Service delivery framework
US20150156223A1 (en) 2013-12-02 2015-06-04 Feilong Xu Network proxy layer for policy-based application proxies
US20150237173A1 (en) 2012-08-23 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) TCP Proxy Server
US20150281087A1 (en) 2014-03-25 2015-10-01 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US20150281104A1 (en) 2014-03-31 2015-10-01 Ali Golshan Active application response delay time

Family Cites Families (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5855663A (en) 1981-09-30 1983-04-02 株式会社日立製作所 Air conditioner for room
JPS596263A (en) 1982-07-03 1984-01-13 Agency Of Ind Science & Technol Zinc-coated flake pigment
JPS5913609A (en) 1982-07-15 1984-01-24 Kaoru Umeya Flaky nitride ceramics and its manufacture
JPS5946189A (en) 1982-09-06 1984-03-15 Ryozo Oota Combination of contact plate for water disposal
JPS5963766A (en) 1982-10-04 1984-04-11 Mitsubishi Electric Corp Semiconductor memory
US5995981A (en) 1997-06-16 1999-11-30 Telefonaktiebolaget Lm Ericsson Initialization of replicated data objects
AU8576798A (en) 1997-07-25 1999-02-16 Starvox, Inc. Apparatus and method for integrated voice gateway
US7167927B2 (en) 1997-10-14 2007-01-23 Alacritech, Inc. TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism
US6459682B1 (en) 1998-04-07 2002-10-01 International Business Machines Corporation Architecture for supporting service level agreements in an IP network
EP1049307A1 (en) 1999-04-29 2000-11-02 International Business Machines Corporation Method and system for dispatching client sessions within a cluster of servers connected to the World Wide Web
US7463648B1 (en) 1999-08-23 2008-12-09 Sun Microsystems, Inc. Approach for allocating resources to an apparatus based on optional resource requirements
US8032634B1 (en) 1999-08-23 2011-10-04 Oracle America, Inc. Approach for allocating resources to an apparatus based on resource requirements
US8179809B1 (en) 1999-08-23 2012-05-15 Oracle America, Inc. Approach for allocating resources to an apparatus based on suspendable resource requirements
US7703102B1 (en) 1999-08-23 2010-04-20 Oracle America, Inc. Approach for allocating resources to an apparatus based on preemptable resource requirements
US8019870B1 (en) 1999-08-23 2011-09-13 Oracle America, Inc. Approach for allocating resources to an apparatus based on alternative resource requirements
US7590739B2 (en) 1999-11-22 2009-09-15 Akamai Technologies, Inc. Distributed on-demand computing system
US6952728B1 (en) 1999-12-01 2005-10-04 Nortel Networks Limited Providing desired service policies to subscribers accessing internet
JP2001298449A (en) 2000-04-12 2001-10-26 Matsushita Electric Ind Co Ltd Security communication method, communication system and its unit
US8204082B2 (en) 2000-06-23 2012-06-19 Cloudshield Technologies, Inc. Transparent provisioning of services over a network
CN1276372C (en) 2000-09-29 2006-09-20 艾拉克瑞技术公司 Intelligent networks storage interface system and devices
US7218722B1 (en) 2000-12-18 2007-05-15 Westell Technologies, Inc. System and method for providing call management services in a virtual private network using voice or video over internet protocol
WO2002103970A1 (en) 2001-06-18 2002-12-27 Tatara Systems, Inc. Method and apparatus for converging local area and wide area wireless data networks
US7305492B2 (en) 2001-07-06 2007-12-04 Juniper Networks, Inc. Content service aggregation system
US7509369B1 (en) 2001-07-11 2009-03-24 Swsoft Holdings, Ltd. Balancing shared servers in virtual environments
JP3730563B2 (en) * 2001-11-02 2006-01-05 キヤノンソフトウェア株式会社 Session management apparatus, session management method, program, and recording medium
JP2003186776A (en) 2001-12-13 2003-07-04 Hitachi Ltd Congestion control system
US7751409B1 (en) 2002-03-20 2010-07-06 Oracle America, Inc. Logical service domains for enabling network mobility
US7418494B2 (en) 2002-07-25 2008-08-26 Intellectual Ventures Holding 40 Llc Method and system for background replication of data objects
US7269348B1 (en) 2002-11-18 2007-09-11 At&T Corp. Router having dual propagation paths for packets
US7089231B2 (en) 2002-12-31 2006-08-08 International Business Machines Corporation System and method for searching a plurality of databases distributed across a multi server domain
US7194480B2 (en) 2002-12-31 2007-03-20 International Business Machines Corporation System and method for invoking methods on place objects in a distributed environment
US6904439B2 (en) 2002-12-31 2005-06-07 International Business Machines Corporation System and method for aggregating user project information in a multi-server system
US20040141005A1 (en) 2003-01-22 2004-07-22 International Business Machines Corporation System and method for integrating online meeting materials in a place
US7167874B2 (en) 2003-01-22 2007-01-23 International Business Machines Corporation System and method for command line administration of project spaces using XML objects
US20040210623A1 (en) 2003-03-06 2004-10-21 Aamer Hydrie Virtual network topology generation
US7739395B1 (en) 2003-04-25 2010-06-15 At&T Intellectual Property Ii, L.P. Call signaling in an IP network
US7636917B2 (en) 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
US6996070B2 (en) 2003-12-05 2006-02-07 Alacritech, Inc. TCP/IP offload device with reduced sequential processing
US20060112170A1 (en) 2004-05-03 2006-05-25 Craig Sirkin Geo-locating load balancing
US20060064478A1 (en) 2004-05-03 2006-03-23 Level 3 Communications, Inc. Geo-locating load balancing
US7584301B1 (en) 2004-05-06 2009-09-01 Foundry Networks, Inc. Host-level policies for global server load balancing
US8179786B2 (en) 2004-05-19 2012-05-15 Mosaid Technologies Incorporated Dynamic traffic rearrangement and restoration for MPLS networks with differentiated services capabilities
JP4610240B2 (en) 2004-06-24 2011-01-12 富士通株式会社 Analysis program, analysis method, and analysis apparatus
FI20040888A0 (en) 2004-06-28 2004-06-28 Nokia Corp Management of services in a packet switching data network
US8533473B2 (en) 2005-03-04 2013-09-10 Oracle America, Inc. Method and apparatus for reducing bandwidth usage in secure transactions
WO2006098033A1 (en) 2005-03-17 2006-09-21 Fujitsu Limited Load-distributing communication device and load-distribution managing device
US7606147B2 (en) 2005-04-13 2009-10-20 Zeugma Systems Inc. Application aware traffic shaping service node positioned between the access and core networks
US20070086382A1 (en) 2005-10-17 2007-04-19 Vidya Narayanan Methods of network access configuration in an IP network
JP4650203B2 (en) 2005-10-20 2011-03-16 株式会社日立製作所 Information system and management computer
US7694011B2 (en) 2006-01-17 2010-04-06 Cisco Technology, Inc. Techniques for load balancing over a cluster of subscriber-aware application servers
US8539075B2 (en) 2006-04-21 2013-09-17 International Business Machines Corporation On-demand global server load balancing system and method of use
EP2060087A1 (en) 2006-07-03 2009-05-20 Telefonaktiebolaget L M Ericsson (Publ) Topology hiding of mobile agents
US8332925B2 (en) 2006-08-08 2012-12-11 A10 Networks, Inc. System and method for distributed multi-processing security gateway
US8079077B2 (en) 2006-08-08 2011-12-13 A10 Networks, Inc. System and method for distributed multi-processing security gateway
JP4724629B2 (en) 2006-09-14 2011-07-13 富士通株式会社 Broadcast distribution system and broadcast distribution method
US7716378B2 (en) 2006-10-17 2010-05-11 A10 Networks, Inc. System and method to associate a private user identity with a public user identity
CN101193089B (en) * 2006-11-20 2010-11-03 阿里巴巴集团控股有限公司 Stateful session system and its realization method
US7992192B2 (en) 2006-12-29 2011-08-02 Ebay Inc. Alerting as to denial of service attacks
US7743155B2 (en) 2007-04-20 2010-06-22 Array Networks, Inc. Active-active operation for a cluster of SSL virtual private network (VPN) devices with load distribution
US20080271130A1 (en) 2007-04-30 2008-10-30 Shankar Ramamoorthy Minimizing client-side inconsistencies in a distributed virtual file system
US9143558B2 (en) 2007-05-09 2015-09-22 Radware, Ltd. Geographic resiliency and load balancing for SIP application services
CN101163336B (en) 2007-11-15 2010-06-16 中兴通讯股份有限公司 Method of implementing mobile phone terminal access authority authentication
US8185628B2 (en) 2008-03-07 2012-05-22 At&T Mobility Ii Llc Enhanced policy capabilities for mobile data services
US7886021B2 (en) 2008-04-28 2011-02-08 Oracle America, Inc. System and method for programmatic management of distributed computing resources
US8271652B2 (en) 2008-07-24 2012-09-18 Netapp, Inc. Load-derived probability-based domain name service in a network storage cluster
EP2350876A2 (en) 2008-10-03 2011-08-03 Telefonaktiebolaget LM Ericsson (publ) Monitoring mechanism for a distributed database
US8125911B2 (en) 2008-11-26 2012-02-28 Cisco Technology, Inc. First-hop domain reliability measurement and load balancing in a computer network
US20100205310A1 (en) 2009-02-12 2010-08-12 Yaniv Altshuler System and method for dynamically optimizing tcp window size
WO2010101650A1 (en) 2009-03-06 2010-09-10 Ying Xu Method and system for i/o driven rate adaptation
JP5514305B2 (en) 2009-06-10 2014-06-04 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Performance measurement in communication networks
JP5378946B2 (en) 2009-10-26 2013-12-25 株式会社日立製作所 Server management apparatus and server management method
US8804513B2 (en) 2010-02-25 2014-08-12 The Trustees Of Columbia University In The City Of New York Methods and systems for controlling SIP overload
US9680750B2 (en) 2010-07-06 2017-06-13 Nicira, Inc. Use of tunnels to hide network addresses
US8966040B2 (en) 2010-07-06 2015-02-24 Nicira, Inc. Use of network information base structure to establish communication between applications
US8520672B2 (en) 2010-07-29 2013-08-27 Cisco Technology, Inc. Packet switching device using results determined by an application node
US8675488B1 (en) 2010-09-07 2014-03-18 Juniper Networks, Inc. Subscriber-based network traffic management
US9237194B2 (en) 2010-11-05 2016-01-12 Verizon Patent And Licensing Inc. Load balancer and firewall self-provisioning system
US9152293B2 (en) 2010-12-09 2015-10-06 Verizon Patent And Licensing Inc. Server IP addressing in a computing-on-demand system
US8755283B2 (en) 2010-12-17 2014-06-17 Microsoft Corporation Synchronizing state among load balancer components
WO2012097015A2 (en) 2011-01-11 2012-07-19 A10 Networks Inc. Virtual application delivery chassis system
US8732267B2 (en) 2011-03-15 2014-05-20 Cisco Technology, Inc. Placement of a cloud service using network topology and infrastructure performance
CN102143075B (en) * 2011-03-28 2013-08-07 中国人民解放军国防科学技术大学 Method and system for achieving load balance
US9154577B2 (en) 2011-06-06 2015-10-06 A10 Networks, Inc. Sychronization of configuration file of virtual application distribution chassis
JP5848062B2 (en) 2011-08-24 2016-01-27 株式会社Nttドコモ Base station and system information notification method
CN103947258B (en) 2011-09-29 2018-10-09 三星电子株式会社 Mobile communication system and information processing method for improving user experience in mobile communication system
US8918501B2 (en) 2011-11-10 2014-12-23 Microsoft Corporation Pattern-based computational health and configuration monitoring
KR101348739B1 (en) 2012-02-22 2014-01-08 유대영 LED Lighting apparatus and LED Lighting system having the same
US8819275B2 (en) 2012-02-28 2014-08-26 Comcast Cable Communications, Llc Load balancing and session persistence in packet networks
US9350671B2 (en) 2012-03-22 2016-05-24 Futurewei Technologies, Inc. Supporting software defined networking with application layer traffic optimization
US9386085B2 (en) 2012-04-04 2016-07-05 Radware, Ltd. Techniques for providing scalable application delivery controller services
US8880704B2 (en) 2012-04-19 2014-11-04 Empire Technology Development Llc Migration in place by infrastructure deployment of platforms to customer hardware
US9027129B1 (en) 2012-04-30 2015-05-05 Brocade Communications Systems, Inc. Techniques for protecting against denial of service attacks
US8855014B2 (en) 2012-06-15 2014-10-07 Cisco Technology, Inc. Distributed stateful path computation element overlay architecture
US9467383B2 (en) 2012-06-19 2016-10-11 Hewlett Packard Enterprise Development Lp Iterative optimization method for site selection in global load balance
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US9088612B2 (en) 2013-02-12 2015-07-21 Verizon Patent And Licensing Inc. Systems and methods for providing link-performance information in socket-based communication devices
US20140258465A1 (en) 2013-03-11 2014-09-11 Cisco Technology, Inc. Identification of originating ip address and client port connection to a web server via a proxy server
US10613914B2 (en) 2013-04-01 2020-04-07 Oracle International Corporation Orchestration service for a distributed computing system
US9692775B2 (en) 2013-04-29 2017-06-27 Telefonaktiebolaget Lm Ericsson (Publ) Method and system to dynamically detect traffic anomalies in a network
US10027761B2 (en) 2013-05-03 2018-07-17 A10 Networks, Inc. Facilitating a secure 3 party network session by a network device
EP3000255A1 (en) 2013-05-20 2016-03-30 Telefonaktiebolaget LM Ericsson (publ) Congestion control in a communications network
US9917851B2 (en) 2014-04-28 2018-03-13 Sophos Limited Intrusion detection using a heartbeat
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US10268467B2 (en) 2014-11-11 2019-04-23 A10 Networks, Inc. Policy-driven management of application traffic for providing services to cloud-based applications
US9716664B2 (en) 2014-12-03 2017-07-25 Cisco Technology, Inc. Tracking queuing delay and performing related congestion control in information centric networking

Patent Citations (349)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218602A (en) 1991-04-04 1993-06-08 Dsc Communications Corporation Interprocessor switching network
JPH0997233A (en) 1995-09-28 1997-04-08 Nec Corp Load distributing method for on-line information processing system
US5935207A (en) 1996-06-03 1999-08-10 Webtv Networks, Inc. Method and apparatus for providing remote site administrators with user hits on mirrored web sites
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US5958053A (en) 1997-01-30 1999-09-28 At&T Corp. Communications protocol with improved security
JPH1196128A (en) 1997-09-22 1999-04-09 Fujitsu Ltd Device and method for adjusting network service server load and recording medium
US6259705B1 (en) 1997-09-22 2001-07-10 Fujitsu Limited Network service server load balancing device, network service server load balancing method and computer-readable storage medium recorded with network service server load balancing program
US7673072B2 (en) 1997-10-14 2010-03-02 Alacritech, Inc. Fast-path apparatus for transmitting data corresponding to a TCP connection
US20040078480A1 (en) 1997-10-14 2004-04-22 Boucher Laurence B. Parsing a packet header
US20040073703A1 (en) 1997-10-14 2004-04-15 Alacritech, Inc. Fast-path apparatus for receiving data corresponding a TCP connection
US20040062246A1 (en) 1997-10-14 2004-04-01 Alacritech, Inc. High performance network interface
US20020091844A1 (en) 1997-10-14 2002-07-11 Alacritech, Inc. Network interface device that fast-path processes solicited session layer read commands
US6047268A (en) 1997-11-04 2000-04-04 A.T.&T. Corporation Method and apparatus for billing for transactions conducted over the internet
US6003069A (en) 1997-12-16 1999-12-14 Lexmark International, Inc. Client/server printer driver system
US20050074013A1 (en) 1998-02-02 2005-04-07 Hershey Paul C. System and associated method for the synchronization and control of multiplexed payloads over a telecommunications network
US6131163A (en) 1998-02-17 2000-10-10 Cisco Technology, Inc. Network gateway mechanism having a protocol stack proxy
JPH11338836A (en) 1998-05-25 1999-12-10 Nippon Telegr & Teleph Corp <Ntt> Load distribution system for computer network
US6219706B1 (en) 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US7334232B2 (en) * 1998-11-05 2008-02-19 Bea Systems, Inc. Clustered enterprise Java™ in a secure distributed processing system
US6321338B1 (en) 1998-11-09 2001-11-20 Sri International Network surveillance
US7747748B2 (en) 1998-11-17 2010-06-29 Democrasoft, Inc. Method for connection acceptance control and rapid determination of optimal multi-media content delivery over networks
JP2000276432A (en) 1999-03-24 2000-10-06 Nec Corp Dynamic load distribution system for transaction message
JP2000307634A (en) 1999-04-15 2000-11-02 Kdd Corp Congestion control method by repeating station of packet exchanging network
US20010049741A1 (en) 1999-06-18 2001-12-06 Bryan D. Skene Method and system for balancing load distribution on a wide area network
CN1372662A (en) 1999-07-09 2002-10-02 卡纳尔股份有限公司 Running and testing applications
US6374300B2 (en) 1999-07-15 2002-04-16 F5 Networks, Inc. Method and system for storing load balancing information with an HTTP cookie
JP2001051859A (en) 1999-08-11 2001-02-23 Hitachi Ltd Load information communication method
WO2001013228A9 (en) 1999-08-13 2002-07-11 Sun Microsystems Inc Graceful distribution in application server load balancing
WO2001014990A1 (en) 1999-08-21 2001-03-01 Webever, Inc. Method for content delivery over the internet
US6748414B1 (en) 1999-11-15 2004-06-08 International Business Machines Corporation Method and apparatus for the load balancing of non-identical servers in a network environment
WO2001045349A3 (en) 1999-12-16 2002-01-24 Speedera Networks Inc Scalable domain name system with persistence and load balancing
US6587866B1 (en) 2000-01-10 2003-07-01 Sun Microsystems, Inc. Method for distributing packets to server nodes using network client affinity and packet distribution table
US20050044270A1 (en) 2000-02-07 2005-02-24 Grove Adam J. Method for high-performance delivery of web content
US20040199646A1 (en) 2000-02-18 2004-10-07 Netscaler, Inc. Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
US20020138618A1 (en) 2000-03-21 2002-09-26 F5 Networks, Inc. Simplified method for processing multiple connections from the same client
US8879427B2 (en) * 2000-07-07 2014-11-04 802 Systems Inc. Methods for updating the configuration of a programmable packet filtering device including a determination as to whether a packet is to be junked
US7013482B1 (en) * 2000-07-07 2006-03-14 802 Systems Llc Methods for packet filtering including packet invalidation if packet validity determination not timely made
US20110029599A1 (en) 2000-07-13 2011-02-03 Infoblox, Inc. Domain name service server
US20030035420A1 (en) 2000-08-18 2003-02-20 Zhisheng Niu TCP aware local retransmissioner scheme for unreliable transmission network
US7711790B1 (en) 2000-08-24 2010-05-04 Foundry Networks, Inc. Securing an accessible computer system
US7010605B1 (en) 2000-08-29 2006-03-07 Microsoft Corporation Method and apparatus for encoding and storing session data
US6772334B1 (en) 2000-08-31 2004-08-03 Networks Associates, Inc. System and method for preventing a spoofed denial of service attack in a networked computing environment
CN1449618A (en) 2000-09-04 2003-10-15 国际商业机器公司 System communication between computer systems
US7398317B2 (en) 2000-09-07 2008-07-08 Mazu Networks, Inc. Thwarting connection-based denial of service attacks
US20020103916A1 (en) 2000-09-07 2002-08-01 Benjie Chen Thwarting connection-based denial of service attacks
US20020032777A1 (en) 2000-09-11 2002-03-14 Yoko Kawata Load sharing apparatus and a load estimation method
US20120240185A1 (en) 2000-09-25 2012-09-20 Harsh Kapoor Systems and methods for processing data flows
US20100293296A1 (en) 2000-09-26 2010-11-18 Foundry Networks, Inc. Global server load balancing
US20050021848A1 (en) 2000-10-13 2005-01-27 Jorgenson Daniel Scott System and method for distributing load among redundant independent stateful World Wide Web server sites
US20020133491A1 (en) 2000-10-26 2002-09-19 Prismedia Networks, Inc. Method and system for managing distributed content and related metadata
EP1209876B1 (en) 2000-11-21 2012-11-21 Avaya Communication Israel Ltd. Dynamic load balancer
US20020078164A1 (en) 2000-12-13 2002-06-20 Marnetics Ltd. System and method for data transfer acceleration in a TCP network environment
US6779033B1 (en) 2000-12-28 2004-08-17 Networks Associates Technology, Inc. System and method for transacting a validated application session in a networked computing environment
US7301899B2 (en) 2001-01-31 2007-11-27 Comverse Ltd. Prevention of bandwidth congestion in a denial of service or other internet-based attack
US20050198335A1 (en) 2001-02-06 2005-09-08 Microsoft Corporation Distributed load balancing for single entry-point systems
US20030014544A1 (en) 2001-02-15 2003-01-16 Banderacom Infiniband TM work queue to TCP/IP translation
US20030023873A1 (en) 2001-03-16 2003-01-30 Yuval Ben-Itzhak Application-layer security method and system
US20020143991A1 (en) 2001-03-16 2002-10-03 Kingsum Chow Geographic location determination including inspection of network address
US7533409B2 (en) 2001-03-22 2009-05-12 Corente, Inc. Methods and systems for firewalling virtual private networks
US7349970B2 (en) * 2001-03-29 2008-03-25 International Business Machines Corporation Workload management of stateful program entities
US20020178259A1 (en) 2001-05-23 2002-11-28 International Business Machines Corporation Load balancing content requests using dynamic document generation cost information
US20040213158A1 (en) 2001-06-07 2004-10-28 Paul Collett Real time processing
US20020194350A1 (en) 2001-06-18 2002-12-19 Lu Leonard L. Content-aware web switch without delayed binding and methods thereof
US20120191839A1 (en) 2001-06-19 2012-07-26 William Pat Maynard Method and apparatus for load balancing
US20020194335A1 (en) 2001-06-19 2002-12-19 Maynard William Pat Method and apparatus for load balancing
US20030009591A1 (en) 2001-06-25 2003-01-09 Clive Hayball Apparatus and method for managing internet resource requests
US7343399B2 (en) 2001-06-25 2008-03-11 Nortel Networks Limited Apparatus and method for managing internet resource requests
US20050009520A1 (en) 2001-07-03 2005-01-13 Herrero Antonio Juan Sanchez Method and system for handling multiple registration
US20090077651A1 (en) 2001-07-13 2009-03-19 Yuri Poeluev Method and apparatus for resolving a web site address when connected with a virtual private network (vpn)
US20030023711A1 (en) 2001-07-30 2003-01-30 Parmar Pankaj N. Identifying network management policies
US20040187032A1 (en) 2001-08-07 2004-09-23 Christoph Gels Method, data carrier, computer system and computer progamme for the identification and defence of attacks in server of network service providers and operators
US20030035409A1 (en) 2001-08-20 2003-02-20 Wang Jiwei R. Method and apparatus for providing service selection, redirection and managing of subscriber access to multiple WAP (Wireless Application Protecol) geteways simultaneously
US20050005207A1 (en) 2001-09-28 2005-01-06 Thierry Herneque Method of improving the performance of a transmission protocol using a retransmission timer
CN1575582A (en) 2001-09-28 2005-02-02 塞维斯通讯公司 Configurable adaptive global traffic control and management
US20040078419A1 (en) 2001-11-02 2004-04-22 Stephen Ferrari Switching system
US7370353B2 (en) 2001-11-05 2008-05-06 Cisco Technology, Inc. System and method for managing dynamic network sessions
US7512980B2 (en) 2001-11-30 2009-03-31 Lancope, Inc. Packet sampling flow-based detection of network intrusions
US20030131245A1 (en) 2002-01-04 2003-07-10 Michael Linderman Communication security system
US8185651B2 (en) 2002-01-10 2012-05-22 Network General Technology Multi-segment network application monitoring and correlation architecture
US7058718B2 (en) 2002-01-15 2006-06-06 International Business Machines Corporation Blended SYN cookies
US20030135625A1 (en) 2002-01-15 2003-07-17 International Business Machines Corporation Blended SYN cookies
US8090866B1 (en) 2002-01-18 2012-01-03 Cisco Technology, Inc. TCP proxy connection management in a gigabit environment
US7328267B1 (en) 2002-01-18 2008-02-05 Cisco Technology, Inc. TCP proxy connection management in a gigabit environment
US7076555B1 (en) 2002-01-23 2006-07-11 Novell, Inc. System and method for transparent takeover of TCP connections between servers
CN1714545A (en) 2002-01-24 2005-12-28 艾维西系统公司 System and method for fault tolerant data communication
US7143087B2 (en) 2002-02-01 2006-11-28 John Fairweather System and method for creating a distributed network architecture
US8560693B1 (en) 2002-02-11 2013-10-15 Extreme Networks, Inc. Method of and system for allocating resources to resource requests based on application of persistence policies
US7584262B1 (en) 2002-02-11 2009-09-01 Extreme Networks Method of and system for allocating resources to resource requests based on application of persistence policies
US7228359B1 (en) 2002-02-12 2007-06-05 Cisco Technology, Inc. Methods and apparatus for providing domain name service based on a client identifier
US20080109452A1 (en) 2002-02-15 2008-05-08 Cognos Incorporated Queuing model for a plurality of servers
US20030195962A1 (en) 2002-04-10 2003-10-16 Satoshi Kikuchi Load balancing of servers
US8554929B1 (en) 2002-05-03 2013-10-08 Foundry Networks, Llc Connection rate limiting for server load balancing and transparent cache switching
US20100235507A1 (en) 2002-05-03 2010-09-16 Brocade Communications Systems, Inc. Connection rate limiting for server load balancing and transparent cache switching
US7707295B1 (en) 2002-05-03 2010-04-27 Foundry Networks, Inc. Connection rate limiting
WO2003103237A1 (en) 2002-06-04 2003-12-11 Cosine Communications, Inc. System and method for controlling routing in a virtual router system
US20050163073A1 (en) 2002-06-10 2005-07-28 Ipr Licensing, Inc Applying session services based on packet flows
US7277963B2 (en) 2002-06-26 2007-10-02 Sandvine Incorporated TCP proxy providing application layer modifications
US7254133B2 (en) 2002-07-15 2007-08-07 Intel Corporation Prevention of denial of service attacks
US7069438B2 (en) 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US7430755B1 (en) 2002-09-03 2008-09-30 Fs Networks, Inc. Method and system for providing persistence in a secure network access
US7337241B2 (en) 2002-09-27 2008-02-26 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US7506360B1 (en) 2002-10-01 2009-03-17 Mirage Networks, Inc. Tracking communication for determining device states
US7236457B2 (en) 2002-10-04 2007-06-26 Intel Corporation Load balancing in a network
US20090138606A1 (en) 2002-10-08 2009-05-28 Brian Moran Transferring sessions between devices
US7792113B1 (en) 2002-10-21 2010-09-07 Cisco Technology, Inc. Method and system for policy-based forwarding
US7310686B2 (en) 2002-10-27 2007-12-18 Paxfire, Inc. Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US20110032941A1 (en) 2002-11-08 2011-02-10 Juniper Networks, Inc. Systems and methods for accelerating tcp/ip data stream processing
US7552323B2 (en) 2002-11-18 2009-06-23 Liquidware Labs, Inc. System, apparatuses, methods, and computer-readable media using identification data in packet communications
US20040111516A1 (en) 2002-12-06 2004-06-10 Stuart Cain Reduced wireless internet connect time
US20040199616A1 (en) 2002-12-30 2004-10-07 Mika Karhu Automatic and dynamic service information delivery from service providers to data terminals in an access point network
US7234161B1 (en) 2002-12-31 2007-06-19 Nvidia Corporation Method and apparatus for deflecting flooding attacks
US7269850B2 (en) 2002-12-31 2007-09-11 Intel Corporation Systems and methods for detecting and tracing denial of service attacks
US20040202182A1 (en) 2003-02-12 2004-10-14 Martin Lund Method and system to provide blade server load balancing using spare link bandwidth
WO2004084085A1 (en) 2003-03-18 2004-09-30 Fujitsu Limited Load distributing system by intersite cooperation
US20040210663A1 (en) 2003-04-15 2004-10-21 Paul Phillips Object-aware transport-layer network processing engine
US7308499B2 (en) 2003-04-30 2007-12-11 Avaya Technology Corp. Dynamic load balancing for enterprise IP traffic
US7181524B1 (en) 2003-06-13 2007-02-20 Veritas Operating Corporation Method and apparatus for balancing a load among a plurality of servers in a computer system
US7613822B2 (en) 2003-06-30 2009-11-03 Microsoft Corporation Network load balancing with session information
US7590736B2 (en) 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US20050027862A1 (en) 2003-07-18 2005-02-03 Nguyen Tien Le System and methods of cooperatively load-balancing clustered servers
US20050036501A1 (en) 2003-08-11 2005-02-17 Samsung Electronics Co., Ltd. Domain name service system and method thereof
US20050036511A1 (en) 2003-08-14 2005-02-17 International Business Machines Corp. Method, system and article for improved TCP performance during packet reordering
US20090138945A1 (en) 2003-09-10 2009-05-28 Fidelis Security Systems High-Performance Network Content Analysis Platform
US7467202B2 (en) 2003-09-10 2008-12-16 Fidelis Security Systems High-performance network content analysis platform
US20050080890A1 (en) 2003-10-14 2005-04-14 Yang Sun Hee Server load balancing apparatus and method using MPLS session
CN1529460A (en) 2003-10-14 2004-09-15 北京邮电大学 Whole load equalizing method based on global network positioning
US7472190B2 (en) * 2003-10-17 2008-12-30 International Business Machines Corporation Method, system and program product for preserving a user state in an application
JP2005141441A (en) 2003-11-06 2005-06-02 Hitachi Ltd Load distribution system
US20050102400A1 (en) 2003-11-06 2005-05-12 Masahiko Nakahara Load balancing system
US20050125276A1 (en) 2003-12-05 2005-06-09 Grigore Rusu System and method for event tracking across plural contact mediums
US20050213586A1 (en) 2004-02-05 2005-09-29 David Cyganski System and method to increase network throughput
US7881215B1 (en) 2004-03-18 2011-02-01 Avaya Inc. Stateful and stateless data processing
US20050240989A1 (en) 2004-04-23 2005-10-27 Seoul National University Industry Foundation Method of sharing state between stateful inspection firewalls on mep network
US20050249225A1 (en) 2004-05-10 2005-11-10 Singhal Tara C Method and apparatus for packet source validation architecture system for enhanced Internet security
US7391725B2 (en) 2004-05-18 2008-06-24 Christian Huitema System and method for defeating SYN attacks
US20060069774A1 (en) * 2004-06-17 2006-03-30 International Business Machine Corporation Method and apparatus for managing data center using Web services
US20080228781A1 (en) * 2004-06-17 2008-09-18 International Business Machines Corporation Method and Apparatus for Managing Data Center Using Web Services
US8990262B2 (en) * 2004-06-17 2015-03-24 International Business Machines Corporation managing data center using web services
US20060036733A1 (en) 2004-07-09 2006-02-16 Toshiba America Research, Inc. Dynamic host configuration and network access authentication
CN1725702A (en) 2004-07-20 2006-01-25 联想网御科技(北京)有限公司 Network safety equipment and assemblied system and method for implementing high availability
US20060023721A1 (en) 2004-07-29 2006-02-02 Ntt Docomo, Inc. Server device, method for controlling a server device, and method for establishing a connection using the server device
US20060036610A1 (en) 2004-08-13 2006-02-16 Reallusion Inc. File conversion and sharing system and the method of the same
US7423977B1 (en) 2004-08-23 2008-09-09 Foundry Networks Inc. Smoothing algorithm for round trip time (RTT) measurements
US20060069804A1 (en) 2004-08-25 2006-03-30 Ntt Docomo, Inc. Server device, client device, and process execution method
US20060077926A1 (en) 2004-10-08 2006-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Home network-assisted selection of intermediary network for a roaming mobile terminal
US20060092950A1 (en) 2004-10-28 2006-05-04 Cisco Technology, Inc. Architecture and method having redundancy in active/active stateful devices based on symmetric global load balancing protocol (sGLBP)
US20060098645A1 (en) 2004-11-09 2006-05-11 Lev Walkin System and method for providing client identifying information to a server
US20060168319A1 (en) 2004-11-18 2006-07-27 Nokia Corporation Systems and methods for multipoint service invocation
US7613193B2 (en) 2005-02-04 2009-11-03 Nokia Corporation Apparatus, method and computer program product to reduce TCP flooding attacks while conserving wireless network bandwidth
US20060190997A1 (en) 2005-02-22 2006-08-24 Mahajani Amol V Method and system for transparent in-line protection of an electronic communications network
US20060187901A1 (en) 2005-02-23 2006-08-24 Lucent Technologies Inc. Concurrent dual-state proxy server, method of providing a proxy and SIP network employing the same
CN101189598A (en) 2005-03-09 2008-05-28 泰克迪亚科技公司 Method, apparatus and system for a location-based uniform resource locator
US20100054139A1 (en) 2005-03-29 2010-03-04 Lg Electronics Inc. Method and apparatus of controlling transmission of data block
US7990847B1 (en) 2005-04-15 2011-08-02 Cisco Technology, Inc. Method and system for managing servers in a server cluster
US20060251057A1 (en) 2005-05-06 2006-11-09 Sung-Bok Kwon Name service system and method thereof
US7826487B1 (en) 2005-05-09 2010-11-02 F5 Network, Inc Coalescing acknowledgement responses to improve network communications
JP2006332825A (en) 2005-05-24 2006-12-07 Fujitsu Ltd Program, method, and device for dispersing load
US20090106830A1 (en) 2005-06-03 2009-04-23 Thomas Maher Secure Network Communication System and Method
US20060277303A1 (en) 2005-06-06 2006-12-07 Nikhil Hegde Method to improve response time when clients use network services
US20060280121A1 (en) 2005-06-13 2006-12-14 Fujitsu Limited Frame-transfer control device, DoS-attack preventing device, and DoS-attack preventing system
US20070156919A1 (en) 2005-06-21 2007-07-05 Sunil Potti Enforcing network service level agreements in a network element
US20110047294A1 (en) 2005-06-29 2011-02-24 Visa U.S.A., Inc. Adaptive gateway for switching transactions and data on unreliable networks using context-based rules
US20070019543A1 (en) 2005-07-06 2007-01-25 Fortinet, Inc. Systems and methods for detecting and preventing flooding attacks in a network environment
US20090070470A1 (en) 2005-08-03 2009-03-12 International Business Machines Corporation Priority Based LDAP Service Publication Mechanism
EP1770915A1 (en) 2005-09-29 2007-04-04 Matsushita Electric Industrial Co., Ltd. Policy control in the evolved system architecture
US7983258B1 (en) * 2005-11-09 2011-07-19 Juniper Networks, Inc. Dynamic virtual local area network (VLAN) interface configuration
US20070118881A1 (en) 2005-11-18 2007-05-24 Julian Mitchell Application control at a policy server
CN101004740A (en) 2006-01-18 2007-07-25 腾讯科技(深圳)有限公司 Method and system for reading information at network resource site, and searching engine
US20070185998A1 (en) 2006-02-06 2007-08-09 Cisco Technology, Inc. Supporting options in a communication session using a TCP cookie
US7675854B2 (en) 2006-02-21 2010-03-09 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US20070195792A1 (en) 2006-02-21 2007-08-23 A10 Networks Inc. System and method for an adaptive TCP SYN cookie with time validation
USRE44701E1 (en) 2006-02-21 2014-01-14 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US7492766B2 (en) * 2006-02-22 2009-02-17 Juniper Networks, Inc. Dynamic building of VLAN interfaces based on subscriber information strings
US7808994B1 (en) * 2006-02-22 2010-10-05 Juniper Networks, Inc. Forwarding traffic to VLAN interfaces built based on subscriber information strings
US20070245090A1 (en) 2006-03-24 2007-10-18 Chris King Methods and Systems for Caching Content at Multiple Levels
US20070230337A1 (en) 2006-03-30 2007-10-04 Ntt Docomo, Inc. Communication terminal and retransmission control method
US20070259673A1 (en) 2006-05-04 2007-11-08 Telefonaktiebolaget Lm Ericsson (Publ) Inactivity monitoring for different traffic or service classifications
KR100830413B1 (en) 2006-05-25 2008-05-20 (주)씨디네트웍스 Server connection system and load balancing network system
US20070283429A1 (en) 2006-05-30 2007-12-06 A10 Networks Inc. Sequence number based TCP session proxy
US20070286077A1 (en) 2006-06-07 2007-12-13 Nokia Corporation Communication system
US20070288247A1 (en) 2006-06-11 2007-12-13 Michael Mackay Digital life server
US20070294209A1 (en) 2006-06-20 2007-12-20 Lyle Strub Communication network application activity monitoring and control
US7970934B1 (en) 2006-07-31 2011-06-28 Google Inc. Detecting events of interest
EP1885096B1 (en) 2006-08-01 2012-07-04 Alcatel Lucent Application session border element
JP2008040718A (en) 2006-08-04 2008-02-21 Nippon Telegr & Teleph Corp <Ntt> Load distribution control device and method
US20080031263A1 (en) 2006-08-07 2008-02-07 Cisco Technology, Inc. Method and apparatus for load balancing over virtual network links
US20100235880A1 (en) 2006-10-17 2010-09-16 A10 Networks, Inc. System and Method to Apply Network Traffic Policy to an Application Session
US8826372B1 (en) 2006-10-17 2014-09-02 A10 Networks, Inc. Applying a packet routing policy to an application session
US8813180B1 (en) 2006-10-17 2014-08-19 A10 Networks, Inc. Applying network traffic policy to an application session
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US8595791B1 (en) 2006-10-17 2013-11-26 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US20080101396A1 (en) 2006-10-31 2008-05-01 Hiroaki Miyata Packet forwarding apparatus having gateway load distribution function
WO2008053954A1 (en) 2006-11-01 2008-05-08 Panasonic Corporation Communication control method, communication system, home agent allocation server, and mobile node
US20100061319A1 (en) 2006-11-01 2010-03-11 Panasonic Corporation Communication control method, communication system, home agent allocation server, and mobile node
US20080109870A1 (en) 2006-11-08 2008-05-08 Kieran Gerard Sherlock Identities Correlation Infrastructure for Passive Network Monitoring
CN101094225B (en) 2006-11-24 2011-05-11 中兴通讯股份有限公司 Network, system and method of differentiated security service
US20080134332A1 (en) 2006-12-04 2008-06-05 Susann Marie Keohane Method and apparatus for reduced redundant security screening
WO2008078593A1 (en) 2006-12-22 2008-07-03 International Business Machines Corporation Message hub, program, and method
US8379515B1 (en) 2007-02-01 2013-02-19 F5 Networks, Inc. TCP throughput control by imposing temporal delay
US8681610B1 (en) 2007-02-01 2014-03-25 F5 Networks, Inc. TCP throughput control by imposing temporal delay
US20100064008A1 (en) 2007-03-13 2010-03-11 Huawei Technologies Co., Ltd. Peer-to-peer network system, proxy service peer, and method for peer interworking between overlay networks
US20080250099A1 (en) 2007-04-06 2008-10-09 Jinmei Shen On-Demand Propagation of Routing Information in Distributed Computing System
US20080291911A1 (en) 2007-05-21 2008-11-27 Ist International, Inc. Method and apparatus for setting a TCP retransmission timer
US8191106B2 (en) 2007-06-07 2012-05-29 Alcatel Lucent System and method of network access security policy management for multimodal device
US20100223630A1 (en) * 2007-06-26 2010-09-02 Sap Ag System and method for switching between stateful and stateless communication modes
US20090049198A1 (en) 2007-08-14 2009-02-19 Microsoft Corporation Validating change of name server
US20090092124A1 (en) 2007-10-03 2009-04-09 Microsoft Corporation Network routing of endpoints to content based on content swarms
US20100265824A1 (en) 2007-11-09 2010-10-21 Blade Network Technologies, Inc Session-less Load Balancing of Client Traffic Across Servers in a Server Group
CN101169785A (en) 2007-11-21 2008-04-30 浪潮电子信息产业股份有限公司 Clustered database system dynamic loading balancing method
US20100333101A1 (en) 2007-11-29 2010-12-30 Solarflare Communications Inc. Virtualised receive side scaling
US20090141634A1 (en) 2007-12-04 2009-06-04 Jesse Abraham Rothstein Adaptive Network Traffic Classification Using Historical Context
US20090164614A1 (en) 2007-12-20 2009-06-25 Christian Michael F Dns wildcard beaconing to determine client location and resolver load for global traffic load balancing
US20090172093A1 (en) 2007-12-26 2009-07-02 International Business Machines Corporation Technique For Previously Providing Estimate of Time Required For Processing
US20090213858A1 (en) 2008-02-27 2009-08-27 Alcatel Lucent Application-aware MPLS tunnel selection
US20090222583A1 (en) 2008-03-03 2009-09-03 Microsoft Corporation Client-side load balancing
US20090228547A1 (en) 2008-03-04 2009-09-10 Kddi Corporation Server apparatus and communication system
CN101247349A (en) 2008-03-13 2008-08-20 华耀环宇科技(北京)有限公司 Network flux fast distribution method
US20110023071A1 (en) 2008-03-28 2011-01-27 Huawei Technologies Co., Ltd. Method, System, and Apparatus for Creating Content-on-Demand Service
CN101261644A (en) 2008-04-30 2008-09-10 杭州华三通信技术有限公司 Method and device for accessing united resource positioning symbol database
US20110007652A1 (en) 2008-05-09 2011-01-13 Huawei Technologies Co., Ltd. Method and device for path switchover
US20110060831A1 (en) 2008-06-12 2011-03-10 Tomoki Ishii Network monitoring device, bus system monitoring device, method and program
US20100008229A1 (en) 2008-07-11 2010-01-14 Qi Bi Method and system for joint reverse link access and traffic channel radio frequency overload control
EP2296313A1 (en) 2008-07-16 2011-03-16 Huawei Technologies Co., Ltd. Control method and device for wireless multi-hopping network congestion
US20100036952A1 (en) 2008-08-11 2010-02-11 International Business Machines Corporation Load balancing using replication delay
US20130074177A1 (en) 2008-08-14 2013-03-21 Juniper Networks, Inc. Routing device having integrated mpls-aware firewall
US20100083076A1 (en) 2008-09-26 2010-04-01 Brother Kogyo Kabushiki Kaisha Terminal device, time adjusting method of terminal device and communication system
US20100094985A1 (en) 2008-10-14 2010-04-15 Mamoun Abu-Samaha Http push to simulate server-initiated sessions
US20100106833A1 (en) 2008-10-23 2010-04-29 International Business Machines Corporation Dynamic expiration of domain name service entries
US20100106854A1 (en) 2008-10-29 2010-04-29 Hostway Corporation System and method for controlling non-existing domain traffic
US8122116B2 (en) 2008-10-31 2012-02-21 Hitachi, Ltd. Storage management method and management server
US20100268814A1 (en) 2008-11-19 2010-10-21 Seachange International, Inc. Intercept Device for Providing Content
US20130046876A1 (en) 2008-11-25 2013-02-21 Raghav Somanahalli Narayana Systems and methods for gslb site persistence
US20100162378A1 (en) 2008-12-18 2010-06-24 Thusitha Jayawardena Methods and apparatus to enhance security in residential networks
US20100210265A1 (en) 2009-02-17 2010-08-19 Nokia Corporation Method and apparatus for providing shared services
US20100217793A1 (en) 2009-02-23 2010-08-26 Research In Motion Limited Method, system and apparatus for connecting a plurality of client machines to a plurality of servers
US20100228819A1 (en) 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US20100235522A1 (en) 2009-03-11 2010-09-16 Juniper Networks Inc. Session-cache-based http acceleration
US20100238828A1 (en) 2009-03-23 2010-09-23 Corvil Limited System and method for estimation of round trip times within a tcp based data network
US20110292939A1 (en) 2009-05-28 2011-12-01 Krishnamurthy Subramaian Method & apparatus for forwarding table reduction
US8296434B1 (en) 2009-05-28 2012-10-23 Amazon Technologies, Inc. Providing dynamically scaling computing load balancing
US20100312740A1 (en) 2009-06-09 2010-12-09 Clemm L Alexander Tracking policy decisions in a network
US20100318631A1 (en) 2009-06-12 2010-12-16 Yahoo! Inc. User Location Dependent DNS Lookup
US20100322252A1 (en) 2009-06-22 2010-12-23 Josephine Suganthi Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system
US20100330971A1 (en) 2009-06-26 2010-12-30 Oracle International Corporation System and method for providing a production upgrade of components within a multiprotocol gateway
US20110040826A1 (en) * 2009-08-13 2011-02-17 Sap Ag Transparently stateful execution of stateless applications
WO2011049770A2 (en) 2009-10-21 2011-04-28 A10 Networks Inc. Method and system to determine an application delivery server based on geo-location information
CN102577252A (en) 2009-10-21 2012-07-11 瑞科网信科技有限公司 Method and system to determine an application delivery server based on geo-location information
US20110093522A1 (en) 2009-10-21 2011-04-21 A10 Networks, Inc. Method and System to Determine an Application Delivery Server Based on Geo-Location Information
US20120023231A1 (en) 2009-10-23 2012-01-26 Nec Corporation Network system, control method for the same, and controller
US20110110294A1 (en) 2009-11-06 2011-05-12 Vamsidhar Valluri VIRTUAL CARE-OF ADDRESS FOR MOBILE IP (Internet Protocol)
US20110185073A1 (en) 2009-11-25 2011-07-28 Ashok Kumar Jagadeeswaran Systems and methods for client ip address insertion via tcp options
US20110145324A1 (en) 2009-12-16 2011-06-16 Quantum Corporation Reducing messaging in a client-server system
US20110153834A1 (en) 2009-12-17 2011-06-23 Sonus Networks, Inc. Transparent Recovery of Transport Connections Using Packet Translation Techniques
US20120297046A1 (en) 2009-12-23 2012-11-22 Murali Raja Systems and methods for gslb spillover
US8224971B1 (en) 2009-12-28 2012-07-17 Amazon Technologies, Inc. Using virtual networking devices and routing information to initiate external actions
US7991859B1 (en) 2009-12-28 2011-08-02 Amazon Technologies, Inc. Using virtual networking devices to connect managed computer networks
WO2011079381A1 (en) 2009-12-31 2011-07-07 Bce Inc. Method and system for increasing performance of transmission control protocol sessions in data networks
US20120290727A1 (en) 2009-12-31 2012-11-15 Bce Inc. Method and system for increasing performance of transmission control protocol sessions in data networks
US20110191773A1 (en) 2010-02-01 2011-08-04 Computer Associates Think, Inc. System and Method for Datacenter Power Management
US20110196971A1 (en) 2010-02-10 2011-08-11 Praveenkumar Reguraman Application session control using packet inspection
US20110276982A1 (en) 2010-05-06 2011-11-10 Hitachi, Ltd. Load Balancer and Load Balancing System
US20110276695A1 (en) 2010-05-06 2011-11-10 Juliano Maldaner Continuous upgrading of computers in a load balanced environment
US8499093B2 (en) * 2010-05-14 2013-07-30 Extreme Networks, Inc. Methods, systems, and computer readable media for stateless load balancing of network traffic flows
US20110289496A1 (en) 2010-05-18 2011-11-24 North End Technologies, Inc. Method & apparatus for load balancing software update across a plurality of publish/subscribe capable client devices
EP2577910A2 (en) 2010-05-27 2013-04-10 A10 Networks Inc. System and method to apply network traffic policy to an application session
CN102918801A (en) 2010-05-27 2013-02-06 瑞科网信科技有限公司 System and method to apply network traffic policy to an application session
JP2013528330A (en) 2010-05-27 2013-07-08 エイ10 ネットワークス インコーポレイテッド System and method for applying a network traffic policy to an application session
WO2011149796A3 (en) 2010-05-27 2012-04-19 A10 Networks Inc. System and method to apply network traffic policy to an application session
US20110302256A1 (en) 2010-06-07 2011-12-08 Salesforce.Com, Inc. Methods and systems for providing customized domain messages
US20110307541A1 (en) 2010-06-10 2011-12-15 Microsoft Corporation Server load balancing and draining in enhanced communication systems
US20120030341A1 (en) 2010-07-28 2012-02-02 International Business Machines Corporation Transparent Header Modification for Reducing Serving Load Based on Current and Projected Usage
US20120066371A1 (en) 2010-09-10 2012-03-15 Cisco Technology, Inc. Server Load Balancer Scaling for Virtual Servers
WO2012050747A2 (en) 2010-09-30 2012-04-19 A10 Networks Inc. System and method to balance servers based on server load status
US20120084419A1 (en) 2010-09-30 2012-04-05 A10 Networks, Inc. System and method to balance servers based on server load status
EP2622795A2 (en) 2010-09-30 2013-08-07 A10 Networks Inc. System and method to balance servers based on server load status
CN102571742A (en) 2010-09-30 2012-07-11 瑞科网信科技有限公司 System and method to balance servers based on server load status
US20120084460A1 (en) 2010-10-04 2012-04-05 Openwave Systems Inc. Method and system for dynamic traffic steering
US20120144014A1 (en) 2010-12-01 2012-06-07 Cisco Technology, Inc. Directing data flows in data centers with clustering services
WO2012075237A2 (en) 2010-12-02 2012-06-07 A10 Networks Inc. System and method to distribute application traffic to servers based on dynamic service response time
US20120144015A1 (en) 2010-12-02 2012-06-07 A10 Networks, Inc. System and Method for Distributing Application Traffic to Servers Based on Dynamic Service Response Time
CN102546590A (en) 2010-12-02 2012-07-04 瑞科网信科技有限公司 System and method for distributing application traffic to servers based on dynamic service response time
EP2647174A4 (en) 2010-12-02 2014-04-23 A10 Networks Inc System and method to distribute application traffic to servers based on dynamic service response time
US20130258846A1 (en) 2010-12-07 2013-10-03 Telefonaktiebolaget L M Ericsson (Publ) Method for Enabling Traffic Acceleration in a Mobile Telecommunication Network
US8965957B2 (en) * 2010-12-15 2015-02-24 Sap Se Service delivery framework
US20120173759A1 (en) 2010-12-29 2012-07-05 Mugdha Agarwal Systems and Methods for Policy Based Integration to Horizontally Deployed WAN Optimization Appliances
US20120170548A1 (en) 2011-01-04 2012-07-05 Cisco Technology, Inc. Distributed load management on network devices
KR20120117461A (en) 2011-04-15 2012-10-24 서강대학교산학협력단 Method and system of controlling data transfer rate for downward vertical handover in overlayed network environment
US20130148500A1 (en) 2011-04-18 2013-06-13 Kentaro Sonoda Terminal, control device, communication method, communication system, communication module, program, and information processing device
US20130083725A1 (en) 2011-10-04 2013-04-04 Juniper Networks, Inc. Methods and apparatus for enforcing a common user policy within a network
US8885463B1 (en) 2011-10-17 2014-11-11 Juniper Networks, Inc. Path computation element communication protocol (PCEP) extensions for stateful label switched path management
JP2015507380A (en) 2011-10-24 2015-03-05 エイ10 ネットワークス インコーポレイテッドA10 Networks, Inc. How to combine stateless and stateful server load balancing
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
WO2013070391A1 (en) 2011-10-24 2013-05-16 A10 Networks Inc. Methods to combine stateless and stateful server load balancing
EP2772026A1 (en) 2011-10-24 2014-09-03 A10 Networks Inc. Methods to combine stateless and stateful server load balancing
CN104067569A (en) 2011-10-24 2014-09-24 A10网络股份有限公司 Methods to combine stateless and stateful server load balancing
US20130100958A1 (en) 2011-10-24 2013-04-25 A10 Networks, Inc. Methods to combine stateless and stateful server load balancing
HK1198565A1 (en) 2011-10-24 2015-05-15 Methods to combine stateless and stateful server load balancing
US20140286313A1 (en) 2011-11-23 2014-09-25 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for improving transmission control protocol performance in a cellular network
US20130136139A1 (en) 2011-11-29 2013-05-30 A10 Networks, Inc. Accelerating Service Processing Using Fast Path TCP
HK1199153A1 (en) 2011-11-29 2015-06-19 Accelerating service processing using fast path tcp tcp
WO2013081952A1 (en) 2011-11-29 2013-06-06 A10 Networks Inc. Accelerating service processing using fast path tcp
CN104040990A (en) 2011-11-29 2014-09-10 瑞科网信科技有限公司 Accelerating service processing using fast path TCP
CN104137491A (en) 2011-12-23 2014-11-05 瑞科网信科技有限公司 Methods to manage services over a service gateway
US20130166762A1 (en) 2011-12-23 2013-06-27 A10 Networks, Inc. Methods to Manage Services over a Service Gateway
WO2013096019A1 (en) 2011-12-23 2013-06-27 A10 Networks Inc. Methods to manage services over a service gateway
US9094364B2 (en) * 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
HK1200617A1 (en) 2011-12-23 2015-08-07 A10 Networks Inc Methods to manage services over a service gateway
US20150296058A1 (en) 2011-12-23 2015-10-15 A10 Networks, Inc. Methods to Manage Services over a Service Gateway
US20130173795A1 (en) 2011-12-30 2013-07-04 Verisign, Inc. DNS Package in a Partitioned Network
US20130176854A1 (en) 2012-01-09 2013-07-11 Motorola Mobility, Inc. Dynamic tcp layer optimization for real-time field performance
US20130191486A1 (en) 2012-01-24 2013-07-25 Sony Corporation Time control apparatus, time control method, and program
HK1198848A1 (en) 2012-01-28 2015-06-12 System and method to generate secure name records
WO2013112492A1 (en) 2012-01-28 2013-08-01 A10 Networks, Inc. System and method to generate secure name records
CN104106241A (en) 2012-01-28 2014-10-15 瑞科网信科技有限公司 System and Method to Generate Secure Name Records
US20130198385A1 (en) 2012-01-28 2013-08-01 A10 Networks, Inc. System and Method to Generate Secure Name Records
US20130250765A1 (en) 2012-03-23 2013-09-26 Qualcomm Incorporated Delay based active queue management for uplink traffic in user equipment
US9154584B1 (en) 2012-07-05 2015-10-06 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US20140012972A1 (en) 2012-07-05 2014-01-09 A10 Networks, Inc. Method to Allocate Buffer for TCP Proxy Session Based on Dynamic Network Conditions
CN103533018A (en) 2012-07-05 2014-01-22 A10网络股份有限公司 Method to allocate buffer for TCP proxy session based on dynamic network conditions
US8782221B2 (en) 2012-07-05 2014-07-15 A10 Networks, Inc. Method to allocate buffer for TCP proxy session based on dynamic network conditions
US8977749B1 (en) 2012-07-05 2015-03-10 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US20150237173A1 (en) 2012-08-23 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) TCP Proxy Server
EP2901308A2 (en) 2012-09-25 2015-08-05 A10 Networks Inc. Load distribution in data networks
US20140089500A1 (en) 2012-09-25 2014-03-27 Swaminathan Sankar Load distribution in data networks
WO2014052099A2 (en) 2012-09-25 2014-04-03 A10 Networks, Inc. Load distribution in data networks
WO2014088741A1 (en) 2012-12-06 2014-06-12 A10 Networks, Inc. Forwarding policies on a virtual service network
US20140169168A1 (en) 2012-12-06 2014-06-19 A10 Networks, Inc. Configuration of a virtual service network
US20140164617A1 (en) 2012-12-06 2014-06-12 A10 Networks, Inc. Forwarding policies on a virtual service network
US9106561B2 (en) 2012-12-06 2015-08-11 A10 Networks, Inc. Configuration of a virtual service network
WO2014093829A1 (en) 2012-12-15 2014-06-19 A10 Networks, Inc. Configuration of a virtual service network
US20140207845A1 (en) 2013-01-23 2014-07-24 A10 Networks, Inc. Reducing Buffer Usage for TCP Proxy Session Based on Delayed Acknowledgement
EP2760170B1 (en) 2013-01-23 2015-12-02 A10 Networks Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgment
CN103944954A (en) 2013-01-23 2014-07-23 A10网络股份有限公司 Reducing Buffer Usage For Tcp Proxy Session Based On Delayed Acknowledgment
HK1199779A1 (en) 2013-01-23 2015-07-17 A10 Networks Inc Reducing buffer usage for tcp proxy session based on delayed acknowledgment tcp
JP2014143686A (en) 2013-01-23 2014-08-07 A10 Networks Inc Reducing buffer usage for tcp proxy session based on delayed acknowledgement
US20140258536A1 (en) 2013-03-08 2014-09-11 A10 Networks, Inc. Application delivery controller and global server load balancer
WO2014138483A1 (en) 2013-03-08 2014-09-12 A10 Networks, Inc. Application delivery controller and global server load balancer
WO2014144837A1 (en) 2013-03-15 2014-09-18 A10 Networks, Inc. Processing data packets using a policy based network path
US20140269728A1 (en) 2013-03-15 2014-09-18 Rajkumar Jalan Processing data packets using a policy based network path
WO2014179753A2 (en) 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US20140330982A1 (en) 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US20140334485A1 (en) 2013-05-09 2014-11-13 Vmware, Inc. Method and system for service switching using service tags
US20140359052A1 (en) 2013-05-28 2014-12-04 Verizon Patent And Licensing Inc. Resilient tcp splicing for proxy services
CN104796396A (en) 2013-12-02 2015-07-22 瑞科网信科技有限公司 Network proxy layer for policy-based application proxies
US20150156223A1 (en) 2013-12-02 2015-06-04 Feilong Xu Network proxy layer for policy-based application proxies
US20150281087A1 (en) 2014-03-25 2015-10-01 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US20150281104A1 (en) 2014-03-31 2015-10-01 Ali Golshan Active application response delay time
WO2015153020A1 (en) 2014-03-31 2015-10-08 A10 Networks, Inc. Active application response delay time

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
Abe et al., "Adaptive Split Connection Schemes in Advanced Relay Nodes," IEICE Technical Report, Feb. 22, 2010, vol. 109, No. 438, pp. 25-30.
Cardellini et al., "Dynamic Load Balancing on Web-server Systems", IEEE Internet Computing, vol. 3, No. 3, pp. 28-39, May-Jun. 1999.
Hunt et al. NetDispatcher: A TCP Connection Router, IBM Research Report RC 20853 May 19, 1997.
Kjaer et al. "Resource allocation and disturbance rejection in web servers using SLAs and virtualized servers", IEEE Transactions on Network and Service Management, IEEE, US, vol. 6, No. 4, Dec. 1, 2009.
Koike et al., "Transport Middleware for Network-Based Control," IEICE Technical Report, Jun. 22, 2000, vol. 100, No. 53, pp. 13-18.
Noguchi, "Realizing the Highest Level "Layer 7" Switch"= Totally Managing Network Resources, Applications, and Users =, Computer & Network LAN, Jan. 1, 2000, vol. 18, No. 1, p. 109-112.
Ohnuma, "AppSwitch: 7th Layer Switch Provided with Full Setup and Report Tools", Interop Magazine, Jun. 1, 2000, vol. 10, No. 6, p. 148-150.
Sharifian et al. "An approximation-based load-balancing algorithm with admission control for cluster web servers with dynamic workloads", The Journal of Supercomputing, Kluwer Academic Publishers, BO, vol. 53, No. 3, Jul. 3, 2009.
Spatscheck et al., "Optimizing TCP Forwarder Performance", IEEE/ACM Transactions on Networking, vol. 8, No. 2, Apr. 2000.
Takahashi, "The Fundamentals of the Windows Network: Understanding the Mystery of the Windows Network from the Basics", Network Magazine, Jul. 1, 2006, vol. 11, No. 7, p. 32-35.
Yamamoto et al., "Performance Evaluation of Window Size in Proxy-based TCP for Multi-hop Wireless Networks," IPSJ SIG Technical Reports, May 15, 2008, vol. 2008, No. 44, pp. 109-114.

Cited By (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE47296E1 (en) 2006-02-21 2019-03-12 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US9497201B2 (en) 2006-10-17 2016-11-15 A10 Networks, Inc. Applying security policy to an application session
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US10735267B2 (en) 2009-10-21 2020-08-04 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US10447775B2 (en) 2010-09-30 2019-10-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9961135B2 (en) 2010-09-30 2018-05-01 A10 Networks, Inc. System and method to balance servers based on server load status
US10178165B2 (en) 2010-12-02 2019-01-08 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US9961136B2 (en) 2010-12-02 2018-05-01 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
US20160156708A1 (en) * 2011-10-24 2016-06-02 A10 Networks, Inc. Combining Stateless and Stateful Server Load Balancing
US10484465B2 (en) 2011-10-24 2019-11-19 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9906591B2 (en) * 2011-10-24 2018-02-27 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9979801B2 (en) 2011-12-23 2018-05-22 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US9602442B2 (en) 2012-07-05 2017-03-21 A10 Networks, Inc. Allocating buffer for TCP proxy session based on dynamic network conditions
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US10862955B2 (en) 2012-09-25 2020-12-08 A10 Networks, Inc. Distributing service sessions
US10516577B2 (en) 2012-09-25 2019-12-24 A10 Networks, Inc. Graceful scaling in software driven networks
US10002141B2 (en) 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US10491523B2 (en) 2012-09-25 2019-11-26 A10 Networks, Inc. Load distribution in data networks
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US9544364B2 (en) 2012-12-06 2017-01-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US11005762B2 (en) 2013-03-08 2021-05-11 A10 Networks, Inc. Application delivery controller and global server load balancer
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US10659354B2 (en) 2013-03-15 2020-05-19 A10 Networks, Inc. Processing data packets using a policy based network path
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10305904B2 (en) 2013-05-03 2019-05-28 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US10257101B2 (en) 2014-03-31 2019-04-09 A10 Networks, Inc. Active application response delay time
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US10686683B2 (en) 2014-05-16 2020-06-16 A10 Networks, Inc. Distributed system to determine a server's health
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10749904B2 (en) 2014-06-03 2020-08-18 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US10880400B2 (en) 2014-06-03 2020-12-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies

Also Published As

Publication number Publication date
US20150039671A1 (en) 2015-02-05
EP2772026B1 (en) 2017-02-08
CN104067569B (en) 2017-02-22
WO2013070391A1 (en) 2013-05-16
EP2772026A4 (en) 2015-05-27
KR101632187B1 (en) 2016-06-21
US9906591B2 (en) 2018-02-27
JP2015507380A (en) 2015-03-05
CN104067569A (en) 2014-09-24
US8897154B2 (en) 2014-11-25
US10484465B2 (en) 2019-11-19
US20180124169A1 (en) 2018-05-03
KR20140088172A (en) 2014-07-09
EP2772026A1 (en) 2014-09-03
US20130100958A1 (en) 2013-04-25
IN2014CN03764A (en) 2015-09-25
JP5913609B2 (en) 2016-04-27
US20160156708A1 (en) 2016-06-02
HK1198565A1 (en) 2015-05-15

Similar Documents

Publication Publication Date Title
US10484465B2 (en) Combining stateless and stateful server load balancing
US10447775B2 (en) System and method to balance servers based on server load status
US9979801B2 (en) Methods to manage services over a service gateway
US10341427B2 (en) Forwarding policies on a virtual service network
US9986061B2 (en) Programming a data network device using user defined scripts
US9609052B2 (en) Distributing application traffic to servers based on dynamic service response time
US9942152B2 (en) Forwarding data packets using a service-based forwarding policy
WO2019084972A1 (en) Streaming media live broadcast method and system
US20140297844A1 (en) Application Traffic Prioritization
CN114513465A (en) Load balancing method, load balancing device, electronic device and storage medium

Legal Events

Date Code Title Description
AS Assignment

Owner name: A10 NETWORKS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JALAN, RAJKUMAR;XU, FEILONG;KANNAN, LALGUDI NARAYANAN;AND OTHERS;SIGNING DATES FROM 20111019 TO 20111020;REEL/FRAME:034093/0391

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8