CN1185591C - Software rental system in distributed networks - Google Patents
Software rental system in distributed networks Download PDFInfo
- Publication number
- CN1185591C CN1185591C CNB008049084A CN00804908A CN1185591C CN 1185591 C CN1185591 C CN 1185591C CN B008049084 A CNB008049084 A CN B008049084A CN 00804908 A CN00804908 A CN 00804908A CN 1185591 C CN1185591 C CN 1185591C
- Authority
- CN
- China
- Prior art keywords
- computer system
- software program
- optional
- file
- executable file
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
Description
技术领域technical field
本发明涉及一种用于在分布式计算环境中执行出租软件程序的系统,更具体地说,涉及一种用于在包括用户计算机系统和服务器计算机系统的分布式计算环境中执行出租软件程序的系统,其中该用户计算机系统有选择地向该服务器计算机系统请求一个或多个与该出租软件程序关联的可选文件,而该服务器计算机系统提供该用户计算机请求的一个或多个可选文件。The present invention relates to a system for executing a rental software program in a distributed computing environment, and more particularly, to a system for executing a rental software program in a distributed computing environment including a user computer system and a server computer system A system wherein the user computer system selectively requests one or more optional files associated with the rental software program from the server computer system, and the server computer system provides the one or more optional files requested by the user computer.
背景技术Background technique
一般来说,常规用户计算机系统在贮存设备中安装软件程序。该常规用户计算机系统从CD-ROM、磁盘或服务器计算机系统读取该软件程序的源代码。该程序的源代码被存储在一系统目录,例如,由微软公司提供的MicrosoftWindowsTM系统中的Microsoft WindowsTM目录,和一用户目录中。该系统目录和该用户目录具有与软件程序文件关联的路径信息。例如,软件文件可以由主可执行文件、辅助可执行文件、注册文件和WindowsTM操作系统中的其它*.dll、*.hlp等文件组成。Generally, conventional user computer systems install software programs in storage devices. The conventional user computer system reads the source code for the software program from a CD-ROM, disk or server computer system. The source code of the program is stored in a system directory, eg, the Microsoft Windows ™ directory in the 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 files may consist of main executable files, auxiliary executable files, registry files, and other *.dll, *.hlp, etc. files in the Windows ™ operating system.
常规用户计算机系统需要大量贮存装置的贮存空间存储想要的软件程序。在该常规用户计算机系统使用各种软件程序的情况下,该常规计算机系统应该安装各种软件程序。此外,在想要的软件被升级或更新的情况下,应该在该常规计算机系统中安装该升级或更新的软件程序。Conventional consumer computer systems require a large amount of storage space on a storage device to store desired software programs. Where the conventional user computer system uses various software programs, the conventional computer system should install the various software programs. Furthermore, in the event that desired software is upgraded or updated, the upgraded or updated software program should be installed in the conventional computer system.
一般来说,该常规用户计算机系统为了执行一软件程序,从作为远程计算机系统的服务器计算机系统中拷贝或下载软件程序。此时,该常规计算机系除了需要被拷贝或下载的软件程序文件以外,还需要一特殊的软件程序文件。如果该常规计算机系统没有该特殊的软件程序文件,那么该常规计算机系统就不能执行该软件程序。Generally, the conventional user computer system copies or downloads a software program from a server computer system as a remote computer system in order to execute a software program. At this time, the conventional computer system requires a special software program file in addition to the software program file to be copied or downloaded. If the conventional computer system does not have the special software program files, the conventional computer system cannot execute the software program.
发明内容Contents of the invention
因此,本发明的目的是提供在能够降低用户计算机系统的贮存空间和降低程序的启动时间的分布式计算环境中执行出租软件程序的系统,它以请求式模式和用户透明程序免安装技术使用与服务器计算机系统提供的该出租软件程序关联的程序文件。Therefore, it is an object of the present invention to provide a system for executing rental software programs in a distributed computing environment capable of reducing the storage space of the user's computer system and reducing the startup time of the program, which uses the same Program files associated with the rental software program provided by the server computer system.
依照本发明的一方面,提供用于在一分布式计算环境中执行出租软件程序的系统,其中该出租软件程序包括主可执行文件和可选文件,包括:基于用户透明程序免安装技术的用户计算机系统,用于在一列出租软件程序中选择想要的出租软件程序、以便下载包含在该想要的出租软件程序中的主可执行文件,并且用于有选择地请求一个或多个包含在该想要的出租软件程序中的可选文件;以及服务器计算机系统,用于当实现了所述服务器计算机系统与所述用户计算机系统之间的通信连接时,提供一列出租软件程序、包含在由所述用户计算机系统选定的想要的出租软件程序中的主可执行文件以及从所述用户计算机系统有选择地请求的一个或多个可选文件。其中,所述用户计算机系统包括:贮存部件,用于存储该主可执行文件、包含在该出租软件程序中的该一个或多个可选文件以及一列从所述服务器计算机系统下载的可选文件;处理过程管理器部件,用于创建和运行对应于该主可执行文件的处理过程;如果该处理过程需要该一个或多个可选文件,则挂起该处理过程;以及如果所述处理过程管理器部件收到来自所述服务器计算机系统的该一个或多个可选文件,则重新运行该处理过程;监控器部件,用于监控该处理过程以便确定该处理过程是否需要该一个或多个可选文件;并且钩到从该处理过程中请求该一个或多个可选文件的消息;以及利用请求式模式向所述服务器计算机系统请求该一个或多个可选文件。In accordance with an aspect of the present invention, a system for executing a rental software program in a distributed computing environment is provided, wherein the rental software program includes a main executable file and optional files, including: user-based user-transparent program installation-free technology A computer system for selecting a desired rental software program from a list of rental software programs, for downloading a host executable file contained in the desired rental software program, and for selectively requesting one or more of the rental software programs contained in optional files in the desired rental software program; and a server computer system for providing a list of rental software programs, contained in The main executable file in the desired rental software program selected by the user computer system and one or more optional files selectively requested from the user computer system. Wherein, said user computer system includes: a storage component for storing the main executable file, the one or more optional files included in the rental software program, and a list of optional files downloaded from the server computer system ; a process manager component for creating and running a process corresponding to the main executable; suspending the process if the process requires the one or more optional files; and if the process The manager component receives this one or more optional files from the server computer system, then reruns the process; the monitor component is used to monitor the process to determine whether the process requires the one or more optional files; and hooking to a message requesting the one or more optional files from the process; and requesting the one or more optional files from the server computer system using an on-demand mode.
依照本发明的另一方面,提供用于在一分布式计算环境中出租一出租软件程序的系统,其中该出租软件程序包括主可执行文件和一个或多个可选文件,包括:第一部件,用于从一服务器计算机系统拉出该主可执行文件;第二部件,用于有选择地从该服务器计算机系统拉出该一个或多个可选文件;贮存部件,用于存储从该服务器计算机系统拉出的该主可执行文件和该一个或多个可选文件;处理过程管理器部件,用于创建和运行对应于该主可执行文件的处理过程;如果该处理过程请求该一个或多个可选文件,则挂起该处理过程;以及如果所述处理过程管理器部件收到该一个或多个可选文件,则重新运行该处理过程;监控器部件,用于监控该处理过程以便确定该处理过程是否请求该一个或多个可选文件;并且钩到从该处理过程中请求该一个或多个可选文件的消息,以便向所述服务器计算机系统发送该消息。According to another aspect of the present invention, there is provided 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 component , used to pull out the main executable file from a server computer system; the second component is used to selectively pull out the one or more optional files from the server computer system; the storage component is used to store the executable file from the server The main executable file and the one or more optional files pulled by the computer system; a process manager component for creating and running a process corresponding to the main executable file; if the process requests the one or more a plurality of optional files, then suspend the processing; and if the processing manager component receives the one or more optional files, then rerun the processing; a monitor component, for monitoring the processing 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.
依照本发明的另一方面,提供用于在一分布式计算环境中提供出租软件程序的系统,其中该出租软件程序包括主可执行文件和一个或多个可选文件,包括:第一部件,用于将该主可执行文件推入一用户计算机系统;第二部件,用于有选择地将该一个或多个可选文件推入该用户计算机系统;程序数据库,用于存储该主可执行文件、一列出租软件程序和一列可选文件的路径信息;分析部件,用于当安装新的出租软件程序时,分析该新的出租软件程序,其中所述分析部件在所述数据库中存储关联于该新的出租软件程序的主可执行文件和一列可选文件的路径信息;贮存部件,用于存储该主可执行文件和该一个或多个可选文件。According to another aspect of the present invention, there is provided 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 component, for pushing the main executable file into a user computer system; a second component for selectively pushing the one or more optional files into the user computer system; a program database for storing the main executable file path information of a file, a list of rental software programs, and a list of optional files; analysis means for analyzing a new rental software program when the new rental software program is installed, wherein said analysis means stores in said database associated with Path information of a main executable file and a list of optional files of the new rental software program; a storage component for storing the main executable file and the one or more optional files.
附图说明Description of drawings
根据在附图的协助下获得的优选实施例的下列描述,本发明的上述和其它目的以及特征将更清楚,其中:The above and other objects and features of the present invention will be more apparent from the following description of preferred embodiments obtained with the aid of the accompanying drawings, in which:
图1是说明用于在一依照本发明的分布式计算环境中执行出租软件程序的系统的方框图;1 is a block diagram illustrating a system for executing rental software programs in a distributed computing environment according to the present invention;
图2是描述图1所示的用户计算机系统的方框图;Figure 2 is a block diagram depicting the user computer system shown in Figure 1;
图3是描述图1所示的服务器计算机系统的方框图;Fig. 3 is a block diagram depicting the server computer system shown in Fig. 1;
图4是示出用于在一依照本发明的分布式计算环境中执行出租软件程序的方法的流程图;4 is a flowchart illustrating a method for executing a rental software program in a distributed computing environment according to the present invention;
图5A和5B是说明运行示出在图4中的一个处理过程的过程流程图;5A and 5B are process flow diagrams illustrating the execution of a process shown in FIG. 4;
图6是描述伴随图4所示的处理过程结束的过程流程图;FIG. 6 is a process flow diagram describing the end of the process accompanying the process shown in FIG. 4;
图7是描述显示在图1所示的用户计算机系统中的一列出租软件程序的一示范性图表;以及FIG. 7 is an exemplary diagram depicting a list of rental software programs displayed in the user computer system shown in FIG. 1; and
图8描述显示在图1所示的用户计算机系统中的一列出租软件程序的一示范性图表。FIG. 8 depicts an exemplary diagram of a list of rental software programs displayed on the user computer system shown in FIG. 1. FIG.
实施本发明的最佳模式Best Mode for Carrying Out the Invention
参考图1,它示出了说明当作在线软件租用系统的一系统的方框图,该系统用于在依照本发明的分布式计算环境中执行出租软件程序。该租用程序包括一主可执行文件和多个可选文件,它们被有选择地从用户计算机系统10请求。此外,这些可选文件都包括注册文件。“出租软件程序”指的是基于用户透明程序免安装技术从一服务器计算机系统租给一用户计算机系统应用程序软件或程序。在线软件租用服务可以用英特网使用。Referring to FIG. 1, there is shown a block diagram illustrating a system serving as an on-line software rental system for executing rental software programs in a distributed computing environment in accordance with the present invention. The rental program includes a main executable file and a plurality of optional files that are selectively requested from the user computer system 10 . Additionally, these optional documents include registration documents. "Rental software program" refers to an application software or program that is rented from a server computer system to a user computer system based on user-transparent program-free installation technology. The online software rental service can be used using the Internet.
如图所示,该系统包括用户计算机系统10、作为客户计算机系统的用户网络设备12、服务器网络设备14和服务器计算机系统16,其中用户计算机系统10是用户透明程序免安装技术的。当实现了用户计算机系统10与服务器计算机系统16之间的通信连接时,用户计算机系统10可以从下载自服务器计算机系统16的一列出租软件程序中选择想要的出租软件程序。As shown in the figure, 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
用户计算机系统10下载主可执行文件以便创建和运行对应于该主可执行文件的一处理过程。当该处理过程需要一个或多个可选文件时,用户计算机系统10经由用户网络设备12向服务器计算机系统16请求包含在该出租软件程序中的一个或多个可选文件。此外,用户计算机系统10可以获取在服务器计算机系统16中包含在该出租软件程序中的该一个或多个可选文件。服务器计算机系统16经由服务器网络设备14向用户计算机系统10提供包含在该出租软件程序中的一个或多个程序文件。服务器计算机系统16管理包含在该出租软件程序中的一个或多个可选文件。The user computer system 10 downloads the main executable file to create and run a process corresponding to the main executable file. When the process requires one or more optional files, user computer system 10 requests
参考图2,它示出了描述图1所示的用户计算机系统10的模块图。用户计算机系统10包括接口模块200、出租软件程序管理器202、处理过程管理器204、贮存设备205、计费信息数据库206、文件监控器208和保护器210。Referring to FIG. 2, there is shown a block diagram depicting the user computer system 10 shown in FIG. User computer system 10 includes interface module 200 , rental software program manager 202 , process manager 204 , storage device 205 , billing information database 206 , file monitor 208 and protector 210 .
接口模块200对接在图1所示的用户计算机系统10和用户网络设备12之间。例如,接口模块200输出经由图1所示的用户网络设备12和服务器网络设备14向服务器计算机系统16请求包含在一出租软件程序中的一个或多个可选文件的消息。而且,接口模块200从服务器计算机系统16接收该一个或多个可选文件。The interface module 200 is connected between the user computer system 10 and the user network device 12 shown in FIG. 1 . For example, interface module 200 outputs messages requesting one or more optional files included in a rental software program to
当实现用户计算机系统10与服务器计算机系统16之间的通信连接时,用户计算机系统10从服务器计算机系统16接收一列出租软件程序。用户计算机系统10利用一选择设备(未示出)在该一列出租软件程序中选择想要的出租软件程序。然后,用户计算机系统10从服务器计算机系统16接收包含在所选择的出租软件程序中的一主可执行文件和一列可选文件。User computer system 10 receives a list of rental software programs from
出租软件程序管理器202将包含在该列可选文件中的注册文件信息转换成适合用户计算机系统10的注册文件信息。The rental software program manager 202 converts the registration file information contained in the list of optional files into registration file information suitable for the user computer system 10 .
处理过程管理器204创建和运行对应于包含在所选的出租软件程序中的主可执行文件的处理过程。如果该处理过程需要一个或多个可选文件,那么处理过程管理器204挂起该处理过程直到处理过程管理器204从服务器计算机系统16收到该一个或多个可选文件。Process manager 204 creates and runs a process corresponding to the host executable file contained in the selected rental software program. If the processing requires one or more optional files, the processing manager 204 suspends the processing until the processing manager 204 receives the one or more optional files from the
贮存设备205存储该主可执行文件和一个或多个可选文件。而且当该处理过程结束时。用该处理过程管理器204刷新存储在该贮存设备205中的该主可执行文件和一个或多个可选文件。Storage device 205 stores the main executable file and one or more optional files. And when the process ends. The main executable file and one or more optional files stored in the storage device 205 are refreshed with the process manager 204 .
计费信息数据库206存储与计费起始时间和计费结束时间和用用户计算机系统10选择的出租软件程序的名称关联的计费信息。而且用户计算机系统10向服务器计算机系统16发送与该计费起始时间和该计费结束时间关联的该计费信息。The billing information database 206 stores billing information associated with the billing start time and billing end time and the name of the rental software program selected with the user computer system 10 . And the user computer system 10 sends the billing information associated with the billing start time and the billing end time to the
文件监控器208监控该处理过程以便确定该处理过程在该处理过程正在运行期间是否需要该一个或多个可选文件。如果在该处理过程正在运行期间需要该一个或多个可选文件,那么该文件监控器208从该处理过程钩到(hook)请求该一个或多个可选文件的消息。文件监控器208向服务器计算机系统16请求该一个或多个可选文件。File monitor 208 monitors the process to determine whether the process requires the one or more optional files while the process is running. If the one or more optional files are required while the process is running, the file monitor 208 hooks a message from the process requesting the one or more optional files. File monitor 208 requests
保护器210防止包括主可执行文件和该一个或多个可选文件的出租软件程序由用户计算机系统10付诸的非授权使用。Protector 210 prevents unauthorized use by user computer system 10 of the rental software program including the main executable file and the one or more optional files.
参考图3,它示出了描述图1所示的服务器计算机系统16的模块图。如图所示,服务器计算机系统16包括接口模块300、用户验证模块301、用户信息数据库302、计费模块303、运行记录数据库304、传输控制模块305、中央处理单元306、出租软件程序信息数据库307、出租软件程序分析器308、贮存设备309以及进度管理器310和会话管理器311。Referring to FIG. 3 , there is shown a block diagram depicting the
接口模块300对接在图1所示的服务器计算机系统16和服务器网络设备14之间。例如,接口模块300接收经由图1所示的服务器网络设备14从用户计算机系统10请求关联于一出租软件程序的一个或多个可选文件的消息。而且,接口模块300向服务器计算机系统16输出从用户计算机系统10请求的该一个或多个可选文件。The
当实现用户计算机系统10与服务器计算机系统16之间的通信连接时,用户验证模块301利用存储在用户信息数据库302中的用户计算机系统10或用户的识别信息验证用户计算机系统10或该用户。When realizing the communication connection between the user computer system 10 and the
用户信息数据库302存储用户计算机系统10的识别信息和计费信息。The
计费模块303处理使用包含在从服务器计算机系统16提供到用户计算机系统10的该出租软件程序中的主可执行文件和该一个或多个可选文件的要支付的费用或酬金。
运行记录数据库304存储在服务器计算机系统16由于系统错误而不可操作时,恢复服务器计算机系统16所必需的信息,例如运行记录文件。
当用户计算机系统10向服务器计算机系统16请求该一个或多个可选文件时,传输控制模块305从贮存设备309获取该一个或多个可选文件。在传输控制模块305获得该一个或多个可选文件之后,传输控制模块305经由会话管理器311将该一个或多个可选文件传输到用户计算机系统10。The
中央处理单元306通知其它部分用户验证和计费是否成功。而且当服务器计算机系统16由于系统错误而不可操作时,中央处理单元306利用存储在运行记录数据库304中的运行记录文件恢复服务器计算机系统16。The
出租软件程序信息数据库307存储关联于出租软件程序的主可执行文件的路径信息、作为主可执行文件的一列出租软件程序以及关联于对应的出租软件程序的一列可选文件。The rental software
当在服务器计算机系统16中安装新的出租软件程序时,出租软件程序分析器308分析新的出租软件程序。然后,出租软件程序分析器308在出租软件程序信息数据库307中存储关联于该新出租软件程序的主可执行文件和一列可选文件的路径信息。When a new rental software program is installed in the
贮存设备309存储与对应于该路径信息的该出租软件程序关联的该主可执行文件和该一个或多个可选文件。
进度管理器310管理来自该用户计算机系统和其它用户计算机系统(未示出)的请求的进度表。
会话管理器311管理用户计算机系统10和服务器计算机系统16之间的通信会话。
参考图4,它显示示出在依照本发明的分布式计算环境中执行出租软件程序的方法的流程图。该出租软件程序包括主可执行文件和包括注册文件的一个或多个可选文件。Referring to FIG. 4, there is shown a flowchart illustrating a method of executing a rental software program in a distributed computing environment according to the present invention. The rental software program includes a main executable file and one or more optional files including registration files.
如图所示,在S400步,实现用户计算机系统和服务器计算机系统之间的通信连接。As shown in the figure, at step S400, the communication connection between the user computer system and the server computer system is implemented.
在S410步,确定该用户计算机系统是否已经成功进行了用户验证。此时,包含在该服务器计算机系统中的用户验证模块利用存储在包含于服务器计算机系统中的用户信息数据库的该用户计算机系统或用户的识别信息,验证该用户计算机系统或该用户。In step S410, it is determined whether the user computer system has successfully performed user authentication. At this time, the user authentication module included in the server computer system authenticates the user computer system or the user using identification information of the user computer system or user stored in a user information database included in the server computer system.
在S420步,如果验证了用户计算机系统,那么该用户计算机系统显示从该服务器计算机系统下载的一列出租软件程序,例如,包含在该服务器计算机系统中的出租软件程序信息数据库。In step S420, if the user computer system is authenticated, the user computer system displays a list of rental software programs downloaded from the server computer system, for example, a rental software program information database contained in the server computer system.
在S430步,该用户计算机系统在该列出租软件程序中选择想要的出租软件程序。In step S430, the user computer system selects a desired rental software program among the list of rental software programs.
在S440步,该用户计算机系统从该服务器计算机系统下载与该想要的出租软件程序关联的主可执行文件和一列可选文件。此时,包含在该用户计算机系统中的处理过程管理器创建和运行对应于该主可执行文件的处理过程。At step S440, the user computer system downloads from the server computer system the main executable file and a list of optional files associated with the desired rental software program. At this time, a process manager included in the user's computer system creates and executes a process corresponding to the main executable file.
在S460步,确定该处理过程是否已经结束。At step S460, it is determined whether the processing has ended.
在S470步,如果该处理过程已经结束了,则实施伴随处理过程结束的一过程。At step S470, if the processing has ended, a procedure accompanying the end of the processing is carried out.
在S480步,确定该用户计算机系统是否要选择另一个出租软件程序。In step S480, it is determined whether the user computer system is to select another rental software program.
在S490步,如果该用户计算机系统不要求选择另一个出租软件程序,那么该用户计算机系统终止与该服务器计算机系统的通信。另一方面,如果该用户计算机系统要求选择另一出租软件程序,则重复S430步和S490步。In step S490, if the user computer system does not require selection of 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 requires selection of another rental software program, steps S430 and S490 are repeated.
参考图5A和5B,它们说明了运行图4所示的一处理过程的过程的流程图。Referring to FIGS. 5A and 5B, there is illustrated a flowchart of the procedure for running a process shown in FIG. 4. Referring to FIG.
如图所示,在S441步,该用户计算机系统从该服务器计算机系统下载一主可执行文件和一列可选文件。As shown, in step S441, the user computer system downloads a main executable file and a list of optional files from the server computer system.
在S442步,包含在用户计算机系统中的出租软件程序管理器将包含在该列可选文件中的注册文件信息转换成适合该用户计算机系统的注册文件信息。In step S442, the rental software program manager included in the user's computer system converts the registration file information contained in the list of optional files into registration file information suitable for the user's computer system.
在S443步,该用户计算机系统运行一文件监控器和一保护器,该保护器防止包括主可执行文件和该一个或多个可选文件的出租软件程序由该用户计算机系统付诸的非授权使用。In step S443, the user computer system runs a file monitor and a protector, which prevents the rental software program including the main executable file and the one or more optional files from being put into unauthorized operation by the user computer system. use.
在S444步,包含在该用户计算机系统中的计费信息数据库存储由该用户计算机系统选择的出租软件程序的名称和计费起始时间。In step S444, the billing information database included in the user's computer system stores the name and billing start time of the rental software program selected by the user's computer system.
在S445步,该用户计算机系统将该计费起始时间通知该服务器计算机系统。此外,包含在该用户计算机系统的用户信息数据库存储来自用户计算机系统的该计费起始时间信息。In step S445, the user computer system notifies the server computer system of the billing start time. In addition, a user information database included in the user computer system stores the billing start time information from the user computer system.
在S446步,包含在该用户计算机系统的处理过程管理器创建和运行对应于该主可执行文件的处理过程。At step S446, the process manager included in the user's computer system creates and runs a process corresponding to the main executable file.
在S447步,该文件监控器监控该处理过程以便确定该处理过程是否需要一个或多个文件。而且,该文件监控器从该处理过程钩到请求一个或多个可选文件的消息,以便利用请求式模式向该服务器系统请求该一个或多个可选文件。In step S447, the file monitor monitors the process to determine whether one or more files are needed for the process. Also, the file monitor hooks from the process to a message requesting one or more optional files to request the one or more optional files from the server system using an on-demand mode.
在S448步,确定该用户计算机系统是否具有该一个或多个可选文件。In step S448, it is determined whether the user computer system has the one or more optional files.
在S449步,如果该用户计算机系统具有该一个或多个被请求的文件,那么该处理过程管理器重新用存在于该用户计算机系统中的该一个或多个可选文件运行该处理过程。In step S449, if the user computer system has the one or more requested files, the process manager re-executes the process with the one or more optional files existing in the user computer system.
在S450步,如果该用户计算机系统没有该一个或多个可选文件,那么该处理过程管理器挂起该处理过程。In step S450, if the user computer system does not have the one or more optional files, the process manager suspends the process.
在S451步,该处理过程管理器从该服务器计算机系统下载该一个或多个可选文件。此时,该服务器计算机系统经由一会话管理器将存储在该服务器计算机系统中的该一个或多个可选文件发送到该用户计算机系统。In step S451, the process manager downloads the one or more optional files from the server computer system. At this point, the server computer system sends the one or more selectable files stored in the server computer system to the user computer system via a session manager.
在S452步,该处理过程管理器用从该服务器计算机系统下载的该一个或多个可选文件重新运行该处理过程。In step S452, the process manager reruns the process with the one or more optional files downloaded from the server computer system.
参考图6,它示出描述伴随图4所示的一处理过程的结束的过程流程图。Referring to FIG. 6, there is shown a process flow diagram describing the end of a process accompanying that shown in FIG.
在S471步,如果该处理过程已经结束,则该用户计算机系统终止该文件监控器和保护器。In step S471, if the process has ended, the user computer system terminates the file monitor and protector.
在S472步,该用户计算机系统在计费信息数据库中存储计费结束时间。In step S472, the user computer system stores the billing end time in the billing information database.
在S473步,该用户计算机系统将该计费结束时间通知该服务器计算机系统。该服务器计算机系统在计费信息数据库中存储计费结束时间的信息。包含在该用户计算机系统的计费模块处理使用包含在从该服务器计算机系统提供给该用户计算机系统的该出租软件程序中的主可执行文件和该一个或多个可选文件的要支付的费用或酬金。In step S473, the user computer system notifies the server computer system of the billing end time. The server computer system stores the information of the billing end time in the billing information database. a billing module included in the user computer system processes fees to be paid for use of the main executable file and the one or more optional files included in the rental software program provided from the server computer system to the user computer system or gratuity.
在S474步,该用户计算机系统刷新存储在该用户计算机系统的贮存设备中的该主可执行文件和该一个或多个可选文件。In step S474, the user computer system refreshes 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 according to the present invention can be stored in a computer-readable medium, such as an optical disk, a hard disk, and the like.
参考图7,它示出描述显示于图1所示的一服务器计算机系统的一列出租软件程序的示范性图表。例如,该列出租软件程序包括如图7所示的出租软件程序Winword.exe、Powerpnt.exe、Excel.exe、PhotoShop.exe和AcroRd32.exe。Referring to FIG. 7, there is shown an exemplary diagram depicting a list of rental software programs displayed on a server computer system shown in FIG. For example, the list of rental software programs includes the rental software programs Winword.exe, Powerpnt.exe, Excel.exe, PhotoShop.exe, and AcroRd32.exe as shown in FIG. 7 .
参考图8,它示出描述显示于图1所示的一服务器计算机系统的一列出租软件程序的示范性图表。例如,该列出租软件程序包括如图8所示的出租软件程序MS word、MS Powerpoint、MS Excel、Adobe PhotoShop、Winamp和ACDSee图形浏览器。Referring to FIG. 8, there is shown an exemplary diagram depicting a list of rental software programs displayed on a server computer system shown in FIG. For example, this list of rental software programs includes the rental software programs MS word, MS Powerpoint, MS Excel, Adobe PhotoShop, Winamp and ACDSee graphics browser as shown in Figure 8.
虽然本发明的该优选实施例是为说明性目的而被公开的,但本领域的普通技术人员应该理解,在不脱离公开在附属的权利要求书中的本发明的范围和精神的情况下,可以进行各种各样的改进、添加和替代。While the preferred embodiment of the present invention has been disclosed for illustrative purposes, those of ordinary skill in the art will appreciate that, without departing from the scope and spirit of the present invention as disclosed in the appended claims, Various modifications, additions and substitutions can be made.
Claims (20)
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1999/3481 | 1999-02-03 | ||
| KR19990003481 | 1999-02-03 | ||
| KR1999/68380 | 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 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN1354857A CN1354857A (en) | 2002-06-19 |
| CN1185591C true CN1185591C (en) | 2005-01-19 |
Family
ID=26634667
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNB008049084A Expired - Lifetime CN1185591C (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 (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
| US7752600B2 (en) | 2004-09-30 | 2010-07-06 | Citrix Systems, Inc. | Method and apparatus for providing file-type associations to multiple applications |
| 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 |
| 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 |
| US8095940B2 (en) | 2005-09-19 | 2012-01-10 | Citrix Systems, Inc. | Method and system for locating and accessing resources |
| US8117559B2 (en) | 2004-09-30 | 2012-02-14 | Citrix Systems, Inc. | Method and apparatus for virtualizing window information |
| 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 |
| 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 |
Families Citing this family (27)
| 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 |
| US20010044850A1 (en) | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
| US7197570B2 (en) | 1998-07-22 | 2007-03-27 | Appstream Inc. | System and method to send predicted application streamlets to a client device |
| 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 |
| US7051315B2 (en) | 2000-09-26 | 2006-05-23 | Appstream, Inc. | Network streaming of multi-application program code |
| 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 |
| CN103500412A (en) * | 2002-09-16 | 2014-01-08 | 雅虎公司 | On-line software rental |
| US8737981B2 (en) | 2002-12-19 | 2014-05-27 | Qualcomm Incorporated | Downloadable configuring application for a wireless device |
| AU2003215682A1 (en) * | 2003-02-03 | 2004-08-30 | Poweroffice, S.A. | Service and application integration system |
| KR100656787B1 (en) * | 2004-12-13 | 2006-12-12 | 한국전자통신연구원 | Lease Software Provision Server Device Using Prefetch Method and Its Method |
| KR100727035B1 (en) * | 2004-12-22 | 2007-06-12 | 한국전자통신연구원 | CD-based S / W streaming service system and method |
| 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 |
| US8286082B2 (en) | 2007-09-12 | 2012-10-09 | Citrix Systems, Inc. | Methods and systems for providing, by a remote machine, access to a desk band associated with a resource executing on a local machine |
| US8171483B2 (en) | 2007-10-20 | 2012-05-01 | 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 |
| WO2018216854A1 (en) * | 2017-05-25 | 2018-11-29 | 엘에스산전 주식회사 | Control program execution method |
Family Cites Families (11)
| 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 |
| US6138140A (en) * | 1995-07-14 | 2000-10-24 | Sony Corporation | Data processing method and device |
| JP4251669B2 (en) * | 1995-07-14 | 2009-04-08 | ソニー株式会社 | Data processing method and apparatus |
| JPH09305407A (en) * | 1996-05-10 | 1997-11-28 | Ricoh Co Ltd | Communications system |
| US6260078B1 (en) * | 1996-07-03 | 2001-07-10 | Sun Microsystems, Inc. | Using a distributed object system to find and download java-based applications |
| 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 | 진교문 | How to share an application that supports multipoint 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 |
-
1999
- 1999-12-31 KR KR1019990068380A patent/KR20000057127A/en active Pending
-
2000
- 2000-01-31 CN CNB008049084A patent/CN1185591C/en not_active Expired - Lifetime
- 2000-01-31 EP EP00902996A patent/EP1163599A4/en not_active Withdrawn
- 2000-01-31 AU AU24637/00A patent/AU2463700A/en not_active Abandoned
- 2000-01-31 WO PCT/KR2000/000076 patent/WO2000046685A1/en not_active Ceased
- 2000-01-31 JP JP2000597698A patent/JP4707837B2/en not_active Expired - Lifetime
- 2000-01-31 KR KR1020017009832A patent/KR100734387B1/en not_active Expired - Fee Related
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7680758B2 (en) | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
| 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 |
| US8042120B2 (en) | 2004-09-30 | 2011-10-18 | Citrix Systems, Inc. | Method and apparatus for moving processes between isolation environments |
| US8117559B2 (en) | 2004-09-30 | 2012-02-14 | Citrix Systems, Inc. | Method and apparatus for virtualizing window information |
| US8132176B2 (en) | 2004-09-30 | 2012-03-06 | Citrix Systems, Inc. | Method for accessing, by application programs, resources residing inside an application isolation scope |
| 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 |
| US8302101B2 (en) | 2004-09-30 | 2012-10-30 | Citrix Systems, Inc. | Methods and systems for accessing, by application programs, resources provided by an operating system |
| US8095940B2 (en) | 2005-09-19 | 2012-01-10 | Citrix Systems, Inc. | Method and system for locating and accessing resources |
| 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 |
Also Published As
| Publication number | Publication date |
|---|---|
| KR100734387B1 (en) | 2007-07-02 |
| KR20000057127A (en) | 2000-09-15 |
| JP2003532166A (en) | 2003-10-28 |
| WO2000046685A1 (en) | 2000-08-10 |
| AU2463700A (en) | 2000-08-25 |
| EP1163599A1 (en) | 2001-12-19 |
| CN1354857A (en) | 2002-06-19 |
| JP4707837B2 (en) | 2011-06-22 |
| EP1163599A4 (en) | 2007-03-07 |
| KR20010101982A (en) | 2001-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1185591C (en) | Software rental system in distributed networks | |
| US7171390B1 (en) | System and method for executing a rental software program in distributed computing environment | |
| JP6754858B2 (en) | Systems and methods for workflow orchestration for use in cloud computing environments | |
| CN105138389B (en) | The management method and system of virtual unit in a kind of cluster | |
| US8131825B2 (en) | Method and a system for responding locally to requests for file metadata associated with files stored remotely | |
| US8732704B2 (en) | Support for personal computing in a public computing infrastructure by using a single VM delta image for each VM base image utilized by a user | |
| US8006241B2 (en) | Automatic software installation and cleanup | |
| CN1282022A (en) | Remote load executive method, system, data processing equipment, management equipment and recording medium | |
| CN1961307A (en) | System, method, and API for progressively installing software application | |
| US20070083655A1 (en) | Methods for selecting between a predetermined number of execution methods for an application program | |
| US20070083610A1 (en) | Method and a system for accessing a plurality of files comprising an application program | |
| US20080189708A1 (en) | Method and apparatus for preventing undesired termination of a process in an information handling system | |
| US20070245338A1 (en) | Virtual machine management program and virtual machine management method | |
| JP2001147901A (en) | Method and system for scheduling external job inside distributed processing system having local job control system | |
| CN1582421A (en) | Computer implemented method and system for controlling use of digitally encoded products | |
| JP2006523333A (en) | System and method for installing and integrating component data models | |
| CN101978665B (en) | Selective filtering of network communication requests | |
| EP2511821B1 (en) | Method and system for accessing a file in a directory structure associated with an application | |
| CN1869940A (en) | Method and system of information processing | |
| CN112653685A (en) | Method for assisting entry channel cloud interaction by client and electronic equipment | |
| US20090157794A1 (en) | Multiple Application Activation | |
| US20240419422A1 (en) | On-demand remote applications | |
| JP5712694B2 (en) | COMPUTER RESOURCE CONTROL DEVICE AND COMPUTER RESOURCE CONTROL PROGRAM | |
| CN101447888A (en) | Remote software installation system and method | |
| CN100507847C (en) | Method and apparatus for a client call service |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C06 | Publication | ||
| PB01 | Publication | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CX01 | Expiry of patent term |
Granted publication date: 20050119 |
|
| CX01 | Expiry of patent term |