WO2018155593A1 - プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体 - Google Patents

プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2018155593A1
WO2018155593A1 PCT/JP2018/006584 JP2018006584W WO2018155593A1 WO 2018155593 A1 WO2018155593 A1 WO 2018155593A1 JP 2018006584 W JP2018006584 W JP 2018006584W WO 2018155593 A1 WO2018155593 A1 WO 2018155593A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
license key
terminal device
latest
key
Prior art date
Application number
PCT/JP2018/006584
Other languages
English (en)
French (fr)
Inventor
孝昌 大竹
Original Assignee
Necソリューションイノベータ株式会社
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 Necソリューションイノベータ株式会社 filed Critical Necソリューションイノベータ株式会社
Priority to JP2019501812A priority Critical patent/JP6820073B2/ja
Publication of WO2018155593A1 publication Critical patent/WO2018155593A1/ja

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

Definitions

  • the present invention relates to a program management apparatus and a program management method for legally using a program according to a license, and further relates to a computer-readable recording medium on which a program for realizing the program is recorded.
  • Non-Patent Document 1 discloses a mechanism for registering a product ID and hardware configuration information of an installation target computer in a management server when installing a program on a computer as a mechanism for performing activation. Yes. According to the mechanism disclosed in Non-Patent Document 1, it is possible to make it impossible to install a program on another computer at a later date using the same product ID, and unauthorized use is prevented.
  • Non-Patent Document 2 sets a valid period for a license key, and prevents a user from starting a program unless the user accesses the license management server within the valid period and updates the license key. Disclosure. According to the mechanism disclosed in Non-Patent Document 2, unauthorized use of the program is further prevented.
  • Non-Patent Document 3 discloses a mechanism called a floating license.
  • the program can be installed on a number of computers exceeding the number of licenses, but activation and use are limited to computers up to the number of licenses by the management server.
  • Non-Patent Document 4 discloses a mechanism using a hardware key called a dongle. According to the mechanism disclosed in Non-Patent Document 4, since the program cannot be used unless the dongle is inserted into the computer port, unauthorized use of the program can be reliably prevented.
  • a virtual machine may be constructed in a computer system in order to efficiently use physical machine resources.
  • the virtual machine is virtually constructed by software, and is established as a single computer on the network like the physical machine.
  • An operating system is also operating in the virtual machine, and the virtual machine can also execute a program on the operating system. Therefore, even a virtual machine needs to be activated when executing a licensed program.
  • Non-Patent Documents 1 to 3 may not prevent unauthorized use of programs.
  • Non-Patent Document 4 the program will not be used illegally unless the dongle is copied.
  • This mechanism can also be applied to a virtual machine by assigning a port of a physical machine to this virtual machine.
  • An example of an object of the present invention is a program management apparatus, a program management method, and a computer-readable program that can solve the above-described problem and suppress unauthorized use of a program even when the installation destination of the program is a virtual machine Is to provide a simple recording medium.
  • a program management device provides: A key acquisition unit for acquiring a license key transmitted by the terminal device for execution of the program; Determining whether the acquired license key is the latest, and if it is the latest, an execution permission unit that permits the terminal device to execute the program; A key update unit that updates the license key at a preset timing, transmits the updated license key to the terminal device that is permitted to execute the program, and uses the updated license key as the latest license key.
  • a key acquisition unit for acquiring a license key transmitted by the terminal device for execution of the program
  • a key update unit that updates the license key at a preset timing, transmits the updated license key to the terminal device that is permitted to execute the program, and uses the updated license key as the latest license key.
  • a program management method includes: (A) obtaining a license key transmitted by the terminal device for execution of the program; and (B) determining whether or not the acquired license key is the latest, and permitting the terminal device to execute the program if it is the latest; (C) The license key is updated at a preset timing, the updated license key is transmitted to the terminal device permitted to execute the program, and the updated license key is used as the latest license key. Steps, It is characterized by having.
  • a computer-readable recording medium On the computer, (A) obtaining a license key transmitted by the terminal device for execution of the program; and (B) determining whether or not the acquired license key is the latest, and permitting the terminal device to execute the program if it is the latest; (C) Updating the license key at a preset timing, transmitting the updated license key to the terminal device that is permitted to execute the program, and using the updated license key as the latest license key. Steps, A program including an instruction for executing is recorded.
  • unauthorized use of a program can be suppressed even when the installation destination of the program is a virtual machine.
  • FIG. 1 is a block diagram showing the configuration of the program management apparatus according to the embodiment of the present invention.
  • FIG. 2 is a diagram illustrating a case where the program management apparatus acquires the same license key from a plurality of terminal apparatuses in the present embodiment.
  • FIG. 3 is a flowchart showing an operation performed when the program management apparatus according to the embodiment of the present invention permits execution of a program.
  • FIG. 4 is a flowchart showing an operation performed when the program management apparatus according to the embodiment of the present invention updates the license key.
  • FIG. 5 is a diagram for explaining a case where the program management apparatus transmits a token to a terminal apparatus that is allowed to be executed in a modification of the present embodiment.
  • FIG. 6 is a block diagram illustrating an example of a computer that implements the program management apparatus according to the embodiment of the present invention.
  • FIG. 1 is a block diagram showing the configuration of the program management apparatus according to the embodiment of the present invention.
  • the program management apparatus 10 in the present embodiment shown in FIG. 1 is an apparatus for managing the license key 23 of the program 22 executed by the terminal device 20.
  • the program management device 10 is connected to a plurality of terminal devices 20 via a network 30 such as the Internet or a LAN (Local Area Network).
  • a network 30 such as the Internet or a LAN (Local Area Network).
  • all the terminal devices 20 have the same configuration, but functional blocks are clearly shown only for one terminal device 20.
  • the program management apparatus 10 includes a key acquisition unit 11, an execution permission unit 12, and a key update unit 13.
  • the key acquisition unit 11 acquires the license key 23 transmitted from the terminal device 20 for executing the program 22.
  • the execution permission unit 12 determines whether or not the acquired license key 23 is the latest, and when it is the latest, permits the terminal device 20 that has transmitted the license key 23 to execute the program 22.
  • the key update unit 13 updates the license key 23 at a preset timing, transmits the updated license key to the terminal device 20 that is permitted to execute the program, and further updates the license key with the latest license key. And In the present embodiment, as will be described later, the license key is updated at the set timing in the terminal device 20.
  • the present embodiment is not limited to this mode, and the key update unit 13 may update the license key at a preset timing and notify the terminal device 20 of the updated license key. good.
  • the terminal device 20 includes a program execution unit 21.
  • the program execution unit 21 is constructed by an operating system (OS) installed in the terminal device 20.
  • OS operating system
  • the program execution unit 21 reads the program 22 from a storage device such as a hard disk or a flash memory, and stores the read program 22 in the memory.
  • a storage device such as a hard disk or a flash memory
  • the storage device and the memory are not shown.
  • the program execution unit 21 reads the license key 23 of the program 22 instructed to be executed, and transmits the read license key 23 to the program management apparatus 10.
  • the program 22 is executed.
  • the program execution unit 21 updates the held license key 23. .
  • the terminal device 20 transmits the license key 23 to the program management device 10 so that the program 22 cannot be executed unless it is judged to be the latest and permitted. Further, the license key 23 is periodically updated, and even if a third party can copy the license key 23, the copied license key is quickly outdated.
  • the program 22 is not executed if the terminal device 20 is a virtual machine and its execution environment is copied as it is. According to the present embodiment, even if the installation destination of the program 22 is a virtual machine, unauthorized use of the program 22 can be suppressed.
  • the license key 23 may be a hash key, for example.
  • the hash key is calculated, for example, by inputting the serial key of the program 22 and the MAC address of the terminal device 20 into the hash function.
  • the license key is not limited to the hash key, and may be a character string set in advance.
  • FIG. 2 is a diagram illustrating a case where the program management apparatus acquires the same license key from a plurality of terminal apparatuses in the present embodiment.
  • the execution permission unit 12 includes a plurality of terminal devices 20a and 20b that have transmitted the same license key in accordance with the set rule. And the execution of the program 22 is permitted only for the selected terminal device. For this reason, in this embodiment, even if the execution environment is copied before the legitimate terminal device 20 updates the license key, the use of an unauthorized program is suppressed.
  • the “same license key” means a license key in which the identifier of the corresponding terminal device 20 and the identifier of the corresponding program 22 are the same. Specifically, it is a license key in which the corresponding MAC address and serial number are the same.
  • the key update unit 13 updates the license key at a predetermined timing. In this case, since only the terminal device 20 that is permitted to execute the program 22 can update the license key, the terminal device that is not permitted to execute the program 22 will not transmit the latest license key 23 thereafter.
  • FIGS. 1 and 2 are referred to as appropriate.
  • the program management method is implemented by operating the program management apparatus 10. Therefore, the description of the program management method in the present embodiment is replaced with the following description of the operation of the program management apparatus 10.
  • FIG. 3 is a flowchart showing an operation performed when the program management apparatus according to the embodiment of the present invention permits execution of a program.
  • the key acquisition unit 11 acquires the license key transmitted from the terminal apparatus 20 (step A1). Further, the key acquisition unit 11 passes the acquired license key to the execution permission unit 12.
  • the execution permission unit 12 determines whether a plurality of the same latest license keys 23 have been acquired in Step A1 (Step A2). Specifically, it is determined whether or not the same latest license key 23 is transmitted from each of the plurality of terminal devices 20.
  • step A3 the execution permission unit 12 transmits the latest same license key in accordance with the set rule. Is selected (step A3). For example, the execution permission unit 12 selects the terminal device 20 that has previously transmitted the license key 23. Thereafter, the execution permission unit 12 executes Step A5 and permits the selected terminal device 20 to execute the program 22.
  • step A2 if a plurality of the latest license keys 23 do not exist, the execution permission unit 12 selects the terminal device 20 that has transmitted the latest license key 23. Thereafter, the execution permission unit 12 executes Step A5 and permits the selected terminal device 20 to execute the program 22.
  • step A2 the license key is acquired, but it is also determined as No when the latest license key is not included therein.
  • the execution permission unit 12 notifies the terminal device 20 that has transmitted the license key that the execution of the program 22 cannot be permitted, and ends the process.
  • FIG. 4 is a flowchart showing an operation performed when the program management apparatus according to the embodiment of the present invention updates the license key.
  • the key update unit 13 updates the license key 23 at a predetermined timing (step B1).
  • the key update unit 13 transmits the updated license key 23 to the terminal device 20 that is permitted to execute the program 22 by the license key 23 before update (step B2).
  • step B2 the execution permission unit 12 determines whether the license key 23 acquired by the key acquisition unit 11 is the latest license key using the license key 23 updated in step B2. To do.
  • the license key is periodically updated, and the execution of the program 22 is not performed until the license key 23 transmitted from the terminal device 20 matches the latest updated license key. Allowed. For this reason, even if the terminal device 20 is a virtual machine and its execution environment is copied, unauthorized use of the program is suppressed.
  • the present embodiment is not limited to a virtual machine constructed by mounting a guest OS on a physical server, and a virtual user space called a container is constructed on the OS of the physical machine. Even in this case, unauthorized use of the program can be suppressed.
  • the number of terminal devices 20 that are permitted to execute the program 22 is limited, so that unauthorized use of the program 22 is more reliably suppressed. Is done.
  • FIG. 5 is a diagram for explaining a case where the program management apparatus transmits a token to a terminal apparatus that is allowed to be executed in a modification of the present embodiment.
  • the execution permission unit 12 when the execution permission unit 12 permits the terminal device 20a to execute the program 22, the execution permission unit 12 transmits a token 24 to the terminal device 20a.
  • tokens include identifiers and character strings.
  • the same license key 23 is acquired from the terminal device 20 b that does not have the token 24 after the token 24 is transmitted in the program management apparatus 10. Furthermore, it is assumed that the same license key acquired is the latest.
  • the execution permission unit 12 does not permit the execution of the program by the terminal device 20b having no token. In the first modification, priority is given to the terminal device 20 having the token 24, so that unauthorized use of the program is suppressed.
  • Modification Example 2 of the present embodiment will be described.
  • the execution permission unit 12 permits the terminal device 20 to execute the program 22
  • the execution is permitted even if the license key 23 is not the latest.
  • a period (such as one month) can be set.
  • the program execution unit 21 can execute the program 22 until the set period elapses.
  • generations permitted to be executed for example, up to two generations before the latest license key may be set.
  • the modification 3 in this Embodiment is demonstrated.
  • the execution permission unit 12 permits the execution of the program for a certain period to the terminal device holding the token.
  • the terminal device 20 can use the program even in an offline state (a state in which the terminal device 20 and the program management device 10 cannot communicate).
  • the program in the present embodiment may be a program that causes a computer to execute steps A1 to A5 shown in FIG. 3 and steps B1 and B2 shown in FIG.
  • the program management apparatus and the program management method in the present embodiment can be realized.
  • the processor of the computer functions as the key acquisition unit 11, the execution permission unit 12, and the key update unit 13, and performs processing.
  • each computer may function as any of the key acquisition unit 11, the execution permission unit 12, and the key update unit 13, respectively.
  • FIG. 6 is a block diagram illustrating an example of a computer that implements the program management apparatus according to the embodiment of the present invention.
  • the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. With. These units are connected to each other via a bus 121 so that data communication is possible.
  • the computer 110 may include a GPU (GraphicsGraphProcessing Unit) or an FPGA (Field-Programmable Gate Array) in addition to or instead of the CPU 111.
  • GPU GraphicsGraphProcessing Unit
  • FPGA Field-Programmable Gate Array
  • the CPU 111 performs various operations by developing the program (code) in the present embodiment stored in the storage device 113 in the main memory 112 and executing them in a predetermined order.
  • the main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).
  • the program in the present embodiment is provided in a state of being stored in a computer-readable recording medium 120. Note that the program in the present embodiment may be distributed on the Internet connected via the communication interface 117.
  • the storage device 113 includes a hard disk drive and a semiconductor storage device such as a flash memory.
  • the input interface 114 mediates data transmission between the CPU 111 and an input device 118 such as a keyboard and a mouse.
  • the display controller 115 is connected to the display device 119 and controls display on the display device 119.
  • the data reader / writer 116 mediates data transmission between the CPU 111 and the recording medium 120, and reads a program from the recording medium 120 and writes a processing result in the computer 110 to the recording medium 120.
  • the communication interface 117 mediates data transmission between the CPU 111 and another computer.
  • the recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as a flexible disk, or CD- Optical recording media such as ROM (Compact Disk Read Only Memory) are listed.
  • CF Compact Flash
  • SD Secure Digital
  • magnetic recording media such as a flexible disk
  • CD- Optical recording media such as ROM (Compact Disk Read Only Memory) are listed.
  • the program management apparatus 10 in the present embodiment can be realized by using hardware corresponding to each unit, not a computer in which a program is installed. Furthermore, part of the program management apparatus 10 may be realized by a program, and the remaining part may be realized by hardware.
  • a program management apparatus comprising:
  • a program management method characterized by comprising:
  • step (a) when the same license key is acquired from each of the plurality of terminal devices and each of the acquired same license keys is the latest, in the step (b), In accordance with a set rule, select any one of the plurality of terminal devices, and permit the selected terminal device to execute the program.
  • step (a) when the same license key is acquired from each of the plurality of terminal devices and each of the acquired same license keys is the latest, in the step (b), In accordance with a set rule, select any one of the plurality of terminal devices, and permit the selected terminal device to execute the program.
  • step (b) when allowing the terminal device to execute the program, a token is transmitted to the terminal device, The program is stored in the computer.
  • step (D) After the transmission of the token, if the same license key is acquired from a terminal device that does not have the token, and the acquired same license key is the latest, the token is Further including an instruction to execute the step, disabling execution of the program by a terminal device that does not have the device, The computer-readable recording medium according to appendix 9 or 10.
  • the present invention unauthorized use of a program can be suppressed even when the installation destination of the program is a virtual machine.
  • the present invention is useful for various computer systems that require program management.

Landscapes

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

Abstract

プログラム管理装置10は、端末装置20がプログラム22の実行のために送信してきたライセンスキー23を取得する、キー取得部11と、取得されたライセンスキー23が最新であるかどうかを判定し、最新である場合に、端末装置20に対してプログラムの実行を許可する、実行許可部12と、ライセンスキー23が予め設定されたタイミングで更新された場合に、更新されたライセンスキー23を最新のライセンスキーとする、キー更新部13とを備えている。

Description

プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体
 本発明は、プログラムをライセンスに沿って適法に使用させるための、プログラム管理装置及びプログラム管理方法に関し、更には、これらを実現するためのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
 従来では、ソフトウェアの分野では、非合法に入手したコピー品の使用、更には、許可されているライセンスの範囲を超えたプログラムの使用、といった不正使用を阻止するため、プログラムの利用時にアクティベーションと呼ばれる処理が求められるようになっている。
 例えば、非特許文献1は、アクティベーションを行なうための仕組みとして、プログラムのコンピュータへのインストール時に、プロダクトIDとインストール先のコンピュータのハードウェア構成の情報とを管理サーバに登録する仕組みを開示している。非特許文献1に開示された仕組みによれば、後日、同じプロダクトIDを用いて、別のコンピュータにプログラムをインストールできなくすることができ、不正使用が阻止される。
 また、非特許文献2は、ライセンスキーに有効期間を設定し、ユーザが、有効期間内にライセンス管理用のサーバにアクセスして、ライセンスキーを更新しないと、プログラムを起動できないようにする仕組みを開示している。非特許文献2に開示された仕組みによれば、よりいっそうプログラムの不正使用が阻止される。
 また、非特許文献3は、フローティングライセンスと呼ばれる仕組みを開示している。フローティングライセンスを用いた場合、プログラムは、ライセンス数を超える数のコンピュータにインストールすることが可能であるが、起動及び利用は、管理サーバによって、ライセンス数までのコンピュータに制限される。
 更に、非特許文献4は、ドングルと呼ばれるハードウェアキーを用いた仕組みを開示している。非特許文献4に開示された仕組みによれば、ドングルがコンピュータのポートに挿入されていない限り、プログラムを利用できないため、確実にプログラムの不正使用を阻止できる。
小川誉久、小林章彦、デジタルアドバンテージ、「マイクロソフトライセンス認証(Microsoft Product Activation)」、[online]、2007年12月20日、アイティメディア株式会社、[平成28年12月1日検索]、インターネット<URL:http://www.atmarkit.co.jp/ait/articles/0205/23/news002.html> 「5分でわかるボリュームアクティベーション」、[online]、2012年11月12日、MCTの憂鬱、[平成28年12月1日検索]、インターネット<URL:http://mctjp.com/2012/11/12/5%E5%88%86%E3%81%A7%E3%82%8F%E3%81%8B%E3%82%8B%E3%83%9C%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%A0%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%99%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/> 「スタンダードライセンスとフローティングライセンスの違い」、[online]、Sparx Systems Japan株式会社、[平成28年12月1日検索]、インターネット<URL:http://www.sparxsystems.jp/purchase/license_case.htm> 「LOCK STAR-PKUSBドングルタイプのソフトウェアコピープロテクト製品」、[online]、2016年、ロジカルテック株式会社、[平成28年12月1日検索]、インターネット<URL:http://www.atmarkit.co.jp/ait/articles/0205/23/news002.html>
 ところで、近年においては、物理的なマシンのリソースを効率良く使用できるようにするため、コンピュータシステムにおいては、仮想マシンの構築が行なわれることがある。仮想マシンは、ソフトウェアによって仮想的に構築したものであり、ネットワーク上では、物理マシンと同様に、1台のコンピュータとして成立している。また、仮想マシンにおいても、オペレーティングシステムが動作しており、仮想マシンもオペレーティングシステム上でプログラムを実行することができる。従って、仮想マシンであっても、ライセンスされたプログラムを実行する場合は、アクティベーションが必要となる。
 しかしながら、仮想マシンの構築は、物理マシン上のプログラムの実行環境をそっくりそのままコピーすることによっても行なうことができるため、仮想マシン上で新たにアクティベーションを行なうことなく、プログラムを実行することもできる。このため、上記非特許文献1~3に開示された仕組みでは、プログラムの不正使用を阻止できないことある。
 一方、上記非特許文献4に開示された仕組みを利用した場合は、ドングルが複製されない限り、プログラムが不正に使用されることはない。また、この仕組みは、仮想マシンに対しても、物理マシンのポートをこの仮想マシンに割り当てることによって適用可能である。
 しかしながら、物理マシンにおいて、ポートの数には限りがあり、更に、1台の物理マシン上で複数の仮想マシンが構築されることがあるので、実際のところ、常に全ての仮想マシンにポートを割り当てることができるわけではない。従って、仮想マシン上でのプログラムの不正使用を阻止するため、上記非特許文献1~4以外の仕組みが求められている。
 本発明の目的の一例は、上記問題を解消し、プログラムのインストール先が仮想マシンである場合であっても、プログラムの不正使用を抑制し得る、プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体を提供することにある。
 上記目的を達成するため、本発明の一側面におけるプログラム管理装置は、
 端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、キー取得部と、
 取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、実行許可部と、
 前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、キー更新部と、
