KR100209248B1 - 주문형 소프드웨어 임대 방법 및 시스템 - Google Patents

주문형 소프드웨어 임대 방법 및 시스템 Download PDF

Info

Publication number
KR100209248B1
KR100209248B1 KR1019960049519A KR19960049519A KR100209248B1 KR 100209248 B1 KR100209248 B1 KR 100209248B1 KR 1019960049519 A KR1019960049519 A KR 1019960049519A KR 19960049519 A KR19960049519 A KR 19960049519A KR 100209248 B1 KR100209248 B1 KR 100209248B1
Authority
KR
South Korea
Prior art keywords
software
rental
user
server
leasing
Prior art date
Application number
KR1019960049519A
Other languages
English (en)
Other versions
KR19980030143A (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 KR1019960049519A priority Critical patent/KR100209248B1/ko
Publication of KR19980030143A publication Critical patent/KR19980030143A/ko
Application granted granted Critical
Publication of KR100209248B1 publication Critical patent/KR100209248B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0645Rental transactions; Leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 임대의 개념을 통해 컴퓨터 소프트웨어를 개발/판매/사용/관리하는 새로운 방법과 이를 구현하는 주문형 소프트웨어 임대시스템에 관한 것으로, 임대용 소프트웨어의 보관 및 임대해간 상기 소프트웨어의 사용 및 사용 기록을 관리하는 임대 제공자에 해당하는 임대 서버 시스템과, 상기 임대용 소프트웨어를 임대 및 사용하는 사용자 시스템과, 상기 임대 서버 시스템과 상기 사용자 시스템을 연결하는 통신망을 구비함으로써, 사용자가 소프트웨어를 구입하여 사용하는 대신에, 상기 통신망을 구비함으로써, 사용자가 소프트웨어를 구입하여 사용하는 대신에, 상기 통신망을 이용하여 주문 방식으로 필요한 소프트웨어를 필요한 때 필요한 만큼만 사용하고 그 사용량에 대한 비용을 지불하도록 한것이다.

Description

주문형 소프트웨어 임대 방법 및 시스템
본 발명은 컴퓨터 소프트웨어를 개발/판매/사용/관리하는 시스템에 관한 것으로, 사용자가 통신망을 이용하여 주문 방식으로 필요한 소프트웨어를 필요한 때에 필요한 만큼만 사용하고 그 사용량에 대한 비용만을 지불하도록 하는 주문형 소프트웨어 임대와, 임대해간 소프트웨어가 무단 사용되는 것을 방지하는 사용제어기술과, 이들을 실제 적용하는 주문형 소프트웨어 임대시스템에 관한 것이다.
지금까지 컴퓨터 소프트웨어를 개발하고 사용하는 방법은 소프트웨어 제작자가 개발을 완료하여, 판매업자를 통해 상품으로 유통시키면, 사용자는 이를 구매하여 사용자의 컴퓨터에 설치하고 수행하는 방법이었다. 이 방법은 지금까지는 거의 유일한 소프트웨어 개발/사용 체계로 인식되어 왔으나, 새로운 컴퓨터 사용 환경에서는 여러 문제점들을 야기시킨다.
컴퓨터의 급속한 보급과 그에 따른 응용 분야의 확산은 다양한 계층의 사용자를 창출하게 되었으며, 그들의 소프트웨어에 대한 요구 역시 질과 양 면에서 매우 다양해지는 결과를 가져 왔다. 한편, 컴퓨터 관련 기술의 급속한 발달과 제작자간의 경쟁은 소프트웨어의 수명을 대폭적으로 단축하여, 거의 매년 마다 새로운 버전의 소프트웨어가 개발되고 있는 실정이다. 이와 같은 환경에서는 소프트웨어 구입방식은 제작자와 사용자 모두에게 불이익을 주게 된다. 사용자 측에서는 소프트웨어의 기능이 자신의 요구를 충분히 만족하는 지에 대한 확신 없이 구매를 하여야 하며, 때로는 자신에게는 필요 없는 기능까지도 제작자의 결정에 따라 비용을 지불하며 구매하여야 한다. 또, 이미 구매한 소프트웨어를 구매 비용만큼 충분히 사용하기 못한 상태에서 새로운 소프트웨어를 구매하여야 하는 부담을 안게된다. 제작자 측에서도 짧은 기간 안에 검증된 소프트웨어를 개발하여야 하는 어려움이 있으며, 판매된 소프트웨어의 오류 등에 대한 관리에도 많은 비용이 소모된다. 또, 잦은 신제품의 출시에 따른 구매자 수의 상대적인 감소에 대처하여야 하는 부담이 있게 된다.
제작자 입장에서 소프트웨어 구매 방식의 또 다른 문제점은 판매된 소프트웨어의 불법 복제를 제어하기가 매우 어렵다는 점이다.
이와 같은 문제들의 핵심적 원인은, 첫째, 소프트웨어 구매 방식에서는 소프트웨어의 제작/사용 과정이 제작자에서 사용자에게로 일방적으로 이루어지기 때문이며, 둘째, 소프트웨어의 소유권이 구매되는 순간 사용자에게로 완전히 이전되기 때문이라고 할 수 있다.
위에서 기술한 문제점들을 해결하기 위해 개발된 기술 중 대표적인 것은 통신망을 소프트웨어의 제작/사용 체계에 이용하는 방법이다. 그 대표적 예로서 주문형 비디오(Video On Demand)를 들 수 있다. 여기서 데이터가 아닌 프로그램, 즉 소프트웨어를 이동시킨다면, 주문형 게임(Game On Demand)또는 주문형 프로그램(Program on Demand)과 같은 응용이 되는데, 이들도 마찬가지로 현실적으로 가능하게 된다. 이와 같이 소프트웨어를 통신망을 통해 동적으로 이동시키며 수행시키는 방법은, 자바(Java)프로그렘과 같은 예에서 보듯이, 최근에 활발히 연구되고 있다.
데이터나 프로그램이 통신망을 통해 일단 사용자에게 전송되어지면, 그에 대한 사용권은 기본적으로 사용자가 소유하게 된다. 비디오와 같은 단순 데이터의 경우에는 이것은 큰 문제가 되지 않는다. 그러나, 반복해서 사용되어지는 프로그램, 특히, 상용 소프트웨어의 경우에는, 이는 중요한 문제가 된다. 따라서, 통신망을 통해 전송되어 사용되는 소프트웨어들은 대부분 비상용 또는 공용 소프트웨어들에 국한되고 있는 것이 현재의 실정이다. 상용 소프트웨어의 경우에는 사용권을 사용자에게 넘기는 판매의 경우가 대부분인데, 이는 단순히 판매 과정이 통신망을 통해 이루어진다는 점만 다를 뿐, 위에서 제시한 문제점들은 그대로 남게 된다.
한편, 소프트웨어를 구매하지 않고 사용하는 방법으로는 원격수행(remote execution)이 있다. 이 방식에서는 사용자가 통신망을 통해 사용자의 컴퓨터를 원격서버의 단말기로 접속하고, 소프트웨어를 서버에서 수행하고 사용료를 지불하게 된다. 이 방식은 구매 자체가 이루어지지 않으므로 위에서 제시한 문제들은 발생하지 않는다. 그러나, 컴퓨터(PC)와 컴퓨터 소프트웨어로 구성되는 현재의 보편적인 컴퓨터 사용 환경과 일치하지 않는다는 문제점이 있다.
결론적으로 말해서, 기존 기술은 물론 현재 개발 중인 기술들도 소프트웨어 구매 방식의 문제점들을 해결하지 못하고 있다. 따라서, 본 발명에서는 구매의 개념에서 완전히 탈피하여, 자동차나 비디오 임대의 경우와 같이, 사용자가 컴퓨터 소프트웨어를 임대하여 사용하고 사용량에 대한 비용만을 지불하는 소프트웨어 임대의 개념을 개발하였다. 여기서, 사용량이란 사용 시간, 사용 횟수, 사용 가간, 사용 기능 등과 같이, 소프트웨어 사용에 있어 양적으로 측정이 가능한 어떠한 것도 될 수 있다.
소프트웨어 임대의 개념을 적용하면, 비록 소프트웨어가 사용자의 컴퓨터에 설치되어 있더라도, 그 소유권은 사용자가 아닌 제작자 또는 임대제공자가 갖게된다. 따라서, 제작자 또는 임대제공자는 임대용 소프트웨어를 얼마든지 관리할 수 있는 데, 예를 들어, 임대 사용료를 인상 또는 인하할 수 있으며, 특정 사용자에 대해 임대를 취소할 수도 있다. 본 발명에서는 이와 같이 임대의 개념이 적용된 소프트웨어를 임대용 소프트웨어라 부른다.
한편, 사용자가 소프트웨어를 임대하여 사용하는 경우에는 다양하고 편리하게 소프트웨어를 선택할 수 있어야 한다. 본 발명에서는 통신망을 이용하여 사용자와 임대제공자가 통신하면서 빠르고 편리하게 소프트웨어를 선택하도록 한다. 결국, 사용자 입장에서는 주문형 비디오를 이용하는 것과 유사하게 소프트웨어를 임대 사용하게 되므로, 본 발명의 방법을 주문형 소프트웨어 임대라 지칭한다.
주문형 소프트웨어 임대에 있어 필수적인 기술은, 임대제공자가 임대용 소프트웨어의 소유권을 유지하며 관리하는 기술이다. 즉, 사용자가 임대해 간 소프트웨어를 임의로 사용하는 것을 제한하는 사용제어기술(usage control)이 반드시 필요하다. 임의 사용의 방지는 일단 한번 읽고 저장한 데이터나 프로그램에 대해서는 소유권을 부여하는, 현재의 컴퓨터 운영체제의 자원 관리 체계를 기반으로 해서는 이루어질 수 없다. 또한, 소프트웨어의 수행을 제한하여야 하므로 기존의 소프트웨어 복사방지 기술과는 근본적으로 다른 기술이 필요하다.
소프트웨어의 전체 또는 부분을 사용자의 필요에 따라 사용자 측의 컴퓨터로 옮겨와 수행하는 방법은 클라이언트/서버 모델 및 죄근의 자바에서 보는 바와 같이 향후의 소프트웨어 수행의 진화 방향으로서 널리 인식되며 활발히 개발되고 있다. 그러나, 이들 기술들은 사용자가 전송된 소프트웨어를 재사용하는 것을 제어할 수 없으므로 상용 소프트웨어는 적용되지 못하고 있는 실정이다. 최근 자바 프로그램의 개념을 임대용으로 확장하려는 연구가 시도되고 있으나, 아직 발표된 것은 없다.
사용자가 소프트웨어를 임의로 사용하는 것을 제어하는 소프트웨어 사용제어기술의 예로는 넷스케이프(netscape)등에서 사용하는 소프트웨어 사용기간에 제약을 두는 방법이 있다. 미국의 네스케이프(Netscape)사는 자신이 개발한 소프트웨어인 넷스케이프를 판매하는 한편, 사용자가 통신망을 통해 전송받아서 무료로 일정기간 동안(예, 2개월)사용하도록 하고 있다. 넷스케이프사가 사용하는 기술은 소프트웨어가 자신의 최초 설치 시점을 내부적으로 기록하여 두고, 사용자의 사용 시점이 기록된 시점으로부터 허용된 기간을 넘으면 수행이 되지 않도록 하는 것이다. 이와 같은 기술은 사용자가 자신의 컴퓨터의 시간을 조정하거나 소프트웨어를 재설치하는 방법 등으로 무단 사용이 가능하게 되어 안전성 면에서 완전하지 못하다는 문제점을 갖고 있다.
사용자에게 소프트웨어를 제공하고 소프트웨어의 사용을 제한하는 또 다른 기술로서는 한 시점에서 사용자 수에 제한을 두는 라이센싱 기법이 있다. 그러나, 이 기술 역시 소프트웨어 구매의 한 변형일 뿐, 임대의 개념을 구현하는데는 사용될 수 없다.
다른 사용제어기술로서의 예는 커브로스(Kerberos)가 있다. 커브로스는 보안 기술의 일종인 인증 프로토콜로서, 처음에는 메사추세츠(MIT)공대의 애트나(Athena)프로젝트에 의하여 개발되었으며, 유닉스(UNIX)소프트웨어로서 공용 도메인(domain)에 공개되어 있다. 커브로스를 사용하면 소프웨어가 사용자가 사용할 권리가 있다는 사실을 신뢰할 만한 제 3자에 의해 인증된 경우에만 수행되므로, 사용제어기술로서 이용될 수 있다.
그러나, 커브로스를 소프트웨어 임대의 사용제어기술로 사용하는 데는 몇 가지 문제점이 있다. 첫째, 사용자, 서비스 제공자, 인증서버로 구성되는 모델을 소프트웨어 임대에 적용하기 위해서는 사용자를 대신할 중계자가 반드시 필요하게 된다. 둘째, 커브로스자체는 사용을 시작하는 것 만을 제어할 뿐, 사용량에 대한 정보를 제공하지 못한다. 따라서, 커브로스를 소프트웨어 임대 시스템에 적용하려면, 기능의 확장이 필요하다. 셋째, 커브로스는 안전성에 한계가 있다. 커브로스가 키의 재사용을 이용한 공격에 상대적으로 취약하다는 것은 이미 널리 알려져 있다. 이와 같은 문제점은 서비스 제공자에 해당되는 임대용 소프트웨어가 사용자 컴퓨터에 존재하면서 사용자의 직접적인 공격의 대상이 될 수 있는 소프트웨어 임대 환경에서는 안전성에 치명적인 영향을 미칠 수 있다. 결국, 가장 관련이 깊은 기존 기술이라고 할 수 있는 커브로스도 소프트웨어 임대에는 직접 사용할 수 없으며, 이를 확장하여 사용한다 하더라도 안전정을 유지하기 힘들다고 할 수 있다.
이상의 관련된 기존 기술들을 살펴볼 때, 소프트웨어에 임대의 개념을 도입하여, 소유권의 이전 없이 사용량에 따라 비용을 부과하는 기술은 없다고 할 수 있다. 또한, 소프트웨어 임대에 필수적인 사용제어기술로 적용할만한 기술도 존재하지 않는다고 결론지을 수 있다.
그러므로, 본 발명은 사용자가 소프트웨어를 선택적으로 사용하고 그 사용량에 따라서 사용료를 지불하는 주문형 소프트웨어 임대 방법 및 시스템을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 사용자의 무단 사용을 위한 공격 행위에 대처할 수 있는 안전성을 보장하며, 사용자의 사용량을 정확히 인지하여 정확한 비용 산출을 보장하며, 사용자가 일반 소프트웨어를 사용하는 것과 같은 방법으로 임대용 소프트웨어를 사용할 수 있는 편의성을 지원하며, 기존의 모든 소프트웨어를 임대용으로 만들 수 있는 보편성을 지원하기 위해 소프트웨어에 독립적인, 사용제어기술을 제공하는 것이다.
상기 목적을 달성하기위한 본 발명에 따르면, 상기 사용제어기술을 적용하는 주문형 소프트웨어 임대시스템이 제공되며, 상기 주문형 소프트웨어 임대시스템은 임대용 소프트웨어와, 상기 임대용 소프트웨어를 보관하고, 상기 임대용 소프트웨어의 임대 및 사용을 제어하고, 그 사용기록을 보관하는 상기 임대 서버로 구성된 임대 서버 시스템과; 상기 임대 서버 시스템과; 상기 임대 서버 시스템으로 상기 임대용 소프트웨어의 임대를 요청하여 임대받고, 상기 임대용 소프트웨어를 사용하기 위해 상기 임대 서버 시스템으로 사용 시작을 요청하는 사용자 시스템과; 상기 임대 서버 시스템과 상기 사용자 시스템을 상호 연결하는 통신망으로 구성되는 것을 특징으로한다.
제1도는 주문형 소프트웨어 임대의 개념을 예시하는 도면.
제2도는 주문형 소프트웨어 임대 시스템의 구성 블록도.
제3도는 임대용 소프트웨어의 구성을 예시하는 도면.
제4도는 제 2도에 도시된 서버시스템의 구조를 상세히 예시하는 도면.
제5도는 제 2도에 도시된 사용자 시스템의 구조를 상세히 예시하는 도면.
제6도는 임대용 소프트웨어의 사용을 제어하기 위해 사용제어 프로토콜을 예시하는 도면.
* 도면의 주요부분에 대한 부호의 설명
100 : 임대 서버 시스템 110 : 임대 서버
120 : 임대모듈 130 : 사용제어모듈
140 : 비용부과모듈 150 : 임대/사용 데이터베이스
200 : 사용자 시스템 210 : 임대중계자
221 : 소프트웨어 선택/전송 모듈 222 : 임대관리자모듈
300 : 컴퓨터통신망 410 : 임대용 소프트웨어 원본
420 : 임대용 소프트웨어 복사본 430 : 사용제어부분
440 : 소프트웨어 본체 500 : 사용자
600 : 임대자 700 : 임대관리자
본 발명의 상기 및 기타 목적과 여러 가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시예로부터 더욱 명확하게 될 것이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
제1도를 참조하면, 본 발명의 바람직한 실시예에 따른 주문형 소프트웨어 임대 방법이 수행되는 과정이 상세히 설명된다.
사용자(500)는 사용자 시스템(200)을 이용하여 컴퓨터 통신망(300)을 통해 임대 서버 시스템(100)과 연결하고, 제시된 소프트웨어 중 필요한 것을 선택하여 임대요청을 한다(1000). 임대 서버 시스템(100)은 해당 임대용 소프트웨어(410)를 컴퓨터 통신망(300)을 통해 사용자 시스템으로 전송하고, 사용자는 이를 설치한다(1100). 사용자가 임대용 소프트웨어(420)를 사용할 때마다(2000), 임대용 소프트웨어는 임대서버와 사용제어를 수행하고, 사용에 관한 사실들은 임대서버에 기록된다(2100). 임대서버 시스템(100)은 사용 기록들을 주기적으로 종합하여 사용자에게 사용료를 부과한다(300).
본 발명에서 사용자가 소프트웨어를 전송받는 행위는 구매가 아닌 임대(rent)에 해당되며, 소프트웨어를 사용하는 행위는 임대사용(rental use 또는 use)에 해당된다고 볼 수 있다. 따라서, 본 발명에서는 이와 같은 사용자의 소프트웨어 사용을 주문형 소프트웨어 임대(software rent on demand)라고 부르며, 본 발명의 실체적인 결과물이 될 수 있는 주문형 소프트웨어 임대를 실현하는 시스템을 주문형 소프트웨어 임대 시스템(software rent on demand system)이라 지칭한다. 또한, 해당 소프트웨어는 일반 판매용과 구분 지어 임대용 소프트웨어(rental software)라 부른다.
본 발명의 주문형 소프트웨어 임대시스템 하에서는 사용자는 구매를 하지않고도 원하는 소프트웨어를 자신의 시스템에 설치하여 사용할 수 있다. 사용하는 량에 비례하여 부과되는 사용료에 대해 차 후에 비용을 지불하면 되며, 만일 필요가 없어져 사용하지 않는다면 비용 부담은 전혀 없게 된다. 소프트웨어 제작자는 여전히 사용량에 비례하여 수입을 얻을 수 있으면서, 배포된 모든 소프트웨어들에 대한 권리를 유지하며 사후 관리할 수 있게 된다. 물론, 불법 복제된 소프트웨어도 관리될수 있다.
본 발명에서의 임대는 기존의 다른 임대 경우와 비교하여 사용료 산정에 기준이 되는 임대 사용량을 다양하고 구체적으로 정의 할 수 있다. 비디오 임대와 같이 사용 허용 기간을 기준으로 할 수 있으며, 자동차와 유사하게 실제 사용 시간을 적용할 수도 있다. 또, 실제 사용한 소프트웨어의 기능에 따라 사용량을 결정할 수도 있다. 따라서, 매우 다양한 형태의 임대 계약이 가능하며, 소프트웨어를 구성할 때도 융통성을 갖을 수 있다.
주문형 소프트웨어 임대에서 사용되는 임대용 소프트웨어는 따로 개발되는 것이 아니라, 기존의 소프트웨어에 사용제어부분을 기계적으로 추가함으로써 만들어질 수 있다. 따라서, 현존하는 모든 소프트웨어는 임대용 소프트웨어가 될 수 있으며, 소프트웨어 제작자는 독립적으로 소프트웨어를 제작할 수 있다. 임대용 소프트웨어의 유일한 제약은 통신망을 통해 통신이 가능한 시스템에서 수행되어야 한다는 점이다.
제2도는 본 발명에 따른 주문형 소프트웨어 임대시스템의 모델의 구성을 도시한다. 도면에서 보는 바와 같이, 주문형 소프트웨어 임대시스템(10)은 임대제공자에 해당하는 임대 서버 시스템(100)과 사용자에 해당하는 사용자 시스템(200)과 임대 서버 시스템(100)과 사용자 시스템(200)을 연결하는 컴퓨터 통신망(300)으로 이루어 진다
임대 서버 시스템(100)은 임대용 소프트웨어(410)와 임대 서버(110)를 포함한다, 본 발명에서는 사용자 시스템(200)으로 전송되어 존재하는 임대용 소프트웨어를 서버에 있는 임대용 소프트웨어와 구분하기 위해, 전자를 임대용 소프트웨어의 복사본(420), 후자를 임대용 소프트웨어의 원본(410)이라고 부른다. 둘 사이의 차이는 임대용 소프트웨어의 복사본(420)에는 이를 임대해 간 사용자(500)를 식별할 수 있는 정보가 들어 있다는 점이다. 따라서, 사용자 시스템에 존재하는 복사본(420)은 특정 임대인을 위한 임대용 소프트웨어라고 할 수 있다.
임대서버(110)는 임대용 소프트웨어를 보관하고, 임대해간 소프트웨어의 사용을 제어하며, 사용자의 사용기록을 보관하는 일을 수행하는 것이다. 주문형 소프트웨어 임대시스템(10)의 동작은 그 기능에 따라, 임대(rent)와 사용(use)으로 나누어진다. 여기서 임대란 사용자가 임대서버로부터 자신의 컴퓨터로 임대용 소프트웨어에 대한 자신의 복사본을 전송받아 오는 행위를 말하며, 사용이란 사용자가 자신의 임대용 소프트웨어 복사본을 수행시키는 행위를 말한다. 본 발명에서는 사용자 컴퓨터의 환경에 따라 임대를 수행한 자와 사용을 하는 자가 달라질 수 있으므로(예, 복수 사용자 시스템), 이를 임대자(renter)와 사용자(user)로 구분하여 지칭하도록 한다. 임대자(600)와 사용자(500)의 구분은 사용자 시스템 측의 임무로서 서버는 모든 사용에 대해 사용료를 임대자에게 일괄적으로 부과하며, 이를 실제 사용자에게 개별 부과하는 것은 사용자 시스템 측에서 처리하도록 한다.
한편, 본 발명에서는 사용자의 편의를 돕기 위하여 사용자 컴퓨터 측에 임대용 소프트웨어의 복사본 뿐만 아니라 임대중계자(Rent Agent)(210)라고 하는 소프트웨어를 둔다. 임대중계자(210)는 임대자의 임대 행위를 지원하는 것을 주임무로 하며, 사용의 경우에도 사용 사항 등을 기록 보관한다. 또한, 사용자가 현재 사용료등과 같은 정보를 문의할 때, 이를 임대 서버(110)로 중계하는 일을 담당한다.
마지막으로, 주문형 소프트웨어 임대시스템의 모든 동작은 통신망을 통해 이루어진다. 따라서, 통신망(300)이 두절되는 경우 시스템은 동작할 수 없다. 이와 같은 예외 사건의 처리는 임대관리자(700)와 사용자 또는 임대자가 전화와 같은 다른 통신 수단(800)을 이용하여 처리하도록 한다.
제3도는 본 발명에 따른 임대용 소프트웨어의 구성을 도시한다. 임대용 소프트웨어(410, 420)는 소프트웨어 제작자가 개발한 원래의 소프트웨어(440)를 (본 발명에서는 이를 소프트웨어 본체라고 부른다.) 임대제공자가 개발한 사용제어부분(430)으로 둘러싸는 형태로 구성된다. 이와 같은 구조에서는 사용자는 사용제어부분(430)만을 직접 접근할 수 있으며, 결국, 소트웨어의 시작과 종료는 사용제어부분(430)의 시작과 종료를 의미하게 된다. 이 사항을 제외한 사용제어부분(430)과 소프트웨어 본체(440)와의 상호 동작은 소프트웨어 제작자가 안전성을 고려하여 임의로 추가하도록 한다.
여기서 주목할 것은 임대용 소프트웨어의 수행에 있어서 사용제어부분의 동작은 내부적으로만 이루어진다는 점이다. 따라서, 사용자는 사용제어부분의 작업을 전혀 인지할 수 없으며, 임대용 소프트웨어를 사용하는 과정은 기존의 판매용 소프트웨어를 사용하는 것과 동일하다.
제4도는 제2도에 도시된 서버 시스템의 상세 구조를 도시한다. 임대 서버 시스템(100)은 상술한 바와같이 임대용 소프트웨어 원본(410)와 임대 서버(110)를 포함한다. 임대 서버(110)는 사용자의 임대요청을 받아 처리하는 일을 담당하는 임대모듈(120), 임대용 소프트웨어의 사용에 관한 제반 업무를 담당하는 사용제어모듈(130), 임대 및 사용에 관한 비용을 계산하고 이를 부과하는 업무를 담당하는 비용부과모듈(140), 임대 서버 시스템(100)의 모든 동작에 필요한 정보, 예를 들면, 임대자와 임대 기록, 임대용 소프트웨어 기록 및 사용 기록등의 내용을 보관하며, 그에따른 모든 결과를 기록하여 두는 데이터베이스(150)를 포함한다.
임대모듈(120)은 사용자가 원하는 소프트웨어를 선정할 수 있도록 각 임대용 소프트웨어의 기능, 특징, 사용료 등을 소개하며, 사용자가 임대소프트웨어를 선정하면 해당 임대소프트웨어의 원본으로부터 사용자의 이름 등이 기록된 사용자용복사본(420)을 만들고 이를 사용자 시스템(200)으로 전송한다(1100). 이때, 사용자의 임대 기록 및 임대용 소프트웨어의 기록을 데이터베이스(150)에 저장한다.
임대모듈(120)이 사용자(500)의 임대요청(1000)에 따라 임대용 소프트웨어의 복사본(420)을 만드는 과정은 다음과 같다. 우선, 임대모듈(120)은 소프트웨어 제작자가 작성한 임대용 소프트웨어 원본(410)들을 안전한 장소에 보관한다. 그다음, 사용자(500)가 특정 소프트웨어의 임대를 요청하면, 임대모듈(120)은 소프트웨어 원본(410)에 사용자의 식별번호(ID), 비밀키 등을 넣어 복사본(420)을 만들고 이를 사용자 시스템(200)으로 전송한다.
사용자(500)가 처음으로 주문형 소프트웨어 임대시스템을 이용하는 경우에는 향후의 주문형 임대용 소프트웨어의 사용의 창구가 될 임대중계자(210)를 만들어 사용자 시스템(200)에 설치하도록 하여야 한다. 사용자(500)는 웨브 브라우저 등을 이용하여 서버(110)로 접촉한 후, 자신의 인적사항과 시스템 정보를 입력하게 된다. 임대모듈(120)은 사용자의 인적 사항에 따라 데이터베이스(150)에 새로운 임대자로 등록하고, 사용자 시스템(200)의 사양에 따라 해당 임대자의 임대중계자(210)를 생성하여 사용자에게 전송한다. 실제 임대는 임대중계자를 통해 요구된 경우만 가능하도록 제어될 것이다.
서버(110)의 사용제어모듈(130)은, 사용자(500)가 임대해간 소프트웨어의 사용을 시작할 때, 상기 소프트웨어 내부에 있는 사용제어부분(430)로부터 사용시작을 요청되면, 요청된 사용시작이 정당한 것인지를 확인하고, 정당하다면 이에 대한 사용허가를 사용제어부분(430)에게 보내서 사용자(500)가 소프트웨어를 사용할 수 있도록 한다. 이때, 데이터베이스(150)에 해당 소프트웨어의 사용시작을 기록한다. 그러나, 사용자의 부정수행 경우와같이 정당하지 않다면, 사용제어모듈(130)은 사용거부 응답을 보내 소프트웨어가 종료되도록 한다. 사용자(500)가 소프트웨어 사용을 종료하는 경우에도 마찬가지로 처리한다. 이와 같이, 사용제어모듈(130)은 임대용 소프트웨어에서 보낸 사용시작 요청을 받아 사용제어 프로토콜(제 6도를 참조하여 상세히 설명됨)에 따라 사용제어를 수행하고, 이 사실을 데이터베이스에 기록하는 일을 담당한다.
비용부과모듈(140)은 임대 서버(110)의 데이터베이스(150)를 관리하면서, 주기적으로 각 임대자 별 임대 및 사용 기록을 조사하여 총 사용 비욜을 계산한다. 또한, 사용자로부터 자신의 사용 기록에 대한 문의가 있으면 데이터베이스(150)를 조회하여 이에 대한 응답을 하는 기능을 수행한다. 보다 상세히 말해서, 비용부과모듈(140)은 주기적으로 데이터베이스의 사용기록을 검색하여 임대자별 사용요금을 계산하고, 임대자가 임대중계자를 통해 임대 및 사용 기록에 관해 문의하면 데이터베이스를 검색하여 응답하고, 예외사건 발생과 같은 비정상적인 데이터베이스(150)의 기록 내용을 갱신하며, 각 임대용 소프트웨어 별 사용 빈도 등 통계를 산출하는 기능을 수행한다.
제 5도에는 사용자 시스템(200)측의 구조가 상세히 도시된다. 도시된 바와같이, 사용자 시스템(200)은 임대중계자(210)과 임대해온 임대용 소프트웨어 복사본(420)를 구비한다. 여기서 임대중계자(210)는 사용자 시스템 당 한 개, 즉, 하나의 임대자 당 한 개가 존재하며, 임대용 소프트웨어의 복사본(420)은 임대해 간 만큼 존재한다.
임대중계자(210)는 소프트웨어의 임대를 관장하며, 임대용 소프트웨어를 사용하는데 있어서 상황 정보 등의 편의를 제공하는 기능을 담당한다. 또한, 임대와 사용 과정의 모든 사건들을 임대 로그(220)에 기록하며, 사용자가 임대 서버(110)에 문의를 하는 경우 이를 중계한다. 다시 말해, 주문형 소프트웨어 임대시스템의 사용자 측 창구라고 할 수 있다. 이러한 임대중계자(210)는 임대용 소프트웨어의 선택 및 전송을 담당하는 소프트웨어 선택/전송모듈(211)과 나머지 모든 작업을 수행하는 임대관리자모듈(212)로 구성된다.
본 발명에 있어서, 임대 사용의 경우, 임대중계자(210)의 역할은 사용제어의 상황 정보 등을 기록하는 일에 국한된다. 즉, 사용제어의 모든 유효한 동작은 임대용 소프트웨어(420)내의 사용제어부분(430)이 담당하며, 임대중계자(210)는 임대 서버(110)의 사용제어 동작 과정에서 생성되는 사실들을 임대 서버(110)로부터 받아 이를 임대 로그(220)에 기록하는 일을 할 뿐이다. 임대 로그(220)에 기록되는 정보도 단순히 사용자의 참고용으로 이용될 뿐, 비용 산출의 근거는 될 수 없다. 이것은 서버(110)가 사용자 시스템 내의 모든 기록이 사용자에 의해 조작될 수 있다고 간주하고, 임대 서버 시스템(100)의 데이터베이스(150)에 기록된 정보만이 공식적인 것으로 인정되기 때문이다.
본 발명의 사용제어부분(430)에의해 수행되는 사용 기술은 제 6도를 참조하여 설명한다. 본 발명에서 사용제어란 사용자가 소프트웨어의 수행을 요청하기 시작한 시점으로부터 수행의 완료가 검증될 때까지 임대서버(110)가 임대용 소프트웨어의 사용제어부분(430)과 더불어 처리하는 모든 일련의 작업들을 의미한다. 사용제어의 목표는 사용자가 소프트웨어의 임대를 원할 때 항상 임대가 가능한 환경을 제공하도록 하고, 또한 어떠한 부정한 방법으로도 수행이 불가능해야 하며 사용자에 대한 적절한 사용료가 책정되도록 임대 사용에 대한 정보를 수집하는 일이다.
본 발명에서는 임대용 소프트웨어(420)내에 있는 사용제어부분(430)과 임대서버(110)가 서로 메시지를 교환하여 상대방을 인증하고, 이 과정에서 임대용 소프트웨어의 수행 사실이 임대 서버(110)에 정확히 기록되게 된다. 사용제어기술의 핵심적인 내용인 메시지 교환 프로토콜을 설명하면 다음과 같다.
상호 인증에 사용되는 암호화 알고리즘으로서는 공용키 암호화 알고리즘과 비밀키 암호화 알고리즘의 두 가지가 있는데, 본 발명의 설명에서는 보다 안전적인 공용키 암호화 알고리즘을 이용한다. 상기 공용키 암호화 알고리즘을 사용하기 위해서는 임대용 소프트웨어와 임대 서버는 2 가지의 키 쌍을 미리 약속하여 각각 자신의 해독 비공개키와 상대방의 암호화 공개키를 가지고 있어야 한다. 그리고 본 발명에서는 보다 안전한 상호 인증을 위하여, 매 인증 작업마다 랜덤 수를 각각 하나씩 생성하여야 한다.
프로토콜에서 사용되는 용어들은 다음과 같이 정의된다.
임대 서버(S) : 제공자(Provider)로부터 임대할 소프트웨어를 수집하여 소프트웨어의 임대를 관리하는 서버이다.
임대용 소프트웨어(C) : 소프트웨어의 임대 사용을 원하는 클라이언트의 의미로서, 정확히는 사용자의 수행 명령에 따라 임대 서버에게 요청을 하는 임대용 소프트웨어내의 사용제어부분(430)이다.
KRS: 임대 서버의 비공개키
KUS: 임대 서버의 공개키
KRC: 임대용 소프트웨어의 비공개키
KUC: 임대용 소프트웨어의 공개키
NVS: 임대 서버가 생성한 랜덤 수
NVC: 임대용 소프트웨어가 생성한 랜덤 수
EK(M) : 메시지 M을 키 K로 암호화한 내용
사용자(500)가 임대용 소프트웨어를 수행시키면, 사용제어부분(430)은 소프트웨어 본체(440)를 수행시키기 전에 사용시작을 위해 임대 서버(110)와 통신을 한다. 사용시작을 위한 프로토콜은 제5도에서와 같이 4번의 메시지 교환으로 이루어지는데 그 과정을 설명하면 다음과 같다.
제 1 단계 : 사용제어부분(430)은 임대 서버(110)에게 '사용시작 요청' 메시지(2110)를 보내어 사용자(500)가 소프트웨어를 임대 사용하려 한다는 사실을 전달한다. 이때, 랜덤 수를 하나 생성하고(NVC), 이를 임대 서버(110)의 공개키로 암호화 하여 보낸다(EKUs(NVC)).
제 2 단계 : 임대 서버(110)는 임대를 요청한 사용제어부분(430)에게 '사용시작 확인'메시지(2220)를 보내어 올바른 사용자인지 인증할 응답을 요청한다. 즉, 랜덤 수를 하나 생성하여(NVS), 이를 사용제어부분(430)의 공개키로 암호화하여 보낸다 (EKUc(NVS)).
제 3 단계 : 사용제어부분(430)은 자신을 인증하는' 사용확인 응답' 메시지(2230)를 임대 서버(110)에게로 보내어 정당한 사용자임을 확인시킨다. 이때, 메시지에는 임대 서버(110)가 보낸 랜덤 수를 해독한 결과(NVS)를 넣어 보낸다.
제 4 단계 : 임대 서버(110)는 '사용확인 응답' 메시지를 검증하여 정당한 사용요청이 확인되면 '사용시작 허가' 메시지(2140)를 보내어 임대용 소프트웨어의 사용을 허락한다. 이때, 검증하는 방법은 사용제어부분(430)이 해독하여 보낸 랜덤 수가 원래 생성하였던 랜덤 수와 같은 지를 비교하는 것이다. 랜덤 수(NVS)는 사용제어부분의 공개키로 암호화되어 보내졌기 때문에 사용제어부분(430)의 비밀키로만 해독이 가능하고 이 비밀키를 알고 있는 것은 사용제어부분(430) 뿐이므로, 뿐이므로, 랜덤 수가 일치하면 정당한 사용제어부분이 사용요청을 한 것이라고 판단할 수 있다. 동일한 이유로 '사용시작 허가' 메시지에는 '사용시작 요청' 에 넣어져 온 랜덤 수(NVC)를 해독하여 보낸다.
제 5 단계 : 사용제어부분(430)은 사용허가를 받아 정당한 것인지를 검증한 후 임대용 소프트웨어 본체(440)의 수행을 시작한다. 검증하는 방법은 위의 제 4 단계에서와 마찬가지로 랜덤 수를 비교하는 것이다.
사용자가 임대용 소프트웨어의 수행을 끝내면, 소프트웨어의 본체(440)는 종료되고 사용제어부분(430)이 종료작업을 시작한다. 종료작업 과정은 위의 시작요청작업과 동일한 프로토콜에 의해 서버(110)와 통신함으로써 이루어진다. 사용 시작과 종료간의 차이는 '시작요청' 메시지 대신에 '종료보고' 메시지가 교환된다는 점이다. 종료작업이 정상적으로 끝나면 임대용 소프트웨어의 한 번의 임대 사용이 이루어진 것으로 간주된다.
본 발명의 사용제어 프로토콜의 가장 큰 특징은 통신의 양쪽이 각각 랜덤 수를 생성하여 능동적인 인증을 한다는 점이다. 기존의 인증 프로토콜은 인증의 근거로서 수신된 메시지가 상대방의 비밀키에 의해 정상적으로 암호화되어 있다는 사실을 근거로 하고 있다. 본 발명의 프로토콜은 이 점에 덧붙여, 상대방에게 랜덤 수를 보내고, 상대방이 이를 정상적으로 해독할 수 있는 지를 확인하는 능동적인 점검을 추가하여 이중으로 인증한다. 또한, 사용제어 프로토콜의 수행 때마다 새로운 랜덤 수를 생성하여 사용하므로 메시지의 재사용을 이용한 부정사용을 방지할 수있다.
위와 같은 사용제어 프로토콜의 모든 작업들은 소프트웨어의 시동 과정 중에 사용자의 별도의 작업 없이 내부적으로 처리되어진다. 따라서, 사용자 입장에서 임대용 소프트웨어를 사용하는 과정은 기존의 판매용 소프트웨어를 사용하는 것과 동일하다.
사용자가 부정수행을 시도하는 가능한 사례들에 대해, 사용제어기술로서 본 발명에서 설계한 사용제어 프로토콜이 어떻게 이를 방지할 수 있는가를 설명하면 다음과 같다.
[사례 1]
임대자가 사용자에게 보내 준 기본적인 자료(예, 임대 서버가 사용자에게 준 키값 등)로 서버와의 통신없이 부정 수행을 시도하는 경우.
[방지방법]
설계된 사용제어 프로토콜은 서로의 인증이 각각 랜덤 수를 생성시킨후 메시지의 전달과정에서 확인하는 방법으로 이루어지므로 서버와의 통신이 없이는 수행이 불가능하다.
[사례 2]
사용자가 가상의 서버를 만들어서 서버와 메시지를 교환한 것처럼 꾸민 후, 소프트웨어의 부정수행을 시도할 경우.
[방지방법]
설계된 사용제어 프로토콜은 공개키 알고리즘에 기반하고 있으므로 가상의 서버를 만들어서 통신한 메시지가 효력을 발휘하기 위하여는 상대방의 비공개키를 알고 있어야 한다. 그러나 공개키만으로 비공개키를 알아내는 것은 공개키 알고리즘에서 상당히 어려운 문제로 알려져 있으므로, 사용자가 가상의 서버를 통해 메시지를 정확히 만들 수 없다.
[사례 3]
하나의 소프트웨어를 한번 이상의 수행후, 그 당시의 통신내용으로 사용허가를 얻으려고 하는 경우.
[방지방법]
설계된 사용제어 프로토콜에서는 매 사용요청 처리 때마다 양쪽에서 랜덤 수를 생성하여 교환한다. 따라서, 랜덤 수가 일치하지 않는 한, 메시지를 재사용하여 임대용 소프트웨어를 수행시킬 수 없다.
[사례 4]
수행이 끝나지 않은 상태에서 수행이 끝난 것처럼 조작하는 경우.
[방지방법]
임대용 소프트웨어의 수행이 끝난 상태에서만 종료보고 메시지가 만들어지도록 사용제어를 만들면 이 사례는 기본적으로 방지될 수 있다. 사용자가 소프트웨어를 사용하는 중간에 임의로 종료보고 메시지가 발생하기 위하여는 임대용 소프트웨어에서 사용제어부분이 포함된 부분의 위치를 정확히 알아내고 조작할 수 있어야 하는데, 이것은 임대용 소프트웨어 전체 코드를 알아야 가능한 일이므로 불가능하다고 볼 수 있다, 또, 임대용 소프트웨어의 사용 중에 임대용 소프트웨어의 외부에서 메시지를 위조하여 서버에게 종료보고하려는 부정행위가 있을 수 있다. 그러나 이 경우는 수행 시작의 경우와 마찬가지로 암호화 알고리즘을 풀거나 랜덤 수를 맞추어야 가능한 일이기 때문에 실질적으로 불가능하다고 할 수 있다. 한편, 빈번히 잘못된 종료보고를 하는 사용자에게는 경고 등의 조치를 취하도록 한다.
[사례 5]
두명 이상의 사용자들이 단합하여 부정수행을 하려는 경우.
[방지방법]
각 임대용 소프트웨어에게 각각 다른 공개키 쌍을 정하여 주면이 사례는 방지될 수 있다. 공개키를 랜덤 수로 정의하면 다른 임대용 소프트웨어 복사본이 같은 키를 갖게 되는 경우는 매우 희박하게 될 것이다. 한편, 같은 종류의 임대용 소프트웨어 복사본은 같은 원본에서 기계적으로 생성되므로, 복사본의 비교에 의해 비밀키가 노출될 위험성이 있다. 이를 방지하기 위해, 비밀키와 함께 실제는 의미가 없는 허위키들을 함께 넣도록 한다.
[사례 6]
한명의 사용자가 둘 이상의 서버로부터 소프트웨어를 임대하고 부정 수행을 하려는 경우.
[방지방법][사례 5]에서와 같은 이유로 이 경우는 방지될 수 있다.
[사례 7]
하나의 서버로부터 여러 가지의 소프트웨어를 임대하고 여러 서버와의 통신내용을 합하여 임대한 소프트웨어 중 하나를 부정 수행하려는 경우.
[방지방법]
각 임대용 소프트웨어에 대해 공개키 쌍이 중복되지 않으므로, 이 사례가 성공하기 위하여는 랜덤 수의 정확한 추측이 필수적이다. 따라서 이와 같은 공격행위는 방지될 수 있다.
[사례 8]
두명의 사용자 A와 B중 A가 B의 승낙 없이 B의 임대 계정(account)으로 소프트웨어의 사용을 시도하는 경우.
[방지방법]
이 경우는 서버의 문제라기보다는 사용자의 문제로 귀착된다. 사용자는 자신의 임대용 소프트웨어들을 안전하게 관리할 의무가 있다.
따라서, 본 발명의 주문형 소프트웨어 임대시스템을 이용한 체계는 사용자 입장에서는 가끔 사용하는 소프트웨어를 비싼 비용을 들여 구매하지 않아도 되며, 또 소프트웨어의 기능을 충분히 이해한 뒤에 구매하게 되므로 구매 과정에서의 착오를 줄일 수 있다. 소프트웨어 제작자는 사용자의 수를 늘릴 수 있으며, 유통업체를 거치지 않고 직접 소프트웨어를 보급하는 것도 가능해지므로 소프트웨어 이용의 활성화를 가져올 수 있다. 또, 소프트웨어 보급 뒤에 필요한 사후 관리가 편리해지며, 불법 복제의 문제도 기술적으로 해결될수 있다.
본 발명의 또 다른 효과는 소프트웨어의 다양화를 가져올수 있다는 것이다. 제작자는 제공되는 서비스를 계층화하고 사용 환경을 차별하여 같은 소프트웨어에 대해 여러 등급의 버전들을 제공하며, 제작자는 반제품 또는 검사 중인 소프트웨어를 임대용으로 제공하여 활용함으로써, 제작 기간을 단축하고 생산성을 높이게 된다. 한편, 사용자는 개발자가 제공하는 소프트웨어를 일방적으로 사용하는 것이 아니라, 자신의 필요와 환경에 따라 가장 적합한 소프트웨어를 선택할 수 있게 된다.
마지막으로, 이와 같은 체계는 소프트웨어 제작자와 사용자 간의 상호작업을 가능하게 하여, 그들 사이의 시간적 및 공간적 거리를 제거하면서 새로운 차원의 서비스를 창조하는 데에 기반 기술로서 활용될 수 있을 것이다. 결국, 본 발명은 컴퓨터 소프트웨어의 개발/배포/사용/관리 체계에 대한 새로운 패러다임이 될 잠재성이 있다고 할 수 있다.

Claims (16)

  1. 컴퓨터 소프트웨어의 개발/보급/사용/관리 체계에 있어서, 사용자는 소프트웨어를 구매하지 않고 통신망을 통해 상기 임대제공자로부터 주문 방식으로 임대용 소프트웨어를 전송받아 사용하고, 사용량에 비례하여 부과되는 임대 사용료만을 지불하며; 상기 임대제공자는 상기 통신망을 통하여 임대용 소프트웨어의 사용권을 계속 유지하면서 상기 임대용 소프트웨어 자체를 상기 사용자에게 임대하고, 상기 통신망을 통해 상기 임대용 소프트웨어의 사용 및 종료를 제어하고, 그 사용 사실에 입각하여 임대 사용료를 산정하여 상기 사용자에게 부과하는 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  2. 제1항에 있어서, 상기 임대 사용료 산정의 기준이 되는 상기 사용 사실은: 사용자가 상기 임대용 소프트웨어를 사용한 사용 시간; 사용자가 상기 임대용 소프트웨어를 사용한 사용 횟수; 사용자가 상기 임대용 소프트웨어 중 사용한 부분을 나타내는 사용 기능을 포함하는 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  3. 제1항에 있어서, 상기 임대에 사용하는 임대용 소프트웨어는: 소프트웨어 제작자에 의해 임대용을 전제로 하지 않고 독립적으로 개발되는 소프트웨어 본체에다 상기 임대제공자에 의해 작성되는 상기 소프트웨어 본체의 시작 및 종료를 상기 임대제공자가 제어할 수 있도록 하는 사용제어기술을 추가하여 만들어지는 것을 특징으로 하는 주문형 소프트웨어 임대 방법.
  4. 제3항에 있어서, 상기 임대용 소프트웨어가 상기 임대제공자로부터 상기 사용자에게 임대될 때, 상기 임대제공자는 상기 임대용 소프트웨어의 원본으로부터 상기 사용자의 정보를 삽입한 상기 임대용 소프트웨어의 복사본을 만들고; 상기 소프트웨어 제작자가 제작한 상기 임대용 소프트웨어의 원본을 보관하며; 상기 사용자는 상기 임대용 소프트웨어의 복사본을 임대용 소프트웨어로 상기 사용자로부터 임대하여 사용하는 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  5. 제1항에 있어서, 상기 임대용 소프트웨어의 사용 및 종료를 제어하는 사용제어기술은: 상기 임대용 소프트웨어와 상기 임대제공자의 컴퓨터인 임대 서버 사이에 메시지 교환 프로토콜에 따라 상호 메시지를 교환하여 상대방을 인증하고, 그 과정에서 상기 임대용 소프트웨어의 수행 사실이 정확히 상기 임대 서버에게 인지되는 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  6. 제5항에 있어서, 상기 메시지 교환 과정은: 사용자가 상기 임대용 소프트웨어를 임대 사용하려 한다는 사실을 나타내는 '사용시작 요청' 메시지를 상기 임대용 소프트웨어가 상기 임대 서버로 전송하고; 상기 임대 서버가 상기 '사용시작 요청' 메시지가 정당한 지를 인증할 것을 요구하는 '사용확인 응답' 메시지를 상기 임대 서버에게로 전송하고; 상기 임대 서버가 상기 '사용확인 응답' 메시지를 검증하여 정당한 사용 요청이 확인되면 상기 임대용 소프트웨어의 사용을 허락하는 '사용시작 허가' 메시지를 상기 임대용 소프트웨어로 전송하는 과정을 구비하는 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  7. 제6항에 있어서, 상기 '사용시작 요청' 메시지 및 '사용시작 확인' 메시지는 각기 상기 임대용소프트웨어와 상기 임대 서버에 의해 생성된 랜덤 수를 암호화한 것을 포함하는 메시지인 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  8. 제6항에 있어서, 상기 '사용확인 응답' 메시지 및 '사용시작 허가' 메시지는 각기 상기 '사용시작 확인' 메시지 및 '사용시작 요청' 메시지에 포함된 상기 암호화된 랜덤 수를 상기 임대용 소프트웨어와 상기 임대 서버에 의해 각기 해독한 결과를 포함하는 메시지인 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  9. 제6항에 있어서, 상기 임대 서버에 의한 상기 검증은 상기 임대용 소프트웨어로부터의 상기 '사용확인 응답' 메시지에 포함된 상기 해독된 결과가 상기 ' 사용시작 확인' 메시지를 보낼 때 생성한 상기 랜덤 수와 일치하는 지를 비교하는 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  10. 제6항에 있어서, 상기 임대용 소프트웨어의 정당한 사용 허가 여부에 대한 검증은 상기 임대 서버로부터의 상기 '사용시작 허가' 메시지에 포함된 상기 해독된 결과가 상기 '사용시작 요청' 메시지를 보낼 때 생성한 상기 랜덤 수와 일치하는 지를 비교하는 것을 특징으로하는 주문형 소프트웨어 임대 방법.
  11. 주문형 소프트웨어 임대시스템에 있어서, 임대용 소프트웨어와, 상기 임대용 소프트웨어를 보관하고, 상기 임대용 소프트웨어의 임대 및 사용을 제어하고, 그 사용기록을 보관 하는 임대 서버로 구성된 임대 서버 시스템; 상기 임대 서버 시스템으로 상기 임대용 소프트웨어의 임대를 요청하고, 상기 임대 서버 시스템으로부터 상기 임대용 소프트웨어를 임대하여 사용을 위해 상기 임대 서버 시스템으로 사용 시작을 요청하는 사용자 시스템; 상기 임대 서버 시스템과 상기 사용자 시스넴을 상호 연결하는 통신망으로 구성되는것을 특징으로하는 주문형 소프트웨어 임대시스템.
  12. 제11항에 있어서, 상기 임대 서버는: 상기 사용자 시스템으로부터의 상기 임대 요청에 응답하여, 상기 임대용 소프트웨어의 복사본을 생성하여 상기 통신망을 통해 상기 사용자 시스템으로 전송하는 임대모듈; 상기 사용자 시스템으로부터의 상기 사용 요청에 응답하여, 상기 임대용 소프트웨어의 사용 제어를 수행하는 사용제어모듈; 상기 임대사용자와 임대 기록, 임대용 소프트웨어의 기록 및 사용 기록을 보관하는 데이터베이스를 구비하는 것을 특징으로하는 주문형 소프트웨어 임대시스템.
  13. 제12항에 있어서, 상기 임대 서버는; 상기 데이터베이스를 참조하여, 상기 사용자의 임대 및 사용에 관한 비용을 계산하고, 이를 상기 사용자에게 부과하는 비용 부과 모듈을 더 구비하는 것을 특징으로하는 주문형 소프트웨어 임대시스템.
  14. 제11항에 있어서, 상기 임대용 소프트웨어는; 소프트웨어 본체; 상기 임대용 소프트웨어의 사용 시작을 위해, 메시지 교환 프로토콜을 이용하여 상기 임대 서버와 상호 메시지를 교환하여 상대방을 인증하고 상기 임대용 소프트웨어의 수행 사실을 상기 임대 서버로 제공하는 사용 제어 부분으로 구성되는 것을 특징으로하는 주문형 소프트웨어 임대시스템.
  15. 제11항에 있어서, 상기 사용자 시스템은: 상기 임대 서버와 통신하여, 임대자의 임대 행위를 지원하며, 사용자의 사용사항을 기록 및 보관하며, 상기 사용자의 정보 문의에 대하여 상기 임대 서버로 중계하는 임대중계자를 포함하는 것을 특징으로하는 주문형 소프트웨어 임대시스템.
  16. 제15항에 있어서, 상기 임대중계자는: 상기 임대용 소프트웨어를 선택하고 전송을 담당하는 소프트웨어 선택/전송모듈; 상기 임대용 소프트웨어의 임대 및 사용 행위를 기록 및 보관하며, 상기 임대자 및 사용자의 정보 문의에 대응하는 임대관리자 모듈로 구성되는 것을 특징으로하는 주문형 소프트웨어 임대시스템.
KR1019960049519A 1996-10-29 1996-10-29 주문형 소프드웨어 임대 방법 및 시스템 KR100209248B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960049519A KR100209248B1 (ko) 1996-10-29 1996-10-29 주문형 소프드웨어 임대 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960049519A KR100209248B1 (ko) 1996-10-29 1996-10-29 주문형 소프드웨어 임대 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR19980030143A KR19980030143A (ko) 1998-07-25
KR100209248B1 true KR100209248B1 (ko) 1999-07-15

Family

ID=19479475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960049519A KR100209248B1 (ko) 1996-10-29 1996-10-29 주문형 소프드웨어 임대 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100209248B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010016616A (ko) * 2000-12-29 2001-03-05 강명덕 임대 어플리케이션 원격 제어를 통한 어플리케이션 임대시스템 및 방법
KR20020004481A (ko) * 2000-07-05 2002-01-16 최용관 소프트웨어의 유통방법 및 그 시스템
KR20020005062A (ko) * 2000-06-30 2002-01-17 박창진 인터넷을 이용한 소프트웨어 임대서비스 제공장치 및 그방법
KR20020064418A (ko) * 2001-02-01 2002-08-09 주식회사데이콤 인증 및 빌링 서비스 방법
KR20030012294A (ko) * 2001-07-31 2003-02-12 (주)리베로넷 소프트웨어 임대 시스템 및 그 방법
KR20220085547A (ko) 2020-12-15 2022-06-22 주식회사 아이알씨코리아 인터넷을 통한 컴퓨터 리소스 원격 임대차 지원 시스템

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100433235B1 (ko) * 1996-11-22 2004-08-09 엘지전자 주식회사 컴퓨터통신망을통한소프트웨어의판매및관리방법
KR100430152B1 (ko) * 2000-12-04 2004-05-03 전산테크네트워크(주) 인터넷을 이용한 게임의 제공방법
KR20010035171A (ko) * 2001-01-10 2001-05-07 정창욱 네트워크를 통한 어플리케이션 서비스 및 원격지 저장서비스 통합 관리 시스템 및 방법
US7228342B2 (en) 2001-02-20 2007-06-05 Sony Computer Entertainment America Inc. System for utilizing an incentive point system based on disc and user identification
KR20020072885A (ko) * 2001-03-13 2002-09-19 한재준 게임 프로그램 이용료 정산 시스템
KR20020090416A (ko) * 2001-05-25 2002-12-05 윤용상 통신을 통한 원격지의 소프트웨어 실행방법 및 이 방법을수행하도록 프로그램된 소프트웨어가 수록된 매체
KR20010078968A (ko) * 2001-05-28 2001-08-22 이상욱 인터넷을 매체로 한 소프트웨어 에이에스피의 제공 방법
KR100510400B1 (ko) * 2002-02-20 2005-08-30 이일용 인터넷망에서의 웹 에디팅 컴포넌트 임대 서비스 방법
KR100516826B1 (ko) * 2004-12-27 2005-09-26 엠텍비젼 주식회사 소프트웨어의 라이센스 인증 방법 및 시스템
KR100697867B1 (ko) * 2005-09-15 2007-03-22 한국과학기술정보연구원 단일 사용자용 컴퓨터 환경과 부가 장비의 원격 임차서비스를 제공하는 시스템 및 그 방법
US10325266B2 (en) 2009-05-28 2019-06-18 Sony Interactive Entertainment America Llc Rewarding classes of purchasers

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020005062A (ko) * 2000-06-30 2002-01-17 박창진 인터넷을 이용한 소프트웨어 임대서비스 제공장치 및 그방법
KR20020004481A (ko) * 2000-07-05 2002-01-16 최용관 소프트웨어의 유통방법 및 그 시스템
KR20010016616A (ko) * 2000-12-29 2001-03-05 강명덕 임대 어플리케이션 원격 제어를 통한 어플리케이션 임대시스템 및 방법
KR20020064418A (ko) * 2001-02-01 2002-08-09 주식회사데이콤 인증 및 빌링 서비스 방법
KR20030012294A (ko) * 2001-07-31 2003-02-12 (주)리베로넷 소프트웨어 임대 시스템 및 그 방법
KR20220085547A (ko) 2020-12-15 2022-06-22 주식회사 아이알씨코리아 인터넷을 통한 컴퓨터 리소스 원격 임대차 지원 시스템

Also Published As

Publication number Publication date
KR19980030143A (ko) 1998-07-25

Similar Documents

Publication Publication Date Title
KR100209248B1 (ko) 주문형 소프드웨어 임대 방법 및 시스템
US6044471A (en) Method and apparatus for securing software to reduce unauthorized use
US6195432B1 (en) Software distribution system and software utilization scheme for improving security and user convenience
US5925127A (en) Method and system for monitoring the use of rented software
KR101537027B1 (ko) 보안 소프트웨어를 인스톨하는 방법 및 디바이스
US6070171A (en) Method and system for copy-tracking distributed software featuring tokens containing a key field and a usage field
US6330549B1 (en) Protected shareware
CN101512536A (zh) 认证游戏装置的系统和方法
WO2006138177A2 (en) Software license manager employing license proofs for remote execution of software functions
CN100527144C (zh) 一种在数字版权管理中实现准确计费的方法及装置
KR100391168B1 (ko) 소프트웨어 불법복제 방지 시스템 및 방법
JP3950095B2 (ja) 認証サーバ、認証方法、認証依頼端末及び認証依頼プログラム
EP0749078A1 (en) Certifying system and transaction system with the certification
KR20000053933A (ko) 소프트웨어의 정품인증시스템 및 그 방법
EP1191420A2 (en) Method of distributing software
KR100423506B1 (ko) 아이씨칩내장카드를 이용한 온라인상에서의 소프트웨어불법복제방지방법
JP2004046606A (ja) ソフトウェア認証サーバ、その代行システム、ソフトウェア認証代行方法およびそのプログラム
KR20000037038A (ko) 인터넷을 통한 온라인 소프트웨어 판매를 위한 온라인다운로드 시스템 및 재다운로드보안인증시스템
US20040225900A1 (en) Method for securing software to reduce unauthorized use
CN115526719A (zh) 基于区块链非同质化通证的软件订阅方法
KR20030089733A (ko) 클라이언트기반 지불시스템과 그 서비스 방법
EP1257943A1 (en) Softgoods distribution via a network

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20020406

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee