Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system
First Claim
1. A method of handling a multi-connection protocol communication between a client and a server traversing a multi-core system, the multi-connection protocol comprising acontrol connection and a data connection, the method comprising:
- a) receiving, by a first packet processing engine of a first core of a multi-core system, a port command via a control connection from a client to a server to establish a data connection with the server via a multi-connection protocol, the port command comprising an internet protocol address of the client and a port number of the client;
b) determining, by the first packet processing engine based on the port command, a second core of the multi-core system to which a flow distributor will forward a data connection request from the server;
c) sending, by the first core, to the second core a first message comprising information on the port command;
d) establishing, by a second packet processing engine of the second core, a listening service on a mapped internet protocol address of and a mapped port number of the multi-core system;
e) sending, by the second core, to the first core a second message identifying the mapped internet protocol address and mapped port number;
f) modifying, by the first packet processing engine, the port command to identify the mapped internet protocol address of the multi-core system as the internet protocol address of the client and the mapped port number as the port number of the client, andg) sending, by the second core upon closing of the data connection, to the first core a message indicating the data connection was closed.
7 Assignments
0 Petitions
Accused Products
Abstract
The present application is directed towards systems and methods for handling a multi-connection protocol communication between a client and a server traversing a multi-core system. The multi-connection protocol comprises a first connection and a second connection, which may be used respectively for control communications and data communications. Because different cores in the multi-core system may handle the first connection and second connection, the present invention provides systems and methods for efficiently coordinating protocol management between a plurality of cores.
51 Citations
18 Claims
-
1. A method of handling a multi-connection protocol communication between a client and a server traversing a multi-core system, the multi-connection protocol comprising a
control connection and a data connection, the method comprising: -
a) receiving, by a first packet processing engine of a first core of a multi-core system, a port command via a control connection from a client to a server to establish a data connection with the server via a multi-connection protocol, the port command comprising an internet protocol address of the client and a port number of the client; b) determining, by the first packet processing engine based on the port command, a second core of the multi-core system to which a flow distributor will forward a data connection request from the server; c) sending, by the first core, to the second core a first message comprising information on the port command; d) establishing, by a second packet processing engine of the second core, a listening service on a mapped internet protocol address of and a mapped port number of the multi-core system; e) sending, by the second core, to the first core a second message identifying the mapped internet protocol address and mapped port number; f) modifying, by the first packet processing engine, the port command to identify the mapped internet protocol address of the multi-core system as the internet protocol address of the client and the mapped port number as the port number of the client, and g) sending, by the second core upon closing of the data connection, to the first core a message indicating the data connection was closed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for handling a multi-connection protocol communication between a client and a server traversing a multi-core system, the multi-connection protocol comprising a control connection and a data connection, the system comprising:
-
a first packet processing engine executing on a first core of a multi-core system receiving a port command via a control connection from a client to a server to establish a data connection with the server via a multi-connection protocol, the port command comprising an internet protocol address of the client and a port number of the client, determining, based on the port command, a second core of the multi-core system to which a flow distributor will forward a data connection request from the server, the first core sending to the second core a first message comprising information on the port command; and a second packet processing engine executing on the second core, establishing a listening service on a mapped internet protocol address of and a mapped port number of the multi-core system, the second core sending to the first core a second message identifying the mapped internet protocol address and mapped port number, wherein the first packet processing engine modifies the port command to identify the mapped internet protocol address of the multi-core system as the internet protocol address of the client and the mapped port number as the port number of the client, and the second core sends, upon closing of the data connection, to the first core a message indicating the data connection was closed. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification