EP2575328B1

System and method for distributed multi-processing security gateway

Abstract

This record has no abstract on file.

EP2575328B1, drawing sheet 1
Sheet 1 of 7

Term

2.1 yearsleft in the term

Expires 29 October 2028.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

15 claims: 3 independent, 12 dependent

  1. 1
    A network gateway (470, comprising:a plurality of central processing unit, CPU, cores (272) in a multi-core processor;a memory module (479) storing a plurality of network addresses;a network address selector (477) for establishing a host side session (479) with a host, for selecting a network address from the plurality of network addresses, based on network information obtained in a session request from the host for a session between the host and a server, and for establishing a server side session (465) with the server using the selected network address;and a dispatcher (475) for: receiving a first data packet from the host side session, calculating a first CPU core identity using the first data packet, and assigning the first CPU core with the first CPU core identity to process the first data packet, wherein the processing of the first data packet by the first CPU core comprises: substituting a host network address in the first data packet with the selected network address;and sending the processed first data packet to the server side session (465);receiving a second data packet from the server side session, calculating a second CPU core identity using the selected network address in the second data packet, and assigning the second CPU core with the second CPU core identity to process the second data packet, wherein the processing of the second data packet by the second CPU core comprises: substituting the selected network address in the second data packet with the host network address;and sending the processed second data packet to the host side session, wherein the calculated first CPU core identity of the first CPU core of the multi-core processor is the same as the calculated second CPU core identity of the second CPU core of the multi-core processor.
  2. 6
    A method for providing a network gateway, comprising:(a) establishing by the network gateway a host side session between the network gateway and a host, the network gateway comprising a plurality of central processing unit, CPU, cores in a multi-core processor;(b) selecting a network address from a plurality of network addresses stored on the network gateway, based on network information obtained in a session request from the host for a session between the host and a server;(c) using the selected network address to establish a server side session between the network gateway and the server;(d) in response to receiving a first data packet from the host side session, calculating by the network gateway a first CPU core identity using the first data packet and assigning the first CPU core with the first CPU core identity to process the first data packet, wherein the processing of the first data packet by the first CPU core comprises: (d1) substituting a host network address in the first data packet with the selected network address;and (d2) sending the processed first data packet to the server side session;and (e) in response to receiving a second data packet from the server side session, calculating by the network gateway a second CPU core identity using the selected network address in the second data packet and assigning the second CPU core with the second CPU core identity to process the second data packet, wherein the processing of the second data packet by the second CPU core comprises: (e1) substituting the selected network address in the second data packet with the host network address;and (e2) sending the processed second data packet to the host side session, wherein the calculated first CPU core identity of the first CPU core of the multi-core processor is the same as the calculated second CPU core identity of the second CPU core of the multi-core processor.
  3. 11
    A non-transitory computer readable medium with program instructions, wherein when executed by a processor, the instruction causes a network gateway to:establish a host side session between the network gateway and a host, the network gateway comprising a plurality of central processing unit, CPU, cores in a multi-core processor;select a network address from a plurality of network addresses stored on the network gateway, based on network information obtained in a session request from the host for a session between the host and a server, use the selected network address to establish a server side session between the network gateway and the server;in response to receiving a first data packet from the host side session, calculate a first CPU core identity using the first data packet and assigning the first CPU core with the first CPU core identity to process the first data packet, wherein the processing of the first data packet by the first CPU core comprises: substituting a host network address in the first data packet with the selected network address;and sending the processed first data packet to the server side session;and in response to receiving a second data packet from the server side session, calculate a second CPU core identity using the selected network address in the second data packet and assigning the second CPU core with the second CPU core identity to process the second data packet, wherein the processing of the second data packet by the second CPU core comprises: substituting the selected network address in the second data packet with the host network address;and sending the processed second data packet to the host side session, wherein the calculated first CPU core identity of the first CPU core of the multi-core processor is the same as the calculated second CPU core identity of the second CPU core of the multi-core processor.