Network offering in cloud computing environment
US-9223635-B2 · Dec 29, 2015 · US
US9264293B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9264293-B2 |
| Application number | US-201213631686-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 28, 2012 |
| Priority date | Jun 22, 2009 |
| Publication date | Feb 16, 2016 |
| Grant date | Feb 16, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed: 1. A method of handling a multi-connect protocol connection 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, via a control connection of a multi-connection protocol a request from a client to a server for a port of the server to establish a data connection with the server; b) receiving, by the first packet processing engine, a response from the server identifying the port of the server for establishing the data connection; c) identifying, by the first packet processing engine, a virtual port number and virtual internet protocol address of the multi-core system; d) sending, by the first packet processing engine, to a plurality of cores of the multi-core system, a first message identifying the virtual internet protocol address and the virtual port number; e) establishing, by each of the plurality of cores, a listening service on the virtual internet protocol address and the virtual port number; f) receiving, by the listening service of a second core of the plurality of cores, a data connection request from the client to the server; g) sending, by the second core, a second message to the plurality of cores that the second core has the data connection; and h) incrementing, by the first packet processing engine of the first core, a reference counter for the data connection of the control connection in response to the second message. 2. The method of claim 1 , wherein step (a) further comprising modifying the request to the server to identify a mapped internet protocol address and mapped port number of the multi-core system, the mapped internet protocol address mapped to an internet protocol address of the client and the mapped port number mapped to a port number of the client. 3. The method of claim 2 , further comprising forwarding the modified request to the server. 4. The method of claim 1 , wherein step (c) further comprises modifying, by the first packet processing engine, the response from the server to identify the virtual port number as the port of the server. 5. The method of claim 4 , further comprising forwarding by the first packet processing engine, the modified response to the client. 6. The method of claim 1 , wherein step (e) further comprising sending, by the second core to the first core the second message indicating the listening service was established. 7. The method of claim 1 , wherein step (f) further comprises determining, by the second core, a mapped internet protocol address and a mapped port number for the client to have server traffic via the data connection forwarded by a flow distributor of the multi-core system to the second core. 8. The method of claim 1 , wherein step (g) further comprises disestablishing, by each of the plurality of the cores, the listening service responsive to the second message. 9. The method of claim 1 , further comprising sending, by the second core, a third message to the first core upon closing of the data connection and the first packet processing engine decrementing the reference counter. 10. A system of handling a multi-connect protocol connection 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 multi-core system comprising a plurality of cores; a first packet processing engine of a first core of the plurality of cores of the multi-core system receiving via a control connection of a multi-connection protocol a request from a client to a server for a port of the server to establish a data connection with the server, receiving a response from the server identifying the port of the server for establishing the data connection, and wherein the first packet processing engine identifies a virtual port number and virtual internet protocol address of the multi-core system and sends to the plurality of cores of the multi-core system, a first message identifying the virtual internet protocol address and the virtual port number; and a listening service established, by each of the plurality of cores, on the virtual internet protocol address and the virtual port number, wherein the listening service of a second core of the plurality of cores receive a data connection request from the client to the server; and wherein the second core sends a second message to the plurality of cores that the second core has the data connection and the first packet processing engine of the first core increments a reference counter for the data connection of the control connection in response to the second message. 11. The system of claim 10 , wherein the first packet processing engine modifies the request to the server to identify a mapped internet protocol address and mapped port number of the multi-core system, the mapped internet protocol address mapped to an internet protocol address of the client and the mapped port number mapped to a port number of the client. 12. The system of claim 11 , wherein the first packet processing engine forwards the modified request to the server. 13. The system of claim 10 , wherein the first packet processing engine modifies the response from the server to identify the virtual port number as the port of the server. 14. The system of claim 13 , wherein the first packet processing engine forwards the modified response to the client. 15. The system of claim 10 , wherein the second core determines a mapped internet protocol address and a mapped port number for the client to have server traffic via the data connection forwarded by a flow distributor of the multi-core system to the second core. 16. The system of claim 10 , wherein each of the plurality of the cores disestablishes the listening service responsive to the second message. 17. The system of claim 10 , wherein the second core sends a third message to the first core upon closing of the data connection and the first packet processing engine decrements the reference counter. 18. The system of claim 10 , wherein the second core sends to the first core the second message indicating the listening service was established.
Protocol engines · CPC title
Multichannel or multilink protocols · CPC title
specially adapted for file transfer, e.g. file transfer protocol [FTP] · CPC title
in the transport layer [OSI layer 4] (H04L69/16 takes precedence) · CPC title
Translation of Internet protocol [IP] addresses · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.