IP Library › Granted Patent US 9,268,466
Granted Patent B2
US 9,268,466 · App. 12/897,871 · Granted Feb 23, 2016

Methods and systems for updating a dock with a user interface element representative of a remote application

Inventors: Georgy Momchilov (Coconut Creek, FL); Andrew Innes (Milton, GB); Kevin Harvey (High Wycombe, GB)
Assignee: Citrix Systems, Inc.
G06F3/0484G06F9/4445G06F3/0481G06F3/14G09G5/14
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,268,466
App. No.
12/897,871
Granted
Feb 23, 2016
Kind
B2
Abstract

The present disclosure features methods and systems for updating an application-centric interface or dock, generated and displayed by a local computer, with a user interface element representative of a remote application executing on a remote computer to provide integration between remote (“published”) applications and their local counterparts. This functionality provides a seamless, unified user experience by allowing hosted applications to appear as if they are running locally in a dock interface, in the same way that local applications appear.

Claims (50)

1. A method of updating a dock, generated and displayed by a local computer, with a user interface element representative of a remote application executing on a remote computer, the method comprising:

receiving, by a local client executing on a local computer, application output generated by a plurality of remote applications including a first remote application and a second remote application executing on a remote computer, a user interface element representative of the first remote application, and window configuration information;

generating, by the local client responsive to receiving the application output, a plurality of application output windows to display the received application output, the plurality of application output windows generated locally at the local client according to the window configuration information and including a first local window group corresponding to the first remote application and a second local window group corresponding to the second remote application, wherein the window configuration information comprises an indication of a parent and child relationship between a parent window and a child window, and wherein the local client includes both the parent window and the child window in the first local window group based on the indication;

executing, responsive to receiving the application output, a process on the local machine, the process comprising the user interface element representative of the first remote application;

updating, by an operating system of the local computer responsive to executing the process, a dock of the local computer with an image of output data for the user interface element representative of the process, the image refreshed at least periodically or responsive to a user command; and

redirecting, by the process, a user interaction with the user interface element in the dock to an application output window in the first local window group displaying the application output generated by the first remote application.

2. The method of claim 1 , further comprising requesting, by the local client, execution of the first remote application responsive to user interaction with the user interface element in the dock.

3. The method of claim 1 , wherein the window configuration information further comprises an identification of the first remote application.

4. The method of claim 3 , wherein the process is a first process and the user interface element representative of the process is a first user interface element representative of the first process, the method further comprising:

receiving, by the local client, additional application output associated with the second local window group generated by the second remote application, a second user interface element representative of the second remote application, and additional window configuration information;

generating, by the local client, a second application output window for displaying the additional application output in the second local window group;

executing, responsive to receiving the additional window configuration information, a second process comprising the second user interface element representative of the second remote application;

updating, by the operating system of the local computer responsive to executing the second process, the dock of the local computer with the second user interface element representative of the second process; and

redirecting, by the second process, a second user interaction with the second user interface element in the dock to the second application output window.

5. The method of claim 3 , further comprising:

receiving, by the local client, additional application output associated with a second window and additional window configuration information;

generating, by the local client, a second application output window for displaying the additional application output;

determining, by the local client responsive to the additional window configuration information and the identification of the first remote application, that the second application output window corresponds to the first remote application; and

redirecting, by the process, a second user interaction with the user interface element in the dock to the second application output window.

6. The method of claim 5 , further comprising:

displaying, by the dock responsive to the user interaction with the user interface element, an enumeration of the application output window and the second application output window.

7. The method of claim 5 , wherein the determination that the second application output window corresponds to the first remote application is responsive to the additional application output being generated by the first remote application, a second executing instance of the first remote application, or a child process of the first remote application.

8. The method of claim 1 , wherein redirecting a user interaction with the user interface element in the dock further comprises redirecting the user interaction to the local client, the local client transmitting the user interaction to the first remote application.

9. The method of claim 1 , wherein the user interface element comprises a thumbnail image of window output stored as an icon of the first remote application.

10. A system of updating a dock, generated and displayed by a local computer, with a user interface element representative of a remote application executing on a remote computer, the system comprising a local computer executing:

a local client, configured to:

receive application output generated by a plurality of remote applications including a first remote application and a second remote application executing on a remote computer, a user interface element representative of the first remote application, and window configuration information, and

generate, responsive to receiving the application output, a plurality of application output windows to display the received application output, the plurality of application output windows generated locally at the local client according to the window configuration information and including a first local window group corresponding to the first remote application and a second local window group corresponding to the second remote application, wherein the window configuration information comprises an indication of a parent and child relationship between a parent window and a child window, and wherein the local client includes both the parent window and the child window in the first local window group based on the indication; and

a process, executed responsive to receiving the application output, comprising an image of output data for the user interface element representative of the first remote application and configured to redirect a user interaction with the user interface element in a dock to an application output window in the first local window group displaying the application output generated by the first remote application; and

an operating system, configured to update, responsive to executing the process, the dock with the image of output data for the user interface element representative of the process, the image refreshed periodically or responsive to a user command.

11. The system of claim 10 , wherein the local client is further configured to request execution of the first remote application responsive to user interaction with the user interface element in the dock.

12. The system of claim 10 , wherein the window configuration information further comprises an identification of the first remote application.

13. The system of claim 12 , wherein

the process is a first process,

the user interface element representative of the process is a first user interface element representative of the first process,

the local client is further configured to receive additional application output associated with the second local window group generated by the second remote application, a second user interface element representative of the second remote application, and additional window configuration information, and generate a second application output window for displaying the additional application output in the second local window group, and

the operating system is further configured to update the dock of the local computer with a second user interface element of a second process;

and further comprising:

the second process, executed responsive to receiving the additional window configuration information, comprising the second user interface element representative of the second remote application, and configured to redirect a second user interaction with the second user interface element in the dock to the second application output window.

14. The system of claim 12 , wherein the local client is further configured to

receive additional application output associated with a second window and additional window configuration information,

generate a second application output window for displaying the additional application output, and

determine, responsive to the additional window configuration information and the identification of the first remote application, that the second application output window corresponds to the first remote application; and

the process is further configured to redirect a second user interaction with the user interface element in the dock to the second application output window.

15. The system of claim 14 , wherein the dock is further configured to display, responsive to the user interaction with the user interface element, an enumeration of the application output window and the second application output window.

16. The system of claim 14 , wherein the determination that the second application output window corresponds to the first remote application is responsive to the additional application output being generated by the first remote application, a second executing instance of the first remote application, or a child process of the first remote application.

17. The system of claim 10 , wherein redirecting a user interaction with the user interface element in the dock further comprises redirecting the user interaction to the local client, the local client transmitting the user interaction to the first remote application.

18. The system of claim 10 , wherein the user interface element comprises a thumbnail image of window output stored as an icon of the first remote application.

19. The method of claim 1 , wherein updating the dock of the local computer with the image of output data for the user interface element of the process comprises requesting a refresh of the output data, receiving redrawn output data, and displaying the redrawn output data.

20. The system of claim 10 , wherein the process is further configured to update the dock of the local computer with the image of output data for the user interface element of the process by requesting a refresh of the output data and receiving redrawn output data, and wherein the operating system is configured to update the dock with the redrawn output data.

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 Dec 1, 2010
From: MOMCHILOV, GEORGY; INNES, ANDREW; HARVEY, KEVIN
To: CITRIX SYSTEMS, INC.
Reel/Frame 025415/0870 →
Continuity (2)
Provisional Application 61285022 · Dec 9, 2009
Related Publication 20110138295A1 · Jun 9, 2011