Movatterモバイル変換


[0]ホーム

URL:


KR20030012294A - A system for software rent and a method thereof - Google Patents

A system for software rent and a method thereof
Download PDF

Info

Publication number
KR20030012294A
KR20030012294AKR1020010046270AKR20010046270AKR20030012294AKR 20030012294 AKR20030012294 AKR 20030012294AKR 1020010046270 AKR1020010046270 AKR 1020010046270AKR 20010046270 AKR20010046270 AKR 20010046270AKR 20030012294 AKR20030012294 AKR 20030012294A
Authority
KR
South Korea
Prior art keywords
middleware
user
software
program
payment
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.)
Ceased
Application number
KR1020010046270A
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 (주)리베로넷, 강명덕filedCritical(주)리베로넷
Priority to KR1020010046270ApriorityCriticalpatent/KR20030012294A/en
Publication of KR20030012294ApublicationCriticalpatent/KR20030012294A/en
Ceasedlegal-statusCriticalCurrent

Links

Landscapes

Abstract

PURPOSE: A system and a method for renting software are provided to make a user use the software without buying the software by paying a charge as much as the real use. CONSTITUTION: The user downloads and installs a rent ware and a middle ware after selecting a program from a web server(310). The middle ware requests the user to input the user information and the payment information(320). If the user wants to use the rent program, the user executes the middle ware firstly(330). The user performs the log-in by connecting to a homepage of a software rent company(340). After confirming the validity of the user information and the payment information, the user executes the rent ware(350). The user uses the rent program by executing the rent ware(360). After using the program, the middle ware reports the information necessary for the rent charge calculation to a software rent company server(380).

Description

Translated fromKorean
소프트웨어 임대 시스템 및 그 방법{A system for software rent and a method thereof}System for software rent and a method

본 발명은 소프트웨어를 임대하는 시스템 및 그 방법에 관한 것으로 더욱 상세하게는 클라이언트-서버기반의 네트워크 기술을 이용하여 소프트웨어를 임대하는 시스템 및 그 방법에 관한 것이다.The present invention relates to a system and method for renting software, and more particularly, to a system and method for renting software using client-server based network technology.

종래에는 소프트웨어를 임대하는 방법으로 소프트웨어 개발업체와 사용자가 일정 단위 시간으로 계약을 하고 임대 비용 중 일부는 먼저 내고 일정기간마다 임대료를 내는 방식과 사용자가 일정금액을 지불하면 사용자에게 인증번호를 부여하고 사용자가 인증번호를 입력하면 지불한 금액에 해당하는 기간만큼 사용권한을 부여하는 방식 등이 있었다.Conventionally, a software lease is made by a software developer and a user for a certain unit of time. Part of the rent is paid first, and the rent is paid at a certain period. When the user pays a certain amount of money, the user is given an authentication number. When the user enters the authentication number, there is a method of granting the right to use for a period corresponding to the amount paid.

개발업체가 사용자와 일정기간 계약을 맺는 방법은 소프트웨어에 대한 임대 계약을 오프라인 상으로 맺고 상호 신뢰의 원칙에 따라 소프트웨어를 빌려쓰는 것으로 계약기간이 지나면 사용자 스스로 소프트웨어를 삭제하고 사용하지 않아야 하지만 개발업체가 이를 통제하기가 힘들고 사용자가 계약을 어기고 계속 사용하는 경우에도 이를 막을 방도가 없고 사후적으로 소송을 통하여 해결할 수밖에 없었다. 그리고 이러한 방법에 의한 경우 계약을 하는 단위시간이 길어서 실제로 소프트웨어를 사용하지 않는 시간까지도 사용료를 내야하는 부담이 있었다. 예를 들어 하루 중에 한 두 시간만 사용하는 경우에도 하루 종일 사용하는 경우와 똑같은 비용을 지불하여야 하였다.The contractor's contract with the user for a certain period of time is to make the lease of the software offline and borrow the software according to the principle of mutual trust. This is difficult to control, and even if the user breaks the contract and continues to use it, there is no way to prevent it and have to resolve it through litigation. In this way, the contract was too long, so there was a burden of paying the fee even when the software was not actually used. For example, even if you use only one or two hours of the day, you have to pay the same cost as if you use all day.

사용자에게 인증번호를 부여하는 방법은 하드디스크의 교체, 컴퓨터 부품의 업그레이드, 운영체제의 환경설정 변경, 디스크 포맷, 파일의 이동, 바이러스에 의한 파일손상, 해킹파일에 의한 조작, 디스크 조각모음, 인증파일의 디코딩 등의 작업을 한 경우 기존에 부여되었던 인증 권한이 사라질 염려가 있고, 오프라인 방식이기 때문에 해킹이 가능하여 사용자가 인증 권한의 내용을 조작할 가능성이 있었다.The method of assigning the authentication number to the user is to replace the hard disk, upgrade the computer parts, change the operating system's configuration settings, format the disk, move files, corrupt files by viruses, manipulate files by hacking files, defragment the disk, and authenticate files. In case of the operation such as decoding, there is a fear that the previously granted authentication authority may disappear, and because of the offline method, hacking is possible and the user may manipulate the contents of the authentication authority.

본 발명은 위와 같은 문제점을 해결하기 위한 것으로 본 발명의 목적은 소프트웨어를 구입하지 않고도 실제 사용한 만큼만 사용료를 내고 사용할 수 있도록 하는 소프트웨어 임대 제어용 프로그램과 이를 이용한 소프트웨어 임대 시스템 및 그 방법을 제공하는 것이다.The present invention has been made to solve the above problems and an object of the present invention is to provide a software lease control program and a software lease system and method using the same, so that the user can pay only the actual fee without using the software.

도 1은 본 발명의 실시 예에 따른 사용자 시스템의 구성도를 나타내는 도면이다.1 is a diagram illustrating a configuration of a user system according to an exemplary embodiment of the present invention.

도 2는 본 발명의 실시 예에 따른 소프트웨어 임대업체의 시스템 구성도이다.2 is a system configuration diagram of a software rental company according to an embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 소프트웨어 임대 방법을 나타내는 순서도이다.3 is a flowchart illustrating a software leasing method according to an exemplary embodiment of the present invention.

상기 목적을 달성하기 위하여 본 발명은 소프트웨어 개발업체가 개발한 프로그램을 임대 가능한 프로그램으로 전환하기 위해 제어용 모듈을 삽입한 렌트웨어와 사용자의 프로그램 사용에 따른 임대료를 부과하기 위한 미들웨어를 사용자 시스템에 설치하여 사용자가 실제로 사용한 만큼만 임대료를 내도록 한다.In order to achieve the above object, the present invention provides a rental system in which a control module is inserted to convert a program developed by a software developer into a rentable program, and middleware to charge a rent according to the user's use of the program. Pay only for what you actually use.

이하에서는 소프트웨어 개발업체가 개발한 프로그램을 임대용 소프트웨어로 전환하기 위하여 프로그램에 삽입되는 모듈과 사용자 시스템에 설치되는 모듈에 대하여 설명한다.Hereinafter, a module inserted in a program and a module installed in a user system for converting a program developed by a software developer into rental software will be described.

도 1은 본 발명의 실시 예에 따른 사용자 시스템의 구성도를 나타내는 도면이다.1 is a diagram illustrating a configuration of a user system according to an exemplary embodiment of the present invention.

도 1에 도시된 바와 같이 사용자 시스템(100)은 렌트웨어(110)와 미들웨어(120)를 포함한다.As shown in FIG. 1, the user system 100 includes a rentware 110 and a middleware 120.

