EP1163599A1 - Software rental system in distributed networks - Google Patents

Software rental system in distributed networks

Info

Publication number
EP1163599A1
EP1163599A1 EP00902996A EP00902996A EP1163599A1 EP 1163599 A1 EP1163599 A1 EP 1163599A1 EP 00902996 A EP00902996 A EP 00902996A EP 00902996 A EP00902996 A EP 00902996A EP 1163599 A1 EP1163599 A1 EP 1163599A1
Authority
EP
European Patent Office
Prior art keywords
computer system
server computer
user computer
optional files
software program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP00902996A
Other languages
German (de)
French (fr)
Other versions
EP1163599A4 (en
Inventor
Dong-Ho Song
Jai-Wan Ahn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Softonnet Co Ltd
Original Assignee
Softonnet Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Softonnet Co Ltd filed Critical Softonnet Co Ltd
Publication of EP1163599A1 publication Critical patent/EP1163599A1/en
Publication of EP1163599A4 publication Critical patent/EP1163599A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Definitions

  • the present invention relates to a system and method for executing a rental software program in a distributed computing environment; and, more particularly, to a system and method for executing a rental software program in a distributed computing environment, which includes a user computer system and a server computer system, wherein the user computer system optionally requests one or more optional files associated with the rental software program to the server computer system and the server computer system provides the one or more optional files requested to the user computer system.
  • a conventional user computer system installs a software program in a storage device.
  • the conventional user computer system reads the primitive codes of the software program from a CD-ROM, a diskette or a server .computer system.
  • the primitive codes of the software program are stored in a system directory, e.g., a Microsoft WindowsTM directory in a Microsoft WindowsTM system provided by Microsoft Corporation, and a user directory.
  • the system directory and the user directory have path information associated with software program files.
  • software program-files may be made up of a main executable file, auxiliary executable files, registry files and other files of *.dll, *.hlp and etc in a
  • the conventional user computer system needs a large storage space to store desirable software programs in the storage device .
  • the conventional user computer system should install the various software programs. Also, in case where the desirable software program is upgraded or updated, the upgraded or updated software program should be installed in the conventional user computer system.
  • the conventional user computer system copies or downloads software program files from the server computer system as a remote computer system in order to execute a software program.
  • the conventional user computer system may need a specific software program file except for the copied or downloaded software program files. If the conventional user computer system has not the specific program file, the conventional user computer system can not execute the software program.
  • an object of the present invention to provide a system for executing a rental software program in a distributed computing environment capable of reducing both a storage space of a user computer system and a start-up time of the program, which employs program files associated with the rental software program provided by a server .
  • computer system with an on-demand scheme and a user-transparent program install-free technology.
  • a system for executing a rental software program in a distributed computing environment wherein the rental software program includes a main executable file and optional files, comprising: a user computer system based on a user-transparent program install-free technology for selecting a desirable rental software program in a list of rental software programs to download the main executable file contained in the desirable rental software program and optionally requesting one or more optional files contained in the desirable rental software program; and a server computer system for providing the list of rental software programs, the main executable file contained in the desirable rental software program selected by said user computer system and the one or more optional files optionally requested from said user computer system, when a communication connection between said server computer system and said user computer system is accomplished.
  • a method for executing a rental software program in a distributed computing environment comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting a desirable rental software program in the list of rental software programs; d) downloading a main executable file associated with the desirable rental software program from the server computer system to run a process corresponding to the main executable file; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.
  • a method for servicing an install-free application in an online software rental system comprising the steps of: a) getting a list of applications available for a rental service from a server computer system; b) establishing a rental session between a client computer system and the server computer system; c) fetching one or more application software from a plurality of application software stored in the server computer system; d) executing the one or more application software in the client computer system; and e) if said step d) is complete, flushing the one or more application software rented from the server computer system.
  • a computer-readable medium for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting a desirable rental software program in the list of rental software programs; d) downloading amain executable file associated with the desirable rental software program from the server computer system to run a process corresponding to the main executable file; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.
  • FIG. 1 is a block diagram illustrating a system for executing a rental software program in a distributed computing environment in accordance with the present invention
  • Fig. 2 is a block diagram depicting a user computer system shown in Fig. 1;
  • Fig. 3 is a block diagram describing a server computer system shown in Fig. 1;
  • Fig. 4 is a flowchart showing a method for executing a rental software program in a distributed computing environment in accordance with the present invention
  • Figs. 5A and 5B are flowcharts illustrating the procedure of running a process shown in Fig. 4;
  • Fig. 6 is a flowchart depicting the procedure of accompanying a process completion shown in Fig. 4;
  • Fig. 7 is an exemplary diagram describing a list of rental software programs displayed in a server computer system shown in Fig. 1;
  • Fig. 8 is an exemplary diagram describing a list of rental software programs displayed in a user computer system shown in Fig. 1.
  • FIG. 1 there is shown a block diagram illustrating a system as an online software rental system for executing a rental software program in a distributed computing environment in accordance with the present invention.
  • the rental program includes a main executable file and optional files, which are optionally requested from a user computer system 10. Further, the optional files include a registry file .
  • the 'rental software program means an application software or program rented from a server computer system to a user computer system based on a user-transparent program install-free technology.
  • An online software rental service can be employed with Internet.
  • the system includes a user computer system 10, a user network device 12 as a client computer system, a server network device 14 and a server computer system 16, wherein the user computer system 10 is based on a user-transparent program install-free technology.
  • the user computer system 10 can select a desirable rental software program in a list of rental software programs downloaded from the server computer system 16.
  • the user computer system 10 downloads a main executable file to create and run a process corresponding to the main executable file.
  • the user computer system 10 requests the one or more optional files contained in the rental software program to the server computer system 16 via the user network device 12. Further, the user computer system 10 may fetch the one or more optional files contained in the rental software program in the server computer system 16.
  • the server computer system 16 provides the one or more program files contained in the rental software program to the user computer system 10 via the server network device 14.
  • the server computer system 16 manages the one or more optional files contained in the rental software program. Referring to Fig. 2, there is shown a block diagram depicting a user computer system 10 shown in Fig. 1.
  • the user computer system 10 includes an interface block 200, a rental software program manager 202, a process manager 204, a storage device 205, a billing information database 206, a file monitor 208 and a protector 210.
  • the interface block 200 is interfaced between the user computer system 10 and the user network device 12 shown in Fig. 1. For example, the interface block 200 outputs a message requesting one or more optional files contained in a rental software program to a server computer system 16 via the user network device 12 and a server network device 14 shown in Fig. 1. Further, The interface block 200 receives the one or more optional files from the server computer system 16.
  • the user computer system 10 When a communication connection between the user computer system 10 and the server computer system 16 is accomplished, the user computer system 10 receives a list of rental software programs from the server computer system 16. The user computer system 10 selects a desirable rental software program in the list of rental software programs by using a selection device (not shown) . Then, the user computer system 10 receives a main executable file and a list of optional files contained in the selected rental software program from the server computer system 16.
  • the rental software program manager 202 converts registry file information contained in the list of optional files into registry file information appropriate to the user computer system 10.
  • the process manager 204 creates and runs a process corresponding to the main executable file contained in the selected rental software program. If the process needs the one or more optional files, the process manager 204 suspends the process until the process manager 204 receives the one or more optional files from the server computer system 16.
  • the storage device 205 stores the main executable file, the one or more optional files and the list of optional files. Further, when the process is complete, the main executable file and the one or more optional files stored in the storage device 205 are flushed by the process manager 204.
  • the billing information database 206' stores billing information associated with a billing start time and a billing end time and a name of the rental software program selected by the user computer system 10. Further, the user computer system 10 sends the billing information associated with the billing start time and the billing end time to the server computer system 16.
  • the file monitor 208 monitors the process to determine whether the process needs the one or more optional files during the process is running. If the process needs the one or more optional files during the process is running, the file monitor 208 hooks a message requesting the one or more optional files from the process. The file monitor 208 requests the one or more optional files to the server computer system 16.
  • the protector 210 protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system 10. Referring to Fig.
  • the server computer system 16 includes an interface block 300, a user verification module 301, a user-information database 302, a billing module 303, a log database 304, a transmission control module 305, a central processing unit 306, a rental software program-information database 307, a rental software program analyzer 308, a storage device 309 and a schedule manager 310 and a session manager 311.
  • the interface block 300 is interfaced between the server computer system 16 and the server network device 14 shown in Fig. 1. For example, the interface block 300 receives a message requesting one or more optional files associated with a rental software program from a user computer system 10 via the server network device 14 as shown in Fig. 1. Further, the interface block 300 outputs the one or more optional files requested from the user computer system 10 to the server computer system 16.
  • the user verification module 301 verifies the user computer system 10 or a user by using identification information of the user computer system 10 or the user stored in the user- information database 302.
  • the user-information database 302 stores the identification information of the user computer system 10 and billing information of the user computer system 10.
  • the billing module 303 processes charge or fee to be paid for the usage of the main executable file and the one or more optional files contained in the rental software program provided from the server computer system 16 to the user computer system 10.
  • the log database 304 stores information, e.g., a log file, necessary for recovering the server computer system 16 when the server computer system 16 is not operable due to a serious error.
  • the transmission control module 305 obtains the one or more optional files from the storage device 309. After the transmission control module 305 obtains the one or more optional files, the transmission control module 305 transmits the one or more optional files via the session manager 311 to the user computer system 10.
  • the central processing unit 306 informs other components whether user verification and billing are successful or not. Further, when the server computer system 16 is not operable due to the serious error, the central processing unit 306 recovers the server computer system 16 by using the log file stored in the log database 304.
  • the rental software program-information database 307 stores the path information of main executable files associated with rental software programs, a list of . rental software programs as main executable files and a list of optional files associated with a corresponding rental software program.
  • the rental software program analyzer 308 analyzes a new rental software program. Then, the rental software program analyzer 308 stores the path information of a main executable file and a list of optional files, associated with the new rental software program, in the rental software program-information database 307.
  • the storage device 309 stores the main executable file and the one or more optional files associated with the rental software program corresponding to the path information.
  • the schedule manager 310 manages a schedule of requests from the user computer system and other user computer systems (not shown) .
  • the session manager 311 manages a communication session between the user computer system 10 and the server computer system 16.
  • the rental software program includes a main executable file and one or more optional files including a registry file.
  • a communication connection between a user computer system and a server computer system is accomplished.
  • a user verification module contained in the server computer system verifies the user computer system or a user by using identification information of the user computer system or the user stored in a user-information database contained in the server computer system.
  • the user computer system displays a list of rental software programs downloaded from the server computer system, e.g., a rental software program-information database contained in the server computer system.
  • the user computer system selects a desirable rental software program in the list of rental software programs .
  • the user computer system downloads a main executable file and a list of optional files associated with the desirable rental software program from the server computer system.
  • a process manager contained in the user computer system creates and runs a process corresponding to the main executable file.
  • step S470 if the process has been complete, a procedure accompanying a process completion is performed.
  • step S480 it is determined whether the user computer system wants to select another rental software program.
  • step S490 if the user computer system does not want to select another rental software program, the user computer system terminates the communication with the server computer system. On the other hand, if the user computer system wants to select another rental software program, the steps S430 and S490 are repeated.
  • FIG. 5A and 5B there are shown flowcharts illustrating the procedure of running a process shown in Fig. 4.
  • the user computer system downloads a main executable file and a list of optional files from the server computer system.
  • a rental software program manager contained in the user computer system converts registry file information contained in the list of optional files into registry file information appropriate to the user computer system.
  • the user computer system runs a file monitor and a protector, which protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system.
  • a billing information database contained in the user computer system stores a name of a rental software program selected by the user computer system and a billing start time.
  • the user computer system informs the server computer system of the billing start time.
  • a user-information database contained in the server computer system stores information of the billing start time from the user computer system.
  • a process manager contained in the user computer system creates and runs a process corresponding to the main executable file.
  • the file monitor monitors the process to determine whether the process needs one or more files. Further the file monitor hooks a message requesting one or more optional files from the process to request the one or more optional files to the server computer system by using an on-demand scheme.
  • step S448 it is determined whether the user computer system has the one or more optional files requested.
  • step S449 if the user computer system has the one or more optional files requested, the process manager re-runs the process with the one or more optional files existing in the user computer system.
  • step S450 if the user computer system has not the one or more optional files, the process manager suspends the process.
  • the process manger downloads the one or more optional files from the server computer system.
  • the server computer system sends the one or more optional files stored in a storage device of the server computer system to the user computer system via a session manager.
  • step S452 the process manager re-runs the process with the one or more optional files downloaded from the server computer system.
  • FIG. 6 there is shown a flowchart depicting the procedure of accompanying a process completion shown in Fig. 4.
  • step S471 if the process has been complete, the user computer system terminates the file monitor and the protector.
  • the user computer system stores a billing end time in the billing information database.
  • the user computer system informs the server computer system of the billing end time.
  • the server computer system stores information of the billing end time in the user-information database.
  • a billing module contained in the server computer system processes charge or fee to be paid for the usage of the main executable file and the one or more optional files contained in the rental software program provided from the server computer system to the user computer system.
  • the user computer system flushes the main executable file and the one or more optional files stored in the storage device of the user computer system.
  • the method for executing the rental software program in the distributed computing environment in accordance with the present invention can be stored in a computer-readable medium, e.g. an optical disk, a hard disk and so on.
  • a computer-readable medium e.g. an optical disk, a hard disk and so on.
  • Fig. 7 there is shown an exemplary diagram describing a list of rental software programs displayed in a server computer system shown in Fig. 1.
  • the list of rental software programs includes rental software programs of Winword.exe, Powerpnt.exe, Excel.exe, Photoshp.exe and AcroRd32.exe as shown in Fig. 7.
  • Fig. 8 there is shown an exemplary diagram describing a list of rental software programs displayed in a user computer system shown in Fig. 1.
  • the list of rental software programs includes rental software programs of MS word, MS PowerPoint, MS Excel, Adobe PhotoShop, Winamp and ACDSee-graphic Viewer as shown in Fig. 8.

