Systems and methods for handling a multi-connection protocol between a client and server traversing a multi-core system

US9264293B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9264293-B2
Application numberUS-201213631686-A
CountryUS
Kind codeB2
Filing dateSep 28, 2012
Priority dateJun 22, 2009
Publication dateFeb 16, 2016
Grant dateFeb 16, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9264293B2 cover?
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 …
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L61/2503. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 16 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).