IP Library Granted Patent US 8,726,006
Granted Patent B2
US 8,726,006 · App. 13/590,630 · Granted May 13, 2014

System and method for establishing a virtual private network

Inventors: Prabakar Sundarrajan (Saratoga, CA); Junxiao He (Cupertino, CA); Ajay Soni (San Jose, CA); Shashidhara Nanjundaswamy (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,726,006
App. No.
13/590,630
Granted
May 13, 2014
Kind
B2
Abstract

A system and method for establishing a virtual private network (VPN) between a client and a private data communication network. An encrypted data communication session, such as a Secure Sockets Layer (SSL) data communication session, is established between a gateway and the client over a public data communication network. The gateway then sends a programming component to the client for automatic installation and execution thereon. The programming component operates to intercept communications from client applications destined for resources on the private data communication network and to send the intercepted communications to the gateway via the encrypted data communication session instead of to the resources on the private data communication network.

Claims (26)

1. A system comprising:

a program executing on a client establishing a connection with a device intermediary to the client and a server;

a driver of the client intercepting a packet transmitted by an application of the client to the server and providing the intercepted packet to the program; and

wherein the program performs additional processing of the intercepted packet, comprising encapsulating payload from the intercepted packet, before transmitting the encapsulated payload of the intercepted packet via the connection.

2. The system of claim 1 , wherein the additional processing comprises encrypting at least the payload of the intercepted packet.

3. The system of claim 1 , wherein the additional processing comprises Domain Name Service (DNS) name resolution.

4. The system of claim 1 , wherein the additional processing comprises dynamically changing internet protocol addresses.

5. The system of claim 1 , wherein the additional processing comprises keeping a log regarding the intercepted packet.

6. The system of claim 1 , wherein the additional processing comprises keeping statistics regarding the intercepted packet.

7. The system of claim 1 , wherein the additional processing comprises integrating with a global server load balancing system.

8. The system of claim 1 , wherein the program transmits the payload from the intercepted packet to the device via the connection.

9. The system of claim 1 , wherein the program executes at an application layer of a network stack of the client and the driver operates at one or more layers below the application layer.

10. The system of claim 1 , wherein the program terminates an end point of the connection with the device and the driver terminates a second connection of the application to the server.

11. A system comprising:

a device intermediary to a client and a server, the device establishing a first connection with a program executing on the client, the program encapsulating payload from a packet intercepted by a driver from a transmission by an application of the client of the packet to the server, encrypting the encapsulated payload and transmitting communications comprising the encrypted encapsulated payload;

wherein the device decrypts the communications received from the program and destined for the server; and

wherein the device performs additional processing of the decrypted communications before transmitting to the server via a second connection between the device and the server.

12. The system of claim 11 , wherein the device responsive to a request from the client to access the server, transmits the program to the client for installation and execution on the client, the program upon execution, installing a driver in a network stack of the client.

13. The system of claim 12 , wherein the driver intercepts communications from the application and redirects the communications to the program.

14. The system of claim 11 , wherein the additional processing comprises re-encrypting the decrypted communications before transmission to the server.

15. The system of claim 11 , wherein the additional processing comprises load balancing the decrypted communications before transmission to the server.

16. The system of claim 11 , wherein the additional processing comprises compressing the decrypted communications before transmission to the server.

17. The system of claim 11 , wherein the additional processing comprises serving a response out of a cache of the device rather than transmitting the decrypted communications to the server.

18. The system of claim 11 , wherein the additional processing comprises performing defense against denial of service attacks.

19. The system of claim 11 , wherein the additional processing comprises performing virus scanning of the decrypted communications.

20. The system of claim 11 , wherein responsive to transmitting the communications to the server, the device receives via the second connection a response from the server and encrypts and transmits the encrypted response via the first connection to the program.

Assignments (11)
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 →
MERGER Recorded May 20, 2013
From: NETSCALER, INC.
To: NCAR, LLC
Reel/Frame 030452/0805 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2013
From: SUNDARRAJAN, PRABAKAR; HE, JUNXIAO; SONI, AJAY; NANJUNDASWAMY, SHASHIDHARA; KUMAR, ARKESH
To: NETSCALER, INC.
Reel/Frame 030448/0287 →
CHANGE OF NAME Recorded May 20, 2013
From: NCAR, LLC
To: CITRIX APPLICATION NETWORKING, LLC
Reel/Frame 030452/0827 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2013
From: CITRIX APPLICATION NETWORKING, LLC
To: CITRIX SYSTEMS, INC.
Reel/Frame 030265/0903 →
Continuity (4)
Continuation 12794446 · Jun 4, 2010
Continuation 11039946 · Jan 24, 2005
Provisional Application 60583785 · Jun 30, 2004
Related Publication 20120317411A1 · Dec 13, 2012