Patent ID: 8897154

Claim:
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.