IP Library Granted Patent US 9,742,857
Granted Patent B2
US 9,742,857 · App. 13/593,986 · Granted Aug 22, 2017

Systems and methods for supporting a network profile

Inventors: Salauddin Mohammed (Karnataka, IN); Jyotheesh Rao Kurma (Karnataka, IN)
Assignee: CITRIX SYSTEMS, INC.
H04L67/28H04L61/20H04L61/2061H04L63/102H04L67/2814H04L67/2857H04L67/306H04L69/163H04L61/1511H04L67/1002
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,742,857
App. No.
13/593,986
Granted
Aug 22, 2017
Kind
B2
Abstract

The present solution is directed to a system for specifying a source internet protocol (IP) address used by an intermediary device for a connection to a server. The system includes a device intermediary to a plurality of clients and a server. The device may have a net profile for sending traffic to servers. The net profile specifies one or more internet protocol (IP) addresses to use as a source IP address for a connection between the device and the server. The device receives a request from a client of the plurality of clients via a first transport layer connection between the client and the device, identifies the net profile for the request, and establishes, responsive to the request, a second transport layer connection between the device and the server using an IP address.

Claims (27)

1. A method for specifying a source internet protocol (IP) address used by an intermediary device for a connection to a server, the method comprising:

(a) establishing, via a device intermediary to a plurality of clients and a server, a net profile configured via the device by a user for sending traffic to servers, the net profile bound by a user via a policy engine to one of a service or a virtual server and comprising a name and an expression specifying one or more internet protocol (IP) addresses from a plurality of IP addresses hosted by the device to use as a source IP address for a connection between the device and the server, the plurality of IP addresses hosted by the device for transmitting communications by the device using a hosted IP address as a source IP address of the device and receiving communications routable to the device using a hosted IP address as a destination IP address of the device over a network;

(b) receiving, by the device, a request from a client of the plurality of clients to a service of the server via a first transport layer connection established between the client and the device;

(c) identifying, by the device for the request, via the policy engine the net profile bound to one of the service executing on the server and managed by the device or the virtual server executing on the device managing the service;

(d) establishing, by the device responsive to the request, a second transport layer connection between the device and the server using an IP address hosted by the device from the one or more IP addresses specified by the net profile as the source IP address.

2. The method of claim 1 , wherein step (a) further comprises binding the net profile to a virtual server executing on the device.

3. The method of claim 1 , wherein step (a) further comprises binding the net profile to a service of the server managed by the device.

4. The method of claim 1 , wherein step (a) further comprises binding the net profile to a monitor executing on the device, the monitor monitoring a service on the server.

5. The method of claim 1 , wherein step (a) further comprises specifying a name of an IP set for the net profile, the IP set identifying the one or more IP addresses.

6. The method of claim 1 , wherein step (a) further comprises identifying the one or more IP addresses for the net profile from a pool of the plurality of IP addresses hosted by and routable to the device as a destination.

7. The method of claim 1 , wherein step (b) further comprises receiving, by the device, the request from the client to establish a transport layer connection with the server and responsive to the request establishing the first transport layer connection and the second transport layer connection.

8. The method of claim 1 , wherein step (c) further comprises identifying, by the device for the second transport layer connection, the net profile bound to a virtual server executing on the device.

9. The method of claim 1 , wherein step (c) further comprises identifying, by the device for the second transport layer connection, the net profile bound to a service managed by a virtual server executing on the device.

10. The method of claim 1 , wherein step (d) further comprises selecting, by the device, as the source IP address for the second transport layer connection the IP address from a plurality of IP addresses specified by the net profile.

11. A system for specifying a source internet protocol (IP) address used by an intermediary device for a connection to a server, the system comprising:

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

a net profile configured via the device by a user for sending traffic to servers, the net profile bound by a user via a policy engine to one of a service or a virtual server and comprising a name and an expression specifying one or more internet protocol (IP) addresses from a plurality of IP addresses hosted by the device to use as a source IP address for a connection between the device and the serve, the plurality of IP addresses hosted by the device for transmitting communications by the device using a hosted IP address as a source IP address of the device and receiving communications routable to the device using a hosted IP address as a destination IP address of the device over a network;

wherein the device receives a request from a client of the plurality of clients to a service of the server via a first transport layer connection established between the client and the device, identifies via the policy engine the net profile, for the request, bound to one of the service executing on the server and managed by the device or the virtual server executing on the device managing the service, and establishes, responsive to the request, a second transport layer connection between the device and the server using an IP address hosted by the device from the one or more IP addresses specified by the net profile as the source IP address.

12. The system of claim 11 , wherein the net profile is bound to a virtual server executing on the device.

13. The system of claim 11 , wherein the net profile is bound to a service of the server managed by the device.

14. The system of claim 11 , wherein the net profile is bound to a monitor executing on the device, the monitor monitoring a service on the server.

15. The system of claim 11 , wherein the net profile specifies a name of an IP set, the IP set comprises the one or more IP addresses.

16. The system of claim 11 , wherein the one or more IP addresses for the net profile are identified from a pool of the plurality of IP addresses hosted by and routable to the device as a destination.

17. The system of claim 11 , wherein the device receives the request from the client to establish a transport layer connection with the server and responsive to the request establishing the first transport layer connection and the second transport layer connection.

18. The system of claim 11 , wherein the device identifies for the second transport layer connection the net profile bound to a virtual server executing on the device.

19. The system of claim 11 , wherein the device identifies for the second transport layer connection the net profile bound to a service managed by a virtual server executing on the device.

20. The system of claim 11 , wherein the device selects as the source IP address for the second transport layer connection the IP address from a plurality of IP addresses specified by the net profile.

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 Aug 24, 2012
From: MOHAMMED, SALAUDDIN; KURMA, JYOTHEESH RAO
To: CITRIX SYSTEMS, INC.
Reel/Frame 028845/0442 →
Continuity (1)
Related Publication 20140059205A1 · Feb 27, 2014