JP2017058711A - License management apparatus, license management system, license management program, and license management method - Google Patents

License management apparatus, license management system, license management program, and license management method Download PDF

Info

Publication number
JP2017058711A
JP2017058711A JP2015180358A JP2015180358A JP2017058711A JP 2017058711 A JP2017058711 A JP 2017058711A JP 2015180358 A JP2015180358 A JP 2015180358A JP 2015180358 A JP2015180358 A JP 2015180358A JP 2017058711 A JP2017058711 A JP 2017058711A
Authority
JP
Japan
Prior art keywords
virtual machine
code
user
information
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015180358A
Other languages
Japanese (ja)
Inventor
洋平 奥山
Yohei Okuyama
洋平 奥山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015180358A priority Critical patent/JP2017058711A/en
Publication of JP2017058711A publication Critical patent/JP2017058711A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PROBLEM TO BE SOLVED: To ensure proper license management when a virtual machine is used.SOLUTION: A storage unit 1a stores the number of available virtual machines or software programs to be executed by the virtual machines, by user information. On receipt of a machine code C1 from a virtual machine 2a, an arithmetic operation unit 1b acquires user information Y1 from the machine code C1. The arithmetic operation unit 1b determines whether to permit use of the virtual machine 2a or software on the virtual machine 2a, on the basis of the number of available software of the user information Y1 stored in the storage unit 1a. The arithmetic operation unit 1b transmits an authentication code including the machine code C1, to the virtual machine 2a when permitting use. The arithmetic operation unit 1b transmits an error code to the virtual machine 2a when not permitting use.SELECTED DRAWING: Figure 1

Description

本発明はライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法に関する。   The present invention relates to a license management apparatus, a license management system, a license management program, and a license management method.

情報処理の分野では、物理的なコンピュータ(物理マシンや物理ホストと呼ぶことがある)上で、仮想的なコンピュータ(仮想マシンや論理ホストと呼ぶことがある)を動作させる仮想化技術が利用されている。各仮想マシン上では、OS(Operating System)などのソフトウェアを実行できる。仮想化技術を利用する物理マシンは、複数の仮想マシンを管理するためのソフトウェアを実行する。例えば、ハイパーバイザと呼ばれるソフトウェアが、CPU(Central Processing Unit)の処理能力やRAM(Random Access Memory)の記憶領域を、演算のリソースとして複数の仮想マシンに割り振ることがある。   In the field of information processing, virtualization technology is used to operate a virtual computer (sometimes called a virtual machine or logical host) on a physical computer (sometimes called a physical machine or physical host). ing. Software such as an OS (Operating System) can be executed on each virtual machine. A physical machine that uses a virtualization technology executes software for managing a plurality of virtual machines. For example, software called a hypervisor may allocate a processing capacity of a CPU (Central Processing Unit) and a storage area of a RAM (Random Access Memory) to a plurality of virtual machines as computing resources.

仮想マシンで実行されるOSやアプリケーションなどのソフトウェアのプログラムは、補助記憶装置のデータイメージであるイメージファイルとして提供され得る。物理マシンは、イメージファイルを基に仮想マシンや仮想マシン上のソフトウェアを実行できる。   Software programs such as an OS and applications executed in the virtual machine can be provided as an image file that is a data image of the auxiliary storage device. The physical machine can execute a virtual machine and software on the virtual machine based on the image file.

ところで、情報処理システムでは、コンピュータにより種々のソフトウェアが実行されている。ソフトウェアには、ユーザやライセンスなどを認証する機能をもつものがある。例えば、各ユーザ専用の論理ボリュームをストレージに定義し、ユーザが計算機を使用する際に、ユーザを認証し、そのユーザ専用のLU(Logical Unit)を当該ユーザが使用する計算機のみからアクセス許可するよう制御する提案がある。また、読み出し専用の外部媒体により演算装置端末をブートする際に、管理サーバ側で記録されているクッキー情報を演算装置端末に提供することで、ユーザの自動ログイン認証を行う提案がある。   By the way, in the information processing system, various software is executed by a computer. Some software has a function of authenticating a user or a license. For example, a logical volume dedicated to each user is defined in the storage, and when the user uses a computer, the user is authenticated, and access to the LU (Logical Unit) dedicated to the user is permitted only from the computer used by the user. There are suggestions to control. In addition, there is a proposal for performing automatic login authentication of a user by providing the arithmetic device terminal with cookie information recorded on the management server side when booting the arithmetic device terminal with a read-only external medium.

特開2007−293922号公報JP 2007-293922 A 特開2009−139976号公報JP 2009-139976 A

仮想マシンの実行に用いられるイメージファイルは、他の物理マシン上に複製可能である。このため、仮想マシンにおけるソフトウェアの使用ライセンスの管理が問題となる。
例えば、ある仮想マシンで、あるソフトウェアを適正にライセンス認証済とし、認証済である旨の情報がイメージファイルに追加された後に、当該イメージファイルが他の物理マシン上に複製され得る。すると、他の物理マシンにより、複製したイメージファイルを用いて、ライセンス認証済の状態のソフトウェアを含む仮想マシンが起動され、ソフトウェアが不正に使用されるおそれがある。
The image file used to execute the virtual machine can be duplicated on another physical machine. For this reason, management of software use licenses in virtual machines becomes a problem.
For example, after a certain software is properly license-authenticated in a certain virtual machine and information indicating that the software has been authenticated is added to the image file, the image file can be copied onto another physical machine. Then, a virtual machine including software in a license-authenticated state is started by another physical machine using the copied image file, and there is a possibility that the software is used illegally.

この点、各物理マシンでライセンス管理用のソフトウェアを実行して、物理マシン上の仮想マシンで実行されるソフトウェアがライセンス認証済であるかを管理することも考えられる。しかし、仮想マシンのイメージファイルの提供者が必ずしも各物理マシンを管理しているとは限らない。すなわち、上記ライセンス管理用のソフトウェアを各物理マシンに導入するのが難しいこともあり、ソフトウェアの不正使用を防ぐのは容易ではない。   In this regard, it is conceivable to manage whether the software executed on the virtual machine on the physical machine has been license-authenticated by executing the license management software on each physical machine. However, the provider of the virtual machine image file does not necessarily manage each physical machine. In other words, it may be difficult to introduce the license management software to each physical machine, and it is not easy to prevent unauthorized use of the software.

1つの側面では、本発明は、仮想マシン利用時のライセンス管理を適切に行えるライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法を提供することを目的とする。   In one aspect, an object of the present invention is to provide a license management apparatus, a license management system, a license management program, and a license management method that can appropriately perform license management when using a virtual machine.

1つの態様では、仮想マシンを実行可能な情報処理装置と通信するライセンス管理装置が提供される。このライセンス管理装置は、記憶部と演算部とを有する。記憶部は、仮想マシンまたは仮想マシンにより実行されるソフトウェアの利用可能数をユーザ情報毎に記憶する。演算部は、ユーザ情報と仮想マシンの固有情報とに基づいて生成された第1のコードを仮想マシンから受信すると、第1のコードからユーザ情報を取得し、ユーザ情報および利用可能数に基づいて仮想マシンまたはソフトウェアの利用を許可するか否かを判定し、許可する場合は第1のコードを含む第2のコードを仮想マシンに送信し、許可しない場合はエラーを示す第3のコードを仮想マシンに送信する。   In one aspect, a license management apparatus that communicates with an information processing apparatus capable of executing a virtual machine is provided. This license management apparatus includes a storage unit and a calculation unit. The storage unit stores, for each user information, the virtual machine or the number of usable software executed by the virtual machine. When the calculation unit receives the first code generated based on the user information and the unique information of the virtual machine from the virtual machine, the calculation unit acquires the user information from the first code, and based on the user information and the available number It is determined whether or not the use of the virtual machine or software is permitted. If permitted, the second code including the first code is transmitted to the virtual machine. If not permitted, the third code indicating an error is virtually transmitted. Send to machine.

1つの側面では、仮想マシン利用時のライセンス管理を適切に行える。   In one aspect, license management when using a virtual machine can be performed appropriately.

第1の実施の形態のライセンス管理装置を示す図である。It is a figure which shows the license management apparatus of 1st Embodiment. 第2の実施の形態の情報処理システムを示す図である。It is a figure which shows the information processing system of 2nd Embodiment. 管理サーバのハードウェア例を示す図である。It is a figure which shows the hardware example of a management server. 仮想マシンの動作に用いられるファイルの例を示す図である。It is a figure which shows the example of the file used for operation | movement of a virtual machine. 情報処理システムの機能例を示す図である。It is a figure which shows the function example of an information processing system. 固有情報の例を示す図である。It is a figure which shows the example of specific information. ユーザ管理テーブルの例を示す図である。It is a figure which shows the example of a user management table. 仮想マシン管理テーブルの例を示す図である。It is a figure which shows the example of a virtual machine management table. 認証コードの例を示す図である。It is a figure which shows the example of an authentication code. 仮想マシンの使用開始時の処理例を示すフローチャートである。It is a flowchart which shows the process example at the time of the start of use of a virtual machine. 管理サーバのライセンス管理の処理例を示すフローチャートである。It is a flowchart which shows the process example of the license management of a management server. イメージファイル複製時の認証処理の具体例を示す図である。It is a figure which shows the specific example of the authentication process at the time of image file duplication. 他のテーブル例(その1)を示す図である。It is a figure which shows the other example of a table (the 1). 他のテーブル例(その2)を示す図である。It is a figure which shows the other example of a table (the 2).

以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態のライセンス管理装置を示す図である。ライセンス管理装置1は、情報処理装置2,3とネットワーク4を介して接続されている。ライセンス管理装置1は、情報処理装置2,3とネットワーク4を介して通信する。情報処理装置2は、仮想マシン2aを実行可能な物理マシンである。情報処理装置3は、仮想マシン3aを実行可能な物理マシンである。情報処理装置2,3は、ハイパーバイザと呼ばれるソフトウェアを実行してもよい。情報処理装置2のハイパーバイザは、情報処理装置2が備えるCPUやRAMなどのハードウェア資源を用いて仮想マシン2aを動作させる。同様に、情報処理装置3のハイパーバイザは、情報処理装置3が備えるCPUやRAMなどのハードウェア資源を用いて仮想マシン3aを動作させる。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a license management apparatus according to the first embodiment. The license management apparatus 1 is connected to the information processing apparatuses 2 and 3 via the network 4. The license management apparatus 1 communicates with the information processing apparatuses 2 and 3 via the network 4. The information processing apparatus 2 is a physical machine that can execute the virtual machine 2a. The information processing apparatus 3 is a physical machine that can execute the virtual machine 3a. The information processing apparatuses 2 and 3 may execute software called a hypervisor. The hypervisor of the information processing apparatus 2 operates the virtual machine 2a using hardware resources such as a CPU and a RAM provided in the information processing apparatus 2. Similarly, the hypervisor of the information processing apparatus 3 operates the virtual machine 3a using hardware resources such as a CPU and a RAM provided in the information processing apparatus 3.

ここで、情報処理装置2は記憶装置を有し、当該記憶装置によりイメージファイル2bおよび構成ファイル2cを記憶する。イメージファイル2bは、仮想マシン2aの補助記憶装置のイメージデータである。イメージファイル2bは、仮想ディスクイメージ、または、ディスクファイルなどと呼ばれることもある。例えば、イメージファイル2bは、仮想マシン2aが実行するソフトウェア(OS、ミドルウェアまたはアプリケーションソフトウェアなど)がインストール済の状態となっている。構成ファイル2cは、仮想マシン2aに割り当てる物理的なリソースに関するデータである。構成ファイル2cは、仮想マシン2aの固有情報X1を含む。固有情報X1は、仮想マシン2aに固有の情報である。固有情報X1の一例として、UUID(Universally Unique IDentifier)やMAC(Media Access Control)アドレスなどが考えられる。例えば、情報処理装置2のハイパーバイザは、イメージファイル2bおよび構成ファイル2cを基に、仮想マシン2aを動作させることができる。ここで、後述するように、仮想マシン3aは、イメージファイル2bの複製であるイメージファイル3bによって起動される仮想マシンである(仮想マシン3aは仮想マシン2aのいわゆるクローンであるということができる)。   Here, the information processing apparatus 2 includes a storage device, and stores the image file 2b and the configuration file 2c by the storage device. The image file 2b is image data of the auxiliary storage device of the virtual machine 2a. The image file 2b may be referred to as a virtual disk image or a disk file. For example, in the image file 2b, software (OS, middleware, application software, etc.) executed by the virtual machine 2a is already installed. The configuration file 2c is data regarding physical resources allocated to the virtual machine 2a. The configuration file 2c includes unique information X1 of the virtual machine 2a. The unique information X1 is information unique to the virtual machine 2a. As an example of the unique information X1, a UUID (Universally Unique IDentifier), a MAC (Media Access Control) address, or the like can be considered. For example, the hypervisor of the information processing apparatus 2 can operate the virtual machine 2a based on the image file 2b and the configuration file 2c. Here, as will be described later, the virtual machine 3a is a virtual machine that is activated by an image file 3b that is a copy of the image file 2b (the virtual machine 3a can be said to be a so-called clone of the virtual machine 2a).

ライセンス管理装置1は、仮想マシン2a,3a、または、仮想マシン2a,3aにより実行されるソフトウェアのライセンスを管理する情報処理装置である。例えば、ライセンス管理装置1によるライセンス管理の対象となるソフトウェアとしては、仮想マシン2a,3aにより実行されるOS、ミドルウェアまたはアプリケーションソフトウェアなどが考えられる。ライセンス管理装置1はコンピュータと呼ばれるものでもよい。   The license management apparatus 1 is an information processing apparatus that manages licenses of software executed by the virtual machines 2a and 3a or the virtual machines 2a and 3a. For example, the software that is subject to license management by the license management apparatus 1 may be an OS, middleware, or application software executed by the virtual machines 2a and 3a. The license management apparatus 1 may be called a computer.

ライセンス管理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。演算部1bはプログラムを実行するプロセッサであってもよい。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。   The license management device 1 includes a storage unit 1a and a calculation unit 1b. The storage unit 1a may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The calculation unit 1b may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like. The calculation unit 1b may be a processor that executes a program. As used herein, the “processor” may include a set of multiple processors (multiprocessor).

記憶部1aは、仮想マシンまたは仮想マシンでのソフトウェアの利用可能数をユーザ情報毎に記憶する。ユーザ情報は、ユーザIDなどを含む。ユーザ情報は、ユーザアカウントに関するアカウント情報であるということもできる。具体的には、記憶部1aは、ライセンス情報T1を記憶する。ライセンス情報T1は、ユーザのユーザ情報と、仮想マシンまたはソフトウェアの利用可能数との対応関係の情報である。仮想マシンの利用可能数とは、ユーザが利用してよい仮想マシンの数である。ソフトウェアの利用可能数とは、ユーザ毎の利用ライセンス数(仮想マシンへのインストールが認められている数)である。   The storage unit 1a stores a virtual machine or the number of usable software in the virtual machine for each user information. The user information includes a user ID and the like. It can also be said that the user information is account information related to the user account. Specifically, the storage unit 1a stores license information T1. The license information T1 is information on the correspondence between the user information of the user and the number of usable virtual machines or software. The usable number of virtual machines is the number of virtual machines that a user may use. The number of usable software is the number of use licenses for each user (the number allowed to be installed in a virtual machine).

例えば、ユーザは、あるイメージファイルから起動される仮想マシンを利用する権利を当該イメージファイルの提供元から購入できる。また、例えば、ユーザは、ソフトウェアのベンダなどからソフトウェアを仮想マシンにインストールして利用する権利を購入できる。すると、購入数に応じて、ライセンス情報T1の利用可能数を追加できる(例えば、購入数に応じて発行されたライセンス追加用のコードをライセンス管理装置1に入力するなど)。例えば、ユーザは、仮想マシンにソフトウェアをインストールして利用することができる。すると、インストール数に応じてライセンス情報T1の利用可能数が減少する。ライセンス管理装置1は、該当のユーザが利用可能な上限数と現在の利用数とによって利用可能数(上限数と現在の利用数との差)を管理してもよい。   For example, a user can purchase a right to use a virtual machine started from an image file from the provider of the image file. Further, for example, the user can purchase a right to install and use software in a virtual machine from a software vendor or the like. Then, the usable number of license information T1 can be added according to the number of purchases (for example, a license addition code issued according to the number of purchases is input to the license management apparatus 1). For example, the user can install and use software in a virtual machine. Then, the available number of license information T1 decreases according to the number of installations. The license management apparatus 1 may manage the available number (difference between the upper limit number and the current usage number) based on the upper limit number that can be used by the user and the current usage number.

例えば、ライセンス情報T1には、あるイメージファイルから起動される仮想マシン、または、あるソフトウェアについて、ユーザ“A”に対して、利用可能数“1”という情報が登録されている。これは、当該仮想マシンまたはソフトウェアが、ユーザ情報“A”に対応するユーザに対して、1つの利用が認められていることを示す。また、例えば、ライセンス情報T1には、同ソフトウェアについて、ユーザ情報“B”に対して、利用可能数“2”という情報が登録されている。これは、当該ソフトウェアが、ユーザ情報“B”に対応するユーザに対して、2つの利用が認められていることを示す。   For example, in the license information T1, information “1” that can be used for a user “A” is registered for a virtual machine or software started from a certain image file. This indicates that one use of the virtual machine or software is permitted for the user corresponding to the user information “A”. Further, for example, in the license information T1, information on the number of usable information “2” is registered for the user information “B” for the software. This indicates that the software is allowed to be used in two ways for the user corresponding to the user information “B”.

演算部1bは、ユーザ情報と仮想マシンの固有情報とに基づいて生成された第1のコード(以下、マシンコードと称する)を仮想マシンから受信する。例えば、仮想マシン2aは、ユーザU1によって利用される。ユーザU1は、情報処理装置2に接続された入力デバイスを操作して、仮想マシン2aを利用することもできるし、ネットワーク4を介して情報処理装置2に接続された端末装置を操作して、ネットワーク4経由で仮想マシン2aを利用することもできる。例えば、仮想マシン2aは、ユーザU1が仮想マシン2aの利用を開始しようとするときに、情報処理装置2に接続された表示装置またはユーザU1が操作する端末装置に所定のログイン画面を表示させ、ユーザU1によるユーザ情報Y1の入力を受け付ける。すると、仮想マシン2aは、仮想マシン2aの固有情報X1およびユーザ情報Y1に基づいて、マシンコードC1を生成し、ライセンス管理装置1に送信する。演算部1bは、マシンコードC1を仮想マシン2aから受信する。   The computing unit 1b receives a first code (hereinafter referred to as a machine code) generated based on the user information and the unique information of the virtual machine from the virtual machine. For example, the virtual machine 2a is used by the user U1. The user U1 can operate the input device connected to the information processing apparatus 2 to use the virtual machine 2a, or operate the terminal apparatus connected to the information processing apparatus 2 via the network 4, The virtual machine 2a can also be used via the network 4. For example, when the user U1 tries to start using the virtual machine 2a, the virtual machine 2a displays a predetermined login screen on the display device connected to the information processing device 2 or the terminal device operated by the user U1, The input of the user information Y1 by the user U1 is received. Then, the virtual machine 2a generates a machine code C1 based on the unique information X1 and user information Y1 of the virtual machine 2a, and transmits the machine code C1 to the license management apparatus 1. The computing unit 1b receives the machine code C1 from the virtual machine 2a.

演算部1bは、マシンコードからユーザ情報を取得し、ユーザ情報および利用可能数に基づいて仮想マシンまたは管理対象のソフトウェアの利用を許可するか否かを判定する。
例えば、演算部1bは、マシンコードC1からユーザ情報Y1を取得する。演算部1bは、ユーザ情報Y1およびライセンス情報T1に登録されたユーザ情報毎の利用可能数に基づいて、管理対象のソフトウェアがユーザU1により利用可能であるか否かを判定する。例えば、ユーザ情報Y1は“A”を示す。ライセンス情報T1によれば、ユーザ情報“A”に対する管理対象のソフトウェアの利用可能数は“1”である。この場合、当該ソフトウェアはユーザU1により利用可能となる。なお、着目するユーザ情報のレコードがライセンス情報T1に存在しない場合や、当該レコードが存在しても利用可能数が“0”の場合、当該ソフトウェアはユーザU1により利用不可となる。
The computing unit 1b acquires user information from the machine code, and determines whether to permit the use of the virtual machine or the software to be managed based on the user information and the available number.
For example, the calculation unit 1b acquires user information Y1 from the machine code C1. The computing unit 1b determines whether or not the software to be managed is available to the user U1 based on the available number for each user information registered in the user information Y1 and the license information T1. For example, the user information Y1 indicates “A”. According to the license information T1, the usable number of management target software for the user information “A” is “1”. In this case, the software can be used by the user U1. Note that if the user information record of interest does not exist in the license information T1, or if the available number is “0” even if the record exists, the software cannot be used by the user U1.

演算部1bは、利用を許可する場合はマシンコード(第1のコード)を含む第2のコード(以下、認証コードと称する)を仮想マシンに送信する。また、演算部1bは、利用を許可しない場合は、エラーを示す第3のコード(以下、エラーコードと称する)を仮想マシンに送信する。   When permitting use, the computing unit 1b transmits a second code (hereinafter referred to as an authentication code) including a machine code (first code) to the virtual machine. In addition, when the operation unit 1b does not permit the use, the operation unit 1b transmits a third code indicating an error (hereinafter referred to as an error code) to the virtual machine.

例えば、演算部1bは、上記の利用可否判定で、該当のソフトウェアがユーザU1により利用可能であると判定した場合、マシンコードC1を含む認証コードCを仮想マシン2aに送信する。このとき、演算部1bは、ライセンス情報T1において、該当のソフトウェアのユーザU1(ユーザ情報“A”)による利用可能数を1減算する。一方、演算部1bは、上記の利用可否判定で、該当のソフトウェアがユーザU1により利用不可であると判定した場合、エラーコードを仮想マシン2aに送信する。演算部1bによるマシンコードの受信から認証コード(またはエラーコード)の送信までの一連の処理をライセンス管理装置1によるライセンス認証の処理といえる。   For example, when it is determined in the above-described availability determination that the corresponding software can be used by the user U1, the arithmetic unit 1b transmits an authentication code C including the machine code C1 to the virtual machine 2a. At this time, the calculation unit 1b subtracts 1 from the number of available software users U1 (user information “A”) in the license information T1. On the other hand, when it is determined in the above availability determination that the corresponding software is not usable by the user U1, the arithmetic unit 1b transmits an error code to the virtual machine 2a. A series of processing from the reception of the machine code by the calculation unit 1b to the transmission of the authentication code (or error code) can be said to be the license authentication processing by the license management apparatus 1.

仮想マシン2aは、ライセンス管理装置1からエラーコードを受信した場合、ユーザU1が不正ユーザであると判断して、仮想マシン2aまたは管理対象のソフトウェアの利用を許可しない。   When the virtual machine 2a receives the error code from the license management apparatus 1, the virtual machine 2a determines that the user U1 is an unauthorized user and does not permit the use of the virtual machine 2a or the management target software.

仮想マシン2aは、認証コードCを受信した場合、イメージファイル2bに認証コードCを追加する。仮想マシン2aは、認証コードCに含まれるマシンコードC1が、仮想マシン2aの固有情報X1およびユーザ情報Y1に基づいて作成されたものであることを検証する。仮想マシン2aは、検証に成功すると、ユーザU1による仮想マシン2aまたは管理対象のソフトウェアの利用を許可する。仮想マシン2aは、固有情報X1およびユーザ情報Y1により作成されるマシンコードC1と、認証コードCに含まれるマシンコードC1との両者が一致する場合、当該検証が成功であると判断する。一方、両者が一致しない場合、仮想マシン2aは、検証が失敗であると判断する。仮想マシン2aは、検証に失敗した場合、ユーザU1による仮想マシン2aまたは管理対象のソフトウェアの利用を許可しない(一連の認証処理において、コード改ざんなどの不正な操作が行われた可能性があるため)。   When the virtual machine 2a receives the authentication code C, the virtual machine 2a adds the authentication code C to the image file 2b. The virtual machine 2a verifies that the machine code C1 included in the authentication code C is created based on the unique information X1 and user information Y1 of the virtual machine 2a. When the verification is successful, the virtual machine 2a permits the user U1 to use the virtual machine 2a or the management target software. The virtual machine 2a determines that the verification is successful when both the machine code C1 created by the unique information X1 and the user information Y1 match the machine code C1 included in the authentication code C. On the other hand, if the two do not match, the virtual machine 2a determines that the verification has failed. When the verification fails, the virtual machine 2a does not allow the user U1 to use the virtual machine 2a or the software to be managed (since there is a possibility that an unauthorized operation such as code falsification has been performed in a series of authentication processes). ).

同様に、仮想マシン2aは、以後、イメージファイル2bに追加された認証コードCを用いて、ユーザによる利用可否の判定を仮想マシン2a自身により行える。具体的には、仮想マシン2aは、仮想マシン2aへのログインのたびにユーザU1により入力されるユーザ情報Y1と、固有情報X1とを用いてマシンコードC1を生成する。そして、仮想マシン2aは、生成したマシンコードC1と、イメージファイル2b内の認証コードCに含まれるマシンコードC1との両者が一致する場合、仮想マシン2aまたは管理対象のソフトウェアの利用を許可する。仮想マシン2aは、両者が一致しなければ、仮想マシン2aまたは管理対象のソフトウェアの利用を許可せずに、今回生成したマシンコードをライセンス管理装置1に送信して再度ライセンス認証を受ける。   Similarly, the virtual machine 2a can use the authentication code C added to the image file 2b to determine whether or not the user can use the virtual machine 2a. Specifically, the virtual machine 2a generates the machine code C1 using the user information Y1 input by the user U1 and the unique information X1 each time the user logs in to the virtual machine 2a. When the generated machine code C1 and the machine code C1 included in the authentication code C in the image file 2b match, the virtual machine 2a permits the use of the virtual machine 2a or software to be managed. If the two do not match, the virtual machine 2a transmits the machine code generated this time to the license management apparatus 1 without receiving permission to use the virtual machine 2a or software to be managed, and receives license authentication again.

