KR20000057127A - Executing software program system for application service provider on distributed computing environment and method using the sa me - Google Patents

Executing software program system for application service provider on distributed computing environment and method using the sa me Download PDF

Info

Publication number
KR20000057127A
KR20000057127A KR1019990068380A KR19990068380A KR20000057127A KR 20000057127 A KR20000057127 A KR 20000057127A KR 1019990068380 A KR1019990068380 A KR 1019990068380A KR 19990068380 A KR19990068380 A KR 19990068380A KR 20000057127 A KR20000057127 A KR 20000057127A
Authority
KR
South Korea
Prior art keywords
program
user
file
lease
server
Prior art date
Application number
KR1019990068380A
Other languages
Korean (ko)
Inventor
송동호
안재완
Original Assignee
송동호
소프트온넷 주식회사
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 송동호, 소프트온넷 주식회사 filed Critical 송동호
Priority to KR1019990068380A priority Critical patent/KR20000057127A/en
Priority to EP00902996A priority patent/EP1163599A4/en
Priority to AU24637/00A priority patent/AU2463700A/en
Priority to JP2000597698A priority patent/JP4707837B2/en
Priority to CNB008049084A priority patent/CN1185591C/en
Priority to PCT/KR2000/000076 priority patent/WO2000046685A1/en
Priority to KR1020017009832A priority patent/KR100734387B1/en
Priority to US09/641,535 priority patent/US7171390B1/en
Publication of KR20000057127A publication Critical patent/KR20000057127A/en
Priority to US11/700,166 priority patent/US20070130075A1/en

Links

Classifications

    • 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
    • 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
    • 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

Abstract

PURPOSE: A program execution system and method is provided to access a remotely located server, download partially necessary program files and execute the programs at a user computer so that it can obtain an effect identical to the effect made when installing and executing the overall program files at the user computer. CONSTITUTION: A program execution method comprises steps of transmitting a list of lease software to a user computer(410), requesting a software among the list to a server(420), transmitting an execution file of the software, requested by the user, to the user computer and executing the lease software at the user computer(430), preventing the user from copying, deleting or moving the lease software(440), stopping the process temporarily, requesting/receiving a new file necessary for the process and continuing the process(450), transmitting the list again to the user computer and checking a new request if stopping the execution of the software(460), and stopping a file monitoring or a registry monitoring(470).

Description

소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행시스템 및 그 방법{EXECUTING SOFTWARE PROGRAM SYSTEM FOR APPLICATION SERVICE PROVIDER ON DISTRIBUTED COMPUTING ENVIRONMENT AND METHOD USING THE SA ME}Program execution system and its method in distributed computing environment for software leasing system {EXECUTING SOFTWARE PROGRAM SYSTEM

본 발명은 분산컴퓨팅 환경에서의 프로그램 수행시스템 및 그 방법에 관한 것으로, 특히 사용자 컴퓨터에서 프로그램을 설치하지 않고, 서버에 설치되어 있는 프로그램의 관련 파일을 전송 받아 프로그램을 설치하여 운영하는 것과 동일한 효과를 얻을 수 있는 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a system for executing a program in a distributed computing environment and a method thereof, and in particular, does not install a program on a user computer, and has the same effect as installing and operating a program by receiving a related file of a program installed on a server. The present invention relates to a system for executing a program in a distributed computing environment for a software rental system, and a method and a computer readable recording medium storing a program for realizing the method.

일반적으로, 컴퓨터는 자체의 저장장치에 프로그램을 설치하는데 압축 및 저장되어 씨디롬(CD-ROM), 디스켓 또는 네트워크를 통하여 공급된 프로그램의 원시코드들이 풀어져 컴퓨터의 시스템 디렉토리(예를 들면, 윈도우즈 환경의 "windows" 디렉토리) 및 사용자 디렉토리 영역에 저장되어, 파일구조를 형성하며, 사용자의 요청에 의해 수행하게 된다.In general, a computer installs a program in its own storage device, where the source code of the program, which is compressed and stored on a CD-ROM, diskette or network, is extracted to a system directory of the computer (e.g., in a Windows environment). "windows" directory) and user directory area to form a file structure, which is performed by user's request.

그러나, 상기한 바와 같은 프로그램 수행방법은, 사용자가 원하는 프로그램을 자체 저장장치에 저장해야 함으로써, 많은 저장공간을 필요로하고, 사용자가 다양한 프로그램을 사용하고자 할 경우, 매번 원하는 프로그램의 설치과정을 수행해야 하며, 프로그램이 업그레이드되거나 변경되었을 경우, 재설치해야 하는 번거로움이 있다.However, the program execution method as described above requires a user to store a desired program in its own storage device, which requires a lot of storage space, and when the user wants to use a variety of programs, the desired program is installed every time. If the program is upgraded or changed, it has to be reinstalled.

종래의 다른 프로그램 수행방법으로, 사용자가 네트워크를 통하여 서버로부터 필요한 프로그램 파일을 복사 또는 이동하여 설치하는 방법이 있다. 즉, 파일시스템에서 제공하는 분산파일 시스템의 기능중 원격 파일시스템을 로컬디렉토리(local directory)에 마운트(mount)시켜 마치 서버의 파일시스템이 자신의 로컬 파일시스템인 것처럼 사용하는 방법이다.Another conventional program execution method includes a method in which a user copies or moves a necessary program file from a server through a network and installs the program file. In other words, among the functions of the distributed file system provided by the file system, the remote file system is mounted in a local directory and used as if the server file system is its own local file system.

그러나, 상기한 바와 같은 프로그램 수행방법은, 프로그램의 수행중에 필요로하는 파일의 일부가 마운트된 파일시스템에 포함되어 있지 않으면, 정상적으로 프로그램을 수행할 수 없는 문제가 있다.However, the program execution method as described above has a problem in that the program cannot be normally executed unless a part of the file required during the execution of the program is included in the mounted file system.

따라서, 상기와 같은 문제점을 해결하기 위해 안출된 본 발명은, 분산컴퓨팅 환경에서 사용자 컴퓨터에서 원격지 서버에 네트워크를 통해 접속하여, 부분적으로 필요한 프로그램 파일을 다운로딩하여 수행함으로써, 사용자 컴퓨터에 프로그램 전체를 설치하여 운영하는 것과 동일한 효과를 거둘 수 있는 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.Therefore, the present invention has been made to solve the above problems, in the distributed computing environment by connecting to a remote server from the user computer via a network, by partially downloading the necessary program files, the entire program to the user computer The purpose of the present invention is to provide a system for executing a program in a distributed computing environment for a software rental system that can achieve the same effect as an installed and operated system, and a method and a computer-readable recording medium recording a program for realizing the method. have.

도 1 은 본 발명에 따른 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행시스템의 일실시예 구성도.1 is a configuration diagram of an embodiment of a program execution system in a distributed computing environment for a software rental system according to the present invention.

도 2 는 본 발명에 따른 사용자 컴퓨터의 일실시예 상세 구성도.Figure 2 is a detailed configuration diagram of one embodiment of a user computer according to the present invention.

도 3 은 본 발명에 따른 서버의 일실시예 상세 구성도.Figure 3 is a detailed configuration diagram of one embodiment of a server according to the present invention.

도 4 는 본 발명에 따른 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행방법에 대한 일실시예 처리흐름도.Figure 4 is an embodiment processing flow diagram for a program execution method in a distributed computing environment for a software rental system according to the present invention.

도 5 는 상기 도 4 의 사용자 인증을 통한 서버 접속에 대한 서브루틴의 일실시예 상세 흐름도.FIG. 5 is a detailed flowchart of one embodiment of a subroutine for server connection through user authentication of FIG. 4. FIG.

도 6 은 상기 도 4 의 서버로부터 임대 프로그램의 실행파일을 수신하여 실행하는 서브루틴의 일실시예 상세 흐름도.6 is a detailed flowchart illustrating an embodiment of a subroutine that receives and executes an execution file of a lease program from the server of FIG. 4.

도 7 은 상기 도 4 의 프로세스가 파일 또는 레지스트리를 요청 및 수신하는 서브루틴의 상세 흐름도.7 is a detailed flowchart of a subroutine in which the process of FIG. 4 requests and receives a file or registry.

도 8 은 본 발명에 따른 서버의 임대 프로그램 목록에 대한 일실시예 예시도.Figure 8 is an exemplary embodiment of a list of lease programs of the server according to the present invention.

도 9 는 본 발명에 따른 사용자 컴퓨터에서 임대 프로그램 목록에서 수행시킬 프로그램을 선택한 목록에 대한 일실시예 예시도.Figure 9 is an exemplary embodiment of a list for selecting a program to be performed in the lease program list in the user computer according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

10 : 사용자 컴퓨터 12 : 사용자 네트워크 장치10: user computer 12: user network device

14 : 서버 네트워크 장치 16 : 서버14: server network device 16: server

200 : 네트워크 관리부 201 : 임대 프로그램 관리부200: network management unit 201: lease program management unit

202 : 프로세스 관리부 203 : 제 1 기억장치202: process manager 203: first storage device

204 : 제 1 사용자 데이터베이스 205 : 파일 감시부204: First user database 205: File monitor

206 : 레지스트리 감시부 207 : 보호장치206: registry monitoring unit 207: protection device

300 : 서버 네트워크 관리부 301 : 패스워드 확인부300: server network management unit 301: password confirmation unit

302 : 제 2 사용자 데이터베이스 303 : 과금 처리부302: second user database 303: billing processing unit

304 : 로그 데이터베이스 305 : 파일전송 관리부304: log database 305: file transfer management unit

306 : 중앙처리장치 307 : 임대 프로그램 데이터베이스306: central processing unit 307: lease program database

308 : 임대 프로그램 분석부 309 : 제 2 기억장치308: lease program analysis unit 309: second storage device

310 : 스케쥴 관리부 311 : 세션 관리부310: schedule management unit 311: session management unit

상기 목적을 달성하기 위한 본 발명에 따른 시스템은, 분산컴퓨팅 환경에서의 프로그램 수행 시스템에 있어서, 임대 프로그램의 전송을 요청하고, 상기 임대 프로그램을 수행하며, 임대 프로그램 수행중에 필요한 파일 또는 레지스트리를 요청하는 사용자 컴퓨터; 및 상기 사용자 컴퓨터에서 수행될 임대 프로그램이 설치되어 있고, 상기 임대 프로그램의 관련 파일 또는 레지스트리를 관리하며, 상기 사용자 컴퓨터로부터 요청된 파일 또는 레지스트리를 상기 프로그램의 저장경로 및 사전정보를 참조하여 획득한 후, 상기 사용자 컴퓨터로 전송하는 서버수단을 포함한다.The system according to the present invention for achieving the above object, in the program execution system in a distributed computing environment, to request the transfer of the lease program, to perform the lease program, and to request a file or registry required during the lease program execution User computer; And a rental program to be executed on the user computer, manages a related file or registry of the rental program, obtains a file or registry requested from the user computer with reference to a storage path and dictionary information of the program. And server means for transmitting to the user computer.

한편, 본 발명의 방법은, 분산컴퓨팅 환경에서의 프로그램 수행 시스템에 적용되는 프로그램 수행 방법에 있어서, 사용자 인증을 수행한 후 서버수단에 접속하고, 상기 서버가 전송할 수 있는 임대 프로그램의 목록을 사용자 컴퓨터에 전송하는 제 1 단계; 상기 사용자 컴퓨터에 디스플레이된 임대 프로그램의 목록에서 필요한 임대 프로그램을 상기 서버수단에 요청하는 제 2 단계; 상기 서버수단이 상기 요청을 수신하여 요청한 임대 프로그램의 실행파일을 전송하고, 상기 사용자 컴퓨터에서 상기 임대 프로그램을 실행시키는 제 3 단계; 상기 임대 프로그램이 상기 사용자 컴퓨터에서 수행되면, 사용자가 임의로 임대 프로그램 파일에 접근하여 복사, 삭제 또는 이동작업등을 수행하지 못하도록 보호하는 제 4 단계; 상기 사용자 컴퓨터에서 수행중인 프로세스가 필요한 파일 또는 레지스트리를 요청 및 수신하여 프로세스 수행을 일시 중지 및 계속 수행하는 제 5 단계; 상기 사용자 컴퓨터에서 상기 프로그램의 수행이 종료되면, 상기 서버수단 상기 프로그램 목록을 다시 전송하여, 다른 임대 프로그램의 요구가 있는가를 판단하는 제 6 단계; 및 상기 제 6 단계의 판단결과, 다른 임대 프로그램의 요구가 없으면, 파일 감시수단 및 레지스트리 감시수단을 종료시키고, 저장된 프로그램을 삭제하는 제 7 단계를 포함한다.On the other hand, the method of the present invention, in the program execution method applied to the program execution system in a distributed computing environment, after the user authentication is connected to the server means, a list of lease programs that the server can transmit the user computer Transmitting to the first step; Requesting the server means for the necessary lease program from the list of lease programs displayed on the user computer; A third step of receiving, by the server means, the execution file of the requested rental program, and executing the rental program on the user computer; A fourth step of protecting the user from randomly accessing the lease program file and performing a copy, deletion, or moving operation when the lease program is executed in the user computer; A fifth step of suspending and continuing execution of a process by requesting and receiving a file or a registry required by a process running on the user computer; A sixth step when the execution of the program is terminated at the user computer, the server means transmitting the program list again to determine whether there is a request for another lease program; And a seventh step of terminating the file monitoring means and the registry monitoring means and deleting the stored program if there is no request of another rental program as a result of the determination in the sixth step.