상기 렌트웨어(110)는 기존의 프로그램에 모듈(COM 모듈 1)을 삽입하여 임대용 프로그램으로 전환한 것을 말하며, COM 모듈 1은 기존의 프로그램의 컴퓨터 랭귀지에 구애를 받지 않도록 컴포넌트(COM+, DCOM 등)로 제작하여 삽입한다. 그리고 이 모듈은 임대를 위한 제어가 가능하도록 프로그램 알고리즘에서 종료 이전 단계나 혹은 종료 처리 단계(END PROCESS STEP)에 배치한다. 이 모듈의 역할은 임대한 프로그램이 비정상적인 작동을 한다고 인정될 때 프로그램의 동작을 중지시키는것이다. 여기서 COM 모듈 1이 프로그램을 중지시키거나 제어하는 방법은 공유 메모리와 메시지 처리 방식을 이용한 IPC(Interprocess Communication) 통신을 통해 한다. 각 렌트웨어는 렌트웨어 로딩시 렌트웨어에 삽입된 COM 모듈 1을 통해 미들웨어에 삽입된 COM 모듈 2에게 렌트웨어 번호와 버젼을 넘겨주고 정상적인 사용인지 아닌지를 확인 받는다. 그리고 이 결과를 렌트웨어에게 이벤트로 넘겨준다. 또한 사용중 임대기간이 끝난 경우에도 COM 모듈 2를 통해 메시지를 받아서 렌트웨어에게 이벤트로 넘겨준다. 렌트웨어는 이 이벤트를 바탕으로 실행을 시작하거나 중지한다.The rentware 110 refers to a module (COM module 1) inserted into an existing program and converted to a rental program. The COM module 1 is a component (COM +, DCOM, etc.) so as not to be bound by the computer language of the existing program. Produce it and insert it. The module is then placed at the end of the program algorithm or at the end process step (END PROCESS STEP) in the program algorithm to enable control for lease. The role of this module is to stop the program when it is recognized that the rented program is behaving abnormally. In this case, the COM module 1 stops or controls the program through IPC (Interprocess Communication) communication using a shared memory and a message processing method. Each rentalware passes the rentalware number and version to the COM module 2 inserted into the middleware through the COM module 1 inserted into the rentalware and checks whether it is in normal use or not. The result is then passed to the rentalware as an event. In addition, when the lease period is in use, it receives a message through COM module 2 and passes it to the rentalware as an event. The rentalware starts or stops running based on this event.

상기 미들웨어(120)는 소프트웨어 임대업체의 시스템과 연결되어 사용자가 정상적으로 프로그램을 사용하고 있는지를 확인하여 부정한 방법으로 사용하거나 사용자 시스템에 이상이 있는 경우 혹은 임대료 지급이 안 될 경우에 프로그램 사용을 중지하는 기능을 수행하는 프로그램이다.The middleware 120 is connected to the system of the software leasing company to check whether the user is using the program normally to use in an illegal way or when there is an abnormality in the user system or when the rent is not paid to stop using the program. A program that performs a function.

상기 미들웨어(120)는 COM 모듈 2(121), 암호화/복호화 모듈(122), 소켓 1(123)을 포함한다.The middleware 120 includes a COM module 2 121, an encryption / decryption module 122, and a socket 1 123.

상기 COM 모듈 2(121)는 COM 모듈 1로부터 받은 렌트웨어 번호와 버전을 미들웨어에게 이벤트로 넘겨주고 미들웨어로부터 정상적인 사용자인지 아닌지를 확인 받는다. 그리고 이 결과를 COM 모듈 1에게 메시지로 넘겨준다. 또한 사용중 임대기간이 끝난 경우에도 미들웨어로부터 입력받아 COM 모듈 1을 통해 메시지로 넘겨준다. 이렇게 하면서 제어 및 인증 기능을 수행한다.The COM module 2 121 passes the rentware number and version received from the COM module 1 to the middleware as an event and checks whether the user is a normal user from the middleware. The result is then passed to COM module 1 as a message. In addition, even when the lease period is in use, it is received from middleware and passed as a message through COM module 1. In doing so, it performs control and authentication functions.

상기 암호화/복호화 모듈(122)은 소켓 1을 통해 소프트웨어 임대업체의 시스템과 통신할 때 송신할 데이터를 암호화시키고 수신한 데이터를 복호화시킨다. 이렇게 하면서 통신상의 암호화 및 복호화 기능을 수행한다.The encryption / decryption module 122 encrypts the data to be transmitted and decrypts the received data when communicating with the software leasing system through socket 1. FIG. In doing so, it performs communication encryption and decryption functions.

상기 소켓 1(123)은 소프트웨어 임대업체의 시스템과 데이터 통신을 한다. 이렇게 하면서 통신 기능을 수행한다.The socket 1 123 is in data communication with a system of a software leasing company. In doing so, it performs communication functions.

도 2는 본 발명의 실시 예에 따른 소프트웨어 임대업체의 시스템 구성도이다.2 is a system configuration diagram of a software rental company according to an embodiment of the present invention.

도 2에 도시된 바와 같이 임대업체의 시스템(200)은 웹서버(210), 인증 및 제어 처리 서버(220), 데이터베이스 서버(230), 결제 전용 서버(240)을 포함한다.As shown in FIG. 2, the leasing system 200 includes a web server 210, an authentication and control processing server 220, a database server 230, and a payment-only server 240.

상기 웹서버(210)는 소프트웨어 임대업체의 시스템에서 TCP/IP기반으로 이루어지는 모든 데이터 통신의 서버 역할과 기능을 수행한다.The web server 210 performs a server role and function of all data communication based on TCP / IP in a system of a software rental company.

상기 웹서버(210)는 HTTP/FTP/TELNET(211), 프로그램 데이터베이스(212), 소켓 2(213)를 포함한다.The web server 210 includes an HTTP / FTP / TELNET 211, a program database 212, and a socket 2 213.

상기 HTTP/FTP/TELNET(211)는 회원등록, 조회, 사이트 제공, 파일 송수신, 터미널 접속 등의 서비스의 기능을 수행한다.The HTTP / FTP / TELNET 211 performs a function of a service such as membership registration, inquiry, site provision, file transmission and reception, terminal access, and the like.

상기 프로그램 데이터베이스(212)는 렌트웨어에 대한 모든 정보를 가지고 있는 데이터베이스 자료실로써 렌트웨어와 미들웨어 등을 저장하여 제공하는 기능을 수행한다.The program database 212 is a database library containing all information on rentware, and functions to store and provide rentware and middleware.

상기 소켓 2(213)는 미들웨어의 소켓1(123)과 데이터 통신 기능을 수행한다.The socket 2 213 performs a data communication function with the socket 1 123 of the middleware.

상기 인증 및 제어 처리 서버(220)는 회원인증 및 요금결제 기능을 수행한다.The authentication and control processing server 220 performs a member authentication and billing function.

상기 인증 및 제어 처리 서버(220)는 제어모듈(221), 결제 프로세스 모듈(222), 사용자 인증 모듈(223), 암호화/복호화 모듈(224), 소켓 3(225)을 포함한다.The authentication and control processing server 220 includes a control module 221, a payment process module 222, a user authentication module 223, an encryption / decryption module 224, and a socket 3 225.

상기 제어모듈(221)은 사용자에 대해서 서비스를 허용할 것인지와 결제과정을 제어하는 기능을 수행한다.The control module 221 performs a function of controlling whether to allow a service to a user and a payment process.

상기 결제 프로세스 모듈(222)은 결제 서비스를 하는 업체의 시스템에 TCP/IP기반으로 연결하여 결제 서비스를 하는 기능을 수행한다.The payment process module 222 performs a payment service by connecting to a system of a payment service company based on TCP / IP.

상기 사용자 인증 모듈(223)은 회원번호와 비밀번호를 가지고 유효한 회원인지 아닌지를 결정하는 기능을 수행한다.The user authentication module 223 has a function of determining whether a member is a valid member with a member number and a password.

상기 암호화/복호화 모듈(224)은 송신할 데이터를 암호화하고 수신할 데이터를 복호화하는 기능을 수행한다.The encryption / decryption module 224 encrypts data to be transmitted and decrypts data to be received.

상기 소켓 3(225)은 TCP/IP기반으로 하는 데이터 통신 기능을 수행한다.The socket 3 225 performs a data communication function based on TCP / IP.

상기 데이터베이스 서버(230)는 모든 데이터베이스에 대한 서버 기능을 수행한다.The database server 230 performs server functions for all databases.

상기 데이터베이스 서버(230)는 암호화/복호화 모듈(231), 사용자 정보 필드(232), 결제 정보 필드(233), 소켓 4(234)를 포함한다.The database server 230 includes an encryption / decryption module 231, a user information field 232, a payment information field 233, and a socket 4 234.