Abstract

A method for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, includes the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting a desirable rental software program in the list of rental software programs; d) downloading a main executable file associated with the desirable rental software program from the server computer system to run a process corresponding to the main executable file; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.

Description

SOFTWARE RENTAL SYSTEM IN DISTRIBUTED NETWORKS
Description
Technical Field
The present invention relates to a system and method for executing a rental software program in a distributed computing environment; and, more particularly, to a system and method for executing a rental software program in a distributed computing environment, which includes a user computer system and a server computer system, wherein the user computer system optionally requests one or more optional files associated with the rental software program to the server computer system and the server computer system provides the one or more optional files requested to the user computer system.
Backgroun Art
Generally, a conventional user computer system installs a software program in a storage device. The conventional user computer system reads the primitive codes of the software program from a CD-ROM, a diskette or a server .computer system.
The primitive codes of the software program are stored in a system directory, e.g., a Microsoft Windows™ directory in a Microsoft Windows™ system provided by Microsoft Corporation, and a user directory. The system directory and the user directory have path information associated with software program files. For example, software program-files may be made up of a main executable file, auxiliary executable files, registry files and other files of *.dll, *.hlp and etc in a
Windows™ operating system.
The conventional user computer system needs a large storage space to store desirable software programs in the storage device .
In case where the conventional user computer system employs various software programs, the conventional user computer system should install the various software programs. Also, in case where the desirable software program is upgraded or updated, the upgraded or updated software program should be installed in the conventional user computer system.
Typically, the conventional user computer system copies or downloads software program files from the server computer system as a remote computer system in order to execute a software program. At this time, the conventional user computer system may need a specific software program file except for the copied or downloaded software program files. If the conventional user computer system has not the specific program file, the conventional user computer system can not execute the software program.
Disclosure of Invention It is, therefore, an object of the present invention to provide a system for executing a rental software program in a distributed computing environment capable of reducing both a storage space of a user computer system and a start-up time of the program, which employs program files associated with the rental software program provided by a server .computer system, with an on-demand scheme and a user-transparent program install-free technology.
It is another object of the present invention to provide a method for executing a rental software program in a distributed computing environment capable of reducing both a storage space of a user computer system and a start-up time of the program, which employs program files associated with the rental software program provided by a server computer system, with an on-demand scheme and a user transparent program install-free technology. It is further another object of the present invention to provide a computer-readable medium for executing a rental software program in a distributed computing environment capable of reducing both a storage space of a user computer system and a start-up time of the program, which employs program files associated with the rental software program provided by a server computer system, with an on-demand scheme and a user-transparent program install-free technology.
In accordance with one aspect of the present invention, there is provided a system for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising: a user computer system based on a user-transparent program install-free technology for selecting a desirable rental software program in a list of rental software programs to download the main executable file contained in the desirable rental software program and optionally requesting one or more optional files contained in the desirable rental software program; and a server computer system for providing the list of rental software programs, the main executable file contained in the desirable rental software program selected by said user computer system and the one or more optional files optionally requested from said user computer system, when a communication connection between said server computer system and said user computer system is accomplished.
In accordance with an embodiment of another aspect of the present invention, there is provided a method for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting a desirable rental software program in the list of rental software programs; d) downloading a main executable file associated with the desirable rental software program from the server computer system to run a process corresponding to the main executable file; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system. In accordance with another embodiment of another aspect of the present invention, there is provided a method for servicing an install-free application in an online software rental system, comprising the steps of: a) getting a list of applications available for a rental service from a server computer system; b) establishing a rental session between a client computer system and the server computer system; c) fetching one or more application software from a plurality of application software stored in the server computer system; d) executing the one or more application software in the client computer system; and e) if said step d) is complete, flushing the one or more application software rented from the server computer system.
In accordance with further another aspect of the present invention, there is provided a computer-readable medium for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting a desirable rental software program in the list of rental software programs; d) downloading amain executable file associated with the desirable rental software program from the server computer system to run a process corresponding to the main executable file; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.
Brief Description of Drawings
The above and other objects and features of the instant invention will become apparent from the following description of preferred embodiments taken in conjunction with the accompanying drawings, in which: Fig. 1 is a block diagram illustrating a system for executing a rental software program in a distributed computing environment in accordance with the present invention;
Fig. 2 is a block diagram depicting a user computer system shown in Fig. 1;
Fig. 3 is a block diagram describing a server computer system shown in Fig. 1;
Fig. 4 is a flowchart showing a method for executing a rental software program in a distributed computing environment in accordance with the present invention;
Figs. 5A and 5B are flowcharts illustrating the procedure of running a process shown in Fig. 4;
Fig. 6 is a flowchart depicting the procedure of accompanying a process completion shown in Fig. 4;
Fig. 7 is an exemplary diagram describing a list of rental software programs displayed in a server computer system shown in Fig. 1; and
Fig. 8 is an exemplary diagram describing a list of rental software programs displayed in a user computer system shown in Fig. 1.
Best Mode for Carrying out the Invention
Referring to Fig. 1, there is shown a block diagram illustrating a system as an online software rental system for executing a rental software program in a distributed computing environment in accordance with the present invention. The rental program includes a main executable file and optional files, which are optionally requested from a user computer system 10. Further, the optional files include a registry file . The 'rental software program" means an application software or program rented from a server computer system to a user computer system based on a user-transparent program install-free technology. An online software rental service can be employed with Internet.
As shown, the system includes a user computer system 10, a user network device 12 as a client computer system, a server network device 14 and a server computer system 16, wherein the user computer system 10 is based on a user-transparent program install-free technology. When a communication connection between the user computer system 10 and the server computer system 16 is accomplished, the user computer system 10 can select a desirable rental software program in a list of rental software programs downloaded from the server computer system 16.
The user computer system 10 downloads a main executable file to create and run a process corresponding to the main executable file. When the process needs one or more optional files, the user computer system 10 requests the one or more optional files contained in the rental software program to the server computer system 16 via the user network device 12. Further, the user computer system 10 may fetch the one or more optional files contained in the rental software program in the server computer system 16. The server computer system 16 provides the one or more program files contained in the rental software program to the user computer system 10 via the server network device 14. The server computer system 16 manages the one or more optional files contained in the rental software program. Referring to Fig. 2, there is shown a block diagram depicting a user computer system 10 shown in Fig. 1. The user computer system 10 includes an interface block 200, a rental software program manager 202, a process manager 204, a storage device 205, a billing information database 206, a file monitor 208 and a protector 210.
The interface block 200 is interfaced between the user computer system 10 and the user network device 12 shown in Fig. 1. For example, the interface block 200 outputs a message requesting one or more optional files contained in a rental software program to a server computer system 16 via the user network device 12 and a server network device 14 shown in Fig. 1. Further, The interface block 200 receives the one or more optional files from the server computer system 16.
When a communication connection between the user computer system 10 and the server computer system 16 is accomplished, the user computer system 10 receives a list of rental software programs from the server computer system 16. The user computer system 10 selects a desirable rental software program in the list of rental software programs by using a selection device (not shown) . Then, the user computer system 10 receives a main executable file and a list of optional files contained in the selected rental software program from the server computer system 16.
The rental software program manager 202 converts registry file information contained in the list of optional files into registry file information appropriate to the user computer system 10.
The process manager 204 creates and runs a process corresponding to the main executable file contained in the selected rental software program. If the process needs the one or more optional files, the process manager 204 suspends the process until the process manager 204 receives the one or more optional files from the server computer system 16.
The storage device 205 stores the main executable file, the one or more optional files and the list of optional files. Further, when the process is complete, the main executable file and the one or more optional files stored in the storage device 205 are flushed by the process manager 204.
The billing information database 206' stores billing information associated with a billing start time and a billing end time and a name of the rental software program selected by the user computer system 10. Further, the user computer system 10 sends the billing information associated with the billing start time and the billing end time to the server computer system 16. The file monitor 208 monitors the process to determine whether the process needs the one or more optional files during the process is running. If the process needs the one or more optional files during the process is running, the file monitor 208 hooks a message requesting the one or more optional files from the process. The file monitor 208 requests the one or more optional files to the server computer system 16. The protector 210 protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system 10. Referring to Fig. 3, there is shown a block diagram describing a server computer system 16 shown in Fig.1. As shown, the server computer system 16 includes an interface block 300, a user verification module 301, a user-information database 302, a billing module 303, a log database 304, a transmission control module 305, a central processing unit 306, a rental software program-information database 307, a rental software program analyzer 308, a storage device 309 and a schedule manager 310 and a session manager 311.
The interface block 300 is interfaced between the server computer system 16 and the server network device 14 shown in Fig. 1. For example, the interface block 300 receives a message requesting one or more optional files associated with a rental software program from a user computer system 10 via the server network device 14 as shown in Fig. 1. Further, the interface block 300 outputs the one or more optional files requested from the user computer system 10 to the server computer system 16.
When a communication connection between the user computer system 10 and the server computer system 16 is accomplished, the user verification module 301 verifies the user computer system 10 or a user by using identification information of the user computer system 10 or the user stored in the user- information database 302.
The user-information database 302 stores the identification information of the user computer system 10 and billing information of the user computer system 10.
The billing module 303 processes charge or fee to be paid for the usage of the main executable file and the one or more optional files contained in the rental software program provided from the server computer system 16 to the user computer system 10.
The log database 304 stores information, e.g., a log file, necessary for recovering the server computer system 16 when the server computer system 16 is not operable due to a serious error. When the user computer system 10 requests the one or more optional files to the server computer system 16, the transmission control module 305 obtains the one or more optional files from the storage device 309. After the transmission control module 305 obtains the one or more optional files, the transmission control module 305 transmits the one or more optional files via the session manager 311 to the user computer system 10.
The central processing unit 306 informs other components whether user verification and billing are successful or not. Further, when the server computer system 16 is not operable due to the serious error, the central processing unit 306 recovers the server computer system 16 by using the log file stored in the log database 304.
The rental software program-information database 307 stores the path information of main executable files associated with rental software programs, a list of . rental software programs as main executable files and a list of optional files associated with a corresponding rental software program.
When a new rental software program is installed in the server computer system 16, the rental software program analyzer 308 analyzes a new rental software program. Then, the rental software program analyzer 308 stores the path information of a main executable file and a list of optional files, associated with the new rental software program, in the rental software program-information database 307.
The storage device 309 stores the main executable file and the one or more optional files associated with the rental software program corresponding to the path information.
The schedule manager 310 manages a schedule of requests from the user computer system and other user computer systems (not shown) . The session manager 311 manages a communication session between the user computer system 10 and the server computer system 16.
Referring to Fig. 4, there is shown a flowchart showing a method for executing a rental software program in a distributed computing environment in accordance with the present invention. The rental software program includes a main executable file and one or more optional files including a registry file.
As shown, at step S400, a communication connection between a user computer system and a server computer system is accomplished. At step S410, it is determined whether the user computer system has succeeded in user verification. At this time, a user verification module contained in the server computer system verifies the user computer system or a user by using identification information of the user computer system or the user stored in a user-information database contained in the server computer system.
At step S420, if the user computer system is verified, the user computer system displays a list of rental software programs downloaded from the server computer system, e.g., a rental software program-information database contained in the server computer system.
At step S430, the user computer system selects a desirable rental software program in the list of rental software programs .
At step S440, the user computer system downloads a main executable file and a list of optional files associated with the desirable rental software program from the server computer system. At this time, a process manager contained in the user computer system creates and runs a process corresponding to the main executable file. At step S460, it is determined whether the process has been complete.
At step S470, if the process has been complete, a procedure accompanying a process completion is performed.
At step S480, it is determined whether the user computer system wants to select another rental software program.
At step S490, if the user computer system does not want to select another rental software program, the user computer system terminates the communication with the server computer system. On the other hand, if the user computer system wants to select another rental software program, the steps S430 and S490 are repeated.
Referring to Figs. 5A and 5B, there are shown flowcharts illustrating the procedure of running a process shown in Fig. 4.
As shown, at step S441, the user computer system downloads a main executable file and a list of optional files from the server computer system.
At step S442, a rental software program manager contained in the user computer system converts registry file information contained in the list of optional files into registry file information appropriate to the user computer system.
At step S443, the user computer system runs a file monitor and a protector, which protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system.
At step S444, a billing information database contained in the user computer system stores a name of a rental software program selected by the user computer system and a billing start time. At step S445, the user computer system informs the server computer system of the billing start time. Further, a user-information database contained in the server computer system stores information of the billing start time from the user computer system. At step S446, a process manager contained in the user computer system creates and runs a process corresponding to the main executable file.
At step S447, the file monitor monitors the process to determine whether the process needs one or more files. Further the file monitor hooks a message requesting one or more optional files from the process to request the one or more optional files to the server computer system by using an on-demand scheme.
At step S448, it is determined whether the user computer system has the one or more optional files requested.
At step S449, if the user computer system has the one or more optional files requested, the process manager re-runs the process with the one or more optional files existing in the user computer system.
At step S450, if the user computer system has not the one or more optional files, the process manager suspends the process.
At step S451, the process manger downloads the one or more optional files from the server computer system. At this time, the server computer system sends the one or more optional files stored in a storage device of the server computer system to the user computer system via a session manager.
At step S452, the process manager re-runs the process with the one or more optional files downloaded from the server computer system.
Referring to Fig. 6, there is shown a flowchart depicting the procedure of accompanying a process completion shown in Fig. 4.
At step S471, if the process has been complete, the user computer system terminates the file monitor and the protector.
At step S472, the user computer system stores a billing end time in the billing information database.
At step S473, the user computer system informs the server computer system of the billing end time. The server computer system stores information of the billing end time in the user-information database. A billing module contained in the server computer system processes charge or fee to be paid for the usage of the main executable file and the one or more optional files contained in the rental software program provided from the server computer system to the user computer system.
At step S474, the user computer system flushes the main executable file and the one or more optional files stored in the storage device of the user computer system. The method for executing the rental software program in the distributed computing environment in accordance with the present invention can be stored in a computer-readable medium, e.g. an optical disk, a hard disk and so on. Referring to Fig. 7, there is shown an exemplary diagram describing a list of rental software programs displayed in a server computer system shown in Fig. 1. For example, the list of rental software programs includes rental software programs of Winword.exe, Powerpnt.exe, Excel.exe, Photoshp.exe and AcroRd32.exe as shown in Fig. 7.
Referring to Fig. 8, there is shown an exemplary diagram describing a list of rental software programs displayed in a user computer system shown in Fig. 1. For example, the list of rental software programs includes rental software programs of MS word, MS PowerPoint, MS Excel, Adobe PhotoShop, Winamp and ACDSee-graphic Viewer as shown in Fig. 8.
Although the preferred embodiments of the invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims .

Claims

Claims
1. A system for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising: a user computer system based on a user-transparent program install-free technology for selecting a desirable rental software program in a list of rental software programs to download the main executable file contained in the desirable rental software program and optionally requesting one or more optional files contained in the desirable rental software program; and a server computer system for providing the list of rental software programs, the main executable file contained in the desirable rental software program selected by said user computer system and the one or more optional files optionally requested from said user computer system, when a communication connection between said server computer system and said user computer system is accomplished.
2. The system as recited in claim 1, wherein said user computer system includes: a storage means for storing the main executable file, the one or more optional files contained in the desirable rental software program and a list of optional files downloaded from said server computer system; a process manager means for creating and running a process corresponding to the main executable file;' 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 from said server computer system; and a monitor means for monitoring the process to determine whether the process requests the one or more optional files and hook a message requesting the one or more optional files from the process; and requesting the one or more optional files to said server computer system by using an on-demand scheme.
3. The system as recited in claim 2, wherein the list of optional files is sent from said the server computer system when the main executable file is sent from said server computer system, wherein the optional files includes a registry file.
4. The system as recited in claim 3, wherein said user computer system further includes: a protection means for protecting the rental software program rented from said server computer system to prevent an unauthorized use committed by said user computer system; a converting means for converting registry file information contained in the list of optional files into registry file information appropriate to said user computer system; and a billing database for storing billing information.
5. The system as recited in claim 4, wherein the billing information includes a billing start time, a-billing end time and a name of the rental software program selected by said user computer system.
6. The system as recited in claim 5, wherein said process manager means flushes the main executable file and the one or more optional files stored in said storage means when the process is complete.
7. The system as recited in claim 1, wherein said server computer system includes: a verification means for verifying said user computer system by using identification information of said user computer system stored in a user-information database; a program database for storing path information of the main executable file, a list of rental software programs and a list of the optional files; a analyzing means for analyzing a new' rental software program when the new rental software program is installed in said server computer system, wherein said analyzing means stores the path information of the main executable file and a list of the optional files, associated with the new rental software program, in said database; a storage means for storing the main executable file and the one or more optional files; and a means for obtaining and sending the main executable file stored in said storage means when said user computer system selects the desirable rental software program; and obtaining and sending the one or more optional files stored in said storage means when said user computer system optionally requests the one or more optional files to said server computer system.
8. The system as recited in claim 7, wherein said server computer system further includes: a billing means for processing charge or fee to be paid for the usage of the main executable file and the one or more optional files associated with the rental software program provided to said user computer system; a log database for storing a log file necessary for recovering said server computer system when said server computer system is not operable due to a serious error; a recovery means for recovering said server computer system by using the log file stored in said log database when said server computer system is not operable due to the serious error; a schedule management means for managing a schedule of requests from said user computer system and another user computer system; and a session management means for managing a communication session between said user computer system and said server computer system.
9. The system as recited in claim 8, wherein the list of optional files is sent to said the user computer system when the main executable file is sent to said user computer system, wherein the optional files includes a registry file.
10. A method for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting a desirable rental software program in the list of rental software programs; d) downloading a main executable file associated with the desirable rental software program from the server computer system to run a process corresponding to the main executable file; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.
11. The method as recited in claim 10, wherein said step a) includes the steps of: al) performing the communication connection between the user computer system and the server computer system; and a2) verifying the user computer system in the server computer system.
12. The method as recited in claim 10, wherein said step d) includes the steps of: dl) downloading the main executable file and a list of optional files from the server computer system, wherein the optional files include a registry file; d2) converting registry file information contained in the list of optional files into registry file information appropriate to the user computer system; d3) running a file monitor and a protector, which protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system; d4) storing a name of the rental software program selected by the user computer system and a billing start time in a billing information database of the user computer system; d5) informing the server computer system of the billing start time; and dβ) creating and running the process corresponding to the main executable file.
13. The method as recited in claim 12, wherein said step e) includes the steps of: el) monitoring the process in the file monitor in order to determine whether the process needs the one or more optional files; e2) if the process needs the one or more optional files, hooking a message requesting the one or more optional files from process; e3) suspending the process until the user computer system downloads the one or more optional files from the server computer system; and e4) if the user computer system downloads the one or more optional files from the server computer system, re-running the process .
14. The method as recited in claim 11, wherein said step e4) further includes the steps of: e4-a) determining whether the process has been complete; e4-b) if the process has been complete, performing a procedure accompanying a process completion; e4-c) determining whether the user computer system wants to select another rental software program; e4-d) if the user computer system wants to select the another rental software program, repeating said steps c) to e4-d) ; and e4-e) if the user computer system does not want to select the another rental software program, cerminates the communication connection between the user computer system and the server computer system.
15. The method as recited in claim 14, wherein said step e4-b) includes the steps of: e4-bl) if the process has been complete, terminating the file monitor and the protector; e4-b2) storing a billing end time in the billing information database of the user computer system; e4-b3) informing the server computer system of the billing end time; and e4-b4) flushing the main executable file and the one or more optional files stored in the storage device of the user computer system.
16. A method for servicing an install-free application in an online software rental system, comprising the steps of: a) getting a list of applications available for a rental service from a server computer system; b) establishing a rental session between a client computer system and the server computer system; c) fetching one or more application software from a plurality of application software stored in the server computer system; d) executing the one or more application software in the client computer system; and e) if said step d) is complete, flushing the one or more application software rented from the server computer system.
17. The method as recited in claim 16, wherein the list of applications contained in said step a) is established on Internet .
18. The method as recited in claim 16, wherein the one or more application software contained in said .step c) includes a main executable file.
19. The method as recited in claim 16, wherein the one or more application software contained in said step c) is authorized by the server computer system.
20. The method as recited in claim 18, wherein said step d) includes the steps of: dl) creating a process corresponding to the main executable file; d2) running the process; d3) monitoring additional requests to access related files from the process by message hooking and file monitoring while the process is running; d4) 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; and d5) re-running the process after the one or more related files are delivered to the client computer system.
21. A computer-readable medium for executing a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting a desirable rental software program in the list of rental software programs; d) downloading a main executable file associated with the desirable rental software program from the server computer system to run a process corresponding to the main executable file; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.
22. The computer-readable medium as recited in claim 21, wherein said step a) includes the steps of: al) performing the communication connection between the user computer system and the server computer system; and a2) verifying the user computer system in the server computer system.
23. The computer-readable medium as recited in claim 21, wherein said step d) includes the steps of: dl) downloading the main executable file and a list of optional files from the server computer system, wherein the optional files include a registry file; d2) converting registry file information contained in the list of optional files into registry file information appropriate to the user computer system; d3) running a file monitor and a protector, which protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system; d4) storing a name of the rental software program selected by the user computer system and a billing start time in a billing information database of the user computer system; d5) informing the server computer system of the billing start time; and d6) creating and running the process corresponding to the main executable file.
24. The computer-readable medium as recited in claim 23, wherein said step e) includes the steps of: el) monitoring the process in the file monitor in order to determine whether the process needs the one or more optional files; e2) if the process needs the one or more optional files, hooking a message requesting the one or more optional files from process; e3) suspending the process until the user computer system downloads the one or more optional files from the server computer system; and e4) if the user computer system downloads the one or more optional files from the server computer system, re-running the process.
25. The computer-readable medium as recited in claim 22, wherein said step e4) further includes the steps of: e4-a) determining whether the process has been complete; e4-b) if the process has been complete, performing a procedure accompanying a process completion; e4-c) determining whether the user computer system wants to select another rental software program; e4-d) if the user computer system wants to select the another rental software program, repeating said steps c) to e4-d) ; and e4-e) if the user computer system does not want to select the another rental software program, terminates the communication connection between the user computer system and the server computer system.
26. The computer-readable medium as recited in claim 25, wherein said step e4-b) includes the steps of: e4-bl) if the process has been complete, terminating the file monitor and the protector; e4-b2) storing a billing end time in the billing information database of the user computer system; e4-b3) informing the server computer system of the billing end time; and e4-b4) flushing the main executable file and the one or more optional files stored in the storage device of the user computer system.
AMENDED CLAIMS
[received by the International Bureau on 05 July 2000 (05.07.00); original claims 1-3, 7, 9, 10, 21-26 amended ; new claims 27 to 41 added ; remaining claims unchanged; (13 pages)]
1 (7Amended) . A system for renting a rental software program in a distributed computing environment, wherein the rental software program includes a main executable file and optional files, comprising: a user computer system based on a user-transparent program install-free technology for downloading the main executable file contained in the rental software program and optionally requesting one or more optional files contained in the rental software program; and a server computer system for providing the main executable file contained in the rental software program to be executed in said user computer system and the one or more optional files optionally requested from said user computer system.
2 (Amended) . The system as recited in claim 1, wherein said user computer system includes: a storage means for storing the main executable file, the one or more optional files contained in the rental software program and a list of optional files downloaded from said server computer system; a process manager means for creating and running a process corresponding to the main executable file; 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 from said server computer system; and 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; and requesting the one or more optional files to said server computer system by using an on-demand scheme.
3 (Amended) . The system as recited in claim 2, wherein said server computer sysstteemm sseennddss tthhee lliisstt ooff ooppttiional files to said user computer system when said server computer sends the main executable file to said user computer system and wherein the optional files includes a registry file.
4. The system as recited in claim 3, wherein said user computer system further includes: a protection means for protecting the rental software program rented from said server computer system to prevent an unauthorized use committed by said user computer system; a converting means for converting registry file information contained in the list of optional files into registry file information appropriate to said user computer system; and a billing database for storing billing information.
5. The system as recited in claim 4, wherein the billing information includes a billing start time, a billing end time and a name of the rental software program selected by said user computer system.
6. The system as recited in claim 5, wherein said process manager means flushes the main executable file and the one or more optional files stored in said storage means when the process is complete.
7 (7Λmended) . The system as recited in claim 1, wherein said server computer system includes: a verification means for verifying said user computer system by using identification information of said user computer system stored in a user-information database; a program database for storing path information of the main executable file, a list of rental software programs and a list of the optional files; an analyzing means for analyzing a new rental software program when the new rental software program is installed in said server computer system, wherein said analyzing means stores the path information of the main executable file and a list of the optional files, associated with the new rental software program, in said program database; a storage means for storing the main executable file and the one or more optional files; and a means for obtaining and sending the main executable file stored in said storage means when said user computer system selects the desirable rental software program; and obtaining and sending the one or more optional files stored in said storage means when said user computer system optionally requests the one or more optional files to said server computer system.
8. The system as recited in claim 7, wherein said server computer system further includes: a billing means for processing charge or fee to be paid for the usage of the main executable file and the one or more optional files associated with the rental software program provided to said user computer system; a log database for storing a log file necessary for recovering said server computer system when said server computer system is not operable due to a serious error; a recovery means for recovering said server computer system by using the log file stored in said log database when said server computer system is not operable due to the serious error; a schedule management means for managing a schedule of requests from said user computer system and another user computer system; and a session management means for managing a communication session between said user computer system and said server computer system.
9 (Amended) . The system as recited in claim 8, wherein said server computer system sends the list of optional files to said user computer system when said server computer system sends the main executable file to said user computer system and wherein the optional files includes a registry file.
10 (Amended) . 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, comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting the rental software program in the list of rental software programs; d) 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; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.
11. The method as recited in claim 10, wherein said step a) includes the steps of: al) performing the communication connection between the user computer system and the server computer system; and a2) verifying the user computer system in the server computer system.
12. The method as recited in claim 10, wherein said step d) includes the steps of: dl) downloading the main executable file and a list of optional files from the server computer system, wherein the optional files include a registry file; d2) converting registry file information contained in the list of optional files into registry file information appropriate to the user computer system; d3) running a file monitor and a protector, which protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system; d4) storing a name of the rental software program selected by the user computer system and a billing start time in a billing information database of the user computer system; d5) informing the server computer system of the billing start time; and d6) creating and running the process corresponding to the main executable file.
13. The method as recited in claim 12, wherein said step e) includes the steps of: el) monitoring the process in the file monitor in order to determine whether the process needs the one or more optional files; e2) if the process needs the one or more optional files, hooking a message requesting the one or more optional files from process; e3) suspending the process until the user computer system downloads the one or more optional files from the server computer system; and e4) if the user computer system downloads the one or more optional files from the server computer system, re-running the process.
14. The method as recited in claim 11, wherein said step e4) further includes the steps of: e4-a) determining whether the process has been complete; e4-b) if the process has been complete, performing a procedure accompanying a process completion; e4-c) determining whether the user computer system wants to select another rental software program; e4-d) if the user computer system wants to select the another rental software program, repeating said steps c) to e4-d) ; and e4-e) if the user computer system does not want to select the another rental software program, terminates the communication connection between the user computer system and the server computer system.
15. The method as recited in claim 14, wherein said step e4-b) includes the steps of: e4-bl) if the process has been complete, terminating the file monitor and the protector; e4-b2) storing a billing end time in the billing information database of the user computer system; e4-b3) informing the server computer system of the billing end time; and e4-b4) flushing the main executable file and the one or more optional files stored in the storage device of the user computer system.
16. A method for servicing an install-free application in an online software rental system, comprising the steps of: a) getting a list of applications available for a rental service from a server computer system; b) establishing a rental session between a client computer system and the server computer system; c) fetching one or more application software from a plurality of application software stored in the server computer system; d) executing the one or more application software in the client computer system; and e) if said step d) is complete, flushing the one or more application software rented from the server computer system.
17. The method as recited in claim 16, wherein the list of applications contained in said step a) is established on Internet.
18. The method as recited in claim 16, wherein the one or more application software contained in said step c) includes a main executable file.
19. The method as recited in claim 16, wherein the one or more application software contained in said step c) is authorized by the server computer system.
20. The method as recited in claim 18, wherein said step d) includes the steps of: dl) creating a process corresponding to the main executable file; d2) running the process; d3) monitoring additional requests to access related files from the process by message hooking and file monitoring while the process is running; d4) 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; and d5) re-running the process after the one or more related files are delivered to the client computer system.
21 (Amended) . 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, wherein the rental software program includes a main executable file and optional files, comprising the steps of: a) 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; b) displaying a list of rental software programs downloaded from the server computer system; c) selecting the rental software program in the list of rental software programs; d) 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; and e) if the process needs one or more optional files, downloading the one or more optional files from the server computer system.
22 (Amended) . The computer-readable media as recited in claim 21, wherein said step a) includes the steps of: al) performing the communication connection between the user computer system and the server computer system; and a2) verifying the user computer system in the server computer system.
23 (Amended) . The computer-readable media as recited in claim 21, wherein said step d) includes the steps of: dl) downloading the main executable file and a list of optional files from the server computer system, wherein the optional files include a registry file; d2) converting registry file information contained in the list of optional files into registry file information appropriate to the user computer system; d3) running a file monitor and a protector, which protects the rental software program including the main executable file and the one or more optional files from an unauthorized use committed by the user computer system; d4) storing a name of the rental software program selected by the user computer system and a billing start time in a billing information database of the user computer system; d5) informing the server computer system of the billing start time; and d6) creating and running the process corresponding to the main executable file.
24 (Amended) . The computer-readable media as recited in claim 23, wherein said step e) includes the steps of: el) monitoring the process in the file monitor in order to determine whether the process needs the one or more optional files; e2) if the process needs the one or more optional files, hooking a message requesting the one or more optional files from process; e3) suspending the process until the user computer system downloads the one or more optional files from the server computer system; and e4) if the user computer system downloads the one or more optional files from the server computer system, re-running the process .
25 (Amended). The computer-readable media as recited in claim 22, wherein said step e4) further includes the steps of: e4-a) determining whether the process has been complete; e4-b) if the process has been complete, performing a procedure accompanying a process completion; e4-c) determining whether the user computer system wants to select another rental software program; e4-d) if the user computer system wants to select the another rental software program, repeating said steps c) to e4-d) ; and e4-e) if the user computer system does not want to select the another rental software program, terminates the communication connection between the user computer system and the server computer system.
26 (Amended). The computer-readable media as recited in claim 25, wherein said step e4-b) includes the steps of: e4-bl) if the process has been complete, terminating the file monitor and the protector; e4-b2) storing a billing end time in the billing information database of the user computer system; e4-b3) informing the server computer system of the billing end time; and e4-b4) flushing the main executable file and the one or more optional files stored in the storage device of the user computer system.
27 (New) . 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, comprising: a first means for pulling the main executable file out of a server computer system; and a second means for selectively pulling the one or more optional files out of the server computer system.
28 (New). The system as recited in claim 27, 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; 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; and 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 to send the message to the server computer system.
29 (New). The system as recited in claim 28, further comprising: a protection means for protecting the rental software program from an unauthorized use; and a billing database for storing billing information.
30 (New). The system as recited in claim 29, wherein the billing information includes a billing start time, a billing end time and a name of the rental software program. 31 (New) . The system as recited in claim 30, wherein said process manager means flushes the main executable file and the one or more optional files stored in said storage means when the process is complete.
32 (New) . 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, comprising: a first means for pushing the main executable file into a user computer system; and a second means for selectively pushing the one or more optional files into the user computer system.
33 (New) . The system as recited in claim 30, wherein said first and second means are employed in an advertisement.
34 (New) . The system as recited in claim 30, wherein said first and second means are employed in a freeware.
35 (New) . The system as recited in claim 32, further comprising: a program database for storing path information of the main executable file, a list of rental software programs and a list of the optional files; an analyzing means for analyzing a new rental software program when the new rental software program is installed, wherein said analyzing means stores the path information of the main executable file and a list of the optional files, associated with the new rental software program, in said program database; and a storage means for storing the main executable file and the one or more optional files.
36 (New) . 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, comprising: a first means for pulling the main executable file and the one or more optional files; and a second means for selectively pushing the main executable file and the one or more optional files.
37 (New) . The system as recited in claim 36, wherein said first means further includes: a storage means for storing the main executable file and the one or more optional files; a process manager means for creating and running a process corresponding to the main executable file; 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; and 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 to send the message to said second means.
38 (New) . The system as recited in claim 36, further comprising: a protection means for protecting the rental software program from an unauthorized use; and a billing database for storing billing information.
39 (New) . The system as recited in claim 38, wherein the billing information includes a billing start time, a billing end time and a name of the rental software program.
40 (New) . The system as recited in claim 37, wherein said process manager means flushes the main executable file and the one or more optional files stored in said storage means when the process is complete. 41 (New). The system as recited in claim 36, further comprising: a program database for storing path information of the main executable file, a list of rental software programs and a list of the optional files; an analyzing means for analyzing a new rental software program when the new rental software program is installed, wherein said analyzing means stores the path information of the main executable file and a list of the optional files, associated with the new rental software program, in said program database; and a storage means for storing the main executable file and the one or more optional files.
EP00902996A 1999-02-03 2000-01-31 Software rental system in distributed networks Withdrawn EP1163599A4 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR19990003481 1999-02-03
KR9903481 1999-02-03
KR9968380 1999-12-31
KR1019990068380A KR20000057127A (en) 1999-02-03 1999-12-31 Executing software program system for application service provider on distributed computing environment and method using the sa me
PCT/KR2000/000076 WO2000046685A1 (en) 1999-02-03 2000-01-31 Software rental system in distributed networks

