KR20080071208A - 소프트웨어 실행 관리 장치, 그 방법 및 프로그램 - Google Patents

소프트웨어 실행 관리 장치, 그 방법 및 프로그램 Download PDF

Info

Publication number
KR20080071208A
KR20080071208A KR1020087016512A KR20087016512A KR20080071208A KR 20080071208 A KR20080071208 A KR 20080071208A KR 1020087016512 A KR1020087016512 A KR 1020087016512A KR 20087016512 A KR20087016512 A KR 20087016512A KR 20080071208 A KR20080071208 A KR 20080071208A
Authority
KR
South Korea
Prior art keywords
license
software
execution
information
processing
Prior art date
Application number
KR1020087016512A
Other languages
English (en)
Other versions
KR100954370B1 (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 후지쯔 가부시끼가이샤
Publication of KR20080071208A publication Critical patent/KR20080071208A/ko
Application granted granted Critical
Publication of KR100954370B1 publication Critical patent/KR100954370B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

제 1 라이센스 정보에 의거하여 소프트웨어의 실행 허락을 위한 처리가 가능하게 되어 있는 경우라도, 무효화 신호 송신부(116)로부터의 무효화 신호가 송신된 경우에는, 제 2 라이센스 정보에 의거하여 소프트웨어의 실행 허락을 위한 처리의 실행이 제한되므로, 무효화 신호에 의해 특정 라이센스 정보에 의거한 소프트웨어의 실행 허락을 위한 처리의 실행을 제한하고, 나아가서는 라이센스 대상의 소프트웨어의 실행을 확실하게 제한할 수 있다.
Figure P1020087016512
라이센스 서버, 접속 정보 갱신 신호 송신부, 소프트웨어 실행 가부 판정 요구부

Description

소프트웨어 실행 관리 장치, 그 방법 및 프로그램{SOFTWARE EXECUTION MANAGEMENT DEVICE AND METHOD THEREOF}
본 발명은, 소프트웨어의 실행 허락을 위한 처리의 실행을 라이센스로 제한하는 소프트웨어 실행 관리 장치에 관한 것으로, 특히, 프로그램의 사용을 허락한 라이센스 부여 후의 무효를 목적으로 한 소프트웨어 실행 관리 장치, 소프트웨어 실행 관리 방법 및 소프트웨어 실행 관리 프로그램에 관한 것이다.
일반적으로, 소프트웨어를 판매할 때, 구입자에 대해서, 그 소프트웨어의 사용을 허락하는 라이센스를 부여하고 있다. 그리고, 소프트웨어를 기동할 때에, 소프트웨어에 포함되는 프로그램의 실행 가부를 부여받은 라이센스의 내용에 따라 제어함으로써, 부정 이용을 방지하고 있다.
그러나, 라이센스를 복제하거나 함으로써, 계약시의 라이센스의 내용을 초월한 부정 사용을 행할 수 있다는 문제가 있다.
그래서, 특허문헌 1에서는, 사용 허락시에, 컴퓨터마다 고유한 머신 식별 코드를 이용하여 생성한 소프트웨어 사용 코드를 부여하고, 소프트웨어 사용의 체크시에, 소프트웨어를 기동하는 컴퓨터의 머신 식별 코드와 소프트웨어 사용 코드의 정합성의 검증을 행하는 라이센스 관리 방법이 기재되어 있다. 이 관리 방법에 의 하면, 소프트웨어의 사용 체크에서, 라이센스 대상 외의 컴퓨터에서의 라이센스의 복제 등을 무효로 함으로써, 계약시의 라이센스의 내용을 초월한 부정 사용을 방지하고 있다.
또한, 특허문헌 2에서는, 컴퓨터마다 개별적으로 라이센스를 부여하는 것이 아니고, 라이센스 관리 서버에서 라이센스를 일원적으로 관리하는 네트워크 라이센스의 관리 방법이 기재되어 있다. 이 관리 방법에 의하면, 네트워크 내의 임의의 머신으로부터 소프트웨어의 사용을 하는 라이센스의 요구가 있던 경우에, 계약한 라이센스 수를 초과하지 않는 범위인지의 여부 등에 따라 그 사용의 허락을 제어함으로써, 계약시의 라이센스의 내용을 초월한 부정 사용을 방지하고 있다. 여기서, 라이센스의 내용으로서는, 컴퓨터의 동시 사용 대수의 제한, 사용 기간의 제한, 멀티 유저 시스템에서의 동시 사용 유저 수의 제한 등이 있다.
특허문헌 1: 일본국 특허공개 2000-207199호 공보
특허문헌 2: 일본국 특허공개 2002-182763호 공보
(발명이 해결하고자 하는 과제)
컴퓨터마다 고유한 머신 식별 코드를 이용하여 생성한 라이센스를 부여한 후에, 그 라이센스를 부여한 컴퓨터의 고장이나 노후화 등의 이유에 의해, 새 컴퓨터로 교체할 필요가 생긴 경우, 새 컴퓨터의 머신 식별 코드를 이용하여 생성한 라이센스를 발행할 필요가 있다. 이러한 경우에, 당초의 라이센스와 동액(同額)의 비용을 청구하는 것이 아니고, 당초의 라이센스를 파기하는 것을 조건으로서, 실질적으로 무상으로 제공하거나 또는 당초의 라이센스 요금과 비교하여 저액의 비용을 설정하는 판매 형태가 고려된다. 그러나, 새로운 라이센스를 발행할 때에 구 라이센스를 강제적으로 무효로 하는 기술적 수단이 없어, 구 라이센스가 부여된 컴퓨터와 신 라이렌스가 부여된 컴퓨터에서, 소프트웨어를 이용하는 것이 가능해진다는 결함이 있었다.
또한, 라이센스 관리 서버에서 라이센스를 일원적으로 관리하는 방법에서도, 라이센스 관리 서버 자체의 복제를 방지하기 위해서는, 라이센스 관리 서버가 되는 컴퓨터의 머신 식별 코드를 이용하여 생성한 라이센스를 발행할 필요가 있다. 그리고, 라이센스 관리 서버가 되는 컴퓨터의 고장이나 노후화 등의 이유에 의해, 새 컴퓨터로 교체할 필요가 생긴 경우, 상술과 같은 결함이 생긴다.
특히, 라이센스 관리 서버 등 그 외의 서버를 구축할 경우, 부하 분산의 목적에서 복수대의 컴퓨터를 이용하여 하나의 서버를 가상적으로 구축하는 경우가 있다. 그러한 경우, 서버용 소프트웨어의 동작을 허락할 때에, 컴퓨터마다 고유한 머신 식별 코드를 이용하여 생성한 라이센스를, 서버를 구성하는 컴퓨터마다 발행하게 된다. 그리고, 그 중의 1대를 교체한 경우에는, 구 라이센스로 동작하는 것과 신 라이센스로 동작하는 것이 존재하게 되어, 서버를 구성하는 복수대의 컴퓨터간에, 단지 라이센스의 버전을 비교하여 라이센스의 신구의 유효성을 검증하는 것만으로는, 동작상의 결함이 있었다. 또한, 이 결함을 회피하기 위해서, 1대만을 교체하는 경우라도, 서버를 구성하는 모든 컴퓨터를 대상으로 한 라이센스의 재발행이 필요하게 되어, 운용상의 결함을 발생하고 있었다. 또한, 신 라이센스의 발행에 따라 구 라이센스를 즉시 무효로 하면, 그 서버와 접속하는 클라이언트의 이용자에게 결함이 생긴다.
여기서, 「운용상의 결함」이란, 서버를 구성하는 모든 컴퓨터를 대상으로 한 라이센스의 재발행 작업에 의한 제공측의 결함, 재발행된 라이센스의 등록 작업에 의한 이용자측의 결함 등을 들 수 있다.
또한, 여기서, 「클라이언트 이용자의 결함」이란, 구 서버에서 신 서버로의 이행 작업의 기간, 클라이언트의 이용자는 서버와의 접속을 할 수 없다는 결함, 구 서버에서 신 서버에의 접속처의 변경 작업이 발생한다는 결함을 들 수 있다. 그래서, 본 발명은 신 라이센스의 발행에 의해 파기해야 할 구 라이센스를 강제적으로 무효로 하는 소프트웨어 실행 관리 장치를 제공함으로써, 상술의 결함을 해소하는 것을 목적으로 한다.
(과제를 해결하기 위한 수단)
발명의 구성
〔1〕본 발명의 소프트웨어 실행 관리 장치는 이하의 요소를 갖는다.
·소프트웨어의 실행 허락을 위한 처리의 실행을 허락하는 내용에 관한 제 1 라이센스 정보와, 무효화하는 라이센스를 특정하는 식별 코드를 포함하는 제 2 라이센스 정보를 저장하는 라이센스 정보 저장부
·제 1 라이센스 정보에 의거하여 소프트웨어의 실행 허락을 위한 처리의 실행 가부를 판정하는 실행 가부 판정부
·제 2 라이센스 정보에 의거하여 실행 가부 판정부에 의해 실행이 허가된 소프트웨어의 실행 허락을 위한 처리로서, 무효화해야 할 라이센스에 의거하여 실행이 허가된 소프트웨어의 실행 허락을 위한 처리를 실행하고 있는 다른 소프트웨어 실행 관리 장치를 검출하는 무효 라이센스 검출부
·무효 라이센스 검출부에 의해 검출된 소프트웨어의 실행 허락을 위한 처리 동작을 제한하는 무효화 신호를 송신하는 무효화 신호 송신부
·무효화 신호를 수신하면, 상기 제 1 라이센스 정보에 관계없이, 소프트웨어의 실행 허락을 위한 처리의 동작을 제한하는 실행 제한부
이와 같이 소프트웨어 실행 관리 장치를 구성함으로써, 제 1 라이센스 정보에 의거하여 소프트웨어의 실행 허락을 위한 처리가 가능하게 되어 있는 경우라도, 무효화 신호 송신부로부터의 무효화 신호가 송신된 경우에는, 소프트웨어의 실행 허락을 위한 처리의 실행이 제한되므로, 무효화 신호에 의해 특정한 라이센스 정보에 의거하는 소프트웨어의 실행 허락을 위한 처리의 실행을 제한하고, 나아가서는 라이센스 대상의 소프트웨어의 실행을 확실히 제한할 수 있다.
주로, 소프트웨어 실행 관리 장치상의 제 2 라이센스 정보는, 다른 소프트웨어 실행 관리 장치상의 무효화하는 라이센스를 특정하는 식별 코드를 포함한다.
[2] 상술한 소프트웨어 실행 관리 장치에서, 또한 이하의 요소를 갖는다.
·무효화 신호를 수신하면, 상기 라이센스 정보 저장부의 제 1 라이센스 정보를 무효로 하는 정보를 등록하는 라이센스 파기부
이와 같이 소프트웨어 실행 관리 장치에 의하면, 장치가 재기동한 경우라도 무효가 된 제 1 라이센스 정보에 의거하여 소프트웨어의 실행 허락을 위한 처리의 실행을 억제할 수 있다.
[3] 상술한 소프트웨어 실행 관리 장치에서, 또한 이하의 요소를 갖는다.
·클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 받아들이는 요구 수용부
·클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 수용하면, 소프트웨어의 실행 허락을 위한 처리를 실행하고, 그 클라이언트에게 결과를 회신하는 요구 응답부
·상기 실행 제한부로서, 무효화 신호를 수신하면, 상기 요구 응답부의 동작을 제한하는 실행 제한부
이와 같이 소프트웨어 실행 관리 장치에 의하면, 무효화 신호의 수신에 의해, 요구 응답부에서의 소프트웨어의 실행 허락을 위한 처리의 실행이 제한되어, 결과적으로 클라이언트측에서 이미 실행 허락이 되어 있지 않은 소프트웨어의 실행을 억제할 수 있다.
[4] 상술한 소프트웨어 실행 관리 장치에서, 또한 이하의 요소를 갖는다.
·무효 라이센스 검출부에 의해 검출된 소프트웨어의 실행 허락을 위한 처리의 동작을 제한하는 무효화 신호를 송신할 때에, 상기 요구 수용부에의 접속에 관한 설정 정보를 송신하는 설정 정보 송신부
·무효화 신호를 수신했을 때에, 상기 설정 정보 송신부로부터의 설정 정보를 수신하는 설정 정보 수신부
·무효화 신호를 수신한 후에, 상기 요구 수용부에서 클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 수용했을 때에, 상기 설정 정보 수신부에 의해 수신한 설정 정보에 나타낸 요구 수용부에의 처리 요구의 재송신을 지시하는 접속 정보 갱신 신호의 송신을, 그 클라이언트를 향해서 행하는 접속 정보 갱신 신호 송신부
이와 같이 소프트웨어 실행 관리 장치에 의하면, 설정 정보를 송신하고, 유효한 요구 수용부에의, 정보를 얻어서 라이센스 발행 요구를 실시할 수 있으므로, 단지 현재 라이센스 발행 요구를 행한 곳이 유효하지 않다는 것이 클라이언트측에서 인식할 수 있을 뿐아니라, 현재 유효한 요구 수용부에의 정보를 얻을 수 있고, 또한 클라이언트측에서 새로운 유효한 요구 수용부에의 정보를 취득해서 수동으로 설정 정보를 변경하지 않고, 적절한 라이센스 발행 요구를 행할 수 있다.
이들 상기 발명의 개요는, 본 발명에 필수가 되는 특징으로 열거한 것이 아니라, 이들 복수의 특징의 서브 콤비네이션도 발명이 될 수 있다.
도 1은 본 발명의 제 1 실시예에 따른 소프트웨어 실행 관리 시스템의 시스템 전체 구성도.
도 2는 본 발명의 제 1 실시예에 따른 라이센스 서버의 상세 블록도.
도 3은 본 발명의 제 1 실시예에 따른 소프트웨어 실행 관리 시스템에서 사용하는 데이터.
도 4는 본 발명의 제 1 실시예에 따른 소프트웨어 실행 관리 시스템에서 사용하는 제 1 라이센스 정보 및 제 2 라이센스 정보.
도 5는 본 발명의 제 1 실시예에 따른 라이센스 서버, 클라이언트가 구축되어 있는 컴퓨터의 하드웨어 구성도.
도 6은 본 발명의 제 1 실시예에 따른 신 서버에서의 라이센스 등록 처리의 플로차트.
도 7은 본 발명의 제 1 실시예에 따른 신 서버에서의 정지 정보 송신 처리의 플로차트.
도 8은 본 발명의 제 1 실시예에 따른 구 서버에서의 정보 수신시의 처리의 플로차트.
도 9는 본 발명의 제 2 실시예에 따른 라이센스 서버의 상세 블록도.
도 10은 본 발명의 제 2 실시예에 따른 접속 정보 처리를 도 7, 도 8에 반영시킨 경우의 요부 플로차트.
도 11은 본 발명의 그 밖의 실시예에 따른 소프트웨어 실행 관리 시스템에서 사용하는 데이터.
도 12는 본 발명의 그 밖의 실시예에 따른 소프트웨어 실행 관리 시스템에서 사용하는 데이터.
도 13은 본 발명의 그 밖의 실시예에 따른 소프트웨어 실행 관리 시스템의 시스템 전체 구성도.
도면의 주요 부분에 대한 부호의 설명
11 : CPU 12 : RAM
14 : 플래시 메모리 15 : HD
16 : LAN 카드 17 : 마우스
18 : 키보드 19 : 비디오 카드
19a : 디스플레이 20 : 사운드 카드
20a : 스피커 21 : 드라이브
100 : 라이센스 서버 111 : 요구 수용부
112 : 요구 응답부 113 : 라이센스 정보 저장부
114 : 실행 가부 판정부 115 : 무효 라이센스 검출부
116 : 무효화 신호 송신부 117 : 실행 제한부
118 : 라이센스 파기부 119 : 무효화 신호 수신부
121 : 설정 정보 송신부
123 : 접속 정보 갱신 신호 송신부
200 : 구 서버 300 : 신 서버
400 : 클라이언트
401 : 소프트웨어 실행 가부 판정 요구부
402 : 소프트웨어 실행 가부 판정 결과 수용부
500 : 구 컴퓨터 600 : 신 컴퓨터
여기서 본 발명은 많은 다른 형태로 실시 가능하다. 따라서, 하기의 실시예의 기재 내용만으로 해석해서는 안된다. 또한, 실시예의 전체를 통하여 동일한 요소에는 동일 부호를 부여하고 있다.
실시예에서는, 주로 시스템에 관하여 설명하지만, 소위 당업자라면 알 수 있는 바와 같이, 본 발명은 컴퓨터에서 사용 가능한 프로그램, 방법으로서도 실시할 수 있다. 또한, 본 발명은 하드웨어, 소프트웨어, 또는, 소프트웨어 및 하드웨어의 실시예에서 실시 가능하다. 프로그램은 하드디스크, CD-ROM, DVD-ROM, 광기억 장치 또는 자기 기억 장치 등의 임의의 컴퓨터 판독 가능 매체에 기록할 수 있다. 또한, 프로그램은 네트워크를 통한 다른 컴퓨터에 기록할 수 있다.
1. 제 1 실시예
본 발명의 제 1 실시예에 따른 소프트웨어 실행 관리 시스템에 관하여, 도면에 의거하여 설명한다.
(1) 전체 구성
도 1은 실시예에 따른 소프트웨어 실행 관리 시스템의 시스템 전체 구성도이다. 도 2는 본 실시예에 따른 라이센스 서버의 상세 블록도이다.
라이센스 대상의 소프트웨어의 실행의 허가를 요구하는 클라이언트(400)와, 클라이언트(400)로부터의 요구에 따라 요구에 관계되는 소프트웨어의 실행의 가부 판단을 하기 위한 라이센스 판정 처리를 제 1 라이센스 정보에 의거하여 실행하고, 클라이언트(400)에게 소프트웨어 실행의 가부 결과를 부여하는 라이센스 서버(100)로 이루어진다. 특히, 라이센스 서버(100)는 다른 라이센스 서버(100)로부터 수취하는 무효화 신호로부터, 제 1 라이센스 정보에 의거하지 않고, 해당하는 라이센스 판정 처리의 실행을 제한한다.
도 1 중, 구 서버(200)와 신 서버(300)가 있지만, 모두 라이센스 서버(1OO) 이다. 구 서버(200)가 노후화된 컴퓨터상에 구축되어, 이 구 서버(200)로부터 보다 높은 리스폰스(response)를 얻기 위해서 높은 퍼모먼스를 갖는 새로운 컴퓨터 상에 신 서버(300)로 이행한다. 서버의 이행 기간만 구 서버(200)와 신 서버(300)가 공존하는 경우도 있지만, 계속해서 라이센스 서버(100)로서 구 서버(200)를 이용하는 경우도 있다. 구체적으로는, 소프트웨어(A)와 소프트웨어(B)의 라이센스를 지금까지 구 서버(200)에서 처리하고 있었지만, 부하가 커져 왔으므로 소프트웨어(B)에 관해서는 신 서버(300)에서 관할하고, 소프트웨어(A)에 관해서 이전과 변함없이 구 서버(200)가 관할하는 경우 등이 해당한다.
도 2 중 신 서버(300)에는 후기하는 라이센스 서버(100)의 구성 요소의 일부인 라이센스 정보 저장부(113), 라이센스 무효 검출부(115) 및 무효화 신호 송신부(116)만을 도시하고 있지만, 신 서버(300)도 구 서버(200)와 마찬가지로 다른 구성 요소도 가지며, 도시상의 편의상 생략하고 있는 것에 불과하다. 또한, 본 실시예의 동작 설명에서는 신 서버(300)의 라이센스 무효 검출부(115) 및 무효화 신호 송신부(116)가 동작하고, 구 서버(200)의 라이센스 무효 검출부(115) 및 무효화 신호 송신부(116)가 동작하지 않기 때문에, 구 서버(200)상의 라이센스 무효 검출부(115), 무효화 신호 송신부(116) 및 이들에 접속하는 화살표를 점선으로 표시하고 있다.
라이센스 서버(100)는 요구 수용부(111), 요구 응답부(112), 라이센스 정보 저장부(113), 실행 가부 판정부(114), 무효 라이센스 검출부(115), 무효화 신호 송신부(116), 실행 제한부(117), 라이센스 파기부(118) 및 무효화 신호 수신부(119) 로 이루어진다.
요구 응답부(111)는 클라이언트로부터의 라이센스 판정 처리 실행의 요구를 받아들인다.
요구 응답부(112)는 클라이언트로부터의 라이센스 판정 처리 실행의 요구를 받아들이면, 라이센스 판정 처리를 실행하여, 그 클라이언트에게 결과를 회신한다.
라이센스 정보 저장부(113)는 라이센스 판정 처리의 실행을 허락하는 내용에 관한 제 1 라이센스 정보와, 무효화하는 라이센스를 특정하는 식별 코드를 포함하는 제 2 라이센스 정보를 저장한다.
실행 가부 판정부(114)는 제 1 라이센스 정보에 의거하여 라이센스 판정 처리의 실행 가부를 판정한다.
무효 라이센스 검출부(115)는 제 2 라이센스 정보에 의거하여, 이 실행 가부판정부(114)에 의해 실행이 허가된 라이센스 판정 처리로서, 무효화해야 할 라이센스에 의거하여 실행이 허가된 라이센스 판정 처리를 실행하고 있는 다른 라이센스 서버(100)를 검출한다.
무효화 신호 송신부(116)는 무효 라이센스 검출부에 의해 검출된 라이센스 판정 처리의 동작을 제한하는 무효화 신호를 송신한다.
실행 제한부(117)는 무효화 신호를 수신하면, 상기 제 1 라이센스 정보에 관계없이, 라이센스 판정 처리의 동작을 제한한다.
라이센스 파기부(118)는 무효화 신호를 수신하면, 상기 라이센스 정보 저장부의 제 1 라이센스 정보를 무효로 하는 정보를 등록한다.
클라이언트(400)는 소프트웨어 실행 가부 판정 요구부(401) 및 소프트웨어 실행 가부 판정 결과 수용부(402)로 이루어진다.
소프트웨어 실행 가부 판정 요구부(401)는 라이센스 서버(100)에 소프트웨어의 실행 가부 판정을 요구한다.
소프트웨어 실행 가부 판정 결과 수용부(402)는 라이센스 서버(100)로부터 소프트웨어의 실행 가부 판정 결과를 받아들인다.
(2) 사용 데이터
도 3은 본 실시예에 따른 소프트웨어 실행 관리 시스템에서 사용하는 데이터이다.
도 3의 (a)는 라이센스 ID의 데이터 구조이다. 라이센스 ID는, 라이센스 ID의 등록 대상의 컴퓨터의 MAC(Media Access Control) 어드레스, 라이센스 정보, 치환되는 라이센스 서버의 대(臺)수인 구 서버의 등록수, 구 서버의 MAC 어드레스로 이루어진다(구 서버(200)의 라이센스 서버가 취급하는 소프트웨어의 일부에 관하여 기능을 제한, 무효로 하기 위해서는, 구 서버를 식별하는 정보 외에, 제한, 무효에 따른 소프트웨어 식별 정보가 필요하게 됨). 라이센스 정보는 라이센스 대상의 소프트웨어를 식별하는 소프트웨어 식별 정보, 이 라이센스 대상의 소프트웨어가 사용 가능하게 되는 대수로 이루어진다.
도 3의 (b)는 치환하는 라이센스 서버(100)인 신 서버(300)로부터 치환되는 라이센스 서버(100)인 구 서버(200)에 송신되는 무효화 신호가 되는 정지 정보의 데이터의 구조이다. 정지 정보는, 정지 정보인 것을 나타내는 라이센스 서비스 정 지 플래그, 송신원 머신의 IP 어드레스, 송신원 머신의 호스트명, 정지 대상의 구 서버의 MAC 어드레스 및 정지 대상의 라이센스 정보로 이루어진다.
도 4는 본 실시예에 따른 소프트웨어 실행 관리 시스템에서 사용하는 제 1 라이센스 정보 및 제 2 라이센스 정보의 일례이다. 제 1 라이센스 정보는 소프트웨어 식별 정보와 클라이언트(400)를 식별할 수 있는 IP 어드레스를 속성으로 한다. IP 어드레스를 사용함으로써 단지 클라이언트(400)를 식별할 뿐만아니라, 통신 가능 상태가 될 수 있다. 제 2 라이센스 정보는 소프트웨어 식별 정보를 속성으로 한다. 제 1 라이센스 정보도 소프트웨어 식별 정보만을 속성으로 할 수도 있다. 이와 같이 한 경우이며, 또한, 라이센스 대상의 소프트웨어를 복수 관리하는 경우에는 라이센스 판정 처리용으로 별도 소프트웨어마다 현재 소프트웨어를 실행하고 있는 클라이언트를 식별하는 정보를 유지하는 것이 필요하다.
도 4의 (b)의 제 1 라이센스 정보에서는 소프트웨어 식별 정보와 IP 어드레스가 대응하고 있다. 여기서, IP 어드레스가 대응하지 않고 NULL이 대응하고 있는 행은 해당 소프트웨어 식별 정보가 나타내는 소프트웨어는 유효하다는 것을 나타낸다. 즉, 클라이언트에 대해서, 해당 소프트웨어 식별 정보가 나타내는 소프트웨어의 사용 허락을 부여 또는 대여할 여지가 있는 것을 의미한다.
도 4의 (c)의 제 2 라이센스 정보는 무효화하는 라이센스의 정보를 갖고 있고, 점선 화살표가 나타낸 바와 같이, 간접적으로 신 서버(300)의 도 4의 (c)에 나타내는 제 2 라이센스 정보에 의해 구 서버(200)의 도 4의 (b)에 나타내는 제 1 라이센스 정보에서 나타내는 소프트웨어에 관한 처리가 제한되고, 또는, 제 1 라이센 스 정보 자체가 무효로 된다.
본 실시예에서는 라이센스 서버(100)가 구축되어 있는 컴퓨터를 식별하는 정보로서 MAC 어드레스를 사용하고 있다. 라이센스 서버(10O) 또는 컴퓨터를 식별하는 정보이면 예를 들면 IP 어드레스와 같은 다른 정보를 사용할 수도 있다. MAC 어드레스는 LAN 카드(16)에 메이커가 공장 출하시에 부여하므로, 이후에 이용자가 변경할 수 없는 점에서 IP 어드레스와 같이 변경 가능한 정보와 비교해서 바람직하다. 즉, 예를 들면, MAC 어드레스 대신에 IP 어드레스를 사용한 경우로, 구 서버(200)가 구축되어 있는 컴퓨터에 부여되어 있는 IP 어드레스가 변경되었을 때에는, 신 서버(300)와 구 서버(200)의 통신을 할 수 없는 상황이 생긴다. 따라서, IP 어드레스와 같이 사용하기 편리한 정보와, 변경할 수 없는 MAC 어드레스를 병용하는 것이 보다 바람직하다.
(3) 하드웨어 구성
도 5는 본 실시예에 따른 라이센스 서버, 클라이언트가 구축되어 있는 컴퓨터의 하드웨어 구성도이다.
라이센스 서버(100), 클라이언트(400)가 구축되어 있는 컴퓨터는, CPU(Central Processing Unit)(11), RAM(Random Access Memory)(12), ROM(Read Only Memory)(13), 플래시 메모리(Flash memory)(14), 외부 기억 장치인 HD(Hard disk)(15), LAN(Local Area Network) 카드(16), 마우스(17), 키보드(18), 비디오 카드(19), 이 비디오 카드(19)와 전기적으로 접속하는 표시 장치인 디스플레이(19a), 사운드 카드(20), 이 사운드 카드(20)와 전기적으로 접속하는 소리 출력 장치인 스피커(20a) 및 플로피 디스크, CD-ROM, DVD-ROM 등의 기억 매체를 판독 기입하는 드라이브(21)로 이루어진다.
라이센스 서버(100)는 컴퓨터에 미리 HD(15)에 저장되어 있는 소프트웨어 실행 관리 프로그램이 메인 메모리에 판독되어, CPU(11)가 소프트웨어 실행 관리 프로그램을 실행함으로써 실현된다.
(4) 라이센스 등록 처리
도 6은 본 실시예에 따른 신 서버에서의 라이센스 등록 처리의 플로차트이다.
시스템 운용자는 라이센스 관리 회사로부터 암호화된 암호 라이센스 ID를 미리 수취해 둔다. 예를 들면, E 메일을 이용해서 암호 라이센스 ID를 수취한다. 이 암호 라이센스 ID를 시스템 운용자가 신 서버(300)에 입력하면, 신 서버(300)는 암호 라이센스 ID를 판독하여, 복합한다(스텝 101). 신 서버(300)는 복합된 라이센스 ID로부터 MAC 어드레스를 취출한다(스텝 111). 신 서버(300)는 신 서버(300)가 구축되어 있는 컴퓨터가 유지하는 MAC 어드레스와 스텝 111에서 취출한 MAC 어드레스가 일치하는지의 여부를 판단한다(스텝 121). 일치하지 않을 경우에는 라이센스의 등록은 이루어지지 않고 종료한다. 일치할 경우에는 암호 라이센스 ID를 레지스트리에 등록한다(스텝 131). 여기서, 레지스트리는 WINDOWS(등록상표)의 OS상에서 소프트웨어의 설정 데이터가 기록되는 데이터 베이스이다. 그리고, 스텝 131 후에, 신 서버(300)는 등록된 라이센스에 관해서 처리 수용이 개시된다(스텝 141). 즉, 신 서버(300)는 레지스트리에 등록되어 있는 제 1 라이센스 정보에 의 거하여 라이센스 판정 처리의 프로그램을 판독함으로써, 클라이언트(400)로부터의 소프트웨어의 실행 허가의 요구에 대응하는 것이 가능한 동작 상태가 된다. 또한, 스텝 141 후에 바로 라이센스 판정 처리의 프로그램을 판독하는 구성으로 하는 것이 아니라, 클라이언트(400)로부터 실행 허가의 요구를 수신했을 때에 그 실행 허가의 요구가 소정 조건을 만족시키는지의 여부의 판정을 행하고, 그 판정 결과에 의거하여 라이센스 판정 처리의 프로그램을 판독하는 구성으로 할 수도 있다. 보다 구체적으로는, 당해 실행 허가의 요구에 관한 소프트웨어가 제 1 라이센스 정보에서 나타내는 라이센스 대상의 소프트웨어라고 판정된 경우에, 라이센스 판정 처리의 프로그램을 판독하는 구성으로 할 수도 있다. 또한, 클라이언트로부터의 실행 허가의 요구에 관한 소프트웨어가 제 1 라이센스 정보에서 나타내는 라이센스 대상의 소프트웨어인지의 여부 판정은, 클라이언트가 송신하는 실행 허가의 요구에 포함되는 소프트웨어 식별 정보와 제 1 라이센스 정보에 포함되는 소프트웨어 식별 정보를 비교함으로써 행해진다.
라이센스 판정 처리는 후기 (6)에서 설명한다.
암호 라이센스 ID는 라이센스 정보뿐만 아니라 무효화 정보에 관한 정보도 갖고 있어, 사실상 제 1 라이센스 정보, 제 2 라이센스 정보를 유지하게 된다.
(5) 신 서버에서의 처리
도 7은 본 실시예에 따른 신 서버에서의 정지 정보 송신 처리의 플로차트이다.
신 서버(300)는 상기 (4)에서 등록한 암호 라이센스 ID를 레지스트리로부터 판독하여 복호한다(스텝 201). 신 서버(300)는 복합된 라이센스 ID로부터 구 서버(200)의 MAC 어드레스를 취출한다(스텝 211). 다음에, 신 서버(300)는 구 서버(200)의 MAC 어드레스로부터 구 서버(200)가 구축되어 있는 컴퓨터와 통신 가능해지도록 통신 준비 수순을 밟고, 그 후에 신 서버(300)(무효화 신호 송신부(116))로부터 구 서버(200)에 대해서 정지 정보가 송신된다(스텝 261).
본 실시예에서는 라이센스 서버(100)가 구축되어 있는 컴퓨터를 특정하는 정보로서 MAC 어드레스를 사용하고 있기 때문에, 구 서버(200)가 구축되어 있는 컴퓨터와 통신 가능하게 되기 위해서는, 예를 들면 다음 처리가 필요하게 된다.
신 서버(300)는 자기의 네트워크 정보(IP 어드레스, 네트워크 어드레스)에 의거하여, 예를 들면, 자신이 속하는 네트워크 도메인상의 다른 노드에 대해서, PING(Packet INternet Groper)를 실시한다(스텝 221). 예를 들면, IP 어드레스는 네트워크 어드레스부와 호스트 어드레스부의 2개로 구성되어 있고, 동일한 네트워크 도메인상의 노드간에서는 네트워크 어드레스부가 동일한 어드레스값이 되기 때문에, 호스트 어드레스부만을 가변시킴으로써, 자기가 속하는 네트워크 도메인상의 다른 노드의 IP 어드레스를 추정하는 것이 가능한 것은, 당업자에게 주지의 사실이다. 또한, PING은 IP 어드레스를 지정하면, ICMP(Internet Control Message Protocol)를 사용해서 지정한 IP 어드레스에 관한 컴퓨터 등에 데이터를 송신하고, 이러한 컴퓨터로부터의 데이터의 회신을 수신한다. 회신이 있던 IP 어드레스에 대해서 신 서버(300)는 ARP(Address Resolution Protocol)를 실시해서 MAC 어드레스와 IP 어드레스의 대응표를 구한다(스텝 231). ARP는 IP 어드레스를 지정하면 MAC 어드레스를 구한다. 구 서버(200)의 MAC 어드레스를 대응표 중에서 검색한다(스텝 241). 대응표 중에 구 서버(200)의 MAC 어드레스가 있는지의 여부를 판단하고(스텝 251), 대응표 중에 MAC 어드레스가 있던 경우에는 구 서버(200)가 발견되었다고 하여, 스텝 261로 진행된다. 대응표 중에 MAC 어드레스가 없는 경우에는 구 서버(200)가 발견되지 않았다고 하여 종료한다.
여기까지 IP 어드레스에 관하여 설명하고, 신 서버(300)가 구 서버(200)를 특정해서 통신하는 과정을 설명했지만, 더 상세하게는 물리적으로 신 서버(300)가 구 서버(200)의 구축되어 있는 컴퓨터를 특정하는 것만으로는 애플리케이션 레벨에서의 통신을 행할 수 없다. 따라서, 구축되어 있는 컴퓨터상에서 실행되고 있는 복수의 서비스 중에서 구 서버(200)를 특정할 필요가 있다. 서비스의 특정을 하기 위해서는 통상 IP 어드레스 외에 포트(Port)를 사용한다. 이 포트와 서비스는 관련되어 있어, 예를 들면, 어느 포트를 지정함으로써 라이센스 서버(100)의 서비스를 지정한 것이 된다. 따라서, 라이센스 서버(100)의 포트가 「50001」이라고 하면, 신 서버(300)는 IP 어드레스 이외에 포트 「50001」을 지정함으로써 구 서버(200)와 통신 가능해진다. 여기서, 구 서버(200)가 서비스로서 구축되어 있는 컴퓨터상에서 기동하고 있지않은 경우에는 해당하는 포트용의 인터페이스도 준비되지 않아, 신 서버(300)는 구 서버(200)와 통신할 수 없다.
이와 같이 IP 어드레스 이외에 포트를 지정함으로써 IP 어드레스로 특정되는 컴퓨터의 특정 서버와 통신이 가능해진다. 본 실시예에서는 TCP/IP상에서 라이센스 서버(100)를 실장하는 경우에 관하여 설명하고 있지만, 다른 통신 프로토콜상에 서 라이센스 서버(100)를 실장하는 경우에는 그 밖의 통신 프로토콜, 플랫폼에 준거해서 실장할 필요가 있는 것은 소위 당업자측에서 보면 기술 상식에 지나지 않는다.
또한, PING 대신에 RARP(Reverse Address Resolution Protocol)를 사용해서 IP 어드레스를 구할 수도 있다.
(6) 구 서버에서의 처리
도 8은 본 실시예에 따른 구 서버에서의 정보 수신시의 처리의 플로차트이다.
구 서버(200)는 신 서버(300) 또는 클라이언트(400)로부터 정보를 수신하면(스텝 301) 수신된 정보의 종별 판별을 행한다(스텝 311). 수신된 정보가 라이센스 정지 요구라고 판단한 경우에는, 구 서버(200)는 정지 정보를 암호화하여, 메인메모리 및 레지스트리에 그 암호화한 정시 정보를 설정하고(스텝 381), 그 라이센스 정지 요구의 수신에 대한 처리를 종료한다.
한편, 수신된 정보가 라이센스 발행 요구라고 판단한 경우에는, 구 서버(200)는 메인 메모리상의 정지 정보의 복호를 행한다(스텝 321).
다음에, 구 서버(200)의 실행 제한부(117)는, 상기 정지 정보에 의거하여 라이센스 발행 요인에 관한 소프트웨어의 실행의 라이센스가 정지 중인지의 여부를 판단한다(스텝 331). 정지 중이라고 판단한 경우에는, 구 서버(200)는 해당 소프트웨어의 라이센스가 정지 중이라는 취지의 메시지를 클라이언트에게 송신한다(스텝 341). 한편, 정지 중이 아니라고 판단한 경우에는, 구 라이센스 서버(200)의 실행 가부 판정부(114)는 라이센스 발행 요구에 관한 소프트웨어의 라이센스 유효를 확인한다(스텝 351). 그리고, 라이센스가 유효한 경우에는, 구 서버(200)의 요구 응답부(112)는 라이센스 발행 요구를 행한 클라이언트(400)에게 라이센스 정보를 송신하고(스텝 361), 당해 라이센스 발행 요구를 송신한 클라이언트에 대한 처리를 종료한다.
이상의 결과, 라이센스 정보를 수신한 클라이언트(400)는, 라이센스 발행 요구에 관한 소프트웨어의 실행이 가능한 동작 상태가 된다. 한편, 라이센스가 유효하지 않은 경우에는, 구 서버(200)는 라이센스가 유효하지 않다는 취지의 메시지를 송신하고(스텝 371), 당해 라이센스 발행 요구를 송신한 클라이언트에 대한 처리를 종료한다. 당해 메시지를 수신한 클라이언트(400)는 그 메시지를 디스플레이에 표시한다.
(7) 본 실시예의 효과
이와 같이 본 실시예에 따른 소프트웨어 실행 관리 시스템에 의하면, 구 서버(200)와 신 서버(300)를 교체하는 경우에, 신 서버(300)가 라이센스 ID에 의거하여 라이센스 발행 요구에 대한 처리를 실행할 뿐 아니라 구 서버(200)에 대해서 정지 정보를 송신하고, 구 서버(200)가 정지 정보를 받아 구 서버(200)에서의 라이센스 발행 요구에 대한 처리를 행하지 않도록 하고 있으므로, 구 서버(200)와 신 서버(300)가 병존한 경우에도 라이센스를 받고 있는 이상의 수의 클라이언트에 의해 소프트웨어가 실행되는 것을 방지할 수 있다.
2. 제 2 실시예
(1) 제 1 실시예와 다른 구성 요건
도 9는 본 실시예에 따른 라이센스 서버의 상세 블록도이다.
본 실시예에 따른 소프트웨어 실행 관리 시스템도 상기 제 1 실시예에 따른 소프트웨어 실행 관리 시스템과 마찬가지로 구성되고, 이것에 더해서, 라이센스 서버(100)가 설정 정보 송신부(121), 설정 정보 수신부(122), 접속 정보 갱신 신호 송신부(123)의 구성 요소를 갖는 구성이다.
설정 정보 송신부(121)는 무효 라이센스 검출부(115)에 의해 검출된 라이센스 판정 처리를 제한하는 무효화 신호를 송신할 때에, 다른 유효한 상기 요구 수용부(111)에의 접속에 관한 설정 정보를 송신한다.
설정 정보 수신부(122)는 무효화 신호를 수신했을 때에, 상기 설정 정보 송신부(121)로부터 설정 정보를 수신한다.
접속 정보 갱신 신호 송신부(123)는 무효화 신호를 수신한 후에, 상기 요구 수용부(111)에서 클라이언트(400)로부터의 라이센스 판정 처리 실행의 요구를 수용했을 때에, 상기 설정 정보 수신부(122)에 의해 수신한 설정 정보에 나타낸 다른 유효한 요구 수용부(111)에의 처리 요구의 재송신을 지시하는 접속 정보 갱신 신호의 송신을, 그 클라이언트를 향해서 행한다.
도 3의 (c)는 구 서버(200)로부터 요구해 온 클라이언트(400)에 대해서 송신하는 접속 정보의 데이터의 구조이다. 접속 정보는 소프트웨어 실행의 불허가를 나타내는 라이센스 정지 플래그, 유효한 라이센스 서버의 호스트명 및 유효한 라이센스 서버의 IP 어드레스로 이루어진다.
(2) 접속 정보 처리
도 10은 본 실시예에 따른 접속 정보 처리를 도 7, 도 8에 반영시킨 경우의 요부 플로차트이다.
도 10의 (a)에 나타낸 바와 같이, 접속 정보 처리를 반영시킨 경우의 정지 정보 송신 처리에서는, 스텝 261 후에, 신 서버(300)(설정 정보 송신부(121))는 구 서버(200)(설정 정보 수신부(122))에 접속 정보를 송신한다(스텝 271).
도 10의 (b)에 나타낸 바와 같이, 접속 정보 처리를 반영시킨 경우의 정보 수신시의 처리에서는 스텝 341 후에, 구 서버(200)는 신 서버(300)로부터 수신한 접속 정보를 라이센스 발행 요구를 행한 클라이언트(400)에게 송신한다(스텝 391). 그리고, 접속 정보를 수신한 클라이언트(400)는 유효한 라이센스 서버(100)의 IP 어드레스를 취출하고, 이 취출한 IP 어드레스로 특정되는 라이센스 서버(100)에 대해서 라이센스 발행 요구를 행한다. 여기서의 라이센스 서버(100)는 통상 신 서버(300)이다.
(3) 본 실시예의 효과
이와 같이, 본 실시예에 따른 소프트웨어 실행 관리 시스템에 의하면, 제 1 실시예에 따른 소프트웨어 실행 관리 시스템에 더해서, 구 서버(200)가 라이센스 발행을 행할 수 있는 신 서버(300)의 정보를 클라이언트(400)에게 송신하므로, 클라이언트(400)의 사용자 스스로 구 서버(200)가 구축되어 있는 컴퓨터의 IP 어드레스로부터 신 서버(300)가 구축되어 있는 컴퓨터의 IP 어드레스로 변경하지 않고, 유효한 라이센스 서버(100)인 신 서버(300)에 라이센스 발행 요구를 행할 수 있다. 특히, 클라이언트(400)의 설정 정보를, 구 서버(200)의 IP 어드레스로부터 접속 정보의 유효한 라이센스 서버(100)의 IP 어드레스로 자동적으로 변경한 경우에는, 다음 회의 라이센스 발행 요구는 처음부터 유효한 라이센스 서버(100)에 대해서 행할 수 있다.
3. 그 밖의 실시예
[복수의 구 서버와 1개의 신 서버]
도 3의 (a)의 라이센스 ID에 나타낸 바와 같이, 복수의 구 서버(200)로부터 1개의 신 서버(300)로 이행하는 경우에는 구 서버(200)의 수를 구 서버의 등록수에 삽입하고, 각 구 서버(200)가 구축되어 있는 컴퓨터의 MAC 어드레스를 구 서버의 MAC 어드레스에 삽입함으로써, 라이센스 등록 처리가 완료된 신 서버(300)가 순차적으로 정지 정보 송신 처리를 구 서버(200)마다 행한다.
여기서, 라이센스 ID, 적어도 레지스트리에 라이센스 ID를 등록할 경우에, 도 3의 (a)의 라이센스 ID의 데이터의 구조 이외에, 이미 정지 정보 송신 처리가 되어 있는지의 여부를 나타내는 정지 정보 송신 처리가 완료된 플래그를 구 서버마다 갖는 것이 바람직하다(도 11의 (a) 참조)
[1개의 구 서버와 복수의 신 서버]
1개의 구 서버(200)로부터 복수의 신 서버(300)로 이행할 경우에는, 상기 제 1 실시예에 따른 정지 정보 송신 처리를 각 신 서버(300)가 1개의 구 서버(200)에 대해서 실행하는 것을 회피하기 위해, 도 11의 (b)에 나타낸 바와 같이, 라이센스 ID에는 모든 신 서버(300)의 MAC 어드레스를 등록 머신의 MAC 어드레스에 삽입하는 동시에, 정지 정보 송신 처리 실시 플래그를 별도 설치하여, 이 정지 정보 송신 처리 실시 플래그가 설정되어 있는 적어도 1개 이상의 신 서버(300)만이 정지 정보 송신 처리를 실행하는 구성으로 할 수도 있다. 그렇게 함으로써, 모든 신 서버(300)가 중복적으로 불필요한 구 서버(200)에의 정지 정보 송신 처리를 행하는 것을 회피할 수 있다. 특히, MAC 어드레스로부터 IP 어드레스를 구하고, 대응표로부터 구 서버(200)의 IP 어드레스를 구하는 처리를 상기 각 실시예에서는 행할 필요가 있으므로, 여기서 나타낸 회피책은 매우 유효하다.
이 외에 동일한 회피책으로서 도 12의 (a)에 나타낸 바와 같이 라이센스 ID에 적어도 등록 머신의 MAC 어드레스를 설치하고, 구 서버(200)에 신 서버(300)의 MAC 어드레스(IP 어드레스라도 좋음)를 송신하고, 구 서버(200)가 정지 정보를 수신한 경우에 신 서버(300)에 대해서 이미 정지 정보 송신 처리가 실시되어 있는 것을 통지하는 구성으로 할 수도 있다.
[복수의 구 서버와 복수의 신 서버]
복수의 구 서버(200)로부터 복수의 신 서버(300)로 이행하는 경우에도, 상기 [1개의 구 서버와 복수의 신 서버]의 처리를 이용하여 정지 정보 송신 처리를 실행하는 신 서버(300)를 한정하는 구성을 채용할 수 있다.
이 외에, 도 12의 (b)에 나타낸 바와 같이 등록 머신의 MAC 어드레스 이외에 정지 정보 송신 처리 실시 식별 번호를 각각의 MAC 어드레스에 설치하는 구성으로 할 수도 있다. 이 정지 정보 송신 처리 실시 식별 번호에는 구 서버의 MAC 어드레스의 타원형 점선 테두리로 둘러싼 구 서버(200)의 식별 번호를 삽입한다. 즉, 신 서버(300)의 식별 정보와 구 서버(200)의 식별 정보를 대응시킴으로써, 신 서버(300)가 정지 정보 송신 처리를 해야 할 구 서버(200)를 한정하여, 불필요한 처리의 실행을 회피하는 것이 가능해진다.
[검색용 패킷의 브로드캐스트(broadcast)]
상기 각 실시예에서는 MAC 어드레스가 이후에 편집 불가능한 정보이기 때문에 라이센스 ID의 삽입되는 데이터로서 채용했지만, MAC 어드레스로부터 IP 어드레스를 구하는 처리만큼 수고가 들어, 예를 들면, 신 서버(300)를 구축하는 컴퓨터의 네트워크 어드레스에 따라서는 PING의 회수가 매우 많아질 가능성도 있다. 예를 들면, 네트워크 어드레스상의 모든 IP 어드레스에 대해서 PING한다.
그래서, 신 서버(300)가 구 서버(200)의 검색용 패킷(데이터의 구조로서는 본 소프트웨어 관리 시스템의 검색용 패킷인 것을 식별 가능하게 하는 정보와 송신원의 신 서버(300)의 어드레스를 갖는 구성)을 브로드캐스트하면, 이러한 검색용 패킷에 대해서 구 서버(200)가 응답용 패킷(데이터의 구조로서는 구 서버(200)의 IP 어드레스를 적어도 갖는다. MAC 어드레스가 포함되어 있는 것이 바람직하다.)을 신 서버(300)에 송신하는 구성을 채용할 수도 있다. 그렇게 함으로써 신 서버(300)가 구 서버(200)를 찾는 수고를 대폭 개선할 수 있다.
[라이센스 서버 이외의 예]
상기 각 실시예에서는, 소프트웨어 실행 관리 장치를 라이센스 서버(100)로 하고, 전체적으로 소프트웨어 실행 관리 시스템으로서 설명했지만, 도 13에 나타낸 바와 같이, 서버 클라이언트형이 아닌 구성에 적용할 수도 있다. 구 컴퓨터(500) 와 신 컴퓨터(600)는 각각 소프트웨어 실행 관리 장치이며, 상기 라이센스 서버(100)의 구성 요소 중, 라이센스 정보 저장부(113), 실행 가부 판정부(114), 무효 라이센스 검출부(115), 무효화 신호 송신부(116), 실행 제한부(117) 및 라이센스 파기부(118)를 갖는다. 그리고, 일례로서 어느 이용자가 구 컴퓨터(500)에서 소프트웨어(A)를 사용하고 있었지만, 소프트웨어(A)는 CAD 소프트로 높은 처리 능력을 필요로 하기 때문에, 신 컴퓨터(600)에서 소프트웨어(A)를 사용하기로 했다. 신 컴퓨터(600)에 소프트웨어(A)를 인스톨하고, 라이센스 ID를 인스톨했다. 라이센스 ID에는 등록 머신의 MAC 어드레스로서 신 컴퓨터(600)의 MAC 어드레스, 제공되는 라이센스 정보로서 소프트웨어(A)를 식별하는 정보와 사용 제한수 1, 구 컴퓨터의 등록수로서 1, 구 컴퓨터의 MAC 어드레스로서 구 컴퓨터(500)의 MAC 어드레스가 삽입되어 있다.
그렇게 함으로써, 상기 제 1 실시예의 (4) 라이센스 등록 처리가 이루어져 신 컴퓨터에 제 1 라이센스 정보 및 제 2 라이센스 정보가 유지된다. 상기 제 1 실시예의 (5) 신 서버에서의 처리가 이루어져 구 컴퓨터(500)에 신 컴퓨터(600)로부터 정지 정보가 송신된다. 그리고, 상기 제 1 실시예의 (6) 구 서버에서의 처리가 이루어지고, 구 컴퓨터(500)가 정지 정보를 설정한다. 그러므로, 어느 이용자는 신 컴퓨터(600)에서 소프트웨어(A)를 사용할 수 있지만, 구 컴퓨터(500)에서는 소프트웨어(A)를 사용할 수가 없다.
요컨대, 이용자는 신 컴퓨터(600)에서 소프트웨어(A)를 사용하기 위해서는 라이센스 ID를 인스톨할 필요가 있고, 이 라이센스 ID를 인스톨함으로써 구 컴퓨 터(500)에서의 사용이 자동적으로 제한되는 구조가 형성된다.
이상의 상기 각 실시예에 의해 본 발명을 설명했지만, 본 발명의 기술적 범위는 실시예에 기재된 범위에는 한정되지 않고, 이들 각 실시예에 다양한 변경 또는 개량을 추가하는 것이 가능하다. 그리고, 이러한 변경 또는 개량을 가한 실시예도 본 발명의 기술적 범위에 포함된다. 이것은, 특허 청구 범위 및 과제를 해결하는 수단에서도 자명하다.

Claims (12)

  1. 소프트웨어의 실행 허락을 위한 처리의 실행을 허락하는 내용에 관한 제 1 라이센스 정보와, 무효화하는 라이센스를 특정하는 식별 코드를 포함하는 제 2 라이센스 정보를 저장하는 라이센스 정보 저장부와,
    제 1 라이센스 정보에 의거하여, 소프트웨어의 실행 허락을 위한 처리의 실행 가부를 판정하는 실행 가부 판정부와,
    제 2 라이센스 정보에 의거하여, 실행 가부 판정부에 의해 실행이 허가된 소프트웨어의 실행 허락을 위한 처리로서, 무효화해야 할 라이센스에 의거하여 실행이 허가된 소프트웨어의 실행 허락을 위한 처리를 실행하고 있는 다른 소프트웨어 실행 관리 장치를 검출하는 무효 라이센스 검출부와,
    무효 라이센스 검출부에 의해 검출된 소프트웨어의 실행 허락을 위한 처리를 제한하는 무효화 신호를 송신하는 무효화 신호 송신부와,
    무효화 신호를 수신하면, 상기 제 1 라이센스 정보에 관계없이, 소프트웨어의 실행 허락을 위한 처리를 제한하는 실행 제한부를 포함하는 소프트웨어 실행 관리 장치.
  2. 제 1 항에 있어서,
    무효화 신호를 수신하면, 상기 라이센스 정보 저장부의 제 1 라이센스 정보를 무효로 하는 정보를 등록하는 라이센스 파기부를 새로 포함하는 소프트웨어 실 행 관리 장치.
  3. 제 1 항 또는 제 2 항에 있어서,
    클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 받아들이는 요구 수용부와,
    클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 수용하면, 소프트웨어의 실행 허락을 위한 처리를 실행하고, 그 클라이언트에게 결과를 회신하는 요구 응답부를 새로 포함하고,
    상기 실행 제한부가, 무효화 신호를 수신하면, 상기 요구 응답부의 동작을 제한하는 소프트웨어 실행 관리 장치.
  4. 제 3 항에 있어서,
    무효 라이센스 검출부에 의해 검출된 소프트웨어의 실행 허락을 위한 처리를 제한하는 무효화 신호를 송신할 때에, 상기 요구 수용부에의 접속에 관한 설정 정보를 송신하는 설정 정보 송신부와,
    무효화 신호를 수신했을 때에, 상기 설정 정보 송신부로부터의 설정 정보를 수신하는 설정 정보 수신부와,
    무효화 신호를 수신한 후에, 상기 요구 수용부에서 클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리의 요구를 수용했을 때에, 상기 설정 정보 수신부에 의해 수신된 설정 정보에 나타낸 요구 수용부에의 처리 요구의 재송신을 지시하 는 접속 정보 갱신 신호의 송신을, 그 클라이언트를 향해서 행하는 접속 정보 갱신 신호 송신부를 새로 포함하는 소프트웨어 실행 관리 장치.
  5. 소프트웨어의 실행 허락을 위한 처리의 실행을 허락하는 내용에 관한 기억 영역에 저장되어 있는 제 1 라이센스 정보에 의거하여, 소프트웨어의 실행 허락을 위한 관리의 실행 가부를 제 1 컴퓨터가 판정하는 실행 가부 판정 스텝과,
    무효화하는 라이센스를 특정하는 식별 코드를 포함하는 기억 영역에 저장되어 있는 제 2 라이센스 정보에 의거하여, 소프트웨어의 실행 허락을 위한 처리의 동작을 제한하는 무효화 신호를 제 2 컴퓨터가 송신하는 무효화 신호 송신 스텝과,
    무효화 신호를 수신하면, 상기 제 1 라이센스 정보에 관계없이, 소프트웨어의 실행 허락을 위한 처리의 동작을 제 1 컴퓨터가 제한하는 실행 제한 스텝을 포함하는 소프트웨어 실행 관리 방법.
  6. 제 5 항에 있어서,
    무효화 신호를 수신하면, 상기 기억 영역에 저장되어 있는 제 1 라이센스 정보를 무효로 하는 정보를 제 1 컴퓨터가 등록하는 스텝을 새로 포함하는 소프트웨어 실행 관리 방법.
  7. 제 5 항 또는 제 6 항에 있어서,
    클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 제 1 컴퓨터가 받아들이는 요구 수용 스텝과,
    클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 수용하면, 소프트웨어의 실행 허락을 위한 처리를 실행하고, 그 클라이언트에게 결과를 제 1 컴퓨터가 회신하는 요구 응답 스텝을 새로 포함하고,
    상기 실행 제한 스텝이 무효화 신호를 수신하면, 상기 요구 응답 스텝의 동작을 제 1 컴퓨터가 제한하는 소프트웨어 실행 관리 방법.
  8. 제 7 항에 있어서,
    소프트웨어의 실행 허락을 위한 처리를 제한하는 무효화 신호를 송신할 때에, 소프트웨어의 실행 허락을 위한 처리를 새로 요구하기 위한 접속에 관한 설정 정보를 제 2 컴퓨터가 송신하는 설정 정보 송신 스텝과,
    무효화 신호를 수신했을 때에, 상기 설정 정보 송신 스텝의 설정 정보를 제 1 컴퓨터가 수신하는 설정 정보 수신 스텝과,
    무효화 신호를 수신한 후에, 상기 요구 수용 스텝에서 클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 수용했을 때에, 상기 설정 정보 수신 스텝에 의해 수신된 설정 정보에 나타낸 소프트웨어의 실행 허락을 위한 처리 요구의 재요구를 지시하는 접속 정보 갱신 신호의 송신을, 제 1 컴퓨터가 그 클라이언트를 향해서 행하는 접속 정보 갱신 신호 송신 스텝을 새로 포함하는 소프트웨어 실행 관리 방법.
  9. 소프트웨어의 실행 허락을 위한 처리의 실행을 허락하는 내용에 관한 제 1 라이센스 정보와, 무효화하는 라이센스를 특정하는 식별 코드를 포함하는 제 2 라이센스 정보를 저장하는 라이센스 정보 저장부와,
    제 1 라이센스 정보에 의거하여, 소프트웨어의 실행 허락을 위한 처리의 실행 가부를 판정하는 실행 가부 판정부와,
    제 2 라이센스 정보에 의거하여, 실행 가부 판정부에 의해 실행이 허가된 소프트웨어의 실행 허락을 위한 처리로서, 무효화해야 할 라이센스에 의거하여 실행이 허가된 소프트웨어의 실행 허락을 위한 처리를 실행하고 있는 다른 컴퓨터를 검출하는 무효 라이센스 검출부와,
    무효 라이센스 검출부에 의해 검출된 소프트웨어의 실행 허락을 위한 처리를 제한하는 무효화 신호를 송신하는 무효화 신호 송신부와,
    무효화 신호를 수신하면, 상기 제 1 라이센스 정보에 관계없이, 소프트웨어의 실행 허락을 위한 처리를 제한하는 실행 제한부로서 컴퓨터를 기능시키기 위한 소프트웨어 실행 관리 프로그램.
  10. 제 9 항에 있어서,
    무효화 신호를 수신하면, 상기 라이센스 정보 저장부의 제 1 라이센스 정보를 무효로 하는 정보를 등록하는 라이센스 파기부로서 새로 컴퓨터를 기능시키기 위한 소프트웨어 실행 관리 프로그램.
  11. 제 9 항 또는 제 10 항에 있어서,
    클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 받아들이는 요구 수용부와,
    클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리 실행의 요구를 수용하면, 소프트웨어의 실행 허락을 위한 처리를 실행하고, 그 클라이언트에게 결과를 회신하는 요구 응답부로서 새로 컴퓨터를 기능시키고,
    상기 실행 제한부가, 무효화 신호를 수신하면, 상기 요구 응답부의 동작을 제한하는 소프트웨어 실행 관리 프로그램.
  12. 제 11 항에 있어서,
    무효 라이센스 검출부에 의해 검출된 소프트웨어의 실행 허락을 위한 처리를 제한하는 무효화 신호를 송신할 때에, 상기 요구 수용부에의 접속에 관한 설정 정보를 송신하는 설정 정보 송신부와,
    무효화 신호를 수신했을 때에, 상기 설정 정보 송신부로부터의 설정 정보를 수신하는 설정 정보 수신부와,
    무효화 신호를 수신한 후에, 상기 요구 수용부에서 클라이언트로부터의 소프트웨어의 실행 허락을 위한 처리의 요구를 수용했을 때에, 상기 설정 정보 수신부에 의해 수신된 설정 정보에 나타낸 요구 수용부에의 처리 요구의 재송신을 지시하는 접속 정보 갱신 신호의 송신을, 그 클라이언트를 향해서 행하는 접속 정보 갱신 신호 송신부로서 새로 컴퓨터를 기능시키기 위한 소프트웨어 실행 관리 프로그램.
KR1020087016512A 2005-12-28 2005-12-28 소프트웨어 실행 관리 장치 및 그 방법 KR100954370B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/024132 WO2007077615A1 (ja) 2005-12-28 2005-12-28 ソフトウェア実行管理装置、その方法及びプログラム

Publications (2)

Publication Number Publication Date
KR20080071208A true KR20080071208A (ko) 2008-08-01
KR100954370B1 KR100954370B1 (ko) 2010-04-26

Family

ID=38227982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087016512A KR100954370B1 (ko) 2005-12-28 2005-12-28 소프트웨어 실행 관리 장치 및 그 방법

Country Status (6)

Country Link
US (1) US8712917B2 (ko)
EP (1) EP1967980B1 (ko)
JP (1) JP4753953B2 (ko)
KR (1) KR100954370B1 (ko)
CN (1) CN101351808B (ko)
WO (1) WO2007077615A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012148098A1 (ko) * 2011-04-28 2012-11-01 슈어소프트테크주식회사 세이프가드 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8401003B1 (en) * 2006-03-20 2013-03-19 8X8, Inc. Method and system for updating physical location information
JP5177852B2 (ja) * 2008-01-23 2013-04-10 Necインフロンティア株式会社 ライセンスキー共有方法及びライセンスキー共有システム
JP5458535B2 (ja) * 2008-09-12 2014-04-02 株式会社リコー 機器、ライセンス管理方法、プログラム、及びライセンス管理システム
JP2010211469A (ja) * 2009-03-10 2010-09-24 Canon Inc 情報処理装置、情報処理方法及びプログラム
JP5418025B2 (ja) * 2009-07-08 2014-02-19 株式会社リコー 情報処理装置、システム管理方法、システム管理プログラム、及びそのプログラムを記録した記録媒体
JP5483944B2 (ja) * 2009-07-24 2014-05-07 キヤノン株式会社 ライセンス管理システム、サーバ装置、端末装置及びそれらの処理方法
CN101651564B (zh) * 2009-09-08 2011-07-06 杭州华三通信技术有限公司 一种许可证检测方法、分布式网管系统和服务器
US8752187B2 (en) * 2010-09-27 2014-06-10 Samsung Electronics Co., Ltd. Portable license server
JP2016157210A (ja) * 2015-02-24 2016-09-01 株式会社 日立産業制御ソリューションズ アクセス制御装置、アクセス制御方法及びアクセス制御プログラム
CN107302553B (zh) * 2016-04-14 2020-11-06 创新先进技术有限公司 用户迁移的方法和装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940504A (en) * 1991-07-01 1999-08-17 Infologic Software, Inc. Licensing management system and method in which datagrams including an address of a licensee and indicative of use of a licensed product are sent from the licensee's site
JPH06223040A (ja) * 1993-01-26 1994-08-12 Omron Corp ソフトウェアライセンス管理システム
US6009401A (en) * 1998-04-06 1999-12-28 Preview Systems, Inc. Relicensing of electronically purchased software
JP2000200195A (ja) * 1999-01-08 2000-07-18 Toppan Printing Co Ltd ライセンス管理システム
JP2000207199A (ja) 1999-01-14 2000-07-28 Hiromichi Toyama ソフトウエア管理方法、ソフトウエア管理装置およびソフトウエア管理システム
US6223291B1 (en) * 1999-03-26 2001-04-24 Motorola, Inc. Secure wireless electronic-commerce system with digital product certificates and digital license certificates
US7073063B2 (en) * 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
KR100721078B1 (ko) * 1999-07-06 2007-05-22 소니 가부시끼 가이샤 데이터 처리 장치, 데이터 제공 시스템, 및 데이터 제공 방법
US7716348B1 (en) * 1999-09-03 2010-05-11 Safenet, Inc. License management system and method with license balancing
JP2002182763A (ja) 2000-12-14 2002-06-26 Suga Kogyo Kk ネットワークライセンスの管理方法
JP3970040B2 (ja) * 2001-01-31 2007-09-05 株式会社ソニー・コンピュータエンタテインメント コンピュータシステム及びその使用方法
US7203966B2 (en) * 2001-06-27 2007-04-10 Microsoft Corporation Enforcement architecture and method for digital rights management system for roaming a license to a plurality of user devices
JP3950095B2 (ja) * 2002-09-20 2007-07-25 株式会社駅前探険倶楽部 認証サーバ、認証方法、認証依頼端末及び認証依頼プログラム
US7137114B2 (en) * 2002-12-12 2006-11-14 International Business Machines Corporation Dynamically transferring license administrative responsibilities from a license server to one or more other license servers
CN1954543A (zh) * 2004-04-14 2007-04-25 数码河股份有限公司 基于地理位置的许可系统
CN100343775C (zh) * 2004-05-25 2007-10-17 华为技术有限公司 一种许可证文件生成方法及软件产品保护方法和系统
US20060085350A1 (en) * 2004-09-28 2006-04-20 Siemens Information And Communication Networks, Inc. Enterprise-wide flexible software licensing model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012148098A1 (ko) * 2011-04-28 2012-11-01 슈어소프트테크주식회사 세이프가드 장치 및 방법

Also Published As

Publication number Publication date
US8712917B2 (en) 2014-04-29
EP1967980B1 (en) 2014-12-24
EP1967980A4 (en) 2011-07-20
KR100954370B1 (ko) 2010-04-26
JPWO2007077615A1 (ja) 2009-06-04
CN101351808B (zh) 2010-04-21
WO2007077615A1 (ja) 2007-07-12
US20080271162A1 (en) 2008-10-30
CN101351808A (zh) 2009-01-21
EP1967980A1 (en) 2008-09-10
JP4753953B2 (ja) 2011-08-24

Similar Documents

Publication Publication Date Title
KR100954370B1 (ko) 소프트웨어 실행 관리 장치 및 그 방법
JP5747981B2 (ja) 仮想機械を用いた電子ネットワークにおける複数のクライアントの遠隔保守のためのシステム及び方法
JP5704518B2 (ja) 機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラム
US7561985B2 (en) Maintenance mediation apparatus, maintenance target apparatus maintenance method, and maintenance system
US11122411B2 (en) Distributed, crowdsourced internet of things (IoT) discovery and identification using block chain
US20050055547A1 (en) Remote processor
US8296824B2 (en) Replicating selected secrets to local domain controllers
US20070239989A1 (en) Computer-implemented method, apparatus, and computer program product for securing node port access in a switched-fabric storage area network
US7134140B2 (en) Token-based authentication for network connection
JP2010283607A (ja) ネットワーク管理方法、ネットワーク管理プログラム、ネットワークシステム及び中継機器
JP5822078B2 (ja) 機密情報漏洩防止システム、機密情報漏洩防止方法及び機密情報漏洩防止プログラム
JP6812171B2 (ja) ネットワークシステム、および、ネットワークシステムにおける制御方法
JP2003258795A (ja) コンピュータ集合体運用方法及びその実施システム並びにその処理プログラム
JP5509999B2 (ja) 不正接続防止装置及びプログラム
JP2006079359A (ja) 通信装置、通信装置の制御方法、プログラム及び記録媒体
TWI709309B (zh) 網管裝置及其網管方法
JP2004246444A (ja) セキュリティ基準検証方法及びその実施装置並びにその処理プログラム
JP2001109624A (ja) ソフトウエア使用権付与方法
JP5477104B2 (ja) 不正接続防止装置及びプログラム
JP2009225046A (ja) 通信妨害装置及び通信妨害プログラム
JP5032246B2 (ja) システムおよび制御方法
CN102648603A (zh) 使用多个互联网服务提供商的服务的方法及设备
JP2009182603A (ja) ネットワーク監視システム及びネットワーク監視プログラム

Legal Events

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

Payment date: 20130321

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140319

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160318

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170317

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee