IP Library Granted Patent US 9,661,060
Granted Patent B2
US 9,661,060 · App. 14/717,874 · Granted May 23, 2017

Method, server and system for converging desktop application and web application

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,661,060
App. No.
14/717,874
Granted
May 23, 2017
Kind
B2
Abstract

A method, Web server and computer system for converging a desktop application and a Web application. The method includes: in response to a request from a client user for using a target desktop application, starting a desktop application initialization process on the Web server and determining an appropriate corresponding hosting server for the user; preparing and provisioning desktop application environment on the corresponding hosting server and starting the target desktop application; transmitting the corresponding hosting server's address to the client to make desktop application interaction between the client and the corresponding hosting server; and in response to the completion of the desktop application interaction, stopping and exiting the target desktop application on the corresponding hosting server. The client user is provided with a unified Web console for accessing desktop applications and Web applications and Web files can be shared between the desktop applications and the Web applications.

Claims (52)

1. A method for converging a desktop application and a Web application, the Web application being included in a Web server, the method comprising steps of:

in response to a request from a client user for using a target desktop application, starting a desktop application initialization process on the Web server and determining an appropriate corresponding hosting server for the user;

preparing and provisioning desktop application environment on the corresponding hosting server and starting the target desktop application;

transmitting the corresponding hosting server's address to the client so as to make desktop application interaction between the client and the corresponding hosting server, and simultaneously transmitting to the client a browser plug-in configured to intercept user input at the client side and display the corresponding hosting server's user interface in a Web browser at the client side if the user requests to use the desktop application for a first time; and

in response to the completion of the desktop application interaction, stopping and exiting the target desktop application on the corresponding hosting server.

2. The method according to claim 1 , wherein all files on the corresponding hosting server and the Web server are synchronized during the desktop application interaction.

3. The method according to claim 1 , further comprising a step of storing server image of the corresponding hosting server and releasing the corresponding hosting server after exiting the target desktop application.

4. The method according to claim 1 , wherein determining an appropriate corresponding hosting server for the user comprises:

if there is a hosting server for the current session in a resource pool at present, then determining it as the corresponding hosting server;

or otherwise, according to the target desktop application and its required operating system information, finding from the resource pool a matched hosting server as the corresponding hosting server.

5. The method according to claim 4 , wherein preparing and provisioning desktop application environment on the corresponding hosting server comprises:

if said target desktop application has not been installed on the corresponding hosting server, installing an operating system required by the target desktop application on the corresponding hosting server as necessary; and

installing the target desktop application on the corresponding hosting server,

wherein installation software for a plurality of desktop applications including the target desktop application and their required operation systems is stored in a repository accessible by the Web server.

6. A Web server for converging a desktop application and a Web application, the Web server being capable of communicating with a client and one or more hosting servers and including a Web application and a desktop application service stored in a non-transitory computer-readable storage medium,

wherein, the Web application generates a desktop application initialization request in response to a request from a user of the client for using a target desktop application, and generates a desktop application exit request in response to the completion of desktop application interaction;

in response to the desktop application initialization request, the desktop application service starts a desktop application initializing process on the Web server, determines an appropriate corresponding hosting server for the user, prepares and provisions desktop application environment on it so that the corresponding hosting server could start the target desktop application and transmit the corresponding hosting server's address to the client, thereby making the desktop application interaction between the client and the corresponding hosting server;

simultaneously transmitting to the client a browser plug-in configured to intercept user input at the client side and display the corresponding hosting server's user interface in a Web browser at the client side if the user requests to use the desktop application for a first time; and

in response to the desktop application exit request, the desktop application service stops and exits the target desktop application on the corresponding hosting server.

7. The Web server according to claim 6 , wherein the desktop application service further comprises:

a request handler for receiving a request from the Web application and responding to it;

a session manager for maintaining and saving the user's session information;

a resource manager for performing resource allocation and release management on the one or more hosting servers;

a deployment controller for automatically installing a remote system on the one or more hosting servers, so as to prepare and provision the hosting server environment,

wherein, in response to the desktop application initialization request, the request handler checks the session manager to determine whether there is a hosting server running for the current session or not, and if not, then it requests the resource manager to determine, according to the target desktop application and its required operating system information, a matched hosting server from the one or more hosting servers as the corresponding hosting server,