を備えている、ことを特徴とする。
 また、上記目的を達成するため、本発明の一側面におけるプログラム管理方法は、
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーが予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を有する、ことを特徴とする。
 更に、上記目的を達成するため、本発明の一側面におけるコンピュータ読み取り可能な記録媒体は、
コンピュータに、
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を実行させる命令を含む、プログラムを記録していることを特徴とする。
 以上のように、本発明によれば、プログラムのインストール先が仮想マシンである場合であっても、プログラムの不正使用を抑制することができる。
図1は、本発明の実施の形態におけるプログラム管理装置の構成を示すブロック図である。 図2は、本実施の形態においてプログラム管理装置が複数の端末装置から同一のライセンスキーを取得した場合を説明する図である。 図3は、本発明の実施の形態におけるプログラム管理装置がプログラムの実行許可の際に行なう動作を示すフロー図である。 図4は、本発明の実施の形態におけるプログラム管理装置がライセンスキーの更新の際に行なう動作を示すフロー図である。 図5は、本実施の形態の変形例においてプログラム管理装置が実行を許可する端末装置にトークンを送信している場合を説明する図である。 図6は、本発明の実施の形態におけるプログラム管理装置を実現するコンピュータの一例を示すブロック図である。
(実施の形態)
 以下、本発明の実施の形態における、プログラム管理装置、プログラム管理方法、及びプログラムについて、図1~図6を参照しながら説明する。
[装置構成]
 最初に、本発明の実施の形態におけるプログラム管理装置の構成について説明する。図1は、本発明の実施の形態におけるプログラム管理装置の構成を示すブロック図である。
 図1に示す本実施の形態におけるプログラム管理装置10は、端末装置20で実行されるプログラム22のライセンスキー23を管理するための装置である。また、本実施の形態では、プログラム管理装置10は、インターネット、LAN(Local Area Network)等のネットワーク30を介して、複数の端末装置20に接続されている。なお、図1の例では、端末装置20は全て同様の構成を備えているが、1つの端末装置20についてのみ機能ブロックを明示している。
 図1に示すように、プログラム管理装置10は、キー取得部11と、実行許可部12と、キー更新部13とを備えている。
 キー取得部11は、端末装置20がプログラム22の実行のために送信してきたライセンスキー23を取得する。実行許可部12は、取得されたライセンスキー23が最新であるかどうかを判定し、最新である場合に、ライセンスキー23を送信してきた端末装置20に対してプログラム22の実行を許可する。
 キー更新部13は、ライセンスキー23を予め設定されたタイミングで更新し、更新したライセンスキーを、プログラムの実行が許可された端末装置20に送信し、更に、更新したライセンスキーを最新のライセンスキーとする。本実施の形態では、後述するように、端末装置20において、ライセンスキーは、設定されたタイミングで更新される。なお、本実施の形態は、この態様に限定されず、キー更新部13が、予め設定されたタイミングでライセンスキーを更新し、更新後のライセンスキーを端末装置20に通知する態様であっても良い。
 また、図1に示すように、端末装置20は、プログラム実行部21を備えている。具体的には、プログラム実行部21は、端末装置20に搭載されているオペレーティングシステム(OS:Operating System)によって構築されている。
 プログラム実行部21は、まず、プログラム22の実行が指示されると、ハードディスク、フラッシュメモリ等の記憶装置からプログラム22を読み込み、読み込んだプログラム22をメモリに格納する。なお、図2において、記憶装置及びメモリの図示は省略されている。
 次に、プログラム実行部21は、実行が指示されたプログラム22のライセンスキー23を読み込み、読み込んだライセンスキー23をプログラム管理装置10に送信する。そして、プログラム管理装置10の実行許可部12から実行が許可されると、プログラム22を実行する。
 また、プログラム実行部21は、プログラム管理装置10のキー更新部13によって、ライセンスキー23が更新され、更新されたライセンスキー23が送信されてきた場合は、保持しているライセンスキー23を更新する。
 このように、本実施の形態では、端末装置20は、ライセンスキー23をプログラム管理装置10に送信し、そこで最新と判断されて許可されない限り、プログラム22を実行できないようになっている。また、ライセンスキー23は、定期的に更新され、第3者がライセンスキー23をコピーできたとしても、コピーされたライセンスキーはすぐに古くなってしまう。
 このため、端末装置20が仮想マシンであり、その実行環境がそっくりそのままコピーされただけでは、プログラム22が実行されることはない。本実施の形態によれば、プログラム22のインストール先が仮想マシンである場合であっても、プログラム22の不正使用を抑制することができる。
 また、本実施の形態において、ライセンスキー23としては、例えば、ハッシュキーが挙げられる。ハッシュキーは、例えば、プログラム22のシリアルキーと端末装置20のMACアドレスとをハッシュ関数に入力することによって算出される。但し、ライセンスキーは、ハッシュキーに限られず、予め設定された文字列であっても良い。
 ところで、端末装置20が仮想マシンであり、その実行環境がそっくりそのままコピーされた場合は、図2に示すように、キー取得部11が複数の端末装置20それぞれから同一のライセンスキーを取得する事態が想定される。そして、このような事態において、正規の端末装置20でライセンスキーの更新が未だであると、取得された同一のライセンスキーそれぞれが最新となってしまう。図2は、本実施の形態においてプログラム管理装置が複数の端末装置から同一のライセンスキーを取得した場合を説明する図である。
 これに対して、図2に示すように、本実施の形態においては、実行許可部12は、設定されたルールに沿って、同一のライセンスキーを送信してきた複数の端末装置20a及び20bのうちのいずれかを選択し、選択した端末装置に対してのみプログラム22の実行を許可する。このため、本実施の形態では、正規の端末装置20がライセンスキーを更新する前に、その実行環境がコピーされた場合であっても、不正なプログラムの使用が抑制される。
 また、この場合に用いられる「ルール」としては、先にライセンスキーを送信してきた端末装置20を優先する、受信履歴にあるIPアドレスから送信している端末装置20を優先する、等が挙げられる。なお、「同一のライセンスキー」とは、本実施の形態では、対応する端末装置20の識別子と、同じく対応するプログラム22の識別子とが同一のライセンスキーを意味する。具体的には、対応するMACアドレスとシリアル番号とが同一となるライセンスキーである。
 また、実行許可部12による実行が許可された後に、プログラム管理装置10において、キー更新部13は、ライセンスキーを所定のタイミングで更新する。この場合、プログラム22の実行が許可された端末装置20のみが、ライセンスキーを更新できるので、以降、プログラム22の実行が許可されなかった端末装置が最新のライセンスキー23を送信することはない。
[装置動作]
 次に、本発明の実施の形態におけるプログラム管理装置10の動作について図3及び図4を用いて説明する。以下の説明においては、適宜図1及び図2を参酌する。また、本実施の形態では、プログラム管理装置10を動作させることによって、プログラム管理方法が実施される。よって、本実施の形態におけるプログラム管理方法の説明は、以下のプログラム管理装置10の動作説明に代える。
 最初に、図3を用いて、プログラムの実行許可を行なう際の処理について説明する。図3は、本発明の実施の形態におけるプログラム管理装置がプログラムの実行許可の際に行なう動作を示すフロー図である。
 図3に示すように、最初に、プログラム管理装置10において、キー取得部11は、端末装置20が送信してきたライセンスキーを取得する(ステップA1)。また、キー取得部11は、取得したライセンスキーを、実行許可部12に渡す。
 次に、実行許可部12は、ステップA1において、同一の最新のライセンスキー23が複数取得されていたかどうかを判定する(ステップA2)。具体的には、複数の端末装置20それぞれから同一の最新のライセンスキー23が送信されてきているかどうかを判定する。
 ステップA2の判定の結果、同一の最新のライセンスキー23が複数取得されている場合は、実行許可部12は、設定されたルールに沿って、最新の同一のライセンスキーを送信してきた端末装置20のうちのいずれかを選択する(ステップA3)。例えば、実行許可部12は、先にライセンスキー23を送信してきた端末装置20を選択する。その後、実行許可部12は、ステップA5を実行し、選択した端末装置20に対して、プログラム22の実行を許可する。
 一方、ステップA2の判定の結果、最新のライセンスキー23が複数存在していない場合は、実行許可部12は、最新のライセンスキー23を送信してきた端末装置20を選択する。その後、実行許可部12は、ステップA5を実行し、選択した端末装置20に対して、プログラム22の実行を許可する。
 なお、ステップA2の判定では、ライセンスキーは取得されているが、そこに最新のライセンスキーが含まれていない場合も、Noと判定される。この場合は、ステップA4では、実行許可部12は、ライセンスキーを送信してきた端末装置20に対して、プログラム22の実行を許可出来ない旨を通知し、処理を終了する。
 続いて、図4を用いて、ライセンスキーを更新する場合の処理について説明する。図4は、本発明の実施の形態におけるプログラム管理装置がライセンスキーの更新の際に行なう動作を示すフロー図である。
 最初に、図4に示すように、プログラム管理装置10において、キー更新部13が、所定のタイミングでライセンスキー23を更新する(ステップB1)。次に、キー更新部13は、更新前のライセンスキー23によってプログラム22の実行が許可されている端末装置20に対して、更新後のライセンスキー23を送信する(ステップB2)。
 ステップB2が実行された場合は、実行許可部12は、ステップB2で更新されたライセンスキー23を用いて、キー取得部11で取得されたライセンスキー23が最新のライセンスキーであるかどうかを判定する。
 以上のように、本実施の形態では、ライセンスキーが定期的に更新され、端末装置20から送信されてきたライセンスキー23が、更新後の最新のライセンスキーと一致して初めてプログラム22の実行が許可される。このため、端末装置20が仮想マシンであり、その実行環境がコピーされてしまった場合であっても、プログラムの不正使用が抑制される。
 更に、本実施の形態は、物理サーバの上にゲストOSを実装することによって構築された仮想マシンだけに限られず、物理マシンのOSの上に、コンテナと呼ばれる仮想的なユーザ空間が構築される場合であっても、プログラムの不正使用を抑制できる。
 また、コピーされた実行環境に最新のライセンスキー23が保持されていたとしても、プログラム22の実行が許可される端末装置20の数は制限されるので、より確実にプログラム22の不正使用が抑制される。
[変形例1]
 ここで、本実施の形態における変形例1について図5を用いて説明する。図5は、本実施の形態の変形例においてプログラム管理装置が実行を許可する端末装置にトークンを送信している場合を説明する図である。
 本変形例1では、図5に示すように、実行許可部12は、端末装置20aに対してプログラム22の実行を許可した場合に、それに際して、端末装置20aに対してトークン24を送信する。トークンの具体例としては、識別子、文字列等が挙げられる。
 そして、図5に示すように、プログラム管理装置10において、トークン24の送信後に、トークン24を有していない端末装置20bから同一のライセンスキー23が取得されたとする。更に、取得された同一のライセンスキーが最新であるとする。この場合、本変形例1では、実行許可部12は、トークンを有していない端末装置20bによるプログラムの実行を不許可とする。本変形例1では、トークン24を有する端末装置20を優先することで、プログラムの不正使用が抑制される。
[変形例2]
 次いで、本実施の形態における変形例2について説明する。本変形例2では、プログラム管理装置10において、実行許可部12は、端末装置20に対してプログラム22の実行を許可する際に、ライセンスキー23が最新でない場合であっても実行が許可される期間(1ヶ月間など)を設定することができる。この場合、端末装置20において、プログラム実行部21は、設定された期間が経過するまで、プログラム22を実行することができる。なお、期間以外にも、実行が許可される世代(例えば、最新のライセンスキーの2世代前まで)が設定されていても良い。
[変形例3]
 続いて、本実施の形態における変形例3について説明する。変形例3では、トークンを保持している端末装置に対し、実行許可部12が一定期間プログラムの実行を許可する。この場合、オフライン状態(端末装置20とプログラム管理装置10とが通信出来ない状態)であっても、端末装置20はプログラムの使用が可能となる。
[プログラム]
 本実施の形態におけるプログラムは、コンピュータに、図3に示すステップA1~A5、図4に示すステップB1及びB2を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することによって、本実施の形態におけるプログラム管理装置とプログラム管理方法とを実現することができる。この場合、コンピュータのプロセッサは、キー取得部11、実行許可部12、及びキー更新部13として機能し、処理を行なう。
 また、本実施の形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されても良い。この場合は、例えば、各コンピュータが、それぞれ、キー取得部11、実行許可部12、及びキー更新部13のいずれかとして機能しても良い。
 ここで、本実施の形態におけるプログラムを実行することによって、プログラム管理装置10を実現するコンピュータについて図6を用いて説明する。図6は、本発明の実施の形態におけるプログラム管理装置を実現するコンピュータの一例を示すブロック図である。
 図6に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU(Graphics Processing Unit)、又はFPGA(Field-Programmable Gate Array)を備えていても良い。
 CPU111は、記憶装置113に格納された、本実施の形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施の形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施の形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであっても良い。
 また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置が挙げられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
 データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
 また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体が挙げられる。
 なお、本実施の形態におけるプログラム管理装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、プログラム管理装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
 上述した実施の形態の一部又は全部は、以下に記載する(付記1)~(付記12)によって表現することができるが、以下の記載に限定されるものではない。
(付記1)
 端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、キー取得部と、
 取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、実行許可部と、
 前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、キー更新部と、
を備えている、ことを特徴とするプログラム管理装置。
(付記2)
 前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
付記1に記載のプログラム管理装置。
(付記3)
 前記キー取得部によって、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記実行許可部が、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
付記1または2に記載のプログラム管理装置。
(付記4)
 前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、
付記1または2に記載のプログラム管理装置。
(付記5)
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を有する、ことを特徴とするプログラム管理方法。
(付記6)
 前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
付記5に記載のプログラム管理方法。
(付記7)
 前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
付記5または6に記載のプログラム管理方法。
(付記8)
 前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
当該プログラム管理方法が、
(d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを更に有する、
付記5または6に記載のプログラム管理方法。
(付記9)
コンピュータに、
(a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
(b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
(c)前記ライセンスキーを予め設定したタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
(付記10)
 前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
付記9に記載のコンピュータ読み取り可能な記録媒体。
(付記11)
 前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
付記9または10に記載のコンピュータ読み取り可能な記録媒体。
(付記12)
 前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
前記プログラムが、前記コンピュータに、
(d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを実行させる命令を更に含む、
付記9または10に記載のコンピュータ読み取り可能な記録媒体。
 以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2017年2月24日に出願された日本出願特願2017-034129を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 以上のように、本発明によれば、プログラムのインストール先が仮想マシンである場合であっても、プログラムの不正使用を抑制することができる。本発明は、プログラムの管理が必要な種々のコンピュータシステムに有用である。
 10 プログラム管理装置
 11 キー取得部
 12 実行許可部
 13 キー更新部
 20 端末装置
 21 プログラム実行部
 22 プログラム
 23 ライセンスキー
 24 トークン
 30 ネットワーク
 110 コンピュータ
 111 CPU
 112 メインメモリ
 113 記憶装置
 114 入力インターフェイス
 115 表示コントローラ
 116 データリーダ/ライタ
 117 通信インターフェイス
 118 入力機器
 119 ディスプレイ装置
 120 記録媒体
 121 バス

Claims (12)

  1.  端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、キー取得部と、
     取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、実行許可部と、
     前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、キー更新部と、
    を備えている、ことを特徴とするプログラム管理装置。
  2.  前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
    請求項1に記載のプログラム管理装置。
  3.  前記キー取得部によって、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記実行許可部が、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
    請求項1または2に記載のプログラム管理装置。
  4.  前記実行許可部が、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
    前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、
    請求項1または2に記載のプログラム管理装置。
  5. (a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
    (b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
    (c)前記ライセンスキーを予め設定されたタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
    を有する、ことを特徴とするプログラム管理方法。
  6.  前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
    請求項5に記載のプログラム管理方法。
  7.  前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
    請求項5または6に記載のプログラム管理方法。
  8.  前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
    当該プログラム管理方法が、
    (d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを更に有する、
    請求項5または6に記載のプログラム管理方法。
  9. コンピュータに、
    (a)端末装置がプログラムの実行のために送信してきたライセンスキーを取得する、ステップと、
    (b)取得された前記ライセンスキーが最新であるかどうかを判定し、最新である場合に、前記端末装置に対して前記プログラムの実行を許可する、ステップと、
    (c)前記ライセンスキーを予め設定したタイミングで更新し、更新したライセンスキーを、前記プログラムの実行が許可された前記端末装置に送信し、更新した前記ライセンスキーを最新のライセンスキーとする、ステップと、
    を実行させる命令を含む、プログラムを記録しているコンピュータ読み取り可能な記録媒体。
  10.  前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記ライセンスキーが最新でない場合であっても実行が許可される期間を設定する、
    請求項9に記載のコンピュータ読み取り可能な記録媒体。
  11.  前記(a)のステップにおいて、複数の前記端末装置それぞれから同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記(b)のステップにおいて、設定されたルールに沿って、複数の前記端末装置のうちのいずれかを選択し、選択した前記端末装置に対して前記プログラムの実行を許可する、
    請求項9または10に記載のコンピュータ読み取り可能な記録媒体。
  12.  前記(b)のステップにおいて、前記端末装置に対して前記プログラムの実行を許可する際に、前記端末装置に対してトークンを送信し、
    前記プログラムが、前記コンピュータに、
    (d)前記トークンの送信後に、前記トークンを有していない端末装置から、同一の前記ライセンスキーが取得され、且つ、取得された同一の前記ライセンスキーそれぞれが最新である場合に、前記トークンを有していない端末装置による前記プログラムの実行を不許可とする、ステップを実行させる命令を更に含む、
    請求項9または10に記載のコンピュータ読み取り可能な記録媒体。
PCT/JP2018/006584 2017-02-24 2018-02-22 プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体 WO2018155593A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019501812A JP6820073B2 (ja) 2017-02-24 2018-02-22 プログラム管理装置、プログラム管理方法、及びプログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017034129 2017-02-24
JP2017-034129 2017-02-24

Publications (1)

Publication Number Publication Date
WO2018155593A1 true WO2018155593A1 (ja) 2018-08-30

Family

ID=63252787

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/006584 WO2018155593A1 (ja) 2017-02-24 2018-02-22 プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体

Country Status (2)

Country Link
JP (1) JP6820073B2 (ja)
WO (1) WO2018155593A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020046815A (ja) * 2018-09-18 2020-03-26 富士ゼロックス株式会社 情報処理装置及びライセンス認証システム
JP2020064542A (ja) * 2018-10-19 2020-04-23 富士ゼロックス株式会社 情報処理システムおよび認証システム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070171A (en) * 1998-05-15 2000-05-30 Palantir Software, Inc. Method and system for copy-tracking distributed software featuring tokens containing a key field and a usage field
US20030135745A1 (en) * 2002-01-17 2003-07-17 Yu-Chin Liu Method of licensing computer program or data to be used legally
US20040143746A1 (en) * 2003-01-16 2004-07-22 Jean-Alfred Ligeti Software license compliance system and method
JP2005321850A (ja) * 2004-05-06 2005-11-17 Ipl:Kk ライセンス認証システム、ライセンス認証方法及びライセンス認証プログラム
US20080208754A1 (en) * 2007-02-22 2008-08-28 Aladdin Knowledge Systems Method for detecting duplicated instances of a software license
US20120216269A1 (en) * 2011-02-18 2012-08-23 Mitel Networks Corporation Software licensing in a virtualization environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070171A (en) * 1998-05-15 2000-05-30 Palantir Software, Inc. Method and system for copy-tracking distributed software featuring tokens containing a key field and a usage field
US20030135745A1 (en) * 2002-01-17 2003-07-17 Yu-Chin Liu Method of licensing computer program or data to be used legally
US20040143746A1 (en) * 2003-01-16 2004-07-22 Jean-Alfred Ligeti Software license compliance system and method
JP2005321850A (ja) * 2004-05-06 2005-11-17 Ipl:Kk ライセンス認証システム、ライセンス認証方法及びライセンス認証プログラム
US20080208754A1 (en) * 2007-02-22 2008-08-28 Aladdin Knowledge Systems Method for detecting duplicated instances of a software license
US20120216269A1 (en) * 2011-02-18 2012-08-23 Mitel Networks Corporation Software licensing in a virtualization environment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020046815A (ja) * 2018-09-18 2020-03-26 富士ゼロックス株式会社 情報処理装置及びライセンス認証システム
JP7196485B2 (ja) 2018-09-18 2022-12-27 富士フイルムビジネスイノベーション株式会社 情報処理装置及びライセンス認証システム
JP2020064542A (ja) * 2018-10-19 2020-04-23 富士ゼロックス株式会社 情報処理システムおよび認証システム
JP7115213B2 (ja) 2018-10-19 2022-08-09 富士フイルムビジネスイノベーション株式会社 情報処理システムおよび認証システム

Also Published As

Publication number Publication date
JP6820073B2 (ja) 2021-01-27
JPWO2018155593A1 (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
EP3365828B1 (en) Methods for data loss prevention from malicious applications and targeted persistent threats
KR101861401B1 (ko) 장치 기능과 애플리케이션의 결합
US7712135B2 (en) Pre-emptive anti-virus protection of computing systems
JP5381670B2 (ja) 実行制御方法、実行制御プログラムおよび実行制御装置
US20160371298A1 (en) Method and system for executing an executable file
US10091213B2 (en) Systems and methods to provide secure storage
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
JP6712922B2 (ja) データ漏洩防止システム及びデータ漏洩防止方法
WO2018155593A1 (ja) プログラム管理装置、プログラム管理方法、及びコンピュータ読み取り可能な記録媒体
JP2013131015A (ja) ライセンス管理プログラム及び情報処理装置
JP2006525581A (ja) 失効リストを更新する方法
CN114710263A (zh) 密钥管理方法、密钥管理装置、密钥管理设备及存储介质
CN112219202A (zh) 用于客户操作系统的存储器分配
US20190278891A1 (en) Method and apparatus for preventing and investigating software piracy
JP2023015177A (ja) ハードウェアの信頼できる実行環境の待ち時間の低減
JP7087932B2 (ja) ストレージ装置、データ共有システム及びデータ共有方法
JP6253333B2 (ja) 情報処理装置、情報処理システムおよび情報処理方法
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
WO2015087444A1 (ja) ライセンス管理システムおよびライセンス管理方法
JP2005258784A (ja) リソース管理装置、情報処理装置、リソース管理プログラム、リソース表示プログラム及び記録媒体
JP2007018344A (ja) ライセンス情報の更新方法
JP2012181802A (ja) セキュリティ管理システム、セキュリティ管理方法、及びプログラム
US20240045933A1 (en) Method and apparatus for preventing and investigating software piracy
JP6084916B2 (ja) データ送出制限方法、データ送出制限装置及びデータ送出制限プログラム
JP6107286B2 (ja) 分散ストレージシステム、ノード、データ管理方法、及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18757451

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019501812

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18757451

Country of ref document: EP

Kind code of ref document: A1