これにより、仮想マシンで実行されるソフトウェアのライセンスを適切に管理できる。具体的には次の通りである。例えば、ユーザU1またはユーザU2は、イメージファイル2bを複製したイメージファイル3bを、情報処理装置3が備える記憶装置に格納することができる。すると、情報処理装置3は、イメージファイル3bを用いて、仮想マシン2aのクローンである仮想マシン3aを情報処理装置3上で動作させることが可能となる。   This makes it possible to appropriately manage licenses for software executed on the virtual machine. Specifically, it is as follows. For example, the user U1 or the user U2 can store the image file 3b obtained by duplicating the image file 2b in a storage device included in the information processing apparatus 3. Then, the information processing apparatus 3 can operate the virtual machine 3a that is a clone of the virtual machine 2a on the information processing apparatus 3 using the image file 3b.

この場合、仮想マシン3aは、仮想マシン2aと同様にイメージファイル3bに含まれる認証コードCに基づく認証を行うことになる。例えば、仮想マシン3aを動作させるために、情報処理装置3では構成ファイル3cが新たに生成される。構成ファイル3cは、仮想マシン3aの固有情報X2を含む。固有情報X2は、固有情報X1とは異なる値をとる。このとき、仮想マシン3aは、固有情報X2と、ユーザU2により入力されたユーザ情報Y2とに基づいてマシンコードC2を生成し、認証コードCに含まれるマシンコードC1と照合する。この場合、両者は一致しないので、仮想マシン3aは、マシンコードC2をライセンス管理装置1に送信して再度ライセンス認証を受けることになる。   In this case, the virtual machine 3a performs authentication based on the authentication code C included in the image file 3b, similarly to the virtual machine 2a. For example, in order to operate the virtual machine 3a, the configuration file 3c is newly generated in the information processing apparatus 3. The configuration file 3c includes unique information X2 of the virtual machine 3a. The unique information X2 takes a value different from the unique information X1. At this time, the virtual machine 3a generates the machine code C2 based on the unique information X2 and the user information Y2 input by the user U2, and collates it with the machine code C1 included in the authentication code C. In this case, since they do not match, the virtual machine 3a transmits the machine code C2 to the license management apparatus 1 and receives license authentication again.

あるいは、仮想マシン3aは、固有情報X2とユーザU1により入力されたユーザ情報Y1とに基づいてマシンコードを生成し、認証コードCに含まれるマシンコードC1と照合する。この場合、両者は一致しないので、仮想マシン3aは、生成したマシンコードをライセンス管理装置1に送信して再度ライセンス認証を受けることになる。   Alternatively, the virtual machine 3a generates a machine code based on the unique information X2 and the user information Y1 input by the user U1, and collates it with the machine code C1 included in the authentication code C. In this case, since they do not match, the virtual machine 3a transmits the generated machine code to the license management apparatus 1 and receives license authentication again.

一方、例えば、あるソフトウェアについて、単にライセンス認証済であることを示す認証済情報(マシンコードを含まない)をイメージファイル2bに格納することも考えられる。しかし、この場合、イメージファイル2bを複製してイメージファイル3bが作成されてしまうと、該当のソフトウェアが認証済の状態で、イメージファイル3bにより仮想マシン3aを起動可能となってしまう。すると、ライセンスをもたない不正なユーザにより仮想マシンやソフトウェアが不正に利用されたり、ライセンスをもつユーザによりライセンスで許容されている数を超過して仮想マシンやソフトウェアが不正に利用されたりするおそれがある。   On the other hand, for example, it is also conceivable to store in the image file 2b authenticated information (not including a machine code) indicating that a certain software has been license-authenticated. However, in this case, if the image file 3b is created by duplicating the image file 2b, the virtual machine 3a can be activated by the image file 3b with the corresponding software already authenticated. If this happens, an unauthorized user without a license may illegally use a virtual machine or software, or a licensed user may illegally use a virtual machine or software beyond the number permitted by the license. There is.

これに対し、ライセンス管理装置1によれば、マシンコードを仮想マシン2aから取得してライセンス認証を行い、当該マシンコード含む認証コードを仮想マシン2aに送信する。そして、ユーザU2が仮想マシン2aを利用する際やユーザU1またはユーザU2が仮想マシン3aを利用しようとする際に、ライセンス管理装置1による再度のライセンス認証を課すことができ、ライセンス管理を適切に行うことができる。   On the other hand, according to the license management apparatus 1, a machine code is acquired from the virtual machine 2a, license authentication is performed, and an authentication code including the machine code is transmitted to the virtual machine 2a. When the user U2 uses the virtual machine 2a or when the user U1 or the user U2 tries to use the virtual machine 3a, the license management apparatus 1 can impose license authentication again, and the license management can be performed appropriately. It can be carried out.

[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、管理サーバ100、業務サーバ200,200aおよびPC(Personal Computer)300,300aを含む。管理サーバ100は、ネットワーク10に接続されている。ネットワーク10は、LAN(Local Area Network)でもよいしインターネットやWAN(Wide Area Network)などでもよい。業務サーバ200,200aおよびPC300,300aは、ネットワーク20に接続されている。ネットワーク20は、例えばLANである。ネットワーク20は、ネットワーク10に接続されている。
[Second Embodiment]
FIG. 2 illustrates an information processing system according to the second embodiment. The information processing system according to the second embodiment includes a management server 100, business servers 200 and 200a, and PCs (Personal Computers) 300 and 300a. The management server 100 is connected to the network 10. The network 10 may be a LAN (Local Area Network), the Internet, a WAN (Wide Area Network), or the like. The business servers 200 and 200a and the PCs 300 and 300a are connected to the network 20. The network 20 is a LAN, for example. The network 20 is connected to the network 10.

管理サーバ100は、業務サーバ200,200aで実行されるソフトウェアのライセンスを管理するサーバコンピュータである。管理対象のソフトウェアは、OS、ミドルウェアおよびアプリケーションソフトウェアを含む。管理サーバ100は、第1の実施の形態のライセンス管理装置1の一例である。   The management server 100 is a server computer that manages licenses of software executed on the business servers 200 and 200a. Managed software includes OS, middleware, and application software. The management server 100 is an example of the license management apparatus 1 according to the first embodiment.

業務サーバ200,200aは、ユーザの業務を支援するサーバコンピュータである。業務サーバ200,200aは、仮想マシンを実行する。仮想マシンは、ユーザの業務支援に用いられる各種のソフトウェア(OS、ミドルウェアおよびアプリケーションソフトウェアを含む)を実行する。業務サーバ200,200aは、第1の実施の形態の情報処理装置2,3の一例である。   The business servers 200 and 200a are server computers that support a user's business. The business servers 200 and 200a execute virtual machines. The virtual machine executes various kinds of software (including OS, middleware, and application software) that are used for user's business support. The business servers 200 and 200a are examples of the information processing apparatuses 2 and 3 according to the first embodiment.

PC300,300aは、ユーザによって利用されるクライアントコンピュータである。PC300は、ユーザ30によって利用される。PC300aは、ユーザ30aによって利用される。ユーザ30は、PC300を操作して、業務サーバ200で動作する仮想マシンに業務処理を要求できる。すると、要求を受け付けた仮想マシンは、業務処理を実行し、その結果をPC300に応答する。PC300は、業務サーバ200,200aで動作する仮想マシンの利用を開始する際、仮想マシンに対してユーザ情報を入力し、ログイン認証を受ける。ユーザ30aも同様にして、PC300aを操作して、業務サーバ200や業務サーバ200aで動作する仮想マシンを利用できる。   The PCs 300 and 300a are client computers used by users. The PC 300 is used by the user 30. The PC 300a is used by the user 30a. The user 30 can request the business process from the virtual machine operating on the business server 200 by operating the PC 300. Then, the virtual machine that has received the request executes business processing, and returns the result to the PC 300. When the PC 300 starts using a virtual machine operating on the business servers 200 and 200a, the PC 300 inputs user information to the virtual machine and receives login authentication. Similarly, the user 30a can operate the PC 300a to use the business server 200 or a virtual machine that operates on the business server 200a.

図3は、管理サーバのハードウェア例を示す図である。管理サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。各ユニットは管理サーバ100のバスに接続されている。業務サーバ200,200aおよびPC300,300aも管理サーバ100と同様のユニットを用いて実現できる。   FIG. 3 is a diagram illustrating a hardware example of the management server. The management server 100 includes a processor 101, a RAM 102, an HDD 103, an image signal processing unit 104, an input signal processing unit 105, a medium reader 106, and a communication interface 107. Each unit is connected to the bus of the management server 100. The business servers 200 and 200a and the PCs 300 and 300a can also be realized using the same units as the management server 100.

プロセッサ101は、管理サーバ100の情報処理を制御する。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。   The processor 101 controls information processing of the management server 100. The processor 101 may be a multiprocessor. The processor 101 is, for example, a CPU, DSP, ASIC, or FPGA. The processor 101 may be a combination of two or more elements of CPU, DSP, ASIC, FPGA, and the like.

RAM102は、管理サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。   The RAM 102 is a main storage device of the management server 100. The RAM 102 temporarily stores at least part of an OS program and application programs to be executed by the processor 101. The RAM 102 stores various data used for processing by the processor 101.

HDD103は、管理サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、OSのプログラム、アプリケーションプログラム、および各種データを記憶する。管理サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。   The HDD 103 is an auxiliary storage device of the management server 100. The HDD 103 magnetically writes and reads data to and from the built-in magnetic disk. The HDD 103 stores an OS program, application programs, and various data. The management server 100 may include other types of auxiliary storage devices such as flash memory and SSD (Solid State Drive), or may include a plurality of auxiliary storage devices.

画像信号処理部104は、プロセッサ101からの命令に従って、管理サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。   The image signal processing unit 104 outputs an image to the display 11 connected to the management server 100 in accordance with an instruction from the processor 101. As the display 11, a CRT (Cathode Ray Tube) display, a liquid crystal display, or the like can be used.

入力信号処理部105は、管理サーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、例えば、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。   The input signal processing unit 105 acquires an input signal from the input device 12 connected to the management server 100 and outputs it to the processor 101. As the input device 12, for example, a pointing device such as a mouse or a touch panel, a keyboard, or the like can be used.

媒体リーダ106は、記録媒体13に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体13として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ106は、例えば、プロセッサ101からの命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。   The medium reader 106 is a device that reads programs and data recorded on the recording medium 13. As the recording medium 13, for example, a magnetic disk such as a flexible disk (FD) or an HDD, an optical disk such as a CD (Compact Disc) or a DVD (Digital Versatile Disc), or a magneto-optical disk (MO) is used. Can be used. Further, as the recording medium 13, for example, a non-volatile semiconductor memory such as a flash memory card can be used. For example, the medium reader 106 stores the program and data read from the recording medium 13 in the RAM 102 or the HDD 103 in accordance with an instruction from the processor 101.

通信インタフェース107は、ネットワーク10を介して他の装置と通信を行う。通信インタフェース107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。   The communication interface 107 communicates with other devices via the network 10. The communication interface 107 may be a wired communication interface or a wireless communication interface.

なお、管理サーバ100、業務サーバ200,200aおよびPC300,300aは、ディスプレイ11および入力デバイス12の少なくとも何れかを内蔵してもよい。
図4は、仮想マシンの動作に用いられるファイルの例を示す図である。業務サーバ200は、ハイパーバイザV1を実行する。業務サーバ200aは、ハイパーバイザV2を実行する。ハイパーバイザV1,V2は、仮想マシンモニタ(VMM:Virtual Machine Monitor)と呼ばれることもある。
The management server 100, the business servers 200 and 200a, and the PCs 300 and 300a may incorporate at least one of the display 11 and the input device 12.
FIG. 4 is a diagram illustrating an example of a file used for the operation of the virtual machine. The business server 200 executes the hypervisor V1. The business server 200a executes the hypervisor V2. The hypervisors V1 and V2 are sometimes called virtual machine monitors (VMMs).

ハイパーバイザV1は、業務サーバ200が備えるプロセッサやメモリなどのリソースを用いて、業務サーバ200上で仮想マシンM1を動作させる。このとき、仮想マシンM1が利用可能な仮想的な補助記憶装置は、イメージファイルF11として提供される。   The hypervisor V1 operates the virtual machine M1 on the business server 200 using resources such as a processor and a memory included in the business server 200. At this time, a virtual auxiliary storage device that can be used by the virtual machine M1 is provided as an image file F11.

イメージファイルF11は、業務サーバ200が備えるHDDやSSDなどの補助記憶装置に格納されるファイルである。イメージファイルF11は、OS、ミドルウェアおよびアプリケーションソフトウェアが予めインストールされた状態の補助記憶装置のデータである。イメージファイルF11は、仮想的な補助記憶装置(仮想ディスクということもある)に相当するデータであるということもできる。すなわち、仮想マシンM1により不揮発性の記憶装置にデータを格納する処理は、イメージファイルF11に当該データを格納することに相当する。例えば、仮想マシンM1は、仮想マシンM1のOSなどのソフトウェアが、適正にライセンス認証されると、ライセンス認証済であることを示す認証情報を、イメージファイルF11に追加する。   The image file F11 is a file stored in an auxiliary storage device such as an HDD or an SSD provided in the business server 200. The image file F11 is data of the auxiliary storage device in a state where the OS, middleware, and application software are installed in advance. It can also be said that the image file F11 is data corresponding to a virtual auxiliary storage device (also referred to as a virtual disk). That is, the process of storing data in the nonvolatile storage device by the virtual machine M1 corresponds to storing the data in the image file F11. For example, when software such as the OS of the virtual machine M1 is properly license-authenticated, the virtual machine M1 adds authentication information indicating that the license has been authenticated to the image file F11.

また、仮想マシンM1のハードウェア構成に関する情報は、構成ファイルF12として提供される。構成ファイルF12は、仮想マシンM1で用いられるハードウェアに関する固有情報(UUIDやMACアドレスなど)を含む。例えば、UUIDは、業務サーバ200の所定の識別子と、構成ファイルF12の格納パスとを基に、構成ファイルF12の作成時に決定される。また、例えば、MACアドレスは、所定のルールに則って、あるいは、システムの管理者により静的に、仮想マシン毎に一意の値が付与される。   Information regarding the hardware configuration of the virtual machine M1 is provided as a configuration file F12. The configuration file F12 includes unique information (UUID, MAC address, etc.) related to hardware used in the virtual machine M1. For example, the UUID is determined when the configuration file F12 is created based on a predetermined identifier of the business server 200 and the storage path of the configuration file F12. Further, for example, a unique value is assigned to each virtual machine for the MAC address in accordance with a predetermined rule or statically by a system administrator.

ここで、イメージファイルF11は、業務サーバ200のファイルシステムで管理される通常のファイルと同様に、複製が可能である。このため、例えば、イメージファイルF11を複製したファイルであるイメージファイルF21を、ネットワーク20経由または記録媒体を用いて、業務サーバ200aの補助記憶装置に格納することもできる。すると、ハイパーバイザV2は、業務サーバ200aが備えるプロセッサやメモリなどのリソースを用いて、イメージファイルF21を基に、仮想マシンM2を動作させることが可能となる。なお、この場合、構成ファイルF22については、仮想マシンM2に固有の設定としなければ仮想マシンM2を適切に動作させることができない(例えば、仮想マシンM1,M2でMACアドレスの重複があると適切に通信できないなど)。このため、業務サーバ200aで、仮想マシンM2に対して、構成ファイルF12とは異なる設定の構成ファイルF22を新たに作成することになる。   Here, the image file F11 can be copied in the same manner as a normal file managed by the file system of the business server 200. For this reason, for example, the image file F21, which is a file obtained by copying the image file F11, can be stored in the auxiliary storage device of the business server 200a via the network 20 or using a recording medium. Then, the hypervisor V2 can operate the virtual machine M2 based on the image file F21 using resources such as a processor and a memory included in the business server 200a. In this case, the configuration file F22 cannot be operated properly unless the settings specific to the virtual machine M2 are set (for example, if there are duplicate MAC addresses in the virtual machines M1 and M2) Etc.) For this reason, the business server 200a newly creates a configuration file F22 having a setting different from that of the configuration file F12 for the virtual machine M2.