또한, 본 발명은, 마이크로 프로세서를 구비한 분산컴퓨팅 환경에서의 프로그램 수행 시스템에, 사용자 인증을 수행한 후 서버수단에 접속하고, 상기 서버가 전송할 수 있는 임대 프로그램의 목록을 사용자 컴퓨터에 전송하는 제 1 기능; 상기 사용자 컴퓨터에 디스플레이된 임대 프로그램의 목록에서 필요한 임대 프로그램을 상기 서버수단에 요청하는 제 2 기능; 상기 서버수단이 상기 요청을 수신하여 요청한 임대 프로그램의 실행파일을 전송하고, 상기 사용자 컴퓨터에서 상기 임대 프로그램을 실행시키는 제 3 기능; 상기 임대 프로그램이 상기 사용자 컴퓨터에서 수행되면, 사용자가 임의로 임대 프로그램 파일에 접근하여 복사, 삭제 또는 이동작업등을 수행하지 못하도록 보호하는 제 4 기능; 상기 사용자 컴퓨터에서 수행중인 프로세스가 필요한 파일 또는 레지스트리를 요청 및 수신하여 프로세스 수행을 일시 중지 및 계속 수행하는 제 5 기능; 상기 사용자 컴퓨터에서 상기 프로그램의 수행이 종료되면, 상기 서버수단 상기 프로그램 목록을 다시 전송하여, 다른 임대 프로그램의 요구가 있는가를 판단하는 제 6 기능; 및 상기 제 6 기능의 판단결과, 다른 임대 프로그램의 요구가 없으면, 파일 감시수단 및 레지스트리 감시수단을 종료시키고, 저장된 프로그램을 삭제하는 제 7 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.The present invention also provides a system for executing a program in a distributed computing environment including a microprocessor, after performing user authentication, connecting to a server means, and transmitting a list of lease programs that the server can transmit to a user computer. 1 function; A second function of requesting the server means for the necessary lease program from the list of lease programs displayed on the user computer; A third function of receiving, by the server means, transmitting the execution file of the requested rental program and executing the rental program on the user computer; A fourth function of protecting the user from randomly accessing the lease program file to perform a copy, delete, or move operation when the lease program is executed in the user computer; A fifth function of suspending and continuing execution of a process by requesting and receiving a file or a registry required by a process running on the user computer; A sixth function when the execution of the program at the user computer is finished, retransmitting the program list by the server means to determine whether there is a request for another lease program; And a computer-readable recording medium having recorded thereon a program for realizing a seventh function of terminating the file monitoring means and the registry monitoring means and deleting the stored program if there is no request of another lease program as a result of the determination of the sixth function. To provide.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명에 따른 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행시스템의 일실시예 구성도이다.1 is a configuration diagram of an embodiment of a program execution system in a distributed computing environment for a software rental system according to the present invention.

도면에 도시된 바와 같이, 본 발명에 따른 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행시스템은, 임대 프로그램의 수행 및 요청을 하는 사용자 컴퓨터(10)와, 상기 사용자 컴퓨터(10)를 네트워크를 통해 서버와 연결할 수 있도록 하는 사용자 네트워크 장치(12)와, 상기 사용자 네트워크 장치(12)와 네트워크를 통해 통신을 수행하는 서버 네트워크 장치(14)와, 상기 사용자 컴퓨터(10)에서 수행될 임대 프로그램이 설치되어 있으며 해당 임대 프로그램의 관련 파일 또는 레지스트리를 관리하는 서버(16)를 구비한다.As shown in the figure, a program execution system in a distributed computing environment for a software rental system according to the present invention, the user computer 10 for performing and requesting the lease program, and the user computer 10 to the network A user network device 12 capable of connecting to the server via a server, a server network device 14 communicating with the user network device 12 via a network, and a lease program to be executed in the user computer 10 It is provided with a server 16 that is installed and manages the related files or registry of the rental program.

그러면, 첨부된 도 2 내지 도 3 을 참조하여 본 발명에 따른 사용자 컴퓨터 및 서버의 상세 구성을 살펴보기로 한다.Next, a detailed configuration of a user computer and a server according to the present invention will be described with reference to FIGS. 2 to 3.

도 2 는 본 발명에 따른 사용자 컴퓨터의 일실시예 상세 구성도이다.2 is a detailed configuration diagram of an embodiment of a user computer according to the present invention.

도면에 도시된 바와 같이, 본 발명에 따른 사용자 컴퓨터는, 서버와 네트워크 환경을 조사하고 서버로부터 수신되는 메세지를 분석하는 사용자 컴퓨터와 서버간의 전송매체인 네트워크 관리부(200)와, 사용자 컴퓨터에 대한 인증 및 에러처리를 수행하는 임대 프로그램 관리부(201)와, 임대 프로그램에 대한 프로세스의 생성, 일시중지 및 소멸을 담당하는 프로세스 관리부(202)와, 임대 프로그램이 적재되어 수행되는 제 1 기억장치(203)와, 사용자에 대한 세부 명세 및 사용자 컴퓨터에 대한 작업환경 정보가 저장된 제 1 사용자 데이터베이스(204)와, 임대 프로그램의 프로세스가 파일을 요구하면 그 요구를 상기 프로세스 관리부(202) 및 네트워크 관리부(200)를 통해 서버에 해당 파일을 요청하는 파일 감시부(205)와, 임대 프로그램의 프로세스가 레지스트리를 요구하면 상기 프로세스 관리부(202) 및 네트워크 관리부(200)를 통해 서버에 해당 레지시트리를 요청하는 레지스트리 감시부(206), 임대 프로그램의 파일 경로로부터 사용자의 접근을 통제하고 사용자의 잘못된 행위로부터 임대 프로그램을 보호하는 보호장치(207)를 구비한다.As shown in the figure, a user computer according to the present invention includes a network management unit 200, which is a transmission medium between a user computer and a server that examines a server and a network environment and analyzes a message received from the server, and authenticates the user computer. And a lease program manager 201 that performs error processing, a process manager 202 responsible for generating, pausing and destroying a process for the lease program, and a first storage device 203 in which the lease program is loaded and executed. And a first user database 204 storing detailed specification of a user and work environment information of a user computer, and requesting a file from a process of a lease program by the process manager 202 and the network manager 200. The file monitoring unit 205 for requesting the file through the server and the process of the lease program Obtaining the registry through the process manager 202 and the network manager 200 to control the user's access from the file path of the registry monitoring unit 206, the lease program requesting the corresponding registry to the server and the lease program from the wrong behavior of the user. It is provided with a protective device (207) to protect the.

첨부된 도 3 은 본 발명에 따른 서버의 일실시예 상세 구성도이다.3 is a detailed configuration diagram of an embodiment of a server according to the present invention.

도면에 도시된 바와 같이, 본 발명에 따른 서버는, 사용자와 상호간에 메세지 및 파일을 송수신을 수행하는 서버 네트워크 관리부(300)와, 사용자의 인증 정보 및 사전정보를 이용하여 사용자를 인증하는 패스워드 확인부(301)와, 사용자 인증에 필요한 사용자의 정보 및 과금정보를 저장하는 제 2 사용자 데이터베이스(302)와, 사용자의 임대 프로그램 사용에 대한 과금을 처리하는 과금처리부(303)와, 시스템의 치명적인 오류로 인해 시스템 작동이 중단되었을 경우 자동복구 및 사용자에 대한 서비스를 재개하기 위한 내용을 저장하고 있는 로그 데이터베이스(304)와, 사용자의 요구에 따른 임대 프로그램의 파일 또는 레지스트리를 상기 세션관리부(300)를 통해 사용자 컴퓨터(10)에 전송하는 파일전송 관리부(305)와, 사용자 인증 및 과금에 대한 성공여부를 각 구성요소에 전송하고 상기 로그 데이터베이스(304)를 이용하여 오류가 발생한 시스템을 복구하는 중앙처리장치(306)와, 임대 프로그램에 대한 저장경로 및 사전정보를 저장하고 있는 임대 프로그램 데이터베이스(307)와, 상기 임대 프로그램 데이터베이스(307)로부터 임대 프로그램의 사전정보를 획득하고 서버에 프로그램 설치시 그에 대한 정보를 상기 임대 프로그램 데이터베이스(307)에 저장하는 임대 프로그램 분석부(308)와, 사용자 컴퓨터(10)의 임대 프로그램에서 요청한 파일 또는 레지스트리를 전송하기 위해 임시 저장하는 제 2 기억장치(309)와, 사용자의 임대 프로그램 예약을 관리하는 스케쥴 관리부(310)와, 상기 임대 프로그램을 사용하는 사용자를 그룹화하여 관리하는 세션 관리부(311)를 구비한다.As shown in the figure, the server according to the present invention, the server network management unit 300 for transmitting and receiving messages and files between the user and the password confirmation for authenticating the user using the user's authentication information and dictionary information Section 301, a second user database 302 for storing user information and billing information required for user authentication, a billing processing unit 303 for processing billing for use of the lease program of the user, and a fatal error of the system When the system operation is stopped due to the log database 304 that stores the contents for automatic recovery and service for the user, and the session management unit 300 to the file or registry of the lease program according to the user's request File transfer management unit 305 for transmitting to the user computer 10 through, and whether the user authentication and billing success or not A central processing unit (306) for transmitting to a component and using the log database (304) to recover an error system, a rental program database (307) for storing a storage path and dictionary information for a lease program, The lease program analysis unit 308 obtains dictionary information of the lease program from the lease program database 307 and stores information about the lease program in the lease program database 307 when the program is installed in the server. A second storage device 309 for temporarily storing a file or registry requested by the lease program, a schedule manager 310 for managing a lease program reservation for the user, and a user who uses the lease program in a grouped manner The session manager 311 is provided.

