IP Library Granted Patent US 9,736,221
Granted Patent B2
US 9,736,221 · App. 14/599,588 · Granted Aug 15, 2017

Reverse seamless integration between local and remote computing environments

Inventors: Georgy Momchilov (Parkland, FL); Ning Ye (Santa Clara, CA); Modesto Tabares (Miramar, FL)
Assignee: Citrix Systems, Inc.
H04L67/08G06F3/01G06F3/0481G06F3/14G06F3/1454G06F9/54G09G5/14H04L67/10H04L67/42G06F2209/545G09G2340/0407
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,736,221
App. No.
14/599,588
Filed
Jan 19, 2015
Granted
Aug 15, 2017
Kind
B2
Examiner
LUU, LE HIEN
Art Unit
2448
USPC
709/203
Abstract

Methods and systems for transparent user interface integration between remote 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, international text may be correctly received in cross-language environments, or translated into the language of the presenting environment.

Claims (31)

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;

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

rendering, when the first application meets one or more predefined criteria, 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.

2. The method of claim 1 , wherein the first user interface component comprises an application window rendered directly within the user interface associated with the remote host without an intervening application window associated with the client device.

3. The method of claim 1 , further comprising hiding a corresponding user interface element generated by the client device, and rendering the first user interface component in its place.

4. The method of claim 1 , wherein the one or more predefined criteria comprise a predetermined published status of each client hosted application.

5. The method of claim 4 , wherein the published status is selected from a group comprising native applications, streamed applications, and remote applications.

6. The method of claim 1 , wherein the one or more predefined criteria comprise a predetermined importance level.

7. The method of claim 1 , wherein the one or more predefined criteria comprise the first user interface component being one of an authentication window, a warning window, and a battery meter.

8. The method of claim 1 , wherein the predefined criteria comprises an association with one of a plurality of remote virtual desktops.

9. 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;

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

rendering, when the first application meets one or more predefined criteria, 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.

10. The one or more non-transitory computer readable media of claim 9 , wherein the first user interface component comprises an application window rendered directly within the user interface associated with the remote host without an intervening application window associated with the client device.

11. The one or more non-transitory computer readable media of claim 9 , further comprising hiding a corresponding user interface element generated by the client device, and rendering the first user interface component in its place.

12. The one or more non-transitory computer readable media of claim 9 , wherein the one or more predefined criteria comprise a predetermined published status of each client hosted application.

13. The one or more non-transitory computer readable media of claim 12 , wherein the published status is selected from a group comprising native applications, streamed applications, and remote applications.

14. The one or more non-transitory computer readable media of claim 9 , wherein the one or more predefined criteria comprise a predetermined importance level.

15. The one or more non-transitory computer readable media of claim 9 , wherein the one or more predefined criteria comprise the first user interface component being one of an authentication window, a warning window, and a battery meter.

16. The one or more non-transitory computer readable media of claim 9 , wherein the predefined criteria comprises an association with one of a plurality of remote virtual desktops.

17. A client device, comprising:

a processor; and

memory storing non-transitory computer executable instructions that, when executed by the processor, cause the 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;

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

rendering, when the first application meets one or more predefined criteria, 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.

18. The client device of claim 17 , wherein the first user interface component comprises an application window rendered directly within the user interface associated with the remote host without an intervening application window associated with the client device.

19. The client device of claim 17 , said instructions further causing the client device to perform hiding a corresponding user interface element generated by the client device, and rendering the first user interface component in its place.

20. The client device of claim 17 , wherein the one or more predefined criteria are selected from a group comprising a predetermined published status of each client hosted application, a predetermined importance level, and an association with one of a plurality of remote virtual desktops.

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 Jul 30, 2015
From: MOMCHILOV, GEORGY; YE, NING; TABARES, MODESTO
To: CITRIX SYSTEMS, INC.
Reel/Frame 036226/0177 →
Continuity (4)
Division 13600331 · Aug 31, 2012
Continuation In Part 13410659 · Mar 2, 2012
Provisional Application 61448716 · Mar 3, 2011
Related Publication 20150134735A1 · May 14, 2015