JP2013131015A - ライセンス管理プログラム及び情報処理装置 - Google Patents

ライセンス管理プログラム及び情報処理装置 Download PDF

Info

Publication number
JP2013131015A
JP2013131015A JP2011279509A JP2011279509A JP2013131015A JP 2013131015 A JP2013131015 A JP 2013131015A JP 2011279509 A JP2011279509 A JP 2011279509A JP 2011279509 A JP2011279509 A JP 2011279509A JP 2013131015 A JP2013131015 A JP 2013131015A
Authority
JP
Japan
Prior art keywords
information
license
machine
physical
virtual machine
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
JP2011279509A
Other languages
English (en)
Inventor
Motohiro Kuroda
元宏 黒田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2011279509A priority Critical patent/JP2013131015A/ja
Publication of JP2013131015A publication Critical patent/JP2013131015A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】仮想マシン上で利用されるソフトウェアの不正利用を防止すること。
【解決手段】ライセンス管理プログラムは、ソフトウェアがインストールされるコンピュータに、前記コンピュータ又は前記コンピュータ上の仮想マシンの第一の固有情報を取得する第一の固有情報取得手順と、前記第一の固有情報が仮想マシンに関する情報を含む場合、前記コンピュータ又は前記コンピュータとネットワークを介して接続されるコンピュータの第二の固有情報を取得する第二の固有情報取得手順と、前記第一の固有情報が仮想マシンに関する情報を含む場合、前記第一の固有情報と前記第二の固有情報とを組み合わせて、前記ソフトウェアが利用される前記仮想マシンを識別する識別情報を生成する第一の生成手順とを実行させる。
【選択図】図4

Description