이제 첨부된 도 4 내지 도 6 을 참조하여 본 발명에 따른 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행방법을 상세히 설명하면 다음과 같다.Now, a method of executing a program in a distributed computing environment for a software rental system according to the present invention will be described in detail with reference to FIGS. 4 to 6 as follows.

첨부된 도 4 는 본 발명에 따른 소프트웨어 임대 시스템을 위한 분산컴퓨팅 환경에서의 프로그램 수행방법에 대한 일실시예 처리흐름도이다.4 is a flowchart illustrating a method of executing a program in a distributed computing environment for a software rental system according to the present invention.

먼저, 사용자 인증을 수행한 후 서버(16)에 접속하면(400), 상기 서버(16)는 임대할 수 있는 프로그램의 목록을 사용자 컴퓨터(10)에 전송하여 디스플레이한다(410).First, after performing user authentication and accessing the server 16 (400), the server 16 transmits and displays a list of programs that can be leased to the user computer 10 (410).

상기 사용자 컴퓨터(10)에 디스플레이된 상기 임대 프로그램의 목록에서 필요한 임대 프로그램을 상기 서버(16)에 요청하면(420), 상기 서버(16)는 그 요청을 수신하여 상기 사용자 컴퓨터(10)에서 요청한 임대 프로그램의 실행파일을 온디멘드(on-demand) 방식으로 전송하고, 상기 사용자 컴퓨터(10)에서는 서버(16)로부터 수신한 임대 프로그램을 실행한다(430). 이때, 상기 서버(16)의 과금처리부(303)는 상기 사용자 컴퓨터(10)의 임대 프로그램 요청시간을 상기 제 2 사용자 데이터베이스(302)에 기록하고, 상기 사용자 컴퓨터(10)의 보호장치(207)는 임대 프로그램의 수행중에 사용자가 임의로 임대 프로그램 파일에 접근하여 복사, 삭제 또는 이동작업등을 수행하지 못하도록 임대 프로그램의 수행이 종료된 후, 상기 임대 프로그램 파일이 사용자 컴퓨터(10)에서 삭제될 때 까지 보호한다.When the server 16 requests the required lease program from the list of the lease programs displayed on the user computer 10 (420), the server 16 receives the request and requests the request from the user computer 10. The executable file of the lease program is transmitted on-demand, and the user computer 10 executes the lease program received from the server 16 (430). At this time, the charging processing unit 303 of the server 16 records the lease program request time of the user computer 10 in the second user database 302, the protection device 207 of the user computer 10 After the lease program is terminated to prevent the user from randomly accessing the lease program file and performing a copy, delete or move operation during the lease program, the lease program file is protected until it is deleted from the user computer 10. do.

상기 생성된 임대 프로그램의 프로세스가 수행중에 파일 또는 레지스트리를 요청하면, 해당 파일 또는 레지스트리를 상기 사용자 컴퓨터(10) 또는 서버(16)로부터 획득하여 프로세스를 계속 수행한다(440).When a process of the generated lease program requests a file or registry while it is being executed, the process obtains the file or registry from the user computer 10 or the server 16 and continues the process (440).

그리고, 상기 임대 프로그램의 수행을 모두 마치면(450), 상기 서버(16)는 상기 임대 프로그램 목록을 다시 디스플레이하여 다른 임대 프로그램의 요구가 있는가를 판단한다(460).In addition, when the execution of the lease program is completed (450), the server 16 displays the lease program list again to determine whether there is a request of another lease program (460).

상기 판단결과(460), 다른 임대 프로그램의 요구가 있으면, 상기 420단계부터 다시 수행하고, 다른 임대 프로그램의 요구가 없으면, 상기 파일 감시부(205) 및 레지스트리 감시부(206)를 종료시키고, 저장된 임대 프로그램을 삭제한 후, 종료한다.In the determination result 460, if there is a request of another rental program, the process is performed again from step 420. If there is no request of another rental program, the file monitoring unit 205 and the registry monitoring unit 206 are terminated and stored. Delete the lease program and exit.

첨부된 도 5 는 상기 도 4 의 사용자 인증을 통한 서버 접속에 대한 서브루틴의 일실시예 상세 흐름도이다.5 is a detailed flowchart of one embodiment of a subroutine for server access through the user authentication of FIG. 4.

먼저, 상기 임대 프로그램 관리부(201)가 사용자 또는 제 1 사용자 데이터베이스(204)에서 사용자 인증에 필요한 정보를 획득하여(401), 상기 네트워크 관리부(200)를 통해 상기 서버(16)에 접속하여 사용자 인증을 수행한다(402). 이때, 상기 서버(16)의 서버 네트워크 관리부(300)는 상기 네트워크 관리부(200)를 통해 사용자 인증에 필요한 정보를 수신하고, 상기 패스워드 확인부(301)는 상기 사용자 인증을 수행하여, 그 결과를 상기 중앙처리장치(306)로 전송한다.First, the rental program manager 201 obtains information necessary for user authentication from a user or first user database 204 (401), and accesses the server 16 through the network manager 200 to authenticate a user. Perform 402. At this time, the server network management unit 300 of the server 16 receives the information necessary for user authentication through the network management unit 200, the password check unit 301 performs the user authentication, and the result The CPU 306 transmits the data to the CPU 306.

그리고, 사용자가 요청한 프로그램 파일을 전송하기 위한 초기화 작업을 수행하고(403), 상기 임대 프로그램 데이터베이스(307)에서 임대 소프트웨어 목록을 획득하여, 상기 제 2 기억장치에 임시 저장하면, 상기 파일전송 관리부(305)에서 그 목록을 상기 세션관리부(311) 및 상기 서버 네트워크 관리부(300) 통해 사용자 컴퓨터(10)와 송수신한다(404). 여기서, 상기 초기화 작업은 서버(16)에 설치되어있는 프로그램들 중 실행파일을 추출하고, 상기 추출된 프로그램 파일중에서 임대 프로그램 서버스를 제공할 프로그램 목록을 생성하는 것이다.If the user performs an initialization operation for transmitting the program file requested by the user (403), the lease software database is obtained from the lease program database 307, and temporarily stored in the second storage device. In operation 305, the list is transmitted and received with the user computer 10 through the session manager 311 and the server network manager 300 (404). Here, the initialization operation is to extract an executable file among the programs installed in the server 16, and to generate a list of programs to provide a lease program server from the extracted program file.

