IP Library Granted Patent US 8,970,450
Granted Patent B2
US 8,970,450 · App. 13/644,659 · Granted Mar 3, 2015

Reverse seamless integration between local and remote computing environments

Inventor: Georgy Momchilov (Coconut Creek, FL)
Assignee: Citrix Systems, Inc.
G06F3/01G06F3/14G06F9/54G06F2209/545
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,970,450
App. No.
13/644,659
Filed
Oct 4, 2012
Granted
Mar 3, 2015
Kind
B2
Examiner
LUU, LE HIEN
Art Unit
2448
USPC
709/206
Abstract

Methods and systems for transparent user interface integration between remote (“published”) applications and their local counterparts are described, providing a seamless, unified user experience, and allowing integration of a start menu, dock, taskbar, desktop shortcuts, windows, window and application switching, system tray elements, client-to-host and host-to-client file type association, URL redirection, browser cookie redirection, token redirection, status message interception and redirection, and other elements. These methods and systems further enhance theme-integration between a client and remote desktop or virtual machine by remoting all UI elements to a recipient for generation, including text controls, buttons, progress bars, radio buttons, list boxes, or other elements; presenting them with the receiver's product and OS-specific UI; and returning status back to the sender. This may achieve a more unified and transparent UI integration. Furthermore, storage resources, printer resources, and identity-based resources may be integrated using a reverse seamless user interface.

Claims (46)

1. A method comprising:

establishing a connection between a client device and a remote host, said remote host providing access to one or more applications executing remotely on the remote host, wherein said client device is configured with one or more resources based on a first user identity, and said remote host is configured with one or more resources based on a second user identity;

sending, by the client device, first information to the remote host about a first application executing on the client device;

rendering within a user interface associated with the remote host, a first user interface component based on the first application, said first user interface component being rendered with a consistent appearance as a user interface associated with the remote host; and

when the first application meets one or more predefined criteria, providing the first application with access to the one or more resources based on the second user identity.

2. The method of claim 1 , wherein the predefined criteria comprises validating the second user identity to the client device.

3. The method of claim 2 , wherein validating the second user identity to the client device comprises:

authenticating the second identity to the remote host;

the remote host sending, to a third party, a request for an authentication token for the second user identity;

the remote host sending the authentication token to the client device;

the client device sending the authentication token to the third party; and

the client device receiving information from the third party allowing the client device to use the second user identity.

4. The method of claim 3 , wherein the third party comprises a security support provider interface (SSPI).

5. The method of claim 3 , wherein the remote host and client device send one or more validation messages via a Kerberos protocol.

6. The method of claim 3 , wherein client device actions are performed by an ICA client.

7. A method comprising:

establishing a connection between a client device and a remote host, said remote host providing access to one or more applications executing remotely on the remote host, wherein said client device is configured with access to a first set of one or more resources, and said remote host is configured with access to a second set of one or more resources;

sending, by the client device, first information to the remote host about a first application executing on the client device;

rendering within a user interface associated with the remote host, a first user interface component based on the first application, said first user interface component being rendered with a consistent appearance as a user interface associated with the remote host; and

when the first application meets one or more predefined criteria, providing the first application with access to the second set of one or more resources.

8. The method of claim 7 , wherein each resource of the second set of one or more resources comprises a storage resource.

9. The method of claim 8 , wherein providing the first application with access to the second set of one or more storage resources comprises:

enumerating the second set of one or more storage resources;

mapping each of the second set of one or more storage resources to a locally accessible storage identifier of the client device; and

redirecting I/O requests for each of the second set of one or more storage resources based on the corresponding mapped locally accessible storage identifier.

10. The method of claim 9 , wherein the enumeration is performed by a network provider.

11. The method of claim 9 , wherein the redirecting is performed by a device driver.

12. The method of claim 9 , wherein the mapping is performed by one of a network provider and a device driver.

13. The method of claim 9 , wherein the mapping and redirection are performed by a server message block (SMB) application layer protocol.

14. The method of claim 7 , wherein each resource of the second set of one or more resources comprises a printer resource.

15. The method of claim 14 , wherein providing the first application with access to the second set of one or more printing resources comprises:

configuring the client device with a network print provider, a print service, and one or more universal print drivers;

mapping each of the second set of one or more printing resources to a locally accessible printing resource of the client device; and

redirecting print requests for each of the second set of one or more printing resources based on the corresponding mapped locally accessible printing resource.

16. The method of claim 14 , wherein providing the first application with access to the second set of one or more printing resources comprises:

configuring the remote host with a universal print server;

configuring the client device with a universal print client, wherein said universal print client provides a network printer provider service that enumerates one or more of the second set of one or more printer resources to the client device; and

redirecting a print request from the client device to one of the second set of printer resources based on an enumerated printer resource identified in the print request.

17. The method of claim 16 , further comprising tunneling the print request through a proxy to the one of the second set of printer resources, when said one of the second set of printer resources is behind a firewall.

18. The method of claim 17 , wherein the proxy comprises a Secure Gateway.

19. One or more non-transitory computer readable media storing computer executable instructions that, when executed, cause a client device to perform:

establishing a connection between the client device and a remote host, said remote host providing access to one or more applications executing remotely on the remote host, wherein said client device is configured with access to a first set of one or more resources, and said remote host is configured with access to a second set of one or more resources;

sending, by the client device, first information to the remote host about a first application executing on the client device;

rendering within a user interface associated with the remote host, a first user interface component based on the first application, said first user interface component being rendered with a consistent appearance as a user interface associated with the remote host; and

when the first application meets one or more predefined criteria, providing the first application with access to the second set of one or more resources.

20. The computer readable media of claim 19 , wherein each set of one or more resources is selected from a group comprising storage resources, printer resources, and identity-based resources.

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: 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 Oct 4, 2012
From: MOMCHILOV, GEORGY
To: CITRIX SYSTEMS, INC.
Reel/Frame 029077/0616 →
Continuity (4)
Continuation 13600331 · Aug 31, 2012
Continuation In Part 13410659 · Mar 2, 2012
Provisional Application 61448716 · Mar 3, 2011
Related Publication 20130031618A1 · Jan 31, 2013