System and method for executing a rental software program in distributed computing environment
First Claim
1. A system for renting a software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files called by the main executable file that are executed by the main executable file to implement the rental software program without the rental software program being installed on the user computer system, comprising:
- a user computer system including means for initially downloading the main executable file of the rental software program to begin execution of the rental software program and means, if an optional file is missing, for automatically requesting one or more optional files contained in the rental software program in order to continue execution of the rental software program using the optional files;
a server computer system for downloading the main executable file contained in the rental software program to be executed in said user computer system and means for automatically downloading the one or more optional files as requested by said user computer system;
wherein the user computer system further comprises a process manager means further comprising means for creating and running a process corresponding to the main executable file without installing the rental software program on the user computer system, means for suspending the process if the process requests one or more optional files, and means for re-starting the process if said process manager means receives the one or more optional files from said server computer system; and
wherein the process manager flushes the main executable file and the optional files of the rental software program from the user computer system so that the rental software program is removed from the user computer system when the rental is completed.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for executing a rental software program in a distributed computing environment is provided. The system enables the streaming of software applications to the client computer. It also enables the system calls of the software application to be intercepted and analyzed in order to determine when one or more optional files are needed. The system also suspends the operation of the software application during retrieval of the optional files from the server so that the software application does not crash and then restarts the software application once the optional files are retrieved. The system also protects the software application and its optional files from unwanted copying in that the system may remove all of the files from the client computer once the rental of the software application has been completed. Finally, the system also enables a software vendor to easily and quickly upload a new software application to the server so that client computers may rent the software application.
-
Citations
41 Claims
-
1. A system for renting a software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files called by the main executable file that are executed by the main executable file to implement the rental software program without the rental software program being installed on the user computer system, comprising:
-
a user computer system including means for initially downloading the main executable file of the rental software program to begin execution of the rental software program and means, if an optional file is missing, for automatically requesting one or more optional files contained in the rental software program in order to continue execution of the rental software program using the optional files; a server computer system for downloading the main executable file contained in the rental software program to be executed in said user computer system and means for automatically downloading the one or more optional files as requested by said user computer system; wherein the user computer system further comprises a process manager means further comprising means for creating and running a process corresponding to the main executable file without installing the rental software program on the user computer system, means for suspending the process if the process requests one or more optional files, and means for re-starting the process if said process manager means receives the one or more optional files from said server computer system; and wherein the process manager flushes the main executable file and the optional files of the rental software program from the user computer system so that the rental software program is removed from the user computer system when the rental is completed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for renting a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files called by the main executable file that are executed by the main executable file to implement the rental software program without the rental software program being installed on the user computer system, comprising:
-
performing a communication connection between a user computer system and a server computer system, wherein the user computer system is based on a user-transparent program install-free technology; displaying a list of rental software programs downloaded from the server computer system; selecting the rental software program in the list of rental software programs; downloading a main executable file associated with the rental software program from the server computer system to run a process corresponding to the main executable file without installing the rental software program on the user computer system and begin execution of the rental software program; and if the process needs one or more optional files, downloading the one or more optional files from the server computer system in order to continue execution of the rental software program using the optional files, further comprising monitoring the process in the file monitor in order to determine whether the process needs the one or more optional files; if the process needs the one or more optional files, hooking a message requesting the one or more optional files from process; suspending the process until the user computer system downloads the one or more optional files from the server computer system; if the user computer system downloads the one or more optional files from the server computer system, re-running the process; and wherein the process manager flushes the main executable file and the optional files of the rental software program from the user computer system so that the rental software program is removed from the user computer system when the rental is completed. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for servicing an install-free application in an online software rental system without the rental software program being installed on the client computer system, comprising:
-
getting a list of applications available for a rental service from a server computer system; establishing a rental session between a client computer system and the server computer system; fetching one or more application software from a plurality of application software stored in the server computer system; executing the one or more application software in the client computer system using a main executable file and one or more optional files, wherein the one or more application software include a main executable file and wherein executing the application software further comprises; creating a process corresponding to the main executable file; running the process without installing the main executable file on the client computer; monitoring additional requests to access related files from the process by message hooking and file monitoring while the process is running; if the process needs any related file, generating a message requesting one or more related files and transmitting the message to the server computer system to fetch the one or more related files based on an on-demand scheme; re-running the process after the one or more related files are delivered to the client computer system in order to incrementally execute the rental software program using the optional files; and if said prior step is complete, flushing the one or more application software rented from the server computer system so that the rental software program is removed from the client computer system when the rental is completed. - View Dependent Claims (15, 16)
-
-
17. A computer-readable media storing program instructions, the program instructions disposed on a computer to perform a method for renting a rental software program in a distributed computing environment without the rental software program being installed on the user computer system, wherein the rental software program includes a main executable file and optional files called by the main executable file that are executed by the main executable file to implement the rental software program, comprising the steps of:
-
establishing a communication connection between a user computer system and a server computer system, wherein the user computer system is based on a user-transparent program install-free technology; displaying a list of rental software programs downloaded from the server computer system; selecting the rental software program in the list of rental software programs; downloading a main executable file associated with the rental software program from the server computer system to run a process corresponding to the main executable file to begin executing the rental software program without installing the rental software program on the user computer system; if the process needs one or more optional files, downloading the one or more optional files from the server computer system in order to continue execution of the rental software program using the optional files; wherein downloading optional files further comprises monitoring the process in the file monitor in order to determine whether the process needs the one or more optional files;
if the process needs the one or more optional files, hooking a message requesting the one or more optional files from process;
suspending the process until the user computer system downloads the one or more optional files from the server computer system; and
if the user computer system downloads the one or more optional files from the server computer system, re-running the process; andflushing the main executable file and the optional files of the rental software program from the user computer system so that the rental software program is removed from the user computer system when the rental is completed. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A system for renting a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and one or more optional files called by the main executable file that are executed by the main executable file to implement the rental software program without the rental software program being installed on the system, comprising:
-
a first means for pulling the main executable file out of a server computer system to begin execution of the rental software program; a second means for pulling the one or more optional files out of the server computer system in order to continue execution of the rental software program using the optional files; a storage means for storing the main executable file and the one or more optional files pulled out of the server computer system; a process manager means for creating and running a process corresponding to the main executable file wherein the main executable file is not installed on the system;
suspending the process if the process requests the one or more optional files; and
re-running the process if said process manager means receives the one or more optional files;a monitor means for monitoring the process to determine whether the process requests the one or more optional files; and
hooking a message requesting the one or more optional files from the process; andmeans for flushing the main executable file and the optional files of the rental software program from the storage means so that the rental software program is removed from the system when the rental is completed. - View Dependent Claims (23, 24, 26, 27)
-
-
25. A system for providing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and one or more optional files called by the main executable file that are executed by the main executable file to implement the rental software program without the rental software program being installed on the user computer system, comprising:
-
a first means for pushing the main executable file into a user computer system to begin execution of the rental software program; a second means for pushing the one or more optional files into the user computer system in order to continue execution of the rental software program using the optional files; a storage means for storing the main executable file and the one or more optional files pulled out of the server computer system; a process manager means for creating and running a process corresponding to the main executable file without installing the rental software program on the user computer system;
suspending the process if the process requests the one or more optional files; and
re-running the process if said process manager means receives the one or more optional files;a monitor means for monitoring the process to determine whether the process requests the one or more optional files; and
hooking a message requesting the one or more optional files from the process; andmeans for flushing the main executable file and the optional files of the rental software program from the storage means so that the rental software program is removed from the user computer system when the rental is completed. - View Dependent Claims (28)
-
-
29. A system for renting a rental software program, wherein the system includes at least one client computer system and a server computer system and the rental software program includes a main executable file and one or more optional files called by the main executable file that are executed by the main executable file to implement the rental software program without the rental software program being installed on the user computer system, comprising:
-
a first means for pulling the main executable file into a user computer system to begin execution of the rental software program; a second means for pulling the one or more optional files into the user computer system in order to continue execution of the rental software program using the optional files; a storage means for storing the main executable file and the one or more optional files pulled out of the server computer system; a process manager means for creating and running a process corresponding to the main executable file without installing the rental software program on the user computer system;
suspending the process if the process requests the one or more optional files; and
re-running the process if said process manager means receives the one or more optional files;a monitor means for monitoring the process to determine whether the process requests the one or more optional files; and
hooking a message requesting the one or more optional files from the process; andmeans for flushing the main executable file and the optional files of the rental software program from the storage means so that the rental software program is removed from the user computer system when the rental is completed. - View Dependent Claims (30, 31, 32)
-
-
33. A server for renting a rental software program to a client computer without the rental software program being installed on the client computer, the server comprising:
-
means for storing a software program that is rentable by a user, the software program including a main executable file and one or more optional files called by the main executable file that are executed by the main executable file to implement the rental software program; means for downloading the main executable file in response to a user'"'"'s request to rent the software program and begin executing the rental software program; means for automatically streaming the one or more optional files associated with the main executable file down to the client computer when requested by the client computer in order to continue executing of the rental software program using the optional files, wherein the server implements an install fee, user transparent rental technique since the optional files are automatically downloaded to the client computer as needed; and the client computer further comprising a storage means for storing the main executable file and the one or more optional files pulled out of the server computer system; a process manager means for creating and running a process corresponding to the main executable file without installing the rental software program on the client computer;
suspending the process if the process requests the one or more optional files; and
re-running the process if said process manager means receives the one or more optional files;a monitor means for monitoring the process to determine whether the process requests the one or more optional files; and
hooking a message requesting the one or more optional files from the process; andmeans for flushing the main executable file and the optional files of the rental software program from the storage means so that the rental software program is removed from the client computer when the rental is completed. - View Dependent Claims (34, 35, 36, 37)
-
-
38. A client for renting a software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files without the rental software program being installed on the client, comprising:
-
means for requesting a rental software program from the server; means for receiving the main executable file of the software program from the server to begin executing of the rental software program; means for determining that an optional file is required by the main executable file, the optional file being called by the main executable file that are executed by the main executable file to implement the rental software program in order to continue execution of the rental software program using the optional files; means for requesting the optional file from the server; means for receiving the optional file; a storage means for storing the main executable file, the one or more optional files contained in the rental software program if downloaded and a list of optional files downloaded from said server computer system; a process manager means further comprising means for creating and running a process corresponding to the main executable file without installing the rental software program on the client, means for suspending the process if the process requests one or more optional files, and means for re-starting the process if said process manager means receives the one or more optional files from said server computer system; a monitor means for monitoring the process to determine whether the process requests the one or more optional files, and further comprising means for intercepting a message requesting the one or more optional files from the process, and means for automatically requesting the one or more optional files to said server computer system; and means for flushing the main executable file and the optional files of the rental software program from the storage means so that the rental software program is removed from the client when the rental is completed. - View Dependent Claims (39, 40, 41)
-
Specification