IP Library › Granted Patent US 10,693,860
Granted Patent B2
US 10,693,860 · App. 15/699,892 · Granted Jun 23, 2020

RDP proxy support in presence of RDP server farm with session directory or broker

Inventor: Viswanath Yarangatta Suresh (Bangalore, IN)
Assignee: Citrix Systems, Inc.
H04L63/0815G06F9/452G06F21/41H04L63/083H04L67/1002H04L67/1004H04L67/42
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 10,693,860
App. No.
15/699,892
Filed
Sep 8, 2017
Granted
Jun 23, 2020
Kind
B2
Examiner
LE, THANH T
Art Unit
2495
USPC
726/7
Abstract

Described embodiments provide systems and methods for connecting to a server of a plurality of servers. The system may include a device intermediary between a client and a plurality of servers. The device may receive a remote desktop protocol (RDP) request from the client to connect to one of the plurality of servers. The RDP request may include a token. The device may cause a load-balancer of the plurality of servers to modify or remove the token of the RDP request, responsive to presence of a session directory/broker. The device may receive a server redirect packet that indicates a target server identified from the plurality of servers by the session directory, to which the client is to connect. The device may cause the server redirect packet to be modified to cause the client to send a redirected connection request packet for connecting with the target server.

Claims (27)

1. A system for connecting to a server of a plurality of servers, the system comprising:

a device intermediary between at least one client and a plurality of servers, the device comprising memory and at least one processor configured to:

receive a remote desktop protocol (RDP) request from a first client of the at least one client to connect to one of the plurality of servers, the RDP request including a token;

cause a load-balancer of the plurality of servers to modify or remove the token of the RDP request, responsive to presence of a session directory;

receive a server redirect packet generated by a first server of the plurality of servers that is selected by the load-balancer responsive to the RDP request, the server redirect packet indicating a target server identified from the plurality of servers by the session directory, to which the first client is to connect; and

cause the server redirect packet to be modified to cause the first client to send a redirected connection request packet for connecting with the target server.

2. The system of claim 1 , wherein the at least one processor is configured to cause the server redirect packet to be modified to cause the first client to send a redirected connection request packet that includes a token that provides at least one of: an indication of the target server, or configuration information for the device to perform single sign-on (SSO) with the target server, or configuration information for the device to control access to one or more resources.

3. The system of claim 1 , wherein the at least one processor is configured to cause the server redirect packet to be modified to cause the first client to provide at least one of: authentication credentials in a RDP communication stream to the target server responsive to unavailability of single sign-on (SSO), or configuration information to control access to one or more resources.

4. The system of claim 1 , wherein the at least one processor is configured to cause at least one of: information about the target server, authentication credentials, or information for load-balancing, of the server redirect packet to be modified.

5. The system of claim 1 , further comprising the load-balancer, wherein the load-balancer is configured to reside on the device or be separate from the device.

6. The system of claim 1 , wherein the at least one processor is configured to receive the RDP request, the RDP request initiated via a link that is published or dynamically created.

7. The system of claim 6 , wherein the at least one processor is further configured to receive a second RDP request from a second client to connect to a server of the plurality of servers, the second RDP request initiated via the link.

8. The system of claim 1 , wherein the at least one processor is further configured to send the modified server redirect packet to the first client.

9. The system of claim 1 , wherein the at least one processor is further configured to cause the load-balancer to modify or remove the token of the RDP request to enable a connection to the first server to be established.

10. A method for connecting to a server of a plurality of servers, the method comprising:

receiving, by a device intermediary between at least one client and a plurality of servers, a remote desktop protocol (RDP) request from a first client of the at least one client to connect to one of the plurality of servers, the RDP request including a token;

causing a load-balancer of the plurality of servers to modify or remove the token of the RDP request, responsive to presence of a session directory;

receiving, by the device, a server redirect packet generated by a first server of the plurality of servers that is selected by the load-balancer responsive to the RDP request, the server redirect packet indicating a target server identified from the plurality of servers by the session directory, to which the first client is to connect; and

modifying the server redirect packet to cause the first client to send a redirected connection request packet for connecting with the target server.

11. The method of claim 10 , wherein modifying the server redirect packet comprises modifying the server redirect packet to cause the first client to send a redirected connection request packet that includes a token that provides at least one of: an indication of the target server, configuration information for the device to perform single sign-on (SSO) with the target server, or configuration information for the device to control access to one or more resources.

12. The method of claim 10 , wherein modifying the server redirect packet comprises modifying the server redirect packet to cause the first client to provide authentication credentials in a RDP communication stream to the target server, responsive to unavailability of single sign-on (SSO), or configuration information to control access to one or more resources.

13. The method of claim 10 , wherein modifying the server redirect packet comprises modifying at least one of: information about the target server, authentication credentials, or information for load-balancing.

14. The method of claim 10 , wherein modifying the server redirect packet comprises having at least one of the device or the load-balancer modify the server redirect packet.

15. The method of claim 10 , wherein receiving the RDP request from the first client comprises receiving the RDP request initiated via a link that is published or dynamically created.

16. The method of claim 15 , further comprising receiving a second RDP request from a second client to connect to a server of the plurality of servers, the second RDP request initiated via the link.

17. The method of claim 10 , further comprising sending, by the device, the modified server redirect packet to the first client.

18. The method of claim 10 , wherein causing the load-balancer of the plurality of servers to modify or remove the token of the RDP request comprises modifying or removing the token to enable a connection to the first server to be established.

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 →
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 →
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 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 →
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 Sep 15, 2017
From: SURESH, VISWANATH YARANGATTA
To: CITRIX SYSTEMS, INC.
Reel/Frame 043599/0695 →
Continuity (1)
Related Publication 20190081942A1 · Mar 14, 2019