# US 10,484,465 B2 · Combining stateless and stateful server load balancing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,484,465 B2
- Document ID: US10484465B2
- Status: Granted
- Kind: B2
- Application number: 15/858,578
- Filed: 2017-12-29
- Published: 2018-05-03
- Granted: 2019-11-19
- Earliest claimed: 2011-10-24
- Assignees: A10 Networks, Inc.
- Applicants: A10 Networks, Inc.
- Inventors: Rajkumar Jalan; Feilong Xu; Lalgudi Narayanan Kannan; Ronald Wai Lun Szeto
- Web page: https://patentgrep.com/patent/US10484465B2

## CPC

- H04L 67/1027: Persistence of sessions during load balancing
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/142: Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L 67/564: Enhancement of application control based on intercepted application data
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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.

## Claims

### Claim 1

A method for processing data packets sent over a communication session between a host and a server by a service gateway, comprising:
determining, by the service gateway, that a hybrid-stateless condition is satisfied; and
based on the determination that the hybrid-stateless condition is satisfied, processing a subsequently received data packet, by the service gateway, using a hybrid-stateless processing by matching data included in the subsequently received data packet to a service mapping table to determine, based on the match, a server to which the subsequently received data packet is to be sent.

### Claim 2 (depends on 1)

The method of claim 1, wherein the determining, by the service gateway, that the hybrid-stateless condition is satisfied comprises determining, by the service gateway, that a time duration stored in a memory exceeds a predetermined time duration.

### Claim 3 (depends on 1)

The method of claim 1, wherein the determining, by the service gateway, that the hybrid-stateless condition is satisfied comprises receiving, from an administrator, the hybrid-stateless condition.

### Claim 4 (depends on 3)

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.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining, by the service gateway, that the hybrid-stateless condition is not satisfied, and
based on the determination that the hybrid-stateless condition is not satisfied, processing, by the service gateway, the subsequently received data packet using a hybrid-stateful processing.

### Claim 6 (depends on 5)

The method of claim 5, wherein the determining that the hybrid-stateless condition is not satisfied includes determining that a time duration stored in a memory does not exceed the predetermined time duration.

### Claim 7 (depends on 1)

The method of claim 1, wherein the service gateway is configured to maintain a session table and the service mapping table in a storage.

### Claim 8 (depends on 1)

The method of claim 1, wherein the hybrid-stateless condition comprises a predetermined session rate, the determining by the service gateway that the hybrid-stateless condition is satisfied comprising:
calculating a session rate for a plurality of communication sessions received by the service gateway;
determining that the calculated session rate is greater than or equals the predetermined session rate by the service gateway; 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-stateless condition is satisfied.

### Claim 9 (depends on 8)

The method of claim 8, 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.

### Claim 10 (depends on 1)

The method of claim 1, wherein the hybrid-stateless condition comprises a predetermined session table utilization, wherein the determining, by the service gateway, that the hybrid-stateless condition is satisfied comprises:
counting a number of stored session entries in the session table by the service gateway;
determining that the number of stored session entries exceeds or is equal to the predetermined session table utilization by the service gateway; and
in response to determining that the number of stored session entries exceeds or is equal to the predetermined session table utilization, determining by the service gateway that the hybrid-stateless condition is satisfied.

### Claim 11

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:
determine that a hybrid-stateful condition is satisfied; and
in response to determining that the hybrid-stateful condition is satisfied, process a subsequently received data packet using a hybrid-stateful processing method by matching data included in the subsequently received data packet to a service mapping table to determine, based on the match, a server to which the subsequently received data packet is to be sent.

### Claim 12 (depends on 11)

The system of claim 11, wherein the determination that the hybrid-stateful condition is satisfied comprises:
comparing a time duration stored in a memory against a predetermined time duration by the service gateway; and
determining that the time duration stored in the memory exceeds the predetermined time duration.

### Claim 13 (depends on 11)

The system of claim 11, wherein the determination that the hybrid-stateful condition is satisfied comprises receiving, from an administrator, the hybrid-stateful condition by the service gateway.

### Claim 14 (depends on 13)

The system of claim 13, wherein the administrator comprises:
a human operator;
a network management system; or
a storage medium storing the hybrid-stateful condition.

### Claim 15 (depends on 11)

The system of claim 11, further comprising:
determining that that the hybrid-stateful condition is not satisfied; and
based on the determination that the hybrid-stateful condition is not satisfied, process the subsequently received data packet using the hybrid-stateful processing method.

### Claim 16 (depends on 11)

The system of claim 11, wherein the hybrid-stateless processing method utilizes the session table and a service mapping table at the service gateway.

### Claim 17

A method for processing data packets sent over a communication session between a host and a server by a service gateway, the method comprising:
determining, by the service gateway, that a hybrid-stateful condition is satisfied; and
in response to determining that the hybrid-stateful condition is satisfied, processing a subsequently received data packet by the service gateway using a hybrid-stateful processing method by matching data included in the subsequently received data packet to a session table to determine, based on the matching, a server to which the subsequently received data packet is to be sent.

### Claim 18 (depends on 17)

The method of claim 17, wherein the determining 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 that the time duration stored in memory exceeds the predetermined time duration; and
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.

### Claim 19 (depends on 17)

The method of claim 17, wherein the hybrid-stateful condition comprises a predetermined session rate, wherein the determining, by the service gateway, that the hybrid-stateful condition is satisfied comprises:
calculating a session rate for a plurality of communication sessions received by the service gateway;
determining that the calculated session rate is less than the predetermined session rate by the service gateway; and
in response to determining that the calculated session rate is less than the predetermined session rate.

### Claim 20 (depends on 19)

The method of claim 19, 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.