このように、業務サーバ200aでは、イメージファイルF21を用いて、仮想マシンM1のいわゆるクローンである仮想マシンM2を動作させることができる。イメージファイルF21がソフトウェアの認証情報を含んでいると、仮想マシンM2動作時に、当該認証情報によりライセンス認証が済んでいるものと判断されてしまう。すると、ライセンス契約がなされていないユーザであるにも関わらず、該当のソフトウェアが利用されるおそれがある。または、ライセンスをもつユーザであるがライセンスされた数を超過しているにも関わらず、該当のソフトウェアが利用されるおそれもある。そこで、第2の実施の形態の情報処理システムは、仮想マシンにおけるソフトウェアのライセンスを適切に管理可能にする機能を提供する。   As described above, the business server 200a can operate the virtual machine M2, which is a so-called clone of the virtual machine M1, using the image file F21. If the image file F21 includes software authentication information, it is determined that the license authentication has been completed based on the authentication information when the virtual machine M2 is operating. Then, even though the user is not licensed, there is a risk that the corresponding software is used. Alternatively, although the user is a licensed user, the corresponding software may be used even though the number of licenses is exceeded. Therefore, the information processing system according to the second embodiment provides a function that enables appropriate management of software licenses in a virtual machine.

図5は、情報処理システムの機能例を示す図である。管理サーバ100は、記憶部110、認証部120および認証コード生成部130を有する。記憶部110は、RAM102またはHDD103に確保された記憶領域として実現される。認証部120および認証コード生成部130は、RAM102に格納されたプログラムをプロセッサ101が実行することで実現される。   FIG. 5 is a diagram illustrating an example of functions of the information processing system. The management server 100 includes a storage unit 110, an authentication unit 120, and an authentication code generation unit 130. The storage unit 110 is realized as a storage area secured in the RAM 102 or the HDD 103. The authentication unit 120 and the authentication code generation unit 130 are realized by the processor 101 executing a program stored in the RAM 102.

記憶部110は、ユーザによるソフトウェアの利用に関するライセンスを管理するためのライセンス管理情報を記憶する。第2の実施の形態では、ライセンス管理対象のソフトウェアの一例として、仮想マシンM1,M2で実行されるOSを考える。ただし、管理サーバ100は、ミドルウェアやアプリケーションソフトウェアなどの他の種類のソフトウェアのライセンスも同様に管理可能である。あるいは、OS、ミドルウェアおよびアプリケーションソフトウェアなどを1つにまとめた仮想アプライアンスとして仮想マシンが利用される場合、仮想アプライアンス単位にライセンスを管理することも考えられる。また、管理対象のライセンスは、仮想マシン自体の利用に関するライセンスでもよい(仮想マシン自体もソフトウェアによって実現されるので、仮想マシンの利用ライセンスをソフトウェアの利用ライセンスと考えてもよい)。   The storage unit 110 stores license management information for managing licenses related to the use of software by the user. In the second embodiment, an OS executed in the virtual machines M1 and M2 is considered as an example of license management target software. However, the management server 100 can similarly manage licenses for other types of software such as middleware and application software. Alternatively, when a virtual machine is used as a virtual appliance in which the OS, middleware, application software, and the like are combined into one, it is possible to manage licenses in units of virtual appliances. Further, the license to be managed may be a license relating to the use of the virtual machine itself (the virtual machine itself is also realized by software, so the use license of the virtual machine may be considered as the use license of the software).

認証部120は、仮想マシンM1から受信するマシンコードと、記憶部110に記憶されたライセンス管理情報とに基づいて、仮想マシンM1で利用されるソフトウェア(ここでは、OS)のライセンス認証を行う。マシンコードは、仮想マシンM1の固有情報および仮想マシンM1に入力されたユーザ30のユーザ情報に基づいて、仮想マシンM1により作成されるコードである。   Based on the machine code received from the virtual machine M1 and the license management information stored in the storage unit 110, the authentication unit 120 performs license authentication for software (here, OS) used in the virtual machine M1. The machine code is a code created by the virtual machine M1 based on the unique information of the virtual machine M1 and the user information of the user 30 input to the virtual machine M1.

認証コード生成部130は、認証部120によるライセンス認証の結果に応じて、所定のコードを生成し、仮想マシンM1に送信する。認証コード生成部130が生成するコードは2種類ある。第1には、ライセンス認証に成功したことを示す認証コードである。第2には、ライセンス認証に失敗したことを示すエラーコードである。認証コードは、仮想マシンM1から取得したマシンコードを含む。また、認証コードは、管理サーバ100によって仮想マシンM1に対して付与されたマシンIDを含む。マシンIDは、管理サーバ100によって各仮想マシンに付与される管理用のIDである。認証コード生成部130は、認証コードおよびエラーコードを暗号化して、業務サーバ200に送信してもよい。暗号化方式としては、例えば共通鍵方式や公開鍵方式などを利用できる。   The authentication code generation unit 130 generates a predetermined code according to the result of the license authentication by the authentication unit 120 and transmits it to the virtual machine M1. There are two types of codes generated by the authentication code generation unit 130. The first is an authentication code indicating that the license authentication is successful. The second is an error code indicating that the license authentication has failed. The authentication code includes a machine code acquired from the virtual machine M1. The authentication code includes a machine ID assigned to the virtual machine M1 by the management server 100. The machine ID is a management ID given to each virtual machine by the management server 100. The authentication code generation unit 130 may encrypt the authentication code and the error code and transmit them to the business server 200. As the encryption method, for example, a common key method or a public key method can be used.

業務サーバ200は、記憶部210、マシンコード生成部220および検証部230を有する。記憶部210は、業務サーバ200が備えるHDDに確保された記憶領域として実現される。マシンコード生成部220および検証部230は、業務サーバ200が備えるRAMに格納されたプログラムを、業務サーバ200が備えるプロセッサが実行することで実現される。マシンコード生成部220および検証部230の機能は、仮想マシンM1上で実現される。このため、例えば、マシンコード生成部220および検証部230の機能を実現するプログラムはイメージファイルF11に格納される。例えば、マシンコード生成部220および検証部230は、ユーザ30による仮想マシンM1の利用開始時のログイン処理のタイミングで仮想マシンM1により実行される機能である。   The business server 200 includes a storage unit 210, a machine code generation unit 220, and a verification unit 230. The storage unit 210 is realized as a storage area secured in the HDD provided in the business server 200. The machine code generation unit 220 and the verification unit 230 are realized by executing a program stored in a RAM included in the business server 200 by a processor included in the business server 200. The functions of the machine code generation unit 220 and the verification unit 230 are realized on the virtual machine M1. Therefore, for example, programs that realize the functions of the machine code generation unit 220 and the verification unit 230 are stored in the image file F11. For example, the machine code generation unit 220 and the verification unit 230 are functions executed by the virtual machine M1 at the timing of login processing when the user 30 starts using the virtual machine M1.

記憶部210は、イメージファイルF11および構成ファイルF12を記憶する。イメージファイルF11および構成ファイルF12の具体的な内容は、図4で例示した通りである。   The storage unit 210 stores an image file F11 and a configuration file F12. Specific contents of the image file F11 and the configuration file F12 are as illustrated in FIG.

マシンコード生成部220は、ユーザ30によるユーザ情報の入力を受け付ける。マシンコード生成部220は、構成ファイルF12に含まれる固有情報と、ユーザ30により入力されたユーザ情報とを用いてマシンコードを生成し、管理サーバ100に送信する。例えば、マシンコード生成部220は、仮想マシンM1に関する単一または複数の固有情報を組み合わせた情報に対して所定の不可逆演算を施すことで、第1の長さの第1の文字列を生成する。また、マシンコード生成部220は、ユーザ情報に対して所定の可逆演算を施すことで、第2の長さの第2の文字列を生成する。マシンコード生成部220は、第1の文字列に第2の文字列を付加した結果を、マシンコードとする。すると、管理サーバ100では、マシンコードの先頭の第1の長さの部分を除去することで、第2の文字列を取得し、上記可逆演算によって、第2の文字列からユーザ情報を復元可能である。マシンコードのコード長や、第1および第2の文字列部分のコード長は、管理サーバ100および業務サーバ200の間で予め合意されている。マシンコード生成部220は、マシンコードを暗号化して、管理サーバ100に送信してもよい。暗号化方式としては、例えば共通鍵方式や公開鍵方式などを利用できる。   The machine code generation unit 220 accepts input of user information by the user 30. The machine code generation unit 220 generates a machine code using the unique information included in the configuration file F12 and the user information input by the user 30, and transmits the machine code to the management server 100. For example, the machine code generation unit 220 generates a first character string having a first length by performing a predetermined irreversible operation on information obtained by combining single or plural pieces of unique information related to the virtual machine M1. . In addition, the machine code generation unit 220 generates a second character string having a second length by performing a predetermined reversible operation on the user information. The machine code generation unit 220 sets the result of adding the second character string to the first character string as the machine code. Then, the management server 100 can obtain the second character string by removing the first length part of the machine code, and can restore the user information from the second character string by the reversible operation. It is. The code length of the machine code and the code lengths of the first and second character string portions are agreed in advance between the management server 100 and the business server 200. The machine code generation unit 220 may encrypt the machine code and transmit it to the management server 100. As the encryption method, for example, a common key method or a public key method can be used.

検証部230は、認証コードまたはエラーコードを管理サーバ100から受信する。認証コードまたはエラーコードは、マシンコード生成部220が送信したマシンコードに対して、管理サーバ100により生成されたコードである。認証コードは、前述のように、マシンコードおよびマシンIDを含む。マシンIDのコード長は、管理サーバ100および業務サーバ200の間で予め合意されている。   The verification unit 230 receives an authentication code or an error code from the management server 100. The authentication code or error code is a code generated by the management server 100 with respect to the machine code transmitted by the machine code generation unit 220. As described above, the authentication code includes a machine code and a machine ID. The code length of the machine ID is agreed in advance between the management server 100 and the business server 200.

