(57)【要約】      （修正有）【課題】ネットワークセグメント間の通信量を削減する。【解決手段】ライセンス管理システムは、同一ネットワークセグメントに属する複数のノードであって、ライセンス情報を各々保有する複数のノード（ノード１００−１〜ノード１００−３）を備える。各ノードは、同一ネットワークセグメント内の他のノードが保有するライセンス情報を収集する情報収集手段と、情報収集手段によって収集されたライセンス情報の一部または全部を、同一ネットワークセグメントとは異なるネットワークセグメントに属するマネージャマシン２００に送信する情報送信手段とを含む。【選択図】図１
2016085664.tif 000002
【特許請求の範囲】
【請求項１】
同一ネットワークセグメントに属する複数のノードであって、ライセンス情報を各々保有する複数のノードを備え、
前記各ノードは、
前記同一ネットワークセグメント内の他のノードが保有するライセンス情報を収集する情報収集手段と、
前記情報収集手段によって収集されたライセンス情報の一部または全部を、前記同一ネットワークセグメントとは異なるネットワークセグメントに属するマネージャマシンに送信する情報送信手段とを含む
ことを特徴とするライセンス管理システム。
【請求項２】
情報収集手段は、同一ネットワークセグメント内を巡回させるトークンを受信し、受信したトークンに自ノードが保有するライセンス情報を追記して他のノードに送信し、
情報送信手段は、前記トークンを用いて収集された前記同一ネットワークセグメント内のノードのライセンス情報の一部または全部を、マネージャマシンに送信する
請求項１に記載のライセンス管理システム。
【請求項３】
情報収集手段は、自ノードがマネージャマシンからライセンス情報の取得要求を受信した場合に、同一ネットワークセグメント内を定期的に巡回させているトークンとは逆方向に巡回させるトークンを発行し、
情報送信手段は、定期的に巡回させているトークンと、前記逆方向に巡回させるトークンとが重なった場合に、重なった２つのトークンを用いて収集された前記同一ネットワークセグメント内のノードのライセンス情報の一部または全部を、マネージャマシンに送信する
請求項２に記載のライセンス管理システム。
【請求項４】
トークンには、各ノードで当該トークンの情報を更新した更新時刻を示す情報が含まれる
請求項２または請求項３に記載のライセンス管理システム。
【請求項５】
情報収集手段は、ネットワークセグメントのサブネットマスクにより特定される範囲のＩＰアドレスに基づいて、トークンの送信先を決定する
請求項２から請求項４のうちのいずれか１項に記載のライセンス管理システム。
【請求項６】
各ノードは、
同一ネットワークセグメント内の他のノードに、マネージャマシンからのライセンス情報の設定要求の内容を通知する情報通知手段と、
前記情報通知手段によって通知された要求内容に自ノード宛ての設定要求が含まれている場合に、要求内容に応じてライセンス情報を設定する情報設定手段とを含む
請求項１から請求項５のうちのいずれか１項に記載のライセンス管理システム。
【請求項７】
情報通知手段は、同一ネットワークセグメント内を巡回させるトークンを用いて、前記同一ネットワークセグメント内の他のノードにマネージャマシンからのライセンス情報の設定要求の内容を通知する
請求項６に記載のライセンス管理システム。
【請求項８】
同一ネットワークセグメントに属する複数のノードを備え、
前記各ノードは、
前記同一ネットワークセグメント内の他のノードが保有する情報を収集する情報収集手段と、
前記情報収集手段によって収集された情報の一部または全部を、前記同一ネットワークセグメントとは異なるネットワークセグメントに属する外部ノードに送信する情報送信手段とを含む
ことを特徴とする通信システム。
【請求項９】
同一ネットワークセグメントに属する複数のノードであって、ライセンス情報を各々保有する複数のノードのうちの一のノードが、前記同一ネットワークセグメント内の他のノードのライセンス情報を収集し、
前記一のノードが、収集されたライセンス情報の一部または全部を、前記同一ネットワークセグメントとは異なるネットワークセグメントに属するマネージャマシンに送信する
ことを特徴とするライセンス管理方法。
【請求項１０】
同一ネットワークセグメントに属する複数のノードのうちの一のノードが、前記同一ネットワークセグメント内の他のノードが保有する情報を収集し、
前記一のノードが、収集された情報の一部または全部を、前記同一ネットワークセグメントとは異なるネットワークセグメントに属する外部ノードに送信する
ことを特徴とする通信方法。
【請求項１１】
ネットワークに接続され、ライセンス情報を保有するノードとして動作するコンピュータに、
同一ネットワークセグメント内の他のノードが保有するライセンス情報を収集する処理、および
収集されたライセンス情報の一部または全部を、自ノードが属するネットワークセグメントとは異なるネットワークセグメントに属するマネージャマシンに送信する処理
を実行させるためのライセンス管理用プログラム。
【請求項１２】
ネットワークに接続され、ノードとして動作するコンピュータに、
同一ネットワークセグメント内の他のノードが保有する情報を収集する処理、および
収集された情報の一部または全部を、自ノードが属するネットワークセグメントとは異なるネットワークセグメントに属する外部ノードに送信する処理
を実行させるための通信用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上のノードが保有するライセンス情報を管理するためのライセンス管理システム、ライセンス管理方法、ライセンス管理用プログラムに関する。また、本発明は、ネットワーク上のノードが保有する情報を管理するための通信システム、通信方法、通信用プログラムに関する。
【背景技術】
【０００２】
一般にクラウドまたはクラウドコンピューティングと呼ばれている、サーバやストレージやネットワークといったＩＴ資産（リソース）の仮想化技術および仮想化されたリソースの自動デプロイ技術がある。また、一般に、クラウドコンピューティングにより実現されるコンピューティング環境、すなわち利用者が求めるＩＴ資産環境を動的に作成して利用可能にしたものはクラウド環境と呼ばれている。
【０００３】
ところで、クラウド環境の種別の一つに、パブリッククラウド環境とプライベートクラウド環境といった利用形態が異なる２種以上のクラウド環境を組み合わせたハイブリッドクラウド環境と呼ばれるものがある。パブリッククラウド環境は、不特定多数のユーザがクラウド基盤を共有するクラウド環境である。また、プライベートクラウド環境は、特定のユーザのみがクラウド基盤を使用するクラウド環境である。また、プライベートクラウド環境の種別として、サービス提供元（ベンダ）が用意した敷地内にクラウド基盤が構築されて、サービスのみがユーザに提供されるサービス利用型と、ユーザが用意した敷地内（例えば、ユーザのいる企業内）にクラウド基盤が構築されてクラウド基盤ごとユーザに提供される所有型とがある。所有型のプライベートクラウド環境は、オンプレミス環境とも呼ばれる。
【０００４】
ハイブリッドクラウド環境を利用すれば、ユーザは、例えば、通常時にはプライベートクラウド環境のみで業務を行うが、負荷が上がった時にはパブリッククラウド環境も利用して業務を行うといったように、使用できるリソースを動的に組み合わせることができる。
【０００５】
昨今では、利用用途に併せて様々なクラウド環境が検討されているが、クラウド環境上で動作するアプリケーション等に必要なライセンスの管理はユーザに委ねられているのが現状である。
【０００６】
クラウド環境におけるライセンスの管理方法に関連する技術として、例えば、特許文献１、特許文献２に記載された技術がある。
【０００７】
特許文献１には、仮想サーバでソフトウェアを稼働して利用する場合に、ソフトウェアのライセンス違反を検知するライセンス管理システムが記載されている。特許文献１に記載のライセンス管理システムは、仮想サーバの状態を監視し、仮想サーバの障害を検知した旨の通知を受けた場合に、再配備後の状態がランセンス条件に違反するかどうかを所定の管理手段に問い合わせることにより、ソフトウェアのライセンス違反を検知する。
【０００８】
また、特許文献２には、ネットワーク上に設けられた各コンピュータから各種情報を収集する作業を、安全にかつ自動化して行うための自動情報収集システムが記載されている。特許文献２に記載の自動情報収集システムは、互いに通信可能に接続された複数のコンピュータのうちの１つに認証管理サーバを設け、他の１つに移動オブジェクト管理サーバを設け、残りの各々に移動管理サーバを設けている。移動オブジェクト管理サーバは、各移動管理サーバの間を自律的に移動する移動オブジェクトを生成する。各移動管理サーバは、移動オブジェクトが投入されると、該移動オブジェクトに基づいて自身のコンピュータから各種情報の収集を行う。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１２−１３７９５４号公報
【特許文献２】特開２００３−１９６２４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１や特許文献２に記載の方法は、ライセンス管理のための通信にかかる費用について何ら考慮されていない。例えば、ハイブリッドクラウド環境のように、複数のクラウド環境を組み合わせて利用する場合には、クラウド環境を跨ぐ通信の度に通信費用が発生することも考えられる。
【００１１】
例えば、ハイブリッドクラウド環境において各マシンのライセンスを管理したい場合、オンプレミス環境内に設けられたライセンス管理サーバが、定期的にパブリッククラウド内の各仮想マシンに問い合わせて、ライセンスに関する情報（例えば、各リソースのライセンス状況や稼働状況等）を収集することが考えられる。しかし、オンプレミス環境とパブリッククラウド環境との間の通信に、通信量に応じた通信費用が発生する場合、上記の方法は多くの通信費用が発生してしまうため、好ましくない。したがって、通信量に応じて費用が発生するような通信路における通信量を削減することが望まれる。
【００１２】
また、パブリッククラウド環境内であっても、異なる拠点に構築されたクラウド基盤間の通信に、通信量に応じた費用が発生することが考えられる。
【００１３】
なお、上記の通信費用の問題は、クラウド環境に限らず、異なるネットワークセグメントに属するノード間で情報の収集や通知を定期的に行うようなシステムにおいても同様に起こり得る。
【００１４】
そこで、本発明は、ネットワークセグメント間の通信量を削減できるライセンス管理システム、通信システム、ライセンス管理方法、通信方法、ライセンス管理用プログラムおよび通信用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によるライセンス管理システムは、同一ネットワークセグメントに属する複数のノードであって、ライセンス情報を各々保有する複数のノードを備え、各ノードは、同一ネットワークセグメント内の他のノードが保有するライセンス情報を収集する情報収集手段と、情報収集手段によって収集されたライセンス情報の一部または全部を、同一ネットワークセグメントとは異なるネットワークセグメントに属するマネージャマシンに送信する情報送信手段とを含むことを特徴とする。
【００１６】
本発明による通信システムは、同一ネットワークセグメントに属する複数のノードを備え、各ノードは、同一ネットワークセグメント内の他のノードが保有する情報を収集する情報収集手段と、情報収集手段によって収集された情報の一部または全部を、同一ネットワークセグメントとは異なるネットワークセグメントに属する外部ノードに送信する情報送信手段とを含むことを特徴とする。
【００１７】
本発明によるライセンス管理方法は、同一ネットワークセグメントに属する複数のノードであって、ライセンス情報を各々保有する複数のノードのうちの一のノードが、同一ネットワークセグメント内の他のノードのライセンス情報を収集し、一のノードが、収集されたライセンス情報の一部または全部を、同一ネットワークセグメントとは異なるネットワークセグメントに属するマネージャマシンに送信することを特徴とする。
【００１８】
本発明による通信方法は、同一ネットワークセグメントに属する複数のノードのうちの一のノードが、同一ネットワークセグメント内の他のノードが保有する情報を収集し、一のノードが、収集された情報の一部または全部を、同一ネットワークセグメントとは異なるネットワークセグメントに属する外部ノードに送信することを特徴とする。
【００１９】
本発明によるライセンス管理用プログラムは、ネットワークに接続され、ライセンス情報を保有するノードとして動作するコンピュータに、同一ネットワークセグメント内の他のノードが保有するライセンス情報を収集する処理、および収集されたライセンス情報の一部または全部を、自ノードが属するネットワークセグメントとは異なるネットワークセグメントに属するマネージャマシンに送信する処理を実行させることを特徴とする。
【００２０】
本発明による通信用プログラムは、ネットワークに接続され、ノードとして動作するコンピュータに、同一ネットワークセグメント内の他のノードが保有する情報を収集する処理、および収集された情報の一部または全部を、自ノードが属するネットワークセグメントとは異なるネットワークセグメントに属する外部ノードに送信する処理を実行させることを特徴とする。
【発明の効果】
【００２１】
本発明によれば、異なるネットワークセグメント帯に属するノード間で通信を行うシステムにおいて、ネットワークセグメント間の通信量を削減できる。
【図面の簡単な説明】
【００２２】
【図１】第１の実施形態のライセンス管理システムの構成例を示すブロック図である。
【図２】第１の実施形態のライセンス管理システムの他の構成例を示すブロック図である。
【図３】第１の実施形態のノード１００−１の構成例を示すブロック図である。
【図４】第１の実施形態のライセンス管理システムのメッセージの流れの一例を示す説明図である。
【図５】第１の実施形態においてトークンに記録される情報の例を示す説明図である。
【図６】第１の実施形態のノード１００−１が受信するトークンの例を示す説明図である。
【図７】第１の実施形態の各ノードの動作の一例を示すフローチャートである。
【図８】第１の実施形態の各ノードの動作の一例を示すフローチャートである。
【図９】第２の実施形態のノード１００−１の構成例を示すブロック図である。
【図１０】第２の実施形態においてトークンに記録される情報の例を示す説明図である。
【図１１】第２の実施形態のノード１００−１が受信するトークンの例を示す説明図である。
【図１２】第２の実施形態の各ノードの動作の一例を示すフローチャートである。
【図１３】第２の実施形態の各ノードの動作の一例を示すフローチャートである。
【図１４】第１の実施例のコンピュータシステム１０００の構成例を示すブロック図である。
【図１５】第１の実施例におけるメッセージの流れの一例を示す説明図である。
【図１６】第１の実施例の仮想マシン３００−１が受信するトークンの例を示す説明図である。
【図１７】第１の実施例の仮想マシン３００−１が送信するトークンの例を示す説明図である。
【図１８】第１の実施例の仮想マシン３００−１が受信するトークンの例を示す説明図である。
【図１９】第１の実施例におけるメッセージの流れの他の例を示す説明図である。
【図２０】第１の実施例の仮想マシン３００−１が受信するトークンの例を示す説明図である。
【図２１】第１の実施例におけるメッセージの流れの他の例を示す説明図である。
【図２２】第１の実施例の仮想マシン３００−１が受信するトークンの例を示す説明図である。
【図２３】本発明の通信システムの構成例を示す構成図である。
【発明を実施するための形態】
【００２３】
実施形態１．
以下、本発明の実施形態を図面を参照して説明する。図１は、本実施形態のライセンス管理システムの構成例を示すブロック図である。図１に示すライセンス管理システムは、ライセンスに関する情報であるライセンス情報を保有する複数のノード１００（本例では、ノード１００−１〜ノード１００−３）と、ノード１００が各々保有しているライセンス情報を一元管理するマネージャマシン２００とを備える。
【００２４】
本実施形態において、ノード１００の各々は、同一のネットワークセグメント１１０に属している。一方、マネージャマシン２００は、ノード１００が属するネットワークセグメント１１０とは異なるネットワークセグメントに属している。
【００２５】
図２は、本実施形態のライセンス管理システムの他の構成例を示すブロック図である。図２に示すように、ライセンス情報の収集対象とされるノード１００は、２以上のネットワークセグメント（本例では、ネットワークセグメント１１０Ａとネットワークセグメント１１０Ｂ）に分けて配されていてもよい。そのような場合、マネージャマシン２００は、収集対象とされるノードが属するネットワークセグメントごとに、該ネットワークセグメントに属するノードのライセンス情報を収集して、管理すればよい。
【００２６】
例えば、図２に示す例では、マネージャマシン２００は、ネットワークセグメント１１０Ａに属するノードのライセンス情報を収集する処理と、ネットワークセグメント１１０Ｂに属するノードのライセンス情報を収集する処理というように、収集処理を２回に分けて行う。
【００２７】
また、図３は、ノード１００−１の構成例を示すブロック図である。なお、図３は、ライセンス情報を保有するノード１００の一例としてノード１００−１の構成例を示しているが、他のノードの構成も同様である。
【００２８】
図３に示すように、ノード１００−１は、ネットワークＩ／Ｆ部１０１と、情報収集手段１０２と、情報送信手段１０３と、サービスアプリケーション部１０４とを備えている。
【００２９】
ネットワークＩ／Ｆ部１０１は、ネットワークを介して他のノードおよびマネージャマシン２００と通信を行うためのインタフェースおよびプロトコルスタック群である。
【００３０】
情報収集手段１０２は、ネットワークＩ／Ｆ部１０１を介して同一ネットワークセグメント内の他のノードと通信を行って、同一ネットワークセグメント内の他のノードが保有するライセンス情報を収集する。
【００３１】
情報収集手段１０２は、例えば、自ノードが属するネットワークセグメント１１０内を巡回させるトークンを利用して、同一ネットワークセグメントに属する他のノードが保有するライセンス情報を収集してもよい。より具体的には、ライセンス情報を保有する各ノードの情報収集手段１０２が、所定のタイミングで発行される、自ノードが属するネットワークセグメント１１０内を巡回させるトークンを順次受信し、受信したトークンに自ノードが保有するライセンス情報を記録して次のノードに送信する処理を行う。そのようにすれば、トークンがネットワークセグメント１１０内を巡回し終えたときに、少なくとも１つのノードに、同一ネットワークセグメント内の全てのノードのライセンス情報を集めることができる。
【００３２】
トークンは、例えば、マネージャマシン２００から直接要求を受けた一のノードによって発行されてもよいし、同一ネットワークセグメントに属するいずれかのノードにより定期的に発行されてもよい。
【００３３】
また、自ノードが属するネットワークセグメント１１０内を巡回させるトークンは１つに限られない。例えば、各ノードは定期的にトークンを回しつつ、マネージャマシン２００から要求を受けた一のノードが、定期的に回るトークンとは逆方向にトークンを発行してもよい。このような巡回方向の異なる２つのトークンを利用すれば、収集にかかる時間を短縮できる。なお、この場合、ネットワークセグメント１１０内において巡回方向の異なる２つのトークンが重なった（衝突した）ときが、該トークンがネットワークセグメント１１０内を巡回し終えたときとなる。
【００３４】
各ノードは、例えば、受信したトークンに記録される各ノードが当該トークンの情報を更新した時刻である更新時刻を基に、巡回方向の異なる２つのトークンが重なったか否かを判定してもよい。また、各ノードは、例えば、前回受信したトークンと新たに受信したトークンとの間の受信時間差を基に、巡回方向の異なる２つのトークンが重なったか否かを判定してもよい。
【００３５】
情報送信手段１０３は、情報収集手段１０２によって収集された同一ネットワークセグメント内のノードのライセンス情報の一部または全部をまとめて、マネージャマシン２００に送信する。情報送信手段１０３は、例えば、収集されたライセンス情報のうち指定されたノードのライセンス情報だけを選択して、マネージャマシン２００に送信してもよい。また、情報送信手段１０３は、例えば、収集されたライセンス情報のうち変化のあったライセンス情報だけを選択して、マネージャマシン２００に送信してもよい。
【００３６】
サービスアプリケーション部１０４は、自ノードが所定のサービスを行うためのアプリケーション群およびその動作環境である。サービスアプリケーション部１０４には、ユーザ毎に任意なアプリケーションを含ませることができる。
【００３７】
本実施形態において、ネットワークＩ／Ｆ部１０１は、ネットワークカード等の通信機器と、該通信機器を制御するＣＰＵ等の情報処理装置とによって実現される。また、情報収集手段１０２および情報送信手段１０３は、例えば、プログラムに従って動作するＣＰＵ等の情報処理装置とによって実現される。また、サービスアプリケーション部１０４は、アプリケーションを記憶する記憶装置と、アプリケーションを読み込んで、アプリケーションのプログラムに従って動作するＣＰＵ等の情報処理装置とによって実現される。
【００３８】
次に、本実施形態の動作を説明する。図４は、本実施形態のライセンス管理システムのメッセージの流れの一例を示す説明図である。
【００３９】
図４に示す例では、まずマネージャマシン２００が、ネットワークセグメント１１０に属するいずれかのノード、例えば、ネットワークセグメント１１０に属するノード１００のうち最もＩＰアドレスの若いノードであるノード１００−１に、ライセンス情報の取得要求を送信する（図４の（１）参照）。
【００４０】
ノード１００−１は、マネージャマシン２００からライセンス情報の取得要求を受信すると、自ノードが属するネットワークセグメント１１０内の他のノードのライセンス情報を収集するためのトークンを発行する（図４の（２）参照）。具体的には、ノード１００−１の情報収集手段１０２は、自ノードのライセンス情報を少なくとも含むトークンを生成して、自ノードが属するネットワークセグメント１１０内の次ノードであるノード１００−２に送信する。
【００４１】
ここで、各ノードは、例えばサブネットマスクを利用して、同一ネットワークセグメントの範囲を認識してもよい。その上で、各ノードは、例えば、予め定められたルール（例えば、同一ネットワークセグメント内でＩＰアドレスの小さい順にトークンを回す等）に従って、次ノードを決定してもよい。また、各ノードは、ルールに従ってトークンの次の送信先とされるノード（例えば、自ノードのＩＰアドレスを１つ繰り上げたＩＰアドレスを有するノード）に向けてトークンを送信した際にタイムアウトが発生した場合には、該ノードは同一ネットワークセグメント内には存在しないとして、その次の送信先とされるノード（例えば、自ノードのＩＰアドレスを２つ繰り上げたＩＰアドレスを有するノード）にトークンを送信すればよい。このような送信処理を、次ノードが見つかるまで繰り返す。なお、各ノードは、トークンの送信先が巡回順序における最後のノード（例えば、同一ネットワークセグメント内において最も大きいＩＰアドレスのノード）まで進んだら、最初のノード（例えば、最も小さいＩＰアドレスのノード）に戻す。そのようにして、トークンが同一ネットワークセグメント内にいる全てのノードを回るようにする。
【００４２】
なお、次ノードの決定方法は上記の方法に限られない。例えば、各ノードが、ネットワークセグメント１１０内のノードの巡回順序を示す巡回リストを保持していてもよい。各ノードは、例えば、巡回リストに記載されているノードの順番に、トークンを回してもよい。
【００４３】
ノード１００−２は、ノード１００−１からトークンを受信すると、受信したトークンに自ノードのライセンス情報を追記して、次ノードであるノード１００−３に送信する（図４の（３）参照）。
【００４４】
ノード１００−３は、ノード１００−２からトークンを受信すると、受信したトークンに自ノードのライセンス情報を追記して、次ノードであるノード１００−１に送信する（図４の（４）参照）。
【００４５】
ノード１００−１は、ノード１００−３からトークンを受信すると、マネージャマシン２００からの要求に係るトークンがネットワークセグメント１１０内を巡回し終えたと判断して、受信したトークンから得られた各ノードのライセンス情報の一部または全部をマネージャマシン２００に送信する（図４の（５）参照）。
【００４６】
ノード１００−１は、例えば、マネージャマシン２００からの要求受信後、自ノードが再びトークンを受信したことをもって、マネージャマシン２００からの要求に係るトークンがネットワークセグメント１１０内を巡回し終えたと判定してもよい。
【００４７】
図５は、トークンに記録される情報の例を示す説明図である。図５に示すように、トークンは、各ノードのライセンス情報だけでなく、各ノードのマシン名や、更新時刻や、ＩＰアドレス等の情報を含んでいてもよい。また、トークンは、他にライセンスの発行に必要な情報（物理サーバの情報等）があれば、その情報を含んでいてもよい。
【００４８】
また、ライセンス情報は、例えば、自ノード上で動作しているライセンス管理が必要なアプリケーションごとの、該アプリケーションを一意に識別する情報（アプリケーション名や型番等）と、該アプリケーションに現在設定されているライセンスキーの情報とであってもよい。なお、図５に示す例はあくまで一例であって、トークンに記録される情報はこの限りではない。
【００４９】
また、図６は、ノード１００−１が受信するトークンの例を示す説明図である。ノード１００−１は、例えば、図４の（４）において、図６に示すようなトークンを受信することにより、同一ネットワークセグメント内の全てのノードのライセンス情報を取得できる。図６において、“ｍａｃｈｉｎｅ１”はノード１００−１のマシン名である。また、“ｍａｃｈｉｎｅ２”はノード１００−２のマシン名である。また、“ｍａｃｈｉｎｅ３”はノード１００−３のマシン名である。
【００５０】
また、図７および図８は、各ノードの動作の一例を示すフローチャートである。なお、図７は、マネージャマシン２００からライセンス情報の取得要求を受信したときの各ノードの動作の一例を示すフローチャートである。また、図８は、同一ネットワークセグメント内の他のノードからトークンを受信したときの各ノードの動作の一例を示すフローチャートである。
【００５１】
まず、マネージャマシン２００からライセンス情報の取得要求を受信したときの各ノードの動作について説明する。図７に示すように、各ノードは、マネージャマシン２００からライセンス情報の取得要求を受信すると（ステップＳ１１１）、情報収集手段１０２が、自ノードのライセンス情報を取得する（ステップＳ１１２）。情報収集手段１０２は、自ノードのライセンス情報を、例えば、所定のアドレスから読みだすことにより取得してもよいし、自ノードの各アプリケーションのＡＰＩを呼び出すことにより取得してもよい。
【００５２】
次いで、情報収集手段１０２は、取得した自ノードのライセンス情報を少なくとも含むトークンを生成して、同一ネットワークセグメント内の次ノードに送信する（ステップＳ１１３、ステップＳ１１４）。
【００５３】
次に、同一ネットワークセグメント内の他のノードからトークンを受信したときの各ノードの動作について説明する。図８に示すように、各ノードは、自ノードが属するネットワークセグメント１１０内の他のノードからトークンを受信すると（ステップＳ１２１）、まず情報収集手段１０２が、受信したトークンが自ノードが属するネットワークセグメント１１０内を巡回し終えたか否かを判定する（ステップＳ１２２）。
【００５４】
ステップＳ１２２で、トークンが自ノードが属するネットワークセグメント１１０内を巡回し終えたと判定された場合（ステップＳ１２２のＹｅｓ）、情報送信手段１０３が、受信したトークンに記録された情報を読み出して、マネージャマシン２００に送信する（ステップＳ１２３、ステップＳ１２４）。
【００５５】
一方、トークンが自ノードが属するネットワークセグメント１１０内を巡回し終えていないと判定された場合（ステップＳ１２２のＮｏ）、ステップＳ１２５に進む。
【００５６】
ステップＳ１２５では、情報収集手段１０２が、自ノードのライセンス情報を取得する。次いで、情報収集手段１０２は、受信したトークンに自ノードのライセンス情報を追記して、同一ネットワークセグメント内の次ノードに送信する（ステップＳ１２６、ステップＳ１２７）。情報収集手段１０２は、受信したトークンに自ノードの情報が含まれている場合に、当該情報を上書きする形で最新の自ノードの情報を記録してもよいし、自ノードの過去の情報を残しつつ最新の自ノードの情報を記録してもよい。情報収集手段１０２は、受信したトークンに含まれる他のノードの情報と、最新の自ノードの情報とを少なくとも含むトークンを次ノードに送信する。
【００５７】
以上のように、本実施形態によれば、マネージャマシン２００は、自ノードが属するネットワークセグメントとは異なるネットワークセグメント１１０に属するノードの各々にライセンス情報の取得要求を送信しなくても、ネットワークセグメント１１０に属する全てのノードのライセンス情報を得ることができるので、ネットワークセグメント間の通信量を削減できる。
【００５８】
なお、上記では、マネージャマシン２００からライセンス情報の取得要求を受信したノードがトークンを発行し、該トークンが巡回し終えたタイミングでマネージャマシン２００に情報を送信する例を示したが、トークンの発行タイミング、トークンの巡回方法およびマネージャマシン２００への情報の送信タイミングはこの限りではない。
【００５９】
例えば、システムの運用中は定期的にネットワークセグメント１１０内をトークンが回るように、いずれかのノードが定期的にトークンを発行してもよい。このとき、該トークンには、過去所定回数分の収集結果（各ノードのライセンス情報等）が収集履歴として含まれていてもよい。また、トークンが定期的にネットワークセグメント１１０内を回る場合、例えば、マネージャマシン２００から要求を受けたノードは、該要求の受信後に自ノードにトークンが回ってきたタイミングで、該トークンから取得される情報をマネージャマシン２００に送信してもよい。
【００６０】
また、例えば、同一ネットワークセグメントに属する１つのノードが、自発的にマネージャマシン２００に各ノードの情報を送信することも可能である。例えば、各ノードは定期的にトークンを巡回させつつ、所定の時刻になったタイミングで、いずれかのノード（例えば、直近に受信したトークンに記録されているノードの情報において最も小さいＩＰアドレスを有するノード）が、最新の情報をマネージャマシン２００に送信してもよい。また、例えば、いずれかのノード（例えば、直近に受信したトークンに記録されているノードの情報において最も小さいＩＰアドレスを有するノード）が、トークンが一巡する毎に、該トークンを受信したノードが前回受信したトークンに記録されたライセンス情報との差異をとり、いずれかのノードのライセンス情報に変化があった場合に、最新の情報をマネージャマシン２００に送信してもよい。
【００６１】
なお、情報収集手段１０２は、トークン以外の方法を用いて同一ネットワークセグメント内の他のノードのライセンス情報を収集してもよい。例えば、マネージャマシン２００から要求を受信した第１のノードの情報収集手段１０２が、同一ネットワークセグメント内の他の全てのノードにライセンス情報を要求するメッセージを送信して、各他のノードの情報収集手段１０２は、同一ネットワークセグメント内の第１のノードから上記のメッセージを受信した場合に、自ノードのライセンス情報を含むメッセージを第１のノードに返信してもよい。
【００６２】
実施形態２．
次に、本発明の第２の実施形態を説明する。本実施形態では、各ノードに、ライセンス情報の設定機能を設ける。図９は、第２の実施形態のノード１００−１の構成例を示すブロック図である。なお、図９は、ライセンス情報を保有するノードの一例としてノード１００−１の構成例を示しているが、他のノードの構成も同様である。
【００６３】
図９に示すように、本実施形態のノード１００−１は、図３に示す第１の実施形態の構成に比べて、さらに情報設定手段１０５を備えている点が異なる。また、情報収集手段１０２が、情報収集通知手段１０２Ａに代わっている点が異なる。
【００６４】
情報収集通知手段１０２Ａは、ネットワークＩ／Ｆ部１０１を介して同一ネットワークセグメント内の他のノードと通信を行って、マネージャマシン２００からのライセンス情報の設定要求内容を同一ネットワークセグメント内の他のノードに通知する。
【００６５】
情報収集通知手段１０２Ａは、例えば、同一ネットワークセグメント内を巡回させるトークンを利用して、同一ネットワークセグメントに属する他のノードに、マネージャマシン２００からのライセンス情報の設定要求内容を通知してもよい。該トークンは、第１の実施形態のライセンス情報の収集用のトークンに、マネージャマシン２００からのライセンス情報の設定要求内容を追加したものであってもよい。
【００６６】
情報設定手段１０５は、他のノードまたはマネージャマシン２００から通知されるライセンス情報の設定要求内容に応じて、自ノードにライセンス情報を設定する。
【００６７】
本実施形態において、情報収集通知手段１０２Ａおよび情報設定手段１０５は、例えば、プログラムに従って動作するＣＰＵ等の情報処理装置とによって実現される。
【００６８】
次に、本実施形態の動作を説明する。本実施形態におけるメッセージの流れは、基本的には図４に示す第１の実施形態におけるメッセージの流れと同様である。ただし、メッセージ（トークン）に記録される情報が第１の実施形態と異なる。
【００６９】
本実施形態では、まずマネージャマシン２００が、ネットワークセグメント１１０に属するいずれかのノード、例えば、ネットワークセグメント１１０に属するノード１００のうち最もＩＰアドレスの若いノードであるノード１００−１に、ライセンス情報の設定対象とするノードと、設定したいライセンス情報とを含むライセンス情報の設定要求を送信する（図４の（１）参照）。
【００７０】
ノード１００−１は、マネージャマシン２００からライセンス情報の設定要求を受信すると、自ノードに対するライセンス情報の設定要求が含まれていれば要求内容に応じた設定処理を行った上で、自ノードが属するネットワークセグメント１１０内の他のノードにマネージャマシン２００からの要求内容（ライセンス情報の設定要求に含まれている情報）を通知するためのトークンを発行する（図４の（２）参照）。具体的には、ノード１００−１は、マネージャマシン２００からの要求内容を少なくとも含むトークンを生成して、自ノードが属するネットワークセグメント１１０内の次ノードであるノード１００−２に送信する。
【００７１】
ここで、生成されるトークンは、他のノードのライセンス情報を収集するためのトークンを兼ねていてもよい。そのようにすれば、各ノードの最新のライセンス情報も併せて収集できる。例えば、ノード１００−１は、マネージャマシン２００からの要求内容と、自ノードのライセンス情報とを少なくとも含むトークンを生成して、自ノードが属するネットワークセグメント１１０内の次ノードであるノード１００−２に送信する。
【００７２】
ノード１００−１は、具体的には、予め定められたルールに従ってトークンの次の送信先に向けてトークンの送信処理を行った結果、最初にトークンが到達したノード１００−２を、次ノードとして認識する。他のノードにおける次ノードの認識方法もノード１００−１と同様である。
【００７３】
ノード１００−２は、ノード１００−１からトークンを受信すると、受信したトークンに、自ノードに対するライセンス情報の設定要求が含まれていれば要求内容に応じた設定処理を行った上で、受信したトークンをそのままもしくは自ノードのライセンス情報を追記して、次ノードであるノード１００−３に送信する（図４の（３）参照）。
【００７４】
ノード１００−３は、ノード１００−２からトークンを受信すると、受信したトークンに、自ノードに対するライセンス情報の設定要求が含まれていれば要求内容に応じた設定処理を行った上で、受信したトークンの情報をそのままもしくは自ノードのライセンス情報を追記して、次ノードであるノード１００−１に送信する（図４の（４）参照）。
【００７５】
ノード１００−１は、ノード１００−３からトークンを受信すると、マネージャマシン２００からの要求に係るトークンがネットワークセグメント１１０内を巡回し終えたとして、マネージャマシン２００に設定完了の旨を送信する（図４の（５）参照）。このとき、ノード１００−１は、受信したトークンに、各ノードのライセンス情報が含まれている場合には、受信したトークンに記録されている各ノードのライセンス情報を読み出して、設定完了の旨とともにマネージャマシン２００に送信してもよい。
【００７６】
図１０は、トークンに記録される情報の例を示す説明図である。図１０に示すように、トークンは、マネージャマシン２００からの設定要求として、対象ノードとライセンス情報とを含んでいてもよい（図中の“ｓｅｔ−ｌｉｓｔ”参照）。なお、図１０には、トークンに記録される情報に、各ノードから収集されるライセンス情報が含まれる例が示されている（図中の“ｒｅａｄ−ｌｉｓｔ”参照）。なお、図１０に示す例はあくまで一例であって、トークンに記録される情報はこの限りではない。
【００７７】
また、図１１は、ノード１００−１が受信するトークンの例を示す説明図である。ノード１００−１は、例えば、図４の（４）において、図１１に示すようなトークンを受信して、受信したトークンに記録されている各ノードのライセンス情報を設定完了の旨とともにマネージャマシン２００に送信してもよい。そのようにすれば、マネージャマシン２００が設定結果を確認できる。なお、図１１には、マシン名：“ｍａｃｈｉｎｅ３”のアプリケーション：“Ａｐｐ１”に、マネージャマシン２００が指定したライセンスキー：“ｅｅｅｅｅ”が設定されている旨を示すライセンス情報を含むトークンが示されている（図１１の（＊）印参照）。
【００７８】
なお、図１１に示す例では、マネージャマシン２００からの要求内容がトークン内に残されているが、対象ノードが要求内容を読み出したときにトークン内の該当情報を削除してもよい。
【００７９】
また、図１２および図１３は、本実施形態の各ノードの動作の一例を示すフローチャートである。なお、図１２は、マネージャマシン２００からライセンス情報の設定要求を受信したときの各ノードの動作の一例を示すフローチャートである。また、図１３は、同一ネットワークセグメント内の他のノードからトークンを受信したときの各ノードの動作の一例を示すフローチャートである。
【００８０】
まず、マネージャマシン２００からライセンス情報の設定要求を受信したときの各ノードの動作について説明する。図１２に示すように、各ノードは、マネージャマシン２００からライセンス情報の設定要求を受信すると（ステップＳ２１１）、情報収集通知手段１０２Ａが、受信したメッセージに自ノードに対するライセンス情報の設定要求が含まれているか否かを判定する（ステップＳ２１２）。
【００８１】
自ノードに対するライセンス情報の設定要求が含まれている場合には（ステップＳ２１２のＹｅｓ）、情報設定手段１０５が、要求内容に応じた設定処理を行う（ステップＳ２１３）。情報設定手段１０５は、例えば、所定のアドレスに指定されたライセンス情報を書き込んだり、指定されたアプリケーションのＡＰＩを呼び出すなどして、指定されたライセンス情報を設定してもよい。
【００８２】
自ノードに対するライセンス情報の設定要求が含まれていない場合には（ステップＳ２１２のＮｏ）、そのままステップＳ２１４に進む。
【００８３】
ステップＳ２１４では、情報収集通知手段１０２Ａが、自ノードのライセンス情報を取得する。
【００８４】
次いで、情報収集通知手段１０２Ａは、マネージャマシン２００からの要求内容と、取得した自ノードのライセンス情報とを少なくとも含むトークンを生成して、同一ネットワークセグメント内の次ノードに送信する（ステップＳ２１５、ステップＳ２１６）。
【００８５】
次に、同一ネットワークセグメント内の他のノードからトークンを受信したときの各ノードの動作について説明する。図１３に示すように、各ノードは、同一ネットワークセグメント内の他のノードからトークンを受信すると（ステップＳ２２１）、まず情報収集設定手段１０２Ａが、受信したトークンに自ノードに対するライセンス情報の設定要求が含まれているか否かを判定する（ステップＳ２２２）。
【００８６】
自ノードに対するライセンス情報の設定要求が含まれている場合（ステップＳ２２２のＹｅｓ）、情報設定手段１０５が、要求内容に応じた設定処理を行う（ステップＳ２２３）。ステップＳ２２３の動作はステップＳ２１２の動作と同じである。
【００８７】
自ノードに対するライセンス情報の設定要求が含まれていない場合には（ステップＳ２２２のＮｏ）そのままステップＳ２２４に進む。
【００８８】
ステップＳ２２４では、情報収集設定手段１０２Ａが、受信したトークンが自ノードが属するネットワークセグメント１１０内を巡回し終えたか否かを判定する。
【００８９】
トークンが自ノードが属するネットワークセグメント１１０内を巡回し終えたと判定された場合（ステップＳ２２４のＹｅｓ）、情報送信手段１０３が、受信したトークンに記録された情報を読み出して、マネージャマシン２００に送信する（ステップＳ２２５、ステップＳ２２６）。
【００９０】
一方、トークンが自ノードが属するネットワークセグメント１１０内を巡回し終えていないと判定された場合（ステップＳ２２４のＮｏ）、ステップＳ２２７に進む。
【００９１】
ステップＳ２２７では、情報収集通知手段１０２Ａが、自ノードのライセンス情報を取得する。次いで、情報収集通知手段１０２Ａは、受信したトークンに自ノードのライセンス情報を追記して、ネットワークセグメント１１０内の次ノードに送信する（ステップＳ２２８、ステップＳ２２９）。
【００９２】
以上のように、本実施形態によれば、マネージャマシン２００は、自ノードが属するネットワークセグメントとは異なるネットワークセグメント１１０に属するノードの各々にライセンス情報の設定要求を送信しなくても、ネットワークセグメント１１０に属する全てのノードにライセンス情報の設定要求内容を通知させることができるので、ネットワークセグメント間の通信量を削減できる。
【００９３】
なお、本実施形態においても、トークン以外の方法を用いて同一ネットワークセグメント内の他のノードに、マネージャマシン２００からの設定要求を通知できる。
【実施例】
【００９４】
次に、具体的な例を用いて第２の実施形態の動作を説明する。図１４は、第２の実施形態のライセンス管理システムが適用されたハイブリッドクラウド環境のコンピュータシステム１０００の構成例を示すブロック図である。
【００９５】
図１４に示すコンピュータシステム１０００は、オンプレミス環境２上で動作するマネージャマシン２００、サーバ４００−１およびサーバ４００−２と、パブリッククラウド環境１上で動作する複数の仮想マシン３００（本例では、仮想マシン３００−１〜仮想マシン３００−５）とを備えている。
【００９６】
本例において、パブリッククラウド環境１上で動作する仮想マシンはそれぞれ、ネットワークセグメント１１０Ａに属している。また、オンプレミス環境２上で動作するマシンはそれぞれ、ネットワークセグメント１１０Ｂに属している。
【００９７】
以下、ネットワークセグメント１１０Ａ内の仮想マシン間を接続しているネットワークをネットワーク３０−Ａと呼ぶ。また、ネットワークセグメント１１０Ｂ内の各マシン間を接続しているネットワークをネットワーク３０−Ｂと呼ぶ。また、ネットワークセグメント１１０Ａ−ネットワークセグメント１１０Ｂ間を接続するネットワークをネットワーク３０−Ｃと呼ぶ。なお、ネットワーク３０−Ａとネットワーク３０−Ｃとは、ＨＵＢ３３０Ａを介して接続されている。また、ネットワーク３０−Ｂとネットワーク３０−Ｃとは、ＨＵＢ３３０Ｂを介して接続されている。
【００９８】
本例において、ネットワーク３０−Ａおよびネットワーク３０−Ｂは、ＬＡＮ（Local Area Network）であって、当該ネットワークを利用した通信に対して通信量に応じた費用は発生しない。一方、ネットワーク３０−Ｃは、ＷＡＮ（Wide Area Network）であって、当該ネットワークを利用した通信に対して通信量に応じた費用が発生する。
【００９９】
仮想マシン３００−１〜仮想マシン３００−５が、上記の各実施形態における複数のノード１００に相当する。
【０１００】
このような構成において、オンプレミス環境２上で動作しているマネージャマシン２００が、パブリッククラウド環境１上で動作している各仮想マシン３００のライセンス情報一元管理する場合を考える。
【０１０１】
図１５は、本実施例におけるメッセージの流れの一例を示す説明図である。図１５に示す例では、まずマネージャマシン２００が、パブリッククラウド環境１上で動作している仮想マシン３００−１に、ライセンス情報の取得要求を送信する（図１５の（１）参照）。なお、ライセンス情報の取得要求の送信先は、仮想マシン３００−１以外であってもよい。
【０１０２】
仮想マシン３００−１は、マネージャマシン２００からライセンス情報の取得要求を受信すると、自マシンのライセンス情報を取得して、取得したライセンス情報を含むトークンを次ノードである仮想マシン３００−２に送信する（図１５の（２）参照）。
【０１０３】
本例では、各ノードに、ネットワークセグメント１１０Ａのサブネットマスクにより特定される範囲のＩＰアドレスの小さい順にトークンを回すというルールが設定されているものとする。
【０１０４】
図１５の（２）において、仮想マシン３００−１は、トークンの次の送信先のＩＰアドレスとして、ネットワークセグメント１１０Ａ内の自ノードのＩＰアドレスを１つずつ増やしたものを用いてトークンの送信処理を行う。その結果、該トークンは、その時点（送信処理を行っている時点）のネットワークセグメント１１０Ａ内において仮想マシン３００−１の次に大きいＩＰアドレスを持つ仮想マシン３００−２に受信される。
【０１０５】
仮想マシン３００−１からトークンを受信した仮想マシン３００−２は、自マシンのライセンス情報を取得して、取得したライセンス情報を受信したトークンに追記して、次ノードである仮想マシン３００−３に送信する（図１５の（３）参照）。
【０１０６】
トークンは、その後、仮想マシン３００−３から仮想マシン３００−４へ、仮想マシン３００−４から仮想マシン３００−５へ、仮想マシン３００−５から仮想マシン３００−１へと、各仮想マシンのライセンス情報が追加されながら回っていく（図１５の（４）、（５）、（６）参照）。
【０１０７】
仮想マシン３００−５からトークンを受信した仮想マシン３００−１は、マネージャマシン２００からのライセンス情報の取得要求に係るトークンがネットワークセグメント１１０Ａ内を巡回し終えたとして、受信したトークンから得られる、ネットワークセグメント１１０Ａ内の全ての仮想マシンのライセンス情報を含むメッセージをマネージャマシン２００に送信する（図１５の（７）参照）。
【０１０８】
図１６は、仮想マシン３００−１が受信するトークンの例を示す説明図である。仮想マシン３００−１は、例えば、図１５の（６）において、図１６に示すようなトークンを受信する。図１６には、マシン名：“ｍａｃｈｉｎｅ２”上で動作しているアプリケーション：“Ａｐｐ２”にライセンスキーが未設定な旨を示すライセンス情報を含むトークンが示されている（図１６の（＊）印参照）。
【０１０９】
マネージャマシン２００は、仮想マシン３００−１から図１６に示すトークンに含まれる全ての仮想マシン（仮想マシン３００−１〜仮想マシン３００−５）のライセンス情報を含むメッセージを受信する。
【０１１０】
マネージャマシン２００は、仮想マシン３００−１から受信したメッセージを基に、パブリッククラウド環境１においてライセンスが不十分なアプリケーションがないかを確認する。本例では、マネージャマシン２００は、マシン名：“ｍａｃｈｉｎｅ２”上で動作しているアプリケーション：“Ａｐｐ２”にライセンスキーが設定されていないことを検知して、該アプリケーションに設定するライセンスキーを取得する。例えば、マネージャマシン２００は、所定のサーバに該アプリケーションのライセンスキーの発行を要求してもよい。マネージャマシン２００は、例えば、アプリケーションの動作環境である仮想マシンの情報が必要であれば、それらの情報を要求に含めてもよい。
【０１１１】
次いで、マネージャマシン２００は、そのようにしてマシン名：“ｍａｃｈｉｎｅ２”上で動作しているアプリケーション：“Ａｐｐ２”のライセンスキーを取得すると、当該アプリケーションに取得したライセンスキーを設定させるためのライセンス情報の設定要求を、仮想マシン３００−１に送信する（図１５の（８）参照）。マネージャマシン２００は、例えば、対象とされる仮想マシンのマシン名と、アプリケーション名と、ライセンスキーとを含むライセンス情報の設定要求を仮想マシン３００−１に送信する。なお、ライセンス情報の設定要求の送信先は、仮想マシン３００−１以外であってもよい。
【０１１２】
仮想マシン３００−１は、マネージャマシン２００からライセンス情報の設定要求を受信すると、自マシンに対する設定要求が含まれていないことを確認した上で、自マシンのライセンス情報を取得する。そして、仮想マシン３００−１は、マネージャマシン２００からの要求内容と自マシンのライセンス情報とを含むトークンを生成して、次ノードである仮想マシン３００−２に送信する（図１５の（９）参照）。
【０１１３】
図１７は、仮想マシン３００−１が送信するトークンの例を示す説明図である。仮想マシン３００−１は、例えば、図１５の（９）において、図１７に示すようなトークンを生成して、仮想マシン３００−２に送信してもよい。なお、図１７には、マネージャマシン２００からの要求内容として、対象とされる仮想マシンのマシン名：ｍａｃｈｉｎｅ２と、アプリケーション名：Ａｐｐ２と、ライセンスキー：ｆｆｆｆｆとを含むトークンが示されている（図１７の（＊）印参照）。
【０１１４】
仮想マシン３００−１からトークンを受信した仮想マシン３００−２は、受信したトークンに自マシンに対する設定要求が含まれていることを確認すると、指定されたアプリケーション：Ａｐｐ２に指定されたライセンスキー：ｆｆｆｆｆを設定する。そして、仮想マシン３００−２は、自マシンのライセンス情報を取得して、取得したライセンス情報を受信したトークンに追記して、次ノードである仮想マシン３００−３に送信する（図１５の（１０）参照）。
【０１１５】
トークンは、その後、仮想マシン３００−３から仮想マシン３００−４へ、仮想マシン３００−４から仮想マシン３００−５へ、仮想マシン３００−５から仮想マシン３００−１へと、各仮想マシンのライセンス情報が追加されながら回っていく（図１５の（１１）、（１２）、（１３）参照）。
【０１１６】
仮想マシン３００−５からトークンを受信した仮想マシン３００−１は、マネージャマシン２００からのライセンス情報の設定要求に係るトークンがネットワークセグメント１１０Ａ内を巡回し終えたとして、受信したトークンから得られる、ネットワークセグメント１１０Ａ内の全ての仮想マシンのライセンス情報を含むメッセージをマネージャマシン２００に送信する（図１５の（１４）参照）。
【０１１７】
図１８は、仮想マシン３００−１が受信するトークンの例を示す説明図である。仮想マシン３００−１は、例えば、図１５の（１３）において、図１８に示すようなトークンを受信する。なお、図１８には、マシン名：“ｍａｃｈｉｎｅ２”のアプリケーション：“Ａｐｐ２”に対してライセンスキー：“ｆｆｆｆｆ”が設定されている旨を示すライセンス情報を含むトークンが示されている（図１８の（＊）印参照）。
【０１１８】
また、図１９は、本実施例におけるメッセージの流れの他の例を示す説明図である。図１９に示す例は、運用中に、スケールアウト等によってパブリッククラウド環境１に新たな仮想マシン３００−６が追加された場合のメッセージの流れの例である。以下では、仮想マシン３００−６は、マシン名：“ｍａｃｈｉｎｅ６”、ネットワークセグメント１１０Ａ内のＩＰアドレス：１９２．１６８．１１．３として追加される場合を想定している。
【０１１９】
図１９に示す例では、まずマネージャマシン２００が、パブリッククラウド環境１上で動作している仮想マシン３００−１に、ライセンス情報の取得要求を送信する（図１９の（１）参照）。なお、ライセンス情報の取得要求の送信先は、仮想マシン３００−１以外であってもよい。
【０１２０】
仮想マシン３００−１は、マネージャマシン２００からライセンス情報の取得要求を受信すると、図１５に示す例と同様に、自マシンのライセンス情報を取得して、取得したライセンス情報を含むトークンを生成して、次ノードである仮想マシン３００−６に送信する（図１９の（２）参照）。
【０１２１】
図１９の（２）では、仮想マシン３００−１によるトークンの送信処理の結果、トークンは、ネットワークセグメント１１０Ａにおいて仮想マシン３００−１の次に大きいＩＰアドレスを持つ仮想マシン３００−６に受信される。
【０１２２】
仮想マシン３００−１からトークンを受信した仮想マシン３００−６は、自マシンのライセンス情報を取得して、取得したライセンス情報を受信したトークンに追記して、次ノードである仮想マシン３００−２に送信する（図１９の（３）参照）。
【０１２３】
以降は、図１５の場合と同様である。すなわち、トークンは、その後、仮想マシン３００−２から仮想マシン３００−３へ、仮想マシン３００−３から仮想マシン３００−４へ、仮想マシン３００−４から仮想マシン３００−５へ、仮想マシン３００−５から仮想マシン３００−１へと、各仮想マシンのライセンス情報が追加されながら回っていく（図１９の（４）、（５）、（６）、（７）参照）。
【０１２４】
図２０は、仮想マシン３００−１が受信するトークンの例を示す説明図である。仮想マシン３００−１は、図１９の（７）において、例えば、図２０に示すようなトークンを受信する。図２０には、新たに追加された仮想マシン３００−６（マシン名：“ｍａｃｈｉｎｅ６”）上で動作しているアプリケーション：“Ａｐｐ１”にライセンスキーが設定されていない旨を示すライセンス情報を含むトークンが示されている（図２０の（＊）印参照）。
【０１２５】
仮想マシン３００−１は、例えば、図２０に示すトークンに含まれる全ての仮想マシン（仮想マシン３００−１〜仮想マシン３００−６）のライセンス情報を含むメッセージをマネージャマシン２００に送信してもよい。
【０１２６】
マネージャマシン２００は、仮想マシン３００−１から受信したメッセージを基に、パブリッククラウド環境１においてライセンスキーが設定されていないアプリケーションがあることを検知できる。
【０１２７】
なお、上記では、仮想マシン３００−１が、マネージャマシン２００からネットワーク３０−Ｃを介してライセンス情報の取得要求を受信したことを受けて、収集用のトークンを発行したが、仮想マシン３００−１は、例えば定期的にトークンを発行してもよい。なお、定期的なトークンを発行する仮想マシンは、仮想マシン３００−１に限られない。
【０１２８】
そのような場合において、仮想マシン３００−１は、例えば、現在巡回中のトークンが巡回し終えたタイミングで、同一のネットワークセグメント１１０Ａに属する仮想マシンのライセンス情報に変化の有無を判定してもよい。そして、仮想マシン３００−１は、同一のネットワークセグメント１１０Ａに属する仮想マシンのライセンス情報に変化があったと判定された場合に、変化のあったマシンのライセンス情報を少なくとも含むメッセージをマネージャマシン２００に送信してもよい。
【０１２９】
仮想マシン３００−１は、例えば、今回受信したトークンに記録された情報と、前回受信したトークンに記録された情報とを比較して、ライセンス情報の変化の有無を検出してもよい。また、仮想マシン３００−１は、例えば、トークンが過去所定回数分の収集結果を収集履歴として含む場合には、該収集履歴の情報を利用してライセンス情報の変化の有無を検出してもよい。
【０１３０】
また、図２１は、本実施例におけるメッセージの流れの他の例を示す説明図である。図２１に示す例は、運用中に、パブリッククラウド環境１から仮想マシン３００−６が削除された場合のメッセージの流れの例である。
【０１３１】
図２１に示す例では、仮想マシン３００−１が、図１９の（７）において受信したトークンが巡回し終えたと判定された後、所定時間経過後に、該トークンの内容を含む新たなトークンを発行したとする。
【０１３２】
仮想マシン３００−１は、例えば、前回受信したトークンの内容に自マシンのライセンス情報を追記したトークンを生成して、次ノードに送信してもよい。このとき、仮想マシン３００−１は、当該トークンに、定期処理によるトークンであることを示すフラグを設定してもよい。
【０１３３】
図２１に示す例では、仮想マシン３００−１は、まず自マシンのＩＰアドレス（１９２．１６８．１１．２）の次に大きいＩＰアドレス（１９２．１６８．１１．３）に向けて、トークンを送信する（図２１の（９）参照）。本例では、この時点においてＩＰアドレス：１９２．１６８．１１．３を有していた仮想マシン３００−６は削除されているため当該トークンの送信は失敗する。次いで、仮想マシン３００−１は、その次に大きいＩＰアドレス（１９２．１６８．１１．４）に向けて、トークンを送信する。このように、仮想マシン３００−１が、送信先のＩＰアドレスを１つずつ増やしながらトークンの送信処理を行った結果、該トークンは、その時点のネットワークセグメント１１０Ａ内において仮想マシン３００−１の次に大きいＩＰアドレスを持つ仮想マシン３００−２に受信される（図２１の（１０）参照）。
【０１３４】
仮想マシン３００−１からトークンを受信した仮想マシン３００−２は、自マシンのライセンス情報を取得して、取得したライセンス情報を受信したトークンに追記して、次ノードである仮想マシン３００−３に送信する（図２１の（１１）参照）。
【０１３５】
トークンは、その後、仮想マシン３００−３から仮想マシン３００−４へ、仮想マシン３００−４から仮想マシン３００−５へ、仮想マシン３００−５から仮想マシン３００−１へと、各仮想マシンのライセンス情報が追加されながら回っていく（図２１の（１２）、（１３）、（１４）参照）。
【０１３６】
図２２は、仮想マシン３００−１が受信するトークンの例を示す説明図である。仮想マシン３００−１は、図２１の（１４）において、例えば、図２２に示すようなトークンを受信する。図２２に示すトークンは、各仮想マシンが、受信したトークンに含まれている過去の自マシンの情報を上書きする形で、自マシンの情報を追記した場合の例である。なお、各仮想マシンは、トークン内の過去の各仮想マシンの情報を収集履歴として残しつつ新たな領域に自マシンの情報を記録してもよい。
【０１３７】
仮想マシン３００−１は、例えば、所定のタイミングで（定時にまたは変化の有無が検出された時）、最新のトークンに含まれる全ての仮想マシンのライセンス情報を含むメッセージをマネージャマシン２００に送信する。
【０１３８】
マネージャマシン２００は、仮想マシン３００−１から例えば図２２に示すトークンに含まれる全ての仮想マシン（仮想マシン３００−１〜仮想マシン３００−６）のライセンス情報を含むメッセージを受信する。
【０１３９】
本例によれば、マネージャマシン２００は、受信したメッセージに含まれる各マシンによる情報の更新時刻を基に、マシン名：“ｍａｃｈｉｎｅ６”が少なくとも最新のトークンの巡回時にネットワーク３０−Ａ上に存在していなかったことがわかる。例えば、マネージャマシン２００は、受信したメッセージにおいて、マシン名：“ｍａｃｈｉｎｅ６”の情報の更新時刻が他の仮想マシンの情報の更新時刻と比べて古いことから、マシン名：“ｍａｃｈｉｎｅ６”が少なくとも最新のトークンの巡回時にネットワーク３０−Ａ上に存在していなかったと判断できる。また、例えば、マネージャマシン２００は、最新の収集結果と１つ前の収集結果とを比較して、マシン名：“ｍａｃｈｉｎｅ６”の情報が更新されていないことにより、マシン名：“ｍａｃｈｉｎｅ６”が少なくとも最新のトークンの巡回時にネットワーク３０−Ａ上に存在していなかったと判断できる。
【０１４０】
このように、本実施例によれば、運用中に、スケールアウト等によってライセンスが登録されていないアプリケーションが追加されたり、仮想マシンがネットワーク上から居なくなっても、マネージャマシン２００がそのような状況を検知できる。
【０１４１】
また、例えば、各仮想マシンが、リソースの稼働数と、現在のライセンスキーにおけるリソースの上限数といった、ライセンスの使用条件と該使用条件に関わる使用状況とを示す情報を含むライセンス情報を記録すれば、マネージャマシン２００は、スケールアップ等によってライセンスの使用条件を満たさなくなる状況も検知できる。
【０１４２】
マネージャマシン２００は、例えば、ライセンス不足を認識した場合には、新たなライセンスキーを発行するなどの処置を行えばよい。なお、ライセンス不足をユーザに通知して、ユーザを介して新たなライセンスキーを取得してもよい。
【０１４３】
なお、上記では、ライセンス認証の方法として、ライセンスキーを使用する認証方法を例に説明したが、認証方法は上記の方法に限定されない。例えば、マシンを一意に識別可能な情報を必要とするライセンスキーを使用する認証方法であってもよいし、ネットワーク認証であってもよい。なお、ネットワーク認証の場合、マネージャマシン２００が仮想マシンに代わってネットワーク認証を行い、その結果得られた認証情報を仮想マシンに通知してもよい。
【０１４４】
なお、ライセンス認証に関連するマネージャマシン２００の動作は、大まかに次の３つのステップに分けられる。マネージャマシン２００は、例えば、第一のステップとして、当該マネージャマシン２００とは異なるネットワークセグメントに属する仮想マシンの現在のライセンス情報を取得するため、ライセンス情報を保有する仮想マシンが属するネットワークセグメント内のいずれかの仮想マシンに、ライセンス情報の取得要求を行う。
【０１４５】
また、マネージャマシン２００は、例えば、第二のステップとして、新規ライセンスの認証処理を行う。例えば、第一のステップの結果、ライセンスが不足しているアプリケーションがあれば、これらに対するライセンスの認証処理を行う。
【０１４６】
また、マネージャマシン２００は、例えば、第三のステップとして、ライセンス認証処理の結果、仮想マシンに設定すべき情報があれば、対象とされる仮想マシンが属するネットワークセグメント内のいずれかの仮想マシンに、ライセンス情報の設定要求を行う。
【０１４７】
このようにすれば、ネットワークセグメント間の通信量を抑えたライセンス管理が実現できる。また、本実施例によれば、自動デプロイにも好適に対応でき、また、スケールアップやスケールアウト時にも好適に対応できる。
【０１４８】
また、上記の各実施形態および実施例では、マネージャマシン２００が、異なるネットワークセグメント内のノードからライセンス情報を取得したり、該ノードにライセンス情報を通知するための例を示したが、これらの情報はライセンス情報に限られない。
【０１４９】
例えば、本発明は、同一ネットワークセグメントに属する複数のノードが、外部ネットワーク上のノードである外部ノードと通信を行うような通信システムにも好適に適用できる。
【０１５０】
図２３は、本発明の通信システムの構成例を示す構成図である。図２３に示す通信システムは、同一のネットワークセグメント５１０に属するノード５００−１およびノード５００−２と、ネットワークセグメント５１０とは異なるネットワークセグメントに属する外部ノード５２０とを備えている。
【０１５１】
そのような場合に、ノード５００−１およびノード５００−２がそれぞれ、情報収集手段５０１と、情報送信手段５０２とを含んでいてもよい。
【０１５２】
情報収集手段５０１は、同一ネットワークセグメント内の他のノードが保有する情報を収集する。なお、情報収集手段５０１は、上記の実施形態における情報収集手段１０２や情報収集設定手段１０２Ａに相当する。ただし、情報収集手段５０１が収集する情報は、ライセンス情報に限定されない。
【０１５３】
情報送信手段５０２は、情報収集手段５０１によって収集された情報の一部または全部を、自ノードが属するネットワークセグメントとは異なるネットワークセグメントに属する外部ノード５２０に送信する。なお、情報送信手段５０２は、上記の実施形態における情報送信手段１０３に相当する。ただし、情報送信手段５０２が送信する情報は、ライセンス情報に限定されない。
【０１５４】
このような構成によれば、同一ネットワークセグメントに属する複数のノードと、外部ネットワーク上のノードである外部ノードとが通信を行うような通信システムにおいても、ネットワークセグメント間の通信量を削減できる。
【０１５５】
また、上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５６】
（付記１）同一ネットワークセグメントに属する複数のノードを備え、各ノードは、同一ネットワークセグメント内の他のノードが保有する情報を収集する情報収集手段と、情報収集手段によって収集された情報の一部または全部を、同一ネットワークセグメントとは異なるネットワークセグメントに属する外部ノードに送信する情報送信手段とを含むことを特徴とする通信システム。
【０１５７】
（付記２）情報収集手段は、同一ネットワークセグメント内を巡回させるトークンを受信し、受信したトークンに自ノードが保有する情報を追記して他のノードに送信し、情報送信手段は、トークンを用いて収集された同一ネットワークセグメント内のノードの情報の一部または全部を、外部ノードに送信する付記１に記載の通信システム。
【０１５８】
（付記３）情報収集手段は、自ノードが外部ノードから情報の取得要求を受信した場合に、同一ネットワークセグメント内を定期的に巡回させているトークンとは逆方向に巡回させるトークンを発行し、情報送信手段は、定期的に巡回させているトークンと、逆方向に巡回させるトークンとが重なった場合に、重なった２つのトークンを用いて収集された同一ネットワークセグメント内のノードの情報の一部または全部を、外部ノードに送信する付記２に記載の通信システム。
【０１５９】
（付記４）トークンには、各ノードで当該トークンの情報を更新した更新時刻を示す情報が含まれる付記２または付記３に記載の通信システム。
【０１６０】
（付記５）情報収集手段は、ネットワークセグメントのサブネットマスクにより特定される範囲のＩＰアドレスに基づいて、トークンの送信先を決定する付記２から付記４のうちのいずれかに記載の通信システム。
【０１６１】
（付記６）各ノードは、同一ネットワークセグメント内の他のノードに、外部ノードからの情報の設定要求の内容を通知する情報通知手段と、情報通知手段によって通知された要求内容に自ノード宛ての設定要求が含まれている場合に、要求内容に応じて情報を設定する情報設定手段とを含む付記１から付記５のうちのいずれかに記載の通信システム。
【０１６２】
なお、情報通知手段は、情報収集手段の一部であってもよい。
【０１６３】
（付記７）情報通知手段は、同一ネットワークセグメント内を巡回させるトークンを用いて、同一ネットワークセグメント内の他のノードに外部ノードからの情報の設定要求の内容を通知する付記６に記載の通信システム。
【０１６４】
（付記８）情報通知手段は、自ノードが外部ノードから情報の設定要求を受信した場合に、受信した設定要求の内容を含むトークンを発行する付記７に記載の通信システム。
【０１６５】
（付記９）同一ネットワークセグメントに属する複数のノードのうちの１のノードが、所定のタイミングで、同一ネットワークセグメント内を巡回させるトークンを発行し、１のノード以外の各ノードが、順次トークンを受信して、受信したトークンに自ノードが保有する情報を追記して他のノードに送信し、トークンが同一ネットワークセグメント内を巡回し終えたら、いずれかのノードが、トークンを用いて収集された同一ネットワークセグメント内のノードの情報の一部または全部を、マネージャマシンに送信することを特徴とする通信方法。
【０１６６】
（付記１０）同一ネットワークセグメントに属する複数のノードのうちの１のノードが、マネージャマシンから情報の設定要求を受信した場合に、同一ネットワークセグメント内を巡回させるトークンであって、受信した要求内容を含むトークンを発行し、１のノード以外の各ノードが、順次トークンを受信して、受信したトークンに自ノード宛ての設定要求が含まれているか否かを判定するとともに、受信したトークンを他のノードに送信することを特徴とする通信方法。
【０１６７】
（付記１１）ネットワークに接続され、ノードとして動作するコンピュータに、同一ネットワークセグメント内の他のノードが保有する情報を収集する収集処理、および収集された情報の一部または全部を、自ノードが属するネットワークセグメントとは異なるネットワークセグメントに属するノードに送信する送信処理を実行させ、収集処理で、同一ネットワークセグメント内を巡回させるトークンを受信して、受信したトークンに自ノードが保有する情報を追記して他のノードに送信させ、送信処理で、トークンを用いて収集された同一ネットワークセグメント内のノードの情報の一部または全部を、マネージャマシンに送信させることを特徴とする通信用プログラム。
【０１６８】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【０１６９】
本発明は、異なるネットワークセグメント帯に属するノード間で通信を行うシステムであれば、好適に適用可能である。
【符号の説明】
【０１７０】
１００、１００−１〜１００−６  ノード
２００  マネージャマシン
１１０、１１０Ａ、１１０Ｂ  ネットワークセグメント
１０１  ネットワークＩ／Ｆ部
１０２  情報収集手段
１０２Ａ  情報収集通知手段
１０３  情報送信手段
１０４  サービスアプリケーション部
１０５  情報設定手段
１０００  コンピュータシステム
３００、３００−１〜３００−６  仮想マシン
４００、４００−１、４００−２  サーバ
３３０Ａ、３３０Ｂ  ＨＵＢ
３０、３０−Ａ、３０−Ｂ、３０−Ｃ  ネットワーク
１  パブリッククラウド環境
２  オンプレミス環境
５００、５００−１、５００−２  ノード
５０１  情報収集手段
５０２  情報送信手段
５１０  ネットワークセグメント
５２０  外部ノード
【図１】
2016085664.tif 000003
【図２】
2016085664.tif 000004
【図３】
2016085664.tif 000005
【図４】
2016085664.tif 000006
【図５】
2016085664.tif 000007
【図６】
2016085664.tif 000008
【図７】
2016085664.tif 000009
【図８】
2016085664.tif 000010
【図９】
2016085664.tif 000011
【図１０】
2016085664.tif 000012
【図１１】
2016085664.tif 000013
【図１２】
2016085664.tif 000014
【図１３】
2016085664.tif 000015
【図１４】
2016085664.tif 000016
【図１５】
2016085664.tif 000017
【図１６】
2016085664.tif 000018
【図１７】
2016085664.tif 000019
【図１８】
2016085664.tif 000020
【図１９】
2016085664.tif 000021
【図２０】
2016085664.tif 000022
【図２１】
2016085664.tif 000023
【図２２】
2016085664.tif 000024
【図２３】
2016085664.tif 000025