첨부된 도 6 은 상기 도 4 의 서버로부터 임대 프로그램의 실행파일을 수신하여 실행하는 서브루틴의 일실시예 상세 흐름도이다.6 is a detailed flowchart illustrating one embodiment of a subroutine that receives and executes an execution file of a rental program from the server of FIG. 4.

먼저, 상기 네트워크 관리부(200)는 상기 서버(16)로부터 임대 프로그램의 실행파일을 수신하고(431), 상기 프로세스 관리부(202)는 상기 임대 프로그램의 프로세스를 생성하여 실행시킨다(432).First, the network manager 200 receives an execution file of a rental program from the server 16 (431), and the process manager 202 generates and executes a process of the rental program (432).

첨부된 도 7 은 상기 도 4 의 프로세스가 파일 또는 레지스트리를 요청 및 수신하는 서브루틴의 상세흐름도로서, 상기 파일 감시부(205) 또는 레지스트리 감시부(206)는 상기 임대 프로그램의 프로세스가 수행중에 파일 또는 레지스트리를 요청하면(441), 요청한 파일 또는 레지스트리가 현재 사용자 컴퓨터(10)에 있는지를 판단한다(442).7 is a detailed flowchart of a subroutine in which the process of FIG. 4 requests and receives a file or a registry, and the file monitoring unit 205 or the registry monitoring unit 206 stores a file while a process of the lease program is running. Or, if the registry is requested (441), it is determined whether the requested file or registry is present in the user computer 10 (442).

상기 판단결과(442), 요청한 파일 또는 레지스트리가 현재 사용자 컴퓨터(10)에 있으면, 상기 프로세스 관리부(202)는 상기 프로세스가 요청한 파일 또는 레지스트리를 상기 사용자 컴퓨터(10)의 제 1 기억장치(203)에서 획득한다(443).In response to the determination result 442, if the requested file or registry is present in the user computer 10, the process manager 202 stores the file or registry requested by the process in the first storage device 203 of the user computer 10. Obtained at 443.

상기 판단결과(442), 요청한 파일 또는 레지스트리가 현재 사용자 컴퓨터(10)에 없으면, 상기 프로세스 관리부(202)는 프로세스의 수행을 일시 중지시키고(444), 상기 네트워크 관리부(200)를 통해 상기 서버(16)에 상기 프로세스가 요청한 파일 또는 레지스트리의 전송을 요청하면(445), 상기 서버(16)는 상기 임대 프로그램 데이터베이스(307)의 파일 경로 정보를 통해 상기 제 2 기억장치(309)에서 파일 또는 레지스트리를 획득하여, 상기 세션관리부(311) 및 서버 네트워크 관리부(300)를 통해 상기 사용자 컴퓨터(10)에 전송한다(446).As a result of the determination 442, if the requested file or registry does not exist in the current user computer 10, the process manager 202 suspends execution of the process (444) and the server (the server) through the network manager 200. 16, the server 16 requests the transfer of the file or registry requested by the process (445), the server 16 in the second storage device 309 via the file path information of the lease program database (307) It obtains and transmits to the user computer 10 through the session manager 311 and the server network manager 300 (446).

상기 프로세스 관리부(202)는 상기 파일 또는 레지스트리를 수신하여 프로세스를 수행 시킨다(447).The process manager 202 receives the file or registry and executes the process (447).

첨부된 도 8 은 본 발명에 따른 서버의 임대 프로그램 목록에 대한 일실시예 예시도로서, 서버(16)에 설치되어 있는 모든 프로그램 실행파일의 목록을 추출하여 "executing files" 목록을 생성하고, 상기 모든 프로그램 실행파일의 목록에서 임대할 프로그램을 선택하여 임대 프로그램 목록("List of Exe files")을 추출한다. 그리고, 현재 서버(16)에 연결되어 있는 사용자의 목록을 표시할 수 있으며, 상기 임대 프로그램 중 임대 횟수에 따라 순위를 지정할 수 있다.8 is a diagram illustrating an embodiment of a lease program list of a server according to the present invention. The list of all program execution files installed in the server 16 is extracted to generate an "executing files" list. Extract the lease program list ("List of Exe files") by selecting the program to lease from the list of all program executables. In addition, a list of users currently connected to the server 16 may be displayed, and a ranking may be designated according to the number of leases among the lease programs.

첨부된 도 9 는 본 발명에 따른 사용자 컴퓨터에서 임대 프로그램 목록에서 수행시킬 프로그램을 선택한 목록에 대한 일실시예 예시도로서, 상기 서버(16)에 사용자 인증을 거쳐 접속된 사용자 컴퓨터(10)의 화면에 디스플레이되는 임대 프로그램의 목록중에서 사용자가 필요로하는 임대 프로그램을 선택한 목록을 나타내며, 이 중에서 선택한 임대 프로그램의 실행에 필요한 파일 및 레지스트리가 상기 서버(16)로 부터 전송되어 상기 사용자 컴퓨터(10)에서 실행된다.9 is a diagram illustrating an example of selecting a program to be performed from a list of lease programs in a user computer according to the present invention. FIG. 9 is a screen of a user computer 10 connected to the server 16 through user authentication. The lease program is selected from the list of lease programs displayed on the list, and the file and the registry required for the execution of the lease program selected therefrom are transferred from the server 16 to the user computer 10. Is executed.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited to the drawing.

상기와 같은 본 발명은, 분산컴퓨팅 환경에서 프로그램을 사용자 컴퓨터의 기억장치에 설치하지 않고 서버로부터 실행 프로그램을 복사 및 이동하여 수행함으로써, 사용자 컴퓨터의 기억장치를 절약할 수 있고, 사용자의 프로그램 설치시간으로 현저하게 줄일 수 있는 효과가 있으며, 프로그램의 수행중에 필요로 하는 파일 또는 레지스트리의 일부가 마운트된 파일시스템에 포함되어 있지 않을 경우, 해당 임대 프로그램의 저장 경로 및 사전정보를 이용하여 서버의 파일시스템에서 원하는 파일 또는 레지스트리를 사용자 컴퓨터에 전송할 수 있어, 분산컴퓨팅 환경에서 프로그램의 수행오류를 최소화할 수 있는 효과가 있다.As described above, the present invention saves the storage of the user's computer by copying and moving the executed program from the server without installing the program in the storage of the user's computer in a distributed computing environment. If the file or registry part of the program is not included in the mounted file system, the server's file system is saved by using the storage path and dictionary information of the leased program. Can transfer the desired file or registry to the user's computer, thereby minimizing the error of program execution in distributed computing environment.

Claims (9)

분산컴퓨팅 환경에서의 프로그램 수행 시스템에 있어서,In a program execution system in a distributed computing environment, 임대 프로그램의 전송을 요청하고, 상기 임대 프로그램을 수행하며, 임대 프로그램 수행중에 필요한 파일 또는 레지스트리를 요청하는 사용자 컴퓨터; 및A user computer for requesting the transfer of the lease program, executing the lease program, and requesting a file or registry required during the lease program execution; And 상기 사용자 컴퓨터에서 수행될 임대 프로그램이 설치되어 있고, 상기 임대 프로그램의 관련 파일 또는 레지스트리를 관리하며, 상기 사용자 컴퓨터로부터 요청된 파일 또는 레지스트리를 상기 프로그램의 저장경로 및 사전정보를 참조하여 획득한 후, 상기 사용자 컴퓨터로 전송하는 서버수단A lease program to be executed in the user computer is installed, manages a related file or registry of the lease program, and obtains a file or registry requested from the user computer with reference to a storage path and dictionary information of the program; Server means for transmitting to the user computer 을 포함하는 분산컴퓨팅 환경에서의 프로그램 수행 시스템.Program execution system in a distributed computing environment comprising a. 제 1 항에 있어서,The method of claim 1, 상기 사용자 컴퓨터는,The user computer, 상기 서버수단 및 네트워크 환경을 조사하고 서버로부터 수신되는 메세지를 분석하는 네트워크 관리수단;Network management means for investigating the server means and the network environment and for analyzing the messages received from the server; 상기 사용자 컴퓨터에서 임대 프로그램을 요청하는 사용자에 대한 인증 및 프로그램 수행중 발생하는 에러를 처리하는 임대 프로그램 관리수단;Lease program management means for handling an error occurring during authentication and program execution for a user requesting a lease program in the user computer; 상기 서버로부터 수신된 임대 프로그램에 대한 프로세스의 생성, 일시중지 및 소멸작업을 수행하는 프로세스 관리수단;Process management means for creating, pausing, and destroying a process for the lease program received from the server; 상기 임대 프로그램이 적재되어 수행되는 제 1 기억수단;First storage means for carrying out the rented program; 사용자에 대한 세부 명세 및 상기 사용자 컴퓨터에 대한 작업환경 정보가 저장된 제 1 사용자 데이터베이스;A first user database storing detailed specification of a user and work environment information of the user computer; 상기 임대 프로그램의 프로세스가 파일을 요구하면, 상기 프로세스 관리수단 및 네트워크 관리수단을 통해 상기 서버수단에 해당 파일을 요청하는 파일 감시수단;File monitoring means for requesting a file from the server means through the process management means and the network management means when a process of the lease program requests a file; 상기 임대 프로그램의 프로세스가 레지스트리를 요구하면, 상기 프로세스 관리수단 및 네트워크 관리수단을 통해 상기 서버수단에 해당 레지스트리를 요청하는 레지스트리 감시수단; 및Registry monitoring means for requesting the registry from the server means through the process management means and the network management means when the process of the lease program requires the registry; And 상기 임대 프로그램의 파일 경로로부터 사용자의 접근을 통제하며, 사용자의 잘못된 행위로부터 프로그램을 보호하는 보호수단을 포함하는 분산컴퓨팅 환경에서의 프로그램 수행 시스템.And a protection means for controlling a user's access from the file path of the leased program, and protecting the program from wrong behavior of the user. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 서버수단은,The server means, 상기 사용자 컴퓨터와 상호간에 메세지 및 파일을 송수신하는 서버 네트워크 관리수단;Server network management means for transmitting and receiving messages and files to and from the user computer; 사용자의 인증 정보 및 사전정보를 이용하여 사용자에 대한 인증을 수행하는 패스워드 확인수단;Password verification means for authenticating the user using the authentication information and the dictionary information of the user; 사용자 인증에 필요한 사용자의 정보 및 과금정보를 저장하는 제 2 사용자 데이터베이스;A second user database for storing user information and billing information required for user authentication; 사용자의 상기 임대 프로그램 사용에 대한 과금을 처리하는 과금 처리수단;Billing processing means for processing billing for the user's use of the lease program; 상기 서버수단의 치명적인 오류로 인해 시스템 작동이 중단되었을 경우 자동복구 및 사용자에 대한 서비스를 재개하기 위한 정보를 저장하고 있는 로그 데이터베이스;A log database storing information for automatic recovery and resuming a service to a user when a system operation is stopped due to a fatal error of the server means; 사용자의 요구에 따른 상기 프로그램의 파일 또는 레지스트리를 상기 세션 관리수단을 통해 상기 사용자 컴퓨터에 전송하는 파일전송 관리수단;File transfer management means for transmitting a file or registry of the program according to a user's request to the user computer through the session managing means; 사용자 인증 및 과금에 대한 성공여부를 각 구성요소에 전송하고, 상기 로그 데이터베이스를 이용하여 오류가 발생한 시스템을 복구하는 중앙처리수단;Central processing means for transmitting success or failure of user authentication and billing to each component, and recovering a system in which an error occurs using the log database; 상기 임대 프로그램에 대한 저장경로 및 사전정보를 저장하고 있는 프로그램 데이터베이스;A program database storing storage paths and dictionary information for the lease program; 상기 프로그램 데이터베이스로부터 상기 임대 프로그램의 사전정보를 획득하고, 상기 서버수단에 프로그램 설치시 그에 대한 정보를 상기 프로그램 데이터베이스에 저장하는 프로그램 분석수단;Program analysis means for obtaining advance information of the lease program from the program database and storing information about the program when installing the program in the server means in the program database; 상기 사용자 컴퓨터에서 수행되는 임대 프로그램에서 요청한 파일 또는 레지스트리를 전송하기 위해 임시 저장하는 제 2 기억수단;Second storage means for temporarily storing a file or a registry requested by a lease program executed in the user computer for transmission; 상기 사용자의 임대 프로그램 요청 스케쥴을 관리하는 스케쥴 관리수단; 및Schedule management means for managing the lease program request schedule of the user; And 상기 사용자들을 그룹화하여 관리하는 세션 관리수단Session management means for grouping and managing the users 을 포함하는 분산컴퓨팅 환경에서의 프로그램 수행 시스템.Program execution system in a distributed computing environment comprising a. 분산컴퓨팅 환경에서의 프로그램 수행 시스템에 적용되는 프로그램 수행 방법에 있어서,A program execution method applied to a program execution system in a distributed computing environment, 사용자 인증을 수행한 후 서버수단에 접속하고, 상기 서버가 전송할 수 있는 임대 프로그램의 목록을 사용자 컴퓨터에 전송하는 제 1 단계;A first step of accessing server means after performing user authentication and transmitting a list of lease programs which the server can transmit to a user computer; 상기 사용자 컴퓨터에 디스플레이된 임대 프로그램의 목록에서 필요한 임대 프로그램을 상기 서버수단에 요청하는 제 2 단계;Requesting the server means for the necessary lease program from the list of lease programs displayed on the user computer; 상기 서버수단이 상기 요청을 수신하여 요청한 임대 프로그램의 실행파일을 전송하고, 상기 사용자 컴퓨터에서 상기 임대 프로그램을 실행시키는 제 3 단계;A third step of receiving, by the server means, the execution file of the requested rental program, and executing the rental program on the user computer; 상기 임대 프로그램이 상기 사용자 컴퓨터에서 수행되면, 사용자가 임의로 임대 프로그램 파일에 접근하여 복사, 삭제 또는 이동작업등을 수행하지 못하도록 보호하는 제 4 단계;A fourth step of protecting the user from randomly accessing the lease program file and performing a copy, deletion, or moving operation when the lease program is executed in the user computer; 상기 사용자 컴퓨터에서 수행중인 프로세스가 필요한 파일 또는 레지스트리를 요청 및 수신하여 프로세스 수행을 일시 중지 및 계속 수행하는 제 5 단계;A fifth step of suspending and continuing execution of a process by requesting and receiving a file or a registry required by a process running on the user computer; 상기 사용자 컴퓨터에서 상기 프로그램의 수행이 종료되면, 상기 서버수단 상기 프로그램 목록을 다시 전송하여, 다른 임대 프로그램의 요구가 있는가를 판단하는 제 6 단계; 및A sixth step when the execution of the program is terminated at the user computer, the server means transmitting the program list again to determine whether there is a request for another lease program; And 상기 제 6 단계의 판단결과, 다른 임대 프로그램의 요구가 없으면, 파일 감시수단 및 레지스트리 감시수단을 종료시키고, 저장된 프로그램을 삭제하는 제 7 단계As a result of the determination of the sixth step, if there is no request of another rental program, the seventh step of terminating the file monitoring means and the registry monitoring means and deleting the stored program; 를 포함하는 분산컴퓨팅 환경에서의 프로그램 수행방법.Program execution method in a distributed computing environment comprising a. 제 4 항에 있어서,The method of claim 4, wherein 상기 제 3 단계는,The third step, 상기 서버수단의 과금 처리수단이 상기 사용자 컴퓨터의 프로그램 요청시간을 제 2 사용자 데이터베이스에 기록하는 제 8 단계를 더 포함하는 분산컴퓨팅 환경에서의 프로그램 수행방법.And an eighth step of the charging processing means of the server means recording the program request time of the user computer in a second user database. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 제 1 단계는,The first step is, 상기 사용자 컴퓨터의 임대 프로그램 관리수단이 사용자 또는 제 1 사용자 데이터베이스에서 사용자 인증에 필요한 정보를 획득하는 제 9 단계;A ninth step of acquiring information necessary for user authentication from a user or a first user database by the lease program managing means of the user computer; 상기 임대 프로그램 관리수단이 사용자 인증에 필요한 정보를 네트워크 관리수단을 통해 상기 서버수단에 전송하는 제 10 단계;A tenth step in which the lease program managing means transmits information necessary for user authentication to the server means through a network managing means; 상기 서버수단의 세션 관리수단이 상기 네트워크 관리수단을 통해 사용자 인증에 필요한 정보를 수신하는 제 11 단계;An eleventh step of the session managing means of the server means receiving information necessary for user authentication through the network managing means; 패스워드 확인수단이 상기 사용자 인증을 수행하여, 그 결과를 중앙처리수단으로 전송하는 제 12 단계; 및A twelfth step of, by the password confirming means, performing the user authentication and transmitting the result to the central processing means; And 상기 서버수단이 사용자가 요청한 프로그램 파일을 전송하기 위한 초기화 작업을 수행하고, 프로그램 데이터베이스에서 임대 프로그램 목록을 획득하여, 제 2 기억수단 저장하고, 파일전송 관리수단에서 상기 목록을 상기 세션 관리수단을 통해 상기 사용자 컴퓨터에 전송하는 제 13 단계를 포함하는 분산컴퓨팅 환경에서의 프로그램 수행방법.The server means performs an initialization operation for transmitting the program file requested by the user, obtains a list of rental programs from the program database, stores the second storage means, and stores the list in the file transfer management means through the session managing means. And a thirteenth step of transmitting to the user computer. 제 6 항에 있어서,The method of claim 6, 상기 제 3 단계는,The third step, 상기 네트워크 관리수단이 상기 서버수단으로부터 임대 프로그램의 실행파일을 수신하는 제 13 단계; 및A thirteenth step, wherein said network management means receives an execution file of a rental program from said server means; And 상기 프로세스 관리수단에서 상기 임대 프로그램의 프로세스를 생성하여 실행시키는 제 14 단계를 포함하는 분산컴퓨팅 환경에서의 프로그램 수행방법.And a fourteenth step of generating and executing a process of the lease program in the process management means. 제 6 항에 있어서,The method of claim 6, 상기 제 4 단계는,The fourth step, 상기 파일 감시수단 또는 레지스트리 감시수단이 상기 임대 프로그램의 프로세스가 수행중에 파일 또는 레지스트리를 요청하면, 요청한 파일 또는 레지스트리가 현재 사용자 컴퓨터에 있는지를 판단하는 제 14 단계;A fourteenth step wherein the file monitoring means or the registry monitoring means determines whether the requested file or registry is present in the user's computer when the file or registry is requested while the process of the lease program is being executed; 상기 제 14 단계의 판단결과, 요청한 파일 또는 레지스트리가 현재 사용자 컴퓨터에 있으면, 상기 프로세스 관리수단이 상기 프로세스가 요청한 파일 또는 레지스트리를 상기 사용자 컴퓨터의 제 1 기억수단에서 획득하여, 프로세스의 수행을 계속 진행하는 제 15 단계;As a result of the determination in the fourteenth step, if the requested file or registry is present in the user's computer, the process managing means obtains the file or registry requested by the process from the first storage means of the user's computer and continues the execution of the process. A fifteenth step; 상기 제 14 단계의 판단결과, 요청한 파일 또는 레지스트리가 현재 사용자 컴퓨터에 없으면, 상기 프로세스 관리수단이 프로세스의 수행을 일시 중지시키고, 상기 네트워크 관리수단을 통해 상기 서버수단에 파일 또는 레지스트리의 전송을 요청하는 제 16 단계; 및As a result of the determination in step 14, if the requested file or registry is not currently present in the user's computer, the process management unit suspends execution of the process and requests the server means to transmit the file or registry through the network management unit. Sixteenth step; And 상기 서버수단이 상기 프로그램 데이터베이스의 파일 경로 정보를 통해 제 2 기억수단에서 파일 또는 레지스트리를 획득하여, 상기 세션 관리수단을 통해 상기 사용자 컴퓨터에 전송하는 제 17 단계를 포함하는 분산컴퓨팅 환경에서의 프로그램 수행방법.And a seventeenth step of the server means obtaining the file or the registry from the second storage means through the file path information of the program database and transmitting the file or registry to the user computer through the session managing means. Way. 마이크로 프로세서를 구비한, 분산컴퓨팅 환경에서의 프로그램 수행 시스템에,In a program execution system in a distributed computing environment having a microprocessor, 사용자 인증을 수행한 후 서버수단에 접속하고, 상기 서버가 전송할 수 있는 임대 프로그램의 목록을 사용자 컴퓨터에 전송하는 제 1 기능;A first function of connecting to server means after performing user authentication, and transmitting a list of lease programs which the server can transmit to a user computer; 상기 사용자 컴퓨터에 디스플레이된 임대 프로그램의 목록에서 필요한 임대 프로그램을 상기 서버수단에 요청하는 제 2 기능;A second function of requesting the server means for the necessary lease program from the list of lease programs displayed on the user computer; 상기 서버수단이 상기 요청을 수신하여 요청한 임대 프로그램의 실행파일을 전송하고, 상기 사용자 컴퓨터에서 상기 임대 프로그램을 실행시키는 제 3 기능;A third function of receiving, by the server means, transmitting the execution file of the requested rental program and executing the rental program on the user computer; 상기 임대 프로그램이 상기 사용자 컴퓨터에서 수행되면, 사용자가 임의로 임대 프로그램 파일에 접근하여 복사, 삭제 또는 이동작업등을 수행하지 못하도록 보호하는 제 4 기능;A fourth function of protecting the user from randomly accessing the lease program file to perform a copy, delete, or move operation when the lease program is executed in the user computer; 상기 사용자 컴퓨터에서 수행중인 프로세스가 필요한 파일 또는 레지스트리를 요청 및 수신하여 프로세스 수행을 일시 중지 및 계속 수행하는 제 5 기능;A fifth function of suspending and continuing execution of a process by requesting and receiving a file or a registry required by a process running on the user computer; 상기 사용자 컴퓨터에서 상기 프로그램의 수행이 종료되면, 상기 서버수단 상기 프로그램 목록을 다시 전송하여, 다른 임대 프로그램의 요구가 있는가를 판단하는 제 6 기능; 및A sixth function when the execution of the program at the user computer is finished, retransmitting the program list by the server means to determine whether there is a request for another lease program; And 상기 제 6 기능의 판단결과, 다른 임대 프로그램의 요구가 없으면, 파일 감시수단 및 레지스트리 감시수단을 종료시키고, 저장된 프로그램을 삭제하는 제 7 기능A seventh function of terminating the file monitoring means and the registry monitoring means and deleting the stored program if there is no request of another lease program as a result of the determination of the sixth function; 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1019990068380A 1999-02-03 1999-12-31 Executing software program system for application service provider on distributed computing environment and method using the sa me KR20000057127A (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
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
EP00902996A EP1163599A4 (en) 1999-02-03 2000-01-31 Software rental system in distributed networks
AU24637/00A AU2463700A (en) 1999-02-03 2000-01-31 Software rental system in distributed networks
JP2000597698A JP4707837B2 (en) 1999-02-03 2000-01-31 System and method for executing a rental software program in a distributed computing environment
CNB008049084A CN1185591C (en) 1999-02-03 2000-01-31 Software rental system in distributed networks
PCT/KR2000/000076 WO2000046685A1 (en) 1999-02-03 2000-01-31 Software rental system in distributed networks
KR1020017009832A KR100734387B1 (en) 1999-02-03 2000-01-31 System and Method for Executing Software Program in Distributed Computing Environment
US09/641,535 US7171390B1 (en) 1999-12-31 2000-08-18 System and method for executing a rental software program in distributed computing environment
US11/700,166 US20070130075A1 (en) 1999-12-31 2007-01-30 System and method for executing a rental software program in distributed computing environment

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR19990003481 1999-02-03
KR1019990003481 1999-02-03
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 (1)

Publication Number Publication Date
KR20000057127A true KR20000057127A (en) 2000-09-15

Family

ID=26634667

Family Applications (2)

Application Number Title Priority Date Filing Date
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
KR1020017009832A KR100734387B1 (en) 1999-02-03 2000-01-31 System and Method for Executing Software Program in Distributed Computing Environment

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020017009832A KR100734387B1 (en) 1999-02-03 2000-01-31 System and Method for Executing Software Program in Distributed Computing Environment

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 (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020003141A (en) * 2001-09-26 2002-01-10 최문현 Internet Real-Time Install Service Method
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
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
KR100439230B1 (en) * 2001-06-27 2004-07-05 엘지전자 주식회사 Gain control equipment of the IF-RF divide type WLL terminal system
KR100459791B1 (en) * 2002-04-12 2004-12-04 연안정보통신 주식회사 Method for executing application program without install in the client-server environment
KR100656787B1 (en) * 2004-12-13 2006-12-12 한국전자통신연구원 Apparatus and method for offering rental software using prefetch formula
KR100742436B1 (en) * 1998-04-20 2007-07-25 썬 마이크로시스템즈, 인코포레이티드 Method and apparatus for providing a virtual desktop system architecture
US7890570B2 (en) 2007-09-12 2011-02-15 Citrix Systems, Inc. Methods and systems for providing, by a remote machine, access to graphical data associated with a resource provided by a local machine

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7028305B2 (en) * 2001-05-16 2006-04-11 Softricity, Inc. Operating system abstraction and protection layer
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
AU2003215682A1 (en) * 2003-02-03 2004-08-30 Poweroffice, S.A. Service and application integration system
US8117559B2 (en) 2004-09-30 2012-02-14 Citrix Systems, Inc. Method and apparatus for virtualizing window information
US7752600B2 (en) 2004-09-30 2010-07-06 Citrix Systems, Inc. Method and apparatus for providing file-type associations to multiple applications
US8095940B2 (en) 2005-09-19 2012-01-10 Citrix Systems, Inc. Method and system for locating and accessing resources
US7680758B2 (en) 2004-09-30 2010-03-16 Citrix Systems, Inc. Method and apparatus for isolating execution of software applications
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
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
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
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
EP3633475A4 (en) * 2017-05-25 2020-05-13 LSIS Co., Ltd. Control program execution method

Family Cites Families (11)

* 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
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 Communication 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 진교문 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

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100742436B1 (en) * 1998-04-20 2007-07-25 썬 마이크로시스템즈, 인코포레이티드 Method and apparatus for providing a virtual desktop system architecture
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
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
KR100656787B1 (en) * 2004-12-13 2006-12-12 한국전자통신연구원 Apparatus and method for offering rental software using prefetch formula
US7668783B2 (en) 2004-12-13 2010-02-23 Electronics And Telecommunications Research Institute System and method for providing rental software, and rental software providing server and wireless terminal thereof
US7890570B2 (en) 2007-09-12 2011-02-15 Citrix Systems, Inc. Methods and systems for providing, by a remote machine, access to graphical data associated with a resource provided by a local machine

Also Published As

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

Similar Documents

Publication Publication Date Title
KR20000057127A (en) Executing software program system for application service provider on distributed computing environment and method using the sa me
US6654888B1 (en) Installing and controlling trial software
US7379918B2 (en) Method and system for single reactivation of software product licenses
US7484207B2 (en) Software execution control system and software execution control program
US7096253B2 (en) Method and apparatus for streaming software
US8863254B2 (en) Authentication information management of associated first and second authentication information for user authentication
US7171390B1 (en) System and method for executing a rental software program in distributed computing environment
US8832680B2 (en) Installation event counting apparatus and package creation method
KR101691245B1 (en) System and method for web service monitoring
CN100487626C (en) Computer implemented method and system for controlling use of digitally encoded products
JP7291120B2 (en) Providing workflows based on configuration
EP1903468A1 (en) Sharing management program, sharing management method, terminal, and sharing management system
US20210326196A1 (en) A remediation system to prevent incompatible program module installation in an information processing system
US20040044895A1 (en) Connected support entitlement system and method of operation
CN111079091A (en) Software security management method and device, terminal and server
JPH06223040A (en) Software license management system
US20100058441A1 (en) Information processing limitation system and information processing limitation device
KR101308703B1 (en) Security system for electronic commerce and method thereof
US20040107357A1 (en) Apparatus and method for protecting data on computer hard disk and computer readable recording medium having computer readable programs stored therein
JP5254755B2 (en) Privilege ID management system
US20020161880A1 (en) Disk management interface
US7281138B1 (en) Method and apparatus for controlling access to debugging software
KR101056423B1 (en) Program Execution Management Method and Record Media Using Logged-In Account Control
US10223509B2 (en) Device of licensing program, program transaction device and method of licensing program
US8353013B2 (en) Authorized application services via an XML message protocol

Legal Events

Date Code Title Description
A201 Request for examination