Shell integration for an application executing remotely on a server
First Claim
1. A method comprising:
- receiving at a local computing device, a destination list from a remote computing device, said destination list corresponding to an application executing on the remote computing device;
instantiating, at the local computing device, a stub executable program based on the application executing on the remote computing device;
associating the destination list with the stub executable program;
outputting for display a user interface comprising the destination list of items corresponding to the application;
intercepting, at the local computing device, user input selecting an item on the destination list displayed on the user interface, corresponding to an item in the destination list received from the remote computing device;
sending the intercepted user input to the application executing on the remote computing device;
generating a local destination list corresponding to the received destination list, wherein said local destination list comprises at least one user selectable item not in the received destination list; and
outputting for display a combined destination list based on the received destination list and the local destination list.
8 Assignments
0 Petitions
Accused Products
Abstract
The methods and systems described herein are directed to providing shell integration for an application executing remotely on a server. By providing shell integration for the application executing on the server, the system provides a seamless user experience, in which a user perceives minor or no differences between applications executing locally and those executing remotely. New usability enhancements in operating systems, such as Destination Lists (a.k.a. Jump Lists), Thumbnail Toolbars, Overlay Icons, Progress Bars, and integration of web sites with the Shell (IE9), may work only in a local OS environment and fail to integrate at all in a remote environment. One of the goals of the invention is to integrate these Shell capabilities and achieve a unified desktop experience for the user.
-
Citations
15 Claims
-
1. A method comprising:
-
receiving at a local computing device, a destination list from a remote computing device, said destination list corresponding to an application executing on the remote computing device; instantiating, at the local computing device, a stub executable program based on the application executing on the remote computing device; associating the destination list with the stub executable program; outputting for display a user interface comprising the destination list of items corresponding to the application; intercepting, at the local computing device, user input selecting an item on the destination list displayed on the user interface, corresponding to an item in the destination list received from the remote computing device; sending the intercepted user input to the application executing on the remote computing device; generating a local destination list corresponding to the received destination list, wherein said local destination list comprises at least one user selectable item not in the received destination list; and outputting for display a combined destination list based on the received destination list and the local destination list. - View Dependent Claims (2, 3, 4, 5)
-
-
6. One or more non-transitory computer readable media storing computer executable instructions that, when executed by a hardware processor, cause a local computing device to perform:
-
receiving at the local computing device, a destination list from a remote computing device, said destination list corresponding to an application executing on the remote computing device; instantiating, at the local computing device, a stub executable program based on the application executing on the remote computing device; associating the destination list with the stub executable program; outputting for display a user interface comprising the destination list of items corresponding to the application; intercepting, at the local computing device, user input selecting an item on the destination list displayed on the user interface, corresponding to an item in the destination list received from the remote computing device; sending the intercepted user input to the application executing on the remote computing device; generating a local destination list corresponding to the received destination list, wherein said local destination list comprises at least one user selectable item not in the received destination list; and outputting for display a combined destination list based on the received destination list and the local destination list. - View Dependent Claims (7, 8, 9)
-
-
10. An apparatus comprising:
-
at least one processor; a network interface configured to communicate, via a network, with a remote computing device; and a memory storing computer-readable instructions that, when executed by the at least one processor, cause the apparatus to; receive a destination list from the remote computing device, said destination list corresponding to an application executing on the remote computing device; instantiate a stub executable program based on the application executing on the remote computing device; associate the destination list with the stub executable program; output for display a user interface comprising the destination list of items corresponding to the application; intercept user input selecting an item on the destination list displayed on the user interface, corresponding to an item in the destination list received from the remote computing device; send the intercepted user input to the application executing on the remote computing device; generate a local destination list corresponding to the received destination list, wherein said local destination list comprises at least one user selectable item not in the received destination list; and output for display a combined destination list based on the received destination list and the local destination list. - View Dependent Claims (11, 12, 13, 14, 15)
-
Specification