상기 암호화/복호화 모듈(231)은 송신할 데이터를 암호화하고 수신한 데이터를 복호화하는 기능을 수행한다.The encryption / decryption module 231 encrypts data to be transmitted and decrypts the received data.

상기 사용자 정보 필드(232)는 사용자의 이름, 주민등록번호, 결제수단, 사용시간, 고유 회원번호, ID, 패스워드, 접속 및 종료시간, 렌트웨어의 이름, IP번호(MAC어드레스), 접속방법, 주소, 연락처 등 사용자에 관한 정보를 저장하고 관리하는 기능을 수행한다.The user information field 232 includes a user's name, social security number, payment method, use time, unique member number, ID, password, access and end time, name of the rentware, IP number (MAC address), access method, address, Stores and manages information about users such as contacts.

상기 결제 정보 필드(233)는 결제수단, 결제방법, 결제단위, 선후불 결제여부, 총 결제비용, 임대 청구비용 등 결제에 관한 정보를 저장하고 관리하는 기능을 수행한다.The payment information field 233 stores and manages information regarding payment, such as a payment method, a payment method, a payment unit, a prepaid payment status, a total payment cost, and a rental billing cost.

상기 소켓 4(234)는 TCP/IP 기반으로 데이터 통신 기능을 수행한다.The socket 4 234 performs a data communication function based on TCP / IP.

상기 결제 전용 서버(240)는 결제 서비스를 하는 업체의 시스템에 연결하여 결제 서비스를 하는 서버 기능을 수행한다.The payment-only server 240 connects to a system of a company that provides a payment service and performs a server function of providing a payment service.

상기 결제 전용 서버(240)는 암호화/복호화 모듈(241), 결제 호환 모듈(242), 소켓 5(243)를 포함한다.The payment-only server 240 includes an encryption / decryption module 241, a payment compatibility module 242, and a socket 5 243.

상기 암호화/복호화 모듈(241)은 송신할 데이터를 암호화하고 수신한 데이터를 복호화하는 기능을 수행한다.The encryption / decryption module 241 encrypts data to be transmitted and decrypts the received data.

상기 결제 호환 모듈(242)은 온라인 전산망, 금융결제원, 은행전산망, 전자화폐 서버 전산망, 신용카드 결제 전산망등에 접속하여 사용자에 대한 결제 정보 확인 및 결제 처리에 대해 요구하는 기능을 수행한다.The payment compatibility module 242 accesses an online computer network, a financial settlement agency, a bank computer network, an electronic money server computer network, a credit card payment computer network, and performs a function for requesting payment information confirmation and payment processing for a user.

상기 소켓 5(243)은 TCP/IP기반으로 데이터 통신 기능을 수행하다.The socket 5 243 performs a data communication function based on TCP / IP.

도 3은 본 발명의 실시 예에 따른 소프트웨어 임대 방법을 나타내는 순서도이다.3 is a flowchart illustrating a software leasing method according to an exemplary embodiment of the present invention.

사용자가 임대하고 싶은 프로그램을 웹서버(210)에서 선택한 후 사용자는 렌트웨어와 미들웨어를 다운 받아 설치한다(단계 310). 이 때 사용자는 미들웨어는반드시 설치하여야 하나 사용자가 일반 프로그램을 사용하고 있는 경우에는 임대용 프로그램으로 전환하기 위한 제어용 모듈(COM 모듈 1) 패치 파일 혹은 임대 전환용 업그레이드 패치 파일만 다운 받아 설치하면 된다. 그리고 렌트웨어와 미들웨어는 소프트웨어 임대업체에서 제공하는 CD-ROM 타이틀 등을 이용하여 설치하여도 된다.After selecting a program that the user wants to rent in the web server 210, the user downloads and installs the rentalware and the middleware (step 310). At this time, the user must install the middleware, but if the user is using a general program, the user only needs to download and install the control module (COM module 1) patch file or the upgrade patch file for lease conversion to switch to the lease program. Rent and middleware may also be installed using CD-ROM titles provided by software leasing companies.

사용자가 웹서버에서 선택한 프로그램들은 일반 프로그램을 임대용 프로그램으로 전환한 제어용 모듈이 삽입된 렌트웨어이다.The programs selected by the user on the web server are rentwares with control modules that convert general programs into rental programs.

사용자가 렌트웨어를 설치하고 미들웨어를 설치하면 설치하는 단계에서 미들웨어는 사용자에게 사용자 정보와 결제정보를 입력하도록 한다(단계 320). 사용자가 사용자 정보와 결제정보를 입력하면 상기 미들웨어(120)는 사용자 정보와 결제정보가 유효한 것인지를 확인하여 줄 것을 상기 인증 및 제어 처리 서버(220)에 요구한다. 만일 사용자가 설치단계에서 사용자 정보와 결제정보를 입력하지 않을 경우 미들웨어를 최초 실행할 때 이것을 다시 사용자에게 요구하여 입력하도록 한다.If the user installs the rentalware and installs the middleware, the middleware prompts the user to input user information and payment information (step 320). When the user inputs user information and payment information, the middleware 120 requests the authentication and control processing server 220 to confirm whether the user information and payment information are valid. If the user does not enter the user information and payment information in the installation step, the user will be required to enter it again when the middleware is first executed.

상기 미들웨어(120)는 인증 및 제어 처리 서버(220)에 데이터를 보내기 전에 해킹을 방지하기 위해 암호화한다. 인증 및 제어 처리 서버(220)는 전달받은 정보를 복호화 과정을 거쳐 데이터베이스 서버(230)로 정보를 전달하고 데이터베이스 서버(230)는 전달받은 정보를 각 정보의 필드 값에 맞도록 분류하여 저장한다.The middleware 120 encrypts the data to prevent hacking before sending the data to the authentication and control processing server 220. The authentication and control processing server 220 transfers the received information to the database server 230 after decrypting the received information, and the database server 230 classifies and stores the received information in accordance with the field value of each information.

사용자 정보와 결제정보의 유효성을 확인하는 절차는 주민등록번호, 실명확인, 각 결제수단에 대한 유효성, 결제수단의 정당성 등을 확인하는 과정이다.The process of verifying the validity of user information and payment information is a process of confirming social security number, real name verification, validity of each payment method, and justification of payment method.

사용자 정보와 결제정보는 이와 같이 프로그램을 다운 받은 후에 입력할 수도 있으나 프로그램을 다운 받기 전에 웹서버(210)에서 사용자 정보와 결제정보를등록할 수도 있다. 이때 사용자 정보 등록 및 결제 정보 등록 웹페이지에 들어가면 자동으로 해킹 방지용 모듈(ACTIVE-X CONTROL)을 사용자의 시스템에 설치되어 사용자가 키로그 해킹 등을 당하지 않도록 한다.The user information and payment information may be input after downloading the program as described above, but the user information and payment information may be registered in the web server 210 before downloading the program. At this time, when entering the user information registration and payment information registration web page, the hacking prevention module (ACTIVE-X CONTROL) is automatically installed in the user's system to prevent the user from being subjected to keylog hacking.

임대한 프로그램을 사용하고자 하는 경우 사용자는 먼저 미들웨어를 실행한다(단계 330). 사용자가 미들웨어를 실행하면 미들웨어는 이를 임대업체의 시스템(200)에 보고한다. 이 때 사용자가 미들웨어 실행없이 렌트웨어를 먼저 실행할 경우 렌트웨어에 있는 COM 모듈 1이 COM 모듈 2가 메모리에 적재되어 있지 않아 COM 모듈 2에게서 이벤트와 메시지를 받지 못하므로 COM 모듈 1은 윈도 메시지 창을 띄워 사용자에게 미들웨어를 실행하도록 지시한 후 렌트웨어를 자동 종료시킨다.If the user wants to use the rented program, the user first executes middleware (step 330). When the user executes the middleware, the middleware reports it to the renter's system 200. In this case, if the user executes the rentalware first without executing the middleware, COM module 1 in the rentalware does not receive events and messages from COM module 2 because COM module 2 is not loaded in memory. It tells the user to run middleware and automatically shuts down the rentalware.

