Systems and methods for identifying a processor from a plurality of processors to provide symmetrical request and response processing
First Claim
1. A method comprising:
- a) receiving, by a first core of a device comprising a plurality of cores and intermediary to a client and a server, a request of the client to the server, the device selecting the first core using a result of a first hash of a first tuple comprising a source internet protocol (IP) address, a source port, a destination IP address and a destination port of the request;
b) iteratively selecting, by the first core, one or more internet protocol addresses from a plurality of internet protocol addresses of the first core and one or more ports from a plurality of ports of the first core until the first core determines that a result of a second hash of a second tuple using at least a selected internet protocol address and a selected first port matches a predetermined value identified in a table corresponding to the first core; and
c) transmitting, by the first core, to the server the request, modified to use the selected internet protocol address as the source IP address and the selected port as the source port.
7 Assignments
0 Petitions
Accused Products
Abstract
Described herein is a method and system for distributing request and responses across a multi-core system. Each core executes a packet engine that further processes data packets allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine selects a first IP address and a first port of the core, and determines whether a hash of a tuple comprising those values identifies the selected core. A modification is then made to the client request so that the client request includes a tuple comprising the first IP address, the server IP address, the first port and the server port.
18 Citations
20 Claims
-
1. A method comprising:
-
a) receiving, by a first core of a device comprising a plurality of cores and intermediary to a client and a server, a request of the client to the server, the device selecting the first core using a result of a first hash of a first tuple comprising a source internet protocol (IP) address, a source port, a destination IP address and a destination port of the request; b) iteratively selecting, by the first core, one or more internet protocol addresses from a plurality of internet protocol addresses of the first core and one or more ports from a plurality of ports of the first core until the first core determines that a result of a second hash of a second tuple using at least a selected internet protocol address and a selected first port matches a predetermined value identified in a table corresponding to the first core; and c) transmitting, by the first core, to the server the request, modified to use the selected internet protocol address as the source IP address and the selected port as the source port. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a device comprising a plurality of cores and intermediary to a client and a server, a first core configured to receive a request of the client to the server wherein the device is configured select the first core using a result of a first hash of a first tuple comprising a source internet protocol (IP) address, a source port, a destination IP address and a destination port of the request; wherein the first core is configured to iteratively select one or more internet protocol addresses from a plurality of internet protocol addresses of the first core and one or more ports from a plurality of ports of the first core until determining that a result of a second hash of a second tuple using at least a selected internet protocol address and a selected first port matches a predetermined value in a table corresponding to the first core; and wherein the first core is configured to transmit to the server the request modified to use the selected internet protocol address as the source IP address and the selected port as the source port. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification