IP Library Granted Patent US 7,496,097
Granted Patent B2
US 7,496,097 · App. 10/988,004 · Granted Feb 24, 2009

System, apparatus and method for establishing a secured communications link to form a virtual private network at a network protocol layer other than at which packets are filtered

Assignee: Citrix Gateways, 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 7,496,097
App. No.
10/988,004
Filed
Nov 12, 2004
Granted
Feb 24, 2009
Kind
B2
Examiner
HO, DUC CHI
Art Unit
2419
USPC
370/392
Abstract

A system, apparatus and a method for implementing a secured communications link at a layer other than that at which packets are filtered are disclosed. In one embodiment, a computer system is configured to form a virtual private network (“VPN”) and comprises an address inspection driver to identify initial target packet traffic addressed to a target server. Also, the computer system includes a pseudo server module to receive rerouted initial target packet traffic from the address inspection driver. The pseudo server module is configured to convey packet regeneration instructions to a VPN gateway. The address inspection driver functions to identify additional target packet traffic addressed to the target server and routes the additional target packet traffic to the pseudo server. In one embodiment, the pseudo server is configured to strip header information from the additional target packet traffic to form a payload, and thereafter, to route the payload to the target server.

Claims (41)

1. A method for securing communications with a remote client computing device by establishing a virtual private network, comprising:

generating packet traffic with a communication application running on a client computing device;

identifying at said client computing device target packet traffic of said packet traffic that is addressed to a target server;

forming a secure communications link between a pseudo server module on said computing device and said target server;

directing additional packet traffic addressed to said target server to said pseudo server module;

sending an acknowledgment to said communication application upon receipt of said additional packet traffic rerouted to said pseudo server module; and

routing a payload of said additional paket traffic to said target server.

2. The method of claim 1 wherein identifying at said client computing device said target packet traffic comprises:

inspecting said packet traffic at an address inspection driver;

matching information of said packet traffic to an address representing said target server;and

filtering a subset of said packet traffic bound for said address representing said target server as said traffic packet traffic to be rerouted to said pseudo server module.

3. The method of claim 1 wherein forming said secure communications link between said pseudo server and said target server comprises:

rerouting said target packet traffic to said pseudo server module on said client computing device, said pseudo server module conveying packet regeneration instructions to said target server;

receiving a link acknowledgment from said target server in response to receipt of said packet regeneration instructions at said target server; and

conveying said link acknowledgment to said communication application.

4. The method of claim 3 wherein conveying said packet regeneration instructions comprises including information for regenerating header information at said target server.

5. The method of claim 4 wherein including information further comprises including conversion information from converting said target packet traffic from a first format to a second format.

6. The method of claim 5 wherein including conversion information includes information for converting said first format associated with the Transmission Control Protocol (“TCP”) to a second format associated with the User Data Protocol (“UDP”).

7. The method of claim 1 wherein routing said payload to said target server comprises stripping header information from said additional packet traffic to form a payload.

8. The method of claim 1 wherein said acknowledgement is a false acknowledgment.

9. A computer system for forming a virtual private network, comprising:

an address inspection driver to identify initial target packet traffic addressed to a target server; and

a pseudo server module to receive rerouted initial target packet traffic from said address inspection driver, said pseudo server module conveying packet regeneration instructions to said target server;

wherein said address inspection driver identifies additional target packet traffic addressed to said target server and routes said additional target packet traffic to said pseudo server; and

wherein said pseudo server strips header information from said additional target packet traffic to form a payload and thereafter routes said payload to said target server.

10. The computer system of claim 9 further comprising a driver mapping data structure configured to include source information and destination information against which said address inspection driver compares packet information from said initial packet traffic.

11. The computer system of claim 9 wherein said address inspection driver is configured to filter said additional target packet traffic from passing unencrypted to said target server when at least aportion of said packet information matches at least a portion of said destination information.

12. The computer system of claim 9 wherein said address inspection driver is configured to generate a control packet that is rerouted to said pseudo server in association with said initial target packet traffic.

13. The computer system of claim 12 wherein said control packet includes source and destination information of said initial target packet traffic for detecting packet traffic originating at said target server.

14. The computer system of claim 9 wherein said packet regeneration instructions are configured to direct said target server to regenerate said target packet traffic to form regenerated packet traffic including regenerated header information and said payload.

15. The computer system of claim 9 further comprising a protocol stack in which said address inspection driver resides at or near a network layer and said pseudo server module resides at or near a transportation layer, said network layer and said transportation layer being layers in accordance with the Open System Interconnection model.

16. The computer system of claim 15 wherein said address inspection driver inspects and filters packets at or near said network layer, thereby supporting any routing protocol with which to establish a secured communications link in said virtual private network.

17. The computer system of claim 15 wherein said pseudo server passes encrypted packets onto a secured communications link originating at or near said transportation layer, thereby enabling said encrypted packets to pass through network address translation (“NAT”)-enabled network devices.

18. A virtual private network, comprising:

a client machine configured as a pseudo server machine with respect to a communication application running on said client machine, such that said communication application receives packet traffic acknowledgements from said pseudo server machine; and

a virtual private network gateway operative with a server machine, to exchange communications between said psuedo server machine and said server machine, to facilitate secure communications between said client machine and said server machine.

19. The virtual private network of claim 18 wherein said virtual private network gateway selectably conceals from said server machine an address of said client machine running said communication application.

20. The virtual private network of claim 18 wherein said pseudo server machine includes an acknowledgement generator module for generating said packet traffic acknowledgements as false acknowledgments.

21. The virtual private network of claim 18 wherein said pseudo server machine includes a packet modifier module configured to modify packets representing said secure communications to form modified packets by stripping header information therefrom.

22. The virtual private network of claim 21 wherein said pseudo server machine is configured to form a raw socket at a socket layer with which to pass said secure communications.

23. The virtual private network of claim 18 wherein said pseudo server machine includes a flag-UDP-as-TCP module configured to modify a flag in a UDP packet to indicate said UDP packet is a TCP packet, thereby forming a pseudo-UDP packet.

Assignments (12)
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: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
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 →
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 Dec 12, 2014
From: RAO, GOUTHAM P.; RODRIGUEZ, ROBERT A.; BRUEGGEMANN, ERIC R.
To: CITRIX SYSTEMS, INC.
Reel/Frame 034490/0849 →
NUNC PRO TUNC ASSIGNMENT Recorded Dec 15, 2011
From: NET6, INC.
To: CITRIX SYSTEMS, INC.
Reel/Frame 027392/0202 →
CHANGE OF NAME Recorded Aug 5, 2005
From: NET6, INC.
To: CITRIX GATEWAYS, INC.
Reel/Frame 016613/0040 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2005
From: RAO, GOUTHAM P.; RODRIGUEZ, ROBERT; BRUEGGEMANN, ERIC
To: NET6, INC.
Reel/Frame 015717/0230 →
Continuity (3)
Provisional Application 6052499900 · Nov 24, 2003
Provisional Application 6051830500 · Nov 11, 2003
Related Publication 20050185647A1 · Aug 25, 2005