検証部230は、認証コードを検証する。具体的には、検証部230は、ユーザ30により入力されたユーザ情報と、構成ファイルF12に含まれる固有情報とを用いて、マシンコード生成部220により再度マシンコードを生成させる。なお、マシンコード生成部220がマシンコードを生成済の場合は当該マシンコードを記憶部210に格納しておいて検証に流用してもよい。検証部230は、受信した認証コードからマシンコードを取得する。   The verification unit 230 verifies the authentication code. Specifically, the verification unit 230 causes the machine code generation unit 220 to generate a machine code again using the user information input by the user 30 and the unique information included in the configuration file F12. When the machine code generation unit 220 has already generated the machine code, the machine code may be stored in the storage unit 210 and used for verification. The verification unit 230 acquires a machine code from the received authentication code.

検証部230は、マシンコード生成部220が生成したマシンコードと、認証コードに含まれるマシンコードとが一致するか否かを判定する。検証部230は、両方のマシンコードが一致する場合、ライセンス認証に成功したと判断して、仮想マシンM1のユーザ30による利用を許可する。すると、ユーザ30は、仮想マシンM1にログインし、仮想マシンM1が提供する業務サービスを利用可能となる。検証部230は、両方のマシンコードが一致しない場合、ライセンス認証に失敗したと判断して、仮想マシンM1のユーザ30による利用を許可しない。この場合、ユーザ30は、仮想マシンM1にログインできず、仮想マシンM1を利用することができない。検証部230は、ライセンス認証に失敗したと判断した場合、マシンコード生成部220によってマシンコードを管理サーバ100に送信するステップから、ライセンス認証をやり直してもよい。   The verification unit 230 determines whether the machine code generated by the machine code generation unit 220 matches the machine code included in the authentication code. If both machine codes match, the verification unit 230 determines that the license authentication is successful, and permits the user 30 to use the virtual machine M1. Then, the user 30 can log in to the virtual machine M1 and use the business service provided by the virtual machine M1. If the two machine codes do not match, the verification unit 230 determines that the license authentication has failed, and does not permit the use of the virtual machine M1 by the user 30. In this case, the user 30 cannot log in to the virtual machine M1 and cannot use the virtual machine M1. If the verification unit 230 determines that the license authentication has failed, the verification may be performed again from the step of transmitting the machine code to the management server 100 by the machine code generation unit 220.

検証部230は、管理サーバ100からエラーコードを受信することもある。検証部230は、管理サーバ100からエラーコードを受信した場合、ライセンス認証に失敗したと判断して、仮想マシンM1のユーザ30による利用を許可しない。この場合、ユーザ30は、仮想マシンM1にログインできず、仮想マシンM1を利用することができない。   The verification unit 230 may receive an error code from the management server 100. When the verification unit 230 receives an error code from the management server 100, the verification unit 230 determines that the license authentication has failed and does not permit the user 30 to use the virtual machine M1. In this case, the user 30 cannot log in to the virtual machine M1 and cannot use the virtual machine M1.

上記の例では、仮想マシンM1を例示して説明したが、仮想マシンM2も同様に、マシンコード生成部220および検証部230に相当する機能を有する。
図6は、固有情報の例を示す図である。固有情報211は、構成ファイルF12に含まれる。固有情報211は、例えば、UUIDやMACアドレスなどの項目、および、各項目に設定されている値を含む。例えば、仮想マシンM1のUUIDの値は、“UUID_a”である。仮想マシンM1のMACアドレスの値は、“MAC_b”である。
In the above example, the virtual machine M1 has been described as an example, but the virtual machine M2 similarly has functions corresponding to the machine code generation unit 220 and the verification unit 230.
FIG. 6 is a diagram illustrating an example of unique information. The unique information 211 is included in the configuration file F12. The unique information 211 includes, for example, items such as UUID and MAC address, and values set in each item. For example, the UUID value of the virtual machine M1 is “UUID_a”. The value of the MAC address of the virtual machine M1 is “MAC_b”.

固有情報211は、仮想マシンM1に固有の情報である。仮想マシンM2でも、固有情報として同じ項目(UUIDやMACアドレス)が存在するが、各項目に設定される値は、仮想マシンM1の固有情報の値とは異なる値となる。なお、固有情報211は、UUIDおよびMACアドレス以外の仮想マシンM1に固有な情報を含んでもよい。   The unique information 211 is information unique to the virtual machine M1. The virtual machine M2 also has the same items (UUID and MAC address) as unique information, but the value set in each item is different from the value of the unique information of the virtual machine M1. The unique information 211 may include information unique to the virtual machine M1 other than the UUID and the MAC address.

図7は、ユーザ管理テーブルの例を示す図である。ユーザ管理テーブル111は、記憶部110に格納されている。ユーザ管理テーブル111は、ユーザIDおよび登録可能数の項目を含む。   FIG. 7 is a diagram illustrating an example of a user management table. The user management table 111 is stored in the storage unit 110. The user management table 111 includes items of the user ID and the number that can be registered.

ユーザIDの項目には、ユーザの識別情報(ユーザID)が登録される。登録可能数の項目には、ライセンス管理対象のOSに対して、該当のユーザが保有するライセンス数が登録される(このライセンス数を登録可能数と称している)。このライセンス数は、該当のユーザに対して許容されている当該OSの仮想マシンへのインストール数の上限ということもできる。   User identification information (user ID) is registered in the user ID field. The number of licenses owned by the corresponding user is registered with respect to the OS subject to license management in the registerable number field (this number of licenses is referred to as the number that can be registered). This number of licenses can also be said to be the upper limit of the number of installations of the OS in the virtual machine permitted for the corresponding user.

例えば、ユーザ管理テーブル111には、ユーザIDが“X”、登録可能数が“3”という情報が登録されている。これは、ユーザID“X”で識別されるユーザが保有する管理対象のOSのライセンス数が“3”であることを示す。すなわち、該当のユーザは、合計で3つの仮想マシンに対して当該OSをインストールして利用することが許可されていることになる。   For example, information that the user ID is “X” and the number that can be registered is “3” is registered in the user management table 111. This indicates that the number of licenses of the management target OS held by the user identified by the user ID “X” is “3”. That is, the corresponding user is permitted to install and use the OS for a total of three virtual machines.

図8は、仮想マシン管理テーブルの例を示す図である。仮想マシン管理テーブル112は、記憶部110に格納されている。仮想マシン管理テーブル112は、ユーザID、マシンコードおよびマシンIDの項目を含む。   FIG. 8 is a diagram illustrating an example of a virtual machine management table. The virtual machine management table 112 is stored in the storage unit 110. The virtual machine management table 112 includes items of user ID, machine code, and machine ID.

ユーザIDの項目には、ユーザIDが登録される。マシンコードの項目には、マシンコードが登録される。マシンIDの項目には、マシンIDが登録される。
例えば、仮想マシン管理テーブル112には、ユーザIDが“X”、マシンコードが“a1bc3d・・・”、マシンIDが“12345”という情報が登録されている。これは、ユーザID“X”で識別されるユーザが、マシンコード“a1bc3d・・・”およびマシンID“12345”に対応する仮想マシンにおいて、ライセンス管理対象のOSを利用していることを示す。
The user ID is registered in the user ID item. The machine code is registered in the machine code item. The machine ID is registered in the machine ID item.
For example, information that the user ID is “X”, the machine code is “a1bc3d...”, And the machine ID is “12345” is registered in the virtual machine management table 112. This indicates that the user identified by the user ID “X” is using the OS subject to license management in the virtual machine corresponding to the machine code “a1bc3d...” And the machine ID “12345”.

仮想マシン管理テーブル112には、仮想マシンとユーザとの組み合わせ毎にレコードが追加される。例えば、ユーザID“X”で識別されるユーザが、別の仮想マシンにより該当のOSを利用している場合には、仮想マシン管理テーブル112に1つのレコードが追加されることになる。図8の例では、ユーザID“X”で識別されるユーザは、2つの仮想マシンを用いて、ライセンス管理対象のOSを利用していることになる。   A record is added to the virtual machine management table 112 for each combination of a virtual machine and a user. For example, when the user identified by the user ID “X” uses the corresponding OS by another virtual machine, one record is added to the virtual machine management table 112. In the example of FIG. 8, the user identified by the user ID “X” uses the OS of the license management target using two virtual machines.

図9は、認証コードの例を示す図である。認証コード40は、前述のように、管理サーバ100によって生成され、業務サーバ200に提供される。認証コード40は、マシンコードおよびマシンIDを含む。検証部230は、認証コード40を受信し、検証に成功すると、イメージファイルF11に認証コード40を追加する。   FIG. 9 is a diagram illustrating an example of the authentication code. The authentication code 40 is generated by the management server 100 and provided to the business server 200 as described above. The authentication code 40 includes a machine code and a machine ID. When the verification unit 230 receives the authentication code 40 and succeeds in the verification, the verification unit 230 adds the authentication code 40 to the image file F11.

すると、イメージファイルF11は、ユーザ30および仮想マシンM1に対してライセンス認証された状態となる。その後、検証部230は、イメージファイルF11に含まれる認証コード40によって、イメージファイルF11を基に起動される仮想マシンM1のログイン認証を行える。   Then, the image file F11 is licensed for the user 30 and the virtual machine M1. Thereafter, the verification unit 230 can perform login authentication of the virtual machine M1 that is activated based on the image file F11, using the authentication code 40 included in the image file F11.

具体的には、マシンコード生成部220は、ユーザ30が再びログインする際に、ユーザ30により入力されたユーザ情報を取得し、構成ファイルF12に含まれる固有情報と、取得したユーザ情報とを基にマシンコードを生成する。また、検証部230は、イメージファイルF11に含まれる認証コード40から、マシンコードを取得する。検証部230は、今回生成されたマシンコードと、認証コード40から取得したマシンコードとが一致するか否かを判定する。検証部230は、両マシンコードが一致する場合、ログイン認証成功とし、両マシンコードが一致しない場合、ログイン認証失敗とする。   Specifically, when the user 30 logs in again, the machine code generation unit 220 acquires user information input by the user 30, and based on the unique information included in the configuration file F12 and the acquired user information. Generate machine code. In addition, the verification unit 230 acquires a machine code from the authentication code 40 included in the image file F11. The verification unit 230 determines whether or not the machine code generated this time matches the machine code acquired from the authentication code 40. The verification unit 230 determines that login authentication is successful when both machine codes match, and determines that login authentication fails when both machine codes do not match.

次に、第2の実施の形態の情報処理システムで実行される処理手順を説明する。
図10は、仮想マシンの使用開始時の処理例を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
Next, a processing procedure executed in the information processing system according to the second embodiment will be described.
FIG. 10 is a flowchart illustrating a processing example at the start of use of a virtual machine. In the following, the process illustrated in FIG. 10 will be described in order of step number.

(S11)マシンコード生成部220は、ユーザ30のユーザ情報をPC300から受信する。ここで、ユーザ30は、PC300を操作することで、仮想マシンM1を利用できる。例えば、仮想マシンM1は、ユーザ30が仮想マシンM1を利用する際に、ユーザ情報を入力するためのGUI(Graphical User Interface)情報をPC300に提供してもよい。   (S11) The machine code generation unit 220 receives user information of the user 30 from the PC 300. Here, the user 30 can use the virtual machine M <b> 1 by operating the PC 300. For example, the virtual machine M1 may provide the PC 300 with GUI (Graphical User Interface) information for inputting user information when the user 30 uses the virtual machine M1.

(S12)マシンコード生成部220は、PC300から受信したユーザ情報と、構成ファイルF12に含まれる固有情報とを用いて、マシンコードを生成する。マシンコード生成部220は、例えば、仮想マシンM1に関する単一または複数の固有情報を組み合わせた情報に対して所定の不可逆演算を施すことで、第1の文字列を生成する。また、マシンコード生成部220は、ユーザ情報に対して所定の可逆演算を施すことで、第2の文字列を生成する。マシンコード生成部220は、第1の文字列に第2の文字列を付加した結果を、マシンコードとする。   (S12) The machine code generation unit 220 generates a machine code using the user information received from the PC 300 and the unique information included in the configuration file F12. For example, the machine code generation unit 220 generates a first character string by performing a predetermined irreversible operation on information obtained by combining single or plural pieces of unique information related to the virtual machine M1. In addition, the machine code generation unit 220 generates a second character string by performing a predetermined reversible operation on the user information. The machine code generation unit 220 sets the result of adding the second character string to the first character string as the machine code.

(S13)マシンコード生成部220は、イメージファイルF11の中に認証コードがあるか否かを判定する。イメージファイルF11の中に認証コードがある場合、処理をステップS17に進める。イメージファイルF11の中に認証コードがない場合、処理をステップS14に進める。   (S13) The machine code generation unit 220 determines whether there is an authentication code in the image file F11. If there is an authentication code in the image file F11, the process proceeds to step S17. If there is no authentication code in the image file F11, the process proceeds to step S14.

(S14)マシンコード生成部220は、ステップS12で生成したマシンコードを、管理サーバ100に送信する。前述のように、マシンコード生成部220は、所定の鍵を用いてマシンコードを暗号化して、管理サーバ100に送信してもよい。   (S14) The machine code generation unit 220 transmits the machine code generated in step S12 to the management server 100. As described above, the machine code generation unit 220 may encrypt the machine code using a predetermined key and transmit it to the management server 100.

(S15)検証部230は、管理サーバ100からマシンコードに対する応答(認証コードまたはエラーコード)を受信する。認証コードまたはエラーコードは、暗号化されていることもある。その場合、検証部230は、所定の鍵を用いて、認証コードまたはエラーコードを復号する。   (S15) The verification unit 230 receives a response (authentication code or error code) to the machine code from the management server 100. The authentication code or error code may be encrypted. In that case, the verification unit 230 decrypts the authentication code or the error code using a predetermined key.

(S16)検証部230は、エラーコードを受信したか否かを判定する。エラーコードを受信した場合、処理をステップS20に進める。エラーコードを受信していない(すなわち、認証コードを受信した)場合、処理をステップS17に進める。   (S16) The verification unit 230 determines whether an error code has been received. If an error code is received, the process proceeds to step S20. If the error code has not been received (that is, the authentication code has been received), the process proceeds to step S17.

(S17)検証部230は、認証コードを検証し、検証結果が正常であるか否かを判定する。検証結果が正常である場合、処理をステップS18に進める。検証結果が正常でない場合、処理をステップS20に進める。具体的には、ステップS12で生成されたマシンコードと、認証コードに含まれるマシンコードとが一致する場合、検証結果は正常である。一方、ステップS12で生成されたマシンコードと、認証コードに含まれるマシンコードとが一致しない場合、検証結果は正常でない。ここで、マシンコードの抽出元の認証コードは、ステップS13でYesまたはNoの何れに進んだかによって異なる。ステップS13でYesの場合、マシンコードの抽出元の認証コードは、イメージファイルF11に含まれる認証コードである。一方、ステップS13でNoの場合、マシンコードの抽出元の認証コードは、ステップS15で管理サーバ100から受信した認証コードである。   (S17) The verification unit 230 verifies the authentication code and determines whether the verification result is normal. If the verification result is normal, the process proceeds to step S18. If the verification result is not normal, the process proceeds to step S20. Specifically, if the machine code generated in step S12 matches the machine code included in the authentication code, the verification result is normal. On the other hand, if the machine code generated in step S12 does not match the machine code included in the authentication code, the verification result is not normal. Here, the authentication code from which the machine code is extracted differs depending on whether the process proceeds to Yes or No in step S13. In the case of Yes in step S13, the authentication code from which the machine code is extracted is the authentication code included in the image file F11. On the other hand, in the case of No in step S13, the authentication code from which the machine code is extracted is the authentication code received from the management server 100 in step S15.

(S18)検証部230は、イメージファイルF11に認証コードを追加する。なお、ステップS13でYesの場合は、同認証コードが既にイメージファイルF11に格納済であるため、ステップS18をスキップしてステップS19に進んでよい。   (S18) The verification unit 230 adds an authentication code to the image file F11. In the case of Yes in step S13, since the same authentication code has already been stored in the image file F11, step S18 may be skipped and the process may proceed to step S19.

(S19)検証部230は、仮想マシンM1のユーザ30による使用を許可する。ユーザ30は、仮想マシンM1が実行するOSを利用可能となる。そして、処理を終了する。
(S20)検証部230は、仮想マシンM1のユーザ30による使用を不許可とする。ユーザ30は、仮想マシンM1を利用できないことになる。そして、処理を終了する。なお、ステップS13でYes、かつ、ステップS17でNoの場合、処理をステップS14に進めてもよい。すなわち、仮想マシンM1のユーザ30による利用について、管理サーバ100によるライセンス認証を改めて受けるようにしてもよい。
(S19) The verification unit 230 permits the user 30 to use the virtual machine M1. The user 30 can use the OS executed by the virtual machine M1. Then, the process ends.
(S20) The verification unit 230 disallows use of the virtual machine M1 by the user 30. The user 30 cannot use the virtual machine M1. Then, the process ends. If Yes in step S13 and No in step S17, the process may proceed to step S14. That is, the license authentication by the management server 100 may be received again for use by the user 30 of the virtual machine M1.

図11は、管理サーバのライセンス管理の処理例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
(S21)認証部120は、仮想マシンM1からマシンコードを受信する。マシンコードは暗号化されていることもある。その場合、認証部120は、所定の鍵を用いて、マシンコードを復号する。
FIG. 11 is a flowchart illustrating a processing example of license management of the management server. In the following, the process illustrated in FIG. 11 will be described in order of step number.
(S21) The authentication unit 120 receives a machine code from the virtual machine M1. The machine code may be encrypted. In that case, the authentication unit 120 decrypts the machine code using a predetermined key.

(S22)認証部120は、マシンコードからユーザIDを抽出する。例えば、認証部120は、先頭の第1の長さの第1の文字列をマシンコードから除去することで、第2の文字列を取得し、当該第2の文字列に所定の可逆演算を施すことでユーザIDを取得できる。   (S22) The authentication unit 120 extracts the user ID from the machine code. For example, the authentication unit 120 acquires the second character string by removing the first character string having the first length from the machine code, and performs a predetermined reversible operation on the second character string. By applying, a user ID can be acquired.

(S23)認証部120は、ステップS22で抽出したユーザIDがユーザ管理テーブル111に登録されているか否かを判定する。登録されている場合、処理をステップS24に進める。登録されていない場合、処理をステップS28に進める。   (S23) The authentication unit 120 determines whether or not the user ID extracted in step S22 is registered in the user management table 111. If registered, the process proceeds to step S24. If not registered, the process proceeds to step S28.

(S24)認証部120は、仮想マシン管理テーブル112を参照して、該当のユーザIDによる利用済数が登録可能数よりも小さいか否かを判定する。該当のユーザIDによる利用済数が登録可能数よりも小さい場合、処理をステップS25に進める。該当のユーザIDによる利用済数が登録可能数以上である場合、処理をステップS28に進める。利用済数は、該当のユーザIDを含むレコードの数に相当する。図8の仮想マシン管理テーブル112の例でいえば、ユーザID“X”による利用済数は“2”ということになる。   (S24) The authentication unit 120 refers to the virtual machine management table 112 and determines whether or not the used number by the corresponding user ID is smaller than the number that can be registered. If the used number by the corresponding user ID is smaller than the number that can be registered, the process proceeds to step S25. If the number of used by the corresponding user ID is equal to or greater than the number that can be registered, the process proceeds to step S28. The used number corresponds to the number of records including the corresponding user ID. In the example of the virtual machine management table 112 in FIG. 8, the used number by the user ID “X” is “2”.

(S25)認証部120は、マシンIDを発行する。マシンIDの発行方法は、任意の方法でよい。ただし、認証部120は、各仮想マシンでマシンIDが重複しないようにする。   (S25) The authentication unit 120 issues a machine ID. The method for issuing the machine ID may be any method. However, the authentication unit 120 ensures that machine IDs do not overlap in each virtual machine.

(S26)認証部120は、ステップS22で抽出したユーザID、ステップS21で受信したマシンコード、および、ステップS25で発行したマシンIDを含むレコードを仮想マシン管理テーブル112に登録する。   (S26) The authentication unit 120 registers a record including the user ID extracted in step S22, the machine code received in step S21, and the machine ID issued in step S25 in the virtual machine management table 112.

(S27)認証コード生成部130は、認証コードを生成し、業務サーバ200に送信する。認証コードは、ステップS21で取得したマシンコードを含む。また、認証コードは、ステップS25で発行したマシンIDを含む。認証コード生成部130は、マシンコードおよびマシンIDに所定の可逆演算を施した結果を結合して、認証コードを生成してもよい(その場合、業務サーバ200では当該可逆演算により認証コードからマシンコードおよびマシンIDを抽出する)。認証コード生成部130は、所定の鍵により認証コードを暗号化して、業務サーバ200に送信してもよい。そして、処理を終了する。   (S27) The authentication code generation unit 130 generates an authentication code and transmits it to the business server 200. The authentication code includes the machine code acquired in step S21. The authentication code includes the machine ID issued in step S25. The authentication code generation unit 130 may generate an authentication code by combining the machine code and the result obtained by performing a predetermined reversible operation on the machine ID (in this case, the business server 200 uses the reversible operation to generate a machine from the authentication code. Extract code and machine ID). The authentication code generation unit 130 may encrypt the authentication code with a predetermined key and transmit it to the business server 200. Then, the process ends.

(S28)認証コード生成部130は、エラーコードを生成し、業務サーバ200に送信する。認証コード生成部130は、所定の鍵によりエラーコードを暗号化して、業務サーバ200に送信してもよい。そして、処理を終了する。   (S28) The authentication code generation unit 130 generates an error code and transmits it to the business server 200. The authentication code generation unit 130 may encrypt the error code with a predetermined key and transmit it to the business server 200. Then, the process ends.

このようにして、管理サーバ100は、仮想マシンM1で実行されるソフトウェアのライセンス管理を行う。仮想マシンM1のイメージファイルF11に認証コードを追加し、仮想マシンM1により認証コードの検証を課すことで、仮想マシンM1が適切にライセンス許諾を受けずに不正に利用されることを防げる。特に、認証コードが追加された状態のイメージファイルF11の複製であるイメージファイルF21によって仮想マシンM2が利用される場合にも、ソフトウェアの不正利用を防げる。   In this way, the management server 100 performs license management of software executed on the virtual machine M1. By adding an authentication code to the image file F11 of the virtual machine M1 and imposing verification of the authentication code by the virtual machine M1, it is possible to prevent the virtual machine M1 from being used illegally without properly obtaining a license. In particular, even when the virtual machine M2 is used by the image file F21 that is a copy of the image file F11 with the authentication code added, unauthorized use of the software can be prevented.

図12は、イメージファイル複製時の認証処理の具体例を示す図である。例えば、イメージファイルF11に、認証コード“XXXNNN”が追加されている状態で、仮想マシンM1が起動される場合を考える。この場合、認証コードの先頭の所定長の“XXX”の部分がマシンコードである。仮想マシンM1は、ユーザ30が仮想マシンM1の利用を開始する際に、ユーザ30のユーザ情報を取得し、構成ファイルF12に含まれる仮想マシンM1の固有情報と、ユーザ30のユーザIDとを用いてマシンコード“XXX”を生成する。マシンコード“XXX”は、イメージファイルF11に含まれるマシンコード“XXX”と一致する。よって、仮想マシンM1は、ユーザ30による仮想マシンM1の利用を許可する(認証成功)。   FIG. 12 is a diagram illustrating a specific example of the authentication process when copying an image file. For example, consider a case where the virtual machine M1 is activated in a state where the authentication code “XXXNNN” is added to the image file F11. In this case, the portion of “XXX” having a predetermined length at the beginning of the authentication code is the machine code. When the user 30 starts using the virtual machine M1, the virtual machine M1 acquires the user information of the user 30, and uses the unique information of the virtual machine M1 included in the configuration file F12 and the user ID of the user 30. Machine code “XXX”. The machine code “XXX” matches the machine code “XXX” included in the image file F11. Therefore, the virtual machine M1 permits the user 30 to use the virtual machine M1 (authentication success).

一方、ユーザ30またはユーザ30aにより、イメージファイルF11の複製であるイメージファイルF21が業務サーバ200aの補助記憶装置に格納されることもある。イメージファイルF21は、イメージファイルF11の複製なので、認証コード“XXXNNN”を含んでいる。この状態で、仮想マシンM2が起動される場合を考える。   On the other hand, the user 30 or the user 30a may store the image file F21 that is a copy of the image file F11 in the auxiliary storage device of the business server 200a. Since the image file F21 is a copy of the image file F11, it includes the authentication code “XXXNNN”. Consider a case where the virtual machine M2 is activated in this state.

例えば、ユーザ30が仮想マシンM2の利用を開始するケースを考える。この場合、仮想マシンM2は、ユーザ30のユーザ情報を取得し、構成ファイルF22に含まれる仮想マシンM2の固有情報と、ユーザ30のユーザIDとを用いてマシンコード“YYY”を生成する。マシンコード“YYY”は、イメージファイルF21に含まれるマシンコード“XXX”と一致しない。よって、仮想マシンM2は、ユーザ30による仮想マシンM2の利用を不許可とする(認証失敗)。   For example, consider a case where the user 30 starts using the virtual machine M2. In this case, the virtual machine M2 acquires user information of the user 30, and generates a machine code “YYY” using the unique information of the virtual machine M2 included in the configuration file F22 and the user ID of the user 30. The machine code “YYY” does not match the machine code “XXX” included in the image file F21. Therefore, the virtual machine M2 disallows use of the virtual machine M2 by the user 30 (authentication failure).

このとき、仮想マシンM2は、管理サーバ100にマシンコード“YYY”を送信して、ライセンス認証を受けることができる。ユーザ30が利用可能なライセンス数が残っていれば、仮想マシンM2は管理サーバ100から認証コード“YYYMMM”を受信して、イメージファイルF21に追加し、ユーザ30による仮想マシンM2の利用を許可する。なお、仮想マシンM2は、新たな認証コードをイメージファイルF21に追加する際に、既存の認証コード“XXXNNN”を上書きしてもよい。   At this time, the virtual machine M2 can receive the license authentication by transmitting the machine code “YYY” to the management server 100. If the number of licenses that can be used by the user 30 remains, the virtual machine M2 receives the authentication code “YYYMMM” from the management server 100, adds it to the image file F21, and permits the user 30 to use the virtual machine M2. . The virtual machine M2 may overwrite the existing authentication code “XXXNNN” when adding a new authentication code to the image file F21.

次に、ユーザ30aが仮想マシンM2の利用を開始するケースを考える。この場合、仮想マシンM2は、ユーザ30aのユーザ情報を取得し、構成ファイルF22に含まれる仮想マシンM2の固有情報と、ユーザ30aのユーザIDとを用いてマシンコード“ZZZ”を生成する。マシンコード“ZZZ”は、イメージファイルF21に含まれるマシンコード“XXX”と一致しない。よって、仮想マシンM2は、ユーザ30aによる仮想マシンM2の利用を不許可とする(認証失敗)。   Next, consider a case where the user 30a starts using the virtual machine M2. In this case, the virtual machine M2 acquires the user information of the user 30a, and generates the machine code “ZZZ” using the unique information of the virtual machine M2 included in the configuration file F22 and the user ID of the user 30a. The machine code “ZZZ” does not match the machine code “XXX” included in the image file F21. Therefore, the virtual machine M2 disallows use of the virtual machine M2 by the user 30a (authentication failure).

このとき、仮想マシンM2は、管理サーバ100にマシンコード“ZZZ”を送信して、ライセンス認証を受けることができる。ユーザ30aが利用可能なライセンス数があれば、仮想マシンM2は管理サーバ100から認証コード“ZZZLLL”を受信して、イメージファイルF21に追加し、ユーザ30aによる仮想マシンM2の利用を許可する。なお、仮想マシンM2は、新たな認証コードをイメージファイルF21に追加する際に、既存の認証コード“XXXNNN”を上書きしてもよい。   At this time, the virtual machine M2 can receive the license authentication by transmitting the machine code “ZZZ” to the management server 100. If there is a license number that can be used by the user 30a, the virtual machine M2 receives the authentication code “ZZZZLLL” from the management server 100, adds it to the image file F21, and permits the user 30a to use the virtual machine M2. The virtual machine M2 may overwrite the existing authentication code “XXXNNN” when adding a new authentication code to the image file F21.

このようにして、イメージファイルF11を複製したイメージファイルF21を用いて仮想マシンM2を起動する場合にも、管理サーバ100によるライセンス認証を課すことができ、仮想マシンM2が不正に利用されることを防げる。   In this way, even when the virtual machine M2 is activated using the image file F21 obtained by copying the image file F11, the license authentication by the management server 100 can be imposed, and the virtual machine M2 is illegally used. I can prevent it.

なお、第2の実施の形態の説明では、ライセンスの管理対象のソフトウェアを特定のOSに限る場合について例示したが、管理サーバ100は、種々のソフトウェアのライセンスを管理することが可能である。例えば、ソフトウェアの識別情報(ソフトウェアID)に対応付けて、ユーザ毎の登録可能数を管理することも考えられる。   In the description of the second embodiment, the case where the software subject to license management is limited to a specific OS is exemplified, but the management server 100 can manage licenses of various software. For example, it is conceivable to manage the number of users that can be registered in association with software identification information (software ID).

図13は、他のテーブル例(その1)を示す図である。図13(A)は、ソフトウェアID毎にユーザの登録可能数を管理するためのユーザ管理テーブル111aを例示している。ユーザ管理テーブル111aは、ソフトウェアID、ユーザIDおよび登録可能数の項目を含む。   FIG. 13 is a diagram illustrating another example (part 1) of the table. FIG. 13A illustrates a user management table 111a for managing the number of users that can be registered for each software ID. The user management table 111a includes items of software ID, user ID, and the number that can be registered.

ソフトウェアIDの項目には、ソフトウェアIDが登録される。ソフトウェアIDは、ソフトウェアの名称(例えば、OSの名称やアプリケーションの名称など)でもよい。ユーザIDおよび登録可能数の項目に登録される内容は、ユーザ管理テーブル111の同名の項目に登録される内容と同様である。ユーザ管理テーブル111aによれば、例えば、OSの種類およびユーザIDの組毎に、登録可能数を管理できる。   A software ID is registered in the item of software ID. The software ID may be a software name (for example, an OS name or an application name). The contents registered in the items of the user ID and the number that can be registered are the same as the contents registered in the item of the same name in the user management table 111. According to the user management table 111a, for example, the number that can be registered can be managed for each set of OS type and user ID.

図13(B)は、ソフトウェアID毎にユーザの利用状況を管理するための仮想マシン管理テーブル112aを例示している。仮想マシン管理テーブル112aは、ソフトウェアID、ユーザID、マシンコードおよびマシンIDの項目を含む。   FIG. 13B illustrates a virtual machine management table 112a for managing the usage status of the user for each software ID. The virtual machine management table 112a includes items of software ID, user ID, machine code, and machine ID.

ソフトウェアIDの項目には、ソフトウェアIDが登録される。ユーザID、マシンコードおよびマシンIDの項目に登録される内容は、仮想マシン管理テーブル112の同名の項目に登録される内容と同様である。仮想マシン管理テーブル112aによれば、例えば、OSの種類およびユーザIDの組毎に、何れの仮想マシンによって利用されているかを管理できる。   A software ID is registered in the item of software ID. The contents registered in the items of user ID, machine code, and machine ID are the same as the contents registered in the item of the same name in the virtual machine management table 112. According to the virtual machine management table 112a, for example, which virtual machine is used for each set of OS type and user ID can be managed.

なお、ユーザ管理テーブル111aおよび仮想マシン管理テーブル112aを用いて、ソフトウェアIDに応じたライセンス管理を行う場合、管理サーバ100は、ライセンス認証時に仮想マシンM1,M2からソフトウェアIDの情報も取得する。すなわち、仮想マシンM1,M2は、管理サーバ100に対してマシンコードを送信する際に、ライセンス管理対象のソフトウェアのソフトウェアIDも併せて管理サーバ100に送信する。すると、管理サーバ100は、ユーザ管理テーブル111aを参照して、該当のソフトウェアIDおよびユーザIDに対応する登録可能数を取得できる。また、管理サーバ100は、仮想マシン管理テーブル112aを参照して、該当のソフトウェアIDおよびユーザIDによるソフトウェアの利用数が登録可能数よりも小さいか否かを判定できる。   When performing license management according to the software ID using the user management table 111a and the virtual machine management table 112a, the management server 100 also acquires software ID information from the virtual machines M1 and M2 at the time of license authentication. In other words, when the virtual machines M1 and M2 transmit the machine code to the management server 100, the virtual machines M1 and M2 also transmit the software ID of the license management target software to the management server 100. Then, the management server 100 can acquire the registerable number corresponding to the corresponding software ID and user ID with reference to the user management table 111a. Further, the management server 100 can determine whether or not the number of software uses by the corresponding software ID and user ID is smaller than the number that can be registered with reference to the virtual machine management table 112a.

図13では、ソフトウェアIDにより区別して登録可能数や利用状況を管理する例を示したが更に他の管理方法も考えられる。例えば、管理サーバ100は、イメージファイル単位にライセンスを管理してもよい。具体的には、管理サーバ100は、イメージファイルの識別情報(イメージファイルID)に対応付けて、ユーザ毎の登録可能数を管理することも考えられる。   Although FIG. 13 shows an example in which the number of registrations and the usage status are managed by distinguishing them by software ID, still other management methods are conceivable. For example, the management server 100 may manage licenses in units of image files. Specifically, the management server 100 may manage the number of users that can be registered in association with image file identification information (image file ID).

図14は、他のテーブル例(その2)を示す図である。図14(A)は、イメージファイルID毎にユーザの登録可能数を管理するためのユーザ管理テーブル111bを例示している。ユーザ管理テーブル111bは、イメージファイルID、ユーザIDおよび登録可能数の項目を含む。   FIG. 14 is a diagram showing another example of the table (No. 2). FIG. 14A illustrates a user management table 111b for managing the number of users that can be registered for each image file ID. The user management table 111b includes items of an image file ID, a user ID, and a registerable number.

イメージファイルIDの項目には、イメージファイルIDが登録される。イメージファイルIDはイメージファイルに付与されるIDである。イメージファイルIDは、イメージファイルF11に格納される。このため、イメージファイルF11を複製したイメージファイルF21のイメージファイルIDは同じである。ユーザIDおよび登録可能数の項目に登録される内容は、ユーザ管理テーブル111の同名の項目に登録される内容と同様である。ユーザ管理テーブル111bによれば、例えば、イメージファイル単位に利用ライセンスが付与される場合に、当該イメージファイルのイメージファイルIDおよびユーザIDの組毎に、登録可能数を管理できる。   The image file ID is registered in the image file ID item. The image file ID is an ID assigned to the image file. The image file ID is stored in the image file F11. For this reason, the image file ID of the image file F21 obtained by copying the image file F11 is the same. The contents registered in the items of the user ID and the number that can be registered are the same as the contents registered in the item of the same name in the user management table 111. According to the user management table 111b, for example, when a use license is granted for each image file, the number of registrations can be managed for each set of image file ID and user ID of the image file.

図14(B)は、イメージファイルID毎にユーザの利用状況を管理するための仮想マシン管理テーブル112bを例示している。仮想マシン管理テーブル112bは、イメージファイルID、ユーザID、マシンコードおよびマシンIDの項目を含む。   FIG. 14B illustrates a virtual machine management table 112b for managing the usage status of the user for each image file ID. The virtual machine management table 112b includes items of image file ID, user ID, machine code, and machine ID.

イメージファイルIDの項目には、イメージファイルIDが登録される。ユーザID、マシンコードおよびマシンIDの項目に登録される内容は、仮想マシン管理テーブル112の同名の項目に登録される内容と同様である。仮想マシン管理テーブル112bによれば、イメージファイルIDおよびユーザIDの組毎に、何れの仮想マシンによって利用されているかを管理できる。   The image file ID is registered in the image file ID item. The contents registered in the items of user ID, machine code, and machine ID are the same as the contents registered in the item of the same name in the virtual machine management table 112. The virtual machine management table 112b can manage which virtual machine is used for each set of image file ID and user ID.

なお、ユーザ管理テーブル111bおよび仮想マシン管理テーブル112bを用いて、イメージファイルIDに応じたライセンス管理を行う場合、管理サーバ100は、ライセンス認証時に仮想マシンM1,M2からイメージファイルIDの情報も取得する。すなわち、仮想マシンM1,M2は、管理サーバ100に対してマシンコードを送信する際に、起動元のイメージファイルのイメージファイルIDも管理サーバ100に送信する。すると、管理サーバ100は、ユーザ管理テーブル111bを参照して、該当のイメージファイルIDおよびユーザIDに対応する登録可能数を取得できる。また、管理サーバ100は、仮想マシン管理テーブル112bを参照して、該当のイメージファイルIDおよびユーザIDによるイメージファイルの利用数が登録可能数よりも小さいか否かを判定できる。   When performing license management according to the image file ID using the user management table 111b and the virtual machine management table 112b, the management server 100 also acquires information on the image file ID from the virtual machines M1 and M2 at the time of license authentication. . That is, when the virtual machines M <b> 1 and M <b> 2 transmit a machine code to the management server 100, the virtual machines M <b> 1 and M <b> 2 also transmit the image file ID of the image file of the activation source to the management server 100. Then, the management server 100 refers to the user management table 111b and can acquire the registerable number corresponding to the corresponding image file ID and user ID. Further, the management server 100 can determine whether or not the number of image files used by the corresponding image file ID and user ID is smaller than the registerable number with reference to the virtual machine management table 112b.

例えば、仮想アプライアンスのように、OS、ミドルウェアおよびアプリケーションソフトウェアを一体にしたイメージファイルが提供される場合、当該イメージファイル単位でのライセンスが提供されることも考えられる。図14で例示したようにイメージファイル単位にライセンスを管理することで、イメージファイル単位にライセンスが提供される場合にも、適切なライセンス管理が可能となる。   For example, when an image file in which an OS, middleware, and application software are integrated is provided like a virtual appliance, a license for each image file may be provided. As illustrated in FIG. 14, by managing licenses in units of image files, appropriate license management can be performed even when licenses are provided in units of image files.

また、ユーザによるライセンスを超過した利用を検出した際には、該当のユーザに対してライセンスを適切に取得することを促してもよい。その際、ライセンス購入のために課金用のGUIをユーザに提供することで、ユーザによる課金やユーザによる仮想マシンの追加利用を円滑に行えるよう支援することも考えられる。   Further, when the usage exceeding the license by the user is detected, the user may be prompted to appropriately acquire the license. At that time, it may be possible to provide a user with a charging GUI for purchasing a license so that the user can smoothly perform charging or additional use of the virtual machine by the user.

なお、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体13に記録できる。   Note that the information processing of the first embodiment can be realized by causing the computing unit 1b to execute a program. The information processing according to the second embodiment can be realized by causing the processor 101 to execute a program. The program can be recorded on a computer-readable recording medium 13.

例えば、プログラムを記録した記録媒体13を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。   For example, the program can be distributed by distributing the recording medium 13 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via a network. For example, the computer stores (installs) a program recorded in the recording medium 13 or a program received from another computer in a storage device such as the RAM 102 or the HDD 103, and reads and executes the program from the storage device. Good.

1 ライセンス管理装置
1a 記憶部
1b 演算部
2,3 情報処理装置
2a,3a 仮想マシン
2b,3b イメージファイル
2c,3c 構成ファイル
4 ネットワーク
C 認証コード
C1,C2 マシンコード
T1 ライセンス情報
U1,U2 ユーザ
X1,X2 固有情報
Y1,Y2 ユーザ情報
DESCRIPTION OF SYMBOLS 1 License management apparatus 1a Memory | storage part 1b Operation part 2,3 Information processing apparatus 2a, 3a Virtual machine 2b, 3b Image file 2c, 3c Configuration file 4 Network C Authentication code C1, C2 Machine code T1 License information U1, U2 User X1, X2 unique information Y1, Y2 User information

Claims (10)

仮想マシンを実行可能な情報処理装置と通信するライセンス管理装置であって、
前記仮想マシンまたは前記仮想マシンにより実行されるソフトウェアの利用可能数をユーザ情報毎に記憶する記憶部と、
前記ユーザ情報と前記仮想マシンの固有情報とに基づいて生成された第1のコードを前記仮想マシンから受信すると、前記第1のコードから前記ユーザ情報を取得し、前記ユーザ情報および前記利用可能数に基づいて前記仮想マシンまたは前記ソフトウェアの利用を許可するか否か判定し、許可する場合は前記第1のコードを含む第2のコードを前記仮想マシンに送信し、許可しない場合はエラーを示す第3のコードを前記仮想マシンに送信する演算部と、
を有するライセンス管理装置。
A license management device that communicates with an information processing device capable of executing a virtual machine,
A storage unit that stores, for each user information, the virtual machine or the number of usable software executed by the virtual machine;
When the first code generated based on the user information and the unique information of the virtual machine is received from the virtual machine, the user information is acquired from the first code, and the user information and the usable number are obtained. To determine whether to permit the use of the virtual machine or the software, based on the above, if allowed, send the second code including the first code to the virtual machine, otherwise indicate an error An arithmetic unit that transmits a third code to the virtual machine;
A license management device.
前記第2のコードは、前記第2のコードを受信した前記仮想マシンにより前記仮想マシンの起動元のイメージファイルに追加され、前記イメージファイルから起動される前記仮想マシンによって、当該仮想マシンまたは前記ソフトウェアのユーザによる利用可否の判定に用いられるコードである、請求項1記載のライセンス管理装置。   The second code is added to the image file from which the virtual machine is started by the virtual machine that has received the second code, and the virtual machine or the software is started from the image file. The license management device according to claim 1, wherein the license management device is a code used for determining whether or not the user can use the device. 前記演算部は、受信した前記第1のコードおよび前記ユーザ情報に対応付けて前記第2のコードを前記記憶部に格納する、請求項1または2記載のライセンス管理装置。   The license management apparatus according to claim 1, wherein the calculation unit stores the second code in the storage unit in association with the received first code and the user information. 前記記憶部は、前記仮想マシンの起動元のイメージファイルの識別情報または前記ソフトウェアの識別情報に対応付けて前記ユーザ情報毎の利用可能数の情報を記憶し、
前記演算部は、前記マシンコードを受信する際に前記イメージファイルまたは前記ソフトウェアの識別情報を前記仮想マシンから受信し、前記ユーザ情報および当該識別情報に基づいて前記仮想マシンまたは前記ソフトウェアの利用を許可するか否かを判定する、
請求項1乃至3の何れか1項に記載のライセンス管理装置。
The storage unit stores information on the number of usable pieces for each user information in association with identification information of an image file that is a starting source of the virtual machine or identification information of the software,
The computing unit receives the identification information of the image file or the software from the virtual machine when receiving the machine code, and permits the use of the virtual machine or the software based on the user information and the identification information. Determine whether or not to
The license management apparatus according to any one of claims 1 to 3.
前記固有情報は、前記仮想マシンの起動元のイメージファイルとは異なるファイルに格納され、前記仮想マシンの起動元の前記イメージファイルの異同に拘わらず、前記仮想マシン毎に一意な情報である、請求項1乃至4の何れか1項に記載のライセンス管理装置。   The unique information is stored in a file different from an image file from which the virtual machine is started, and is unique for each virtual machine regardless of the difference in the image file from which the virtual machine is started. Item 5. The license management apparatus according to any one of Items 1 to 4. 仮想マシンを実行可能な情報処理装置と、
前記仮想マシンまたは前記仮想マシンにより実行されるソフトウェアの利用可能数をユーザ情報毎に記憶し、前記ユーザ情報と前記仮想マシンの固有情報とに基づいて生成された第1のコードを前記仮想マシンから受信すると、前記第1のコードから前記ユーザ情報を取得し、前記ユーザ情報および前記利用可能数に基づいて前記仮想マシンまたは前記ソフトウェアの利用を許可するか否か判定し、許可する場合は前記第1のコードを含む第2のコードを前記仮想マシンに送信し、許可しない場合はエラーを示す第3のコードを前記仮想マシンに送信するライセンス管理装置と、
を有するライセンス管理システム。
An information processing apparatus capable of executing a virtual machine;
The usable number of the virtual machine or software executed by the virtual machine is stored for each user information, and the first code generated based on the user information and the unique information of the virtual machine is stored from the virtual machine. When received, the user information is obtained from the first code, and based on the user information and the available number, it is determined whether to permit the use of the virtual machine or the software. A license management apparatus that transmits a second code including a code of 1 to the virtual machine, and transmits a third code indicating an error to the virtual machine if not permitted;
A license management system.
前記仮想マシンは、前記第2のコードを受信すると、前記仮想マシンの起動元のイメージファイルに前記第2のコードを追加し、当該第2のコードに基づいて、前記仮想マシンまたは前記ソフトウェアをユーザに利用させるか否かを決定する、請求項6記載のライセンス管理システム。   When the virtual machine receives the second code, the virtual machine adds the second code to an image file from which the virtual machine is started, and based on the second code, the virtual machine or the software is added to the user. The license management system according to claim 6, wherein it is determined whether or not to use it. 前記仮想マシンは、前記仮想マシンまたは前記ソフトウェアの前記ユーザによる利用が開始される際に前記ユーザによる前記ユーザ情報の入力を受け付け、前記イメージファイルに含まれる前記第2のコードから前記第1のコードを取得し、当該第1のコードが今回受け付けた前記ユーザ情報および前記仮想マシンの固有情報に対応しているか否かの照合に応じて、前記仮想マシンまたは前記ソフトウェアを前記ユーザに利用させるか否かを決定する、請求項7記載のライセンス管理システム。   The virtual machine receives an input of the user information by the user when the user starts using the virtual machine or the software, and the first code from the second code included in the image file Whether or not to allow the user to use the virtual machine or the software according to the collation of whether or not the first code corresponds to the user information and the virtual machine specific information received this time. The license management system according to claim 7, wherein the determination is made. 仮想マシンを実行可能な情報処理装置と通信するコンピュータに、
ユーザ情報と前記仮想マシンの固有情報とに基づいて生成された第1のコードを前記仮想マシンから受信すると、前記第1のコードから前記ユーザ情報を取得し、前記仮想マシンまたは前記仮想マシンにより実行されるソフトウェアの前記ユーザ情報毎の利用可能数を示す情報に基づいて前記仮想マシンまたは前記ソフトウェアの利用を許可するか否か判定し、許可する場合は前記第1のコードを含む第2のコードを前記仮想マシンに送信し、許可しない場合はエラーを示す第3のコードを前記仮想マシンに送信する、
処理を実行させるライセンス管理プログラム。
To a computer that communicates with an information processing device that can execute a virtual machine,
When the first code generated based on the user information and the unique information of the virtual machine is received from the virtual machine, the user information is acquired from the first code and executed by the virtual machine or the virtual machine Whether or not to permit the use of the virtual machine or the software is determined based on information indicating the number of pieces of software that can be used for each user information, and if so, a second code including the first code Is sent to the virtual machine, and if not allowed, a third code indicating an error is sent to the virtual machine.
License management program that executes processing.
仮想マシンを実行可能な情報処理装置と通信するコンピュータが、
ユーザ情報と前記仮想マシンの固有情報とに基づいて生成された第1のコードを前記仮想マシンから受信すると、前記第1のコードから前記ユーザ情報を取得し、前記仮想マシンまたは前記仮想マシンにより実行されるソフトウェアの前記ユーザ情報毎の利用可能数を示す情報に基づいて前記仮想マシンまたは前記ソフトウェアの利用を許可するか否か判定し、許可する場合は前記第1のコードを含む第2のコードを前記仮想マシンに送信し、許可しない場合はエラーを示す第3のコードを前記仮想マシンに送信する、
ライセンス管理方法。
A computer communicating with an information processing apparatus capable of executing a virtual machine is
When the first code generated based on the user information and the unique information of the virtual machine is received from the virtual machine, the user information is acquired from the first code and executed by the virtual machine or the virtual machine Whether or not to permit the use of the virtual machine or the software is determined based on information indicating the number of pieces of software that can be used for each user information, and if so, a second code including the first code Is sent to the virtual machine, and if not allowed, a third code indicating an error is sent to the virtual machine.
License management method.
JP2015180358A 2015-09-14 2015-09-14 License management apparatus, license management system, license management program, and license management method Pending JP2017058711A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015180358A JP2017058711A (en) 2015-09-14 2015-09-14 License management apparatus, license management system, license management program, and license management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015180358A JP2017058711A (en) 2015-09-14 2015-09-14 License management apparatus, license management system, license management program, and license management method

Publications (1)

Publication Number Publication Date
JP2017058711A true JP2017058711A (en) 2017-03-23

Family

ID=58391550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015180358A Pending JP2017058711A (en) 2015-09-14 2015-09-14 License management apparatus, license management system, license management program, and license management method

Country Status (1)

Country Link
JP (1) JP2017058711A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536652A (en) * 2018-09-17 2021-12-27 華為技術有限公司Huawei Technologies Co., Ltd. Virtual machine management methods and equipment for cloud platforms

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109625A (en) * 1999-10-04 2001-04-20 Nec Corp Software charging system
JP2002351565A (en) * 2001-05-23 2002-12-06 Interstate:Kk System, method and program for preventing illegal use
JP2004213436A (en) * 2003-01-07 2004-07-29 Yokogawa Electric Corp Software license authentication system
JP2010287081A (en) * 2009-06-12 2010-12-24 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for managing license
JP2013131015A (en) * 2011-12-21 2013-07-04 Ricoh Co Ltd License management program and information processing device
JP2014002583A (en) * 2012-06-19 2014-01-09 Nifty Corp Information processing apparatus, information processing system, information processing method, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001109625A (en) * 1999-10-04 2001-04-20 Nec Corp Software charging system
JP2002351565A (en) * 2001-05-23 2002-12-06 Interstate:Kk System, method and program for preventing illegal use
JP2004213436A (en) * 2003-01-07 2004-07-29 Yokogawa Electric Corp Software license authentication system
JP2010287081A (en) * 2009-06-12 2010-12-24 Nippon Telegr & Teleph Corp <Ntt> Device, method and program for managing license
JP2013131015A (en) * 2011-12-21 2013-07-04 Ricoh Co Ltd License management program and information processing device
JP2014002583A (en) * 2012-06-19 2014-01-09 Nifty Corp Information processing apparatus, information processing system, information processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021536652A (en) * 2018-09-17 2021-12-27 華為技術有限公司Huawei Technologies Co., Ltd. Virtual machine management methods and equipment for cloud platforms

Similar Documents

Publication Publication Date Title
JP6591678B2 (en) Chain connection security system
EP3376378B1 (en) Container license management method, and apparatus
KR101008448B1 (en) Systems and methods for deterring software piracy in a volume license environment
JP5992457B2 (en) Protecting operating system configuration values
US9300640B2 (en) Secure virtual machine
JP6147731B2 (en) Linking applications to device functions
TWI540453B (en) Sector map-based rapid data encryption policy compliance
JP5959749B2 (en) How to protect your operating system from malicious software attacks
US8726269B2 (en) Method to enable application sharing on embedded hypervisors by installing only application context
EP3289750B1 (en) Autonomous private key recovery
JP2020524836A (en) System and method for software activation and license tracking
US20080276321A1 (en) Secure Transfer Of Product-Activated Software To A New Machine Using A Genuine Server
JP2009537892A (en) How to protect clients and servers
EP2819048B1 (en) Virtualized host ID key sharing
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
US20190288856A1 (en) Timestamped license data structure
JP2013175112A (en) Authentication device and authentication method
JP2013131015A (en) License management program and information processing device
US20170003993A1 (en) File Based License Management System in Virtualization Environment
US20080222043A1 (en) System and method for trans-vendor license registration and recovery
US11829454B2 (en) Method and apparatus for preventing and investigating software piracy
US20110145596A1 (en) Secure Data Handling In A Computer System
US10223509B2 (en) Device of licensing program, program transaction device and method of licensing program
JP2017058711A (en) License management apparatus, license management system, license management program, and license management method
WO2015019416A1 (en) License management system and license management method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190814

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190814

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191210