프로그램을 임대하여 사용하고자 하는 자(이하 사용자라 함)는 소프트웨어 임대업체의 홈페이지에 접속하여 로그인을 한다(단계 340). 만일 사용자가 홈페이지에 접속하지 않고 로그인하고자 할 경우에는 미들웨어를 통해 같은 방법으로 로그인도 가능하다.A person who wishes to rent and use the program (hereinafter referred to as a user) accesses the homepage of the software leasing company and logs in (step 340). If the user wants to log in without accessing the homepage, the user can log in the same way through the middleware.

사용자 정보와 결제정보가 유효하다는 것이 확인되었으므로 사용자는 렌트웨어를 실행한다(단계 350).Since it is confirmed that the user information and the payment information are valid, the user executes the rental software (step 350).

사용자는 렌트웨어를 실행하여 임대한 프로그램을 사용한다(단계 360). 사용자가 프로그램을 사용하는 동안 미들웨어는 정당한 사용인지 여부를 계속 체크하여 이를 임대업체의 시스템(200)에 보고한다. 정당한 사용인지 여부를 체크하는 방법에 대하여는 추후에 상세히 설명한다. 만약 정당한 사용이 아니라고 판단되는경우에는 프로그램의 사용을 중지시키고 이를 임대업체의 시스템(200)에 보고한다.The user uses the rented program by executing the rentalware (step 360). While the user uses the program, the middleware continues to check whether it is legitimate use and report it to the renter's system 200. How to check for proper use will be described later in detail. If it is determined that the use is not legitimate, stop using the program and report it to the renter's system 200.

사용자는 프로그램의 사용을 마치면 렌트웨어를 종료한다(단계 370).The user terminates the rentware when finished using the program (step 370).

사용자가 프로그램의 사용을 마치면 상기 미들웨어는 사용자가 사용한 프로그램, 사용시간 등 임대료 계산에 필요한 정보를 임대업체의 시스템(200)에 보고한다. 임대업체의 시스템은 미들웨어로부터 보고 받은 정보를 바탕으로 임대료를 계산하여 사용자가 지정한 결제 방식에 따라 결제한다(단계 380).When the user finishes using the program, the middleware reports information necessary for rent calculation, such as a program used by the user, a use time, to the renter's system 200. The renter's system calculates the rent based on the information reported from the middleware and pays according to the payment method specified by the user (step 380).

상기 결제 방법으로는 선불제 또는 후불제가 모두 가능하다.The payment method may be both prepaid or postpaid.

선불제의 경우에는 사용자가 실제 화폐 단위의 결제수단을 가지고 상기 결제 전용 서버(240)에서 프로그램을 사용한 만큼 미리 지불하는 방식이다. 예를 들어 일정 금액을 금융결제원의 지로나 무통장입금, 계좌이체, 이메일 송금, 신용카드 결제, 전자결제업체의 전자현금지급형태 등으로 지불하면 결제 전용 서버(240)의 결제 호환 모듈(242)에서 결제 단위를 사용자에게 부여하고 이 정보를 데이터베이스 서버(230)의 사용자 정보 필드(232)와 결제 정보 필드(233)에 기록하여 사용자가 프로그램을 사용한 만큼 결제하고, 사용하고 남은 교환 화폐 단위는 추후에 사용할 수 있도록 적립해둔다.In the case of the prepaid system, the user pays in advance as much as the user uses the program in the payment-only server 240 with the actual currency. For example, if a certain amount is paid in the form of giro or bank account, bank transfer, e-mail transfer, credit card payment, electronic cash payment form of an electronic payment company, etc., a payment compatible module 242 of the payment-only server 240 is used. The payment unit is assigned to the user and the information is recorded in the user information field 232 and the payment information field 233 of the database server 230, and the user pays as much as the user uses the program. Reserve for use.

후불제의 경우에는 사용자가 지급 담보를 설정하고 렌트웨어를 사용한 후에 임대료를 지급하는 방식이다. 지급담보의 경우 실제 지불은 사용후 일정시점에 사용자가 자율적으로 하는 방식이지만 사용자가 일정시점을 넘겨 사용료에 대한 지급을 미루거나 사용료에 대해 지급을 안할 경우에는 기존에 지급담보로 걸어놓았던 결제수단을 사용자와의 계약에 따라 강제적으로 결제요구를 하게 된다. 예를 들면잔고가 있는 은행계좌나 결제 여력이 있는 전자화폐, 결제가 가능한 신용카드를 지급담보로 설정하고 프로그램을 사용한 후 일정시점이 지나 사용자에게 임대료를 청구하게 되고 사용자가 이 청구 내역을 확인하고 입금 처리를 하는 것이 후불제 지급의 전형적인 형태이다. 만일 사용자가 고의적이거나 비고의적으로 사용료 지급을 안했을 경우 일정시점후에 자동적으로 강제 결제 요구를 하여 비용을 청구받는다.In the case of postpay, the user sets up the payment collateral and pays the rent after using the rentalware. In the case of payment collateral, the actual payment is made by the user autonomously at a certain point after use, but if the user postpones payment of the royalty fee or fails to pay for the royalty fee, the payment method previously held as payment collateral According to the contract with the user will be forced to pay. For example, you can set up a bank account with a balance, an electronic money with a payment capacity, a credit card that can be settled as a payment security, use the program, and after a certain period of time, you will be charged a rent. Deposit processing is a typical form of postpay payment. If the user intentionally or unintentionally fails to pay the fee, after a certain point of time, the user is automatically required to pay the bill.

소프트웨어 임대를 하기 위해 사용자의 부정사용을 방지하고 사용자가 사용한 시간에 해당하는 만큼만 임대료를 부과하기 위하여 사용자의 시스템에 설치되어 있는 렌트웨어와 미들웨어의 작동을 상세히 설명하면 다음과 같다.The operation of rentware and middleware installed in the user's system in detail to prevent user fraudulent use of the software for lease and to charge the rent only for the time used by the user is as follows.

사용자는 사용자 시스템에 렌트웨어와 미들웨어를 설치하고 환경설정 할 것이 있으면 지시에 따라 환경설정을 한다. 사용자는 렌트웨어와 미들웨어를 소프트웨어 임대업체의 홈페이지를 방문하여 다운로드거나 소프트웨어 임대업체가 제공하는 CD-ROM 등을 이용하여 자신의 시스템에 설치한다. 사용자가 임대용 프로그램으로 전환되기 전의 프로그램을 사용하고 있는 경우에는 프로그램에 삽입되는 모듈(패치파일로 공급)만을 설치하여 기존의 프로그램을 임대용 프로그램으로 전환할 수도 있다.The user installs the rentalware and the middleware on the user's system and configures the environment according to the instructions. The user installs the rental software and the middleware on their system by visiting the software rental company's homepage and downloading or using a CD-ROM provided by the software rental company. If a user is using a program before converting it to a rental program, the program may be converted into a rental program by installing only a module (supplied as a patch file) inserted into the program.

렌트웨어와 미들웨어가 프로그램 임대과정을 제어하는 방법에 대하여 상세히 설명하면 다음과 같다.The details of how the rentalware and the middleware control the program lease process are as follows.

사용자 시스템 내에서 렌트웨어는 사용자 입장이 되고 미들웨어는 서버 입장이 되어 제어한다. 미들웨어(미들웨어의 COM 모듈 2)가 메모리를 핸들로 잡아 윈도우 핸들을 생성시키면 렌트웨어(렌트웨어의 COM 모듈 1)가 실행되고, 렌트웨어가윈도우핸들을 잡아 공유메모리를 오픈 시키면 렌트웨어는 미들웨어가 생성시켜 놓은 윈도우 핸들에 연결된다. 이것이 렌트웨어와 미들웨어가 연결되는 방식이다.Within the user system, the rentalware is the user's position and the middleware is the server's entry and control. When the middleware (COM module 2 of the middleware) grabs the memory as a handle and creates a window handle, the rentware (COM module 1 of the rentalware) is executed. When the rentalware grabs the window handle and opens the shared memory, the rentware is the middleware. It is connected to the window handle you created. This is how rentware and middleware are connected.

렌트웨어와 미들웨어는 서로 메모리를 공유하게 되고 윈도우 핸들로 연결된다. 미들웨어는 렌트웨어를 메시지 전달 방식으로 지속적으로 제어를 한다. 즉 렌트웨어가 미들웨어로 메시지를 전달하면 미들웨어가 전달된 메시지에 응답하는 방식으로 제어한다. 만약 미들웨어가 임의로 죽게되면 렌트웨어를 제어하지 못하므로 렌트웨어는 자동으로 임대과정을 중단하게 되며, 역으로 렌트웨어가 종료되는 경우에는 미들웨어가 메시지를 전달받을 수 없기 때문에 임대과정은 중단된다. 물론 여기서 미들웨어는 소프트웨어 임대업체의 시스템에 요구하여 사용시간, 제어처리, 결제처리 등을 실시간으로 요구할 수 있다.Rentware and middleware share memory with each other and are linked by window handles. The middleware continuously controls the rentalware through message delivery. That is, when the rentware delivers a message to the middleware, the middleware controls the response in response to the delivered message. If the middleware dies arbitrarily, the rentware stops automatically because the rentware is not controlled. On the contrary, when the rentware is terminated, the renting process is stopped because the middleware cannot receive a message. Of course, the middleware may request the software rental company's system in real time, such as usage time, control processing, payment processing.

이하에서는 사용자가 의도적으로 또는 실수로 다른 조작을 한 경우에 이를 제어하는 방법에 대하여 알아보겠다.Hereinafter, a method of controlling the user's intentional or accidental operation is explained.

사용자가 렌트웨어와 미들웨어를 모두 설치한 경우에도 미들웨어를 먼저 실행하고 렌트웨어를 실행해야 정상적으로 작동이 된다.Even if the user has installed both the rentalware and the middleware, the middleware must be executed first and then the rentalware can be operated normally.

만약 사용자가 미들웨어가 실행되지 않은 상태에서 렌트웨어를 먼저 실행한 경우에는 프로그램은 정상적인 실행절차를 진행하다가 실행완료 직전에 미들웨어와 연동되는 컴포넌트를 자동적으로 실행한다. 여기서 미들웨어가 실행되어 있으면 계속 진행이 되나 미들웨어가 실행되어 있지 않은 경우에는 렌트웨어의 실행이 중지된다.If the user executes the rentalware first when the middleware is not executed, the program proceeds with the normal execution procedure and automatically executes the component linked with the middleware immediately before execution is completed. If the middleware is running, the process continues, but if the middleware is not running, the rentalware is stopped.

여기서 렌트웨어 안에 있는 컴포넌트는 메모리에 일정 주소를 차지한 후 프로세스를 시작하는데 미들웨어의 컴포넌트가 동일한 메모리에 적재되어 있지 않을 경우 윈도의 레지스트리 정보를 읽어와 미들웨어가 설치되어 있는지를 확인한다.Here, the components in the rentalware occupy a certain address in memory and start the process. If the components of the middleware are not loaded in the same memory, the registry information of Windows is read to check whether the middleware is installed.

미들웨어가 설치되어 있지 않은 경우에는 사용자에게 미들웨어를 설치할 것을 경고한다. 예를 들어 "이 프로그램은 임대 전용입니다. 사용하시려면 미들웨어를 먼저 설치하시기 바랍니다."와 같은 경고문을 윈도우로 띄울 수 있다.If the middleware is not installed, it warns the user to install the middleware. For example, you may see a warning in Windows that says, "This program is for rent only. Please install middleware first."

미들웨어가 설치되어 있는 경우에는 사용자에게 미들웨어를 먼저 실행할 것을 경고하고 미들웨어를 실행할 것인지를 사용자에게 문의한다. 예를 들어 "이 프로그램은 임대 전용입니다. 사용자께서는 미들웨어를 먼저 실행하여 주시기 바랍니다. 미들웨어를 실행하시겠습니까?"와 같은 안내문을 윈도우로 띄울 수 있다.If middleware is installed, it warns the user to run the middleware first and asks the user whether to run the middleware. For example, a message such as "This program is for rent only. The user should run the middleware first. Do you want to run the middleware?"

사용자가 미들웨어를 실행시키지 않는다고 하면 렌트웨어의 실행을 종료하고 소프트웨어 임대과정을 종료한다.If the user does not execute the middleware, the execution of the rentalware is terminated and the software lease process is terminated.

사용자가 미들웨어를 실행시킨다고 하면 미들웨어 경로가 설정되어 있는 경로에 가서 미들웨어의 실행 파일을 불러와서 미들웨어를 실행시킨다. 그리고 사용자에게는 미들웨어를 실행시키고 있다는 것을 알려준다. 예를 들어 "이 프로그램은 임대 전용입니다. 현재 미들웨어를 호출하여 실행하고 있습니다."와 같은 안내문을 윈도우로 띄울 수 있다.If the user runs the middleware, it goes to the path where the middleware path is set and loads the middleware executable file to execute the middleware. It tells the user that they are running middleware. For example, you might see a window that says, "This program is for lease only. You are currently calling and running middleware."

미들웨어가 실행되면 정상적인 실행절차로 들어가서 사용자는 임대 프로그램을 사용할 수 있다.When the middleware is executed, it goes to the normal execution procedure and the user can use the lease program.

반면에 사용자가 미들웨어를 먼저 실행한 경우에는 컴포넌트를 일정 메모리 주소에 적재시키고 메모리에 같은 컴포넌트가 있는지를 검색하여, 같은 컴포넌트가있는 경우에는 임대 상태로 전환하고 같은 컴포넌트가 없는 경우에는 임대 대기 상태로 들어간다. 임대 대기 상태에서는 요금이 카운트되지 않는다. 임대 대기 상태에서 사용자가 렌트웨어를 실행시켜 렌트웨어가 미들웨어로 메시지를 전송하고 미들웨어가 전송된 메시지에 응답하면 임대 상태로 전환되어 요금이 카운트되기 시작한다.On the other hand, when the user executes middleware first, it loads the component at a certain memory address and searches for the same component in memory.If the same component exists, it is leased. Enter No charges are counted while waiting for lease. When the user executes the rentalware while the rental is waiting, the rentalware sends a message to the middleware, and when the middleware responds to the transmitted message, the renter enters the leased state and the charge starts counting.

이상은 렌트웨어가 실행되어 사용자가 프로그램을 사용하기 시작하는 단계까지를 설명한 것이다. 이하에서는 사용자가 프로그램을 사용하는 도중에 비정상적인 상황이 발생한 경우에 이를 제어하는 방법에 대하여 상세히 설명하겠다.The above describes the steps up to when the rentalware is executed and the user starts using the program. Hereinafter, a method of controlling an abnormal situation that occurs while the user uses the program will be described in detail.

미들웨어와 렌트웨어가 정상적으로 작동하는 경우에는 미들웨어는 렌트웨어를 임대 가능 상태로 만들어 주고 이를 인증 및 제어 처리 서버(220)에 보고한다. 미들웨어는 사용자에 대한 정보, 결제수단, 결제정보, 사용시간, 선후불여부, 임대 프로그램 정보 등을 암호화 과정을 거쳐 암호화한 후 소켓 1(123)을 통해 인증 및 제어 처리 서버에 보고한다. 그리고 작은 윈도우 창을 띄워 사용시간을 표시해 줄 수도 있다.When the middleware and the rentware operate normally, the middleware makes the rentware available for lease and reports it to the authentication and control processing server 220. The middleware encrypts information about the user, payment means, payment information, usage time, upfront payment, lease program information, and the like through an encryption process and reports the authentication and control processing server through the socket 1 123. You can also display a small window to indicate how long you've used.

그리고 미들웨어는 실시간으로 렌트웨어의 행동을 감시하여 이상이 있는지를 확인한다.The middleware monitors the behavior of the rentware in real time to check for abnormalities.

사용자가 임대 프로그램을 사용하는 도중에 미들웨어 또는 렌트웨어가 정상적으로 작동하지 않는 경우에는 미들웨어는 인증 및 제어 처리 서버(220)에 이 사실을 보고하고 프로그램을 종료한다. 프로그램을 종료하기 전에 사용자에게 미들웨어 또는 렌트웨어에 이상이 있어서 프로그램을 종료한다는 경고를 한다. 예를들어 "렌트웨어 또는 미들웨어에 이상이 있습니다. 설치를 다시 하거나 설정을 확인해 주십시오. 문제가 계속되면 자사로 연락 주시기 바랍니다."와 같은 경고문을 윈도우로 띄울 수 있다.If the middleware or rentware does not operate normally while the user is using the lease program, the middleware reports this fact to the authentication and control processing server 220 and terminates the program. Before exiting the program, the user is warned that there is something wrong with the middleware or the rentalware and that the program ends. For example, you may be prompted with a warning such as "There is something wrong with your rental or middleware. Please try installing again or check your settings. If the problem persists, please contact us."

렌트웨어의 컴포넌트와 미들웨어의 컴포넌트가 메모리를 공유하여 렌트웨어와 미들웨어간에 실시간으로 메시지를 교환하는 방식으로 사용자가 임대 프로그램을 정상적으로 사용하고 있는지를 확인한다. 즉 렌트웨어나 미들웨어 중 어느 한쪽의 메시지가 중단되거나 손실되면 메시지 교환을 다시 시도해보고 일정시간이 경과한 후에도 메시지 교환이 정상으로 돌아오지 않으면 프로그램 사용을 중단시키고 이를 인증 및 제어 처리 서버(220)에 보고한다. 프로그램을 종료시키기 전에 사용자에게 경고를 하고 사용자가 작성한 문서 등을 저장할 수 있도록 한다.The components of the rentalware and the components of the middleware share the memory to exchange messages in real time between the rentware and the middleware to check whether the user is using the rental program normally. In other words, if a message in either rental or middleware is interrupted or lost, try again to exchange the message. If the message exchange does not return to normal even after a certain time has elapsed, stop using the program and send it to the authentication and control processing server 220. report. Before exiting the program, warn the user and allow them to save their documents.

그리고 렌트웨어를 임의로 대체하거나 변경하여 불법적인 크래킹을 시도하는 경우에는 공유메모리에 있는 정보를 삭제하여 임대 상태를 중단시킨다.When illegal cracking is attempted by randomly replacing or changing the rentware, the lease state is suspended by deleting the information in the shared memory.

사용자가 렌트웨어를 종료시킨 경우에는 임대 과정이 종료된 것이므로 미들웨어는 사용시간 등 임대료 계산에 필요한 각종 데이터를 카운트하는 것을 멈춘다. 즉 렌트웨어의 컴포넌트가 특정 메모리 주소에서 제거되면 공유메모리를 구성하고 있던 미들웨어는 렌트웨어와 메시지 교환이 중단되므로 미들웨어는 임대 과정을 종료하고 중단하고 임대료 계산에 필요한 각종 데이터를 계산하여 이를 인증 및 제어 처리 서버(220)에 보고한다.When the user terminates the rentware, the lease process is finished, so the middleware stops counting various data necessary for rent calculation, such as usage time. That is, if a component of the rentalware is removed from a specific memory address, the middleware that constitutes the shared memory stops exchanging messages with the rentalware, so the middleware terminates and stops the lease process and calculates various data necessary for calculating the rent and authenticates and controls it. Report to the processing server 220.

사용자가 미들웨어를 자동으로 종료하도록 환경설정을 해놓지 않은 경우에는 미들웨어는 다른 컴포넌트의 호출이 있을 때까지 대기한다.If the user does not configure the environment to terminate the middleware automatically, the middleware waits until another component is called.

만약 사용자가 임의로 미들웨어를 렌트웨어보다 먼저 종료시킨 경우에는 렌트웨어도 자동으로 종료된다. 미들웨어가 종료되면 미들웨어의 컴포넌트와 렌트웨어의 컴포넌트가 메모리에 만들어 놓았던 공유메모리 중 한쪽의 메모리 파일이 손상되므로 미들웨어와 렌트웨어간에 메시지 교환이 되지 않으므로 렌트웨어도 종료된다.If the user arbitrarily terminates the middleware before the rentalware, the rentalware is also automatically terminated. When the middleware is terminated, the memory file of one of the shared memories that the component of the middleware and the component of the rentalware has made in the memory is damaged, so the message exchange between the middleware and the rentalware is not possible, so the rentalware is terminated.

렌트웨어를 종료하기 전에 사용자에게 프로그램이 종료된다는 것을 경고하고 사용시간, 결제 요금 등 결제정보를 보여준다. 그리고 프로그램을 종료하기 전에 사용자가 작성한 문서 등을 저장할 수 있도록 한다.Before exiting the rentalware, the user is warned that the program will be terminated and payment information such as usage time and payment fee is displayed. And before exiting the program, you can save the user's documents.

이상에서는 렌트웨어 또는 미들웨어에 이상이 있거나 사용자가 렌트웨어 또는 미들웨어를 임의로 종료시킨 경우에 대하여 설명하였다. 이하에서는 사용자의 통신망이 끊기거나 사용자의 시스템이 리부팅 되는 경우 등에 대하여 설명한다.In the above, the case where the rentalware or the middleware is abnormal or the user arbitrarily terminates the rentalware or the middleware has been described. Hereinafter, a case in which the user's communication network is disconnected or the user's system is rebooted will be described.

먼저 사용자가 프로그램을 사용하는 도중 통신망이 끊긴 경우에 대하여 설명하면, 미들웨어는 인증 및 제어 처리 서버(220)로 수시로 메시지를 전송하여 응답을 받아야 임대 상태를 유지한다. 만약 통신망이 끊겨서 인증 및 제어 처리 서버(220)로부터 응답을 받을 수 없는 경우에는 비정상적인 상태로 판단하여 프로그램 사용을 중지시킨다. 이 경우에는 프로그램을 종료시키는 것이 아니라 통신망이 복구될 때까지 프로그램의 사용이 일시 중지되고 통신망이 복구되어 인증 및 제어 처리 서버(220)로부터 응답이 있으면 프로그램을 계속 사용할 수 있도록 한다. 이렇게 함으로써 통신망이 두절된 경우에도 사용자가 임의로 프로그램을 사용할 수 없도록 할 수 있다.First, a case in which a communication network is disconnected while a user is using a program will be described. The middleware maintains a lease state by sending a message to the authentication and control processing server 220 from time to time to receive a response. If the communication network is disconnected and the response cannot be received from the authentication and control processing server 220, the program is determined to be in an abnormal state and stopped. In this case, instead of terminating the program, the use of the program is suspended until the communication network is restored, and the communication network is restored so that the program can continue to be used if there is a response from the authentication and control processing server 220. In this way, even if the communication network is lost, the user can not use the program arbitrarily.

만일 사용자가 선불 결제 방식 또는 미리 사용시간이 정해진 경우에는 프로그램의 사용을 중지시키지 않고 사용자 시스템 내부에 임시로 프로그램 임대와 관련된 정보를 저장해 두었다가 통신망이 복구되면 이를 인증 및 제어 처리 서버(220)에 보고한다.If the user prepaid payment method or a predetermined usage time is set, the information related to the program lease is temporarily stored inside the user system without stopping the use of the program, and when the communication network is restored, it is reported to the authentication and control processing server 220. do.

사용자가 프로그램을 사용하는 도중 시스템 오류 등으로 리부팅되거나 사용자 시스템의 작동이 멈춘 경우에는 미들웨어가 마지막으로 인증 및 제어 처리 서버(220)로 보낸 정보를 이용하여 다시 복구한다. 인증 및 제어 처리 서버(220)는 일정시간 동안(예를 들어 1초 ~ 5초) 미들웨어로부터 정보가 갱신되지 않은 경우에는 미들웨어가 마지막으로 보내온 정보를 데이터베이스 서버(230)에 저장해 두었다가 미들웨어가 다시 정보를 보내오면 데이터베이스 서버(230)에 저장된 정보를 미들웨어로 보내 프로그램 사용을 계속할 수 있도록 한다. 따라서 사용자는 리부팅 등으로 소요된 시간에 해당하는 임대료를 지불하지 않아도 된다.When the user reboots due to a system error or stops the operation of the user's system while using the program, the middleware recovers using the information sent to the authentication and control processing server 220 lastly. If the information is not updated from the middleware for a predetermined time (for example, 1 second to 5 seconds), the authentication and control processing server 220 stores the last information sent by the middleware in the database server 230, and the middleware returns the information. Send the information sent to the middleware stored in the database server 230 to continue using the program. Therefore, the user does not have to pay the rent corresponding to the time required for rebooting or the like.

사용자가 프로그램을 사용하는 도중 메모리가 커럽트되거나 덤프, 메모리 주소의 충돌, 데이터의 오버플로우 등 각종 불안정한 요소에 의하여 미들웨어와 렌트웨어가 절양(시스템 메모리가 halt on)되었을 때에도 시스템이 리부팅되는 경우와 마찬가지로 미들웨어에서 인증 및 제어 처리 서버(220)로 보낸 마지막 정보를 기반으로 원래 정보를 회복한다.When the system is rebooted even when the middleware and rentware are hijacked (system memory has been halt) due to various unstable factors such as memory corruption, dump, memory address conflict, data overflow, etc. Similarly, the original information is recovered based on the last information sent from the middleware to the authentication and control processing server 220.

인터셉트 기능이 있는 프로그램(예를 들어 해킹 프로그램, 바이러스 등)이 공유메모리를 건드리거나 공유메모리를 디코딩하여 특정한 정보를 가로채려고 할 때 공유메모리 내에 있는 주소를 개개의 파일로 엮어 다른 데이터가 침입할 때 원래 있던 메모리 파일을 복구 불능 상태로 만든다.When an intercepted program (for example, a hacking program, a virus, etc.) attempts to intercept a specific piece of information by touching the shared memory or decoding the shared memory, the data in the shared memory can be intertwined into individual files to intrude other data. When the original memory file is made unrecoverable.

이하에서는 미들웨어와 임대업체의 시스템이 소프트웨어 임대에 필요한 데이터를 주고 받는 과정에 대하여 설명한다.Hereinafter, a description will be given of a process in which the middleware and the rental company's system sends and receives data required for the software lease.

미들웨어가 보낸 데이터가 통신망을 통해 인증 및 제어 처리 서버(220)에 도착하면 데이터가 손상되었는지를 확인하고 손실된 정보가 있으면 미들웨어에 손실된 패킷에 대한 정보를 다시 보내줄 것을 요구한다. 미들웨어는 암호화/복호화 모듈을 이용하여 손실된 패킷을 암호화하여 인증 및 제어 처리 서버에 전달한다. 프로토콜은 미들웨어가 보낸 정보를 수집하여 암호화/복호화 모듈을 이용하여 복호화 한 후 이를 처리한다.When the data sent by the middleware arrives at the authentication and control processing server 220 through the communication network, it checks whether the data is damaged and requests the middleware to send back information about the lost packet to the middleware. The middleware encrypts the lost packet using an encryption / decryption module and delivers it to the authentication and control processing server. The protocol collects the information sent by the middleware, decrypts it using the encryption / decryption module, and processes it.

처리할 사항이 사용자 인증인 경우에 인증 및 제어 처리 서버(220)는 사용자 인증 모듈을 이용하여 사용자가 정당하고 유효한 사용자인지를 확인하고 사용자의 실명, 주민등록번호 등을 확인하기 위해 금융결제원, 은행, 카드회사 등에 문의한다. 사용자 인증 모듈은 사용자 인증이 최초일 때에는 사용자 인증 정보를 데이터베이스 서버(230)로 보내 저장하도록 한다.When the matter to be processed is user authentication, the authentication and control processing server 220 uses the user authentication module to check whether the user is a valid and valid user and to verify the user's real name, social security number, etc. Contact your company. The user authentication module transmits the user authentication information to the database server 230 when the user authentication is first.

이와 같이 본 발명에 따르면 프로그램을 임대하여 사용하는 자는 실제 사용한 시간만큼만 비용을 지불하면 되고 프로그램 임대업체의 입장에서는 사용자가 부정한 방법으로 임대용 프로그램을 사용하는 것을 방지할 수 있다.As described above, according to the present invention, the user who rents and uses the program only pays for the amount of time actually used, and the program renter can prevent the user from using the rental program in an illegal manner.

Claims (19)

Translated fromKorean
소프트웨어 임대 제어용 프로그램에 있어서,In the software lease control program,기존의 프로그램을 임대용 프로그램으로 전환하기 위한 모듈이 삽입된 렌트웨어; 및Rentware into which a module for converting an existing program into a rental program is inserted; And상기 렌트웨어와 메시지 전달 방식에 의해 사용자가 정상적으로 사용하고 있는지를 확인하는 미들웨어Middleware to check whether the user is using normally by the rentalware and the message delivery method를 포함하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.Software rental control program comprising a.제1항에 있어서,The method of claim 1,상기 모듈은The module is컴포넌트로 제작된 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.Software lease control program, characterized in that produced by the component.제1항에 있어서,The method of claim 1,상기 모듈은The module is프로그램 알고리즘에서 종료 이전 단계 또는 종료 처리 단계에 배치되는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.A program for controlling software lease, which is arranged in a program pre-termination step or a termination processing step.제1항에 있어서,The method of claim 1,상기 렌트웨어와 미들웨어의 메시지 전달은 공유메모리를 이용하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.The software rental control program, characterized in that for transmitting the message between the rentware and the middleware using a shared memory.제4항에 있어서,The method of claim 4, wherein상기 공유메모리 생성은The shared memory generation상기 미들웨어가 메모리를 핸들로 잡아 윈도우 핸들을 생성시키는 단계;The middleware grabbing a memory as a handle to generate a window handle;상기 렌트웨어가 실행되는 단계; 및Executing the rentware; And상기 렌트웨어가 상기 미들웨어가 생성시켜 놓은 윈도우 핸들을 잡아 메모리를 공유하는 단계Sharing the memory by the rentalware by grasping the window handle generated by the middleware를 포함하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.Software rental control program comprising a.제1항에 있어서,The method of claim 1,상기 메시지 전달 방식은The message delivery method상기 렌트웨어가 상기 미들웨어로 메시지를 전달하는 단계;The rentware forwarding a message to the middleware;상기 미들웨어가 전달된 메시지에 응답하는 단계;The middleware responds to the delivered message;를 포함하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.Software rental control program comprising a.제6항에 있어서,The method of claim 6,상기 렌트웨어로부터 일정시간 동안 메시지의 전달이 없거나, 상기 미들웨어로부터 메시지에 대한 응답이 없는 경우 비정상적인 사용으로 판단하여 프로그램 사용을 중단시키는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.And if there is no delivery of a message from the rentware for a predetermined time or if there is no response to the message from the middleware, determining that the message is abnormally used and stopping using the program.제1항에 있어서,The method of claim 1,상기 미들웨어가 임대업체 시스템과 정기적으로 데이터를 교환하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.And the middleware periodically exchanging data with a leasing system.제7항에 있어서,The method of claim 7, wherein상기 미들웨어가 임대업체 시스템과 데이터를 교환할 수 없는 경우에 비정상적인 사용으로 판단하여 프로그램의 사용을 중지시키는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.If the middleware is unable to exchange data with the rental company system, the software lease control program further comprising the step of stopping the use of the program to determine the abnormal use.제9항에 있어서,The method of claim 9,상기 미들웨어가 임대업체 시스템과 다시 데이터를 교환할 수 있게 된 경우에 프로그램 사용을 계속 할 수 있도록 하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 제어용 프로그램.And allowing the middleware to continue using the program when the middleware is able to exchange data with the leasing system again.사용자가 사용한 만큼만 사용료를 내는 소프트웨어 임대 시스템에 있어서,In a software lease system that pays only for what a user uses,데이터 통신의 서버 기능을 수행하는 웹서버;A web server performing a server function of data communication;회원인증 및 임대료 계산 기능을 수행하는 인증 및 제어 처리 서버;An authentication and control processing server that performs member authentication and rent calculation functions;사용자 정보, 결제 정보 등을 관리하는 기능을 수행하는 데이터베이스 서버;및A database server that manages user information, payment information, and the like; and임대료를 결제하는 기능을 수행하는 결제 전용 서버Billing dedicated server to pay rent를 포함하는 것을 특징으로 하는 소프트웨어 임대 시스템.Software rental system comprising a.사용자가 사용한 만큼만 사용료를 내는 소프트웨어 임대 방법에 있어서,In the method of renting the software that pays only for the user's use,상기 소프트웨어 임대 시스템이 상기 미들웨어로부터 프로그램 사용에 관한 데이터를 전송 받는 단계;Receiving, by the software rental system, data regarding program usage from the middleware;상기 소프트웨어 임대 시스템이 상기 전송된 데이터를 이용하여 임대료를 계산하는 단계; 및Calculating, by the software rental system, the rent using the transmitted data; And상기 소프트웨어 임대 시스템이 사용자가 지정한 결제 방식에 따라 결제하는 단계Payment by the software rental system according to a payment method specified by a user를 포함하는 것을 특징으로 하는 소프트웨어 임대 방법.Software rental method comprising a.제12항에 있어서,The method of claim 12,상기 소프트웨어 임대 시스템이 상기 미들웨어와 정기적으로 데이터를 교환하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 방법.And the software rental system periodically exchanging data with the middleware.제13항에 있어서,The method of claim 13,상기 소프트웨어 임대 시스템이 상기 미들웨어와 데이트를 교환할 수 없는 경우에 상기 미들웨어가 마지막으로 보낸 데이터를 상기 데이터베이스 서버에 저장하는 단계;Storing data last sent by the middleware in the database server when the software rental system cannot exchange data with the middleware;상기 소프트웨어 임대 시스템이 상기 미들웨어와 데이트를 다시 교환할 수 있게 된 경우에 상기 저장된 데이터를 미들웨어로 전송하는 단계Transmitting the stored data to the middleware when the software rental system is able to exchange data with the middleware again.를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 방법.Software rental method further comprising a.제12항에 있어서,The method of claim 12,상기 소프트웨어 임대 시스템이 사용자로부터 사용자 정보와 결제정보를 입력받는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 방법.The software rental system further comprises the step of receiving user information and payment information from the user.제15항에 있어서,The method of claim 15,상기 소프트웨어 임대 시스템이 사용자가 입력한 사용자 정보와 결제정보의 유효성을 확인하는 단계를 더 포함하는 것을 특징으로 하는 소프트웨어 임대 방법.The software leasing system further comprises the step of checking the validity of the user information and payment information entered by the user.제16항에 있어서,The method of claim 16,상기 유효성 확인은The above validation is상기 소프트웨어 임대 시스템이 금융결제원, 은행 또는 카드회사에 의뢰하여 이루어지는 것을 특징으로 하는 소프트웨어 임대 방법.The software rental system is a software rental method characterized in that the request made by the financial settlement agency, bank or card company.제16항에 있어서,The method of claim 16,상기 유효성 확인은The above validation is상기 사용자의 실명여부, 결제수단의 유효성을 확인하는 것을 특징으로 하는 소프트웨어 임대 방법.Software leasing method, characterized in that the real name of the user, checking the validity of the payment means.제12항에 있어서,The method of claim 12,상기 결제 방식은 선불제 또는 후불제인 것을 특징으로 하는 소프트웨어 임대 방법.The payment method is a software rental method characterized in that the prepaid or postpaid.
KR1020010046270A2001-07-312001-07-31A system for software rent and a method thereofCeasedKR20030012294A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
KR1020010046270AKR20030012294A (en)2001-07-312001-07-31A system for software rent and a method thereof

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
KR1020010046270AKR20030012294A (en)2001-07-312001-07-31A system for software rent and a method thereof