本発明は、ライセンス管理プログラム及び情報処理装置に関する。
ソフトウェアのライセンスの管理形態として、正当なユーザであることを証明するライセンス情報が、ソフトウェアのインストール先のコンピュータに保存される形態がある。コンピュータにおいてソフトウェアが利用される際に、正しいライセンス情報が当該コンピュータに保存されているか否かが判定され、保存されていれば、ソフトウェアの利用は許可される。
ライセンス情報は、他のソフトウェア資源と同様、容易にコピーが可能である。そこで、ライセンス情報のコピーによるソフトウェアの不正利用を防止するため、ライセンス情報には、例えば、コンピュータごとにユニークなID(以下、「ユニークID」という。)が含められる。正しいライセンス情報の保存の有無が判定される際に、ライセンス情報に含まれるユニークIDが、ソフトウェアが利用されるコンピュータに係るユニークIDと一致すれば、ソフトウェアの利用は許可される。そうすることで、コンピュータAに関するユニークIDを含むライセンス情報がコンピュータBにコピーされたとしても、コンピュータBにおけるソフトウェアの不正利用は防止される。
従来、ユニークIDの生成方法として、MACアドレスやハードディスクのIDといった、ハードウェアの固有情報を利用する方法が知られている。ハードウェアの固有情報であれば、コンピュータごとの一意性が保証される可能性は高いからである。
しかしながら、仮想化技術によって実現される仮想マシンは、同一のコンピュータ(以下、仮想マシンとの区別を明確にするため「物理マシン」という。)上において、複数起動される。したがって、各仮想マシン上のOS(Operating System)から取得される物理マシンの固有情報は共通なものとなってしまう場合が有る。その場合、各仮想マシンに関するユニークIDが重複してしまう可能性がある。ユニークIDが重複する場合、例えば、仮想マシンAに関するライセンス情報を利用して、仮想マシンBにおいてソフトウェアの不正利用が可能となってしまう。
本発明は、上記の点に鑑みてなされたものであって、仮想マシン上で利用されるソフトウェアの不正利用を防止することのできるライセンス管理プログラム及び情報処理装置の提供を目的とする。
そこで上記課題を解決するため、ライセンス管理プログラムは、ソフトウェアがインストールされるコンピュータに、前記コンピュータ又は前記コンピュータ上の仮想マシンの第一の固有情報を取得する第一の固有情報取得手順と、前記第一の固有情報が仮想マシンに関する情報を含む場合、前記コンピュータ又は前記コンピュータとネットワークを介して接続されるコンピュータの第二の固有情報を取得する第二の固有情報取得手順と、前記第一の固有情報が仮想マシンに関する情報を含む場合、前記第一の固有情報と前記第二の固有情報とを組み合わせて、前記ソフトウェアが利用される前記仮想マシンを識別する識別情報を生成する第一の生成手順とを実行させる。
仮想マシン上で利用されるソフトウェアの不正利用を防止することができる。
本発明の実施の形態におけるライセンス管理システムの構成例を示す図である。 本発明の実施の形態における物理マシンのハードウェア構成例を示す図である。 本発明の実施の形態における物理マシンのソフトウェア構成例を示す図である。 ライセンス管理クライアントの機能構成例を示す図である。 ライセンス管理クライアントの事前準備処理の処理手順の一例を説明するためのフローチャートである。 ライセンスの登録処理の処理手順の一例を説明するためのシーケンス図である。 ライセンス情報記憶部の一つのレコードの構成例を示す図である。 ライセンス情報の構成例を示す図である。 機体識別情報の生成処理の一例を説明するためのフローチャートである。 機体識別情報の生成例を示す図である。 ライセンスの検証処理の処理手順の一例を説明するためのシーケンス図である。 仮想マシンが動作する物理マシンとは別の物理マシンの機器固有情報を機体識別情報の生成に利用する場合のシステム構成例を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるライセンス管理システムの構成例を示す図である。
図1のライセンス管理システム1において、ライセンス管理サーバ20は、拠点A及び拠点B等と、インターネット等の広域的なネットワークN1を介して通信可能に接続されている。
ライセンス管理サーバ20は、拠点A又は拠点Bにおいて利用されるソフトウェアのライセンス(利用権限)を一元的に管理するコンピュータである。図1において、ライセンス管理サーバ20は、ライセンス情報記憶部21を有する。ライセンス情報記憶部21は、拠点A又は拠点Bにおいて利用されるソフトウェアのライセンスを管理するための情報を記憶する。
拠点A及び拠点Bは、それぞれ企業又は個人宅等、ソフトウェアが導入されるコンピュータが設置される場所である。なお、本実施の形態では、物理的なコンピュータを、「物理マシン」という。一方、仮想的なコンピュータを、「仮想マシン」という。物理マシン及び仮想マシンを区別しない場合、「機器」という。
拠点Aには、物理マシン10a1及び10a2、並びにルータRa等が設置されている。物理マシン10a1及び10a2、並びにルータRaは、拠点A内のLAN(Local Area Network)又はWAN(Wide Area Network)等であるネットワークNLaを介して通信可能に接続されている。ネットワークNLaは、ルータRaを介してネットワークN1に接続される。なお、ルータRaは、ルータ及びプロキシサーバとして機能する装置である。
拠点Bには、物理マシン10b1、10b2、及び10b3、並びにルータRb等が設置されている。物理マシン10b1、10b2、及び10b3は、拠点B内のLAN(Local Area Network)又はWAN(Wide Area Network)等であるネットワークNLaを介して通信可能に接続されている。ネットワークNLbは、ルータRbを介してネットワークN1に接続される。なお、ルータRbは、ルータ及びプロキシサーバとして機能する装置である。
なお、拠点Aの各物理マシン10を区別しない場合、「物理マシン10a」という。拠点Bの各物理マシン10を区別しない場合、「物理マシン10b」という。拠点A及び拠点Bの各物理マシン10の区別しない場合、「物理マシン10」という。また、拠点AのネットワークNLa及び拠点BのネットワークNLbを区別しない場合、「ネットワークNL」という。
各物理マシン10は、PC(Personal Computer)等のコンピュータ(個人用のPC、PCサーバ、又は大型のサーバ等の形態は問わない。)であり、本実施の形態において、ライセンス管理の対象とされるソフトウェアの導入先とされる。「ソフトウェア」とは、プログラムに限られない。静止画像、動画、音声データ等、ライセンスの対象となりうる電子的な情報であれば、ソフトウェアの内容は特定のものに限定されない。
本実施の形態において、拠点AにおけるネットワークNLa上、又は拠点BにおけるネットワークNLb上においては、IPアドレスの一意性が保証される。換言すれば、拠点A及び拠点Bを跨っては、IPアドレスの一意性は保証されない。すなわち、「拠点」とは、IPアドレスの一意性が保証される空間又は範囲をいう。
本実施の形態において、拠点A及び拠点BのIPアドレスの体系は、例えば、192.168.0.1/24である等、相互に同じであるとする。このことは、物理マシン10aと物理マシン10bとの間おいて、同じIPアドレスが割り当てられる可能性があることを意味する。
図2は、本発明の実施の形態における物理マシンのハードウェア構成例を示す図である。図2の物理マシン10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、ネットワークカード105、表示装置106、及び入力装置107等を有する。
物理マシン10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って物理マシン10に係る機能を実現する。ネットワークカード105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図3は、本発明の実施の形態における物理マシンのソフトウェア構成例を示す図である。図3に示されるように、各物理マシン10では、ホストOS11及び仮想化ソフト12等が動作する。
ホストOS11は、物理マシン10上で直接動作するOSである。ホストOS11上においては、物理機器固有情報取得サーバ111が動作する。物理機器固有情報取得サーバ111は、後述されるライセンス管理クライアント15からの要求に応じ、物理マシン10ごとに固有な(又は一意な)識別情報を、物理マシン10より取得する。以下、物理マシン10ごとに固有な識別情報を「物理機器固有情報」という。本実施の形態では、物理マシン10のネットワークカード105のMACアドレスが、物理機器固有情報の一例として用いられる。
仮想化ソフト12は、ホストOS11上において動作し、仮想マシンを作り出すソフトウェアである。図3では、仮想マシンV1及び仮想マシンV2の二つの仮想マシンVが動作している状態が示されている。各仮想マシンVは、仮想的なネットワークカードである仮想NIC121を有する。仮想NIC121は、仮想マシンV上で動作するゲストOS13にとって、ネットワークカード105として見える。各仮想NIC121には、仮想的なMACアドレスが割り当てられる。
通常、仮想NIC121のMACアドレスは、物理マシン10のIPアドレスに基づいて生成される。本実施の形態においても、仮想NIC121のMACアドレスは、物理マシン10のIPアドレスから生成されることを想定する。この場合、一つの物理マシン10上で動作する各仮想マシンVの仮想NIC121のMACアドレスは、重複することが考えられる。しかし、一般的な、仮想化ソフト12では、斯かる重複が回避されるように、各仮想NIC121に対するMACアドレスの割り当てが行われる。各仮想NIC121のMACアドレスが重複してしまっては、各仮想マシンVは、正常に通信を行うことができないからである。したがって、図3において、仮想マシンV1と仮想マシンV2とのそれぞれの仮想NIC121は、公知技術によって、相互に異なることが保証されることとする。このことは、一つの拠点内において、各仮想マシンVの仮想NIC121のMACアドレスは、一意であることが保証されることを意味する。各仮想NIC121のMACアドレスは、物理マシン10のIPアドレスより生成されるところ、拠点内において、各物理マシン10のIPアドレスの一意性は保証されるからである。そこで、本実施の形態では、仮想NIC121のMACアドレスを、仮想マシンVごとに固有な識別情報として利用する。以下、仮想マシンVごとに固有な識別情報を「仮想機器固有情報」という。
但し、拠点Aにおける仮想NIC121のMACアドレスと、拠点Bにおける仮想NIC121のMACアドレスとは、重複する可能性がある。拠点Aにおける物理マシン10aのIPアドレスと、拠点Bにおける物理マシン10bのIPアドレスとは重複する可能性があるからである。したがって、仮想機器固有情報に関して一意性が保証される範囲は、拠点内に限られる。
各仮想マシンVにおいては、ゲストOS13が動作する。ゲストOS13上には、対象ソフトウェア14及びライセンス管理クライアント15等がインストールされる。対象ソフトウェア14は、ライセンス管理の対象とされるソフトウェアである。ライセンス管理クライアント15は、ライセンス管理サーバ20からのライセンス情報の取得や、ライセンス情報に基づく対象ソフトウェア14の利用の許否の判定等をCPU104に実行させるプログラムである。なお、ライセンス情報とは、対象ソフトウェア14の利用権限を示すデータをいう。ライセンス管理クライアント15は、例えば、対象ソフトウェア14がインストールされる際に、併せてインストールされてもよい。但し、既にライセンス管理クライアント15がインストールされている場合は、ライセンス管理クライアント15はインストールされなくてよい。
なお、本実施の形態では、「ホスト型」等と呼ばれる形態によって、仮想化が行われる例が示されているが、「ハイパーバイザ型」と呼ばれる形態によって、仮想化が行われてもよい。この場合、ホストOS11は、不要となるため、物理機器固有情報取得サーバ111は、例えば、ハイパーバイザの一部の機能として実装されてもよい。
図4は、ライセンス管理クライアントの機能構成例を示す図である。図4に示されるように、ライセンス管理クライアント15は、ライセンス情報取得部151、物理機器固有情報取得部152、機器固有情報取得部153、機体識別情報生成部154、プロダクトキー受付部155、設定情報受付部156、動作環境判定部157、ライセンス情報保存部158、及びライセンス検証部159等を含む。
ライセンス情報取得部151は、ライセンス管理サーバ20よりライセンス情報を取得する。物理機器固有情報取得部152は、物理機器固有情報取得サーバ111に対して物理機器固有情報の取得要求を送信することにより、物理機器固有情報を取得する。
機器固有情報取得部153は、ライセンス管理クライアント15の動作環境のMACアドレスを取得する。以下、機器固有情報によって取得されるMACアドレスを、「機器固有情報」という。機器固有情報は、物理機器固有情報及び仮想機器固有情報を抽象化した概念である。したがって、機器固有情報の実体は、物理機器固有情報又は仮想機器固有情報である。すなわち、ライセンス管理クライアント15の動作環境が、仮想マシンV(ゲストOS13)である場合、機器固有情報取得部153によって取得される機器固有情報(MACアドレス)は、仮想NIC121のMACアドレスとなる。一方、ライセンス管理クライアント15の動作環境が、物理マシン10(ホストOS11)である場合、機器固有情報取得部153によって取得される機器固有情報(MACアドレス)は、ネットワークカード105のMACアドレスとなる。
すなわち、図3及び図4では、対象ソフトウェア14及びライセンス管理15が、仮想マシンV上で動作する形態が示されているが、本実施の形態では、対象ソフトウェア14及びライセンス管理15が、物理マシン10上で動作する形態についても考慮されている。
機体識別情報生成部154は、ライセンス管理クライアント15及び対象ソフトウェア14が動作する機器の個体(機体)を、拠点を跨って一意に識別する識別情報(以下、「機体識別情報」という。)を生成する。ライセンス管理クライアント15が及び対象ソフトウェア14が仮想マシンV上で動作する場合、機体識別情報は、仮想マシンVを、拠点を跨って一意に識別する情報である。ライセンス管理クライアント15が及び対象ソフトウェア14が物理マシン10上で動作する場合、機体識別情報は、物理マシン10を、拠点を跨って一意に識別する情報である。
プロダクトキー受付部155は、対象ソフトウェア14のプロダクトキーの入力を受け付ける。プロダクトキーとは、対象ソフトウェア14のライセンスの購入によって、ユーザに対して発行される、ライセンスの識別情報をいう。具体的には、対象ソフトウェア14のライセンスには、ライセンス数や、ライセンス期間等、各種の属性が付随する。ユーザは、ライセンスの購入時(又は対象ソフトウェア14の購入時)において、ライセンス数及びライセンス期間等を指定して、ライセンスを購入する。ライセンス管理サーバ20は、購入されたライセンスの識別情報として、プロダクトキーを発行する。ライセンス管理サーバ20は、購入されたライセンスごとに、当該ライセンスのプロダクトキーと、当該ライセンスの属性情報とを対応付けてライセンス情報記憶部21に記憶する。したがって、ライセンス管理サーバ20は、プロダクトキーによって、当該プロダクトキーに係るライセンスの範囲(ライセンス数やライセンス期間等)を把握することができる。
なお、プロダクトキー受付部155によって受け付けられたプロダクトキーは、ライセンス情報取得部151が、ライセンス管理サーバ20よりライセンス情報を取得する際に利用される。
設定情報受付部156は、ライセンス管理クライアント15の処理に必要な設定情報の入力を受け付ける。例えば、設定情報受付部156は、設定情報の入力画面を表示装置106に表示させ、当該画面を介して、ユーザより設定情報の入力を受け付ける。入力された設定情報は、例えば、補助記憶装置102に記憶される。但し、設定情報の入力画面ではなく、テキストエディタ等を利用して、所定のファイルに対して、設定情報が保存されてもよい。
動作環境判定部157は、ライセンス管理クライアント15の動作環境が、仮想マシンVであるか物理マシン10であるかを判定する。
ライセンス情報保存部158は、ライセンス情報取得部151によって取得されたライセンス情報を、例えば、補助記憶装置102に保存する。
ライセンス検証部159は、ライセンス情報保存部158によって保存されたライセンス情報を用いて、対象ソフトウェア14の利用の許否を判定する。
なお、図4において、ゲストOS13は、ネットワーク制御部131、入力制御部132、表示制御部133、及び記憶制御部134等を有する。ネットワーク制御部131は、ネットワーク通信に関する処理制御を行う。入力制御部132は、入力装置107に関する処理制御を行う。表示制御部133は、表示装置106に関する処理制御を行う。記憶制御部134は、メモリ装置103や補助記憶装置102等に関する処理制御を行う。
以下、ライセンス管理システム1において実行される処理手順について説明する。図5は、ライセンス管理クライアントの事前準備処理の処理手順の一例を説明するためのフローチャートである。図5の処理は、例えば、ライセンス管理クライアント15が、そのインストール後に初めて起動された際に実行される。
ステップS101において、設定情報受付部156は、ライセンス管理サーバ20のIPアドレスの入力をユーザより受け付ける。設定情報受付部156は、入力されたIPアドレスを、例えば、補助記憶装置102に保存する。なお、入力されたIPアドレスの正否が確認されてもよい。例えば、入力されたIPアドレスに基づいて、ライセンス管理サーバ20との通信の可否が確認されてもよい。
但し、ライセンス管理サーバ20のIPアドレスは、予めライセンス管理クライアント15に対して組み込まれていてもよい。この場合、ステップS101において、ライセンス管理サーバ20のIPアドレスは入力されなくてもよい。
続いて、機器固有情報取得部153は、ライセンス管理クライアント15が動作するOSのネットワーク制御部131を介してMACアドレスを機器固有情報として取得する(S102)。
続いて、動作環境判定部157は、機器固有情報取得部153によって取得された機器固有情報に基づいて、ライセンス管理クライアント15の動作環境が、仮想マシンVであるか否かを判定する(S103)。具体的には、MACアドレスは、ベンダコードを含む。仮想NIC121より取得されたMACアドレスには、仮想化ソフト12のベンダを示すベンダコードが含まれている。したがって、動作環境判定部157は、機器固有情報取得部153によって取得された機器固有情報(MACアドレス)のベンダコードが、仮想化ソフト12のベンダのベンダコードに一致するか否かに基づいて、動作環境が仮想マシンVであるか否かを判定する。
例えば、仮想化ソフト12のベンダのベンダコードは、例えば、所定のファイルに予め保存されていてもよいし、ライセンス管理クライアント15のプログラムロジック内に埋め込まれていてもよい。
機器固有情報のベンダコードが、仮想化ソフト12のベンダのベンダコードに一致する場合、すなわち、動作環境が仮想マシンVである場合(S103でYes)、設定情報受付部156は、物理機器固有情報取得サーバ111のIPアドレスの入力をユーザより受け付ける(S104)。設定情報受付部156は、入力されたIPアドレスを、例えば、補助記憶装置102に保存する。なお、入力されたIPアドレスの正否が確認されてもよい。例えば、入力されたIPアドレスに基づいて、物理機器固有情報取得サーバ111との通信の可否が確認されてもよい。
一方、動作環境が物理マシン10である場合(S103でNo)、物理機器固有情報取得サーバ111のIPアドレスの受け付けは不要である。後述より明らかなように、動作環境が物理マシン10であるライセンス管理クライアント15にとって、物理機器固有情報取得サーバ111との通信は不要だからである。
なお、ステップS102において取得された機器固有情報(MACアドレス)がプライベートアドレスである場合、機器固有情報は重複する可能性があるため、例えば、図5の処理は異常終了してもよい。
また、ライセンス管理サーバ20や、物理機器固有情報取得サーバ111のIPアドレスは、任意のタイミングで変更可能なように、例えば、ライセンス管理クライアント15のアイコンを右クリックすることにより表示されるコンテキストメニューから設定情報受付部156の呼び出しが可能とされてもよい。
また、ライセンス管理サーバ20のIPアドレスの入力と物理機器固有情報取得サーバ111のIPアドレスの入力とは同じ画面において行われてもよい。
続いて、機器に対するライセンスの登録時に実行される処理手順を説明する。図6は、ライセンスの登録処理の処理手順の一例を説明するためのシーケンス図である。
ステップS201において、ライセンス管理クライアント15のプロダクトキー受付部155は、プロダクトキーの入力をユーザより受け付ける。例えば、プロダクトキー受付部155は、プロダクトキーの入力用の画面を表示装置106に表示させ、当該画面を介してプロダクトキーの入力を受け付ける。
続いて、ライセンス管理クライアント15は、当該ライセンス管理クライアント15の動作環境に係る機器の機体識別情報の生成処理を実行する(S202)。当該生成処理の詳細については後述される。
続いて、ライセンス管理クライアント15のライセンス情報取得部151は、ライセンスキーと機体識別情報とを指定して、ライセンス情報の取得要求をライセンス管理サーバ20に送信する(S203)。ライセンス管理サーバ20のIPドレスは、予め設定されている設定情報に基づいて特定される。
ライセンス情報の取得要求に応じ、ライセンス管理サーバ20は、ライセンス情報を生成すると共に、ライセンスが使用されたことを記憶する(S204)。ライセンス情報の生成は、ライセンス情報記憶部21を参照して行われる。
図7は、ライセンス情報記憶部の一つのレコードの構成例を示す図である。図7において、ライセンス情報記憶部21の一つのレコードは、プロダクトキー、ソフトウェア名、製品ID、利用権限、ライセンス数、及びライセンス使用数等を含む。
プロダクトキーは、購入されたライセンスに対して割り当てられたプロダクトキーである。ソフトウェア名及び製品IDは、当該プロダクトキーに係るライセンスによって利用が許可される対象ソフトウェア14の名前又はIDである。利用期限は、当該プロダクトキーに係るライセンスの有効期限である。ライセンス数は、当該プロダクトキーに係るライセンスによって同時に発行可能なライセンス情報の数である。ライセンス使用数は、当該プロダクトキーに関して、既に発行されたライセンス情報の数である。
上記の各項目の値は、ライセンスの購入時においてライセンス情報記憶部21に記憶される。ライセンス使用数の初期値は「0」である。
ステップS204において、ライセンス管理サーバ20は、以下の条件(1)及び(2)の充足の有無を判定する。(1)ライセンス情報の取得要求に指定されたプロダクトキーに一致するレコードがライセンス情報記憶部21より検索されること。(2)検索されたレコードのライセンス使用数が、ライセンス数未満であること。
条件(1)及び(2)が充足された場合、ライセンス管理サーバ20は、ライセンス情報を生成する。
図8は、ライセンス情報の構成例を示す図である。図8に示されるように、ライセンス情報には、利用期限等が含まれる。
利用期限は、ライセンス情報の取得要求に指定されていたプロダクトキーに対してライセンス情報記憶部21に記憶されていた利用期限である。
続いて、ライセンス管理サーバ20は、生成されたライセンス情報と、プロダクトキーに対応する製品IDと、ライセンス情報の取得要求に指定されていた機体識別情報とに基づいて、一つのハッシュ値を生成する(S205)。続いてライセンスサーバ20は、ライセンス情報及びハッシュ値を、ライセンス管理クライアント15に返信する(S206)。
ライセンス情報取得部151によってライセンス情報及びハッシュ値が受信されると、ライセンス情報保存部158は、当該ライセンス情報及びハッシュ値を、例えば、補助記憶装置102に保存する(S207)。保存形態は、ファイルでもよいし、レジストリでもよい。
続いて、ステップS202における機体識別情報の生成処理の詳細について説明する。図9は、機体識別情報の生成処理の一例を説明するためのフローチャートである。
ステップS201において、機器固有情報取得部153は、ライセンス管理クライアント15が動作するOS(ゲストOS13又はホストOS11)のネットワーク制御部131を介して、MACアドレスを機器固有情報として取得する。続いて、動作環境判定部157は、取得された機器固有情報に基づいて、ライセンス管理クライアント15の動作環境が、仮想マシンであるか否かを判定する(S212)。当該判定は、図5のステップS103において説明した方法によって行われればよい。なお、ステップS103における判定結果を保存しておき、保存されている判定結果がステップS212において利用されてもよい。但し、ライセンス管理クライアント15が物理マシン10にインストールされた後に仮想化されることも可能であるため、機器固有情報は、図9の処理が実行されるたびに取得された方がよい。
動作環境が仮想マシンVである場合(S212でYes)、物理機器固有情報取得部152は、予め設定されているIPアドレスに基づいて、物理機器固有情報取得サーバ111に対して、物理機器固有情報(物理マシン10のMACアドレス)を問い合わせることにより、物理機器固有情報を取得する(S213)。物理機器固有情報の取得に失敗した場合(S214でNo)、図9の処理は異常終了する。
物理機器固有情報の取得に成功した場合(S214でYes)、機体識別情報生成部154は、仮想機器固有情報と、取得された物理機器固有情報とを組み合わせて機体識別情報を生成する(S215)。なお、動作環境が仮想マシンVである場合、ステップS211において取得される機器固有情報は、仮想機器固有情報(すなわち、仮想NIC121のMACアドレス)である。したがって、機体識別情報を生成するための仮想機器固有情報としては、ステップS211において取得された機器固有情報が利用されればよい。
物理機器固有情報と仮想機器固有情報とが組み合わされることにより、拠点を跨いで、仮想マシンV単位で一意性が保証される機体識別情報が生成される。すなわち、動作環境が仮想マシンVである場合、仮に、物理機器固有情報のみに基づいて機体識別情報が生成されると、同一の物理マシン10上で動作する仮想マシンV間において、機体識別情報が重複してしまう。また、仮想機器固有情報のみに基づいて機体識別情報が生成されると、拠点Aと拠点Bとで、機体識別情報が重複する可能性がある。一方、物理機器固有情報と仮想機器固有情報とが組み合わされれば、物理機器固有情報によって、拠点を跨いだ物理マシン10単位の一意性が確保され、仮想機器固有情報によって、同一の物理マシン10上における各仮想マシンVの一意性が確保される。その結果、拠点を跨いで、仮想マシンV単位で一意な機体識別情報が生成される。
一方、ステップS212において、動作環境は物理マシン10であると判定される場合(S212でNo)、機体識別情報生成部154は、物理機器固有情報に基づいて機体識別情報を生成する(S216)。動作環境が物理マシン10である場合、ステップS211で取得される機器固有情報は、物理機器固有情報(すなわち、物理マシン10のMACアドレス)である。したがって、機体識別情報を生成するための物理機器固有情報としては、ステップS211において取得された機器固有情報が利用されればよい。
なお、物理機器固有情報は、拠点を跨って物理マシン10の一意性を保証する。したがって、動作環境が物理マシン10である場合、物理機器固有情報に基づいて機体識別情報が生成されれば、機体識別情報の重複は回避可能である。
機体識別情報の生成例について説明する。図10は、機体識別情報の生成例を示す図である。図10では、機体識別情報の生成例の一部として、(例1)から(例5)が示されている。
(例1)では、動作環境が物理マシン10の場合には、物理機器固有情報がそのまま機体識別情報とされる。また、動作環境が仮想マシンの場合には、物理機器固有情報に仮想機器固有情報を続けたものが、そのまま機体識別情報とされる。
(例2)では、動作環境に応じて機体識別情報の長さが変わらないように、動作環境が物理マシン10の場合に、仮想機器固有情報と同じ長さの空白又は特定の文字列が物理機器固有情報に付加されたものが、機体識別情報とされる。なお、(例2)では、(例1)に対して、仮想機器固有情報と物理機器固有情報との前後関係が入れ替えられている。
(例3)では、仮想機器識別情報(又は空白若しくは特定の文字列)と、物理機器固有情報との一部ずつが交互に組み合わされたものが、機体識別情報とされる。
(例4)では、(例1)における機体識別情報のハッシュ値が、機体識別情報とされる。
(例5)では、(例2)における機体識別情報のハッシュ値が、機体識別情報とされる。
続いて、対象ソフトウェア14の利用時に実行される、ライセンスの検証処理について説明する。
図11は、ライセンスの検証処理の処理手順の一例を説明するためのシーケンス図である。
ステップS301において、例えば、ユーザによって、対象ソフトウェア14の利用指示が入力されと、対象ソフトウェア14が起動を開始する。続いて、対象ソフトウェア14は、当該対象ソフトウェア14の製品IDを指定して、ライセンスの有無を同一機器上のライセンス管理クライアント15に対して問い合わせる(S302)。
当該問い合わせに応じ、ライセンス管理クライアント15のライセンス検証部159は、例えば、補助記憶装置102に保存されている、ライセンス情報及びハッシュ値を取得する(S303)。続いて、機体識別情報生成部154は、ライセンス管理クライアント15の動作環境(すなわち、対象ソフトフェア14の動作環境)の機器の機体識別情報を生成する(S304)。ステップS304において実行される処理手順は、図9において説明した通りである。
続いて、ライセンス検証部159は、ステップS302の問い合わせに指定された製品IDと、ステップS303において取得されたライセンス情報と、ステップS304において生成された機体識別情報とに基づいて、一つのハッシュ値を生成する(S305)。ここで利用されるハッシュ関数は、図6のステップS205において利用されるハッシュ関数と同じである。
続いて、ライセンス検証部159は、生成されたハッシュ値と、ステップS303において取得されたハッシュ値とを比較することにより、ライセンスの有無を判定する(S306)。すなわち、両者が一致すれば、ライセンスは有ると判定される。両者が一致しなければ、ライセンスは無いと判定される。なお、本実施の形態のように、ライセンス情報において、ライセンスの有効期限等が含まれている場合は、当該有効期限に関しても検証が行われる。
続いて、ライセンス検証部159は、ステップS306における判定結果を、対象ソフトウェア14に応答する(S307)。対象ソフトウェア14は、当該判定結果が、ライセンスが有ることを示す場合、起動処理を継続する。その結果、対象ソフトウェア14は利用可能となる。一方、当該判定結果が、ライセンスは無いことを示す場合、対象ソフトウェア14は、起動処理を中止する。その結果、対象ソフトウェア14の利用は制限される。
なお、対象ソフトウェア14とライセンス管理クライアント15とは、同じプロセス上で動作してもよい。
ところで、ライセンスの登録時において、ライセンス情報は、機体識別情報及び製品IDも含まれるように生成されてもよい。この場合、ライセンス情報、機体識別情報、及び製品IDのハッシュ値は生成されなくてもよい。すなわち、ライセンス情報のみが、ライセンス先の機器に保存されてもよい。ライセンスの検証時において、ライセンス検証部159は、ステップS302の問い合わせに指定された製品IDと、ステップS304において生成された機体識別情報とが、保存されているライセンス情報に含まれているか否かによって、ライセンスの有無を判定してもよい。
なお、上記においては、仮想マシンVの機体識別情報は、当該仮想マシンVの仮想機器固有情報に対して物理機器固有情報が組み合わされることにより生成される例を説明したが、物理機器固有情報として付加される情報は、必ずしも当該仮想マシンVが動作する物理マシン10の機器固有情報(MACアドレス)でなくてもよい。
すなわち、仮想機器固有情報に対して物理機器固有情報が付加されるのは、機体識別情報に関して、拠点を跨いだ一意性を確保するためである。したがって、拠点を跨いだ一意性を確保可能な情報であれば、当該仮想マシンVが動作する物理マシン10の機器固有情報(MACアドレス)に置き換わることができる。例えば、当該仮想マシンVが動作する物理マシン10とは別の物理マシン10の機器固有情報が、当該仮想マシンVの仮想機器固有情報に組み合わされてもよい。この場合、図12に示されるような構成が可能となる。
図12は、仮想マシンが動作する物理マシンとは別の物理マシンの機器固有情報を機体識別情報の生成に利用する場合のシステム構成例を示す図である。
図12では、物理マシン10a1には、物理機器固有情報取得サーバ111は実装されておらず、物理マシン10a2に、物理機器固有情報取得サーバ111が実装されている例が示されている。この場合、物理マシン10a1上における各仮想マシンV上のライセンス管理クライアント15は、物理マシン10a2の物理機器固有情報取得サーバ111から物理機器固有情報を取得し、機体識別情報を生成する。すなわち、物理マシン10a2のMACアドレスが、物理マシン10a1上で動作する仮想マシンVの機体識別情報の生成に利用される。このよう形態であっても、当該機体識別情報は、拠点Bにおいて、仮想マシンVに関して生成される機体識別情報との重複を回避することができる。拠点Bには、物理マシン10a2と同じMACアドレスを有する物理マシン10bは存在しないはずだからである。
なお、物理マシン10a2の物理機器固有情報は、拠点Aの各物理マシン10aの各仮想マシン上のライセンス管理クライアント15によって共用可能である。
また、拠点間で重複することがなく、容易に複製が行えない情報であれば、物理マシンのMACアドレス以外の情報が、仮想マシンVの機体識別情報の生成に利用されてもよい。
また、本実施の形態の適用に際し、機器固有情報として用いられる情報は、仮想マシンV及び物理マシンを問わず、MACアドレスに限定されない。例えば、物理的又は仮想的なハードディスクのID(シリアル番号)が利用されてもよいし、物理的又は仮想的なCPUのIDが利用されてもよい。
上述したように、本実施の形態によれば、仮想マシンVごとに、拠点を跨いで一意な機体識別情報を生成することができる。したがって、対象ソフトウェア14が仮想マシンV上で利用される場合であっても、ライセンス情報のコピーによる、ライセンスの不正利用を防止することができる。
また、無関係なユーザ間(例えば、拠点が異なるユーザ間)において、機体識別情報が重複してしまうことを防止することができる。その結果、無関係な一方のユーザによって他方のユーザのライセンスが使用されてしまうといった不都合を回避することができる。
なお、本実施の形態において、機器固有情報取得部153は、第一の固有情報取得部の一例である。物理機器固有情報取得部152は、第二の固有情報取得部の一例である。機体識別情報生成部154は、生成部の一例である。物理マシン10は、情報処理装置又はコンピュータの一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 ライセンス管理システム
10a1、10a2、10a3、10b1、10b2、及び10b3 物理マシン
11 ホストOS
12 仮想化ソフト
13 ゲストOS
14 対象ソフトウェア
15 ライセンス管理クライアント
20 ライセンス管理サーバ
21 ライセンス情報記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 ネットワークカード
106 表示装置
107 入力装置
111 物理機器固有情報取得サーバ
121 仮想NIC
131 ネットワーク制御部
132 入力制御部
133 表示制御部
134 記憶制御部
151 ライセンス情報取得部
152 物理機器固有情報取得部
153 機器固有情報取得部
154 機体識別情報生成部
155 プロダクトキー受付部
156 設定情報受付部
157 動作環境判定部
158 ライセンス情報保存部
159 ライセンス検証部
B バス
N1 ネットワーク
NLa、NLb ネットワーク
Ra、Rb ルータ
V1、V2 仮想マシン
特開2010−287081号公報

