(57)【要約】【課題】監視装置の汎用性を保持しつつ、仮想基盤上で動作するソフトウェアの特性に応じた監視制御を行う。【解決手段】同一の仮想基盤上で動作する複数のソフトウェア１１４の各々から、該ソフトウェアの各々の状態を示す通知情報を通知し、同一の仮想基盤上で、ソフトウェア１１４の各々から通知された通知情報を収集し、収集した通知情報を、複数のソフトウェア１１４の各々を監視する監視装置１５０からの周期的な要求に対する応答として、監視装置１５０に送信する。【選択図】図１
2017068512.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
同一の仮想基盤上で動作する複数のソフトウェアの各々から、該ソフトウェアの各々の状態を示す通知情報を通知し、
前記同一の仮想基盤上で、前記ソフトウェアの各々から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する
ことを含む処理を実行させる監視方法。
【請求項２】
前記通知情報は、前記ソフトウェアで実行される処理毎に予め定義した事象が発生した際に、該事象に応じた動作の実行を前記監視装置に指示する情報である請求項１記載の監視方法。
【請求項３】
前記通知情報を通知する際、前記事象の発生を判定する条件を定義するための予め用意された複数種類のロジックテンプレートのうち、少なくとも１つの前記ロジックテンプレートにより定義された条件に基づいて前記事象が発生したと判定した場合に、前記動作を示す予め用意された複数種類のシナリオテンプレートから、発生した事象に対して予め定められたシナリオテンプレートを選択し、該シナリオテンプレートを前記通知情報とする請求項２記載の監視方法。
【請求項４】
前記通知情報を通知する際、前記ソフトウェアの実行環境の情報を取得し、前記通知情報に付与する請求項１〜請求項３のいずれか１項記載の監視方法。
【請求項５】
前記監視装置からの要求があるまで、通知された通知情報を蓄積部に蓄積する請求項１〜請求項４のいずれか１項記載の監視方法。
【請求項６】
前記通知情報を蓄積する際、通知された順序で、前記通知情報を前記蓄積部に蓄積し、蓄積した順序で前記通知情報を前記監視装置に送信する請求項５記載の監視方法。
【請求項７】
前記通知情報を蓄積する際、前記通知情報が示すソフトウェアの状態に基づいて、前記蓄積部に蓄積する前記通知情報の順序を入れ替える請求項５記載の監視方法。
【請求項８】
前記通知情報を送信する際、前記監視装置へ情報を送信する際の汎用的な形式の拡張部分に、前記通知情報を含める請求項１〜請求項７のいずれか１項記載の監視方法。
【請求項９】
同一の仮想基盤上で動作する複数のソフトウェアの各々を監視する監視装置に、
前記複数のソフトウェアの各々の状態を示す通知情報を通知する通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する
ことを含む処理を実行させる監視方法。
【請求項１０】
前記通知情報を前記判定部へ入力する際、前記応答から抽出した通知情報の各々を、該通知情報が前記通知部から前記送信部へ通知された順序で、前記判定部へ入力する請求項９記載の監視方法。
【請求項１１】
前記通知情報を前記判定部へ入力する際、前記応答から抽出した通知情報の各々を、前記通知情報が示すソフトウェアの状態に基づいて入れ替えた順序で、前記判定部へ入力する請求項９記載の監視方法。
【請求項１２】
監視対象装置に、
同一の仮想基盤上で動作する複数のソフトウェアの各々の状態を示す通知情報を通知し、
通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する
ことを含む処理を実行させ、
前記監視装置に、
前記監視対象装置から送信された応答に含まれる通知情報を抽出し、
抽出した通知情報に基づいて、前記ソフトウェアの状態に応じて実行する動作を判定する
ことを含む処理を実行させる監視方法。
【請求項１３】
同一の仮想基盤上で動作する複数のソフトウェアの各々の状態を示す通知情報を通知する通知部と、
前記通知部から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部と、
を含む監視対象装置。
【請求項１４】
前記送信部を、前記複数のソフトウェアに対して１つ設ける請求項１３記載の監視対象装置。
【請求項１５】
前記送信部を、前記ソフトウェアの種類毎、又は前記ソフトウェアが提供される提供先毎に設ける請求項１３記載の監視対象装置。
【請求項１６】
同一の仮想基盤上で動作する複数のソフトウェアの各々を監視する監視装置であって、
前記複数のソフトウェアの各々の状態を示す通知情報を通知する通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する抽出部
を含む監視装置。
【請求項１７】
コンピュータに、
同一の仮想基盤上で動作する複数のソフトウェアの各々から、該ソフトウェアの各々の状態を示す通知情報を通知し、
前記同一の仮想基盤上で、前記ソフトウェアの各々から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する
ことを含む処理を実行させる監視対象プログラム。
【請求項１８】
同一の仮想基盤上で動作する複数のソフトウェアの各々を監視する監視装置に、
前記複数のソフトウェアの各々の状態を示す通知情報を通知する通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する
ことを含む処理を実行させる監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、監視方法、監視対象装置、監視装置、情報処理システム、監視対象プログラム、及び監視プログラムに関する。
【背景技術】
【０００２】
従来、仮想基盤上に構築された仮想マシンを監視装置により監視することが行われている。
【０００３】
例えば、論理リソースに対してサーバ装置の物理リソースを対応付けたリソースマッピング情報を生成し、物理リソースの稼動状態を示す物理リソース稼動情報を収集する方法が提案されている。この方法では、物理リソース稼動情報の中に異常な稼動状態の物理リソースの情報があるか否かを判定する。そして、異常な物理リソースがある場合には、異常な稼動状態の物理リソースの情報とリソースマッピング情報とに基づき、異常が発生した仮想計算機を特定する。さらに、特定された仮想計算機に対して、異常な稼動状態の物理リソースの情報に応じた通知を行う。
【０００４】
また、実マシン上に仮想マシンが構築される計算機であって、実マシン上で発生する障害を検知し、検知された障害の障害種別を、仮想マシンで処理するように抽象化された障害種別に変換する計算機が提案されている。この計算機では、検知された障害の障害発生部位を、仮想マシンにおける障害発生部位に変換し、変換で得られた障害発生部位に関連する仮想マシンに、抽象化された障害種別の障害通知を送る。
【０００５】
また、物理計算機で実行されて仮想計算機を稼働させる仮想化部と、仮想化部上で稼動する仮想計算機と、物理計算機と仮想計算機の構成要素とを監視するモニタリング部を備えた計算機におけるモニタリング方法が提案されている。この方法では、モニタリング部は、物理計算機と仮想化部の構成要素とを併せてベースリソースとし、仮想計算機の構成要素を仮想リソースとして監視する。また、仮想リソースとベースリソースの構成要素を所定のプラットフォーム毎に木構造を抽出してプラットフォームツリーを生成する。そして、仮想リソースの構成要素から変換情報で設定されたベースリソースまたは仮想リソースを起点とする木構造を抽出してサービス提供ツリーを生成する。そして、プラットフォームツリーに含まれ、かつサービス提供ツリーに含まれる構成要素について参照関係を設定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第２００９／１１０１１１号パンフレット
【特許文献２】特開２０１４−４１５０６号公報
【特許文献３】特開２０１２−９９０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術では、監視装置が、汎用性を保持したまま、ソフトウェア固有の情報を取得するのは困難であり、ソフトウェアの特性に応じた監視制御を行うことができない。
【０００８】
開示の技術は、一つの側面として、監視装置の汎用性を保持しつつ、仮想基盤上で動作するソフトウェアの特性に応じた監視制御を行うことを目的とする。
【課題を解決するための手段】
【０００９】
開示の技術は、一つの側面として、同一の仮想基盤上で動作する複数のソフトウェアの各々から、該ソフトウェアの各々の状態を示す通知情報を通知する。そして、前記同一の仮想基盤上で、前記ソフトウェアの各々から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する。
【発明の効果】
【００１０】
一つの側面として、監視装置の汎用性を保持しつつ、仮想基盤上で動作するソフトウェアの特性に応じた監視制御を行うことができる、という効果を有する。
【図面の簡単な説明】
【００１１】
【図１】第１及び第２実施形態に係る情報処理システムの概略構成を示す図である。
【図２】サイロ型システムにおける情報収集を説明するための図である。
【図３】ＮＦＶ型システムにおける情報収集を説明するための図である。
【図４】ＮＦＶ型システムにおける監視制御を説明するための図である。
【図５】汎用マネージャによるソフトウェアの周期的監視を説明するための図である。
【図６】周期的監視によるタイムラグの発生を説明するための図である。
【図７】ソフトウェア毎のエージェントを汎用マネージャに組み込んだ一例を示す図である。
【図８】監視ライブラリの概略構成を示す機能ブロック図である。
【図９】テンプレート記憶部の一例を示す図である。
【図１０】イベント生成を説明するための図である。
【図１１】第１実施形態における監視リーダの概略構成を示す機能ブロック図である。
【図１２】通知情報データベースの一例を示す図である。
【図１３】第１実施形態における連携エージェントを含むオーケストレータの概略構成を示す機能ブロック図である。
【図１４】情報処理装置として機能するコンピュータの概略構成を示すブロック図である。
【図１５】汎用マネージャとして機能するコンピュータの概略構成を示すブロック図である。
【図１６】情報処理システムにおける監視制御の概略を説明するための図である。
【図１７】監視ライブラリの動作の一例を示すシーケンス図である。
【図１８】イベント生成処理の一例を示すフローチャートである。
【図１９】第１実施形態における監視リーダ及びオーケストレータの動作の一例示すシーケンス図である。
【図２０】通知情報蓄積処理の一例を示すフローチャートである。
【図２１】通知情報の入替を説明するための図である。
【図２２】通知情報の入替を説明するための図である。
【図２３】第２実施形態における監視リーダの概略構成を示す機能ブロック図である。
【図２４】第２実施形態における連携エージェントを含むオーケストレータの概略構成を示す機能ブロック図である。
【図２５】第２実施形態における監視リーダ及びオーケストレータの動作の一例示すシーケンス図である。
【図２６】ソフトウェアの種類毎に監視リーダを設けた構成の一例を示す図である。
【図２７】ソフトウェアの提供先毎に監視リーダを設けた構成の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。以下の各実施形態では、ＮＦＶ（Network Function Virtualization）型の仮想基盤におけるシステム（以下、「ＮＦＶ型システム」という）を例に説明する。
【００１３】
＜ＮＦＶ型システムについて＞
まず、各実施形態の詳細を説明する前に、ＮＦＶ型システムにおける、汎用マネージャによる仮想マシン（ＶＭ：virtual machine）の監視制御、及びその問題点について説明する。なお、汎用マネージャは、開示の技術の監視装置の一例であり、仮想マシンは、開示の技術の監視対象装置の一例である。
【００１４】
ＮＦＶとは、ネットワークを制御する通信機器の機能をソフトウェアとして実装し、情報処理装置の仮想化されたＯＳ（Operating System）上で実行する方式をいう。すなわち、従来は専用ハードウェアと一体化したアプライアンスとして提供されているネットワーク機能を、ＮＦＶでは、専用ハードウェアを用いることなく、情報処理装置で実現する。
【００１５】
ここで、ＮＦＶ型システムの比較例として、図２に、ハードウェアとソフトウェアとが一体化したサイロ型システムの概略を示す。図２の例では、システムの監視制御を行う専用マネージャは、ポーリング型の要求に対する応答として、ソフトウェアＡからソフトウェア固有の情報（以下、「固有情報」という）を収集することができる。また、専用マネージャは、ソフトウェアＡが自律的に通知するプッシュ通知を認識することもできる。このように、サイロ型システムでは、ポーリング型及びプッシュ型のいずれの方法においても、ソフトウェアＡの固有情報を収集することができる。
【００１６】
一方、図３に、ＮＦＶ型システムで動作するソフトウェアからの情報収集方法について示す。ＮＦＶ型システムでは、同一の仮想基盤上に複数のソフトウェアが搭載され、これら複数のソフトウェア、及びソフトウェアが動作する仮想マシンに対する物理リソースの割り当ての全体最適化を図る。これにより、ＮＦＶ型システムでは、迅速なシステム規模の変更、運用効率の向上、コスト削減、構成変更の柔軟性等の効果をあげることができる。ＮＦＶ型システムでは、物理リソースの割り当ての全体最適化を実現するために、仮想基盤側が物理リソースの配置などの権限を持つ。この場合、各ソフトウェア間の関係に公平性を保つ必要があるため、汎用マネージャとソフトウェアとのインターフェースは汎用的なものとなる。したがって、汎用マネージャから各ソフトウェアの監視制御を行うインターフェースも汎用となる。
【００１７】
このため、図３に示すように、ＮＦＶ型システムでは、汎用マネージャからのポーリング要求に対して、ソフトウェアからは汎用的な情報しか応答することができない。また、汎用的なインターフェースでは、各ソフトウェアからのプッシュ型の通知を認識することができない。すなわち、ＮＦＶ型システムでは、同一の仮想基盤上で動作する複数のソフトウェアのそれぞれから、ソフトウェア固有情報を収集することができず、各ソフトウェアの特性に応じた監視制御を行うことができない。
【００１８】
例えば、汎用的なインターフェースにより収集可能な情報（以下、「汎用情報」という）としては、送受信パケット数、エラー及びドロップ数、コリジョンなどのネットワークに関する情報、ロードアベレージ、アイドル率及び使用率などのＣＰＵに関する情報がある。また、空き容量、使用率、ＳＷＡＰファイル及びページファイルの使用率などのメモリに関する情報、空き容量、使用率、読み込み及び書き込みのＩ／Ｏ（Input/Output）などのＨＤＤ（Hard Disk Drive）に関する情報も収集可能である。さらに、プロセスやサービス（ＳＳＨ、ＮＴＰ、ＬＤＡＰ等）のステータス、プロセスメモリ使用量、ファイルのサイズや時刻情報、ファイルの存在チェックや正規表現による検索の結果などの情報も収集可能である。
【００１９】
上記のような汎用情報を用いた監視制御として、例えば、ＣＰＵ使用率が閾値を超えた場合に、仮想マシンのスケールアウトを実行することができる。また、送受信パケット数とＣＰＵやメモリの使用率との相関分析により異常を検出した場合に、システムの系を切り替えることができる。
【００２０】
一方、個別情報としては、ソフトウェアで実行される特定の処理の要求数や不完了数、特定の関数の起動数、データ登録数等の情報を収集することが可能である。このような個別情報を用いた監視制御として、例えば、ある処理の要求数と不完了数との乖離が閾値を超えた場合や、ある関数の起動数が閾値を超えた場合に異常を検出し、システムの系を切り替えることができる。また、データ登録数がシステムでの収容要件を超えた場合に、スケールアウトを実行することができる。このように、個別情報によれば、ソフトウェアの特性に応じた監視制御を行うことができる。
【００２１】
図４を参照して、ＮＦＶ型システムの一例を説明する。図４に示すように、ＮＦＶ型システムでは、ハイパーバイザーなどにより、ＮＦＶＩ（Network Functions Virtualisation Infrastructure）が仮想化されて、ＶＭ（仮想マシン）及びＶＮＦ（Virtual Network Function）が提供される。ＮＦＶＩとは、コンピューティング、ストレージ、ネットワーク機能といった実際の物理リソース及びソフトウエアリソースである。また、ＶＮＦとは、ソフトウェアで実現され仮想化されたネットワーク機能である。ＮＦＶＩのリソースは、汎用マネージャ内のＶＩＭ（Virtualised Infrastructure Manager）により管理される。ＶＮＦのライフサイクルは、汎用マネージャ内のＶＮＦＭ（VNF Manager）により管理される。
【００２２】
また、汎用マネージャは、ＶＮＦからの情報の収集、蓄積、及び表示を行うＥＭＳ（Element Management System）／ＯＳＳ（Operations Support Systems）の機能を含む。また、汎用マネージャは、ＥＭＳ／ＯＳＳにより収集された情報を収集及び集約し、集約結果に応じて、ＶＮＦＭ及びＶＩＭにアクションを指示するオーケストレータの機能を含む。
【００２３】
図４に示すＮＦＶ型システムにおける監視制御では、まず、ＥＭＳ／ＯＳＳが、各ソフトウェアからＭＩＢ(Management Information Base）データを収集する（図４中の（１））。そして、ＥＭＳ／ＯＳＳが、収集したＭＩＢデータを蓄積し、オペレータに対して表示し、また、必要に応じて、オペレータからの加工を受け付ける（図４中の（２））。なお、表示結果に基づいて、オペレータが、ＶＮＦＭ及びＶＩＭにアクション指示を出すことも可能である。次に、オーケストレータが、各ソフトウェアから収集されたＭＩＢデータの各々を収集し、ＶＮＦＭ及びＶＩＭへのアクション指示に必要な情報を、サービス毎に集約する（図４中の（３））。なお、１つのサービスには、１つ又は複数のソフトウェアが対応するものとする。
【００２４】
次に、オーケストレータが、サービス毎に集約したＭＩＢデータの集約結果に基づいて、集約結果がアクション定義として規定されたいずれかの条件を満たすか否かを判定する（図４中の（４））。条件を満たす場合には、オーケストレータが、ＶＩＭ及びＶＮＦＭにアクション定義に規定されたアクションを指示する。例えば、集約結果が、ソフトウェアＡの稼動状況が逼迫していることを示している場合には、オーケストレータは、仮想マシン（ＶＭ）の増設というアクションをＶＩＭに指示し、ソフトウェアＡ（ＶＮＦ−Ａ）の増設というアクションをＶＮＦＭに指示する。
【００２５】
次に、ＶＩＭが、オーケストレータから指示されたアクションを実行する。上記の例では、ＶＩＭは、仮想マシンを払い出す（図４中の（５））。また、ＶＮＦＭが、オーケストレータから指示されたアクションを実行する。上記の例では、ＶＩＭにより払い出された仮想マシンにＶＮＦ−Ａをデプロイする（図４中の（６））。
【００２６】
上述したように、ＮＦＶ型システムにおける汎用マネージャは、仮想基盤上で動作するソフトウェアからのプッシュ型の通知を認識することができないため、周期的監視（ポーリング）により汎用情報を収集する。そして、汎用マネージャは、収集した情報を元に、仮想マシン及びソフトウェアの運用状況を分析し、所定条件を満たす場合、規定のアクションを発動するといった運用となる。
【００２７】
しかし、図５に示すように、汎用マネージャがソフトウェアを一つずつ周期的に監視する場合には、同一の仮想基盤上で動作するソフトウェアが増える程、個々のソフトウェアに着目した場合、監視タイミングの間隔が長くなり、監視制御のリアルタイム性が低下する。例えば、図６に、ソフトウェアＡ、ソフトウェアＢ、及びソフトウェアＣの順に、ポーリングによりある測定値（例えば、ＣＰＵの使用率）を収集した場合の時間経過に対する測定値の一例を示す。図６中の丸印が、各監視タイミング（図６の例では、１〜５）における測定値を示す。また、測定値が異常か否かを判定するための閾値の値を点線で示す。
【００２８】
ソフトウェアＡについて、４番目の監視タイミングにおいては、測定値は閾値を超えていないが、その後、測定値が閾値を超えている。しかし、ソフトウェアＡについての次の監視タイミング（５番目の監視タイミング）は、ソフトウェアＢ及びソフトウェアＣについての４番目の監視タイミングの後となる。したがって、ソフトウェアＡの測定値が閾値を超えてから、ソフトウェアＡについての次の監視タイミングまでの間にタイムラグが生じる。
【００２９】
監視タイミングを頻繁にすることで、監視制御のリアルタイム性の低下を抑制することは可能であるが、ソフトウェアの負担が大きくなり、ソフトウェア本来の処理のレベル低下を招くおそれがある。
【００３０】
上記の問題を解決するために、図７に示すように、各ソフトウェアの固有情報を認識可能なエージェントを、汎用マネージャに組み込むことが考えられる。しかし、ソフトウェアのそれぞれに対応したエージェントを汎用マネージャに組み込む事になるため、運用が複雑になり、また、汎用マネージャの汎用性を損なう。さらに、ソフトウェアの種類が増える度に新たなエージェントの開発が必要となり、本来ＮＦＶが目指す運用効率向上やコスト削減などに逆行する。
【００３１】
そこで、以下の各実施形態では、汎用マネージャの汎用性を保持しつつ、各ソフトウェアの個別情報を、適切なタイミングで収集して、ソフトウェア特性に応じた監視制御を行う。以下、各実施形態について詳述する。なお、以下の各実施形態において、上述したＮＦＶ型システムと同様の部分については、詳細な説明を省略する。
【００３２】
＜第１実施形態＞
図１に示すように、第１実施形態に係る情報処理システム１００は、情報処理装置１１０と、汎用マネージャ１５０とを含んで構成される。
【００３３】
情報処理装置１１０は、コンピューティング、ストレージ、ネットワーク機能といった実際の物理リソース及びソフトウエアリソースを有する。すなわち、情報処理装置１１０は、ＮＦＶ型システムにおけるＮＦＶＩである。情報処理装置１１０は、例えば、汎用サーバ等である。
【００３４】
情報処理装置１１０では、ＮＦＶＩが仮想化され、複数の仮想マシン（ＶＭ）１１２が構築される。また、各仮想マシン１１２上では、ネットワーク機能を仮想化したソフトウェア１１４が動作する。各ソフトウェア１１４には、各ソフトウェアの固有情報をプッシュ型の通知により、後述する監視リーダ２０に通知する機能を有する監視ライブラリ１０が組み込まれる。また、１つの仮想マシン１１２上では、監視ライブラリ１０から通知された情報を収集し、汎用マネージャ１５０からのポーリング要求に対し、収集した情報を応答する機能を有するソフトウェアである監視リーダ２０が動作する。
【００３５】
汎用マネージャ１５０は、例えば、パーソナルコンピュータ等である。汎用マネージャ１５０は、収集部１５４、連携エージェント４０、及び判定部１５６を含むオーケストレータ１５２を含む。また、汎用マネージャ１５０は、ＶＩＭ、及びＶＮＦＭを含む（図示省略）。
【００３６】
第１実施形態に係る情報処理システム１００は、図４を参照して説明したＮＦＶ型システムに、監視ライブラリ１０と、監視リーダ２０と、連携エージェント４０とを加えた構成である。以下、監視ライブラリ１０、監視リーダ２０、及び連携エージェント４０の各々について詳述する。なお、監視ライブラリ１０は、開示の技術の通知部の一例である。また、監視リーダ２０は、開示の技術の送信部の一例である。また、連携エージェント４０は、開示の技術の抽出部の一例である。
【００３７】
図８に示すように、監視ライブラリ１０は、イベント生成部１１と、実行環境情報収集部１２と、通知情報送信部１３とを含む。また、仮想マシン１１２に割り当てられたメモリの所定領域に、テンプレート記憶部１５が設けられる。
【００３８】
テンプレート記憶部１５には、図９に示すように、複数のロジックテンプレート１６と、複数のシナリオテンプレート１７と、複数の制御コマンドテンプレート１８とが記憶される。
【００３９】
ロジックテンプレート１６は、ソフトウェア１１４において、監視対象となる事象（例えば、ソフトウェア１１４の異常、リソース使用率の逼迫等）の発生を判定するための判定条件を定義するテンプレートである。例えば、ソフトウェア１１４が動作する仮想マシン１１２の仮想ＣＰＵの使用率などの測定値の取得、処理要求数などのソフトウェアの固有情報の取得、測定値と閾値との比較などの各ロジックを示すテンプレートの各々が含まれる。１つ又は複数のロジックテンプレート１６の組み合わせにより、判定条件が定義される。
【００４０】
シナリオテンプレート１７は、ソフトウェア１１４において、監視対象の事象が発生した場合に、汎用マネージャ１５０に実行させるアクションのシナリオ（手順）が定義されたテンプレートである。例えば、異常が発生した仮想マシンを自動で修復するオートヒーリングのシナリオが定義されたテンプレートや、仮想マシンを増設するオートスケールのシナリオが定義されたテンプレート等が含まれる。また、各シナリオテンプレート１７には、定義されたアクションに応じた優先度が付与されている。優先度は、実行されるアクションの緊急性を表すものであり、監視対象の事象が複数発生し、汎用マネージャ１５０でのアクションが競合する場合に、いずれのアクションを優先的に実行するかを決定するために用いられる。なお、本実施形態では、Ａ、Ｂ、Ｃ、・・・の順で優先度が高いことを表す。
【００４１】
制御コマンドテンプレート１８は、シナリオテンプレート１７で定義されたシナリオの各手順を実行するための制御コマンドを定義するテンプレートである。仮想マシン１１２を構築するハイパーバイザーなどがどのような製品かにより、同じアクションでも詳細な手順が異なる場合があるため、実行環境に応じたアクションが実行できるように、各手順の制御コマンドを定義したものである。
【００４２】
イベント生成部１１は、監視ライブラリ１０が組み込まれたソフトウェア１１４で実行される処理で異常が発生したこと、又は、処理が予め定めた計測ポイントを実行したことをトリガとして、事前に定義したフローを起動し、イベントを生成する。例えば、イベント生成部１１は、図１０に示すように、ソフトウェア１１４の処理Ａでの異常が検知された場合には、処理Ａでの異常発生というトリガに対して予め定義されたシナリオテンプレート１７をテンプレート記憶部１５から取得する。また、イベント生成部１１は、ソフトウェア１１４の実行環境に応じた制御コマンドテンプレート１８をテンプレート記憶部１５から取得する。イベント生成部１１は、取得したシナリオテンプレート１７と制御コマンドテンプレート１８とを組み合わせたイベントを生成する。
【００４３】
また、例えば、イベント生成部１１は、図１０に示すように、ソフトウェア１１４の処理Ｂの計測ポイントを通過した場合には、処理Ｂの計測ポイントに対して予め定義された１又は複数のロジックテンプレート１６をテンプレート記憶部１５から取得する。イベント生成部１１は、取得したロジックテンプレート１６を組み合わせて判定条件を定義し、監視対象の事象が発生したか否かを判定する。監視対象の事象が発生している場合には、イベント生成部１１は、発生した事象に対して予め定義されたシナリオテンプレート１７をテンプレート記憶部１５から取得する。また、イベント生成部１１は、ソフトウェア１１４の実行環境に応じた制御コマンドテンプレート１８をテンプレート記憶部１５から取得する。イベント生成部１１は、取得したシナリオテンプレート１７と制御コマンドテンプレート１８とを組み合わせたイベントを生成する。イベント生成部１１は、生成したイベントを通知情報送信部１３へ受け渡す。
【００４４】
実行環境情報収集部１２は、監視ライブラリ１０が組み込まれたソフトウェア１１４が動作する仮想マシン１１２の実行環境情報を定期的に収集し、通知情報送信部１３へ受け渡す。実行環境情報には、例えば、仮想マシン１１２のＩＰアドレス、仮想マシン１１２に割り当てられているＣＰＵ、メモリ、ＨＤＤのスペック等が含まれる。また、仮想マシン１１２のロケーションや、仮想マシン１１２がネットワークのどのグループに属するかといった情報など、様々な情報を実行環境情報として含めることができる。
【００４５】
通知情報送信部１３は、イベント生成部１１からイベントを受け渡されたタイミングで、受け渡されたイベントに、実行環境情報収集部１２から受け渡された最新の実行環境情報と処理分類とを付加して通知情報とし、監視リーダ２０へ送信する。処理分類とは、イベント生成のトリガとなったソフトウェア１１４での処理を、ソフトウェア１１４の種類及び処理の種類に基づいて分類した情報であり、どの種類の処理をトリガとしてイベントが生成されたかを示す情報である。処理分類は、監視対象の事象が複数発生し、汎用マネージャ１５０でのアクションが競合する場合に、いずれのアクションを優先的に実行するかを決定するために用いられる。したがって、シナリオテンプレート１７に付与された優先度と共に、アクション競合時に優先的に実行するアクションを決定する判断材料となり得るように、処理分類を定義しておく。例えば、ソフトウェア１１４における実行順序が早い処理と遅い処理とを分類したり、実行頻度が多い処理と少ない処理とを分類したりすることができる。本実施形態では、処理分類を、１、２、３、・・・とし、実行順序が早い処理ほど、かつ実行頻度が多い処理ほど、小さい値の処理分類に分類されるものとする。
【００４６】
監視リーダ２０は、図１１に示すように、蓄積部２１と、判定部２５と、応答部２８とを含む。
【００４７】
蓄積部２１は、通知情報受信部２２と、分析部２３と、通知情報データベース（ＤＢ）２４とを含む。通知情報受信部２２は、監視ライブラリ１０から送信された通知情報を受信し、分析部２３へ受け渡す。分析部２３は、通知情報に含まれるイベントの優先度及び処理分類に基づいて、通知情報ＤＢ２４へ通知情報を格納する順序を入れ替えたうえで、通知情報を通知情報ＤＢ２４へ格納する。イベントの優先度とは、イベントの生成に用いたシナリオテンプレート１７に付与されている優先度である。
【００４８】
図１２に、通知情報ＤＢ２４の一例を示す。図１２の例では、各行が１つの通知情報に相当する。通知情報ＤＢ２４は、「順序」、「シナリオ」、「制御コマンド」、「優先度」、「処理分類」、「実行環境情報」、「通知日時」等の項目を含む。「順序」の項目には、通知情報ＤＢ２４への各通知情報の格納順が記憶される。「イベント」及び「制御コマンド」の各項目には、通知情報に含まれるイベントの生成に使用されているシナリオテンプレート１７及び制御コマンドテンプレート１８が記憶される。「優先度」には、シナリオテンプレート１７に付与されている優先度が記憶される。「処理分類」及び「実行環境情報」の各項目には、通知情報に付与されている処理分類の情報、及び実効環境情報のそれぞれが記憶される。「通知日時」には、通知情報受信部２２が通知情報を受信した日時が記憶される。
【００４９】
判定部２５は、通知情報判定部２６と、編集部２７とを含む。通知情報判定部２６は、応答部２８が汎用マネージャ１５０からの通知情報の要求を受信した際に、通知情報ＤＢ２４に、汎用マネージャ１５０へ未送信の通知情報が存在するか否かを判定する。通知情報判定部２６は、未送信の通知情報が存在する場合には、その通知情報を通知情報ＤＢ２４から取得し、編集部２７へ受け渡す。未送信の通知情報が存在しない場合には、通知情報判定部２６は、応答する通知情報が存在しない旨を応答部２８へ通知する。
【００５０】
編集部２７は、通知情報判定部２６から通知情報を受け渡された場合、受け渡された通知情報を、汎用マネージャ１５０へ応答するためのフォーマットに編集する。例えば、編集部２７は、拡張情報を格納可能な拡張部を備えたフォーマットのＭＩＢデータである拡張ＭＩＢデータの拡張部に、受け渡された通知情報を格納する。拡張ＭＩＢデータの拡張部には、通知情報ＤＢ２４の項目と同様の項目を設定する。編集部２７は、通知情報を格納した拡張ＭＩＢデータを、応答部２８へ受け渡す。
【００５１】
応答部２８は、要求受信部２９と、応答送信部３０とを含む。要求受信部２９は、汎用マネージャ１５０からの通知情報の要求を受信した場合には、その旨を通知情報判定部２６に通知する。応答送信部３０は、編集部２７から受け渡された拡張ＭＩＢデータ、又は通知情報判定部２６から通知された応答する通知情報が存在しない旨の通知を、汎用マネージャ１５０からの要求に対する応答として送信する。
【００５２】
監視リーダ２０において、蓄積部２１の処理と、判定部２５及び応答部２８の処理とは、非同期の処理である。したがって、受信した通知情報の処理を蓄積部２１に委ねることで、判定部２５及び応答部２８の処理負担を軽量化することができるため、汎用マネージャ１５０からの要求に対して、即座に応答することができる。
【００５３】
連携エージェント４０は、図１３に示すように、抽出部４１を含む。監視リーダ２０から送信された拡張ＭＩＢデータは、収集部１５４で受信され、抽出部４１に入力される。抽出部４１は、拡張ＭＩＢデータの拡張部から通知情報を抽出し、抽出した通知情報を判定部１５６へ入力する。
【００５４】
情報処理装置１１０は、例えば図１４に示すコンピュータ５０で実現することができる。コンピュータ５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部５３を備える。また、コンピュータ５０は、入出力装置５４と、記録媒体５９に対するデータの読み込み及び書き込みを制御するｒｅａｄ／ｗｒｉｔｅ（Ｒ／Ｗ）部５５と、インターネット等のネットワークに接続されるネットワークＩ／Ｆ５６とを備える。ＣＰＵ５１、メモリ５２、記憶部５３、入出力装置５４、Ｒ／Ｗ部５５、及びネットワークＩ／Ｆ５６は、バス５７を介して互いに接続される。
【００５５】
記憶部５３は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（solid state drive）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部５３には、コンピュータ５０を情報処理装置１１０として機能させるための監視ライブラリプログラム６０及び監視リーダプログラム７０が記憶される。また、図示は省略するが、記憶部５３には、ＯＳ及びハイパーバイザーなどのプログラムも記憶されている。監視ライブラリプログラム６０は、ハイパーバイザーなどにより構築された仮想マシン上で動作するソフトウェアに組み込まれて実行されるプログラムであり、監視リーダプログラム７０は、仮想マシン上で実行されるプログラムである。
【００５６】
ＣＰＵ５１は、監視ライブラリプログラム６０及び監視リーダプログラム７０の各々を記憶部５３から読み出してメモリ５２に展開し、監視ライブラリプログラム６０及び監視リーダプログラム７０の各々が有するプロセスを順次実行する。監視ライブラリプログラム６０は、イベント生成プロセス６１と、実行環境情報収集プロセス６２と、通知情報送信プロセス６３とを有する。監視リーダプログラム７０は、蓄積プロセス７１と、判定プロセス７５と、応答プロセス７８とを有する。
【００５７】
ＣＰＵ５１は、イベント生成プロセス６１を実行することで、図８に示すイベント生成部１１として動作する。また、ＣＰＵ５１は、実行環境情報収集プロセス６２を実行することで、図８に示す実行環境情報収集部１２として動作する。また、ＣＰＵ５１は、通知情報送信プロセス６３を実行することで、図８に示す通知情報送信部１３として動作する。
【００５８】
また、ＣＰＵ５１は、蓄積プロセス７１を実行することで、図１１に示す蓄積部２１として動作する。また、ＣＰＵ５１は、判定プロセス７５を実行することで、図１１に示す判定部２５として動作する。また、ＣＰＵ５１は、応答プロセス７８を実行することで、図１１に示す応答部２８として動作する。
【００５９】
このように、監視ライブラリプログラム６０及び監視リーダプログラム７０を実行したコンピュータ５０が、監視ライブラリ１０及び監視リーダ２０を含む情報処理装置１１０として機能することになる。
【００６０】
なお、ＣＰＵ５１は、複数のＣＰＵ又は複数のコアを有するＣＰＵで構成され、仮想マシン１１２の各々に割り当てられたＣＰＵ５１の部分が、上記の各プロセスを実行する。
【００６１】
汎用マネージャ１５０は、例えば図１５に示すコンピュータ８０で実現することができる。コンピュータ８０はＣＰＵ８１と、メモリ８２と、記憶部８３と、入出力装置８４と、記録媒体８９に対するデータの読み込み及び書き込みを制御するＲ／Ｗ部８５と、ネットワークＩ／Ｆ８６とを備える。ＣＰＵ８１、メモリ８２、記憶部８３、入出力装置８４、Ｒ／Ｗ部８５、及びネットワークＩ／Ｆ８６は、バス８７を介して互いに接続される。
【００６２】
記憶部８３は、ＨＤＤ、ＳＳＤ、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部８３には、コンピュータ８０を汎用マネージャ１５０として機能させるための連携エージェントプログラム９０が記憶される。また、図示は省略するが、記憶部８３には、ＯＳ、オーケストレータ１５２の他の機能部や、ＶＩＭ及びＶＮＦＭとして機能するプログラムも記憶されている。
【００６３】
ＣＰＵ８１は、連携エージェントプログラム９０を記憶部８３から読み出してメモリ８２に展開し、連携エージェントプログラム９０が有するプロセスを順次実行する。連携エージェントプログラム９０は、抽出プロセス９１を有する。ＣＰＵ８１は、抽出プロセス９１を実行することで、図１３に示す抽出部４１として動作する。これにより、連携エージェントプログラム９０を実行したコンピュータ８０が、連携エージェント４０を含む汎用マネージャ１５０として機能することになる。
【００６４】
次に、第１実施形態に係る情報処理システム１００の作用について説明する。まず、図１６を参照して、情報処理システム１００における監視制御の概略を説明する。なお、図１６において、図４を参照して説明したＮＦＶ型システムの監視制御と同様の部分については、詳細な説明は省略する。
【００６５】
ソフトウェア１１４の各々に組み込まれた監視ライブラリ１０が、各ソフトウェア１１４で実行される処理の状況に応じたタイミングで、監視リーダ２０に通知情報を通知する（図１６中の（１））。監視リーダ２０は、通知情報を通知情報ＤＢ２４に蓄積する（図１６中の（２））。
【００６６】
汎用マネージャ１５０が、周期的なポーリングにより、監視リーダ２０に、通知情報を要求する。そして、監視リーダ２０が、要求に対する応答として、通知情報を格納した拡張ＭＩＢデータを汎用マネージャ１５０へ送信する（図１６中の（３））。
【００６７】
汎用マネージャ１５０では、オーケストレータ１５２に組み込まれた連携エージェント４０が、監視リーダ２０から送信された拡張ＭＩＢデータから通知情報を抽出して、判定部１５６に入力する（図１６中の（４））。
【００６８】
以降は、図４を参照して説明したＮＦＶ型システムと同様に、オーケストレータ１５２が、通知情報とアクション定義とに基づいて、ＶＩＭ及びＶＮＦＭにアクション定義に規定されたアクションを指示する（図１６中の（５））。通知情報には、汎用マネージャ１５０に実行を指示するイベント（アクションのシナリオ及び制御コマンド）が含まれるため、判定部１５６は、指示されたアクションに対応するアクション定義と、通知情報に付与されている実行環境情報とに基づいて、そのアクションを実行するか否かを判定すればよい。また、ＶＩＭ及びＶＮＦＭへのアクションの指示は、通知情報に含まれるシナリオテンプレート１７及び制御コマンドテンプレート１８をＶＩＭ及びＶＮＦＭへ受け渡すことにより行うことができる。ＶＩＭ及びＶＮＦＭは、指示されたアクションを実行する（図１６中の（６））
【００６９】
次に、監視ライブラリ１０の動作について、図１７に示すシーケンス図を参照して詳述する。
【００７０】
まず、監視ライブラリ１０が組み込まれたソフトウェア１１４で実行される処理で異常が発生した場合、又は処理が予め定めた計測ポイントを通過した場合、これらがトリガとしてイベント生成部１１に通知される（図１７中のＳ１０）。イベント生成部１１では、図１８に詳細を示すイベント生成処理が実行される（図１７中のＳ２０）。
【００７１】
図１８に示すイベント生成処理のステップＳ２１で、イベント生成部１１が、通知されたトリガが、ソフトウェア１１４で実行される処理Ｘに事前に定義した計測ポイントの通過か否かを判定する。計測ポイントの通過の場合には、処理はステップＳ２３へ移行し、トリガが処理Ｘでの異常発生の場合には、処理はステップＳ２２へ移行する。ステップＳ２２では、イベント生成部１１が、処理Ｘでの異常発生というトリガに対して予め定義されたシナリオテンプレート１７をテンプレート記憶部１５から取得し、次のステップＳ３０へ移行する。
【００７２】
一方、ステップＳ２３では、イベント生成部１１が、処理Ｘの計測ポイントに対して予め定義された１又は複数のロジックテンプレート１６をテンプレート記憶部１５から取得する。ここでは、ソフトウェア１１４が動作する仮想マシン１１２の仮想ＣＰＵの使用率を測定値として取得することを示すロジックテンプレート１６、及び測定値と閾値とを比較することを示すロジックテンプレート１６が取得されたものとする。
【００７３】
次に、ステップＳ２４で、イベント生成部１１が、取得したロジックテンプレート１６に従って測定値を取得すると共に、ロジックテンプレート１６を組み合わせて、取得した測定値とロジックテンプレート１６に定められた閾値とを比較する判定条件を定義する。
【００７４】
次に、ステップＳ２５で、イベント生成部１１が、上記ステップＳ２４で定義した判定条件に従って、監視対象の事象が発生したか否かを判定する。例えば、取得した測定値が定義された閾値を超えている場合には、監視対象の事象が発生したと判定することができる。監視対象の事象が発生している場合には、処理はステップＳ２６へ移行し、発生していない場合には、イベント生成処理は終了する。
【００７５】
ステップＳ２６では、イベント生成部１１が、事前定義に従って、発生した事象に対して汎用マネージャ１５０に実行させるアクションを判定する。判定されたアクションがオートヒーリングの場合には、処理はステップＳ２７へ移行し、イベント生成部１１が、オートヒーリングのシナリオテンプレート１７をテンプレート記憶部１５から取得する。判定されたアクションがオートスケールの場合には、処理はステップＳ２８へ移行し、イベント生成部１１が、オートスケールのシナリオテンプレート１７をテンプレート記憶部１５から取得する。判定されたアクションが、カスタム（ユーザにより定義されたアクション）の場合には、処理はステップＳ２９へ移行し、イベント生成部１１が、カスタムのシナリオテンプレート１７をテンプレート記憶部１５から取得する。
【００７６】
次に、ステップＳ３０で、イベント生成部１１が、ソフトウェア１１４の実行環境に応じた制御コマンドテンプレート１８をテンプレート記憶部１５から取得する。次に、ステップＳ３１で、イベント生成部１１が、取得したシナリオテンプレート１７と制御コマンドテンプレート１８とを組み合わせたイベントを生成する。そして、イベント生成処理は終了する。
【００７７】
図１７に示すシーケンス図の説明に戻り、イベント生成部１１が、生成したイベントを通知情報送信部１３へ送信する（図１７中のＳ３２）。
【００７８】
また、実行環境情報収集部１２が、監視ライブラリ１０が組み込まれたソフトウェア１１４が動作する仮想マシン１１２の実行環境情報を定期的に収集する実行環境情報収集処理を実行する（図１７中のＳ３３）。そして、実行環境情報収集部１２は、収集した実行環境情報を通知情報送信部１３へ送信する（図１７中のＳ３４）。通知情報送信部１３では、イベント生成部１１から送信されたイベントを受信すると、受信したイベントに最新の実行環境情報と処理分類とを付加して通知情報とし、監視リーダ２０へ送信する（図１７中のＳ３５）。
【００７９】
次に、監視リーダ２０及びオーケストレータ１５２の動作について、図１９に示すシーケンス図を参照して詳述する。
【００８０】
汎用マネージャ１５０のオーケストレータ１５２の収集部１５４から、周期的なポーリングにより、監視リーダ２０に、通知情報を要求する（図１９中のＳ４０）。
【００８１】
監視リーダ２０では、応答部２８の要求受信部２９が、汎用マネージャ１５０からの要求を受信すると、要求受信部２９は、要求を判定部２５の通知情報判定部２６へ送信する（図１９中のＳ４１）。通知情報判定部２６は、要求を受信すると、通知情報ＤＢ２４に、汎用マネージャ１５０へ未送信の通知情報が存在するか否かを判定する（図１９中のＳ４２）。ここでは、通知情報ＤＢ２４に未送信の通知情報が存在しないものとする。この場合には、通知情報判定部２６は、応答する通知情報が存在しない旨を応答部２８の応答送信部３０へ通知する（図１９中のＳ４３）。応答送信部３０は、通知情報が存在しない旨の通知を、汎用マネージャ１５０からの要求に対する応答として、汎用マネージャ１５０へ送信する（図１９中のＳ４４）。
【００８２】
一方、各ソフトウェア１１４に組み込まれた監視ライブラリ１０の通知情報送信部１３から、通知情報が送信される（図１９中のＳ４５）。ここでは、ソフトウェアＡに組み込まれた監視ライブラリ１０から通知情報１が、ソフトウェアＢに組み込まれた監視ライブラリ１０から通知情報２が、ソフトウェアＣに組み込まれた監視ライブラリ１０から通知情報３が送信されているものとする。監視リーダ２０では、蓄積部２１の通知情報受信部２２が、監視ライブラリ１０から送信された通知情報を受信し、分析部２３へ受け渡す。そして、図２０に詳細を示す通知情報蓄積処理が実行される（図１９中のＳ５０）。
【００８３】
図２０に示す通知情報蓄積処理のステップＳ５１で、通知情報ＤＢ２４に、汎用マネージャ５０に未送信の通知情報が存在するか否かを判定する。ここでは、送信済みの通知情報は、通知情報ＤＢ２４から削除されるものとする。したがって、通知情報ＤＢ２４に通知情報が存在するか否かを判定することにより、未送信の通知情報が存在するか否かを判定する。通知情報ＤＢ２４に通知情報が存在する場合には、処理はステップＳ５２へ移行し、分析部２３が、通知情報ＤＢ２４に格納されている通知情報を読み出し、処理はステップＳ５３へ移行する。通知情報ＤＢ２４に通知情報が存在しない場合には、ステップＳ５２をスキップして、ステップＳ５３へ移行する。
【００８４】
ステップＳ５３では、分析部２３が、受信した通知情報と、通知情報ＤＢ２４から読み出した通知情報が存在する場合には、読み出した通知情報とをあわせて、各通知情報の優先度及び処理分類に基づいて、各通知情報の順序を入れ替える。
【００８５】
例えば、通知情報ＤＢ２４に未送信の通知情報が存在しない場合、受信した通知情報１、通知情報２、及び通知情報３の順序を入れ替える。図２１に示すように、通知情報１の優先度がＢ、通知情報２及び通知情報３の各々の優先度がＡの場合、優先度の低い通知情報１の順序を通知情報２及び通知情報３の後に入れ替える。また、通知情報２及び通知情報３については、優先度が同じであるため、さらに、処理分類が小さい通知情報３を通知情報２の前に入れ替える。
【００８６】
また、例えば、通知情報ＤＢ２４から、未送信の通知情報４及び通知情報５が読み出されたとする。この場合、図２２に示すように、受信した通知情報１、通知情報２、及び通知情報３と、未送信の通知情報４及び通知情報５とをあわせて、各通知情報の順序を入れ替える。
【００８７】
次に、ステップＳ５４で、分析部２３が、通知情報の各々を、上記ステップＳ５３で入れ替えた順序で、通知情報ＤＢ２４に書き込み、通知情報蓄積処理は終了する。なお、図１９に示すシーケンス図では、図２１に示す例で、通知情報１、通知情報２、通知情報３が入れ替えられて、通知情報ＤＢ２４に格納される場合を示している（図１９中のＳ５５）。
【００８８】
図１９に示すシーケンス図の説明に戻り、通知情報ＤＢ２４に通知情報が蓄積されている状態で、汎用マネージャ１５０から通知情報を要求されるとする（図１９中のＳ５６）。監視リーダ２０では、応答部２８の要求受信部２９が、汎用マネージャ１５０からの要求を受信し、受信した要求を判定部２５の通知情報判定部２６へ送信する（図１９中のＳ５７）。通知情報判定部２６は、要求を受信すると、通知情報ＤＢ２４に、汎用マネージャ１５０へ未送信の通知情報が存在するか否かを判定する（図１９中のＳ５８）。ここでは、通知情報ＤＢ２４に未送信の通知情報が存在するため、通知情報判定部２６が、通知情報ＤＢ２４から、未通知の通知情報を取得し、編集部２７へ受け渡す（図１９中のＳ５９）。そして、編集部２７が、ＭＩＢデータである拡張ＭＩＢデータの拡張部に、受け渡された通知情報を格納する編集処理を実行する（図１９中のＳ６０）。
【００８９】
そして、編集部２７が、通知情報を格納した拡張ＭＩＢデータを、応答部２８の応答送信部３０へ受け渡す（図１９中のＳ６１）。応答送信部３０は、編集部２７から受け渡された拡張ＭＩＢデータを、汎用マネージャ１５０からの要求に対する応答として送信する（図１９中のＳ６２）。
【００９０】
汎用マネージャ１５０では、収集部１５４が、拡張ＭＩＢデータを受信すると、受信した拡張ＭＩＢデータを抽出部４１へ受け渡す（図１９中のＳ６３）。抽出部４１は、拡張ＭＩＢデータの拡張部から通知情報を抽出し、抽出した通知情報を、通知情報ＤＢ２４への格納順と同様の順序で判定部１５６へ入力する（図１９中のＳ６４）。
【００９１】
以上説明したように、第１実施形態に係る情報処理システム１００によれば、ＮＦＶ型システムにおいて、ネットワーク機能を仮想化したソフトウェアの各々に、プッシュ型通知を行う監視ライブラリを組み込む。また、ソフトウェアの各々が動作する仮想マシンと同一の仮想基盤上の仮想マシン上で、監視ライブラリからの通知を収集する監視リーダを動作させる。さらに、汎用マネージャは、監視リーダにアクセスし、ソフトウェアからの通知情報を収集する。汎用マネージャへは、監視リーダから収集した情報を認識可能な連携エージェントを組み込む。
【００９２】
このように、各ソフトウェアからのプッシュ型の通知が可能であることから、汎用マネージャは、各ソフトウェアの固有情報を取得し、ソフトウェア特性に応じた監視制御を行うことができる。また、各ソフトウェアからの通知情報は、監視リーダにより、一括で汎用マネージャに応答するため、個々のソフトウェアに対して順番にポーリングする場合に比べ、適切なタイミングで監視制御を行うことができる。また、汎用マネージャへは、連携エージェントを組み込むだけであるため、各ソフトウェアに対する個々のエージェントを組み込む場合に比べ、汎用マネージャの汎用性を保持できる。
【００９３】
さらに、各ソフトウェアからの通知情報は、監視ライブラリで用意されたテンプレートの組み合わせにより生成することができる。これにより、ソフトウェア自体に、トリガの検知、条件判定、アクションの決定、通知情報の生成等の監視ロジックを書き加える必要がないため、ソフトウェアへの改修を最小限に抑えることができる。また、テンプレートの書き換えにより、監視ロジックを容易にカスタマイズすることができる。
【００９４】
＜第２実施形態＞
次に、第２実施形態について説明する。なお、第２実施形態に係る情報処理システムにおいて、第１実施形態に係る情報処理システム１００と同様の部分については、同一符号を付して、詳細な説明を省略する。
【００９５】
図１に示すように、第２実施形態に係る情報処理システム２００は、情報処理装置１１０と、汎用マネージャ１５０とを含む。第２実施形態では、監視リーダ２２０及び連携エージェント２４０の構成が第１実施形態と異なるため、以下、監視リーダ２２０及び連携エージェント２４０について説明する。
【００９６】
図２３に示すように、第２実施形態における監視リーダ２２０は、蓄積部２２１と、判定部２２５と、応答部２２８とを含む。
【００９７】
蓄積部２２１は、通知情報受信部２２２と、通知情報ＤＢ２４とを含む。第１実施形態における蓄積部２１と異なり、分析部２３は含まない。通知情報受信部２２２は、監視ライブラリ１０から受信した通知情報を、順序を入れ替えることなく、受信した順に、通知情報ＤＢ２４へ格納する。
【００９８】
判定部２２５は、編集部２２７を含む。第１実施形態における判定部２５と異なり、通知情報判定部２６は含まない。編集部２２７は、応答部２８が汎用マネージャ１５０からの通知情報の要求を受信した際に、通知情報ＤＢ２４から、汎用マネージャ１５０へ未送信の通知情報を取得する。そして、編集部２２７は、取得した通知情報を、汎用マネージャ１５０へ応答するためのフォーマットに編集する。例えば、編集部２２７は、第１実施形態と同様に、拡張ＭＩＢデータの拡張部に取得した通知情報を格納する。編集部２２７は、通知情報を格納した拡張ＭＩＢデータを、応答部２２８へ受け渡す。なお、通知情報ＤＢ２４に、未送信の通知情報が存在しない場合には、編集部２２７は、拡張部に何も格納していない拡張ＭＩＢデータを応答部２２８へ受け渡す。
【００９９】
応答部２２８は、要求受信部２２９と、応答送信部２３０とを含む。要求受信部２２９は、汎用マネージャ１５０からの通知情報の要求を受信した場合には、その旨を編集部２２７に通知する。応答送信部２３０は、編集部２２７から受け渡された拡張ＭＩＢデータを、汎用マネージャ１５０からの要求に対する応答として送信する。
【０１００】
図２４に示すように、第２実施形態における連携エージェント２４０は、抽出部２４１と、入替部４２とを含む。抽出部２４１は、拡張ＭＩＢデータの拡張部から通知情報を抽出し、抽出した通知情報を入替部４２へ受け渡す。入替部４２は、抽出部２４１から受け渡された通知情報の順序を、各通知情報に含まれるイベントの優先度及び処理分類に基づいて入れ替えて、各通知情報を判定部１５６へ入力する。
【０１０１】
情報処理装置２１０は、例えば図１４に示すコンピュータ５０で実現することができる。コンピュータ５０の記憶部５３には、コンピュータ５０を情報処理装置２１０として機能させるための監視ライブラリプログラム６０及び監視リーダプログラム２７０が記憶される。ＣＰＵ５１は、監視ライブラリプログラム６０及び監視リーダプログラム２７０の各々を記憶部５３から読み出してメモリ５２に展開し、監視ライブラリプログラム６０及び監視リーダプログラム２７０の各々が有するプロセスを順次実行する。監視リーダプログラム２７０は、蓄積プロセス２７１と、判定プロセス２７５と、応答プロセス２７８とを有する。監視ライブラリプログラム６０は、第１実施形態と同様である。
【０１０２】
ＣＰＵ５１は、蓄積プロセス２７１を実行することで、図２３に示す蓄積部２２１として動作する。また、ＣＰＵ５１は、判定プロセス２７５を実行することで、図２３に示す判定部２２５として動作する。また、ＣＰＵ５１は、応答プロセス２７８を実行することで、図２３に示す応答部２２８として動作する。これにより、監視ライブラリプログラム６０及び監視リーダプログラム２７０を実行したコンピュータ５０が、監視ライブラリ１０及び監視リーダ２２０を含む情報処理装置１１０として機能することになる。
【０１０３】
汎用マネージャ１５０は、例えば図１５に示すコンピュータ８０で実現することができる。コンピュータ８０の記憶部８３には、コンピュータ８０を汎用マネージャ１５０として機能させるための連携エージェントプログラム２９０が記憶される。ＣＰＵ８１は、連携エージェントプログラム２９０を記憶部８３から読み出してメモリ８２に展開し、連携エージェントプログラム２９０が有するプロセスを順次実行する。連携エージェントプログラム２９０は、抽出プロセス２９１と、入替プロセス９２とを有する。ＣＰＵ８１は、抽出プロセス２９１を実行することで、図２４に示す抽出部２４１として動作する。また、ＣＰＵ８１は、入替プロセス９２を実行することで、図２４に示す入替部４２として動作する。これにより、連携エージェントプログラム２９０を実行したコンピュータ８０が、連携エージェント２４０を含む汎用マネージャ１５０として機能することになる。
【０１０４】
次に、第２実施形態に係る情報処理システム２００の作用について説明する。第１実施形態とは、監視リーダ２２０及び連携エージェント２４０を含むオーケストレータ１５２の動作が異なる。以下では、図２５に示すシーケンス図を参照して、監視リーダ２２０及び連携エージェント２４０の動作について説明する。なお、第１実施形態における監視リーダ２０及び連携エージェント４０の動作と同様の部分については、同一符号を付して、詳細な説明を省略する。
【０１０５】
汎用マネージャ１５０から監視リーダ２０に、通知情報が要求されると（図２５中のＳ４０）、監視リーダ２０では、応答部２２８の要求受信部２２９が、要求を判定部２２５の編集部２２７へ送信する（図２５中のＳ４１）。編集部２２７は、要求を受信すると、通知情報ＤＢ２４から、汎用マネージャ１５０へ未送信の通知情報を取得する（図２５中のＳ２４２）。ここでは、通知情報ＤＢ２４に未送信の通知情報が存在しないものとする。したがって、通知情報は取得されず、編集部２２７は、拡張部に通知情報を格納していない拡張ＭＩＢデータを応答部２２８の応答送信部２３０へ送信する（図２５中のＳ２４３）。応答送信部２３０は、拡張部に通知情報を格納していない拡張ＭＩＢデータを、汎用マネージャ１５０からの要求に対する応答として、汎用マネージャ１５０へ送信する（図２５中のＳ２４４）。
【０１０６】
汎用マネージャ１５０では、収集部１５４が、拡張ＭＩＢデータを受信すると、受信した拡張ＭＩＢデータを抽出部２４１へ受け渡す（図２５中のＳ６５）。しかし、拡張ＭＩＢデータの拡張部には通知情報は格納されていないため、抽出部４１により抽出される通知情報はなく、判定部１５６への通知情報の入力も行われない。
【０１０７】
一方、各ソフトウェア１１４に組み込まれた監視ライブラリ１０の通知情報送信部１３から、通知情報が送信される（図２５中のＳ４５）。監視リーダ２０では、蓄積部２２１の通知情報受信部２２２が、監視ライブラリ１０から送信された通知情報を受信した順序で、通知情報ＤＢ２４に格納する（図２５中のＳ２５５）。
【０１０８】
そして、通知情報ＤＢ２４に通知情報が蓄積されている状態で、汎用マネージャ１５０から通知情報が要求されるとする（図２５中のＳ５６）。監視リーダ２０では、応答部２２８の要求受信部２２９が、汎用マネージャ１５０からの要求を受信し、受信した要求を判定部２２５の編集部２２７へ送信する（図２５中のＳ５７）。編集部２２７は、要求を受信すると、通知情報ＤＢ２４から、汎用マネージャ１５０へ未送信の通知情報を取得する（図２５中のＳ２５８、Ｓ５９）。そして、編集部２２７は拡張ＭＩＢデータの拡張部に、取得した通知情報を格納する編集処理を実行する（図２５中のＳ６０）。
【０１０９】
そして、編集部２２７が、通知情報を格納した拡張ＭＩＢデータを、応答部２２８の応答送信部２３０へ受け渡す（図２５中のＳ６１）。そして、応答送信部２３０が、拡張ＭＩＢデータを、汎用マネージャ１５０からの要求に対する応答として送信する（図２５中のＳ６２）。
【０１１０】
汎用マネージャ１５０では、収集部１５４が、拡張ＭＩＢデータを受信すると、受信した拡張ＭＩＢデータを抽出部２４１へ受け渡す（図２５中のＳ６３）。抽出部２４１は、拡張ＭＩＢデータの拡張部から通知情報を抽出し、抽出した通知情報を入替部４２へ受け渡す。そして、入替部４２が、受け渡された通知情報の順序を入れ替える通知情報入替処理を実行する（図２５中のＳ２５０）。通知情報入替処理は、第１実施形態において、蓄積部２１により実行される通知情報蓄積処理（図２０）のステップＳ５３と同様の処理である。そして、入替部４２は、入れ替えた順序で、各通知情報を判定部１５６へ入力する（図２５中のＳ２６４）。
【０１１１】
以上説明したように、第２実施形態に係る情報処理システム２００によれば、第１実施形態に係る情報処理システム１００と同様の効果を奏することができる。すなわち、汎用マネージャの汎用性を保持しつつ、各ソフトウェアの個別情報を、適切なタイミングで収集して、ソフトウェア特性に応じた監視制御を行うことができる。
【０１１２】
なお、上記第１及び第２実施形態では、同一の仮想基盤上で動作する全てのソフトウェアに組み込まれた監視ライブラリからの通知を、１つの監視リーダで収集する場合について説明したが、これに限定されない。例えば、図２６に示すように、ソフトウェア１１４を種類毎に分類し、種類毎に１つの監視リーダ２０を設けるようにしてもよい。また、図２７に示すように、ソフトウェア１１４の提供範囲毎（例えば、テナント毎）にソフトウェア１１４を分類し、提供先毎に１つの監視リーダ２０を設けるようにしてもよい。
【０１１３】
また、上記第１及び第２実施形態では、開示の技術を、ＮＦＶ型システムに適用する場合について説明したが、これに限定されない。開示の技術は、同一の仮想基盤上で動作する複数のソフトウェアの情報に基づいて、汎用サーバにより監視制御を行うシステムに対して適用可能である。
【０１１４】
また、上記第１及び第２実施形態では、監視ライブラリにおいて、異常等の事象が発生したことを判定し、その事象に応じたアクションを示すイベントを生成する場合について説明したが、これに限定されない。例えば、監視ライブラリからは、ロジックテンプレートを用いて判定された判定結果のみを通知情報として通知し、汎用マネージャのオーケストレータの判定部で、その通知情報を用いて、いずれのアクション定義に該当するか否かを判定するようにしてもよい。
【０１１５】
また、第１及び第２実施形態においても、図４を参照して説明したＮＦＶ型システムと同様に、汎用マネージャにＥＭＳ／ＯＳＳを含めてもよい。この場合、オーケストレータにおいて、ＥＭＳ／ＯＳＳで収集した情報と、監視リーダへのポーリングで収集した情報とを統合して、アクションの実行を判定するようにしてもよい。
【０１１６】
なお、上記実施形態では、各プログラムが記憶部５３又は８３に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記録媒体に記録された形態で提供することも可能である。
【０１１７】
以上の各実施形態に関し、更に以下の付記を開示する。
【０１１８】
（付記１）
コンピュータに、
同一の仮想基盤上で動作する複数のソフトウェアの各々から、該ソフトウェアの各々の状態を示す通知情報を通知し、
前記同一の仮想基盤上で、前記ソフトウェアの各々から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する
ことを含む処理を実行させる監視方法。
【０１１９】
（付記２）
前記通知情報は、前記ソフトウェアで実行される処理毎に予め定義した事象が発生した際に、該事象に応じた動作の実行を前記監視装置に指示する情報である付記１記載の監視方法。
【０１２０】
（付記３）
前記通知情報を通知する際、前記事象の発生を判定する条件を定義するための予め用意された複数種類のロジックテンプレートのうち、少なくとも１つの前記ロジックテンプレートにより定義された条件に基づいて前記事象が発生したと判定した場合に、前記動作を示す予め用意された複数種類のシナリオテンプレートから、発生した事象に対して予め定められたシナリオテンプレートを選択し、該シナリオテンプレートを前記通知情報とする付記２記載の監視方法。
【０１２１】
（付記４）
前記ロジックテンプレート及び前記シナリオテンプレートは、ユーザにより作成又は編集が可能なテンプレートである付記３記載の監視方法。
【０１２２】
（付記５）
前記通知情報を通知する際、前記ソフトウェアの実行環境の情報を取得し、前記通知情報に付与する付記１〜付記４のいずれか１項記載の監視方法。
【０１２３】
（付記６）
前記監視装置からの要求があるまで、通知された通知情報を蓄積部に蓄積する付記１〜付記５のいずれか１項記載の監視方法。
【０１２４】
（付記７）
前記通知情報を蓄積する際、通知された順序で、前記通知情報を前記蓄積部に蓄積し、蓄積した順序で前記通知情報を前記監視装置に送信する付記６記載の監視方法。
【０１２５】
（付記８）
前記通知情報を蓄積する際、前記通知情報が示すソフトウェアの状態に基づいて、前記蓄積部に蓄積する前記通知情報の順序を入れ替える付記６記載の監視方法。
【０１２６】
（付記９）
前記監視装置へ送信する通知情報は、前記蓄積部に蓄積された通知情報のうち、前記監視装置へ未送信の通知情報である付記６〜付記８のいずれか１項記載の監視方法。
【０１２７】
（付記１０）
前記通知情報を送信する際、前記監視装置へ情報を送信する際の汎用的な形式の拡張部分に、前記通知情報を含める付記１〜付記９のいずれか１項記載の監視方法。
【０１２８】
（付記１１）
同一の仮想基盤上で動作する複数のソフトウェアの各々を監視する監視装置に、
前記複数のソフトウェアの各々の状態を示す通知情報を通知する通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する
ことを含む処理を実行させる監視方法。
【０１２９】
（付記１２）
前記通知情報を前記判定部へ入力する際、前記応答から抽出した通知情報の各々を、該通知情報が前記通知部から前記送信部へ通知された順序で、前記判定部へ入力する付記１１記載の監視方法。
【０１３０】
（付記１３）
前記通知情報を前記判定部へ入力する際、前記応答から抽出した通知情報の各々を、前記通知情報が示すソフトウェアの状態に基づいて入れ替えた順序で、前記判定部へ入力する付記１１記載の監視方法。
【０１３１】
（付記１４）
監視対象装置に、
同一の仮想基盤上で動作する複数のソフトウェアの各々の状態を示す通知情報を通知し、
通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する
ことを含む処理を実行させ、
前記監視装置に、
前記監視対象装置から送信された応答に含まれる通知情報を抽出し、
抽出した通知情報に基づいて、前記ソフトウェアの状態に応じて実行する動作を判定する
ことを含む処理を実行させる監視方法。
【０１３２】
（付記１５）
同一の仮想基盤上で動作する複数のソフトウェアの各々の状態を示す通知情報を通知する通知部と、
前記通知部から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部と、
を含む監視対象装置。
【０１３３】
（付記１６）
前記通知部は、前記ソフトウェアで実行される処理毎に予め定義した事象が発生した際に、該事象に応じた動作の実行を前記監視装置に指示する情報を、前記通知情報として通知する付記１５記載の監視対象装置。
【０１３４】
（付記１７）
前記通知部は、前記事象の発生を判定する条件を定義するための予め用意された複数種類のロジックテンプレートのうち、少なくとも１つの前記ロジックテンプレートにより定義された条件に基づいて前記事象が発生したと判定した場合に、前記動作を示す予め用意された複数種類のシナリオテンプレートから、発生した事象に対して予め定められたシナリオテンプレートを選択し、該シナリオテンプレートを前記通知情報とする付記１６記載の監視対象装置。
【０１３５】
（付記１８）
前記ロジックテンプレート及び前記シナリオテンプレートは、ユーザにより作成又は編集が可能なテンプレートである付記１７記載の監視対象装置。
【０１３６】
（付記１９）
前記通知部は、前記ソフトウェアの実行環境の情報を取得し、前記通知情報に付与する付記１５〜付記１８のいずれか１項記載の監視対象装置。
【０１３７】
（付記２０）
前記送信部は、前記監視装置からの要求があるまで、前記通知部から通知された通知情報を蓄積部に蓄積する付記１５〜付記１９のいずれか１項記載の監視対象装置。
【０１３８】
（付記２１）
前記送信部は、前記通知部から通知された順序で、前記通知情報を前記蓄積部に蓄積し、蓄積した順序で前記通知情報を前記監視装置に送信する付記２０記載の監視対象装置。
【０１３９】
（付記２２）
前記送信部は、前記通知情報が示すソフトウェアの状態に基づいて、前記蓄積部に蓄積する前記通知情報の順序を入れ替える付記２０記載の監視対象装置。
【０１４０】
（付記２３）
前記送信部は、前記蓄積部に蓄積された通知情報のうち、前記監視装置へ未送信の通知情報を、前記監視装置へ送信する付記２０〜付記２２のいずれか１項記載の監視対象装置。
【０１４１】
（付記２４）
前記送信部は、前記監視装置へ情報を送信する際の汎用的な形式の拡張部分に、前記通知情報を含める付記１５〜付記２３のいずれか１項記載の監視対象装置。
【０１４２】
（付記２５）
前記送信部を、前記複数のソフトウェアに対して１つ設ける付記１５〜付記２４のいずれか１項記載の監視対象装置。
【０１４３】
（付記２６）
前記送信部を、前記ソフトウェアの種類毎、又は前記ソフトウェアが提供される提供先毎に設ける付記１５〜付記２４のいずれか１項記載の監視対象装置。
【０１４４】
（付記２７）
同一の仮想基盤上で動作する複数のソフトウェアの各々を監視する監視装置であって、
前記複数のソフトウェアの各々の状態を示す通知情報を通知する通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する抽出部
を含む監視装置。
【０１４５】
（付記２８）
前記抽出部は、前記応答から抽出した通知情報の各々を、該通知情報が前記通知部から前記送信部へ通知された順序で、前記判定部へ入力する付記２７記載の監視装置。
【０１４６】
（付記２９）
前記抽出部は、前記応答から抽出した通知情報の各々を、前記通知情報が示すソフトウェアの状態に基づいて入れ替えた順序で、前記判定部へ入力する付記２７記載の監視装置。
【０１４７】
（付記３０）
同一の仮想基盤上で動作する複数のソフトウェアの各々の状態を示す通知情報を通知し通知部と、
前記通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部と、
前記送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する抽出部を含む監視装置と、
を含む情報処理システム。
【０１４８】
（付記３１）
コンピュータに、
同一の仮想基盤上で動作する複数のソフトウェアの各々から、該ソフトウェアの各々の状態を示す通知情報を通知し、
前記同一の仮想基盤上で、前記ソフトウェアの各々から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する
ことを含む処理を実行させる監視対象プログラム。
【０１４９】
（付記３２）
前記通知情報は、前記ソフトウェアで実行される処理毎に予め定義した事象が発生した際に、該事象に応じた動作の実行を前記監視装置に指示する情報である付記３１記載の監視対象プログラム。
【０１５０】
（付記３３）
前記通知情報を通知する際、前記事象の発生を判定する条件を定義するための予め用意された複数種類のロジックテンプレートのうち、少なくとも１つの前記ロジックテンプレートにより定義された条件に基づいて前記事象が発生したと判定した場合に、前記動作を示す予め用意された複数種類のシナリオテンプレートから、発生した事象に対して予め定められたシナリオテンプレートを選択し、該シナリオテンプレートを前記通知情報とする付記３２記載の監視対象プログラム。
【０１５１】
（付記３４）
前記ロジックテンプレート及び前記シナリオテンプレートは、ユーザにより作成又は編集が可能なテンプレートである付記３３記載の監視対象プログラム。
【０１５２】
（付記３５）
前記通知情報を通知する際、前記ソフトウェアの実行環境の情報を取得し、前記通知情報に付与する付記３１〜付記３４のいずれか１項記載の監視対象プログラム。
【０１５３】
（付記３６）
前記監視装置からの要求があるまで、通知された通知情報を蓄積部に蓄積する付記３１〜付記３５のいずれか１項記載の監視対象プログラム。
【０１５４】
（付記３７）
前記通知情報を蓄積する際、通知された順序で、前記通知情報を前記蓄積部に蓄積し、蓄積した順序で前記通知情報を前記監視装置に送信する付記３６記載の監視対象プログラム。
【０１５５】
（付記３８）
前記通知情報を蓄積する際、前記通知情報が示すソフトウェアの状態に基づいて、前記蓄積部に蓄積する前記通知情報の順序を入れ替える付記３６記載の監視対象プログラム。
【０１５６】
（付記３９）
前記監視装置へ送信する通知情報は、前記蓄積部に蓄積された通知情報のうち、前記監視装置へ未送信の通知情報である付記３６〜付記３８のいずれか１項記載の監視対象プログラム。
【０１５７】
（付記４０）
前記通知情報を送信する際、前記監視装置へ情報を送信する際の汎用的な形式の拡張部分に、前記通知情報を含める付記３１〜付記３９のいずれか１項記載の監視対象プログラム。
【０１５８】
（付記４１）
同一の仮想基盤上で動作する複数のソフトウェアの各々を監視する監視装置に、
前記複数のソフトウェアの各々の状態を示す通知情報を通知する通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する
ことを含む処理を実行させる監視プログラム。
【０１５９】
（付記４２）
前記通知情報を前記判定部へ入力する際、前記応答から抽出した通知情報の各々を、該通知情報が前記通知部から前記送信部へ通知された順序で、前記判定部へ入力する付記４１記載の監視プログラム。
【０１６０】
（付記４３）
前記通知情報を前記判定部へ入力する際、前記応答から抽出した通知情報の各々を、前記通知情報が示すソフトウェアの状態に基づいて入れ替えた順序で、前記判定部へ入力する付記４１記載の監視プログラム。
【０１６１】
（付記４４）
コンピュータに、
同一の仮想基盤上で動作する複数のソフトウェアの各々から、該ソフトウェアの各々の状態を示す通知情報を通知し、
前記同一の仮想基盤上で、前記ソフトウェアの各々から通知された通知情報を収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する
ことを含む処理を実行させる監視対象プログラムを記憶した記憶媒体。
【０１６２】
（付記４５）
同一の仮想基盤上で動作する複数のソフトウェアの各々を監視する監視装置に、
前記複数のソフトウェアの各々の状態を示す通知情報を通知する通知部から通知された通知情報を前記同一の仮想基盤上で収集し、収集した通知情報を、前記複数のソフトウェアの各々を監視する監視装置からの周期的な要求に対する応答として、前記監視装置に送信する送信部から送信された応答に含まれる通知情報を抽出し、抽出した通知情報を、前記ソフトウェアの状態に応じて実行する動作を判定するための判定部へ入力する
ことを含む処理を実行させる監視プログラムを記憶した記憶媒体。
【符号の説明】
【０１６３】
１０   監視ライブラリ
１１   イベント生成部
１２   実行環境情報収集部
１３   通知情報送信部
１５   テンプレート記憶部
１６   ロジックテンプレート
１７   シナリオテンプレート
１８   制御コマンドテンプレート
２０、２２０  監視リーダ
２１、２２１  蓄積部
２２、２２２  通知情報受信部
２３   分析部
２４   通知情報データベース
２５、２２５  判定部
２６   通知情報判定部
２７、２２７  編集部
２８、２２８  応答部
２９、２２９  要求受信部
３０、２３０  応答送信部
４０、２４０  連携エージェント
４１、２４１  抽出部
４２   入替部
５０、８０    コンピュータ
５１、８１    ＣＰＵ
５２、８２    メモリ
５３、８３    記憶部
５９、８９    記録媒体
６０   監視ライブラリプログラム
７０、２７０  監視リーダプログラム
９０、２９０  連携エージェントプログラム
１００、２００       情報処理システム
１１０ 情報処理装置
１１２ 仮想マシン
１１４ ソフトウェア
１５０ 汎用マネージャ
【図１】
2017068512.tif 000003
【図６】
2017068512.tif 000004
【図８】
2017068512.tif 000005
【図９】
2017068512.tif 000006
【図１０】
2017068512.tif 000007
【図１１】
2017068512.tif 000008
【図１２】
2017068512.tif 000009
【図１３】
2017068512.tif 000010
【図１４】
2017068512.tif 000011
【図１５】
2017068512.tif 000012
【図１７】
2017068512.tif 000013
【図１８】
2017068512.tif 000014
【図１９】
2017068512.tif 000015
【図２０】
2017068512.tif 000016
【図２１】
2017068512.tif 000017
【図２２】
2017068512.tif 000018
【図２３】
2017068512.tif 000019
【図２４】
2017068512.tif 000020
【図２５】
2017068512.tif 000021
【図２６】
2017068512.tif 000022
【図２７】
2017068512.tif 000023
【図２】
2017068512.tif 000024
【図３】
2017068512.tif 000025
【図４】
2017068512.tif 000026
【図５】
2017068512.tif 000027
【図７】
2017068512.tif 000028
【図１６】
2017068512.tif 000029