(57)【要約】【課題】従来のＷＷＷサーバ用の単純な負荷分散システムよりも柔軟かつ高度な分散処理を実現する。【解決手段】アプリケーションタスク処理用の複数の計算機リソース１０およびネットワークリソース１１をネットワーク上に分散配置して構成された分散処理システム。複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量をアプリケーションタスク毎に管理するタスク評価装置１と、複数のアプリケーションタスクに関連付けて設定された複数のリソースそれぞれの性能を表す情報を記憶する性能評価データベース２とを備え、入力されたアプリケーションタスクの処理要求に応じて、タスク評価装置１は、その管理内容を参照し、アプリケーションタスクの処理に割当可能な複数のリソース組み合わせを把握し、性能評価データベース２の記憶内容を参照して、把握した複数のリソース組み合わせからアプリケーションタスクの処理に割り当てる１つのリソース組み合わせを決定する。【選択図】　　　図１
2004046372.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションタスク処理用の複数のリソースをネットワーク上に分散配置して構成された分散処理システムであって、
複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量をアプリケーションタスク毎に管理する管理手段と、
前記複数のアプリケーションタスクに関連付けて設定された前記複数のリソースそれぞれの性能を表す情報を記憶する記憶手段と、
入力されたアプリケーションタスクの処理要求に応じて、前記管理手段の管理内容を参照し、当該アプリケーションタスクの処理に割当可能な複数のリソース組み合わせを把握し、前記記憶手段の記憶内容を参照して、把握した複数のリソース組み合わせから前記アプリケーションタスクの処理に割り当てる１つのリソース組み合わせを決定する決定手段と、
を備えたことを特徴とする分散処理システム。
【請求項２】
前記複数のリソースは、前記ネットワーク上の計算処理／記憶処理用のハードウエアである複数の計算機リソースと、当該複数の計算機リソースを結合するネットワークに係わるハードウエアである複数のネットワークリソースを含み、
前記アプリケーションタスクの処理に割当可能である各リソース組み合わせは、少なくとも１つの計算機リソースおよび少なくとも１つのネットワークリソースの組み合わせから構成されており、
前記決定手段は、前記各リソース組み合わせを構成する少なくとも１つの計算機リソースおよび少なくとも１つのネットワークリソースを組み合わせて仮想リソースとした場合のその仮想リソースの性能を表す情報を前記記憶手段の記憶内容を参照して求め、求めた複数の仮想リソースの性能値を表す情報に基づいて、当該複数の仮想リソースの中から１つの仮想リソースを選択し、選択した仮想リソースに対応するリソース組み合わせを前記アプリケーションタスクの処理に割り当てる手段であることを特徴とする請求項１記載の分散処理システム。
【請求項３】
前記複数のリソースそれぞれの性能を表す情報は、前記複数のアプリケーションタスクそれぞれの種別に応じて定められた評価関数により決定された当該複数のリソースそれぞれの性能値であることを特徴とする請求項１記載の分散処理システム。
【請求項４】
前記複数のリソースそれぞれの性能を表す情報は、前記複数のアプリケーションタスクの組み合わせに必要なリソースの組み合わせ毎に定められた評価関数により決定された当該リソース組み合わせ単位の性能値であることを特徴とする請求項１記載の分散処理システム。
【請求項５】
前記決定手段により決定されたリソース組み合わせに対応する複数のリソースを用いて前記処理要求に対応するアプリケーションタスクを実行する実行手段と、
この実行手段の実行結果に基づいて、前記アプリケーションタスク実行に用いた複数のリソースそれぞれの実際の性能値を求め、求めた複数のリソースそれぞれ実際の性能値と前記記憶手段に記憶された当該複数のリソースそれぞれの評価関数により決定された性能値とを比較し、この比較結果に応じて当該複数のリソースそれぞれの評価関数を補正する手段と、
を備えたことを特徴とする請求項３記載の分散処理システム。
【請求項６】
アプリケーションタスク処理用の複数のリソースをネットワーク上に分散配置して構成されており、複数のアプリケーションタスクに関連付けて設定された前記複数のリソースそれぞれの性能を表す情報を記憶する記憶部を有する分散処理システムに適用されるコンピュータが実行可能なリソース割当プログラムであって、
複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量をアプリケーションタスク毎に管理する処理と、
入力されたアプリケーションタスクの処理要求に応じて、前記管理処理による管理内容を参照し、当該アプリケーションタスクの処理に割当可能な複数のリソース組み合わせを把握し、前記記憶部の記憶内容を参照して、把握した複数のリソース組み合わせから前記アプリケーションタスクの処理に割り当てる１つのリソース組み合わせを決定する処理と、
をそれぞれ前記コンピュータに実行させることを特徴とするリソース割当プログラム。
【請求項７】
請求項６記載のリソース割当プログラムが記録されたことを特徴とする記録媒体。
【請求項８】
アプリケーションタスク処理用の複数のリソースをネットワーク上に分散配置して構成された分散処理システムに適用されるリソース割当方法であって、
複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量をアプリケーションタスク毎に管理するステップと、
前記複数のアプリケーションタスクに関連付けて設定された前記複数のリソースそれぞれの性能を表す情報を記憶するステップと、
入力されたアプリケーションタスクの処理要求に応じて、前記管理ステップの管理内容を参照し、当該アプリケーションタスクの処理に割当可能な複数のリソース組み合わせを把握し、前記記憶ステップの記憶内容を参照して、把握した複数のリソース組み合わせから前記アプリケーションタスクの処理に割り当てる１つのリソース組み合わせを決定するステップと、
を備えたことを特徴とするリソース割当方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションタスク処理用の複数のリソースをネットワーク上に分散配置して構成された分散処理システム、この分散処理システムに適用されるコンピュータが実行可能なリソース割当用プログラム、このプログラムが記録された記録媒体および上記分散処理システムに適用されるリソース割当方法に関する。
【０００２】
【従来の技術】
従来の分散処理システムの例としては、ＷＷＷサーバの負荷分散システムがある。この負荷分散システムには、複数のＷＷＷサーバが設置されており、多数のユーザからの多数の情報配信要求（アクセス）に対し、その情報配信要求を複数のＷＷＷサーバに振り分けることにより、その多数の情報配信要求に基づく負荷を分散するものである。
【０００３】
この負荷分散システムにおける複数のＷＷＷサーバへ情報配信処理要求を振り分けるための分散アルゴリズムとしては、単純に各ＷＷＷサーバに交互に振り分けるもの、負荷の少ないＷＷＷサーバに新規の処理要求を割り当てるもの、および応答の最も速いＷＷＷサーバへ振り分けるもの等がある。
【０００４】
一方、最近では、ネットワーク上に広域に散在する複数の計算機リソース｛複数の計算機（コンピュータ）および／または記憶装置等｝を有効に活用して科学技術計算やその他のアプリケーション処理を効率的に実行する研究がなされている。
【０００５】
その代表的なものとして、Ｇｒｉｄ（グリッド）システムがある。このＧｒｉｄシステムとは、複数の計算機リソースを網の目（グリッド）のように結合して仮想的に高性能コンピュータを作り、利用者（ユーザ）は、必要な時に必要な量だけ計算機リソースを取り出して用いるシステムである。
【０００６】
【発明が解決しようとする課題】
しかしながら、従来のＷＷＷサーバの負荷分散システムにおいては、基本的には、ユーザからＷｅｂコンテンツを構成するデータを転送する等の単純な処理を複数のＷＷＷサーバに振り分けているだけである。このため、ユーザを識別してＤＢＭＳ（ＤａｔａＢａｓｅ　Ｍａｎａｇｅｍｅｎｔ　Ｓｙｓｔｅｍ）と連動する等の複雑なアプリケーションにおいては、上述した従来の単純な負荷分散システムでは対応することが困難であった。
【０００７】
また、従来のＧｒｉｄシステム等の複数の計算機リソースを有効に活用するためのシステムにおいては、複数の計算機リソースやネットワークの状況に対応するように検討・研究が進められている。
【０００８】
しかしながら、従来のＧｒｉｄシステム等の複数の計算機リソースを有効に活用するためのシステムは、主として科学技術計算用アプリケーションに適するものであり、対応できるアプリケーションが限定されていた。
【０００９】
本発明は上述した事情に鑑みてなされたもので、従来のＷＷＷサーバ用の単純な負荷分散システムよりも柔軟かつ高度な分散処理、すなわち、計算機リソース／ネットワークリソース（計算機リソース間を結合するネットワークやネットワーク接続装置等）の効率的な割当処理を実行することができる分散処理システム、リソース割当方法およびプログラム、ならびにリソース割当プログラムが記録された記録媒体を提供することを第１の目的とする。
【００１０】
また、本発明は上述した事情に鑑みてなされたもので、様々なアプリケーションに対応することができる分散処理システム、リソース割当方法およびプログラム、ならびにリソース割当プログラムが記録された記録媒体を提供することを第２の目的とする。
【００１１】
【課題を解決するための手段】
上述した目的、すなわち、従来のＷＷＷサーバ用の単純な負荷分散システムよりも柔軟かつ高度な分散処理を実現するためには、計算機リソース／ネットワークリソースの状況に対する情報量を増やす必要がある。そして、その情報量を用いた効率的なリソース割当を実現するためには、アプリケーションタスク（アプリケーションを実行する計算機の処理単位）に割当可能な複数のリソース組み合わせ同士の性能の比較検討を簡易にする方法が必要になる。
【００１２】
そこで、本発明者等は、各リソースが対象となるアプリケーションタスクの種別に応じて性能が異なることに着目し、複数のリソースそれぞれの性能を表す情報を複数のアプリケーションタスクに関連付けて設定しておくことにより、この性能を表す情報を用いて複数のリソース組み合わせ同士の性能の比較検討を簡易に行えるようにした。
【００１３】
すなわち、上述した目的を達成するための請求項１記載の発明によれば、アプリケーションタスク処理用の複数のリソースをネットワーク上に分散配置して構成された分散処理システムであって、複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量をアプリケーションタスク毎に管理する管理手段と、前記複数のアプリケーションタスクに関連付けて設定された前記複数のリソースそれぞれの性能を表す情報を記憶する記憶手段と、入力されたアプリケーションタスクの処理要求に応じて、前記管理手段の管理内容を参照し、当該アプリケーションタスクの処理に割当可能な複数のリソース組み合わせを把握し、前記記憶手段の記憶内容を参照して、把握した複数のリソース組み合わせから前記アプリケーションタスクの処理に割り当てる１つのリソース組み合わせを決定する決定手段と、を備えている。
【００１４】
請求項２記載の発明において、前記複数のリソースは、前記ネットワーク上の計算処理／記憶処理用のハードウエアである複数の計算機リソースと、当該複数の計算機リソースを結合するネットワークに係わるハードウエアである複数のネットワークリソースを含み、前記アプリケーションタスクの処理に割当可能である各リソース組み合わせは、少なくとも１つの計算機リソースおよび少なくとも１つのネットワークリソースの組み合わせから構成されており、前記決定手段は、前記各リソース組み合わせを構成する少なくとも１つの計算機リソースおよび少なくとも１つのネットワークリソースを組み合わせて仮想リソースとした場合のその仮想リソースの性能を表す情報を前記記憶手段の記憶内容を参照して求め、求めた複数の仮想リソースの性能値を表す情報に基づいて、当該複数の仮想リソースの中から１つの仮想リソースを選択し、選択した仮想リソースに対応するリソース組み合わせを前記アプリケーションタスクの処理に割り当てる手段である。
【００１５】
請求項３記載の発明においては、前記複数のリソースそれぞれの性能を表す情報は、前記複数のアプリケーションタスクそれぞれの種別に応じて定められた評価関数により決定された当該複数のリソースそれぞれの性能値である。
【００１６】
請求項４記載の発明では、前記複数のリソースそれぞれの性能を表す情報は、前記複数のアプリケーションタスクの組み合わせに必要なリソースの組み合わせ毎に定められた評価関数により決定された当該リソース組み合わせ単位の性能値である。
【００１７】
請求項５記載の発明においては、前記決定手段により決定されたリソース組み合わせに対応する複数のリソースを用いて前記処理要求に対応するアプリケーションタスクを実行する実行手段と、この実行手段の実行結果に基づいて、前記アプリケーションタスク実行に用いた複数のリソースそれぞれの実際の性能値を求め、求めた複数のリソースそれぞれ実際の性能値と前記記憶手段に記憶された当該複数のリソースそれぞれの評価関数により決定された性能値とを比較し、この比較結果に応じて当該複数のリソースそれぞれの評価関数を補正する手段と、
を備えている。
【００１８】
また、上述した目的を達成するための請求項６記載の発明によれば、アプリケーションタスク処理用の複数のリソースをネットワーク上に分散配置して構成されており、複数のアプリケーションタスクに関連付けて設定された前記複数のリソースそれぞれの性能を表す情報を記憶する記憶部を有する分散処理システムに適用されるコンピュータが実行可能なリソース割当プログラムであって、複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量をアプリケーションタスク毎に管理する処理と、入力されたアプリケーションタスクの処理要求に応じて、前記管理処理による管理内容を参照し、当該アプリケーションタスクの処理に割当可能な複数のリソース組み合わせを把握し、前記記憶部の記憶内容を参照して、把握した複数のリソース組み合わせから前記アプリケーションタスクの処理に割り当てる１つのリソース組み合わせを決定する処理と、それぞれ前記コンピュータに実行させる。
【００１９】
請求項７記載の発明は、請求項６記載のリソース割当プログラムが記録されたことを特徴とする記録媒体である。
【００２０】
さらに、上述した目的を達成するための請求項８記載の発明によれば、アプリケーションタスク処理用の複数のリソースをネットワーク上に分散配置して構成された分散処理システムに適用されるリソース割当方法であって、複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量をアプリケーションタスク毎に管理するステップと、前記複数のアプリケーションタスクに関連付けて設定された前記複数のリソースそれぞれの性能を表す情報を記憶するステップと、入力されたアプリケーションタスクの処理要求に応じて、前記管理ステップの管理内容を参照し、当該アプリケーションタスクの処理に割当可能な複数のリソース組み合わせを把握し、前記記憶ステップの記憶内容を参照して、把握した複数のリソース組み合わせから前記アプリケーションタスクの処理に割り当てる１つのリソース組み合わせを決定するステップと、を備えている。
【００２１】
【発明の実施の形態】
本発明に係る分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体の実施の形態について、添付図面を参照して説明する。
【００２２】
（第１の実施の形態）
図１は、本発明の第１の実施の形態に係る分散処理システムの全体構成を示す図である。
【００２３】
図１に示すように、分散処理システムは、ネットワークを介して入力されたアプリケーションタスク処理要求に応じて、そのアプリケーションタスクに割当可能なリソース組み合わせの性能を評価し、最適なリソース組み合わせを決定するためのタスク評価装置１を備えている。
【００２４】
このタスク評価装置１には、複数のアプリケーションタスクそれぞれに必要なリソースの種類および使用量がアプリケーションタスク毎に記憶・管理されている。
【００２５】
また、分散処理システムは、複数のリソース（計算機リソース１０／ネットワークリソース１１）それぞれに対応するアプリケーションタスクの種別に応じて決定された複数のリソースそれぞれの性能を表す情報として、例えばアプリケーションタスクの種別に応じて定められた評価関数、およびその評価関数により決定されたリソースそれぞれの性能値を記憶する性能評価データベース２を備えている。なお、複数のリソースそれぞれの性能値は、対応するそれぞれの評価関数により求まるため、性能値自体をデータベース２に記憶しておかないことも可能である。
【００２６】
さらに、分散処理システムは、タスク評価装置１により決定されたリソース組み合わせに対応する複数のリソースを用いてアプリケーションタスクをアプリケーションサーバ４を介して実行させるためのアプリケーション管理装置３と、各リソースの性能値の時刻に応じた推移（変化）を管理するための性能管理装置５と、各リソースのスケジュール表データ｛各リソースの時刻毎の使用状況（所在、使用量、性能値等がリソース毎に表された表形式のデータ｝を記憶・管理するためのリソーススケジュール管理装置６とを備えている。
【００２７】
そして、分散処理システムは、ネットワークを所定の範囲毎に区画した際における各区画に設置されており、その各区画に含まれる複数の計算機リソースを管理するためのローカルリソース管理装置７と、各区画に含まれる複数のネットワークリソースを管理するためのネットワークリソース管理装置８とを備えている。
【００２８】
上述した複数の装置１〜８を、それぞれ少なくとも１台のコンピュータ（メモリを含む）により構成してもよく、また、装置１〜８全体を少なくとも１台のコンピュータにより構成し、各装置１〜８に対応する機能を少なくとも１台のコンピュータで実現してもよい。
【００２９】
例えば、装置１〜８全体を少なくとも１台のコンピュータにより構成し、各装置１〜８に対応する機能を少なくとも１台のコンピュータで実現した場合、各装置１〜８に対応する機能は、少なくとも１台のコンピュータのメモリ（記録媒体、磁気記録媒体、半導体記録媒体等を含む）に記録されたプログラムに基づく少なくとも１台のコンピュータにより実現される。
【００３０】
性能評価データベース２には、図１に示すように、各リソース（計算機リソース１０／ネットワークリソース１１）と、この各リソースのアプリケーションタスクの種別毎の評価関数と、その評価関数により決定された性能値（広域ネットワークを用いない場合に相当）とが互いに対応付けられて記憶されている。
【００３１】
すなわち、アプリケーションタスク実行時にネットワークを使用する影響は、帯域幅、遅延、パケットロス等に現れるが、それらの影響は、アプリケーションタスクの種別毎に異なる。したがって、アプリケーションタスクの種別毎に各リソースの性能値を最適化している。
【００３２】
例えば、ファイル転送が主な処理負荷となるアプリケーションタスクにおいては、ファイルサーバのファイル転送速度が重要であり、このファイルサーバの転送速度に係わる性能値を、他のアプリケーションタスクでファイルサーバが用いられた場合の性能値よりも高く評価する必要がある。
【００３３】
そこで、ファイル転送が主な処理負荷となるアプリケーションタスクにおけるファイルサーバの評価関数を、そのファイル転送速度に係わる性能値の重みが他のアプリケーションタスクにおけるファイルサーバのファイル転送速度に係わる性能値の重みよりも大きくなるような評価関数を設定することにより、タスク種別の違いに応じた性能値を把握することができる。
【００３４】
同様に、データ量の小さいメッセージのやり取りを主とするトランザクション型アプリケーションタスクにおいては、各計算機の処理能力と計算機間のネットワークにおけるメッセージ転送遅延とが支配的になる。
【００３５】
そこで、トランザクション型アプリケーションタスクにおける各計算機の評価関数を、その処理能力に係わる性能値の重みが他のアプリケーションタスクにおける処理能力の性能値の重みよりも大きくなるような評価関数を設定し、さらに、データ量の小さいメッセージのやり取りを主とするトランザクション型アプリケーションタスクにおける各計算機間のネットワークの評価関数を、そのネットワークのメッセージ転送遅延に係わる性能値の重みが他のアプリケーションタスクにおけるメッセージ転送遅延に係わる性能値の重みよりも大きくなるような評価関数を設定することにより、タスク種別の違いに応じた性能値を把握することができる。
【００３６】
さらに、一定速度の動画や音声等のマルチメディアデータの配信等を行うストリーム型アプリケーションタスクにおいては、サーバおよびネットワーク間の転送速度の維持状態およびそのネットワークの遅延が小さく揺らぎが少ないことが重要である。
【００３７】
そこで、ストリーム型アプリケーションタスクにおけるサーバおよびネットワークの評価関数を、そのサーバおよびネットワーク間の転送速度に係わる性能値の重みが他のアプリケーションタスクにおけるサーバおよびネットワーク間の転送速度に係わる性能値の重みよりも大きくなるような評価関数を設定し、さらに、ストリーム型アプリケーションタスクにおけるネットワークの評価関数を、そのネットワークの揺らぎに係わる性能値の重みが他のアプリケーションタスクにおけるネットワークの揺らぎに係わる性能値の重みよりも大きくなるような評価関数を設定することにより、タスク種別の違いに応じた性能値を把握することができる。
【００３８】
次に、本実施形態の分散処理システムの全体動作について、特にタスク評価装置１および性能管理装置５の処理動作を中心に説明する。
【００３９】
ネットワークを介してユーザの計算機（計算機リソース）からアプリケーションタスクの処理要求がタスク評価装置１に送信されると、タスク評価装置１は、処理要求に対応するアプリケーションタスクの処理に必要なリソースの種類および使用量を求める（ステップＳ１）。
【００４０】
次いで、タスク評価装置１は、性能管理装置５と通信して、上記リソースの種類および使用量に基づいて、アプリケーションタスクの処理に割り当てられる複数のリソース組み合わせを、性能管理装置５およびリソーススケジュール管理装置６により管理されている計算機リソース１０およびネットワークリソース１１の管理情報から把握し、把握した各リソース組み合わせを構成する複数のリソース（少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１）の性能値を、リソース組み合わせ毎に算出する（ステップＳ２）。
【００４１】
次いで、タスク評価装置１は、算出されたリソース組み合わせ毎の性能値に基づいて、最適なリソース組み合わせ（少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１）を決定する（ステップＳ３）。
【００４２】
そして、タスク評価装置１は、アプリケーションタスク処理要求に対応するアプリケーションタスクと、決定したリソース組み合わせに対応するリソース群（少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１）、すなわち、アプリケーションタスクの処理に割り当てられた少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１とをアプリケーション管理装置３に通知する（ステップＳ４）。
【００４３】
アプリケーション管理装置３は、通知された少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１の予約を性能管理装置５に対して行い、アプリケーションタスクを、アプリケーションサーバ４、予約した少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１を介して実行する。
【００４４】
このアプリケーションの実行が終了すると、アプリケーション管理装置３は、性能管理装置５に対して予約リソースの開放を行い、タスク評価装置１に実行の終了を通知する。
【００４５】
一方、性能管理装置５は、性能評価データベース２に記憶された各リソースの性能値を、上記リソースの予約／開放情報、およびリソーススケジュール管理装置６からのスケジュール表データに基づいて、管理している。
【００４６】
すなわち、性能管理装置５は、リソーススケジュール管理装置６から送られたスケジュール表データに基づいて各リソースの所在および性能値の推移を管理している（ステップＳ１０）。
【００４７】
そして、性能管理装置５は、アプリケーション管理装置３からのリソースの予約に応じて、上述したステップＳ３の処理により決定されたリソース群（少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１）をアプリケーション管理装置３に提供し、提供したリソース群に対応するスケジュール表データの更新要求をリソーススケジュール管理装置６に対して行うとともに、上記少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１それぞれの性能値の低下を、性能評価データベース２に反映させる（ステップＳ１１）。
【００４８】
また、性能管理装置５は、アプリケーション管理装置３によるリソースの解放に応じて、上述したステップＳ３の処理により決定された少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１の提供を終了し、対応する少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１に対応するスケジュール表データの更新要求をリソーススケジュール管理装置６に対して行うとともに、上記少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１それぞれの性能値の上昇を、性能評価データベース２に反映させる（ステップＳ１２）。
【００４９】
以上述べたように、本実施形態によれば、各リソース（計算機リソース１０／ネットワークリソース１１）と、この各リソースのアプリケーションタスクの種別毎の評価関数と、その評価関数により決定された性能値とを互いに対応付けて性能評価データベース２に記憶しているため、この性能評価データベース２を参照することにより、リソース割当対象となるアプリケーションタスクに対して、そのアプリケーションタスク種別の差異を考慮した状態での最適なリソース組み合わせ（少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１）を決定することができる。
【００５０】
したがって、様々なアプリケーションタスクに対して最適なリソース群（少なくとも１つの計算機リソース１０および少なくとも１つのネットワークリソース１１）を割り当てることが可能になる。
【００５１】
この結果、様々なアプリケーションに対応できる分散処理システムを提供することが可能になり、さらに、従来のＷＷＷサーバ用の単純な負荷分散システムよりも柔軟かつ高度な分散処理、すなわち、計算機リソース／ネットワークリソースの効率的な割当処理を実行することが可能な分散システムを提供することができる。
【００５２】
（第２の実施の形態）
図４は、本発明の第２の実施の形態に係る分散処理システムの全体構成を示す図である。
【００５３】
図４に示す分散処理システムにおいて、第１実施形態と特に異なる機能を有しているのは性能評価管理装置２５であり、その性能管理装置以外の構成要素（タスク評価装置２１、性能評価データベース２２、アプリケーション管理装置２３、アプリケーションサーバ２４、、リソーススケジュール管理装置２６、ローカルリソース管理装置２７、ネットワークリソース管理装置２８、計算機リソース２９およびネットワークリソース３０については、図１とは異なる符合を付しているものの、その機能は図１における対応する構成要素の機能と略同等であるため、その説明は省略または簡略化する。
【００５４】
本実施形態において、性能評価管理装置２５は、性能評価データベース２２やリソーススケジュール管理装置２６と通信を行い、複数のリソースそれぞれを表す情報として、リソース毎の性能値ではなく、少なくとも１つの計算機リソース２９と少なくとも１つのネットワークリソース３０とをまとめて（組み合わせて）仮想リソースを構成し、その仮想リソース毎の性能値を管理している。
【００５５】
仮想リソースの組み合わせの単位としては、アプリケーションタスクにおける基本的な処理に沿った要素等が挙げられる。
【００５６】
例えば、Ａという所在に位置する記憶装置がＢという場所からアクセスされた場合、仮にＢという所在に設置した記憶装置、すなわち、所在Ｂに位置する計算機リソースとみなして性能値を換算する。
【００５７】
このとき、Ａ−Ｂ間のネットワークは転送速度を制限するもの、あるいは遅延を生じさせるものとして記憶装置の性能に反映させる。
【００５８】
本明細書では、このように、少なくとも１つの計算機リソースおよび少なくとも１つのリソースを組み合わせてどちらか一方のリソースのことを仮想リソースとして表現する。
【００５９】
具体的に述べれば、比較的大規模のファイル転送のアプリケーションタスクにおいて、性能に大きな影響を与えるのはファイルサーバのファイル転送速度および中継するネットワークの帯域である。そこで、性能評価管理装置２３は、そのファイルサーバのファイル転送速度に係わる性能値および中継するネットワークの帯域に係わる性能値を比較して、小さい性能値を有しているリソース（例えば、ファイルサーバ）を仮想リソースとし、その仮想リソースの性能値を管理する。
【００６０】
すなわち、本実施形態において、タスク評価装置２１は、性能評価管理装置２５と通信して、上記リソースの種類および使用量に基づいて、アプリケーションタスクの処理に割り当てられる複数のリソース組み合わせを、性能評価管理装置２５およびリソーススケジュール管理装置２６により管理されている計算機リソース２９およびネットワークリソース３０の管理情報から把握する。
【００６１】
次いで、タスク評価装置２１は、把握した各リソース組み合わせを構成する複数のリソース（少なくとも１つの計算機リソース２９および少なくとも１つのネットワークリソース３０）に対応する仮想リソースを性能評価管理装置２５に問い合わせる。
【００６２】
性能評価管理装置２５は、問い合わせられた複数のリソース組み合わせそれぞれに対応する複数の仮想リソースおよびその性能値が一覧表示された仮想リソース一覧表示データをタスク評価装置２１に提示する。
【００６３】
タスク評価装置２１は、提示された仮想リソース一覧表示データにおける複数の仮想リソースそれぞれの性能値に基づいて、最適な仮想リソースを決定し、決定した仮想リソースおよび対応するアプリケーションタスクを含むアプリケーションタスク実行指示をアプリケーション管理装置２５に送信する。
【００６４】
アプリケーション管理装置２５は、送信されたアプリケーション実行指示に応じて、その仮想リソースの予約を性能評価管理装置２５に送信する。
【００６５】
性能評価管理装置２５は、予約された仮想リソースを実際のリソース組み合わせ（少なくとも１つの計算機リソース２９および少なくとも１つのネットワークリソース３０）に還元し、還元して得られたリソース組み合わせに対応するリソース群（少なくとも１つの計算機リソース２９および少なくとも１つのネットワークリソース３０）をアプリケーション管理装置２５に提供し、提供したリソース群に対応するスケジュール表データの更新要求をリソーススケジュール管理装置６に対して行うとともに、上記少なくとも１つの計算機リソース２９および少なくとも１つのネットワークリソース３０それぞれの性能値の低下を、性能評価データベース２に反映させる。
【００６６】
このとき、次のアプリケーションタスク処理要求が入力された場合には、タスク評価装置２１および性能評価管理装置２５は、そのアプリケーションタスク処理要求に基づいて、上述した仮想リソースに基づくリソース組み合わせ決定処理を実行する。
【００６７】
一方、性能評価管理装置２５は、アプリケーション管理装置２３によるリソースの解放に応じて、第１実施形態と同様に、上述処理により決定された少なくとも１つの計算機リソース２９および少なくとも１つのネットワークリソース３０の提供を終了し、対応する少なくとも１つの計算機リソース２９および少なくとも１つのネットワークリソース３０に対応するスケジュール表データの更新要求をリソーススケジュール管理装置６に対して行うとともに、上記少なくとも１つの計算機リソース２９および少なくとも１つのネットワークリソース３０それぞれの性能値の上昇を、性能評価データベース２２に反映させる。
【００６８】
以上述べたように、本実施形態では、タスク評価装置２１は、アプリケーションタスクの処理に割り当てられる複数のリソース組み合わせそれぞれの性能値を計算するのではなく、複数のリソース組み合わせに対応する複数の仮想リソースそれぞれの計算を実行している。
【００６９】
このため、第１実施形態と比べて、タスク評価装置２１における処理負荷の低減という新たな効果を生じさせることができる。
【００７０】
（第３の実施の形態）
図５は、本発明の第３の実施の形態に係る分散処理システムの全体構成を示す図である。
【００７１】
図５に示す分散処理システムにおいて、第１実施形態と特に異なる構成要素は、タスク評価装置３１および性能評価データベース３２であり、それ以外の構成要素（アプリケーション管理装置３３、アプリケーションサーバ３４、性能管理装置３５、リソーススケジュール管理装置３６、ローカルリソース管理装置３７、ネットワークリソース管理装置３８、計算機リソース３９およびネットワークリソース４０については、図１とは異なる符合を付しているものの、その機能は図１における対応する構成要素の機能と略同等であるため、その説明は省略または簡略化する。
【００７２】
本実施形態において、性能評価データベース３２は、アプリケーションタスクの種別に応じたリソース評価値をアプリケーションタスク種別毎に保持せずに、複数のアプリケーションタスクを基本的、すなわち、頻繁に出現するタスクの組み合わせ単位に分解し、分解したタスク組み合わせと、そのタスク組み合わせに必要なリソースの組み合わせを構成する複数のリソースそれぞれの性能値の和と、そのタスク組み合わせに対応する評価関数とを互いに関連付けた状態で保持している。
【００７３】
すなわち、頻繁に出現するタスクの組み合わせから成るアプリケーションタスク処理要求に対しては、そのアプリケーションタスク組み合わせに対応するリソースの組み合わせの評価値を雛型として用意しており、アプリケーションタスク組み合わせに対するリソース組み合わせの評価値を即座に認識することができる。
【００７４】
以下、アプリケーションタスク組み合わせの性能値を導出する評価関数を下式（１）に示す。
【００７５】
【数１】
2004046372.tif 000003
【００７６】
上式（１）において、ｄａｔａｓｉｚｅは、処理データのサイズ、ｔｐｒｏｃｅｓｓは、アプリケーションタスク組み合わせの性能値としての処理時間、ｐｃｐｕが計算機（ＣＰＵ）の処理能力（無負荷時の最大処理能力から、その時点におけるその他の処理負荷を引いたもの）、ｐｓｔｏｒがストレージ（記憶装置）アクセスにおけるデータ転送速度、ｔｍｅｓｓａｇｅがメッセージ１回の通信にかかる時間、ｌｍｓｉｚｅがメッセージのサイズである。
【００７７】
また、ストレージアクセスに関して、処理サーバがｈｏｓｔｓｒｖ、処理するデータを保存している記憶装置（ストレージサーバ）がｈｏｓｔｓｔｏ、処理するデータの転送元がｈｏｓｔｓｒｃ、処理するデータの転送先がｈｏｓｔｄｓｔとしてそれぞれ表されている。
【００７８】
さらに、ａは、ＣＰＵの処理負荷係数、ｂは、処理前のデータコピーのためのデータアクセス係数、ｃは、処理のためのデータアクセス係数、ｄは処理後データのコピーのためのデータアクセス係数、ｅは、メッセージ通信回数のための係数である。
【００７９】
例えば、ある動画データ保管用ストレージからデータをコピーし、そのデータに何らかの処理を加えてユーザに渡すような処理（タスクの組み合わせ）を考える場合、保管用ストレージをｈｏｓｔｓｔｏ、処理を行うサーバをｈｏｓｔｓｒｖ、ユーザをｈｏｓｔｕｓｒとすると、（１）式は下式（２）のように変形できる。
【００８０】
【数２】
2004046372.tif 000004
【００８１】
ここで、ｂｗｉｏは各ホストにおける入出力速度、ｇは同時アクセス数である。なお、パラメータｇの導入は、アクセス数によって入出力速度が変化するためである。また、ｂｗｎｗは、ネットワークの速度である。
【００８２】
すなわち、本実施形態において、タスク評価装置３１は、処理要求に対応するアプリケーションタスクが性能評価データベース３２に予め保持されているアプリケーションタスクの組み合わせであった場合、そのアプリケーションタスクの組み合わせに対応するリソースの組み合わせおよびその性能値の総和を性能評価データベース３２を参照して容易に把握することができる（上記（１）式や（２）式参照）。
【００８３】
この結果、アプリケーションタスク組み合わせに対するリソースの割当を容易に行うことができる。また、新規のアプリケーションタスクの追加に対し、その評価を容易に実現することができる。
【００８４】
（第４の実施の形態）
図６は、本発明の第４の実施の形態に係る分散処理システムの全体構成を示す図である。
【００８５】
図６に示す分散処理システムは、第１あるいは第３実施形態の構成要素に加えて（図６においては、第３実施形態の構成を示している）、性能評価データベース５２およびアプリケーション管理装置５３に接続された性能特性学習装置６１を備えている。
【００８６】
なお、図６に示す構成要素（タスク評価装置５１、性能評価データベース５２、アプリケーション管理装置５３、アプリケーションサーバ５４、性能管理装置５５、リソーススケジュール管理装置５６、ローカルリソース管理装置５７、ネットワークリソース管理装置５８、計算機リソース５９およびネットワークリソース６０については、図１とは異なる符合を付しているものの、その機能は図１における対応する構成要素の機能と略同等であるため、その説明は省略または簡略化する。
【００８７】
本実施形態において、アプリケーション管理装置５３は、第１実施形態等と同様に、通知された少なくとも１つの計算機リソース５９および少なくとも１つのネットワークリソース６０の予約を性能管理装置５５に対して行い、アプリケーションタスクを、アプリケーションサーバ５４、予約した少なくとも１つの計算機リソース５９および少なくとも１つのネットワークリソース６０を介して実行する。
【００８８】
このとき、アプリケーション管理装置５３は、アプリケーションサーバ５４を介して、上記アプリケーションタスクの実行結果を取得し、その実行結果に基づいて、割り当てた少なくとも１つの計算機リソース５９および少なくとも１つのネットワークリソース６０のアプリケーションタスク処理状況・処理能力をモニタし、そのモニタ結果を性能特性学習装置６１に通知する。
【００８９】
性能特性学習装置６１は、アプリケーションタスクの種別に応じて定められた評価関数により求められた性能値に基づいて割り当てたリソース群（少なくとも１つの計算機リソース５９および少なくとも１つのネットワークリソース６０）の性能値と、モニタ結果に基づいて得られた上記リソース群（少なくとも１つの計算機リソース５９および少なくとも１つのネットワークリソース６０）の実際の性能値とを比較し、この比較結果に応じて、性能評価データベース５２における対応するリソース群それぞれに設定された評価関数を補正（修正）し、その評価関数により求められるリソース群それぞれ性能値を実際の性能値に合わせる。
【００９０】
この結果、性能評価データベース５２に記憶されている評価関数により求められる各リソースの性能値を、実際にアプリケーションタスクに割り当てられた各リソースの実際の性能値に一致させることができ、リソース割当効率をさらに向上させることができる。
【００９１】
【発明の効果】
以上述べたように、本発明に係わる分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体によれば、複数のアプリケーションタスクに関連付けて設定された、複数のリソースそれぞれの性能を表す情報を記憶している。
【００９２】
このため、この記憶内容を参照することにより、リソース割当対象となるアプリケーションタスクに適した性能を表す情報を有するリソース組み合わせ（例えば、少なくとも１つの計算機リソースおよび少なくとも１つのネットワークリソースの組み合わせ）を決定することができる。
【００９３】
したがって、様々なアプリケーションタスクに対して、そのアプリケーションタスクに適したリソース組み合わせを割り当てることが可能になる。
【００９４】
この結果、様々なアプリケーションに対応してリソース割当ができる分散処理システム、リソース割当方法およびプログラム、ならびにリソース割当プログラムが記録された記録媒体を提供することが可能になる。
【００９５】
また、従来のＷＷＷサーバ用の単純な負荷分散システムよりも柔軟かつ高度な分散処理（リソース割当処理）を実行可能な分散システム、リソース割当方法およびプログラム、ならびにリソース割当プログラムが記録された記録媒体を提供することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係わる分散処理システムの全体構成を示すブロック図。
【図２】図１に示すタスク評価装置の処理の一例を示す概略フローチャート。
【図３】図１に示す性能管理装置の処理の一例を示す概略フローチャート。
【図４】本発明の第２の実施の形態に係わる分散処理システムの全体構成を示すブロック図。
【図５】本発明の第３の実施の形態に係わる分散処理システムの全体構成を示すブロック図。
【図６】本発明の第４の実施の形態に係わる分散処理システムの全体構成を示すブロック図。
【符号の説明】
１、２１、３１、５１　タスク評価装置
２、２２、３２、５２　性能評価データベース
３、２３、３３、５３　アプリケーション管理装置
４、２４、３４、５４　アプリケーションサーバ
５、３５、５５　性能管理装置
６、２６、３６、５６　リソーススケジュール管理装置
７、２７、３７、５７　ローカルリソース管理装置
８、２８、３８、５８　ネットワークリソース管理装置
１０、２９、３９、５９　計算機リソース
１１、３０、４０、６０　ネットワークリソース
２５　性能評価管理装置
６１　性能特性学習装置
【図１】
2004046372.tif 000005
【図２】
2004046372.tif 000006
【図３】
2004046372.tif 000007
【図４】
2004046372.tif 000008
【図５】
2004046372.tif 000009
【図６】
2004046372.tif 000010