Publications (2)

Publication Number Publication Date
EP1163599A1 true EP1163599A1 (en) 2001-12-19
EP1163599A4 EP1163599A4 (en) 2007-03-07

Family

ID=26634667

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00902996A Withdrawn EP1163599A4 (en) 1999-02-03 2000-01-31 Software rental system in distributed networks

Country Status (6)

Country Link
EP (1) EP1163599A4 (en)
JP (1) JP4707837B2 (en)
KR (2) KR20000057127A (en)
CN (1) CN1185591C (en)
AU (1) AU2463700A (en)
WO (1) WO2000046685A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US8352964B2 (en) 2004-09-30 2013-01-08 Citrix Systems, Inc. Method and apparatus for moving processes between isolation environments

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346689B1 (en) * 1998-04-20 2008-03-18 Sun Microsystems, Inc. Computer architecture having a stateless human interface device and methods of use
US6574618B2 (en) 1998-07-22 2003-06-03 Appstream, Inc. Method and system for executing network streamed application
US7370071B2 (en) 2000-03-17 2008-05-06 Microsoft Corporation Method for serving third party software applications from servers to client computers
US6757894B2 (en) 2000-09-26 2004-06-29 Appstream, Inc. Preprocessed applications suitable for network streaming applications and method for producing same
KR20010000760A (en) * 2000-10-18 2001-01-05 박봉규 method of renting Internet service solution programs by using an authentication button
KR20020045837A (en) * 2000-12-11 2002-06-20 임채욱 Method for Supplying Web Application on Web OS
KR20020046432A (en) * 2000-12-14 2002-06-21 최우진 Software Rental Method using an Application Service Provider
US7028305B2 (en) * 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
KR100439230B1 (en) * 2001-06-27 2004-07-05 엘지전자 주식회사 Gain control equipment of the IF-RF divide type WLL terminal system
KR20030012728A (en) * 2001-08-04 2003-02-12 최형식 Picture archiving and communications system including temporary memory device and picture information transmitting method using the same
KR20020003141A (en) * 2001-09-26 2002-01-10 최문현 Internet Real-Time Install Service Method
KR100459791B1 (en) * 2002-04-12 2004-12-04 연안정보통신 주식회사 Method for executing application program without install in the client-server environment
US20080313282A1 (en) 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7523071B2 (en) * 2002-09-16 2009-04-21 Yahoo! Inc. On-line software rental
US8737981B2 (en) 2002-12-19 2014-05-27 Qualcomm Incorporated Downloadable configuring application for a wireless device
EP1605380A1 (en) * 2003-02-03 2005-12-14 Poweroffice, S.A. Service and application integration system
US8171479B2 (en) 2004-09-30 2012-05-01 Citrix Systems, Inc. Method and apparatus for providing an aggregate view of enumerated system resources from various isolation layers
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7752600B2 (en) 2004-09-30 2010-07-06 Citrix Systems, Inc. Method and apparatus for providing file-type associations to multiple applications
US7853947B2 (en) 2004-09-30 2010-12-14 Citrix Systems, Inc. System for virtualizing access to named system objects using rule action associated with request
US8117559B2 (en) 2004-09-30 2012-02-14 Citrix Systems, Inc. Method and apparatus for virtualizing window information
KR100656787B1 (en) 2004-12-13 2006-12-12 한국전자통신연구원 Apparatus and method for offering rental software using prefetch formula
KR100727035B1 (en) * 2004-12-22 2007-06-12 한국전자통신연구원 System and method of software streaming service based on cdn
US7779034B2 (en) 2005-10-07 2010-08-17 Citrix Systems, Inc. Method and system for accessing a remote file in a directory structure associated with an application program executing locally
US8131825B2 (en) 2005-10-07 2012-03-06 Citrix Systems, Inc. Method and a system for responding locally to requests for file metadata associated with files stored remotely
KR100906756B1 (en) * 2006-11-30 2009-07-09 주식회사 케이티프리텔 Server and method for providing an environment for application development
WO2008069542A1 (en) * 2006-12-04 2008-06-12 Electronics And Telecommunications Research Institute Software on-demand service interlocking system and method of operating the same
EP2224338A3 (en) 2007-09-12 2011-03-16 Citrix Systems, Inc. Methods and systems for generating desktop environments providing integrated access to remote and local resources
WO2018216854A1 (en) * 2017-05-25 2018-11-29 엘에스산전 주식회사 Control program execution method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817031A2 (en) * 1996-07-03 1998-01-07 Sun Microsystems, Inc. Using a distributed object system to find and download java-based applications

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2053261A1 (en) * 1989-04-28 1990-10-29 Gary D. Hornbuckle Method and apparatus for remotely controlling and monitoring the use of computer software
JP4251669B2 (en) * 1995-07-14 2009-04-08 ソニー株式会社 Data processing method and apparatus
US6138140A (en) * 1995-07-14 2000-10-24 Sony Corporation Data processing method and device
JPH09305407A (en) * 1996-05-10 1997-11-28 Ricoh Co Ltd Communication system
US5923885A (en) * 1996-10-31 1999-07-13 Sun Microsystems, Inc. Acquisition and operation of remotely loaded software using applet modification of browser software
KR100227151B1 (en) * 1997-01-09 1999-10-15 진교문 Method of common accessing application program for multi point communication
JP3766197B2 (en) * 1997-01-21 2006-04-12 株式会社東芝 Software distribution method, server device, and client device
US5926635A (en) * 1997-02-05 1999-07-20 Hewlett Packard Company Method for reducing complexities when communicating between tasks
US6453352B1 (en) * 1997-07-14 2002-09-17 Electronic Data Systems Corporation Integrated electronic commerce system and method
US6026437A (en) * 1998-04-20 2000-02-15 International Business Machines Corporation Method and system in a computer network for bundling and launching hypertext files and associated subroutines within archive files

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817031A2 (en) * 1996-07-03 1998-01-07 Sun Microsystems, Inc. Using a distributed object system to find and download java-based applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO0046685A1 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352964B2 (en) 2004-09-30 2013-01-08 Citrix Systems, Inc. Method and apparatus for moving processes between isolation environments
US8171483B2 (en) 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US9009720B2 (en) 2007-10-20 2015-04-14 Citrix Systems, Inc. Method and system for communicating between isolation environments
US9009721B2 (en) 2007-10-20 2015-04-14 Citrix Systems, Inc. Method and system for communicating between isolation environments
US9021494B2 (en) 2007-10-20 2015-04-28 Citrix Systems, Inc. Method and system for communicating between isolation environments
US8090797B2 (en) 2009-05-02 2012-01-03 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments
US8326943B2 (en) 2009-05-02 2012-12-04 Citrix Systems, Inc. Methods and systems for launching applications into existing isolation environments

