Integrated application launching in heterogeneous cloud computing environment
First Claim
1. A method of operating a cloud computing system executing a desktop hosting program providing a hosted desktop interface to a client computer, the client computer providing a terminal-like interface to the cloud computing system, comprising:
- maintaining a functional connection between the desktop hosting program and a local-access function at the client computer to enable use of the hosted desktop interface by application programs locally accessed at the client computer, the application programs including a separately hosted application program executed at a separate hosting computing system to deliver an application service to the client computer, the separately hosted application program being launchable at the client computer via an application-launching control of the terminal-like interface, the application-launching control being a local control distinct from hosted-desktop controls of the hosted desktop interface;
obtaining application program metadata from the client computer, the application program metadata included in the local control and identifying the separately hosted application program to be executed at the separate hosting computing system to deliver the application service to the client computer, the application program metadata being obtained by sending a request message to the client computer and receiving a corresponding response message from the client computer via a control channel, the request message requesting data for application programs launchable via corresponding local application-launching controls of the terminal-like interface, the response message including the application-program metadata from the local control identifying the separately hosted application program;
populating the hosted desktop interface with a user-activated control including the application program metadata identifying the separately hosted application program; and
upon activation of the user-activated control in the hosted desktop interface, sending a control message to the client computer via the control channel, the control message instructing the client computer to launch the separately hosted application program in functional association with the local-access function to enable user interface functions of the separately hosted application program to be provided in the hosted desktop interface,wherein the application program metadata includes one or more file type associations each identifying a corresponding file type as being opened by the separately hosted application program,and further comprising;
maintaining a handler launch record for each file type association, the handler launch record including a handler launch command usable to invoke a handler routine executed by the cloud computing system, the handler launch command including an agent launch command usable to invoke an agent routine executed by the client computer, the agent launch command including an application launch command usable at the client computer to invoke the separately hosted application program; and
upon a file being opened in the hosted desktop interface having a file type of one of the file type associations;
(1) based on the handler launch record, executing the handler launch command to invoke the handler routine with the agent launch command and a file location parameter identifying a storage location of the file; and
(2) under control of the handler routine, sending the agent launch command with the file location parameter to an application-launching agent executing on the client computer, the application-launching agent being operative to use the application launch command to launch the separately hosted application program with the file location parameter to cause the separately hosted application program to open the file.
7 Assignments
0 Petitions
Accused Products
Abstract
Application programs delivered from one or more cloud computing systems (“clouds” or “CCSs”) are integrated into a desktop being delivered/hosted by another cloud (“primary” CCS). In one respect, the integration includes integration of controls for directly launching a separately hosted application program from a desktop hosted by the primary CCS, such as by selection of a start menu entry or activation of a “shortcut” icon that points to the application program. In another respect, a separately hosted application program is launched based on a user opening or accessing content (e.g. data file) that is specifically associated with the separately hosted application program but residing more locally, such as in the hosted desktop. In this aspect, the content is seamlessly redirected to the other cloud without requiring any direct network connectivity between the clouds.
-
Citations
14 Claims
-
1. A method of operating a cloud computing system executing a desktop hosting program providing a hosted desktop interface to a client computer, the client computer providing a terminal-like interface to the cloud computing system, comprising:
-
maintaining a functional connection between the desktop hosting program and a local-access function at the client computer to enable use of the hosted desktop interface by application programs locally accessed at the client computer, the application programs including a separately hosted application program executed at a separate hosting computing system to deliver an application service to the client computer, the separately hosted application program being launchable at the client computer via an application-launching control of the terminal-like interface, the application-launching control being a local control distinct from hosted-desktop controls of the hosted desktop interface; obtaining application program metadata from the client computer, the application program metadata included in the local control and identifying the separately hosted application program to be executed at the separate hosting computing system to deliver the application service to the client computer, the application program metadata being obtained by sending a request message to the client computer and receiving a corresponding response message from the client computer via a control channel, the request message requesting data for application programs launchable via corresponding local application-launching controls of the terminal-like interface, the response message including the application-program metadata from the local control identifying the separately hosted application program; populating the hosted desktop interface with a user-activated control including the application program metadata identifying the separately hosted application program; and upon activation of the user-activated control in the hosted desktop interface, sending a control message to the client computer via the control channel, the control message instructing the client computer to launch the separately hosted application program in functional association with the local-access function to enable user interface functions of the separately hosted application program to be provided in the hosted desktop interface, wherein the application program metadata includes one or more file type associations each identifying a corresponding file type as being opened by the separately hosted application program, and further comprising; maintaining a handler launch record for each file type association, the handler launch record including a handler launch command usable to invoke a handler routine executed by the cloud computing system, the handler launch command including an agent launch command usable to invoke an agent routine executed by the client computer, the agent launch command including an application launch command usable at the client computer to invoke the separately hosted application program; and upon a file being opened in the hosted desktop interface having a file type of one of the file type associations; (1) based on the handler launch record, executing the handler launch command to invoke the handler routine with the agent launch command and a file location parameter identifying a storage location of the file; and (2) under control of the handler routine, sending the agent launch command with the file location parameter to an application-launching agent executing on the client computer, the application-launching agent being operative to use the application launch command to launch the separately hosted application program with the file location parameter to cause the separately hosted application program to open the file. - View Dependent Claims (2, 3, 4, 5, 6, 12, 13)
-
-
7. A method of operating a client computer as a client of a cloud computing system executing a desktop hosting program providing a hosted desktop interface to the client computer, comprising:
-
providing a terminal-like interface to the cloud computing system; maintaining a functional connection between the desktop hosting program and a local-access function at the client computer to enable use of the hosted desktop interface by application programs locally accessed at the client computer, the application programs including a separately hosted application program executed at a separate hosting computing system to deliver an application service to the client computer, the separately hosted application program being launchable at the client computer via an application-launching control of the terminal-like interface, the application-launching control being a local control distinct from hosted-desktop controls of the hosted desktop interface; providing application program metadata from the client computer to the cloud computing system, the application program metadata included in the local control and identifying the separately hosted application program to be executed at the separate hosting computing system to deliver the application service to the client computer, the application program metadata being used by the cloud computing system to populate the hosted desktop interface with a user-activated control including the application program metadata, the application program metadata being provided by receiving a request message from the cloud computing system and sending a corresponding response message to the cloud computing system via a control channel, the request message requesting data for application programs launchable via corresponding local application-launching controls of the terminal-like interface, the response message including the application-program metadata from the local control identifying the separately hosted application program; and upon activation of the user-activated control in the hosted desktop interface, (1) receiving a control message from the cloud computing system via a the control channel, the control message instructing the client computer to launch the separately hosted application program, and (2) in response to receiving the control message, launching the separately hosted application program in functional association with the local-access function to enable user interface functions of the separately hosted application program to be provided in the hosted desktop interface, wherein; the application program metadata includes one or more file type associations each identifying a corresponding file type as being opened by the separately hosted application program; the cloud computing system maintains a handler launch record for each file type association, the handler launch record including a handler launch command usable to invoke a handler routine executed by the cloud computing system, the handler launch command including an agent launch command usable to invoke an agent routine executed by the client computer, the agent launch command including an application launch command usable at the client computer to invoke the separately hosted application program; and the cloud computing system is operative, upon a file being opened in the hosted desktop interface having a file type of one of the file type associations, and based on the handler launch record, to (1) execute the handler launch command to invoke the handler routine with the agent launch command and a file location parameter identifying a storage location of the file, and (2) under control of the handler routine, send the agent launch command with the file location parameter to an application-launching agent executing on the client computer, and further including, by the application-launching agent of the client computer, using the application launch command to launch the separately hosted application program with the file location parameter to cause the separately hosted application program to open the file. - View Dependent Claims (8, 9, 14)
-
-
10. A cloud computing system, comprising:
-
input/output circuitry operative to provide a communications interface to client computer, the client computer providing a terminal-like interface to the cloud computing system; memory storing a set of computer program instructions of a desktop hosting program; and processing circuitry operative to execute the desktop hosting program to provide a hosted desktop interface to the client computer, the execution of the desktop hosting program by the processing circuitry causing the cloud computing system to perform a method including; maintaining a functional connection between the desktop hosting program and a local-access function at the client computer to enable use of the hosted desktop interface by application programs locally accessed at the client computer, the application programs including a separately hosted application program executed at a separate hosting computing system to deliver an application service to the client computer, the separately hosted application program being launchable at the client computer via an application-launching control of the terminal-like interface, the application-launching control being a local control distinct from hosted-desktop controls of the hosted desktop interface; obtaining application program metadata from the client computer, the application program metadata included in the local control and identifying the separately hosted application program to be executed at the separate hosting computing system to deliver the application service to the client computer, the application program metadata being obtained by sending a request message to the client computer and receiving a corresponding response message from the client computer via a control channel, the request message requesting data for application programs launchable via corresponding local application-launching controls of the terminal-like interface, the response message including the application-program metadata from the local control identifying the separately hosted application program; populating the hosted desktop interface with a user-activated control including the application program metadata identifying the separately hosted application program; and upon activation of the user-activated control in the hosted desktop interface, sending a control message to the client computer via the control channel, the control message instructing the client computer to launch the separately hosted application program in functional association with the local-access function to enable user interface functions of the separately hosted application program to be provided in the hosted desktop interface, wherein the application program metadata includes one or more file type associations each identifying a corresponding file type as being opened by the separately hosted application program, and wherein the method further includes; maintaining a handler launch record for each file type association, the handler launch record including a handler launch command usable to invoke a handler routine executed by the cloud computing system, the handler launch command including an agent launch command usable to invoke an agent routine executed by the client computer, the agent launch command including an application launch command usable at the client computer to invoke the separately hosted application program; and upon a file being opened in the hosted desktop interface having a file type of one of the file type associations; (1) based on the handler launch record, executing the handler launch command to invoke the handler routine with the agent launch command and a file location parameter identifying a storage location of the file; and (2) under control of the handler routine, sending the agent launch command with the file location parameter to an application-launching agent executing on the client computer, the application-launching agent being operative to use the application launch command to launch the separately hosted application program with the file location parameter to cause the separately hosted application program to open the file.
-
-
11. A client computer, comprising:
-
input/output circuitry operative to provide a communications interface to a cloud computing system and to a separate hosting computing system; memory storing a set of computer program instructions of a user interface program; and processing circuitry operative to execute the user interface program to obtain a hosted desktop interface from the cloud computing system, the execution of the user interface program by the processing circuitry causing the client computer to perform a method including; providing a terminal-like interface to the cloud computing system; maintaining a functional connection between the desktop hosting program and a local-access function at the client computer to enable use of the hosted desktop interface by application programs locally accessed at the client computer, the application programs including a separately hosted application program executed at a separate hosting computing system to deliver an application service to the client computer, the separately hosted application program being launchable at the client computer via an application-launching control of the terminal-like interface, the application-launching control being a local control distinct from hosted-desktop controls of the hosted desktop interface; providing application program metadata from the client computer to the cloud computing system, the application program metadata included in the local control and identifying the separately hosted application program to be executed at the separate hosting computing system to deliver the application service to the client computer, the application program metadata being used by the cloud computing system to populate the hosted desktop interface with a user-activated control including the application program metadata, the application program metadata being provided by receiving a request message from the cloud computing system and sending a corresponding response message to the cloud computing system via a control channel, the request message requesting data for application programs launchable via corresponding local application-launching controls of the terminal-like interface, the response message including the application-program metadata from the local control identifying the separately hosted application program; and upon activation of the user-activated control in the hosted desktop interface, (1) receiving a control message from the cloud computing system via the control channel, the control message instructing the client computer to launch the separately hosted application program, and (2) in response to receiving the control message, launching the separately hosted application program in functional association with the local-access function to enable user interface functions of the separately hosted application program to be provided in the hosted desktop interlace, wherein; the application program metadata includes one or more file type associations each identifying a corresponding file type as being opened by the separately hosted application program; the cloud computing system maintains a handler launch record for each file type association, the handler launch record including a handler launch command usable to invoke a handler routine executed by the cloud computing system, the handler launch command including an agent launch command usable to invoke an agent routine executed by the client computer, the agent launch command including an application launch command usable at the client computer to invoke the separately hosted application program; and the cloud computing system is operative, upon a file being opened in the hosted desktop interface having a file type of one of the file type associations, and based on the handler launch record, to (1) execute the handler launch command to invoke the handler routine with the agent launch command and a file location parameter identifying a storage location of the file, and (2) under control of the handler routine, send the agent launch command with the file location parameter to an application-launching agent executing on the client computer, and wherein the method further includes, by the application-launching agent of the client computer, using the application launch command to launch the separately hosted application program with the file location parameter to cause the separately hosted application program to open the file.
-
Specification