Combining stateless and stateful server load balancing
First Claim
1. A computer program product for processing data packets sent over a communication session between a host and a server, the computer program product comprising:
- a non-transitory 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-stateless processing method, wherein the hybrid-stateless processing method comprises;
receive the data packet from the host;
obtain a service address from the data packet;
compare the service address of the data packet against service addresses stored in session entries in a session table;
in response to determining that the session table comprises a session entry matching the service address of the data packet, process the data packet based on information stored in the matching session entry using a stateful processing method; and
in response to determining that the session table does not comprise any session entry matching the service address of the data packet;
compare the service address of the data packet against service addresses stored in mapping entries in a mapping table,find a mapping entry matching the service address of the data packet, andprocess the data packet based on information stored in the matching mapping entry using a stateless processing method;
check whether a hybrid-stateful condition is satisfied;
in response to determining that the hybrid-stateful condition is satisfied, change to a hybrid-stateful processing method for a subsequently received data packet, wherein the hybrid-stateless processing method comprises;
receive the data packet from the server;
obtain a server address from the data packet;
compare the server address of the data packet against service addresses stored in session entries in the session table;
in response to determining that the session table comprises a session entry matching the server address of the data packet, process the data packet based on information stored in the matching session entry using the stateful processing method; and
in response to determining that the session table does not comprise any session entry matching the server address of the data packet;
compare the server address of the data packet against service addresses stored in mapping entries in a mapping table,find a mapping entry matching the server address of the data packet, andprocess the data packet based on information stored in the matching mapping entry using the stateless processing method; and
in response to determining that the hybrid-stateful condition is not satisfied, process the subsequently received data packet using the hybrid-stateless processing method.
3 Assignments
0 Petitions
Accused Products
Abstract
Exemplary embodiments for processing, by a service gateway, data packets sent over a communication session between a host and a server are disclosed. The service gateway processes data packets using a hybrid-stateful or hybrid-stateless processing method, depending on whether a hybrid-stateless or hybrid-stateful condition is satisfied. When the condition is satisfied, the service gateway allows for the changing from a hybrid-stateful to a hybrid-stateless processing method, or vice versa, for a subsequently received data packet. Otherwise, the service gateway continues processing the subsequently received data packets using the current hybrid processing method.
165 Citations
19 Claims
-
1. A computer program product for processing data packets sent over a communication session between a host and a server, the computer program product comprising:
-
a non-transitory 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-stateless processing method, wherein the hybrid-stateless processing method comprises; receive the data packet from the host; obtain a service address from the data packet; compare the service address of the data packet against service addresses stored in session entries in a session table; in response to determining that the session table comprises a session entry matching the service address of the data packet, process the data packet based on information stored in the matching session entry using a stateful processing method; and in response to determining that the session table does not comprise any session entry matching the service address of the data packet; compare the service address of the data packet against service addresses stored in mapping entries in a mapping table, find a mapping entry matching the service address of the data packet, and process the data packet based on information stored in the matching mapping entry using a stateless processing method; check whether a hybrid-stateful condition is satisfied; in response to determining that the hybrid-stateful condition is satisfied, change to a hybrid-stateful processing method for a subsequently received data packet, wherein the hybrid-stateless processing method comprises; receive the data packet from the server; obtain a server address from the data packet; compare the server address of the data packet against service addresses stored in session entries in the session table; in response to determining that the session table comprises a session entry matching the server address of the data packet, process the data packet based on information stored in the matching session entry using the stateful processing method; and in response to determining that the session table does not comprise any session entry matching the server address of the data packet; compare the server address of the data packet against service addresses stored in mapping entries in a mapping table, find a mapping entry matching the server address of the data packet, and process the data packet based on information stored in the matching mapping entry using the stateless processing method; and in response to determining that the hybrid-stateful condition is not satisfied, process the subsequently received data packet using the hybrid-stateless processing method. - View Dependent Claims (2)
-
-
3. 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; 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, 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, wherein 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; and 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.
-
-
4. 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; checking by the service gateway whether a hybrid-stateless condition is satisfied, wherein the hybrid-stateless condition comprises a predetermined session rate, and the checking by the service gateway whether a hybrid-stateless 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 greater than or equals the predetermined session rate by the service gateway; 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; and in response to determining that the calculated session rate is less than the predetermined session rate, determining by the service gateway that the hybrid-stateless condition is not 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. - View Dependent Claims (5)
-
-
6. 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; checking by the service gateway whether a hybrid-stateless condition is satisfied, wherein the hybrid-stateless condition comprises a predetermined session table utilization, and the checking by the service gateway whether the hybrid-stateless condition is satisfied comprises; counting a number of stored session entries in a session table by the service gateway; determining whether the number of stored session entries exceeds the predetermined session table utilization by the service gateway; 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-stateless condition is satisfied; and 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-stateless condition is not 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.
-
-
7. 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; checking by the service gateway whether a hybrid-stateless condition is satisfied, the checking comprising; determining whether the hybrid-stateless condition is met for a predetermined time duration by the service gateway; in response to determining that the hybrid-stateless condition is met for the predetermined time duration, determining by the service gateway that the hybrid-stateless condition is satisfied; and in response to determining that the hybrid-stateless condition is not met for the predetermined time duration, determining by the service gateway that the hybrid-stateless condition is not 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.
-
-
8. 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; 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; 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, wherein the hybrid-stateful processing method comprises; receive the data packet; determine whether the data packet is received from the host or the server; in response to determining that the data packet is received from the host, determine whether the data packet comprises a service request; in response to determining that the data packet comprises the service request, process the data packet using the stateful processing method; in response to determining that the data packet is received from the host and does not comprise the service request, process the data packet using the hybrid-stateless processing method; and in response to determining that the data packet is received from the server, process the data packet using the hybrid-stateless processing method, wherein the hybrid-stateless processing method comprises; receive the subsequently received data packet from the host; obtain a service address from the subsequently received data packet; compare the service address of the subsequently received data packet against service addresses stored in session entries in the session table; in response to determining that the session table comprises a session entry matching the service address of the subsequently received data packet, process the subsequently received data packet based on information stored in the matching session entry using the stateful processing method; and in response to determining that the session table does not comprise any session entry matching the service address of the subsequently received data packet; compare the service address of the subsequently received data packet against service addresses stored in mapping entries in a mapping table, find a mapping entry matching the service address of the subsequently received data packet, and process the subsequently received data packet based on information stored in the matching mapping entry using the stateless processing method.
-
-
9. 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; check whether a hybrid-stateless condition is satisfied, the hybrid-stateless condition comprising a predetermined session rate, wherein the check whether a hybrid-stateless condition is satisfied comprises; calculate a session rate for a plurality of communication sessions received by the service gateway; determine whether the calculated session rate is greater than or equals the predetermined session rate; in response to determining that the calculated session rate is greater than or equals the predetermined session rate, determine that the hybrid-stateless condition is satisfied; and in response to determining that the calculated session rate is less than the predetermined session rate, determine that the hybrid-stateless condition is not 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; 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.
-
10. 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; check whether a hybrid-stateless condition is satisfied, the hybrid-stateless condition comprising a predetermined session table utilization, wherein the check whether a hybrid-stateless condition is satisfied comprises; count a number of stored session entries in a session table; determine whether the number of stored session entries exceeds the predetermined session table utilization; and in response to determining that the number of stored session entries exceeds the predetermined session table utilization, determine that the hybrid-stateless condition is satisfied; and in response to determining that the number of stored session entries does not exceed the predetermined session table utilization, determine that the hybrid-stateless condition is not 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; 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.
-
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; process a data packet using a hybrid-stateful processing method; check whether a hybrid-stateless condition is satisfied, the check comprises; determine whether the hybrid-stateless condition is met for a predetermined time duration; in response to determining that the hybrid-stateless condition is met for the predetermined time duration, determine that the hybrid-stateless condition is satisfied; and in response to determining that the hybrid-stateless condition is not met for the predetermined time duration, determine that the hybrid-stateless condition is not 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; 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.
-
12. 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; 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; 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, wherein the hybrid-stateless processing method comprises; receiving the data packet from the host by the service gateway; obtaining a service address from the data packet by the service gateway; comparing the service address of the data packet against service addresses stored in session entries in a session table by the service gateway; in response to determining that the session table comprises a session entry matching the service address of the data packet, processing the data packet based on information stored in the matching session entry using the stateful processing method by the service gateway; and in response to determining that the session table does not comprise any session entry matching the service address of the data packet; comparing the service address of the 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 data packet by the service gateway, and processing the data packet based on information stored in the matching mapping entry using the stateless processing method by the service gateway; wherein the hybrid-stateless processing method comprises; receiving the data packet from the server by the service gateway; obtaining the server address from the data packet by the service gateway; comparing the server address of the 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 server address of the data packet, processing the data packet based on information stored in the matching session entry using the stateful processing method by the service gateway; and in response to determining that the session table does not comprise any session entry matching the server address of the data packet; comparing the server address of the data packet against service addresses stored in mapping entries in a mapping table by the service gateway, finding a mapping entry matching the server address of the data packet by the service gateway, and processing the data packet based on information stored in the matching mapping entry using the stateless processing method by the service gateway.
-
-
13. 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; checking by the service gateway whether a hybrid-stateful condition is satisfied, the hybrid-stateful condition comprising a predetermined session rate or a predetermined session table utilization; 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; 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.
-
-
14. 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; checking by the service gateway whether a hybrid-stateful condition is satisfied, the checking comprises; determining whether the hybrid-stateful condition is met for a predetermined time duration by the service gateway; in response to determining that the hybrid-stateful condition is met for the predetermined time duration, determining by the service gateway that the hybrid-stateful condition is satisfied; and in response to determining that the hybrid-stateful condition is not met for the predetermined time duration, determining by the service gateway that the hybrid-stateful condition is not 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; 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.
-
-
15. A computer program product for processing data packets sent over a communication session between a host and a server, the computer program product comprising:
-
a non-transitory 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; 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; 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, wherein the hybrid-stateful processing method comprises; receive the data packet; determine whether the data packet is received from the host or the server; in response to determining that the data packet is received from the host, determine whether the data packet comprises a service request; in response to determining that the data packet comprises the service request, process the data packet using the stateful processing method; in response to determining that the data packet is received from the host and does not comprise the service request, process the data packet using the hybrid-stateless processing method; and in response to determining that the data packet is received from the server, process the data packet using the hybrid-stateless processing method, wherein the hybrid-stateless processing method comprises; receive the subsequently received data packet from the host; obtain a service address from the subsequently received data packet; compare the service address of the subsequently received data packet against service addresses stored in session entries in a session table; in response to determining that the session table comprises a session entry matching the service address of the subsequently received data packet, process the subsequently received data packet based on information stored in the matching session entry using the stateful processing method; and in response to determining that the session table does not comprise any session entry matching the service address of the subsequently received data packet; compare the service address of the subsequently received data packet against service addresses stored in mapping entries in a mapping table, find a mapping entry matching the service address of the subsequently received data packet, and process the subsequently received data packet based on information stored in the matching mapping entry using the stateless processing method.
-
-
16. A computer program product for processing data packets sent over a communication session between a host and a server, the computer program product comprising:
a non-transitory 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; check whether a hybrid-stateless condition is satisfied, wherein hybrid-stateless condition comprises a predetermined session rate, the check whether a hybrid-stateless condition is satisfied comprises; calculate a session rate for a plurality of received communication sessions; determine whether the calculated session rate is greater than or equals the predetermined session rate; in response to determining that the calculated session rate is greater than or equals the predetermined session rate, determine that the hybrid-stateless condition is satisfied; and in response to determining that the calculated session rate is less than the predetermined session rate, determine that the hybrid-stateless condition is not 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; 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. - View Dependent Claims (17)
-
18. A computer program product for processing data packets sent over a communication session between a host and a server, the computer program product comprising:
a non-transitory 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; check whether a hybrid-stateless condition is satisfied, wherein the hybrid-stateless condition comprises a predetermined session table utilization, the check whether a hybrid-stateless condition is satisfied comprises; count a number of stored session entries in a session table; determine whether the number of stored session entries exceeds the predetermined session table utilization; and in response to determining that the number of stored session entries exceeds the predetermined session table utilization, determine that the hybrid-stateless condition is satisfied; and in response to determining that the number of stored session entries does not exceed the predetermined session table utilization, determine that the hybrid-stateless condition is not 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; 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.
-
19. A computer program product for processing data packets sent over a communication session between a host and a server, the computer program product comprising:
a non-transitory 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; check whether a hybrid-stateless condition is satisfied, wherein the check whether a hybrid-stateless condition is satisfied comprises; determine whether the hybrid-stateless condition is met for a predetermined time duration; in response to determining that the hybrid-stateless condition is met for the predetermined time duration, determine that the hybrid-stateless condition is satisfied; and in response to determining that the hybrid-stateless condition is not met for the predetermined time duration, determine that the hybrid-stateless condition is not 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; 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.
Specification