(57)【要約】【課題】管理対象マシンに導入されたエージェントが、マシン管理マネージャから送信される制御情報と他のエージェントの情報を用いて、自律的に管理対象マシンを管理することによって、マシン管理マネージャへの負荷と依存度を減らす。【解決手段】管理対象マシンの各々にエージェントを導入し、管理対象マシンの管理機能を各エージェントに委譲する。各エージェントは、他のエージェントと通信するためのアカウント情報とＩＰアドレスを受信し、保存する。また、マシン管理マネージャから、マシン情報に関する閾値とその閾値を超えた場合の制御動作に関する設定情報を受信し、その後は設定情報に従ってエージェントがマシンを監視、制御する。この動作によって、各エージェントはマシン管理マネージャによる制御命令を受信しなくても各マシンを制御することができる。【選択図】図１
2011191844.tif 000002
【特許請求の範囲】
【請求項１】
管理マシンと、
複数の管理対象マシンと
を含み、
前記管理マシンは、
前記複数の管理対象マシンの各々のアカウント情報を登録する手段と、
前記各管理対象マシン同士がお互いに監視、制御する単位となるグループを指定する手段と、
前記各管理対象マシンの監視情報に対する条件と、前記各管理対象マシンの監視情報が条件に適合した時に実行すべき制御の内容とを示す運用情報を登録する手段と、
前記各管理対象マシンに対して、管理対象マシン毎にエージェントを導入する手段と、
前記各エージェントに対して、同じグループ内の管理対象マシンのアカウント情報と前記運用情報とを送信する手段と
を具備し、
前記各エージェントは、
自分の管理対象マシンを監視する手段と、
同じグループ内の管理対象マシンのアカウント情報を基に、お互いに監視情報の交換を行う手段と、
自分の管理対象マシンの監視情報及び他の管理対象マシンの監視情報のいずれかが前記運用情報に示された条件に適合するか確認する手段と、
監視情報が条件に適合する管理対象マシンの制御を行う手段と、
管理対象マシンの制御終了後、制御終了の通知を前記管理マシンに送信する手段と
を具備する
自律型サーバ管理システム。
【請求項２】
請求項１に記載の自律型サーバ管理システムであって、
前記各エージェントは、
他の管理対象マシンから制御を依頼された場合、自分の管理対象マシンの監視情報が前記運用情報に示された条件に適合するか確認する手段と、
監視情報が条件に適合する場合、制御の依頼を受理する手段と
を更に具備する
自律型サーバ管理システム。
【請求項３】
請求項１又は２に記載の自律型サーバ管理システムであって、
前記各エージェントは、
一定期間毎に、他のエージェントに無作為に自分の管理対象マシンの監視情報を送信する手段と、
他のエージェントから無作為に送信された監視情報を受信する手段と、
自分の管理対象マシンが保持する送信元のエージェントの監視情報の更新時間を確認する手段と、
自分の管理対象マシンが保持する送信元のエージェントの監視情報よりも前記受信した監視情報のほうが新しい場合、前記受信した監視情報を基に、自分の管理対象マシンが保持する送信元のエージェントの監視情報を更新する手段と
を更に具備する
自律型サーバ管理システム。
【請求項４】
請求項１乃至３のいずれか一項に記載の自律型サーバ管理システムで、管理マシン及び管理対象マシンのうち少なくとも一方として使用される計算機。
【請求項５】
管理マシンに、複数の管理対象マシンの各々のアカウント情報を登録することと、
前記管理マシンに、前記各管理対象マシン同士がお互いに監視、制御する単位となるグループを指定することと、
前記管理マシンに、前記各管理対象マシンの監視情報に対する条件と、前記各管理対象マシンの監視情報が条件に適合した時に実行すべき制御の内容とを示す運用情報を登録することと、
前記管理マシンから、前記各管理対象マシンに対して、管理対象マシン毎にエージェントを導入することと、
前記管理マシンから、前記各エージェントに対して、同じグループ内の管理対象マシンのアカウント情報と前記運用情報とを送信することと、
前記各エージェントにより、自分の管理対象マシンを監視することと、
同じグループ内の管理対象マシンのアカウント情報を基に、前記各エージェント間で、お互いに監視情報の交換を行うことと、
前記各エージェントにより、自分の管理対象マシンの監視情報及び他の管理対象マシンの監視情報のいずれかが前記運用情報に示された条件に適合するか確認することと、
前記各エージェントにより、監視情報が条件に適合する管理対象マシンの制御を行うことと、
管理対象マシンの制御終了後、前記各エージェントから、制御終了の通知を前記管理マシンに送信することと
を含む
自律型サーバ管理方法。
【請求項６】
請求項５に記載の自律型サーバ管理方法であって、
他の管理対象マシンから制御を依頼された場合、前記各エージェントにより、自分の管理対象マシンの監視情報が前記運用情報に示された条件に適合するか確認することと、
監視情報が条件に適合する場合、制御の依頼を受理することと
を更に含む
自律型サーバ管理方法。
【請求項７】
請求項５又は６に記載の自律型サーバ管理方法であって、
前記各エージェントにより、一定期間毎に、他のエージェントに無作為に自分の管理対象マシンの監視情報を送信することと、
前記各エージェントにより、他のエージェントから無作為に送信された監視情報を受信することと、
前記各エージェントにより、自分の管理対象マシンが保持する送信元のエージェントの監視情報の更新時間を確認することと、
前記各エージェントにより、自分の管理対象マシンが保持する送信元のエージェントの監視情報よりも前記受信した監視情報のほうが新しい場合、前記受信した監視情報を基に、自分の管理対象マシンが保持する送信元のエージェントの監視情報を更新することと
を更に含む
自律型サーバ管理方法。
【請求項８】
請求項５乃至７のいずれか一項に記載の自律型サーバ管理方法における管理マシン上での処理を計算機に実行させるためのプログラム。
【請求項９】
請求項５乃至７のいずれか一項に記載の自律型サーバ管理方法における管理対象マシン上での処理を計算機に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自律型サーバ管理システムに関し、特にエージェントによる自律型サーバ管理システムに関する。
【背景技術】
【０００２】
従来のサーバ管理システムでは、１つのマシン管理マネージャで複数の管理対象マシンを管理している。
【０００３】
例えば、特許文献１（特開２００９−１７１４７６号公報）では、全ての管理対象マシンと通信するのではなく、管理対象マシンを集約する代表マシンを決定し、「マシン管理マネージャ―管理対象マシン―管理対象マシン」というように階層構造を取って管理している。
【０００４】
しかしながら、この手法では、マシン管理マネージャが受け取る情報の量は変わらないため、管理対象マシンが多くなるほど情報負荷は高くなる。また、マシン管理マネージャが通知を受けて各管理対象マシンに制御命令を投げなければならないため、マシン管理マネージャがダウンしていた場合に、期待している制御ができなくなってしまう。
【０００５】
また、特許文献２（特開平７−６１４２号公報）は、エージェントを使用した分散型制御を扱ったものであるが、要求と指示に従う評価とプランニング、負荷に関する評価をエージェントに依頼しているものの、最終決定はマネージャのほうで行うため、マネージャの負荷は依然としてある点と、マネージャなしでは、動作しない点が問題である。
【０００６】
また、特許文献３（特開平１０−１６４０６３号公報）では、エージェントは監視制御局内を回遊するものであるため、他の監視制御局内へデータを送信する時間はエージェントが回遊してきたタイミングに依存する。また、管理対象のマシンの台数が多くなるほど全てのマシンに情報が行き渡るのが遅くなる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１７１４７６号公報
【特許文献２】特開平７−６１４２号公報
【特許文献３】特開平１０−１６４０６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の目的は、管理対象マシンに導入されたエージェントが、マシン管理マネージャから送信される制御情報と他のエージェントの情報を用いて、自律的に管理対象マシンを管理する自律型サーバ管理システムを提供することである。
【課題を解決するための手段】
【０００９】
本発明の自律型サーバ管理システムは、管理マシンと、複数の管理対象マシンとを含む。管理マシンは、複数の管理対象マシンの各々のアカウント情報を登録する手段と、各管理対象マシン同士がお互いに監視、制御する単位となるグループを指定する手段と、各管理対象マシンの監視情報に対する条件と、各管理対象マシンの監視情報が条件に適合した時に実行すべき制御の内容とを示す運用情報を登録する手段と、各管理対象マシンに対して、管理対象マシン毎にエージェントを導入する手段と、各エージェントに対して、同じグループ内の管理対象マシンのアカウント情報と運用情報とを送信する手段とを具備する。また、各エージェントは、自分の管理対象マシンを監視する手段と、同じグループ内の管理対象マシンのアカウント情報を基に、お互いに監視情報の交換を行う手段と、自分の管理対象マシンの監視情報及び他の管理対象マシンの監視情報のいずれかが運用情報に示された条件に適合するか確認する手段と、監視情報が条件に適合する管理対象マシンの制御を行う手段と、管理対象マシンの制御終了後、制御終了の通知を管理マシンに送信する手段とを具備する。
【００１０】
本発明の自律型サーバ管理方法では、管理マシンに、複数の管理対象マシンの各々のアカウント情報を登録する。また、管理マシンに、各管理対象マシン同士がお互いに監視、制御する単位となるグループを指定する。また、管理マシンに、各管理対象マシンの監視情報に対する条件と、各管理対象マシンの監視情報が条件に適合した時に実行すべき制御の内容とを示す運用情報を登録する。また、管理マシンから、各管理対象マシンに対して、管理対象マシン毎にエージェントを導入することと、管理マシンから、各エージェントに対して、同じグループ内の管理対象マシンのアカウント情報と運用情報とを送信する。また、各エージェントにより、自分の管理対象マシンを監視する。また、同じグループ内の管理対象マシンのアカウント情報を基に、各エージェント間で、お互いに監視情報の交換を行う。また、各エージェントにより、自分の管理対象マシンの監視情報及び他の管理対象マシンの監視情報のいずれかが運用情報に示された条件に適合するか確認する。また、各エージェントにより、監視情報が条件に適合する管理対象マシンの制御を行う。また、管理対象マシンの制御終了後、各エージェントから、制御終了の通知を管理マシンに送信する。
【００１１】
本発明のプログラムは、上記の自律型サーバ管理方法における管理マシン上での処理及び管理対象マシン上での処理のうち、少なくとも一方の処理を計算機に実行させるためのプログラムである。なお、本発明のプログラムは、記憶装置や記憶媒体に格納することが可能である。
【発明の効果】
【００１２】
管理対象マシンに導入されたエージェントはマシン管理マネージャによる制御命令を受信しなくても管理対象マシンを制御することができるようになる。これにより、マシン管理マネージャへの負荷と依存度を減らすことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の自律型サーバ管理システムの構成例を示すためのブロック図である。
【図２】本発明の管理マネージャの初期処理を説明するためのシーケンス図である。
【図３】本発明のエージェント監視情報テーブルの例を説明するための図である。
【図４】本発明のエージェントの情報交換処理を説明するための図である。
【図５】本発明のエージェントの制御処理を説明するための図である。
【発明を実施するための形態】
【００１４】
以下に、本発明の実施形態について添付図面を参照して説明する。
図１に示すように、本実施形態では、自律型サーバ管理システムは、管理マシン１０と、管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ：ｎは台数）を備える。
【００１５】
管理マシン１０は、記憶装置１１と、管理マネージャ１２を備える。
【００１６】
管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ）は、記憶装置２１（２１−ｉ、ｉ＝１〜ｎ）と、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）を備える。
【００１７】
ここでは、管理マシン１０、及び管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ）の例として、ＰＣ（パソコン）、シンクライアント端末／サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。他にも、携帯電話機、カーナビ（カーナビゲーションシステム）、携帯ゲーム機、家庭用ゲーム機、ガジェット（電子機器）、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電（ｉｎｆｏｒｍａｔｉｏｎ  ｈｏｍｅ  ａｐｐｌｉａｎｃｅ）、ＯＡ（Ｏｆｆｉｃｅ  Ａｕｔｏｍａｔｉｏｎ）機器等が考えられる。なお、管理マシン１０、及び管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ）は、端末やサーバに限らず、中継機器や周辺機器、拡張ボードでも良い。更に、管理マシン１０、及び管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ）は、物理マシン上で動作する仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＶＭ））でも良い。但し、実際には、これらの例に限定されない。
【００１８】
記憶装置１１、及び記憶装置２１（２１−ｉ、ｉ＝１〜ｎ）の例として、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ等の半導体記憶装置、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の補助記憶装置、又は、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）やＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等のリムーバブルディスクや記憶媒体（メディア）等が考えられる。また、記憶装置１１、及び記憶装置２１（２１−ｉ、ｉ＝１〜ｎ）は、計算機本体に内蔵された記憶装置に限らず、周辺機器（外付けＨＤＤ等）や外部のサーバ（Ｗｅｂサーバやファイルサーバ等）に設置された記憶装置、或いは、ＤＡＳ（Ｄｉｒｅｃｔ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＦＣ−ＳＡＮ（Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、ＩＰ−ＳＡＮ（ＩＰ  −  Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）でも良い。但し、実際には、これらの例に限定されない。
【００１９】
管理マネージャ１２、及びエージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、プログラムで駆動される処理装置等のハードウェアと、そのハードウェアを駆動して所望の処理を実行するソフトウェアによって実現される。上記のハードウェアの例として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、マイクロプロセッサ（ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ（ＩＣ））等が考えられる。但し、実際には、これらの例に限定されない。
【００２０】
［本実施形態の動作］
次に、図１、図２、図３、図４、図５を参照して、本実施形態の動作について詳細に説明する。
【００２１】
ここでは、記憶装置１１、及び記憶装置２１（２１−ｉ、ｉ＝１〜ｎ）は、主記憶装置である。また、管理マネージャ１２は、管理マシンのＯＳ上で動作する。エージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、それぞれ管理対象マシンのＯＳ上で動作する。
【００２２】
［管理マネージャの初期処理］
図２を参照して、管理マネージャの初期処理について説明する。
【００２３】
（１）ステップＳ１０１
ユーザー（利用者）は、管理マシン１０にインストールされている管理マネージャ１２に、管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ）のアカウント情報を登録する。すなわち、管理マシン１０は、ユーザーからの指示・設定に応じて、インストールされている管理マネージャ１２に対して、管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ）のアカウント情報を登録する。ここでいうアカウント情報とは、ＩＰアドレス、ユーザー名、パスワード等の管理対象マシンにアクセス、制御するために必要となる情報を指す。
【００２４】
（２）ステップＳ１０２
また、ユーザーは、管理マネージャ１２に、管理対象マシンを複数台指定して、グループを指定し、運用情報を登録する。グループとは、管理対象マシン同士がお互いに監視、制御する単位とする。監視の際には、ＣＰＵ使用率、メモリ使用率、ディスク使用率、ネットワーク負荷等の監視情報を交換する。制御の際には、電源のＯｎ／Ｏｆｆ、仮想マシンのマイグレーション等の処理を行う。運用情報は、監視情報に対する閾値等の条件と、条件適合時に実行する制御の内容を対応付けた設定情報である。すなわち、運用情報は、監視情報が条件に適合した時にどんな制御を実行するかを示す設定情報である。
【００２５】
（３）ステップＳ１０３
管理マネージャ１２は、登録されたアカウント情報と、指定されたグループに基づいて、管理対象マシンにエージェントを導入する。導入の際には、新規のエージェントのインストールや組込み、又は既存のエージェントの起動を行う。ここでは、管理マネージャ１２は、ユーザーによる管理対象マシンのアカウント登録と、グループ指定が終了したら、グループ指定された管理対象マシン２０（２０−ｉ、ｉ＝１〜ｎ）に、それぞれエージェント２２（２２−ｉ、ｉ＝１〜ｎ）をインストールする。なお、実際には、管理マネージャ１２は、アカウント登録後、直ちに管理対象マシンにエージェントを導入し、その後、グループ指定を受け付け、グループ指定された管理対象マシンのエージェントに必要な情報を送信するようにしても良い。
【００２６】
（４）ステップＳ１０４
管理マネージャ１２は、各エージェントに、グループ内の他エージェント情報、運用情報を登録する。ここでは、管理マネージャ１２は、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）のインストール終了後、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）に対して、同じグループ内の管理対象マシンのアカウント情報と運用情報を送信する。
【００２７】
（５）ステップＳ１０５
エージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、自分の管理対象マシンを監視しながら、受信した管理対象マシンの情報を基に、お互いに情報の交換を開始する。また、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、自分の管理対象マシンの監視情報及び他の管理対象マシンの監視情報の各々と、運用情報に設定された条件とを比較し、いずれかの管理対象マシンの監視情報が条件に適合するか確認し、監視情報が条件に適合した管理対象マシンの制御を開始する。
【００２８】
このとき、管理マネージャ１２は、複数のエージェントが同時に同一のマシンを制御することがないように、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）の各々の動作をチェックし、重複制御を回避する。或いは、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、特定の管理対象マシンの制御を開始した時に、その管理対象マシンを制御中である旨を示す制御フラグを立て、制御を終了した時に、その制御フラグを破棄するようにしても良い。この場合、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、管理対象マシンを制御する前に、その管理対象マシン上で制御フラグが立てられているか確認する。制御フラグが立てられている場合は、既に制御が行われていると判断し、その管理対象マシンへの制御を開始しない。制御フラグが立てられている場合は、その管理対象マシンへの制御を開始する。
【００２９】
運用情報の例について説明する。運用情報は、監視情報の条件と制御内容の対応関係を表す設定情報である。例えば、運用情報は、監視情報の条件と制御内容のペアをリスト化したテーブルである。監視情報の条件の例としては、「ＣＰＵ使用率が所定の閾値以上／以下」、「メモリ／ディスク使用率が所定の閾値以上／以下」、「ネットワーク負荷が所定の閾値以上／以下」、「仮想マシンの稼働台数が所定の閾値以上／以下」等が考えられる。また、制御内容の例としては、「仮想マシンの稼動／移動」、「電源のＯＮ／ＯＦＦ」、「電子メール等による通知」等が考えられる。
【００３０】
例えば、運用情報に設定された条件が「ＣＰＵ使用率が８０％以上」で、制御内容が「仮想マシンをＣＰＵ使用率が２０％以下のマシンに移動する」であるとする。エージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、自分の管理対象マシンのＣＰＵ使用率が８０％以上である場合、他の管理対象マシンから受け取った監視情報を参照し、ＣＰＵ使用率が２０％以下の管理対象マシンを見つけ出し、自分の管理対象マシンからその管理対象マシンへの仮想マシンの移動処理を開始する。
【００３１】
以上のような条件と制御内容の組合せで、例えば次のような運用情報が設定できる。
（１）「ＣＰＵ使用率が８０％以上の場合、仮想マシンをＣＰＵ使用率が２０％以下のマシンに移動する」（負荷の平準化）
（２）「仮想マシンの稼働台数が０台の場合、マシンの電源をＯＦＦにする」（省電力）
（３）「ディスク使用率が９０％以上の場合、電子メールにより通知する」（使用量に対する警告）
【００３２】
なお、ここでは、監視情報が条件に適合する場合に制御を開始する事例について説明しているが、反対に、監視情報が条件に適合しない場合に制御を開始するようにすることも可能である。例えば、監視情報が常に所定の条件を満たしているか監視する事例が考えられる。これらは、監視情報の条件として運用情報に閾値を設定した際に、監視情報が閾値を超えた場合に条件に適合したと判断するか、監視情報が閾値を超えない場合に条件に適合したと判断するかの違いに過ぎない。
【００３３】
［エージェント監視情報テーブル］
図３を参照して、エージェント監視情報テーブルについて説明する。
【００３４】
エージェント２２（２２−ｉ、ｉ＝１〜ｎ）は、同一グループのエージェント毎の監視情報についてのテーブルを保持している。このテーブルを、エージェント監視情報テーブルと呼ぶ。図３に示すように、エージェント監視情報テーブルは、エントリ毎に、エージェントの識別情報を示すエージェントＩＤと、監視の結果を示す監視情報と、その監視情報がいつ更新されたのかを示す更新情報を持つ。
【００３５】
［エージェントの情報交換処理］
図４を参照して、エージェントの情報交換処理について説明する。
【００３６】
ここでは、説明の簡略化のため、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）のうち、説明に使用する３台を、エージェント１、エージェント２、エージェント３と表記する。
【００３７】
（１）ステップＳ２０１
エージェント１は、一定期間毎に、エージェント監視情報テーブル内の自分のエントリの監視情報の項目を更新する。
【００３８】
（２）ステップＳ２０２
その後、エージェント１は、更新されたエントリを他のエージェントの数台にランダム（無作為）に送信する。ここでは、エージェント２及びエージェント３に送信する。このとき、エージェント１は、他のエージェントにエージェント監視情報テーブル自体を送信するようにしても良い。
【００３９】
（３）ステップＳ２０３
エージェント２及びエージェント３は、更新されたエントリを受信すると、更新されたエントリと自分のエージェント監視情報テーブル内の同一エントリの更新情報の項目（更新日時）を比較する。エージェント２及びエージェント３は、自分のエージェント監視情報テーブルのエントリより新しい情報が更新されたエントリに入っていれば、更新されたエントリに基づいて自分のエージェント監視情報テーブルのエントリを更新する。
【００４０】
この処理を各エージェントが定期的に行うことで、全てのエージェントは、ある程度、他のエージェントの監視情報を保つことができる。
【００４１】
管理マネージャ１２は、管理対象マシンの監視情報を参照したい時、数台のエージェントにアクセスしてエージェント監視情報テーブルを集め、各項目の最新の情報を使用する。
【００４２】
［エージェントの制御処理］
図５を参照して、エージェントの制御処理について説明する。
【００４３】
ここでは、説明の簡略化のため、エージェント２２（２２−ｉ、ｉ＝１〜ｎ）のうち、説明に使用する２台を、エージェント１、エージェント２と表記する。
【００４４】
（１）ステップＳ３０１
エージェント１は、監視情報と、運用情報に設定された条件とを比較する。このとき、エージェント１は、自分の管理対象マシンに限らず他の管理対象マシンも含めた全ての管理対象マシンの監視情報と、運用情報に設定された条件とを比較する。
【００４５】
（２）ステップＳ３０２
エージェント１は、いずれかの監視情報が条件に適合する時は、監視情報が条件に適合した管理対象マシンに対して、運用情報に設定された制御を開始する。監視情報がいずれも条件に適合しない時は、処理を終了する。ここでは、エージェント１は、自分の管理対象マシンに対する制御を開始する。
【００４６】
（３）ステップＳ３０３
エージェント１は、制御開始時には、管理マネージャ１２に制御開始の通知を送信し、他のエージェントとの連携が必要な時には、他のエージェントに対してアクセスし、制御の依頼を行う。なお、他のエージェントとの連携が必要でない時には、運用情報に設定された制御を実行し、ステップＳ３０６に進む。ここでは、エージェント２との連携が必要な事例について説明する。
【００４７】
（４）ステップＳ３０４
エージェント２は、制御の依頼を受けると、自分の管理対象マシンの監視情報を参照して、制御の依頼の受理／拒否を決定する。ここでは、エージェント２は、自分の管理対象マシンの監視情報と、運用情報に設定された条件とを比較し、自分の管理対象マシンの監視情報が条件に適合するか確認する。このとき、運用情報には、他の管理対象マシンから制御の依頼を受けた場合に確認すべき「条件」と「制御内容」を設定しておくようにしても良い。エージェント２は、自分の管理対象マシンの監視情報が条件に適合すれば、制御の依頼の受理を決定する。また、自分の管理対象マシンの監視情報が条件に適合しなければ、制御の依頼の拒否を決定する。エージェント２は、制御の依頼の拒否を決定した場合、依頼元のエージェントに、自分以外の他のエージェントに制御の依頼を行う旨の通知を送信する。
【００４８】
（５）ステップＳ３０５
エージェント２は、制御の依頼の受理を決定し、エージェント同士での合意が取れたら、エージェント１と連携して、或いは単独で、設定された制御を開始する。ここでは、エージェント２は、エージェント１と連携して、或いは単独で、エージェント１が導入された管理対象マシンに対する制御を開始する。なお、実際には、エージェント２は、エージェント１やエージェント２が導入されていない管理対象マシンに対する制御を開始しても良い。例えば、エージェント３が導入された管理対象マシンに対する制御を行う際に、エージェント１側に既に大きな負荷がかかっていて余力が無い場合や、エージェント１よりもエージェント２のほうが当該管理対象マシンに近いため制御に適している場合が考えられる。このような場合、エージェント１は、エージェント２と連携して、或いはエージェント２に指示／依頼して、エージェント３が導入された管理対象マシンに対する制御を開始する。エージェント２は、エージェント１と連携して、或いは単独で、エージェント３が導入された管理対象マシンに対する制御を開始する。
【００４９】
（６）ステップＳ３０６
エージェント１は、設定された制御の終了後、制御終了の通知を管理マネージャ１２に送信する。その後、処理を終了する。
【００５０】
以上の処理をもって、管理マネージャ１２は管理対象マシンを管理する。
【００５１】
＜本実施形態の要点＞
以上のように、本実施形態では、管理対象マシンに導入されたエージェントが、マシン管理マネージャから送信される制御情報と他のエージェントの情報を用いて、自律的に管理対象マシンを管理することによって、マシン管理マネージャへの負荷と依存度を減らす。
【００５２】
本実施形態では、管理対象マシンにエージェントを導入し、管理対象マシンの管理機能をエージェントに委譲する。ここでの管理機能とは、マシン情報の取得（ＣＰＵロードアベレージ、メモリ使用量、ディスク使用量、センサー情報等）とマシンの制御（マシン情報のチェック、仮想マシンの起動・停止・マイグレーション、物理マシンの起動・停止、他マシンへの命令等）である。
【００５３】
本実施形態では、各エージェントは、他のエージェントと通信するためのアカウント情報とＩＰアドレスを受信し、保存する。また、マシン管理マネージャからマシン情報に関する閾値とそれを超えた場合の制御動作を受信し、その後はそれに従ってエージェントがマシンを監視、制御する。この動作によって、各エージェントはマシン管理マネージャによる制御命令を受信しなくても各マシンを制御することができる。
【００５４】
本実施形態では、マシン管理においてエージェントによる自律的な制御と情報交換を実現したことで、管理マネージャと管理対象マシンの通信を減らし、管理マネージャの管理処理を軽減できる。
【００５５】
また、本実施形態では、管理対象マシンの制御機能を、管理対象マシン上のエージェントに委譲したことで、管理マネージャによる制御命令がこなくても管理対象マシン上のエージェントが自律的に制御できるようになる。すなわち、管理マネージャが停止しても管理対象マシンの制御が続く。
【００５６】
また、本実施形態では、エージェントは各管理対象マシンに常に一つ常駐して監視しているものであり、他のエージェントへの通信は任意のタイミングで実行可能である。
【００５７】
また、本実施形態では、監視情報の展開はマルチキャストを使って実行しており、台数が多くなってもマルチキャストする台数を調整することにより、情報の拡散速度が遅くなるのを防ぐことができる。
【００５８】
更に、本実施形態では、仮想化の普及により一台の物理マシンの故障により複数の仮想マシンが同時に落ちてしまうという事態を回避するために、マシンの故障を予兆して事前に他のマシンに仮想マシンを退避させることも可能になる。
【００５９】
故障による仮想マシン退避には迅速な対処が必要であることから、常にエージェントが監視していて他エージェントへの通信が任意のタイミングに行えるという点が非常に重要になる。本実施形態では、他エージェントへの通信が任意のタイミングで行えるので、故障を予兆したら即座に対処行動が行える。
【００６０】
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
【符号の説明】
【００６１】
１０…  管理マシン
１１…  記憶装置
１２…  管理マネージャ
２０（−ｉ、ｉ＝１〜ｎ）…  管理対象マシン
２１（−ｉ、ｉ＝１〜ｎ）…  記憶装置
２２（−ｉ、ｉ＝１〜ｎ）…  エージェント
【図１】
2011191844.tif 000003
【図２】
2011191844.tif 000004
【図３】
2011191844.tif 000005
【図４】
2011191844.tif 000006
【図５】
2011191844.tif 000007