KR102314391B1 - 라이센스 이행 툴, 기록 매체, 및 라이센스 이행 시스템 - Google Patents

라이센스 이행 툴, 기록 매체, 및 라이센스 이행 시스템 Download PDF

Info

Publication number
KR102314391B1
KR102314391B1 KR1020217026824A KR20217026824A KR102314391B1 KR 102314391 B1 KR102314391 B1 KR 102314391B1 KR 1020217026824 A KR1020217026824 A KR 1020217026824A KR 20217026824 A KR20217026824 A KR 20217026824A KR 102314391 B1 KR102314391 B1 KR 102314391B1
Authority
KR
South Korea
Prior art keywords
license
key
license key
identifier
plc
Prior art date
Application number
KR1020217026824A
Other languages
English (en)
Other versions
KR20210109659A (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 KR20210109659A publication Critical patent/KR20210109659A/ko
Application granted granted Critical
Publication of KR102314391B1 publication Critical patent/KR102314391B1/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
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Storage Device Security (AREA)

Abstract

라이센스 관리툴(500)은 애플리케이션 프로그램의 사용이 허락되어 있는 것을 나타내는 라이센스 키를, 외부 네트워크에 접속되어 있지 않은 2 이상의 PLC(101)와 PLC(102)의 사이에서 이행한다. 라이센스 키는 라이센스 키가 등록되어 있는 장치를 식별하는 식별자를 포함한다. 라이센스 이행부(530)는 라이센스의 이행원의 PLC(101)로부터, 라이센스 키를 취득한다. 라이센스 이행부(530)는 라이센스의 이행처의 PLC(102)로부터, PLC(102)의 제2 식별자를 취득한다. 라이센스 이행부(530)는 PLC(101)로부터 취득한 라이센스 키로부터, PLC(101)의 제1 식별자를 삭제하고, PLC(102)의 제2 식별자를 추가하여, 새로운 라이센스 키를 생성하여, PLC(102)에 새로운 라이센스 키를 송신한다.

Description

라이센스 이행 툴, 기록 매체, 및 라이센스 이행 시스템
본 발명은 라이센스 이행 툴, 기록 매체, 및 라이센스 이행 시스템에 관한 것이다.
시장에서 제품으로서 판매되고 있는 애플리케이션 프로그램의 부정 이용을 방지하기 위해, 애플리케이션 프로그램의 판매원이 관리하는 라이센스 관리 서버와 애플리케이션 프로그램이 인스톨된 장치가 네트워크를 통해서 통신하여, 라이센스 관리 서버가 라이센스 인증을 행하는 경우가 있다.
또, 장치로부터 언인스톨된 애플리케이션 프로그램을, 다른 장치에 인스톨하는 경우가 있다. 이 경우, 애플리케이션 프로그램의 라이센스를 이행할 필요가 있다.
예를 들면, 특허 문헌 1에는, 다음과 같이 라이센스를 이행하는 것이 기재되어 있다. 라이센스의 이행원인 장치는, 애플리케이션 프로그램이 언인스톨되면, 언인스톨 증명 코드를 생성하여, 라이센스 관리 서버에 언인스톨 증명 코드를 송신한다. 라이센스의 이행처의 장치는, 고유 식별 코드를 생성하여, 라이센스 관리 서버에 고유 식별 코드를 송신한다. 라이센스 관리 서버는 수신한 언인스톨 증명 코드와 고유 식별 코드가 정당한지 여부를 판별하여, 정당한 경우에 라이센스 이행을 허가한다. 라이센스 이행을 허가하는 경우, 라이센스 관리 서버는 인스톨 허가 통지를 라이센스의 이행처의 장치에 송신한다.
특허 문헌 1: 일본 공개특허공보 2009-245169호
특허 문헌 1에 기재된 구성에서는, 라이센스의 이행원의 장치와 라이센스의 이행처의 장치가, 네트워크를 통해서 라이센스 관리 서버와 통신 가능일 것이 필요하다. 그러나, 라이센스의 이행원의 장치와 라이센스의 이행처의 장치가, 네트워크를 통해서 라이센스 관리 서버와 통신할 수 없는 경우도 있다. 예를 들면, 공장 자동화의 분야에서 사용되는 컨트롤러는, 시큐리티의 관점으로부터, 외부의 네트워크에 접속되어 있지 않은 것이 있다. 이와 같이, 라이센스의 이행원의 장치와 라이센스의 이행처의 장치가, 네트워크를 통해서 라이센스 관리 서버와 통신하는 것이 불가능한 경우에는, 라이센스 관리 서버를 통한 라이센스 이행을 실행할 수 없다.
본 발명은 상기 실정을 감안하여 이루어진 것으로, 라이센스 관리 서버와 통신할 수 없는 스탠드얼론의 장치 사이에서 라이센스를 이행하는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명에 따른 라이센스 이행 툴은 애플리케이션 프로그램의 사용이 허락되어 있는 것을 나타내는 라이센스 키를, 외부 네트워크에 접속되어 있지 않은 2 이상의 장치의 사이에서 이행한다. 라이센스 키는 라이센스 키가 등록되어 있는 장치를 식별하는 식별자를 포함한다. 라이센스 이행 툴이 구비하는 키 취득 수단은, 라이센스의 이행원의 장치인 제1 장치로부터, 라이센스 키를 취득한다. 라이센스 이행 툴이 구비하는 식별자 취득 수단은, 라이센스의 이행처의 장치인 제2 장치로부터, 제2 장치를 식별하는 제2 식별자를 취득한다. 라이센스 이행 툴이 구비하는 재생성 수단은, 제1 장치로부터 취득한 라이센스 키로부터, 제1 장치를 식별하는 제1 식별자를 삭제하고, 제2 장치의 제2 식별자를 식별자로서 추가하고, 새로운 라이센스 키를 생성하여, 제2 장치에 새로운 라이센스 키를 공급한다.
본 발명에 따른 라이센스 이행 툴은, 라이센스의 이행원의 장치인 제1 장치로부터, 라이센스 키를 취득하고, 라이센스의 이행처의 장치인 제2 장치로부터, 제2 장치를 식별하는 제2 식별자를 취득한다. 라이센스 이행 툴은 제1 장치로부터 취득한 라이센스 키로부터, 제1 장치를 식별하는 제1 식별자를 삭제하고, 제2 장치의 제2 식별자를 식별자로서 추가하고, 새로운 라이센스 키를 생성하여, 제2 장치에 새로운 라이센스 키를 공급한다. 이러한 구성을 구비함으로써, 라이센스 관리 서버와 통신할 수 없는 스탠드얼론의 장치 사이에서 라이센스를 이행할 수 있다.
도 1은 본 발명의 실시 형태에 따른 라이센스 관리 시스템의 기능 구성을 나타내는 블록도이다.
도 2는 실시 형태에 따른 라이센스 관리 시스템의 하드웨어 구성을 나타내는 도면이다.
도 3은 실시 형태에 따른 PLC의 프로그램 기억부의 구성을 나타내는 도면이다.
도 4는 실시 형태에 따른 PLC의 라이센스 키 기억부의 구성을 나타내는 도면이다.
도 5는 실시 형태에 따른 라이센스 키의 구성을 나타내는 도면이다.
도 6은 실시 형태에 따른 애플리케이션 적합 테이블에 격납되는 데이터의 일례를 나타내는 도면이다.
도 7은 실시 형태에 따른 구입 라이센스 테이블에 격납되는 데이터의 일례를 나타내는 도면이다.
도 8은 실시 형태에 따른 라이센스 등록 테이블에 격납되는 데이터의 일례를 나타내는 도면이다.
도 9는 실시 형태에 따른 라이센스 관리툴의 메뉴 화면의 일례를 나타내는 도면이다.
도 10은 실시 형태에 따른 라이센스 관리툴의 라이센스 발행 요구 처리의 순서도이다.
도 11a는 실시 형태에 따른 라이센스 키의 등록의 대상을 선택하는 선택 화면의 일례를 나타내는 도면이다.
도 11b는 실시 형태에 따른 라이센스 키의 등록 완료 화면의 일례를 나타내는 도면이다.
도 11c는 실시 형태에 따른 라이센스 키의 등록의 실패를 통지하는 화면의 일례를 나타내는 도면이다.
도 12는 실시 형태에 따른 라이센스 관리 서버의 라이센스 발행 처리의 순서도이다.
도 13은 실시 형태에 따른 라이센스 관리툴의 라이센스 이행 처리의 순서도(전반)이다.
도 14는 실시 형태에 따른 라이센스 관리툴의 라이센스 이행 처리의 순서도(후반)이다.
도 15a는 실시 형태에 따른 라이센스 키의 이행의 대상을 선택하는 선택 화면의 일례를 나타내는 도면이다.
도 15b는 실시 형태에 따른 라이센스 키의 이행시의 PLC의 접속의 전환 지시 화면의 일례를 나타내는 도면이다.
도 15c는 실시 형태에 따른 라이센스 키의 이행 완료 화면의 일례를 나타내는 도면이다.
도 16a는 실시 형태에 따른 라이센스 관리툴의 라이센스 정보 갱신 처리의 순서도이다.
도 16b는 실시 형태에 따른 라이센스 관리 서버의 라이센스 정보 갱신 처리의 순서도이다.
(실시 형태)
이하, 본 발명의 실시 형태에 따른 라이센스 관리 시스템에 대해서, 도면을 참조하면서 상세하게 설명한다.
도 1에 나타내는 라이센스 관리 시스템(1)은 프로그래머블 로직 컨트롤러(101 및 102)가 실행하는 애플리케이션 프로그램의 라이센스를 관리한다. 라이센스 관리 시스템(1)은 공장 내의 생산 라인에서 사용되는 프로그래머블 로직 컨트롤러의 라이센스의 등록을 관리하는 라이센스 관리툴(500)과, 라이센스를 발행하는 라이센스 관리 서버(600)를 포함한다.
프로그래머블 로직 컨트롤러(101 및 102)는 공장 내의 생산 라인에서 사용되는 기계 장치(도시하지 않음)를 제어하는 제어 장치이다. 이하, 프로그래머블 로직 컨트롤러(101 및 102)를 하나로 통괄하여 프로그래머블 로직 컨트롤러(100)(PLC(100))라고 칭하는 경우가 있다.
라이센스 관리툴(500)로서, 예를 들면, 프로그래머블 로직 컨트롤러(100)와 같은 공장 내에 있고, 전용의 프로그램을 인스톨한 퍼스널 컴퓨터가 사용된다. 라이센스 관리 서버(600)는, 예를 들면, 애플리케이션 프로그램을 개발·판매하는 메이커의 관리하에 있는 서버이다.
PLC(100)는 제품으로서 판매되고 있는 애플리케이션 프로그램을 실행함으로써, 예를 들면, 공장 내의 내부 네트워크(도시하지 않음)를 통해서 접속되어 있는 기계 장치를 제어한다. PLC(100)는 애플리케이션 프로그램을 실행하기 위해, 애플리케이션 프로그램의 사용이 허락되어 있는 것을 나타내는 라이센스를 가지고 있을 필요가 있다. 실시 형태에 있어서는, PLC(100)는 애플리케이션 프로그램의 라이센스 키를 가지고 있는 경우에, 그 애플리케이션 프로그램을 실행할 수 있다. 라이센스 키는 PLC(100)가 라이센스를 가지고 있는 것을 나타내는 코드이다. 라이센스 관리 서버(600)가 라이센스 키를 발행한다.
PLC(100)는 외부 네트워크에 접속되어 있지 않아, 라이센스 관리 서버(600)와 통신할 수 없다. 외부 네트워크는 인터넷과 같은 개방적인 네트워크이다. 한편, 라이센스 관리툴(500)은 외부 네트워크를 통해서 라이센스 관리 서버(600)와 통신할 수 있다. 이 때문에, 라이센스 관리툴(500)이 PLC(100)를 대신하여, 라이센스 관리 서버(600)로부터 라이센스 키를 취득하고, 취득한 라이센스 키를 PLC(100)에 공급한다.
또한, 실시 형태에 특징적인 구성으로서, 라이센스 관리툴(500)은 라이센스 키의 이행에 관련된 처리를 행한다. 라이센스 키의 이행이란, 어느 애플리케이션 프로그램에 대한 라이센스 키를 가지고 있는 PLC(100)로부터, 다른 PLC(100)에 라이센스 키를 옮기는 것이다. 라이센스 키를 가지게 된 PLC(100)는, 그 애플리케이션 프로그램을 실행할 수 있게 된다. 한편, 라이센스 키를 가지지 않게 된 PLC(100)는, 그 애플리케이션 프로그램을 실행할 수 없게 된다.
도 2에 나타내는 것처럼, PLC(100)는 하드웨어 구성으로서, 각종 프로그램 및 데이터를 기억하는 메모리(11)와, 통신 케이블(701)을 통해서 라이센스 관리툴(500)과의 사이에서 데이터를 교환하는 입출력 인터페이스(12)와, PLC(100) 전체를 제어하는 MPU(Micro Processing Unit)(13)를 가진다. 메모리(11)와 입출력 인터페이스(12)는, 버스(19)를 통해서 MPU(13)에 접속되어 있고, MPU(13)와 통신한다.
메모리(11)는 휘발성 메모리와 불휘발성 메모리를 포함한다. 메모리(11)는 PLC(100)의 각종 기능을 실현하기 위한 프로그램을 기억한다. 메모리(11)는 라이센스 키의 격납, 취출 등의 처리를 MPU(13)에 실행시키는 프로그램인 라이센스 관리 프로그램(111)을 기억한다. 또한, 메모리(11)는 MPU(13)의 워크 메모리로서 이용된다. 메모리(11)는 PLC(100)를 고유하게 식별하기 위한 식별자를 기억한다. 실시 형태에서는, PLC(100)에 할당된 식별자로서, PLC(100)의 제조시에 PLC(100)에 할당된 시리얼 코드를 사용하는 것으로 한다. 또한, 메모리(11)는 유저를 식별하는 정보인 유저 ID를 기억한다. PLC(100)의 유저는, 예를 들면, PLC(100)의 관리자이다.
입출력 인터페이스(12)는, 예를 들면, USB 컨트롤러를 포함하고, MPU(13)로부터 공급된 데이터를 전기 신호로 변환하고, 통신 케이블(701)을 통해서 변환한 신호를 라이센스 관리툴(500)에 출력한다. 통신 케이블(701)은, 예를 들면, USB 케이블이다. 또, 입출력 인터페이스(12)는 통신 케이블(701)을 통해서, 라이센스 관리툴(500)이 출력한 전기 신호를 접수하고, 접수한 전기 신호를 데이터로 복원하여 MPU(13)에 출력한다.
MPU(13)는 메모리(11)에 기억되어 있는 각종 프로그램을 실행하여, PLC(100)의 각종 기능을 실현한다. 예를 들면, 라이센스 관리 프로그램(111)을 실행함으로써, 라이센스 키의 격납, 취출 등의 처리를 실행한다.
라이센스 관리툴(500)은 하드웨어 구성으로서, 각종의 프로그램 및 데이터를 기억하는 메모리(51)와, 통신 케이블(701)을 통해서 PLC(100)와의 사이에서 데이터를 교환하는 입출력 인터페이스(52)와, 네트워크(702)를 통해서 라이센스 관리 서버(600)와 통신하는 통신 인터페이스(53)와, 유저의 입력 조작을 검출하는 입력 장치(54)와, 화상을 출력하는 표시 장치(55)와, 라이센스 관리툴(500) 전체를 제어하는 CPU(Central Processing Unit)(56)를 가진다. 메모리(51)와 입출력 인터페이스(52)와 통신 인터페이스(53)와 입력 장치(54)와 표시 장치(55)는, 버스(59)를 통해서 CPU(56)에 접속되어 있고, 각각 CPU(56)와 통신한다.
메모리(51)는 휘발성 메모리와 불휘발성 메모리를 포함한다. 메모리(51)는 라이센스 관리툴(500)의 각종 기능을 실현하기 위한 프로그램을 격납한다. 구체적으로는, 메모리(51)는 라이센스 관리 프로그램(511)을 기억한다. 또한, 메모리(51)는 CPU(56)의 워크 메모리로서 이용된다.
라이센스 관리 프로그램(511)은 라이센스 키의 등록 처리와, 라이센스 키의 이행 처리를 CPU(56)에 실행시키는 프로그램이다.
입출력 인터페이스(52)는, 예를 들면, USB 컨트롤러를 포함하고, CPU(56)로부터 공급된 데이터를 전기 신호로 변환하고, 통신 케이블(701)을 통해서 변환한 신호를 PLC(100)에 출력한다. 또, 입출력 인터페이스(52)는 통신 케이블(701)을 통해서, PLC(100)가 출력한 전기 신호를 접수하고, 접수한 전기 신호를 데이터로 복원하여 CPU(56)에 출력한다.
통신 인터페이스(53)는 네트워크 인터페이스 회로를 포함하고, CPU(56)의 제어하에, 네트워크(702)를 통해서, 라이센스 관리 서버(600)와 통신한다. 네트워크(702)는, 예를 들면, 인터넷이다.
입력 장치(54)는 마우스, 조작 키 등을 포함하고, 유저로부터의 조작 입력을 접수하고, 유저의 조작 입력을 나타내는 신호를 CPU(56)에 출력한다.
표시 장치(55)는 디스플레이를 포함하고, CPU(56)로부터 공급되는 신호에 기초하는 화상을 디스플레이에 표시한다.
CPU(56)는 메모리(51)에 기억되어 있는 각종 프로그램을 실행하여, 라이센스 관리툴(500)의 각종 기능을 실현한다. 구체적으로는, CPU(56)는 라이센스 관리 프로그램(511)을 실행함으로써, PLC(101 및 102)에 애플리케이션 프로그램의 라이센스 키를 등록한다. 또한, CPU(56)는 라이센스 관리 프로그램(511)을 실행함으로써, 예를 들면, PLC(101)가 가지고 있는 라이센스 키를 PLC(102)로 이행한다.
라이센스 관리 서버(600)는 하드웨어 구성으로서, 각종의 프로그램 및 데이터를 기억하는 메모리(61)와, 네트워크(702)를 통해서 라이센스 관리툴(500)과 통신하는 통신 인터페이스(62)와, 라이센스 관리 서버(600) 전체를 제어하는 CPU(63)를 가진다. 메모리(61)와 통신 인터페이스(62)는, 버스(69)를 통해서 CPU(63)에 접속되어 있고, 각각 CPU(63)와 통신한다.
메모리(61)는 휘발성 메모리와 불휘발성 메모리를 포함한다. 메모리(61)는 라이센스 관리 서버(600)의 각종 기능을 실현하기 위한 프로그램을 격납한다. 구체적으로는, 메모리(61)는 라이센스 관리 프로그램(611)을 기억한다. 또한, 메모리(51)는 CPU(56)의 워크 메모리로서 이용된다.
라이센스 관리 프로그램(611)은 라이센스 키를 발행하는 처리와, 라이센스의 등록에 관한 정보를 관리하는 처리를 CPU(63)에 실행시키는 프로그램이다.
통신 인터페이스(62)는 네트워크 인터페이스 회로를 포함하고, CPU(63)의 제어하에, 네트워크(702)를 통해서, 라이센스 관리 서버(600)와 통신한다.
CPU(63)는 메모리(61)에 기억되어 있는 각종 프로그램을 실행하여, 라이센스 관리 서버(600)의 각종 기능을 실현한다. 구체적으로는, CPU(63)는 라이센스 관리 프로그램(611)을 실행함으로써 라이센스 키를 발행한다.
다음에, 도 1을 참조하여, PLC(100)의 기능 구성을 설명한다. PLC(100)는 기능적으로는, 애플리케이션 프로그램을 기억하는 프로그램 기억부(110)와, 라이센스 키를 기억하는 라이센스 키 기억부(120)와, 무효화 키를 기억하는 무효화 키 기억부(130)와, PLC(100)가 애플리케이션 프로그램을 실행하기 전에 라이센스 키가 정당한 것인지 여부를 판별하는 라이센스 확인부(140)와, 라이센스 관리툴(500)과의 사이에서 라이센스 키를 교환하는 라이센스 송수신부(150)와, 애플리케이션 프로그램을 실행하는 프로그램 실행부(160)를 포함한다.
프로그램 기억부(110)는 PLC(100)가 실행하는 애플리케이션 프로그램을 기억한다. 애플리케이션 프로그램은 제품으로서 판매되고 있는 프로그램을 포함한다. 도 3에 나타내는 것처럼, 프로그램 기억부(110)는 유저가 구입한 애플리케이션 프로그램(1101~1103)을 기억하고 있는 것으로 한다. PLC(100)는 애플리케이션 프로그램(1101~1103)을 실행하기 위해서는, 각각의 애플리케이션 키를 가지고 있을 필요가 있다. 이하, 애플리케이션 프로그램(1101~1103)을 통괄하여 애플리케이션 프로그램(1100)이라고 칭하는 경우가 있다. 프로그램 기억부(110)의 기능은, 도 2에 나타내는 메모리(11)에 의해 실현된다.
도 1에 나타내는 라이센스 키 기억부(120)는, PLC(100)가 실행하는 애플리케이션 프로그램(1100) 각각에 대응하는 라이센스 키를 기억한다. 도 3에 나타내는 것처럼, 프로그램 기억부(110)가 애플리케이션 프로그램(1101~1103)을 기억하고 있는 것으로 한다. 이 경우, 도 4에 나타내는 것처럼, 라이센스 키 기억부(120)는 애플리케이션 프로그램(1101~1103)에 각각 대응하는 라이센스 키(1201~1203)를 기억한다. 이하, 라이센스 키(1201~1203)를 통괄하여 라이센스 키(1200)라고 칭하는 경우가 있다. 라이센스 키 기억부(120)는 본 발명의 라이센스 키 기억 수단의 일례이다.
라이센스 키(1200)는, 도 1에 나타내는 라이센스 관리툴(500)로부터 공급된다. 후술하는 라이센스 송수신부(150)는 라이센스 관리툴(500)로부터 공급된 라이센스 키(1200)를 라이센스 키 기억부(120)에 격납한다. 라이센스 키 기억부(120)의 기능은, 도 2에 나타내는 메모리(11)에 의해 실현된다. 라이센스 키 기억부(120)는 메모리(11)의, 유저가 참조할 수 없는 영역에 마련되는 것이 바람직하다. 라이센스 송수신부(150)는 본 발명의 격납 수단의 일례이다.
도 4에 나타내는 것처럼, 라이센스 키 기억부(120)는 라이센스 키(1200)와, 애플리케이션 프로그램(1100)을 특정하는 애플리케이션 ID를 기억한다. 도 5에 나타내는 것처럼, 라이센스 키(1200)는 라이센스 코드(1200a)와, 장치 ID(1200b)와, 이행 카운터(1200c)와, 무효화 플래그(1200d)를 포함한다.
라이센스 코드(1200a)는 애플리케이션 프로그램(1100)의 1 라이센스마다 할당된 식별 코드이다. 실시 형태에서는, 1 라이센스로, 1개의 PLC(100)가 애플리케이션 프로그램(1100)을 실행할 수 있는 것으로 한다.
장치 ID(1200b)는 애플리케이션 프로그램(1100)이 인스톨되어 있는 PLC(100)를 고유하게 식별하기 위한 식별자이다. 장치 ID(1200b)에는 라이센스 키(1200)가 등록되어 있는 PLC(100)의 식별자가 세트되어 있다.
PLC(100)는 애플리케이션 프로그램(1100)의 실행시에, 라이센스 키(1200)의 장치 ID(1200b)가 자기(自機)의 식별자와 일치하는지 여부를 판별한다. PLC(100)는 라이센스 키(1200)의 장치 ID(1200b)가 자기의 식별자와 일치한다고 판별하면, 애플리케이션 프로그램(1100)을 실행한다. 한편, PLC(100)는 라이센스 키(1200)의 장치 ID(1200b)가 자기의 식별자와 일치하지 않는다고 판별하면, 애플리케이션 프로그램(1100)을 실행하지 않는다. 이러한 구성에 의해 애플리케이션 프로그램(1100)을 실행해서는 안 되는 PLC(100)가 애플리케이션 프로그램(1100)을 실행하는 일이 없도록 제어할 수 있다.
라이센스 키(1200)의 첫회 발행시에는, 라이센스 관리 서버(600)가 라이센스 키(1200)를 생성한다. 이를 위해, 라이센스 관리 서버(600)에는 라이센스 관리툴(500)로부터 PLC(100)의 식별자가 공급된다. 라이센스 관리 서버(600)는 장치 ID(1200b)로서 PLC(100)의 식별자를 라이센스 키(1200)에 세트한다. 라이센스 키(1200)의 이행시에는, 라이센스 관리툴(500)이 라이센스 키(1200)를 재생성한다. 이 경우, 라이센스 관리툴(500)이 장치 ID(1200b)로서 이행처의 PLC(100)의 식별자를 라이센스 키(1200)에 세트한다.
이행 카운터(1200c)에는 애플리케이션 프로그램(1100)의 라이센스가 이행된 횟수인 이행 횟수를 나타내는 값이 격납된다. 이행 카운터(1200c)의 값은, 라이센스 키(1200)가 첫회에 생성되었을 때는 초기값, 예를 들면, "0"이다. 이행 카운터(1200c)의 값은, 라이센스 키(1200)가 재생성되는 타이밍에서, "1" 가산된다.
라이센스 관리 서버(600)는 라이센스 키(1200)의 생성시에, 이행 카운터(1200c)의 값에 초기값을 세트한다. 라이센스 관리툴(500)은 이행 처리에 있어서, 라이센스 키(1200)의 이행 카운터(1200c)의 값을 결정된 수만큼, 예를 들면, "1"을 가산한다.
예를 들면, PLC(100)의 관리자가 애플리케이션 프로그램(1101)을 1 라이센스 구입한 것으로 한다. 관리자가 처음에 PLC(101)에 애플리케이션 프로그램(1101)을 인스톨하고, 라이센스 관리툴(500)을 통해서, PLC(101)에 애플리케이션 프로그램(1101)에 대응하는 라이센스 키(1200)를 등록한 것으로 한다. 이 때, 이행 카운터(1200c)의 값은 초기값, 예를 들면, "0"이다. 그 후, PLC(101)가 동작 불량과 같은 어떠한 사정에 의해, PLC(101)가 애플리케이션 프로그램(1101)을 실행할 수 없게 된 것으로 한다. PLC(100)의 관리자가, PLC(102)에 애플리케이션 프로그램(1101)을 인스톨하고, 라이센스 관리툴(500)을 사용하여, 애플리케이션 프로그램(1101)의 라이센스 키(1200)를 PLC(102)로 이행한 것으로 한다. 이 때의 이행 카운터(1200c)의 값은, 초기값에 "1"이 가산된 값, 즉, "1"이다.
무효화 플래그(1200d)는 라이센스 키(1200)가 무효화 키인지 여부를 나타내는 값을 가진다. 무효화 키는 라이센스 키(1200)의 부정 사용을 방지하기 위해서 사용된다. 무효화 키는 라이센스 키(1200)를 다른 PLC(100)로 이행했을 때, 이행원의 PLC(100)에 저장된다.
라이센스 키(1200)가 유효한 키인 것을 나타내는 값으로서, 예를 들면, 무효화 플래그(1200d)에 "0"이 세트된다. 무효화 플래그(1200d)의 값이, 예를 들면, "1"인 것은, 그 키가 무효화 키인 것을 나타낸다.
라이센스 관리툴(500)은 라이센스 키(1200)를 이행할 때, 이행하는 라이센스 키(1200)를 카피하고, 카피한 키의 무효화 플래그(1200d)에 "1"을 세트하여, 무효화 키를 생성하여, 이행원의 PLC(100)에 무효화 키를 저장한다.
PLC(100)는 라이센스 관리툴(500)로부터, 라이센스 키(1200)의 무효화 플래그(1200d)를 제외한 부분이 일치하는 무효화 키가 공급된 경우, 공급된 라이센스 키(1200)를 접수하지 않는다.
도 1에 나타내는 무효화 키 기억부(130)는, 무효화 키를 기억한다. 전술과 같이, 라이센스 관리툴(500)은 라이센스 키(1200)의 이행시에 무효화 키를 이행원의 PLC(100)에 발행한다. 이 때문에, 무효화 키 기억부(130)는 라이센스 관리툴(500)로부터 무효화 키가 공급된 경우만 무효화 키를 기억한다. 무효화 키 기억부(130)의 기능은, 도 2에 나타내는 메모리(11)에 의해 실현된다. 무효화 키 기억부(130)는 메모리(11)의, 유저가 참조할 수 없는 영역에 마련되는 것이 바람직하다.
무효화 키를 이용함으로써 라이센스 키(1200)의 부정 사용을 방지할 수 있다. 이하에, 무효화 키를 사용하지 않는 경우에 상정되는 부정 사용의 예를 설명한다.
예를 들면, 라이센스 키(1200)의 첫 회의 발행시에는, 라이센스 관리 서버(600)가 라이센스 키(1200)의 장치 ID(1200b)로서 PLC(101)의 식별자를 포함하는 라이센스 키(1200)를 생성하여, 라이센스 관리툴(500)에 라이센스 키(1200)를 송신한다. 이 때, 유저 혹은 다른 사람이, 라이센스 관리툴(500)에 저장된 PLC(101)용의 라이센스 키(1200)를 메모리(51) 내의 어느 영역에 카피한 것으로 한다. PLC(101)에 라이센스 키(1200)가 등록된 후, 유저 혹은 다른 사람이, 라이센스 관리툴(500)을 조작하여, 라이센스 키(1200)를 PLC(102)로 이행한 것으로 한다. 또한, 유저 혹은 다른 사람이, 카피해 둔 PLC(101)용의 라이센스 키(1200)를 PLC(101)에 다시 등록한 것으로 한다. 이 경우, PLC(101)용의 라이센스 키(1200)를 PLC(101)에 등록할 수 있게 되어, 1 라이센스만의 구입으로 2개의 PLC(100)로 애플리케이션 프로그램(1100)을 실행하는 것이 가능해져 버린다.
또, 예를 들면, 유저 혹은 다른 사람이, 라이센스 관리툴(500)을 조작하여, PLC(101)에 등록되어 있는 라이센스 키(1200)를 PLC(101)로부터 PLC(102)로 이행하는 처리의 도중에, PLC(101)로부터 취득한 라이센스 키(1200)를, 예를 들면, 메모리(51) 내의 어느 영역에 카피한 것으로 한다. 라이센스 관리툴(500)에 의해 재생성된 라이센스 키(1200)가 이행처의 PLC(102)에 등록된 후, 유저 혹은 다른 사람이, 카피해 둔 PLC(101)용의 라이센스 키(1200)를 PLC(101)에 다시 등록한 것으로 한다. 이 경우도, PLC(101)용의 라이센스 키(1200)를 PLC(101)에 등록할 수 있게 되어, 1 라이센스만의 구입으로 2개의 PLC(100)로 애플리케이션 프로그램(1100)을 실행 가능하게 된다.
이러한 부정 이용을 방지하기 위해, 라이센스 키(1200)를 이행하는 경우에, 라이센스 관리툴(500)은 이행원의 PLC(100)가 가지고 있던 라이센스 키(1200)로부터 무효화 키를 생성하여, 무효화 키를 이행원의 PLC(101)에 등록한다.
도 1에 나타내는 라이센스 확인부(140)는, PLC(100)가 애플리케이션 프로그램(1100)의 실행에 필요한 라이센스 키(1200)를 가지고 있는지 여부를 확인한다.
구체적으로는, 라이센스 확인부(140)는, 도 4에 나타내는 라이센스 키 기억부(120)에 애플리케이션 프로그램(1100)에 대응하는 라이센스 키(1200)가 존재하는지 여부를 판별한다. 라이센스 확인부(140)는 라이센스 키 기억부(120)에 라이센스 키(1200)가 존재하는 경우, 라이센스 키(1200)의 장치 ID(1200b)의 값이, 메모리(11)에 격납되어 있는 PLC(100)의 식별자와 일치하는지 여부에 따라서, 라이센스 키(1200)가 유효인지 여부를 판별한다. 라이센스 확인부(140)는 라이센스 키(1200)가 유효하게 존재하는지 여부를 프로그램 실행부(160)에 통지한다. 라이센스 확인부(140)의 기능은, 도 2에 나타내는 MPU(13)에 의해 실현된다.
도 1에 나타내는 라이센스 송수신부(150)는, 라이센스 관리툴(500)로부터 라이센스 키(1200)를 수신하고, 그 라이센스 키(1200)가 등록 가능한지 판별한다. 라이센스 송수신부(150)는 공급된 라이센스 키(1200)가 등록 가능하다고 판별했을 경우, 그 라이센스 키(1200)를 라이센스 키 기억부(120)에 격납한다.
구체적으로는, 라이센스 송수신부(150)는 수신한 라이센스 키(1200)의 무효화 플래그(1200d)를 제외한 부분이 일치하는 무효화 키가, 무효화 키 기억부(130)에 격납되어 있는지 여부를 판별한다. 라이센스 송수신부(150)는 무효화 플래그(1200d)를 제외한 부분이 일치하는 무효화 키를 가지지 않은 경우에는, 라이센스 키(1200)를 라이센스 키 기억부(120)에 격납한다. 한편, 라이센스 송수신부(150)는 무효화 플래그(1200d)를 제외한 부분이 일치하는 무효화 키를 가지고 있는 경우에는, 라이센스 키(1200)를 라이센스 키 기억부(120)에 격납하지 않는다.
또한, 라이센스 송수신부(150)는 라이센스 키(1200)의 신규 발행시 및 이행시에, 라이센스 관리툴(500)로부터 PLC(100)의 식별자가 요구되면, PLC(100)의 식별자를 라이센스 관리툴(500)에 송신한다. 라이센스 키(1200)의 첫회 발행시에는, 라이센스 관리 서버(600)가 장치 ID(1200b)로서 PLC(100)의 식별자를 라이센스 키(1200)에 세트한다. 또, 라이센스 키(1200)의 이행시에는, 라이센스 관리툴(500)이 장치 ID(1200b)로서 PLC(100)의 식별자를 라이센스 키(1200)에 세트한다. 라이센스 송수신부(150)는 본 발명의 식별자 송신 수단의 일례이다.
라이센스 송수신부(150)는 라이센스 키(1200)의 이행시에 라이센스 관리툴(500)로부터 보유하는 라이센스에 관한 데이터가 요구되면, 라이센스 키 기억부(120)에 격납되어 있는 라이센스 키(1200)의 값의 일람을 라이센스 관리툴(500)에 송신한다.
또한, 라이센스 송수신부(150)는 라이센스 관리툴(500)로부터 라이센스 키(1200)의 취출이 요구되면, 지정된 라이센스 키(1200)를 라이센스 키 기억부(120)로부터 취출하고, 그 라이센스 키(1200)를 라이센스 관리툴(500)에 송신한다. 따라서, 취출된 라이센스 키(1200)는 라이센스 키 기억부(120) 내에 기억되지 않게 된다.
라이센스 송수신부(150)는 라이센스 키(1200)의 이행시에, 라이센스 관리툴(500)로부터 무효화 키가 공급되면, 무효화 키를 무효화 키 기억부(130)에 격납한다. 라이센스 송수신부(150)의 기능은, 도 2에 나타내는 MPU(13)가 라이센스 관리 프로그램(111)을 실행함으로써 실현된다.
도 1에 나타내는 프로그램 실행부(160)는, 애플리케이션 프로그램(1100)을 실행한다. 프로그램 실행부(160)는 애플리케이션 프로그램(1100)을 실행하는데 앞서, 애플리케이션 프로그램(1100)에 대응하는 라이센스 키(1200)가 유효하게 존재하는지 여부를 라이센스 확인부(140)에 문의한다. 프로그램 실행부(160)는 라이센스 확인부(140)로부터의 응답에 기초하여 라이센스 키(1200)가 유효하게 존재한다고 판별한 경우에, 프로그램 기억부(110)에 격납되어 있는 애플리케이션 프로그램(1100)을 실행한다. 프로그램 실행부(160)의 기능은 도 2에 나타내는 MPU(13)에 의해 실현된다.
이어서, 도 1에 나타내는 라이센스 관리툴(500)의 기능 구성을 설명한다. 라이센스 관리툴(500)은 기능적으로는, 구입 완료한 애플리케이션 프로그램(1100)에 관한 데이터를 기억하는 구입 데이터 기억부(510)와, 신규의 라이센스 키(1200)를 PLC(100)에 등록하는 라이센스 등록부(520)와, 라이센스 키(1200)를 이행하는 라이센스 이행부(530)를 포함한다.
구입 데이터 기억부(510)는 유저가 구입 완료한 애플리케이션 프로그램(1100)을 특정하기 위해, 구입 완료한 애플리케이션 프로그램(1100)을 특정하는 애플리케이션 ID와 애플리케이션명을 기억한다. 구입 데이터 기억부(510)의 기능은, 도 2에 나타내는 메모리(51)에 의해 실현된다.
도 1에 나타내는 라이센스 등록부(520)는, 유저로부터 라이센스 키(1200)의 신규 발행의 지시를 접수하면, 라이센스 관리 서버(600)에 라이센스 키(1200)의 발행을 요구하는 발행 요구를 송신한다. 라이센스 등록부(520)는 라이센스 관리 서버(600)로부터 라이센스 키(1200)가 발행되면, 라이센스 키(1200)를 PLC(100)에 송신한다.
구체적으로는, 우선, 라이센스 등록부(520)는 구입 데이터 기억부(510)에 격납되어 있는 구입 완료한 애플리케이션 프로그램(1100)의 애플리케이션명의 일람을 도 2에 나타내는 표시 장치(55)에 표시한다. 유저가 애플리케이션을 선택하면, 라이센스 등록부(520)는 접속되어 있는 PLC(100)에 그 식별자를 요구하여, PLC(100)로부터 식별자를 취득한다. 라이센스 등록부(520)는 라이센스 발행 요구를 라이센스 관리 서버(600)에 송신한다. 라이센스 발행 요구에는 PLC(100)의 유저를 식별하는 유저 ID와, PLC(100)로부터 수신한 PLC(100)의 식별자와, 유저가 지정하는 애플리케이션 프로그램(1100)을 특정하는 애플리케이션 ID가 포함되어 있다. 라이센스 등록부(520)는 라이센스 관리 서버(600)로부터 라이센스 키(1200)를 수신하면, 수신한 라이센스 키(1200)를 PLC(100)에 송신한다.
한편, 라이센스 등록부(520)는 라이센스 관리 서버(600)로부터 라이센스 키(1200)를 발행을 할 수 없다는 취지의 통지를 받으면, 라이센스 키(1200)의 등록에 실패한 것을 유저에게 통지한다. 예를 들면, 라이센스 등록부(520)는, 도 2에 나타내는 표시 장치(55)에 라이센스 키(1200)의 등록에 실패했다는 취지의 메시지를 표시한다. 라이센스 등록부(520)의 기능은, 도 2에 나타내는 CPU(56)가, 라이센스 관리 프로그램(511)을 실행함으로써 실현된다.
도 1에 나타내는 라이센스 이행부(530)는, 유저로부터 라이센스 키(1200)의 이행의 지시를 접수하면, 접속되어 있는 이행원의 PLC(100)로부터 라이센스 키(1200)를 취득한다. 라이센스 이행부(530)는 이행처의 PLC(100)에 접속되면, 이행처의 PLC(100)로부터 식별자를 취득하고, 그 식별자를 포함하는 새로운 라이센스 키(1200)를 재생성하여, 이행처의 PLC(100)에 새로운 라이센스 키(1200)를 공급한다. 라이센스 이행부(530)의 기능은, 도 2에 나타내는 CPU(56)가, 라이센스 관리 프로그램(511)을 실행함으로써 실현된다.
라이센스 이행부(530)는 키 취득부(531)와, 식별자 취득부(532)와, 재생성부(533)와, 무효화 키 생성부(534)를 포함한다.
키 취득부(531)는, 유저가 라이센스 관리툴(500)과 이행원의 PLC(100)를 접속하고, 라이센스 키(1200)의 이행의 지시를 내리면, 우선, 이행원의 PLC(100)가 보유하는 라이센스 키(1200)에 대한 정보를 이행원의 PLC(100)에 요구한다. 키 취득부(531)는 이행원의 PLC로부터 수신한 라이센스 키(1200)에 대한 정보를 유저에게 제시한다. 키 취득부(531)는 유저로부터 지정된 라이센스 키(1200)의 취출을 이행원의 PLC(100)에 요구한다. 키 취득부(531)는 이행원의 PLC(100)로부터 라이센스 키(1200)를 취득하면, 라이센스 키(1200)를 재생성부(533)에 공급한다. 키 취득부(531)는 본 발명의 키 취득 수단의 일례이다.
식별자 취득부(532)는 유저가 라이센스 관리툴(500)과 이행처의 PLC(100)를 접속하면, 이행처의 PLC(100)에 식별자를 요구한다. 식별자 취득부(532)는 이행처의 PLC(100)로부터 식별자를 취득하면, 식별자를 재생성부(533)에 공급한다. 식별자 취득부(532)는 본 발명의 식별자 취득 수단의 일례이다.
재생성부(533)는 키 취득부(531)가 이행원의 PLC(100)로부터 라이센스 키(1200)를 취득하면, 라이센스 키(1200)를 재생성하기 전에, 무효화 키의 생성을 무효화 키 생성부(534)에 지시한다. 재생성부(533)는 무효화 키 생성부(534)가 무효화 키를 생성한 후, 라이센스 키(1200)를 재생성한다. 재생성부(533)는 본 발명의 재생성 수단의 일례이다.
재생성부(533)는 키 취득부(531)가 이행원의 PLC(100)로부터 취득한 라이센스 키(1200)로부터, 장치 ID(1200b)로서 세트되어 있는 이행원의 PLC(100)의 식별자를 삭제한다. 재생성부(533)는 그 라이센스 키(1200)의 장치 ID(1200b)로서, 이행처의 PLC(100)의 식별자를 세트한다. 또한, 재생성부(533)는 라이센스 키(1200)의 이행 카운터(1200c)의 값을 1개 증가시킨다. 이와 같이 하여, 재생성부(533)는 라이센스 키(1200)를 재생성한다. 재생성부(533)는 재생성한 라이센스 키(1200)를 이행처의 PLC(100)에 송신한다.
그 후, 재생성부(533)는 이행한 라이센스 키의 정보를 라이센스 관리 서버(600)에 송신한다. 이행한 라이센스 키의 정보는, PLC(100)의 유저를 식별하는 유저 ID와, 이행처의 PLC(100)에 송신한 라이센스 키(1200)와, 이행처의 PLC(100)의 식별자를 포함한다.
무효화 키 생성부(534)는 재생성부(533)로부터 지시되면 무효화 키를 생성한다. 우선, 무효화 키 생성부(534)는 이행원의 라이센스 키(1200)를 복제하고, 복제한 키의 무효화 플래그(1200d)에 "1"을 세트하여, 무효화 키를 생성한다. 무효화 키 생성부(534)가 생성한 무효화 키는, 이행원의 PLC(100)가 가지고 있던 라이센스 키(1200)와, 무효화 플래그(1200d)의 값만이 다르다. 무효화 키 생성부(534)는 무효화 키를 이행원의 PLC(100)에 송신한다. 무효화 키 생성부(534)는 본 발명의 무효화 키 생성 수단의 일례이다.
PLC(101)가 가지는 라이센스 키(1200)를 PLC(102)로 이행하는 경우에는, 이행원의 PLC(101)는 본 발명의 제1 장치의 일례이며, 이행처의 PLC(102)는 본 발명의 제2 장치의 일례이다. 이행원의 PLC(101)의 식별자는 본 발명의 제1 식별자의 일례이며, 이행처의 PLC(102)의 식별자는 본 발명의 제2 식별자의 일례이다.
이어서, 라이센스 관리 서버(600)의 기능 구성을 설명한다. 라이센스 관리 서버(600)는, 기능적으로는, 애플리케이션 프로그램에 관한 데이터를 기억하는 애플리케이션 데이터 기억부(610)와, 라이센스에 관한 데이터를 기억하는 라이센스 데이터 기억부(620)와, 라이센스 키(1200)를 발행하는 라이센스 관리부(630)를 포함한다.
애플리케이션 데이터 기억부(610)는, 도 6에 나타내는 것 같은 애플리케이션 적합 테이블(610a)을 격납한다. 애플리케이션 적합 테이블(610a)은 PLC(100)의 기종 마다의 각 애플리케이션 프로그램(1100)의 실행 가부의 대응을 나타내는 데이터를 기억한다. 도시하는 예에서는, 애플리케이션 적합 테이블(610a)은 PLC(100)의 기종에 따라 각 애플리케이션 프로그램(1100)의 실행이 가능(OK)인지, 실행이 불가(NG)인지를 나타내는 값을 기억한다. 예를 들면, "TYPE2"의 PLC(100)는 "애플리케이션 1001"과 "애플리케이션 1004"를 실행할 수 있고, 그 외의 애플리케이션 프로그램(1100)을 실행할 수 없다. 예를 들면, 애플리케이션 프로그램을 개발·판매하는 메이커에 있어서 라이센스 관리 서버(600)를 관리하는 관리자가, 애플리케이션 적합 테이블(610a)을 애플리케이션 데이터 기억부(610)에 격납한다. 애플리케이션 데이터 기억부(610)의 기능은, 도 2에 나타내는 메모리(61)에 의해 실현된다.
도 1에 나타내는 라이센스 데이터 기억부(620)는, 도 7에 나타내는 것 같은 구입 라이센스 테이블(620a)을 격납한다. 구입 라이센스 테이블(620a)은 유저마다의, 라이센스의 구입수 및 사용수를 나타내는 데이터를 기억한다. 도시하는 예에서는, 구입 라이센스 테이블(620a)은 유저를 특정하는 식별자인 유저 ID와, 애플리케이션 프로그램(1100)을 특정하는 애플리케이션 ID와, 유저가 구입한 라이센스수를 나타내는 구입 라이센스와, PLC(100)에 등록된 라이센스수를 나타내는 사용 라이센스를 포함한다.
예를 들면, 유저 ID가 "2019002"인 유저는, "애플리케이션 1001"을 3 라이센스 구입하고 있지만, 구입한 모든 라이센스분의 애플리케이션 프로그램(1100)을 사용하고 있지 않다. 또한, 이 유저는 "애플리케이션 1002"를 1 라이센스, "애플리케이션 1003"을 4 라이센스 구입하고 있고, 구입한 모든 라이센스분의 애플리케이션 프로그램(1100)을 사용하고 있다.
또한, 도 1에 나타내는 라이센스 데이터 기억부(620)는, 도 8에 나타내는 것 같은 라이센스 등록 테이블(620b)을 격납한다. 라이센스 등록 테이블(620b)은 PLC(100)에 발행된 라이센스 키(1200)에 관한 데이터를 기억한다. 라이센스 등록 테이블(620b)은 유저와 애플리케이션 프로그램(1100)의 조합마다, PLC(100)에 발행된 라이센스 키(1200)를 특정하는 데이터를 기억한다.
도시하는 예에서는, 라이센스 등록 테이블(620b)은 유저를 특정하는 식별자인 유저 ID와, 애플리케이션 프로그램(1100)을 특정하는 애플리케이션 ID와, 발행된 라이센스 키와, PLC(100)의 식별자를 포함한다.
예를 들면, 애플리케이션 프로그램을 개발·판매하는 메이커에 있어서 라이센스 관리 서버(600)를 관리하는 관리자가, 구입 라이센스 테이블(620a) 및 라이센스 등록 테이블(620b)을 라이센스 데이터 기억부(620)에 격납한다. 라이센스 데이터 기억부(620)의 기능은, 도 2에 나타내는 메모리(61)에 의해 실현된다.
도 1에 나타내는 라이센스 관리부(630)는, 라이센스 관리툴(500)로부터 라이센스 발행 요구를 수신하면, 라이센스 키(1200)를 발행한다.
우선, 라이센스 관리부(630)는 라이센스 발행의 가부를 판별한다. 구체적으로는, 라이센스 관리부(630)는 애플리케이션 적합 테이블(610a)을 참조하여, 수신한 라이센스 발행 요구에 포함되어 있는 PLC(100)의 식별자로부터 특정되는 PLC(100)의 기종이, 지정된 애플리케이션 프로그램(1100)을 실행할 수 있는지 여부를 판별한다. PLC(100)의 기종을 나타내는 정보는, PLC(100)의 식별자인 시리얼 코드에 포함되어 있고, 이 정보로부터 라이센스 관리부(630)는 PLC(100)의 기종을 특정할 수 있다.
이어서, 라이센스 관리부(630)는 구입 라이센스 테이블(620a)을 참조하여, 라이센스 발행 요구에 포함되는 유저 ID를 가지는 유저가, 지정된 애플리케이션 프로그램(1100)의 라이센스를 구입 완료했는지 여부를 판별한다. 유저가 라이센스를 구입 완료한 경우, 라이센스 관리부(630)는 미사용 라이센스가 있는지 여부를 판별한다.
라이센스 관리부(630)는 유저가 라이센스를 구입 완료하고, 또한 미사용 라이센스가 있는 경우, 라이센스 키(1200)의 발행이 가능하다고 판별한다. 따라서, 라이센스 관리부(630)는, 도 5에 나타내는 것 같은 라이센스 키(1200)를 생성한다.
라이센스 관리부(630)는, 예를 들면, 유저 ID를 시드로 하여 난수를 생성하고, 생성한 난수에 애플리케이션 ID를 부가한 값을, 라이센스 코드(1200a)에 세트한다. 라이센스 관리부(630)는 장치 ID(1200b)에 라이센스 발행 요구에 포함되어 있는 PLC(100)의 식별자를 세트한다. 라이센스 관리부(630)는 이행 카운터(1200c)에는, 초기값, 예를 들면, "0"을 세트한다. 라이센스 관리부(630)는 무효화 플래그(1200d)에, 라이센스 키(1200)가 유효한 키인 것을 나타내는 값으로서, "0"을 세트한다. 라이센스 관리부(630)는 이와 같이 하여 생성한 라이센스 키(1200)를 라이센스 관리툴(500)에 송신한다.
그 후, 라이센스 관리부(630)는 라이센스 등록 테이블(620b)에, 라이센스 발행 요구에 포함되어 있던 유저 ID, 애플리케이션 ID, 및 PLC(100)의 식별자와, 발행한 라이센스 키(1200)를 등록한다.
한편, 라이센스 관리부(630)는 PLC(100)의 기종이, 지정된 애플리케이션 프로그램(1100)을 실행할 수 없거나, 혹은 유저가 라이센스를 구입 완료한 것이 아니거나, 혹은 미사용 라이센스가 없는 경우, 라이센스 키(1200)의 발행이 불가능하다고 판별한다. 이 경우, 라이센스 관리부(630)는 라이센스 관리툴(500)에 라이센스 키(1200)를 발행할 수 없다는 취지를 통지한다. 라이센스 관리부(630)의 기능은, 도 2에 나타내는 CPU(63)가 라이센스 관리 프로그램(611)을 실행함으로써 실현된다.
또, 라이센스 관리부(630)는 라이센스 관리툴(500)로부터 PLC(100)의 유저를 식별하는 유저 ID와, 이행처의 PLC(100)에 등록된 라이센스 키(1200)와, 이행처의 PLC(100)의 식별자를 수신하면, 라이센스 등록 테이블(620b)을 갱신한다. 구체적으로는, 라이센스 관리부(630)는 라이센스 등록 테이블(620b)의 데이터 중, 수신한 라이센스 키(1200)와 식별자에 의해 특정되는 데이터를, 수신한 라이센스 키(1200)와 PLC(100)의 식별자로 갱신한다. 그 후, 라이센스 관리부(630)는 라이센스 관리툴(500)에 라이센스 등록 테이블(620b)의 갱신이 완료됐다는 취지를 나타내는 갱신 완료 통지를 송신한다.
(라이센스 키의 첫 회의 등록)
이어서, 라이센스 키(1200)의 첫 회의 등록 처리를 설명한다. 우선, 유저는 통신 케이블(701)에 의해, 라이센스 관리툴(500)과 PLC(101)를 접속한다. 유저는 라이센스 관리툴(500)의 입력 장치(54)를 조작하여 메뉴 화면을 연다. 유저의 조작에 응답하여, CPU(56)는 표시 장치(55)에 도 9에 나타내는 것 같은 메뉴 화면을 표시한다. 여기서, 유저가 「라이센스 키의 등록」을 선택한 것으로 한다.
CPU(56)는 라이센스 관리 프로그램(511)을 실행함으로써, 라이센스 등록부(520)로서 기능한다. 도 10에 나타내는 것처럼, 우선, 라이센스 등록부(520)는 PLC(101)에 식별자를 요구한다(스텝 S11). 이것에 응답하여, PLC(101)의 라이센스 송수신부(150)가 식별자를 라이센스 관리툴(500)에 송신한 것으로 한다. 라이센스 등록부(520)는 PLC(101)로부터 식별자를 수신하면(스텝 S12), 도 11a에 나타내는 것 같은 애플리케이션 프로그램의 선택 화면을 표시한다. 여기서, 라이센스 등록부(520)는, 도 1에 나타내는 구입 데이터 기억부(510)에 격납되어 있는 구입 완료한 애플리케이션 프로그램(1100) 중 어느 것을 유저가 선택할 수 있는 화면을 표시한다. 여기서, 유저가 원하는 애플리케이션 프로그램을 선택하여, 「등록」버튼을 누른 것으로 한다.
따라서, 도 10에 나타내는 것처럼, 라이센스 등록부(520)는 애플리케이션 프로그램의 선택을 접수하고(스텝 S13), 라이센스 발행 요구를 라이센스 관리 서버(600)에 송신한다(스텝 S14). 라이센스 발행 요구에는 PLC(100)의 유저의 유저 ID와, PLC(100)의 식별자와, 애플리케이션 프로그램(1100)을 특정하는 애플리케이션 ID가 포함되어 있다.
그 후, 라이센스 등록부(520)는 라이센스 관리 서버(600)로부터, 라이센스 키(1200)를 수신했을 경우, 라이센스 발행이 성공했다고 판별한다(스텝 S15;Yes). 라이센스 등록부(520)는 라이센스 키(1200)를 PLC(101)에 송신하고(스텝 S16), 도 11b에 나타내는 것 같은, 등록 완료 화면을 표시한다.
한편, 라이센스 등록부(520)는 라이센스 관리 서버(600)로부터 라이센스 키(1200)를 발행할 수 없다는 취지의 통지를 수신했을 경우, 라이센스 발행이 실패했다고 판별하여(스텝 S15;No), 예를 들면, 도 11c에 나타내는 것 같은 화면을 표시하여 라이센스 발행이 실패했다는 취지를 통지한다(스텝 S17).
라이센스 키(1200)의 발행에 관한 라이센스 관리 서버(600) 측의 처리는 이하와 같다. 도 2에 나타내는 CPU(63)는, 라이센스 관리 프로그램(611)을 실행함으로써, 도 1에 나타내는 라이센스 관리부(630)로서 기능한다.
도 12에 나타내는 것처럼, 라이센스 관리부(630)는 라이센스 관리툴(500)로부터 라이센스 발행 요구를 수신하면(스텝 S21;Yes), 애플리케이션 적합 테이블(610a)을 참조하여, PLC(100)가 지정된 애플리케이션 프로그램(1100)을 실행할 수 있는지 여부를 판별한다(스텝 S22). 라이센스 관리부(630)는 PLC(100)가 지정된 애플리케이션 프로그램(1100)을 실행할 수 있다고 판별하면(스텝 S22;Yes), 스텝 S23의 처리를 실행한다.
한편, 라이센스 관리부(630)는, PLC(100)가 지정된 애플리케이션 프로그램(1100)을 실행할 수 없다고 판별하면(스텝 S22;No), 라이센스 발행이 실패했다는 취지를 라이센스 관리툴(500)에 통지한다(스텝 S27).
스텝 S23에서는, 라이센스 관리부(630)는 구입 라이센스 테이블(620a)을 참조하여, PLC(100)의 유저가 그 애플리케이션 프로그램(1100)의 사용 가능한 라이센스를 가지고 있는지 여부를 판별한다(스텝 S23). 라이센스 관리부(630)는 PLC(100)의 유저가, 그 애플리케이션 프로그램(1100)의 사용 가능한 라이센스를 가지고 있다고 판별하면(스텝 S23;Yes), 라이센스 키(1200)를 생성한다(스텝 S24).
라이센스 관리부(630)는 생성한 라이센스 키(1200)를 라이센스 관리툴(500)에 송신한다(스텝 S25). 그 후, 라이센스 관리부(630)는 라이센스 키(1200)의 정보를, 도 8에 나타내는 라이센스 등록 테이블(620b)에 등록한다(스텝 S26).
한편, 라이센스 관리부(630)는 PLC(100)의 유저가, 애플리케이션 프로그램(1100)을 구입하고 있지 않거나, 혹은 구입하고 있는 것이만, 모든 라이센스를 사용 중인 경우에는(스텝 S23;No), 라이센스 발행이 실패했다는 취지를 라이센스 관리툴(500)에 통지한다(스텝 S27). 이상이, 라이센스의 첫 회의 등록시에 있어서의 라이센스 관리 서버(600) 측의 처리이다.
(라이센스 키의 이행)
이어서, 라이센스 키(1200)의 이행 처리를 설명한다. 이하의 설명에 있어서는, PLC(101)가 가지는 라이센스 키(1200)를 PLC(102)로 이행하는 예를 설명한다. 유저는 통신 케이블(701)에 의해, 라이센스 관리툴(500)과 이행원의 PLC(101)를 접속한다. 덧붙여, 라이센스 관리툴(500)은 네트워크(702)를 통해서, 라이센스 관리 서버(600)에 접속되어 있을 필요는 없다.
유저는 라이센스 관리툴(500)의 입력 장치(54)를 조작하여 메뉴 화면을 연다. 유저의 조작에 응답하여, CPU(56)는 표시 장치(55)에 도 9에 나타내는 것 같은 메뉴 화면을 표시한다. 여기서, 유저가 「라이센스 키의 이행」을 선택한 것으로 한다. CPU(56)는 라이센스 관리 프로그램(511)을 실행함으로써, 도 1에 나타내는 라이센스 이행부(530)로서 기능한다.
도 13에 나타내는 것처럼, 라이센스 이행부(530)는 이행원의 PLC(101)에 라이센스 등록에 대한 정보를 요구한다(스텝 S31). 이것에 응답하여, PLC(101)의 라이센스 송수신부(150)는 라이센스 등록의 정보로서, 라이센스 키 기억부(120)에 격납되어 있는 라이센스 키(1200)의 값의 일람과, PLC(101)의 식별자를 라이센스 관리툴(500)에 송신한다. 라이센스 이행부(530)는 라이센스 등록에 대한 정보를 수신하면(스텝 S32), 수신한 데이터에 기초하여, 도 15a에 나타내는 것 같은, 이행하는 애플리케이션 프로그램의 선택 화면을 표시한다.
유저가 라이센스를 이행하는 애플리케이션 프로그램(1100)을 선택하면(스텝 S33;Yes), 라이센스 이행부(530)는 선택된 애플리케이션 프로그램(1100)의 라이센스 키(1200)의 취출을 이행원의 PLC(101)에 요구한다(스텝 S34). 이것에 응답하여, PLC(101)의 라이센스 송수신부(150)가 지정된 라이센스 키(1200)를 취출하여, 라이센스 키(1200)를 라이센스 관리툴(500)에 송신한 것으로 한다.
라이센스 이행부(530)는 이행원의 PLC(101)로부터 라이센스 키(1200)를 수신하면(스텝 S35;Yes), 수신한 라이센스 키(1200)를 카피하고, 카피한 라이센스 키(1200)의 무효화 플래그(1200d)에 "1"을 세트하여, 무효화 키를 생성한다.(스텝 S36).
라이센스 이행부(530)는 무효화 키를 이행원의 PLC(101)에 송신한다(스텝 S37). 이것에 응답하여, PLC(101)의 라이센스 송수신부(150)는 수신한 무효화 키를 무효화 키 기억부(130)에 격납한다. 그 후, 라이센스 이행부(530)는 스텝 S38의 처리를 실행한다.
도 14에 나타내는 것처럼, 라이센스 이행부(530)는 유저에게 접속의 전환을 지시한다(스텝 S38). 라이센스 이행부(530)는, 도 15b에 나타내는 것 같은 화면을 표시하여, 이행처의 PLC(102)에 접속하는 것을 지시한다. 유저가 이행원의 PLC(101)로부터 통신 케이블(701)을 분리시키고, 라이센스 관리툴(500)과 PLC(101)의 접속을 끊고, 그 후, 통신 케이블(701)을 이행처의 PLC(102)에 접속한 것으로 한다. 따라서, 라이센스 관리툴(500)은 이행처의 PLC(102)와 통신 가능해진다.
도 14에 나타내는 것처럼, 라이센스 이행부(530)는 이행처의 PLC(102)에 식별자를 요구한다(스텝 S39). 이것에 응답하여, PLC(102)의 라이센스 송수신부(150)는 식별자를 라이센스 관리툴(500)에 송신한다.
라이센스 이행부(530)는 이행처의 PLC(102)로부터 식별자를 수신하면(스텝 S40), 이행원의 PLC(101)로부터 수신한 라이센스 키(1200)로부터 새로운 라이센스 키(1200)를 재생성한다(스텝 S41). 구체적으로는, 라이센스 이행부(530)는, 도 5에 나타내는 것 같은, 라이센스 키(1200)의 장치 ID(1200b)로서 세트되어 있는 이행원의 PLC(101)의 식별자를 삭제하고, 이행처의 PLC(102)로부터 취득한 식별자를 새로운 장치 ID(1200b)로서 라이센스 키(1200)에 세트한다. 또한, 라이센스 이행부(530)는 라이센스 키(1200)의 이행 카운터(1200c)의 값을 1개 증가시킨다.
도 14에 나타내는 것처럼, 라이센스 이행부(530)는 재생성한 라이센스 키(1200)를 이행처의 PLC(102)에 송신한다(스텝 S42). 이것에 응답하여, PLC(102)의 라이센스 송수신부(150)는, 수신한 라이센스 키(1200)를 라이센스 키 기억부(120)에 기억한다.
라이센스 키(1200)의 이행이 완료되면, 도 16a에 나타내는 것처럼, 라이센스 이행부(530)는 라이센스 키의 정보를 라이센스 관리 서버(600)에 송신한다(스텝 S51). 라이센스 키의 정보는 PLC(100)의 유저를 식별하는 유저 ID와, 이행처의 PLC(102)에 송신한 라이센스 키(1200)와, PLC(102)의 식별자를 포함한다. 라이센스 이행부(530)는 라이센스 관리 서버(600)로부터, 갱신 완료 보고를 수신하면(스텝 S52), 도 15c에 나타내는 것 같은 이행 완료 화면을 표시한다.
도 16b에 나타내는 것처럼, 라이센스 관리 서버(600)의 라이센스 관리부(630)는 라이센스 관리툴(500)로부터 라이센스 키의 정보를 수신하면(스텝 S61), 라이센스 등록 테이블(620b)의 데이터를 갱신한다(스텝 S62). 구체적으로는, 라이센스 관리부(630)는 라이센스 등록 테이블(620b)의 데이터 중, 수신한 유저 ID에 의해 특정되는 데이터를, 수신한 라이센스 키(1200)와 식별자로 갱신한다. 그 후, 라이센스 관리부(630)는 라이센스 관리툴(500)에 라이센스 등록 테이블(620b)의 갱신이 완료됐다는 취지를 나타내는 갱신 완료 통지를 송신한다(스텝 S63).
이상 설명한 것처럼, 실시 형태에 따른 구성에 있어서는, 라이센스 관리툴(500)이 외부 네트워크에 접속되어 있지 않은 2 이상의 PLC(100)의 사이에서 라이센스 키(1200)를 이행한다. 라이센스 관리툴(500)은 이행원의 PLC(101)로부터 취득한 라이센스 키(1200)로부터 PLC(101)의 식별자를 삭제하고, 이행처의 PLC(102)의 식별자를 라이센스 키(1200)에 세트함으로써, 라이센스 키(1200)를 재생성하여, 새로운 라이센스 키(1200)를 이행처의 PLC(102)에 공급한다. 이러한 구성을 구비함으로써, 라이센스 관리툴(500)은 라이센스 관리 서버와 통신할 수 없는 스탠드얼론의 장치 사이에서 라이센스를 이행할 수 있다.
실시 형태에 있어서는, 라이센스 송수신부(150)가 수신한 라이센스 키(1200)의 무효화 플래그(1200d)를 제외한 부분이 일치하는 무효화 키가, 무효화 키 기억부(130)에 격납되어 있는 경우에, 라이센스 키(1200)를 접수하지 않는 예를 설명했다. 그러나, 이것에 한정되지 않는다.
예를 들면, 라이센스 관리툴(500)은 PLC(100)가 무효화 키를 가지고 있는 경우에는, PLC(100)에 라이센스 키(1200)를 송신하지 않도록 해도 된다. 구체적으로는, 라이센스 관리툴(500)의 재생성부(533)가, 재생성한 라이센스 키(1200)를 이행처의 PLC(100)에 송신하기 전에, PLC(100)에 PLC(100)가 가지고 있는 무효화 키를 요구해도 된다. 이것에 응답하여, PLC(100)는 무효화 키 기억부(130)에 격납되어 있거나 무효화 키의 값의 일람을 라이센스 관리툴(500)에 송신하는 것으로 한다. 재생성부(553)는 PLC(100)로부터 수신한 무효화 키 중, 재생성한 라이센스 키(1200)의 무효화 플래그(1200d)를 제외한 부분이 일치하는 무효화 키가 존재하는 경우에는, 재생성한 라이센스 키(1200)를, 이행처의 PLC(100)에 송신하지 않도록 해도 된다.
실시 형태에 있어서는, 라이센스 관리툴(500)은 이행처의 PLC(100)에 새로운 라이센스 키(1200)를 공급하기 전에, 이행원의 PLC(100)에 무효화 키를 송신하는 예를 설명했지만, 이것에 한정되지 않는다.
예를 들면, 라이센스 관리툴(500)은 이행원의 PLC(100)로부터 라이센스 키(1200)를 취득하여, 라이센스 키(1200)를 카피한다. 혹은, 라이센스 키(1200)로부터 무효화 키를 생성한다. 라이센스 관리툴(500)은 PLC(100)의 접속의 전환이 행해진 후, 새로운 라이센스 키(1200)를 생성하여, 이행처의 PLC(100)에 새로운 라이센스 키(1200)를 송신한다. 그 후, 유저에 의해, 재차, 라이센스 관리툴(500)과 이행처의 PLC(100)가 접속되면, 라이센스 관리툴(500)은 무효화 키를 이행원의 PLC(100)에 송신한다. 이 경우, 이행처의 PLC(100)로의 라이센스 키(1200)의 등록이 완료된 후에, 이행원의 PLC(100)에 무효화 키를 제공하므로, 만일, 새로운 라이센스 키(1200)의 이행처의 PLC(100)로의 등록이 실패했을 경우에는, 이행원의 PLC(100)에 재차 라이센스 키(1200)를 되돌리는 것도 가능하다.
실시 형태에서는, 이행원의 PLC(101)의 식별자가 제1 식별자로서, 라이센스 키(1200)에 포함되어 있고, 새롭게 라이센스 키(1200)를 생성하는 경우에는, 라이센스 키(1200)로부터 이행원의 PLC(101)의 식별자를 취출하고, 그 후, 이행처의 PLC(102)의 식별자가 제2 식별자로서 라이센스 키(1200)에 추가하는 예를 설명했다. 그러나, 제1 식별자, 제2 식별자로서, 이행원의 PLC(100)의 식별자, 이행처의 PLC(100)의 식별자 이외를 사용해도 된다. 예를 들면, PLC(101)의 식별자로부터 생성한 해시값을 제1 식별자로 해도 되고, PLC(102)의 식별자로부터 생성한 해시값을 제2 식별자로 해도 된다.
실시 형태에 있어서는, 라이센스 관리툴(500)은 라이센스 키(1200)의 이행의 처리에 이어서, 도 16a에 나타내는 라이센스 정보 갱신 처리를 실행했지만, 이것에 한정되지 않는다. 예를 들면, 라이센스 관리툴(500)은 라이센스 정보 갱신 처리를, 라이센스 키(1200)의 이행의 처리와는 별개로 실행해도 된다. 예를 들면, 라이센스 관리툴(500)이 네트워크(702)에 상시 접속되어 있지 않은 경우가 있다. 이러한 경우에는, 라이센스 관리툴(500)은 네트워크(702)에 접속되면, 도 16a에 나타내는 라이센스 정보 갱신 처리를 실행하도록 해도 된다.
실시 형태에 있어서는, 라이센스 관리툴(500)이 통신 케이블(701)을 통해서 PLC(100)와 통신하는 예를 설명했지만, 라이센스 관리툴(500)과 PLC(100)는 무선 통신을 행해도 된다.
상기의 프로그램을 기록하는 기록 매체로서는, 자기 디스크, 광 디스크, 광 자기 디스크, 플래시 메모리, 반도체 메모리, 자기 테이프를 포함하는 컴퓨터 판독 가능한 기록 매체를 사용할 수 있다.
본 발명은 광의의 정신과 범위를 일탈하는 일 없이, 다양한 실시 형태 및 변형이 가능하게 되는 것이다. 또, 상술한 실시 형태는 본 발명을 설명하기 위한 것이며, 본 발명의 범위를 한정하는 것은 아니다. 즉, 본 발명의 범위는 실시 형태가 아니고, 청구 범위에 의해서 나타내진다. 그리고, 청구 범위 내 및 그것과 동등한 발명의 의의의 범위 내에서 실시되는 다양한 변형이, 본 발명의 범위 내로 간주된다.
1: 라이센스 관리 시스템 11, 51, 61: 메모리
12, 52: 입출력 인터페이스 13: MPU
19, 59, 69: 버스 53, 62: 통신 인터페이스
54: 입력 장치 55: 표시 장치
56, 63: CPU
101, 102(100): 프로그래머블 로직 컨트롤러(PLC)
110: 프로그램 기억부 111: 라이센스 관리 프로그램
120: 라이센스 키 기억부 130: 무효화 키 기억부
140: 라이센스 확인부 150: 라이센스 송수신부
160: 프로그램 실행부 500: 라이센스 관리툴
510: 구입 데이터 기억부 511: 라이센스 관리 프로그램
520: 라이센스 등록부 530: 라이센스 이행부
531: 키 취득부 532: 식별자 취득부
533: 재생성부 534: 무효화 키 생성부
600: 라이센스 관리 서버 610: 애플리케이션 데이터 기억부
610a: 애플리케이션 적합 테이블 611: 라이센스 관리 프로그램
620: 라이센스 데이터 기억부 620a: 구입 라이센스 테이블
620b: 라이센스 등록 테이블 630: 라이센스 관리부
701: 통신 케이블 702: 네트워크
1101~1103(1100): 애플리케이션 프로그램
1201~1203(1200): 라이센스 키 1200a: 라이센스 코드
1200b: 장치 ID 1200c: 이행 카운터
1200d: 무효화 플래그

Claims (10)

  1. 애플리케이션 프로그램의 사용이 허락되어 있는 것을 나타내는 라이센스 키를, 외부 네트워크에 접속되어 있지 않은 2 이상의 장치의 사이에서 이행하는 라이센스 이행 툴로서,
    상기 라이센스 키는 상기 라이센스 키가 등록되어 있는 장치를 식별하는 식별자를 포함하고,
    라이센스의 이행원인 상기 장치인 제1 장치로부터, 상기 라이센스 키를 취득하는 키 취득 수단과,
    라이센스의 이행처인 상기 장치인 제2 장치로부터, 상기 제2 장치를 식별하는 제2 식별자를 취득하는 식별자 취득 수단과,
    상기 제1 장치로부터 취득한 상기 라이센스 키로부터, 상기 제1 장치를 식별하는 제1 식별자를 삭제하고, 상기 제2 장치의 상기 제2 식별자를 상기 식별자로서 추가하여, 새로운 상기 라이센스 키를 생성하고, 상기 제2 장치에 새로운 상기 라이센스 키를 공급하는 재생성 수단을 구비하는, 라이센스 이행 툴.
  2. 청구항 1에 있어서,
    상기 라이센스 키는 상기 애플리케이션 프로그램의 1 라이센스마다 할당된 식별 코드와, 상기 라이센스 키가 등록되어 있는 상기 장치를 식별하는 상기 식별자와, 상기 라이센스 키의 이행 횟수를 나타내는 정보를 포함하는, 라이센스 이행 툴.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 라이센스 키를 가지는 상기 제2 장치는, 상기 라이센스 키에 포함되는 상기 식별자가, 상기 제2 장치를 식별하는 상기 제2 식별자와 일치하는 경우에, 상기 애플리케이션 프로그램을 실행하는, 라이센스 이행 툴.
  4. 청구항 1에 있어서,
    상기 재생성 수단이 새로운 상기 라이센스 키를 상기 제2 장치에 공급한 후에, 상기 제1 장치에 상기 라이센스 키를 재차 등록할 수 없음을 나타내는 무효화 키를 생성하고, 상기 제1 장치에 상기 무효화 키를 공급하는 무효화 키 생성 수단을 구비하는, 라이센스 이행 툴.
  5. 청구항 4에 있어서,
    상기 무효화 키 생성 수단은 상기 제1 장치로부터 취득한 상기 라이센스 키를 복제하고, 복제한 키에, 그 키가 무효라는 것을 나타내는 값을 설정하여, 상기 무효화 키를 생성하는, 라이센스 이행 툴.
  6. 청구항 4 또는 청구항 5에 있어서,
    상기 제2 장치는 상기 무효화 키를 가지고 있는 경우, 상기 무효화 키와 대응하는 상기 라이센스 키를 접수하지 않는, 라이센스 이행 툴.
  7. 청구항 4 또는 청구항 5에 있어서,
    상기 재생성 수단은 상기 제2 장치가 새로운 상기 라이센스 키에 대응하는 상기 무효화 키를 가지고 있는 경우, 새로운 상기 라이센스 키를 상기 제2 장치에 공급하지 않는, 라이센스 이행 툴.
  8. 청구항 1 또는 청구항 2에 있어서,
    상기 장치는 프로그래머블 로직 컨트롤러인, 라이센스 이행 툴.
  9. 애플리케이션 프로그램의 사용이 허락되어 있는 것을 나타내는 라이센스 키를, 외부 네트워크에 접속되어 있지 않은 2 이상의 장치의 사이에서 이행하는 컴퓨터에,
    라이센스의 이행원인 상기 장치인 제1 장치로부터, 상기 라이센스 키를 취득시키고,
    라이센스의 이행처인 상기 장치인 제2 장치로부터, 상기 제2 장치를 식별하는 제2 식별자를 취득시키고,
    상기 제1 장치로부터 취득한 상기 라이센스 키로부터, 상기 제1 장치를 식별하는 제1 식별자를 삭제하고, 상기 제2 장치의 상기 제2 식별자를 추가하여, 새로운 상기 라이센스 키를 생성시키고,
    상기 제2 장치에 새로운 상기 라이센스 키를 공급시키는, 프로그램을 격납하는 기록 매체.
  10. 애플리케이션 프로그램의 사용이 허락되어 있는 것을 나타내는 라이센스 키를 이행 툴이 제1 장치로부터 제2 장치로 이행하는 라이센스 이행 시스템으로서,
    상기 제1 장치 및 제2 장치는, 외부 네트워크에 접속되어 있지 않으며,
    상기 라이센스 키는 상기 라이센스 키가 등록되어 있는 장치를 식별하는 식별자를 포함하고,
    상기 이행 툴은
    라이센스의 이행원인 상기 제1 장치로부터, 상기 라이센스 키를 취득하는 키 취득 수단과,
    라이센스의 이행처인 상기 제2 장치로부터, 상기 제2 장치를 식별하는 제2 식별자를 취득하는 식별자 취득 수단과,
    상기 제1 장치로부터 취득한 상기 라이센스 키로부터, 상기 제1 장치를 식별하는 제1 식별자를 삭제하고, 상기 제2 장치의 상기 제2 식별자를 상기 식별자로서 추가하여, 새로운 상기 라이센스 키를 생성하고, 상기 제2 장치에 새로운 상기 라이센스 키를 공급하는 재생성 수단을 구비하고,
    상기 제1 장치는
    상기 라이센스 키를 기억하는 라이센스 키 기억 수단과,
    상기 이행 툴로부터 상기 라이센스 키가 요구되면, 상기 이행 툴에 상기 라이센스 키 기억 수단이 기억하는 상기 라이센스 키를 송신하는 송신 수단을 구비하고,
    상기 제2 장치는
    상기 이행 툴로부터 상기 식별자가 요구되면, 상기 이행 툴에 상기 식별자를 송신하는 식별자 송신 수단과,
    상기 이행 툴로부터 공급된 상기 라이센스 키를 상기 제2 장치가 가지는 상기 라이센스 키 기억 수단에 격납하는 격납 수단을 구비하는, 라이센스 이행 시스템.
KR1020217026824A 2019-03-27 2019-03-27 라이센스 이행 툴, 기록 매체, 및 라이센스 이행 시스템 KR102314391B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/013379 WO2020194604A1 (ja) 2019-03-27 2019-03-27 ライセンス移行ツール、プログラム、及びライセンス移行システム

Publications (2)

Publication Number Publication Date
KR20210109659A KR20210109659A (ko) 2021-09-06
KR102314391B1 true KR102314391B1 (ko) 2021-10-19

Family

ID=70776090

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217026824A KR102314391B1 (ko) 2019-03-27 2019-03-27 라이센스 이행 툴, 기록 매체, 및 라이센스 이행 시스템

Country Status (4)

Country Link
JP (1) JP6701463B1 (ko)
KR (1) KR102314391B1 (ko)
CN (1) CN113614716B (ko)
WO (1) WO2020194604A1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302817A (ja) 2003-03-31 2004-10-28 Matsushita Electric Ind Co Ltd ライセンス管理システム
US20150200975A1 (en) 2012-05-29 2015-07-16 Google Inc. Tool for Sharing Applications Across Client Devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0651975A (ja) * 1992-07-30 1994-02-25 Fuji Xerox Co Ltd ソフトウェア管理システム
JP2005327196A (ja) * 2004-05-17 2005-11-24 Canon Inc ライセンス管理装置、その制御方法、プログラムおよび記憶媒体
JP4958671B2 (ja) * 2007-07-24 2012-06-20 キヤノン株式会社 ライセンス管理装置、ライセンス管理方法、及びコンピュータプログラム
JP2009169782A (ja) * 2008-01-18 2009-07-30 Hitachi Ltd 受信装置および配信装置の再生ライセンス管理方式
JP5136161B2 (ja) 2008-03-31 2013-02-06 富士通株式会社 ソフトウェア・ライセンス管理システム、ソフトウェアをインストール可能な端末装置、ライセンス管理装置、およびプログラム
JP4692652B2 (ja) * 2009-02-18 2011-06-01 コニカミノルタビジネステクノロジーズ株式会社 ライセンス管理システム、ライセンス管理コンピュータ、ライセンス管理方法およびライセンス管理プログラム
JP5413078B2 (ja) * 2009-09-14 2014-02-12 株式会社リコー 機器管理システム、機器管理装置、仲介装置、機器管理方法、及び機器管理プログラム
US8997216B2 (en) * 2011-04-25 2015-03-31 Panasonic Corporation Recording medium apparatus and control method for authenticating a device based on a revocation list
US9292842B2 (en) * 2011-10-28 2016-03-22 Anil H. Pereira Systems and methods for managing software licensing agreements
JP2015026159A (ja) * 2013-07-25 2015-02-05 株式会社バンダイナムコゲームス サーバシステムおよびサーバシステムによる処理方法
JP6103169B1 (ja) * 2015-11-05 2017-03-29 三菱電機株式会社 セキュリティ装置、及びセキュリティ方法
JP6759998B2 (ja) * 2016-08-05 2020-09-23 株式会社リコー 情報処理システム、アプリケーション導入方法及び情報処理装置
EP3418833B1 (de) * 2017-06-20 2021-04-07 Siemens Aktiengesellschaft Verfahren und anordnung zum zugriff eines ersten computers auf eine virtuelle maschine eines zweiten computers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004302817A (ja) 2003-03-31 2004-10-28 Matsushita Electric Ind Co Ltd ライセンス管理システム
US20150200975A1 (en) 2012-05-29 2015-07-16 Google Inc. Tool for Sharing Applications Across Client Devices

Also Published As

Publication number Publication date
CN113614716A (zh) 2021-11-05
JP6701463B1 (ja) 2020-05-27
KR20210109659A (ko) 2021-09-06
CN113614716B (zh) 2022-09-13
JPWO2020194604A1 (ja) 2021-04-08
WO2020194604A1 (ja) 2020-10-01

Similar Documents

Publication Publication Date Title
JP6680022B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP4827467B2 (ja) ライセンス転送システム及びライセンス情報発行サーバ
US20160203301A1 (en) License management apparatus, license management method, and license authentication program
US9323917B2 (en) Information processing system, information processor, image forming apparatus, and information processing method
US8823968B2 (en) Image forming apparatus and method for setting license information
US8544000B2 (en) Information processing device with an automatic return unit for returning a license
US20080027742A1 (en) Information processing method, information processing apparatus, computer program and storage medium
US10757108B2 (en) Information processing apparatus, computer-readable recording medium, and information processing system
JP2005055957A (ja) ライセンス管理システム、サーバ装置および端末装置
JP5395855B2 (ja) デジタルコンテンツを送信するためのユーザ端末、方法、及びシステム
WO2013011902A1 (ja) ライセンス管理装置、ライセンス管理システム、ライセンス管理方法、及びプログラム
JP2011248776A (ja) 情報処理装置
KR102314391B1 (ko) 라이센스 이행 툴, 기록 매체, 및 라이센스 이행 시스템
CN101246533A (zh) 用于管理数字内容的方法和装置
JP2017142563A (ja) 情報処理システム、通信中継装置、ライセンスサーバー、プログラム及びデータ復旧方法
JP2014006587A (ja) ライセンス管理装置、ライセンス管理方法、およびプログラム
JP2005284506A (ja) ダウンロードシステム及びダウンロードシステムを構成する機器、管理局、リムーバブルメディア
KR20100031637A (ko) 콘텐츠 배포 시스템 및 콘텐츠 배포 방법
JPWO2019159689A1 (ja) 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム
JP2016173715A (ja) ライセンス管理システム、プログラム及びライセンス管理方法
JP5130126B2 (ja) ライセンス数管理装置、ライセンス数管理方法及びライセンス数管理プログラム
WO2014045490A1 (ja) ライセンス制御システム、ライセンス制御方法、ライセンス適用装置、及びプログラムが格納された非一時的なコンピュータ可読媒体
JP7305047B1 (ja) 通信システム、ライセンス管理システム、携帯端末、通信方法、携帯端末用通信プログラム及び制御装置
EP2034420A1 (en) A method and an apparatus for operating right
JP2002300736A (ja) 電力系統監視制御装置とこの装置を実行するためのプログラム

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant