(57)【要約】【課題】  ライセンス管理方式の異なるソフトウェアを統一的に管理し、各ソフトウェアのライセンスの使用効率を向上させ、不要なライセンスの買い増しを抑制することができるようにする。【解決手段】  ライセンス付きソフトウェが予めインストールされた複数の仮想マシンと、この複数の仮想マシンの使用予約をマシン単位でクライアント端末から受付け、利用予約スケジュールを時間帯別に格納する使用予約管理手段と、前記使用予約管理手段に格納された使用予約スケジュールに基づき各仮想マシンの予約状況を監視し、予約状況に応じて前記仮想マシンの前記クライアント端末からの利用を許可する手段とを備えることを特徴とする。【選択図】      図１
2013020440.tif 000002
【特許請求の範囲】
【請求項１】
ライセンス付きソフトウェが予めインストールされた複数の仮想マシンと、この複数の仮想マシンの使用予約をマシン単位でクライアント端末から受付け、使用予約スケジュールを時間帯別に格納する使用予約管理手段と、前記使用予約管理手段に格納された利用予約スケジュールに基づき各仮想マシンの予約状況を監視し、予約状況に応じて前記仮想マシンの前記クライアント端末からの利用を許可する手段とを備えることを特徴とするソフトウェアのライセンス管理システム。
【請求項２】
前記仮想マシンの利用時間帯における稼働環境の記録データと前記クライアント端末の利用者とを対応付ける稼動状況管理手段を備え、前記仮想マシンの再利用を許可する際に、当該利用者に関する稼働環境のデータが記録されていた場合、その記録された稼働環境のデータに基づき前記仮想マシンの稼働環境を再構成し、利用予約をした前記クライアント端末に当該仮想マシンを再利用させることを特徴とする請求項１に記載のソフトウェアのライセンス管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理対象のソフトウェアのライセンスが足りなくなった時に、ソフトウェアをシェアすることによってライセンス数の不足を仕組みに関するものである。
【背景技術】
【０００２】
ソフトウェアのライセンスをシェアする仕組みの代表例としては、下記の特許文献１で公開されている方法がある。この方法では、ソフトウェア使用権を管理するライセンス管理サーバが設置されており、クライアントＰＣがソフトウェアを利用したい場合には、ライセンス管理サーバからソフトウェア使用権を取得してソフトウェアを使用する。ソフトウェアの使用が終了したならば、ソフトウェア使用権をライセンス管理サーバに返却するという方法をとることによって、１つのソフトウェアのライセンスがあれば、このライセンスを時間的にシェアすることによって複数のクライアントＰＣで利用できるようにしたものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−８４８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上記先行技術にあっては、以下の２点の課題がある。
（１）ソフトウェア使用権の管理方法が統一されていないので、ソフトウェア毎にライセンス管理サーバが必要である。
（２）ライセンスを時間的にシェアするものであるため、ソフトウェアの同時使用が多くなると、ソフトウェア使用権（ライセンス）を増やす必要がある。しかし、ソフトウェア使用権を最大同時使用数だけ用意すると、利用効率が低下し、コストも嵩むという問題がある。
【０００５】
本発明の目的は、ライセンス管理方式の異なるソフトウェアを統一的に管理し、各ソフトウェアのライセンスの使用効率を向上させ、不要なライセンスの買い増しを抑制することができるソフトウェアのライセンス管理システムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係るソフトウェアのライセンス管理システムは、ライセンス付きソフトウェが予めインストールされた複数の仮想マシンと、この複数の仮想マシンの使用予約をマシン単位でクライアント端末から受付け、利用予約スケジュールを時間帯別に格納する使用予約管理手段と、前記使用予約管理手段に格納された使用予約スケジュールに基づき各仮想マシンの予約状況を監視し、予約状況に応じて前記仮想マシンの前記クライアント端末からの利用を許可する手段とを備えることを特徴とする。
また、前記仮想マシンの利用時間帯における稼働環境の記録データと前記クライアント端末の利用者とを対応付ける稼動状況管理手段を備え、前記仮想マシンの再利用を許可する際に、当該利用者に関する稼働環境のデータが記録されていた場合、その記録された稼働環境のデータに基づき前記仮想マシンの稼働環境を再構成し、利用予約をした前記クライアント端末に当該仮想マシンを再利用させることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ライセンス付きソフトウェが予めインストールされた仮想マシンのうち所望のソフトウェアがインストールされた仮想マシンを予約し、この仮想マシンを予約状況に応じて利用する構成であるため、ライセンス管理方式の異なるソフトウェアを統一的に管理して、各ライセンスソフトウェアの使用効率をあげて、不要なソフトウェアのライセンスの買い増しを抑制することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係るシステムの実施の形態を示すシステム構成図である。
【図２】ライセンス管理サーバの構成を示すシステム構成図である。
【図３】スケジュール管理テーブルの構造を示す構成図である。
【図４】スナップショット管理テーブルの構造を示す構成図である。
【図５】スケジュール管理プログラムの動作を説明する流れ図である。
【図６】仮想マシン切替プログラムの動作を説明する流れ図である。
【０００９】
以下、本発明の実施形態を、図面に従って詳細に説明する。
以下に本発明の実施形態の例を説明する。ただし、同一番号は同様の部品・要
素を示す。なお、これにより本発明が限定されるものではない。
図１は、本発明に係るシステムの実施の形態を示すシステム構成図である。
図１において、ライセンス管理サーバ１０１は、仮想マシン１００ａ，１００ｂに割り当てられたソフトウェアのライセンスをクライアント１０３，１０４の利用者に効率的に利用させる制御を行うサーバである。
クラウドインフラ１０２は、ソフトウェアライセンスが割り当てられた仮想マシン（Ａ）１００ａや仮想マシン（Ｂ）１００ｂなどが複数稼働する実行環境である。
クライアント（Ｘ）１０３やクライアント（Ｙ）１０４は、クラウドインフラ１０２で稼働する仮想マシンに接続し、仮想マシンを利用する端末である。
ネットワーク１０５は、ライセンス管理サーバ１０１やクラウドインフラ１０２やクライアント１０３，１０４などがデータを交換する通信網である。
【００１０】
図２は、ライセンス管理サーバの構成を示すシステム構成図である。
ライセンス管理サーバ１０１は、プログラムの実行を行うＣＰＵ２０１と、プログラムやデータをロードするメモリ２０２と、他の機器とデータ交換を行う通信部２０３と、命令やデータの入力を行う入力部２０４と、システムの状態などを出力する出力部２０５と、スケジュール管理プログラム２０７や仮想マシン切替プログラム２０８やＷｅｂサーバプログラム２０９やスケジュール管理テーブル２１０やスナップショット管理テーブル２１１の記憶されている記憶部２０６がバス２１２で接続されている。
通信部２０３は、有線LANや無線LANなどを利用して、ネットワーク１０５を介してクラウドインフラ１０２やクライアントとの間で通信を行う機能を持つ。
入力部２０４は、キーボード、マウス、ペン入力、指入力、音声入力、ボタンなどの入力手段を持つ。
出力部２０５は、ディスプレイ、音声などの出力手段を持つ。
【００１１】
スケジュール管理プログラム２０７は、スケジュール管理テーブル２１０を利用してクラウドインフラ１０２上のライセンス付きソフトウェアがインストールされた仮想マシンへ１００ａ，１００ｂの利用者割当を制御するプログラムである。
仮想マシン切替プログラム２０８は、スケジュール管理テーブル２１０の割当に従って、利用時間の切れる利用者から仮想マシンの環境を切断し、利用環境を保存し、次の利用者が以前利用していた環境に設定し直して、提供する処理を行うプログラムである。
Ｗｅｂサーバプログラム２０９は、クライアント１０３，１０４の利用者に仮想マシン」１００ａ，１００ｂの予約スケジュールを提示したり、利用者がライセンスを利用したい時間帯を指定したりできるＷｅｂアプリケーションが稼働するプログラムである。
スケジュール管理テーブル２１０は、ライセンスソフトのインストールされている仮想マシンン１００ａ，１００ｂの名前や利用予約状況などのデータを格納している。
【００１２】
図３にスケジュール管理テーブル２１０の構造を示す。
項番３０１は、テーブル内のレコードを一意に特定する識別子である。
ＶＭ名３０２は、仮想マシン１００ａ，１００ｂを特定する名前である。
ライセンスアプリ３０３は、仮想マシン１００ａ，１００ｂに割り当てられたライセンスソフトウェアの識別子である。
予約状況３０４は、各仮想マシン１００ａ，１００ｂに対する利用者の予約状況データであり、例えば数日間単位で予約状況データを格納している。
予約状況３０４は日単位予約３０５で、午前、午後、夜間の予約枠に区切られている。ぞれぞれの予約枠には、予約が入っている場合には、予約者Ｘ，Ｙ，Ｚといった識別子が格納されている。それ以外は、空欄となっている。
【００１３】
スナップショット管理テーブル２１１は、各仮想マシン１００ａ，１００ｂの利用者毎のスナップショットの履歴情報を格納している。
図４にスナップショット管理テーブル２１１の構造を示す。
項番４０１は、テーブル内のレコードを一意に特定する識別子である。
時刻４０２は、スナップショットを記録した時刻である。
ユーザＩＤ４０３は、スナップショットの状態を利用していた利用者の識別子である。
ＶＭ名４０４は、スナップショットと紐づいている仮想マシンンの識別子である。
ＳＳ＃４０５は、仮想マシンで複数記録されているスナップショットを一意に識別する識別子である
【００１４】
次に、システム全体の動作の概要について説明する。
はじめに、ライセンスソフトウェアの利用者は、自身が使用するクライアント１０３または１０４のＷｅｂブラウザを利用して、Ｗｅｂサーバプログラム２０９を経由で、スケジュール管理プログラム２０７にアクセスし、ソフトウェアのインストールされたクラウドインフラ１０２上の仮想マシン１００ａまたは１００ｂの利用予約を行う。
予約の時間になると、仮想マシン切替プログラム２０８が、直前の利用者の仮想マシンへのコネクションを切断して、次の利用者向けに仮想マシン環境に再構成する。
次に、スケジュール管理プログラム２０７の処理手順を図５のフローチャートで説明する。
Ｗｅｂサーバプログラム２０９経由などで、利用者により指定された予約枠と予約者の情報を取得する（ステップ５０１）。ここで、予約枠とは、利用したいライセンスソフトのインストールされた仮想マシンのＶＭ名と利用したい（１日を３つの枠に分割した）時間帯で表わされるものであり、ＶＭ名３０２と時間帯３０４がクロスする欄である。
スケジュール管理プログラム２０７は、次に、ステップ５０１で取得した現予約枠に、登録情報があるか確認する（ステップ５０２）。
これは、スケジュール管理テーブル２１０上で、現予約枠に、利用者ＩＤが登録されている確認するものである。登録情報があれば、ステップ５０３に進む。そうでなければ、ステップ５０５に進む。
【００１５】
ステップ５０１で取得した現予約枠と同じ時間帯で、同じライセンスソフトのインストールされた複数の仮想マシンに対して、現予約枠の登録者が予約している仮想マシンの割合(予約率)とステップ５０１で取得した予約者の予約率とを比較する（ステップ５０３）。これは、スケジュール管理テーブル２１０上で、現予約枠の行のライセンスアプリの項目と同じ行エントリーを抽出し、現予約枠と同じ時間帯の列に着目し、現予約枠の登録者と同じ利用者ＩＤの数と予約者の利用者ＩＤの数を比較することである。登録者の予約率が高ければ、ステップ５０４に進む。そうでなければ、処理を終了する。
ステップ５０１で取得した現予約枠の直前の予約枠の登録者が、ステップ５０１で取得した予約者と同じか確認する（ステップ５０４）。同じならば、処理を終了する。そうでなければ、ステップ５０５へ進む。
【００１６】
ステップ５０１で取得した現予約枠を、ステップ５０１で取得した予約者の情報で書き換えて処理を終了する（ステップ５０５）。
すなわち、スケジュール管理プログラム２０７はクライアント１０３または１０３から受付けた仮想マシン１００ａまたは１００ｂの利用予約に対して予約枠に空きがあれば無条件に受付けた予約を登録する。しかし、空きが無ければ、対象となっている予約枠（現予約枠）について直前の予約枠の予約者（登録者）と新たな予約者との関係から同じ予約者が連続しないように予約を受付ける。
なお、空きが無い場合にどのような論理で新たな予約を受付けるかは任意であり、本発明は実施形態の説明に限定されるものではない。
【００１７】
次に、仮想マシン切替プログラム２０８の処理手順を図６のフローチャートで説明する。
まず、仮想マシン切替プログラム２０８は現在時刻を取得する（ステップ６０１）。
この後、次の予約枠の時間帯に、利用者の切り替わる仮想マシンをスケジュール管理テーブル２１０から抽出する（ステップ６０２）。そして、予約枠の切り替わる時刻（切替時刻）の直前に抽出した仮想マシンのそれぞれに対して、ステップ６０３以下の処理を実行する。
ステップ６０２で抽出した仮想マシンに対して、現在の利用者(現利用者)向けに利用終了のメッセージを出力する（ステップ６０３）。
次に、切替時刻になったら、ステップ６０２で抽出した仮想マシンに対して、現利用者のクライアントからの接続を切断するようにリモート制御する（ステップ６０４）。
ステップ６０４で切断した仮想マシンのこの時点での環境設定などの稼動環境情報をスナップショットとしてまとめる（ステップ６０５）。
スナップショット管理テーブル２１１にステップ６０５で作成したスナップショットを登録する（ステップ６０６）。ここでは、時刻４０２には現在時刻を、ユーザＩＤ４０３には現利用者の利用ＩＤを、ＶＭ名４０４にはステップ６０５でスナップショットを取得した仮想マシンのＶＭ名を、ＳＳ＃４０５には同じ仮想マシンの中で、複数スナップショットを一意に識別できる識別子を登録する。
【００１８】
次に、スケジュール管理テーブル２１０から、仮想マシンの現時刻の利用者（次利用者）を抽出し、スナップショット管理テーブル２１１に、同仮想マシンに対する次利用者のスナップショットが登録されていないか検索する（ステップ６０７）。登録が有れば、ステップ６０８へ進む。そうでなければ、ステップ６１０に進む。
ステップ６０７で検索したスナップショットを、ステップ６０６でスナップショットの登録をした仮想マシンに適用して、利用環境を再構成する（ステップ６０８）。
次に、次利用者にステップ６０８で利用環境を再構成した仮想マシンを提供する（ステップ６０９）。そして、ステップ６０１に戻る。
一方、ステップ６０７において、次利用者のスナップショットが登録されていない場合には、当該仮想マシンに、初期インストール状態のスナップショットを適用して、利用環境を再構成する（ステップ６１０）。そして、ステップ６０９に戻る。
【符号の説明】
【００１９】
１００ａ，１００ｂ  仮想マシン
１０１  ライセンス管理サーバ
１０３、１０４クライアント
２０７  スケジュール管理プログラム
２０８  仮想マシン切替プログラム
２０９  Ｗｅｂサーバプログラム
２１０  スケジュール管理プログラム
２１１  スナップショット管理テーブル
【図１】
2013020440.tif 000003
【図２】
2013020440.tif 000004
【図３】
2013020440.tif 000005
【図４】
2013020440.tif 000006
【図５】
2013020440.tif 000007
【図６】
2013020440.tif 000008