Publications (1)

Publication NumberPublication Date
KR20030012294Atrue KR20030012294A (en)2003-02-12

Family

ID=27717468

Family Applications (1)

Application NumberTitlePriority DateFiling Date
KR1020010046270ACeasedKR20030012294A (en)2001-07-312001-07-31A system for software rent and a method thereof

Country Status (1)

CountryLink
KR (1)KR20030012294A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR100738326B1 (en)*2005-11-242007-07-12한국전자통신연구원 Prefetch-based Software Streaming Service System and Method Using Wireless Pattern Analysis in Wireless Environment, and Software Streaming Method in Wireless Terminal Using the Same
CN116308698A (en)*2023-05-152023-06-23电能易购(北京)科技有限公司Design software renting service system for foundation facilities

Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
JPH087009A (en)*1994-08-161996-01-12Hiroshi WatanabeSoftware rental system through network
US5638513A (en)*1993-12-221997-06-10Ananda; MohanSecure software rental system using continuous asynchronous password verification
EP0895148A1 (en)*1997-07-311999-02-03Siemens AktiengesellschaftSoftware rental system and method for renting software
KR100209248B1 (en)*1996-10-291999-07-15박창윤Software sales method and system
US5925127A (en)*1997-04-091999-07-20Microsoft CorporationMethod and system for monitoring the use of rented software
KR20010070257A (en)*1999-12-032001-07-25미야자와 요오이치Billing method for client server systems and billing device for client server systems

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5638513A (en)*1993-12-221997-06-10Ananda; MohanSecure software rental system using continuous asynchronous password verification
JPH087009A (en)*1994-08-161996-01-12Hiroshi WatanabeSoftware rental system through network
KR100209248B1 (en)*1996-10-291999-07-15박창윤Software sales method and system
US5925127A (en)*1997-04-091999-07-20Microsoft CorporationMethod and system for monitoring the use of rented software
EP0895148A1 (en)*1997-07-311999-02-03Siemens AktiengesellschaftSoftware rental system and method for renting software
KR20010070257A (en)*1999-12-032001-07-25미야자와 요오이치Billing method for client server systems and billing device for client server systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR100738326B1 (en)*2005-11-242007-07-12한국전자통신연구원 Prefetch-based Software Streaming Service System and Method Using Wireless Pattern Analysis in Wireless Environment, and Software Streaming Method in Wireless Terminal Using the Same
CN116308698A (en)*2023-05-152023-06-23电能易购(北京)科技有限公司Design software renting service system for foundation facilities

Similar Documents

PublicationPublication DateTitle
US10291619B2 (en)System, method, and device for delivering communications and storing and delivering data
JP3766197B2 (en) Software distribution method, server device, and client device
AU2002228370B2 (en)System for program delivery to storage module of a mobile terminal
US20020083003A1 (en)Method and apparatus for the accurate metering of software application usage and the reporting of such usage to a remote site on a public network
US20060106845A1 (en)System and method for computer-based local generic commerce and management of stored value
US20040015958A1 (en)Method and system for conditional installation and execution of services in a secure computing environment
US20040255143A1 (en)Data integrity
US20020120578A1 (en)Time-based software licensing approach
US20090138699A1 (en)Software module management device and program
US20020010864A1 (en)Transaction verification
US10361864B2 (en)Enabling a secure OEM platform feature in a computing environment
CN101589361A (en)The distribution of control figure identification presentation and use
CN101909273B (en)Third party system and method for carrying out authentication and billing by utilizing same
JP2004500649A (en) How to use software products provided via a network
US10534896B2 (en)Authorising use of a computer program
KR100209248B1 (en)Software sales method and system
CN101305377A (en)Communication terminal device, server terminal device, and communication system using the same
WO2006071007A1 (en)Method and system for authenticating software license
CN117978533A (en)User unified login and password-free authentication system based on OAuth2
CN100527144C (en)Method and device for accurate charging in digital copyright management
KR20030012294A (en)A system for software rent and a method thereof
KR20220058464A (en)Round Trip resource sharing with Time slot locking
JP2002091598A (en) Information processing system and method, and recording medium recording information processing program operating on computer
WO2003036530A1 (en)A method and a system for licensing digital resources and services
KR100652835B1 (en) How to recover customer terminal

Legal Events

DateCodeTitleDescription
A201Request for examination
PA0109Patent application

Patent event code:PA01091R01D

Comment text:Patent Application

Patent event date:20010731

PA0201Request for examination
PG1501Laying open of application
E902Notification of reason for refusal
PE0902Notice of grounds for rejection

Comment text:Notification of reason for refusal

Patent event date:20030920

Patent event code:PE09021S01D

E601Decision to refuse application
PE0601Decision on rejection of patent

Patent event date:20040130

Comment text:Decision to Refuse Application

Patent event code:PE06012S01D

Patent event date:20030920

Comment text:Notification of reason for refusal

Patent event code:PE06011S01I


[8]ページ先頭

©2009-2025 Movatter.jp