in response to the desktop application exit request, the request handler asks the deployment controller to clear the corresponding hosting server and asks the resource manager to release the corresponding hosting server.

8. The Web server according to claim 7 , wherein the desktop application service further comprises a file controller capable of communicating with the corresponding hosting server to synchronize all files on the Web server and the corresponding hosting server during the desktop application interaction.

9. The Web server according to claim 6 , wherein the deployment controller stores the corresponding hosting server's image into a repository after exiting the target desktop application.

10. The Web server according to claim 6 , wherein, if said target desktop application has not been installed on the corresponding hosting server, the deployment controller installs an operation system required by the target desktop application on the corresponding hosting server as necessary, and installs the target desktop application, and wherein installation software for a plurality of desktop applications including the target desktop application and their operating systems is stored in a repository.

11. A computer system for converging a desktop application and a Web application stored in a non-transitory computer-readable storage medium, comprising:

a client with a Web browser installed thereon;

one or more hosting servers each including a terminal service for capturing the hosting server's user interface and a control agent for starting a desktop application on the hosting server;

a Web server capable of communicating with the client and the one or more hosting servers and including a Web application and a desktop application service,

wherein, the Web application generates a desktop application initialization request in response to a request for using a target desktop application from a user of the client through the Web browser, and generates a desktop application exit request in response to a request from the user of the client for ending the desktop application,

in response to the desktop application initialization request, the desktop application service starts a desktop application initializing process, determines an appropriate corresponding hosting server for the user, and prepares and provisions desktop application environment on it so that the control agent could start the target desktop application on the corresponding hosting server and the Web application could transmit the corresponding hosting server's address to the client, wherein a browser plug-in, configured to intercept user input at the client side and display the corresponding hosting server's user interface in a Web browser at the client side, is simultaneously transmitted to the client if the user requests to use the desktop application for a first time,

via the browser plug-in and the terminal service on the corresponding hosting server, the desktop application interaction is made between the client end and the corresponding hosting server, and

in response to the desktop application exit request, the desktop application service stops and exits the target desktop application on the corresponding hosting server.

12. The computer system according to claim 11 , wherein the Web server clears and releases the corresponding hosting server after the completion of the desktop application interaction.

13. The computer system according to claim 11 , further comprising:

an image repository for storing server images of hosting servers; and

a software repository for storing installation software for a plurality of desktop applications including the target desktop application and their required operating systems.

14. The computer system according to claim 13 , wherein the image repository and the software repository is the same repository.

15. The computer system according to claim 11 , wherein the one or more hosting servers are independent physical servers of different types, or virtual servers sharing the same physical server resource.

16. The computer system according to claim 11 , the desktop application service further comprises:

a request handler for receiving a request from the Web application and responding to it;

a session manager for maintaining and saving the user's session information;

a resource manager for performing resource allocation and release management on the one or more hosting servers;

a deployment controller for automatically install a remote system on the hosting servers, so as to prepare and provision the hosting server environment,

wherein, in response to the desktop application initialization request, the request handler checks the session manager to determine whether there is a hosting server running for the current session; and if not, it requests the resource manager to determine a matched hosting server from the one or more hosting servers as the corresponding hosting server according to the target desktop application and its required operation system information;

in response to the desktop application exit request, the request handler asks the deployment controller to clear the corresponding hosting server and asks the resource manager to release the corresponding hosting server.

17. The computer system according to claim 16 , wherein the control agent is also used to track modification or change of the files on the hosting servers and wherein the desktop application service also includes a file controller for communicating with the control agent to synchronize the files on the hosting server and the Web server during the desktop application interaction.

18. The computer system according to claim 11 , wherein the browser plug-in, the terminal service and/or the control agent can be implemented by any one of VNC, Windows remote desktop, XWindows or Java technologies.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2024
From: GREEN MARKET SQUARE LIMITED
To: WORKDAY, INC.
Reel/Frame 067801/0892 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: GREEN MARKET SQUARE LIMITED
To: WORKDAY, INC.
Reel/Frame 067556/0783 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: GREEN MARKET SQUARE LIMITED
Reel/Frame 055078/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2015
From: CHEN, YING; FANG, XING; QIU, JIE; WANG, QING BO; YE, MENG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036089/0878 →