IP Library Granted Patent US 9,992,167
Granted Patent B2
US 9,992,167 · App. 14/733,280 · Granted Jun 5, 2018

Systems and methods for a VPN ICA proxy on a multi-core system

Inventors: Arkesh Kumar (Santa Clara, CA); Pratap Ramachandra (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L63/0272G06F21/10G06F21/105G06F21/604H04L63/10H04L63/105H04L67/141G06F2221/2141H04L63/0823H04L63/166
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 9,992,167
App. No.
14/733,280
Granted
Jun 5, 2018
Kind
B2
Abstract

The present invention is directed towards systems and methods for sharing licenses across resources via a multi-core intermediary device. A device intermediary to a plurality of clients and a server may grant a license for a virtual private network (VPN) session established by a first core of a plurality of cores of the device with a client. A second core of the plurality of cores may receive a first request from the client to establish an application connection between an application and a server via the VPN session. The second core may send a second request to the first core to share the license of the VPN session responsive to determining that the first core owns the VPN session. The second core may establish the application connection responsive to receiving from the first core a response accepting the second request to share the license of the VPN session.

Claims (32)

1. A method comprising:

(a) maintaining, by a device intermediary to a plurality of clients and one or more servers, a provisioning list to track usage of a license for a secured session among a plurality of cores of the device, to access a resource of the one or more servers using the secured session;

(b) accessing, by a first core of the plurality of cores responsive to receiving a request from a client of the plurality of clients to access the resource, the provisioning list and identifying from the provisioning list that the license to access the resource using the secured session is granted to a second core of the plurality of cores that established the secured session;

(c) sending, by the first core, a second request to the second core that established the secured session, to share the license for the secured session with the first core for the first core to access the resource;

(d) indicating, by the device, in the provisioning list, sharing of the license for the secured session to the first core, including an indication that the license is granted to the first core to access the resource; and

(e) accessing, by the first core, the resource after access to the resource is released by the second core responsive to the license being granted to the first core.

2. The method of claim 1 , further comprising managing, by a license manager of the device, a pool of licenses for the resource.

3. The method of claim 2 , further comprising granting, by the license manager, to the first core the license to the access the resource from the pool of licenses.

4. The method of claim 3 , further comprising indicating, by a provisioning manager, in the provision list that the first core has the license to access the resource.

5. The method of claim 1 , wherein (b) further comprises receiving, by the device the request from the client to access the resource comprising one of the following: an application, a database, a file, a web page, a connection and a session.

6. The method of claim 1 , wherein (c) further comprises receiving, by the first core, a response from the second core accepting the second request to share the license.

7. The method of claim 6 , wherein (d) further comprises establishing, by the first core responsive to the second core accepting the second request, access to the resource.

8. The method of claim 6 , further comprising releasing, by the second core responsive to the accepting the second request, access to the resource using the second core.

9. The method of claim 1 , further comprising allowing, by the device, the first core and the second core to access the resource using the shared license.

10. A system comprising:

a device comprising hardware and a plurality of cores, the device intermediary to a plurality of clients and one or more servers;

a provisioning list configured to track usage of a license for a secured session among the plurality of cores, to access a resource of the one or more servers using the secured session;

a first core of the plurality of cores configured to:

access the provisioning list responsive to receiving a request from a client of the plurality of clients to access the resource;

identify from the provisioning list that the license to access the resource using the secured session is granted to a second core of the plurality of core that established the secured session;

send a second request to the second core that established the secured session;

share the license with the first core for the first core to access the resource; and

access the resource after access to the resource is released by the second core responsive to the license being granted to the first core; and

wherein the device is configured to indicate in the provisioning list sharing of the license for the secured session to the first core, including an indication that the license is granted to the first core to access the resource.

11. The system of claim 10 , further comprising a license manager of the device configured to manage a pool of licenses for a plurality of resources.

12. The system of claim 11 , wherein the license manager is further configured to grant to the first core the license to the access the resource from the pool of licenses.

13. The system of claim 12 , further comprising a provisioning manager configured to indicate in the provision list that the first core has the license to access the resource.

14. The system of claim 10 , wherein the device is further configured to receive the request from the client to access the resource comprising one of the following: an application, a database, a file, a web page, a connection and a session.

15. The system of claim 10 , wherein the first core is further configured to receive a response from the second core accepting the second request to share the license.

16. The system of claim 15 , wherein the first core is further configured to establish, responsive to the second core accepting the second request, access to the resource.

17. The system of claim 15 , wherein the second core is further configured to release, responsive to accepting the second request, access to the resource using the second core.

18. The system of claim 10 , wherein the device is further configured to allow the first core and the second core to access the resource using the shared license.

Assignments (9)
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 →
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 →
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: 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2015
From: KUMAR, ARKESH; RAMACHANDRA, PRATAP
To: CITRIX SYSTEMS, INC.
Reel/Frame 035803/0769 →
Continuity (3)
Continuation 12977725 · Dec 23, 2010
Provisional Application 61290375 · Dec 28, 2009
Related Publication 20150271141A1 · Sep 24, 2015