Claims (4)

  1. ソフトウェアがインストールされるコンピュータに、
    前記コンピュータ又は前記コンピュータ上の仮想マシンの第一の固有情報を取得する第一の固有情報取得手順と、
    前記第一の固有情報が仮想マシンに関する情報を含む場合、前記コンピュータ又は前記コンピュータとネットワークを介して接続されるコンピュータの第二の固有情報を取得する第二の固有情報取得手順と、
    前記第一の固有情報が仮想マシンに関する情報を含む場合、前記第一の固有情報と前記第二の固有情報とを組み合わせて、前記ソフトウェアが利用される前記仮想マシンを識別する識別情報を生成する第一の生成手順とを実行させるライセンス管理プログラム。
  2. 前記第一の固有情報が仮想マシンに関する情報を含まない場合、前記第一の情報に基づいて、前記ソフトウェアが利用される当該コンピュータを識別する識別情報を生成する第二の生成手順を実行させる請求項1記載のライセンス管理プログラム。
  3. 前記第一の固有情報は、前記仮想マシンの仮想的なMACアドレスであり、前記第二の固有情報は、当該コンピュータのMACアドレスである請求項1又は2記載のライセンス管理プログラム。
  4. ソフトウェアがインストールされる情報処理装置であって、
    前記コンピュータ又は前記コンピュータ上の仮想マシンの第一の固有情報を取得する第一の固有情報取得部と、
    前記第一の固有情報が仮想マシンに関する情報を含む場合、前記コンピュータ又は前記コンピュータとネットワークを介して接続されるコンピュータの第二の固有情報を取得する第二の固有情報取得部と、
    前記第一の固有情報が仮想マシンに関する情報を含む場合、前記第一の固有情報と前記第二の固有情報とを組み合わせて、前記ソフトウェアが利用される前記仮想マシンを識別する識別情報を生成する生成部とを有する情報処理装置。
JP2011279509A 2011-12-21 2011-12-21 ライセンス管理プログラム及び情報処理装置 Pending JP2013131015A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011279509A JP2013131015A (ja) 2011-12-21 2011-12-21 ライセンス管理プログラム及び情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011279509A JP2013131015A (ja) 2011-12-21 2011-12-21 ライセンス管理プログラム及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2013131015A true JP2013131015A (ja) 2013-07-04

Family

ID=48908521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011279509A Pending JP2013131015A (ja) 2011-12-21 2011-12-21 ライセンス管理プログラム及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2013131015A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015019416A1 (ja) * 2013-08-06 2015-02-12 株式会社日立システムズ ライセンス管理システムおよびライセンス管理方法
JP2017058711A (ja) * 2015-09-14 2017-03-23 富士通株式会社 ライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法
KR101789289B1 (ko) * 2016-02-25 2017-11-20 주식회사 케이티 Nfv 서비스 환경에서 vnf 라이선스 관리 방법 및 시스템
KR20190020944A (ko) * 2017-08-22 2019-03-05 주식회사 케이티 Vnf 라이선스 관리 방법 및 이를 이용한 네트워크 서비스 제공 시스템
WO2019159688A1 (ja) * 2018-02-13 2019-08-22 ソニー株式会社 情報処理装置、情報処理方法、プログラム、電子機器、及び、情報処理システム
WO2019159689A1 (ja) * 2018-02-13 2019-08-22 ソニー株式会社 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム
CN112367369A (zh) * 2020-10-27 2021-02-12 西安宇视信息科技有限公司 云计算环境的软件安全控制方法、装置、介质及电子设备

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015019416A1 (ja) * 2013-08-06 2015-02-12 株式会社日立システムズ ライセンス管理システムおよびライセンス管理方法
JP2017058711A (ja) * 2015-09-14 2017-03-23 富士通株式会社 ライセンス管理装置、ライセンス管理システム、ライセンス管理プログラムおよびライセンス管理方法
KR101789289B1 (ko) * 2016-02-25 2017-11-20 주식회사 케이티 Nfv 서비스 환경에서 vnf 라이선스 관리 방법 및 시스템
KR102039885B1 (ko) * 2017-08-22 2019-11-05 주식회사 케이티 Vnf 라이선스 관리 방법 및 이를 이용한 네트워크 서비스 제공 시스템
KR20190020944A (ko) * 2017-08-22 2019-03-05 주식회사 케이티 Vnf 라이선스 관리 방법 및 이를 이용한 네트워크 서비스 제공 시스템
WO2019159688A1 (ja) * 2018-02-13 2019-08-22 ソニー株式会社 情報処理装置、情報処理方法、プログラム、電子機器、及び、情報処理システム
WO2019159689A1 (ja) * 2018-02-13 2019-08-22 ソニー株式会社 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム
CN111699489A (zh) * 2018-02-13 2020-09-22 索尼公司 电子设备、信息处理装置、信息处理方法、程序和信息处理系统
JPWO2019159689A1 (ja) * 2018-02-13 2021-01-28 ソニー株式会社 電子機器、情報処理装置、情報処理方法、プログラム、及び、情報処理システム
US11693929B2 (en) 2018-02-13 2023-07-04 Sony Corporation Electronic device, information processing apparatus, information processing method, and information processing system
US11816191B2 (en) 2018-02-13 2023-11-14 Sony Corporation Information processing apparatus, information processing method, electronic device, and information processing system for period management of a license used in the electronic device
CN112367369A (zh) * 2020-10-27 2021-02-12 西安宇视信息科技有限公司 云计算环境的软件安全控制方法、装置、介质及电子设备
CN112367369B (zh) * 2020-10-27 2023-04-07 西安宇视信息科技有限公司 云计算环境的软件安全控制方法、装置、介质及电子设备

Similar Documents

Publication Publication Date Title
EP3376378B1 (en) Container license management method, and apparatus
US10338946B1 (en) Composable machine image
JP6591678B2 (ja) チェーン接続セキュリティシステム
JP7472359B2 (ja) 管理方法、管理装置、及び、プログラム
JP2013131015A (ja) ライセンス管理プログラム及び情報処理装置
US8612574B2 (en) Computer system for managing configuration item, and method and computer program therefor
US8356360B2 (en) License management system and authentication method for the same
US20100106821A1 (en) Managing configuration items
JP5340610B2 (ja) 複数の構成要素を管理するためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US20170003993A1 (en) File Based License Management System in Virtualization Environment
JP2022522702A (ja) 複数のセキュリティ・ドメインにわたるセキュア・メモリの共用
JPWO2008146408A1 (ja) ライセンス管理プログラム、ソフトウェア利用制御方法およびライセンス管理装置
US20080222043A1 (en) System and method for trans-vendor license registration and recovery
JP2012208752A (ja) ライセンス管理装置、ライセンス管理方法、及びプログラム
JP2008176749A (ja) Id貸出装置、id貸出プログラムおよびid貸出方法
JP2007316938A (ja) ライセンス管理プログラム、ソフトウェア利用制御方法、ライセンスチェックプログラムおよびライセンスチェックセットアッププログラム
JP6820073B2 (ja) プログラム管理装置、プログラム管理方法、及びプログラム
JP2010287081A (ja) ライセンス管理装置、ライセンス管理方法及びそのプログラム
JP7084160B2 (ja) 起動制御装置、起動制御システム、起動制御方法、及び、起動制御プログラム
US10389743B1 (en) Tracking of software executables that come from untrusted locations
CN102378964B (zh) 创建虚拟进程的进程内中介
WO2015019416A1 (ja) ライセンス管理システムおよびライセンス管理方法
US20220138344A1 (en) Management of access to data in a distributed database
WO2015087444A1 (ja) ライセンス管理システムおよびライセンス管理方法
JP2007018344A (ja) ライセンス情報の更新方法