IP Library Granted Patent US 8,589,575
Granted Patent B2
US 8,589,575 · App. 12/851,438 · Granted Nov 19, 2013

Systems and methods for IIP address sharing across cores in a multi-core system

Inventors: Pratap Ramachandra (Bangalore, IN); Akshat Choudhary (Bangalore, IN); Mugdha Agarwal (Bangalore, IN); Arkesh Kumar (Santa Clara, CA)
Assignee: Citrix Systems, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,589,575
App. No.
12/851,438
Granted
Nov 19, 2013
Kind
B2
Abstract

In a multi-core system, multiple packet engines across corresponding cores may be working concurrently processing data packets from data flows of SSL VPN sessions. For example, a first core may establish a SSL VPN session with a client. Any one of the other cores, such as a second core, may received packets related to the session owned by the first core. Embodiments of the systems and method described below provide management of IIP addresses for the multi-core/multi-packet engine approach to providing SSL VPN service. In some embodiments, the approach to managing IIP addresses is to have one packet engine on a core act as a master or controller of the IIPs for the remaining packet engines and cores. The packet engines/cores use a protocol for communications regarding IIP management.

Claims (30)

1. A method for managing intranet internet protocol addresses via a multi-core device intermediary to a server and a plurality of clients, the method comprising:

(a) designating, by a device intermediary to a plurality of clients and a server, a first core of a plurality of cores of the device as a controller core for managing intranet internet protocol (IIP) addresses assigned by the device to sessions of the plurality of clients;

(b) receiving, by a second core of the plurality of cores from a third core of the plurality of cores, a communication regarding a session established by the second core;

(c) communicating, by the second core to the controller core, a request for an IIP address for the session; and

(d) communicating, by the second core to the third core, the IIP address allocated by the controller core to the session.

2. The method of claim 1 , wherein step (a) further comprises selecting, upon startup of the device, one core of the plurality of cores as the controller core and communicating the selection to each non-selected core of the plurality of cores.

3. The method of claim 1 , wherein step (b) further comprises receiving, by the third core, an event from the client via the session.

4. The method of claim 3 , wherein the event comprises a set client message from the client.

5. The method of claim 3 , wherein step (b) further comprises communicating, by the third core to the second core, information about the event.

6. The method of claim 1 , wherein step (b) further comprises determining, by the third core, that the third core is not an owner of the session.

7. The method of claim 1 , wherein step (b) further comprises determining, by the third core, from a session identifier of the session that the second core is the owner of the session.

8. The method of claim 1 , wherein step (c) further comprises communicating, by the second core to the controller core, information about the session.

9. The method of claim 1 , wherein step (d) further comprises assigning, by the controller core to the session, the IIP address comprising an intranet protocol address of a first network assigned to the client operating on a second network and accessing the server of the first network via the device.

10. The method of claim 1 , wherein step (d) further comprises communicating, by one of the second core or the controller core, to other cores of the plurality of cores, the allocation of the IIP address to the session.

11. The method of claim 1 , further comprising accepting, by the plurality of cores responsive to the allocation of the IIP address to the session, packets from the client for the IIP address.

12. A system for managing intranet internet protocol addresses via a multi-core device intermediary to a server and a plurality of clients, the system comprising:

a device intermediary to a plurality of clients and a server,

a first core of a plurality of cores of the device is designated as a controller core for managing intranet internet protocol (IIP) addresses assigned by the device to sessions of the plurality of clients;

a second core of the plurality of cores receives from a third core of the plurality of cores a communication regarding a session established by the second core and communicates to the controller core a request for an IIP address for the session; and

wherein the second core communicates to the third core the IIP address allocated by the controller core to the session.

13. The system of claim 12 , wherein upon startup the device selects one core of the plurality of cores as the controller core and communicates the selection to each non-selected core of the plurality of cores.

14. The system of claim 12 , wherein the third core receives an event from the client via the session.

15. The system of claim 14 , wherein the event comprises a set client message from the client.

16. The system of claim 14 , wherein the third core communicates to the second core information about the event.

17. The system of claim 12 , wherein the third core determines that the third core is not an owner of the session.

18. The system of claim 12 , wherein the third core determines from a session identifier of the session that the second core is the owner of the session.

19. The system of claim 12 , wherein the second core communicates to the controller core, information about the session.

20. The system of claim 12 , wherein the controller core allocates to the session, the IIP address comprising an intranet protocol address of a first network assigned to the client operating on a second network and accessing the server of the first network via the device.

21. The system of claim 12 , wherein one of the second core or the controller core communicates to other cores of the plurality of cores the allocation of the IIP address to the session.

22. The system of claim 21 , wherein the plurality of cores, responsive to the allocation of the IIP address to the session, accepts packets from the client for the IIP address.

Assignments (11)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
CONFIRMATORY LICENSE Recorded Dec 12, 2016
From: SYSTEMS & MATERIAL RESEARCH CORPORATION
To: NAVY, DEPARTMENT OF THE
Reel/Frame 040941/0786 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2011
From: RAMACHANDRA, PRATAP; CHOUDHARY, AKSHAT; AGARWAL, MUGDHA; KUMAR, ARKESH
To: CITRIX SYSTEMS, INC.
Reel/Frame 026161/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2011
From: RAMACHANDRA, PRATAP; CHOUDHARY, AKSHAT; AGARWAL, MUGDHA; KUMAR, ARKESH
To: CITRIX SYSTEMS, INC.
Reel/Frame 025960/0052 →
Continuity (1)
Related Publication 20120036244A1 · Feb 9, 2012