Patent ID: 8332925

Claim:
A method for providing a security gateway, comprising: (a) receiving by the security gateway a session request for a session between a host and a server; (b) establishing by the security gateway a host side session between the security gateway and the host, the security gateway comprising a central processing unit, the central processing unit comprising a plurality of microprocessors; (c) computing by the security gateway a sum of network addresses for the host side session; (d) selecting by the security gateway a proxy network address for the host based on the sum to result in a calculated first microprocessor identity of a first microprocessor of the plurality of microprocessors being the same as a calculated second microprocessor identity of a second microprocessor of the plurality of microprocessors; (e) establishing by the security gateway a server side session between the security gateway and the server using the proxy network address; (f) in response to receiving a first data packet from the host side session, calculating by the security gateway the first microprocessor identity , comprising: (f1) applying a hash function to a host network address for the host and a server network address for the server to obtain a first result, (f2) extracting a plurality of bits from the first result, (f3) interpreting the extracted bits from the first result as a number for the first microprocessor identity, (f4) assigning the first microprocessor with the first microprocessor identity to process data packets received from the host side session according to security policies, (f5) substituting by the security gateway the host network address in the processed data packets received from the host side session with the proxy network address, and (f6) sending by the security gateway the processed data packets received from the host side session to the server side session; and (g) in response to receiving a second data packet from the server side session, calculating by the security gateway the second microprocessor identity, comprising: (g1) applying the hash function to the proxy network address and the server network address to obtain a second result, (g2) extracting a plurality of bits from the second result, (g3) interpreting the extracted bits from the second result as a number for the second microprocessor identity, and (g4) assigning the second microprocessor with the second microprocessor identity to process data packets received from the server side session according to the security policies.