(57)【要約】【課題】特定のエージェントマシンへ割り当てるタスクの上限を設定する。【解決手段】マネージャマシン１０１はエージェントマシン２０１、２０２を管理するタスクを実行する実行機能部を備え、エージェントマシン２０１、２０２もタスクを実行する実行機能部を備え、マネージャマシン１０１は、低負荷なエージェントマシンを探索する低負荷マシン探索機能部６と、エージェントマシン２０１、２０２の分担割当を記録する分担割当管理データベース４０１と、エージェントマシン２０１、２０２毎の分担割当と、エージェントマシン２０１、２０２がタスクを実行する毎に実行したタスクの量に応じた分担割当を消費させ、消費後の分担割当とを分担割当管理データベース４０１に記録させる分担割当管理機能部７と、低負荷でかつ分担割当が残存しているエージェントマシン２０１、２０２を優先的に選択する負荷分配先マシン決定機能部５とを備える。【選択図】図１
2010237736.tif 000002
【特許請求の範囲】
【請求項１】
マネージャマシン及び該マネージャマシンと通信手段で結ばれた複数のエージェントマシンを有し、前記マネージャマシンは前記複数のエージェントマシンを管理するタスクを実行する実行機能部を備える運用管理システムにおいて、
前記エージェントマシンは、前記タスクを実行する実行機能部を備え、
前記マネージャマシンは、
低負荷なエージェントマシンを探索する低負荷マシン探索機能部と、
前記エージェントマシンに分担させる前記タスクの量である分担割当を記録する分担割当管理データベースと、
前記エージェントマシン毎に予め決められた前記分担割当と、前記エージェントマシンが前記タスクを実行する毎に該実行に係る前記タスクの量に応じた前記分担割当を消費させ、該消費後の前記分担割当と、を前記分担割当管理データベースに記録させる分担割当管理機能部と、
前記低負荷マシン探索機能部、前記分担割当管理機能部及び前記分担割当管理データベースを用い、前記エージェントマシンのうち低負荷でかつ前記分担割当が残存しているものを優先的に選択して前記タスクを分担する前記エージェントマシンを決定する負荷分配先マシン決定機能部と、
を備えることを特徴とする運用管理システム。
【請求項２】
前記タスクは仮想マシンであって、
前記マネージャマシン及び前記エージェントマシンが備える前記実行機能部は、該仮想マシンを実行する仮想マシン実行機能部であることを特徴とする請求項１に記載の運用管理システム。
【請求項３】
前記負荷は、前記エージェントマシンが有するＣＰＵの負荷であることを特徴とする請求項１又は２に記載の運用管理システム。
【請求項４】
前記マネージャマシンは、前記負荷を前記エージェントマシン毎に直近のＣＰＵ負荷、平均のＣＰＵ負荷、直近の残りメモリ量及び平均の残りメモリ量として、前記タスク毎にそれぞれ必要とされる最大のＣＰＵの能力、平均のＣＰＵの能力、最大のメモリ量及び平均のメモリ量を動的に見積もり、前記タスクの分配時には、必要なＣＰＵの能力と必要メモリ量とを満たす最小のリソースを持つエージェントマシンを選ぶことを特徴とする請求項１又は２に記載の運用管理システム。
【請求項５】
前記閾値は、前記エージェントマシンの重要度に応じて個別に設定されることを特徴とする請求項４に記載の運用管理システム。
【請求項６】
前記分担割当管理機能部は、前記エージェントマシンが分担された前記タスクを実行することによる前記分担割当の消費である負荷割当減少を、前記エージェントマシンが有するＣＰＵのクロック数と、前記タスクの完了で前記ＣＰＵを使用した時間と、平均メモリ使用量との積とすることを特徴とする請求項４又は５に記載の運用管理システム。
【請求項７】
前記分担割当管理データベースは、一定期間ごとに前記エージェントマシンが負担した前記分担割当をリセットして初期状態に戻し、かつその際に前記分担割当の量を見直すことを特徴とする請求項１乃至６のいずれか１項に記載の運用管理システム。
【請求項８】
マネージャマシン及び該マネージャマシンと通信手段で結ばれた複数のエージェントマシンを有し、前記マネージャマシンが前記複数のエージェントマシンを管理するタスクを実行する手順を有する運用管理方法であって、
前記エージェントマシンに分担させる前記タスクの量である分担割当を前記エージェントマシン毎に予め決め、前記分担割当を分担割当管理データベースに記録する手順と、
前記マネージャマシンが低負荷なエージェントマシンを探索する低負荷マシン探索手順と、
前記エージェントマシンのうち低負荷でかつ前記分担割当が残存しているものを優先的に選択して前記タスクを分担する前記エージェントマシンを決定する負荷分配先マシン決定手順と、
前記エージェントマシンが前記タスクを実行する手順と、
前記エージェントマシンが前記タスクを実行する毎に該実行に係る前記タスクの量に応じた前記分担割当を消費させ、該消費後の前記分担割当と、を前記分担割当管理データベースに記録させる分担割当管理手順と、
を備えることを特徴とする運用管理方法。
【請求項９】
前記タスクは仮想マシンであって、
前記マネージャマシン及び前記エージェントマシンが備える前記タスクを実行する手順は、該仮想マシンを実行する手順であることを特徴とする請求項８に記載の運用管理方法。
【請求項１０】
前記負荷は、前記エージェントマシンが有するＣＰＵの負荷であることを特徴とする請求項８又は９に記載の運用管理方法。
【請求項１１】
前記マネージャマシンは、前記負荷を前記エージェントマシン毎に直近のＣＰＵ負荷、平均のＣＰＵ負荷、直近の残りメモリ量及び平均の残りメモリ量として、前記タスク毎にそれぞれ必要とされる最大のＣＰＵの能力、平均のＣＰＵの能力、最大のメモリ量及び平均のメモリ量を動的に見積もり、前記タスクの分配時には、必要なＣＰＵの能力と必要メモリ量とを満たす最小のリソースを持つエージェントマシンを選ぶことを特徴とする請求項８又は９に記載の運用管理方法。
【請求項１２】
前記閾値は、前記エージェントマシンの重要度に応じて個別に設定されることを特徴とする請求項１１に記載の運用管理方法。
【請求項１３】
前記分担割当管理手順は、前記エージェントマシンが分担された前記タスクを実行することによる前記分担割当の消費である負荷割当減少を、前記エージェントマシンが有するＣＰＵのクロック数と、前記タスクの完了で前記ＣＰＵを使用した時間と、平均メモリ使用量との積とすることを特徴とする請求項１１又は１２に記載の運用管理方法。
【請求項１４】
前記分担割当を分担割当管理データベースに記録する手順は、一定期間ごとに前記エージェントマシンが負担した前記分担割当をリセットして初期状態に戻し、かつその際に前記分担割当の量を見直すことを特徴とする請求項８乃至１３のいずれか１項に記載の運用管理方法。
【請求項１５】
マネージャマシン及び該マネージャマシンと通信手段で結ばれた複数のエージェントマシンを有し、前記マネージャマシンが前記複数のエージェントマシンを管理するタスクを実行する処理を行う運用管理プログラムであって、
前記エージェントマシンに分担させる前記タスクの量である分担割当を前記エージェントマシン毎に予め決め、前記分担割当を分担割当管理データベースに記録する処理と、
前記マネージャマシンが低負荷なエージェントマシンを探索する低負荷マシン探索処理と、
前記エージェントマシンのうち低負荷でかつ前記分担割当が残存しているものを優先的に選択して前記タスクを分担する前記エージェントマシンを決定する負荷分配先マシン決定処理と、
前記エージェントマシンが前記タスクを実行する処理と、
前記エージェントマシンが前記タスクを実行する毎に該実行に係る前記タスクの量に応じた前記分担割当を消費させ、該消費後の前記分担割当と、を前記分担割当管理データベースに記録させる分担割当管理処理と、
をコンピュータに実行させることを特徴とする運用管理プログラム。
【請求項１６】
前記タスクは仮想マシンであって、
前記マネージャマシン及び前記エージェントマシンが備える前記タスクを実行する処理は、該仮想マシンを実行する処理であることを特徴とする請求項１５に記載の運用管理プログラム。
【請求項１７】
前記負荷は、前記エージェントマシンが有するＣＰＵの負荷であることを特徴とする請求項１５又は１６に記載の運用管理プログラム。
【請求項１８】
前記マネージャマシンは、前記負荷を前記エージェントマシン毎に直近のＣＰＵ負荷、平均のＣＰＵ負荷、直近の残りメモリ量及び平均の残りメモリ量として、前記タスク毎にそれぞれ必要とされる最大のＣＰＵの能力、平均のＣＰＵの能力、最大のメモリ量及び平均のメモリ量を動的に見積もり、前記タスクの分配時には、必要なＣＰＵの能力と必要メモリ量とを満たす最小のリソースを持つエージェントマシンを選ぶことを特徴とする請求項１５又は１６に記載の運用管理プログラム。
【請求項１９】
前記閾値は、前記エージェントマシンの重要度に応じて個別に設定されることを特徴とする請求項１８に記載の運用管理プログラム。
【請求項２０】
前記分担割当管理処理は、前記エージェントマシンが分担された前記タスクを実行することによる前記分担割当の消費である負荷割当減少を、前記エージェントマシンが有するＣＰＵのクロック数と、前記タスクの完了で前記ＣＰＵを使用した時間と、平均メモリ使用量との積とすることを特徴とする請求項１８又は１９に記載の運用管理プログラム。
【請求項２１】
前記分担割当を分担割当管理データベースに記録する処理は、一定期間ごとに前記エージェントマシンが負担した前記分担割当をリセットして初期状態に戻し、かつその際に前記分担割当の量を見直すことを特徴とする請求項１５乃至２０のいずれか１項に記載の運用管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム全体としての負荷を軽減し、スムーズな運用管理を実現する運用管理システム、その方法及びそのプログラムに関する。
【背景技術】
【０００２】
分散コンピュータの負荷分散のためにタスクを割り当てる運用管理システムが利用されている。
【０００３】
この運用管理システムでは、システムを統括するマネージャマシンは管理側のタスクを一手に率い、そのマネージャマシンの隷下に存するエージェントマシンは管理対象機器の情報取得とメッセージ送出を行うというものである。
【０００４】
しかしながら、マネージャマシンは管理側のタスクを一手に率い、エージェントマシンは管理対象機器の情報取得とメッセージ送出にのみに役割が限定されていることから、管理対象が増えれば増えるほどマネージャマシンの負荷が増大し、場合によってはメッセージ処理の遅れや解析が間に合わない現象等が発生し、結果としてスムーズな監視が行えなくなるという問題があった。
【０００５】
そこで、マネージャマシンやそれに付属するデータベースシステムの処理性能向上、又はマネージャの階層化等の対策によってかかる問題に対処してきたが、これらの対策はハードウェアやソフトウェアの購入費用等が嵩むという難点がある。
【０００６】
又、大規模システムにおいては、管理対象マシン全てが高負荷状態であることは一般的ではない。むしろ、システムにおいてそれぞれ特徴を持つものの、アクセスに対してボトルネックとなる管理対象マシンや障害発生中の管理対象マシンだけが高負荷状態で、その他の管理対象マシンは低負荷であるという状態の方がごく普通にありえる。このような状態では、このリソースを運用管理も含めたシステム全体として効率的に活用できていないという側面もあった。
【０００７】
そこで、特許文献１には、実行可能な計算機が複数存在する場合には、予め決められた選択アルゴリズムに依ってタスクを計算機に割り当てるタスク割り当て装置を備えた分散処理システムに係る発明が開示されている。
【０００８】
又、特許文献２には、各サーバに最大リクエスト数（最大処理量）を予め設定し、現在実行中のリクエスト数（現在処理量）と比較し、この最大処理量に達していないサーバを選択しそのうち優先度の最も高いサーバを特定しリクエストを割り当てる負荷分散処理システムに係る発明が開示されている。
【０００９】
更に、特許文献３には、サーバ毎のリソースを監視し、このリソースの使用状況が予め定められた閾値を超える場合に、各サーバへの業務割り当てを変更するサーバ監視装置が開示されている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−０１３８６６号公報
【特許文献２】特開２００７−０５２５４２号公報
【特許文献３】特開２００７−２４９４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記特許文献１に開示されている発明は、各計算機が実行したタスク量を記録し、このタスク量を考慮して、計算機にタスクを割り当てるものの、タスク量とは別に、個々の計算機の重要度を考慮してタスクを割り当てるということができないという問題点がある。
【００１２】
又、特許文献２及び３に開示されている発明は、マシンの物理的な能力に基づいて最大処理数や閾値が設定されるものの、マシンの重要度やシステムの安定性を重視して、恣意的に最大処理数や閾値を設定することが困難であるという問題点がある。
【００１３】
本発明は上記に鑑みてなされたもので、エージェントマシンの重要度やシステムの安定性を重視して、特定のエージェントマシンへ割り当てるタスクの上限を設定可能な運用管理システム、その方法及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述の問題を解決するため、本発明に係る運用管理システムは、マネージャマシン及び該マネージャマシンと通信手段で結ばれた複数のエージェントマシンを有し、前記マネージャマシンは前記複数のエージェントマシンを管理するタスクを実行する実行機能部を備える運用管理システムにおいて、前記エージェントマシンは、前記タスクを実行する実行機能部を備え、前記マネージャマシンは、低負荷なエージェントマシンを探索する低負荷マシン探索機能部と、前記エージェントマシンに分担させる前記タスクの量である分担割当を記録する分担割当管理データベースと、前記エージェントマシン毎に予め決められた前記分担割当と、前記エージェントマシンが前記タスクを実行する毎に該実行に係る前記タスクの量に応じた前記分担割当を消費させ、該消費後の前記分担割当と、を前記分担割当管理データベースに記録させる分担割当管理機能部と、前記低負荷マシン探索機能部、前記分担割当管理機能部及び前記分担割当管理データベースを用い、前記エージェントマシンのうち低負荷でかつ前記分担割当が残存しているものを優先的に選択して前記タスクを分担する前記エージェントマシンを決定する負荷分配先マシン決定機能部と、を備えることを特徴とする。
【００１５】
上述の問題を解決するため、本発明に係る運用管理方法は、マネージャマシン及び該マネージャマシンと通信手段で結ばれた複数のエージェントマシンを有し、前記マネージャマシンが前記複数のエージェントマシンを管理するタスクを実行する手順を有する運用管理方法であって、前記エージェントマシンに分担させる前記タスクの量である分担割当を前記エージェントマシン毎に予め決め、前記分担割当を分担割当管理データベースに記録する手順と、前記マネージャマシンが低負荷なエージェントマシンを探索する低負荷マシン探索手順と、前記エージェントマシンのうち低負荷でかつ前記分担割当が残存しているものを優先的に選択して前記タスクを分担する前記エージェントマシンを決定する負荷分配先マシン決定手順と、前記エージェントマシンが前記タスクを実行する手順と、前記エージェントマシンが前記タスクを実行する毎に該実行に係る前記タスクの量に応じた前記分担割当を消費させ、該消費後の前記分担割当と、を前記分担割当管理データベースに記録させる分担割当管理手順と、を備えることを特徴とする。
【００１６】
上述の問題を解決するため、本発明に係る運用管理プログラムは、マネージャマシン及び該マネージャマシンと通信手段で結ばれた複数のエージェントマシンを有し、前記マネージャマシンが前記複数のエージェントマシンを管理するタスクを実行する処理を行う運用管理プログラムであって、前記エージェントマシンに分担させる前記タスクの量である分担割当を前記エージェントマシン毎に予め決め、前記分担割当を分担割当管理データベースに記録する処理と、前記マネージャマシンが低負荷なエージェントマシンを探索する低負荷マシン探索処理と、前記エージェントマシンのうち低負荷でかつ前記分担割当が残存しているものを優先的に選択して前記タスクを分担する前記エージェントマシンを決定する負荷分配先マシン決定処理と、前記エージェントマシンが前記タスクを実行する処理と、前記エージェントマシンが前記タスクを実行する毎に該実行に係る前記タスクの量に応じた前記分担割当を消費させ、該消費後の前記分担割当と、を前記分担割当管理データベースに記録させる分担割当管理処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、各エージェントマシンに割り当てるタスクの上限が記録されたデータベースを参照することにより、マシンの重要度やシステムの安定性を重視して、特定のエージェントマシンへ割り当てるタスクに上限が設定される運用管理システム、その方法及びそのプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係るマネージャマシン、エージェントマシン及びそれらの中で動作するタスク概略図である。
【図２】分担割当のロジックを示す図である。
【図３】本発明の第１の実施の形態に係る運用管理システムの概要図である。
【図４】発明実施の形態の動作時のＣＰＵ負荷を示す図である。
【発明を実施するための形態】
【００１９】
アプリケーションの負荷を分散させるための分散システムはさまざまな物があるが、本発明は、仮想マシン技術とＶＰＮ技術とを組み合わせた技術を提供する基盤を運用管理システムに応用し、さらに負荷を分散させる対象を選択する機能を新たに付け加えることで、スムーズな運用管理を実現するというものである。
【００２０】
ここで図１は、本発明の実施の形態に係るマネージャマシン、エージェントマシン及びそれらの中で動作するタスク概略図である。
【００２１】
この図１において、マネージャマシン１０１とエージェントマシン（Ａ−１）２０１は、それぞれ、仮想マシン実行機能部１と、仮想マシン(マネージャタスク)２と、基盤間通信機能４、とを備えている。
【００２２】
エージェントマシン（Ａ−１）２０１は、更にエージェントタスク３を備え、マネージャマシン１０１は、負荷分配先マシン決定機能部５と、低負荷マシン探索機能部６と、分担割当管理機能部７と、を備え、分担割当管理機能部には分担割当管理データベース４０１が接続されている。
【００２３】
仮想マシン実行機能部１は、マネージャタスクをスレッドとして実行するための仮想マシン２を実行できる機能を提供する。これは、マネージャマシン上の基盤に常に存在する。又、各エージェントマシン内の基盤にも実行できる準備は整えておき、必要があればマネージャマシン１０１内のマネージャマシン実行機能部１からの要求に従い、起動される。
【００２４】
なお、ここでいう仮想マシンは、通常のコンピュータ全てを仮想化する必要はなく、マネージャタスクのロジックを実現できる機能だけでよい。むしろ、通信路を通して移動することを想定しているので、出来るだけ機能を最小にし、仮想マシン自体のサイズを小さくする必要がある。
【００２５】
仮想マシン（マネージャタスク）２とは、本発明に係る運用管理システムのマネージャマシン１０１が必要な処理を実行する機能である。通常マネージャマシン１０１の仮想マシン実行機能部２内で実行されるが、必要に応じて基盤間通信機能４を用いタスク実行プログラムを配布し、エージェントマシンの仮想マシン実行機能部１でも処理することが出来る。この図１では、エージェントマシン（Ａ−１）２０１上で実行している。
【００２６】
エージェントタスク３は、本発明に係る運用管理システムのエージェントに対して要求される処理を実行する。これはマネージャマシン１０１からプログラムを配布される必要が無く、実行プログラムはあらかじめ基盤上に持っているので、仮想マシン上ではなく直接実行される。
【００２７】
基盤間通信機能４とは、複数の基盤間で通信を行い、その中の機能間で情報のやり取りを可能にする機能である。図１には不図示だが、マネージャマシンと、各エージェントとには、この機能を実現するための通信手段が設けられ、図３の管理ネットワーク１００のようなネットワークを介して各エージェントマシンはマネージャマシンに接続されるものとする。
【００２８】
負荷分配先マシン決定機能部５は、マネージャマシン１０１の基盤内に存在し、マネージャマシン１０１の負荷増大時に、負荷軽減のためにタスクを分配するエージェントマシンを決定する機能である。このときに、低負荷マシン探索機能部６、分担割当管理機能部７、分担割当管理データベース４０１を用いて負荷分配先のエージェントマシンを決定する。
【００２９】
分配先を決定するに当たっては、その時点で低負荷であり、かつ分担割当が残っているマシンが優先的に選択されるようになる。
【００３０】
低負荷マシン探索機能部６は、本来運用管理マネージャが備える管理対象マシンの負荷状況を確認する機能を用い、低負荷なエージェントマシンを探索し報告する。
【００３１】
分担割当管理機能部７は、各エージェントマシンのタスク分担割当を管理し、エージェントマシン毎に決まっている分担割当を分担割当管理データベース４０１で記録し、かつ各エージェントマシンがマネージャタスクを分担する毎に、そのタスク量に応じた分担割当を消費させ、これを記録しておく。又、この機能は一定期間ごとに各エージェントマシンが負担した分担割当をリセットして初期状態に戻し、かつその際に分担割当の量を見直す機能も備える。
【００３２】
分担割当管理データベース４０１は、分担割当管理機能部７から利用されるデータベースであり、分担割当を記録し、必要に応じて参照される。
【００３３】
分担割当についてさらに説明する。ここで、図２は分担割当のロジックを示す図である。分担割当とは、システム全体に参加するエージェントマシンが一定期間内に負わなければならないタスクの量であり、システム全体への参加時に決定される。この決定は、システム全体の管理者がエージェントマシンの重要性、あるいは性能を考えて決定する場合もあれば、エージェントマシン利用者がシステム参加に対して負担する課金に応じて決定される等さまざまな形態が考えられる。
【００３４】
システムに参加中のエージェントマシンは、マネージャタスク分担時に、負担したタスクの量に応じて決まっている分担割当を消費する。このようにして、エージェントマシンは想定以上の負担を負わないようにすることが出来る。
【００３５】
決まっている分担割当やタスク分担時に消費した量は分担割当管理データベース４０１に記録され、この分担割当管理データベース４０１は一定期間でリセットされ、その際に管理者がその期間内にマネージャマシンが軽減された負荷の総量、各エージェントマシンが消費した割当、リソースの空き状況、重要度の変化等に応じて分担割当の見直しを行う。
【００３６】
［第１の実施の形態］
以下、図面を参照しながら、本発明の第１の実施の形態について詳細に説明する。
【００３７】
〔第１の実施の形態の構成〕
本発明の第１の実施の形態に係る運用管理システムの概要を図３に示す。
【００３８】
この図３によると、本発明の第１の実施の形態に係る運用管理システムは、マネージャマシン１０１があり、管理対象マシンを管理している。又、管理対象マシンとしてエージェントマシン（Ａ−１）２０１、エージェントマシン（Ａ−２）２０２、エージェントマシン（Ａ−３）２０３、エージェントマシン（Ａ−４）２０４があり、マネージャマシン１０１とそれぞれのエージェントマシン内に本発明の基盤（Ａ−１）３０１、  基盤（Ａ−２）３０２、基盤（Ａ−３）３０３、基盤（Ａ−４）３０４がインストールされているものとする。
【００３９】
マネージャマシン１０１は、分担割当を管理する分担割当管理データベース４０１を持つ。このほか、運用管理データベース５０１があり、管理上の設定情報、各管理対象マシンである各エージェントマシンの構成情報・性能情報、各エージェントマシンから送出されたメッセージ等、運用管理に必要な情報がここに格納されているものとする。
【００４０】
各メッセージは、一貫性あるいは整合性を保たなくてはならない単位にテーブル分けされており、メッセージ管理テーブルＭ−１からＭ−ｎに保管されている。なお、エージェント（Ａ−４）２０４の残り分担割当は０であるとし、リソース空き状況が十分であってもエージェント（Ａ−４）２０４はタスク分配を受けない状況であるとする。
【００４１】
本実施の形態では、運用管理システムの監視の部分で大きなリソース消費を占めるメッセージ解析を、負荷増大時に他のマシンに分配することでシステム全体の負荷を軽減するものとする。
【００４２】
メッセージ解析とは、各エージェントマシンから送出される運用メッセージを、マネージャマシン上での設定定義に従い、フィルタ処理や関係性解析を行う機能であり、正規表現処理等ではＣＰＵ（Central Processing Unit）の負荷は高いが、各処理は独立しており、かつ処理に必要なデータも結果も両方ともＤＢを介して行えるので、複数マシンで平行して行うことが可能な処理のひとつである。
【００４３】
なお、分担割当とは、各エージェントマシンに割り当てられるタスクの量であって、本実施の形態では単純化のために、分担割当の単位を、エージェントマシンに割り当てられたタスクの数とし、１つのタスクが割り当てられているときは、分担割当も１であるとする。そして、タスクが完了するたびに分担割当が１ずつ減少するとする。
【００４４】
［第１の実施の形態の動作の説明］
図４に時系列での各マシンのＣＰＵ負荷を示す。又、本システムではＣＰＵ負荷の閾値を８０％と定める。
【００４５】
平常時ｔ０においては、全てのエージェントマシンとマネージャマシンは負荷閾値内に収まっている。
【００４６】
時刻ｔ１でエージェントマシン（Ａ−３）に障害が発生したものとする。この障害はＣＰＵ負荷増大、空きメモリ容量減少、極端なプロセス数増加等、運用に影響は与えるがＯＳ（Operating System）自体の通信は可能で運用メッセージを多数発行するようなものであるとする。
【００４７】
このメッセージラッシュ現象を受け、マネージャマシンの負荷は徐々に増大し、負荷閾値を突破する。
【００４８】
ここでマネージャマシンはマネージャタスク（メッセージ処理）の分配を決定する。マネージャは管理対象で分担割当が残っているもののうち、もっとも負荷の低いエージェントマシン（Ａ−１）を選択し、時刻ｔ２においてマネージャタスクが移動する。これによって、マネージャマシンの負荷閾値は規定内に収まる。
【００４９】
エージェントマシン（Ａ−４）はＣＰＵ負荷は低いが、残り分担割当が０であるため、タスクの分配先として選択されない。
【００５０】
しかしながら、エージェントマシン（Ａ−１）で稼動している業務アプリケーションの負荷が増加し、エージェントマシン（Ａ−１）の負荷が閾値を超える事態が発生する。これをマネージャマシンは感知し、時刻ｔ３以降はマネージャタスクをエージェントマシン（Ａ−２）に分配することにし、システム全体の負荷を平準化する。この期間、エージェントマシン（Ａ−１）では３個のタスクを処理したものとし、これによってエージェントマシン（Ａ−１）ののこり分担割当は３減少する。
【００５１】
又、時刻ｔ３以降においてマネージャタスクはエージェントマシン（Ａ−２）で動作するが、ここからｔ４まで２個のタスクを処理し、これによってエージェントマシン（Ａ−２）の残り分担割当は２減少する。ｔ４以降もタスクはエージェントマシン（Ａ−２）で稼動する。
【００５２】
以上のように、本発明の第１の実施の形態では、アプリケーションシステム負荷分散のための実行基盤を各エージェントマシンに導入することにより、マネージャマシンの負荷増大に対する対策を、単一マシンの高性能化やマネージャ階層化等のコストのかかる手段を取らずに解決できることにある。
【００５３】
運用管理システムは、導入時から継続的に管理対象数が増加する事が多く、マネージャマシンは運用期間が長くなるにつれて負荷増大という課題が出現しがちであり、本発明の第１の実施の形態のように、システムの拡張により増えていくエージェントマシンのリソースを利用する形は効果的である。
【００５４】
又、今回の発明である負荷分配先マシン決定機能部を導入することにより、リソースが空いているマシンが無条件にタスク分配を受ける事が無く、管理者の決定あるいはシステム全体の運用方針により、エージェントマシンが過度のタスク分担を負わないよう調整できる点にある。これにより、例えば重要度の高いマシン等はマネージャタスクの分配を受けないよう調整できる。
【００５５】
［第２の実施の形態］
第１の実施の形態では、モデルを簡略化するために、個々のメッセージの解析処理のみを分配し、タスク配分決定のパラメータとしてＣＰＵ負荷だけを考え、かつタスク１個完了に対して分担割当は単純に１ずつ減少するという実施の形態を記述した。
【００５６】
ただし、現実のシステム環境はもっと複雑であり、分配できるタスクとしては他にもメッセージを包括して傾向を解析する処理や、イベントコリレーション等複数のイベント（メッセージ）から関係性を見出す処理等があると考えられる。この場合、個々のタスクに対して減少する割当量を調整する為、タスクに対して重み付けを行う必要がある。
【００５７】
これに加えて、負荷分配先決定ロジックとして単純なその時点のＣＰＵ負荷だけでなく、一定期間のＣＰＵ負荷平均値、残りメモリ量、平均的なメモリ量等を加味することも考えられる。
【００５８】
例えば以下のようなものである。
１．分配タスク毎に必要ＣＰＵ量（最大・平均の能力）、必要メモリ量（最大・平均）が過去の経験から動的に見積もられる
２．エージェントマシン毎に、ＣＰＵ負荷（直近・平均）、残りメモリ量（直近・平均）が記録されている
３．タスク分配時には、必要なＣＰＵの能力と必要メモリ量とを満たす最小のリソースを持つマシンを選ぶ。
【００５９】
こうすることによって、小さなタスクは小さなマシンに、大きなタスクは大きなマシンに割り当てられるようになる。
【００６０】
又、本実施の形態では全てのマシンの閾値を一定としたが、マシンの重要度別に閾値を変更して設定できる事も考えられる。
【００６１】
エージェントマシンの重要度に応じて個別に閾値を設定し、これと上記の方式を組み合わせることによって、重要度の高いマシンには重い負荷のタスクが割り当てられないようにすることも出来る。
【００６２】
エージェントマシンが分担された前記タスクを実行することによる前記分担割当の消費である負荷割当減少は、単純なタスクの数ではなく、そのタスク完了に応じたＣＰＵ時間、メモリ使用量を使う方がより効果的な指標になる。
【００６３】
例えば、分担割当管理機能部はエージェントマシンが有するＣＰＵのクロック数と、タスクの完了でＣＰＵを使用した時間と、平均メモリ使用量との積、すなわち、以下のような式で算出する事も出来る。
負荷割当減少量＝ＣＰＵクロック数×タスク完了に使用したＣＰＵ時間×平均メモリ使用量
これらを組み合わせて実施の形態を構成することが可能である。
【００６４】
なお、本発明は、物の発明のみならず、方法及びプログラムの発明としても実施可能である。
【産業上の利用可能性】
【００６５】
本発明は、大量のクライアントが存在するようなクライアント・サーバ型システムに適しており、かかるシステムを管理する運用管理システムに利用することができる。
【符号の説明】
【００６６】
１  仮想マシン実行機能部
２  仮想マシン（マネージャタスク）
３  エージェントタスク
４  基盤間通信機能
５  負荷分配先マシン決定機能部
６  低負荷マシン探索機能部
７  分担割当管理機能部
１００  管理ネットワーク
１０１  マネージャマシン
１０２  基盤Ｍ
２０１  エージェントマシン（Ａ−１）
２０２  エージェントマシン（Ａ−２）
２０３  エージェントマシン（Ａ−３）
２０４  エージェントマシン（Ａ−４）
３０１  基盤（Ａ−１）
３０２  基盤（Ａ−２）
３０３  基盤（Ａ−３）
３０４  基盤（Ａ−４）
４０１  分担割当管理データベース
５０１  運用管理データベース
【図１】
2010237736.tif 000003
【図２】
2010237736.tif 000004
【図３】
2010237736.tif 000005
【図４】
2010237736.tif 000006