Also Published As

Publication number Publication date
KR100734387B1 (en) 2007-07-02
EP1163599A4 (en) 2007-03-07
JP2003532166A (en) 2003-10-28
WO2000046685A1 (en) 2000-08-10
AU2463700A (en) 2000-08-25
JP4707837B2 (en) 2011-06-22
CN1354857A (en) 2002-06-19
KR20010101982A (en) 2001-11-15
KR20000057127A (en) 2000-09-15
CN1185591C (en) 2005-01-19

Similar Documents

Publication Publication Date Title
EP1163599A1 (en) Software rental system in distributed networks
US7171390B1 (en) System and method for executing a rental software program in distributed computing environment
US7484207B2 (en) Software execution control system and software execution control program
US7945906B2 (en) Method and software tools for intelligent service pack installation
US7143409B2 (en) Automated entitlement verification for delivery of licensed software
US20020165026A1 (en) Method and system for delivering and securing computer game content via the internet
US20060041572A1 (en) Software structure restoring method and apparatus, and computer-readable storage medium
US8494964B1 (en) Software as a service via virtualization
JP2004295270A (en) Shared storage system
US20130024681A1 (en) Systems and methods for activation of applications using client-specific data
US20210311711A1 (en) Desired state model for managing lifecycle of virtualization software
US20050108708A1 (en) Method to install software via a network and network apparatus thereof
US8725790B2 (en) Multiple application activation
CN102360299A (en) Software system resetting method, server and client
JP4824127B2 (en) Protection against unauthorized duplication of digital media content
US7694280B2 (en) Systems and methods for controlling program installation on a computing device
JP2006523333A (en) System and method for installing and integrating component data models
JP7010005B2 (en) Information processing equipment and programs
US7634769B2 (en) Method and apparatus for remotely providing driver information
JP4771373B2 (en) Method and apparatus for client call service
US20230342181A1 (en) Validation of combined software/firmware updates
JP4788128B2 (en) Execution environment maintenance system, execution environment maintenance device, and execution environment maintenance method
JP2003280912A (en) Information processing system, and information processing method
JPH09305381A (en) Installation device for software, installation system for software and installation method for software
WO2005041003A1 (en) Management system, management method and management program

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20010903

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

A4 Supplementary search report drawn up and despatched

Effective date: 20070206

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 9/445 20060101AFI20070131BHEP

17Q First examination report despatched

Effective date: 20070529

R17C First examination report despatched (corrected)

Effective date: 20070529

APBK Appeal reference recorded

Free format text: ORIGINAL CODE: EPIDOSNREFNE

APBN Date of receipt of notice of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA2E

APAV Appeal reference deleted

Free format text: ORIGINAL CODE: EPIDOSDREFNE

APBR Date of receipt of statement of grounds of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA3E

APAF Appeal reference modified

Free format text: ORIGINAL CODE: EPIDOSCREFNE

APBT Appeal procedure closed

Free format text: ORIGINAL CODE: EPIDOSNNOA9E

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20100803