(57)【特許請求の範囲】
【請求項１】
複数の情報処理装置が接続されたグリッドコンピューティングシステムで用いられ、
前記情報処理装置の各々が、自己の処理能力を示す指標値を格納する自己指標値格納部と、
ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、
前記自己指標値格納部に格納された指標値、及び、当該ジョブの処理内容に基づいて、当該ジョブを当該情報処理装置において実行すると判断した場合に、当該ジョブを実行するジョブ実行部と、
当該ジョブを自己において実行しないと判断した場合に、当該ジョブ実行要求を、自己に接続する他の情報処理装置に転送する要求送信部とを備えており、
前記ジョブ実行部は、前記自己指標値格納部に格納された指標値が、要求された当該ジョブに要する処理能力より高い処理能力を示す場合に、当該ジョブを自己において実行すると判断し、
前記ジョブ実行部は、前記自己指標値格納部に格納された指標値が、要求された当該ジョブに要する処理能力より低い処理能力を示し、かつ、当該ジョブに要する処理能力を示す指標値と、前記自己指標値格納部に格納された指標値との差が、予め定められた基準差分値以内である場合に、更に、当該ジョブを自己において実行すると判断する情報処理装置。
【請求項２】
自己に接続する複数の情報処理装置の各々に対応付けて、自己の処理能力を示す指標値を格納する接続先指標値格納部を更に備え、
前記要求送信部は、自己に接続する複数の情報処理装置のうち、前記接続先指標値格納部に格納された指標値が予め定められた条件を満たす情報処理装置に、前記ジョブ実行要求を転送する請求項１記載の情報処理装置。
【請求項３】
前記ジョブを実行する場合に、前記自己指標値格納部は、格納している前記指標値を、当該指標値と比較して自己の処理能力が低い旨を示す指標値に変更し、
自己に接続する何れかの情報処理装置がジョブを実行する場合に、前記接続先指標値格納部は、ジョブを実行する当該情報処理装置に対応付けて格納している前記指標値を、当該指標値と比較して自己の処理能力が低い旨を示す指標値に変更する請求項２記載の情報処理装置。
【請求項４】
前記ジョブ実行部は、前記自己指標値格納部に格納された指標値が、前記接続先指標値格納部に格納された指標値と比較して、より高い処理能力を示す場合に、要求されたジョブを自己において実行すると判断する請求項２記載の情報処理装置。
【請求項５】
前記ジョブ実行部は、前記ジョブ実行要求が既に他の情報処理装置により転送された累積回数がより多い場合に、当該累積回数がより少ない場合と比較して、前記基準差分値をより大きい値に設定する請求項１記載の情報処理装置。
【請求項６】
前記要求送信部は、要求されたジョブを当該情報処理装置において実行しないと判断した場合に、当該情報処理装置を識別する識別情報を、当該ジョブ実行要求を転送した情報処理装置の履歴を示す履歴情報として、当該ジョブ実行要求に含めて転送し、
前記要求取得部は、当該ジョブ実行要求に含まれる履歴情報に、自己の識別情報が含まれる場合に、ジョブの転送元である情報処理装置にジョブ実行要求を返送する請求項１記載の情報処理装置。
【請求項７】
前記要求取得部が取得したジョブ実行要求の識別情報の履歴を格納するジョブ履歴格納部を更に備え、
前記要求取得部は、取得したジョブ実行要求の識別情報が、前記ジョブ履歴格納部に格納された履歴に含まれる場合に、ジョブの転送元である情報処理装置にジョブ実行要求を返送する請求項１記載の情報処理装置。
【請求項８】
前記要求送信部は、要求されたジョブを当該情報処理装置において実行しないと判断した場合に、当該ジョブ実行要求が転送された回数を示す転送回数情報に、１を加えて、当該転送回数情報を、当該ジョブ実行要求に含めて送信し、
前記要求取得部は、当該転送回数情報を含むジョブ実行要求を取得し、取得した転送回数情報が、予め定められた基準回数以上の転送回数を示す場合に、ジョブの転送元である情報処理装置にジョブ実行要求を返送する請求項１記載の情報処理装置。
【請求項９】
前記ジョブ実行部は、ジョブを実行する場合に、自己の処理能力を示す指標値の変更を通知する変更通知に、当該ジョブの識別情報を含めて、自己に接続される他の情報処理装置に送信し、
前記自己指標値格納部は、自己に接続される他の各々の情報処理装置における処理能力に基づく指標値を更に格納しており、前記変更通知を受け取った場合において、前記変更通知に含めて送信されたジョブの識別情報を既に受け取っていないことを条件として、当該変更通知に基づいて当該指標値を変更し、当該指標値の変更を通知する変更通知に当該識別情報を含めて、自己に接続された他の情報処理装置に更に送信する請求項１記載の情報処理装置。
【請求項１０】
さらに、前記情報処理装置の各々は、前記グリッドコンピューティングシステムを構成する情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、自己に接続する前記他の情報処理装置のうち、当該指標が示す処理能力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充足装置情報格納部と、
前記ジョブ実行要求が要求するジョブの処理内容に基づいて、当該ジョブに要する処理能力を示す指標に対応する識別情報を、前記条件充足装置情報格納部から選択する条件充足装置選択部とを備えており、
前記要求送信部は、要求された当該ジョブを自己において実行しないと判断した場合に、前記条件充足装置選択部により選択された識別情報の示す情報処理装置の何れかに、当該ジョブ実行要求を転送する請求項１記載の情報処理装置。
【請求項１１】
自己に接続する複数の情報処理装置の各々に対応付けて、自己の処理能力を示す指標値として、自己に設けられたデバイス又は自己にインストールされたソフトウェアの特性を示す特性指標の指標値と、自己が処理中のジョブの処理負荷を示す負荷指標の指標値とを格納する接続先指標値格納部を更に備え、
前記条件充足装置情報格納部は、前記特性指標の各々に対応付けて、当該特性指標が示す処理能力が前記基本条件を満たす情報処理装置の識別情報を格納し、
前記条件充足装置選択部は、要求されたジョブの処理内容に基づいて、当該ジョブに要する処理能力を示す特性指標に対応する識別情報を、前記条件充足装置情報格納部から選択し、
前記要求送信部は、要求された当該ジョブを自己において実行しないと判断した場合に、前記条件充足装置選択部により選択された識別情報の示す情報処理装置のうち、前記負荷指標の指標値が予め定められた条件を満たす情報処理装置に、当該ジョブ実行要求を転送する請求項１０記載の情報処理装置。
【請求項１２】
情報処理装置の処理能力を示す他の指標を追加する指示を使用者から受けた場合に、当該指標の指標値の算出方法、及び、前記条件充足装置情報格納部に識別情報を格納させるために当該指標値が満たすべき前記基本条件を、他の情報処理装置に通知する指標値追加部を更に備え、
前記条件充足装置情報格納部は、自己に接続される他の情報処理装置の各々について、前記指標値追加部から受け取った算出方法により指標値を算出し、算出した指標値が前記基本条件を満たす情報処理装置の識別情報を、当該指標に対応付けて格納する請求項１０記載の情報処理装置。
【請求項１３】
前記グリッドコンピューティングシステムには、複数の前記情報処理装置の何れかにジョブを実行させるジョブ実行要求生成装置が備えられており、
前記情報処理装置の各々は、さらに、要求されたジョブを自己において実行すると判断した場合に、当該ジョブ実行要求を生成した前記ジョブ実行要求生成装置に当該ジョブを実行する旨を通知するジョブ実行通知部を有し、
前記ジョブ実行要求生成装置は、前記ジョブ実行要求を生成し、生成した当該ジョブ実行要求を、２以上の情報処理装置の各々に送信するジョブ実行要求送信部と、
送信した当該ジョブ実行要求に対して、当該ジョブを実行する旨の複数の通知を受け取った場合に、当該複数の通知の送信元である複数の情報処理装置のうち、予め定められた条件を満たす情報処理装置を選択して、選択した当該情報処理装置にジョブを実行させるジョブ実行指示部とを備え、
前記要求取得部は、取得したジョブ実行要求を過去に既に取得したと判断した場合に取得した前記ジョブ実行要求を当該ジョブ実行要求の転送元に返送し、
前記ジョブ実行要求送信部は、ジョブ実行要求の返送を受けた場合に、当該ジョブ実行要求を、前記２以上の情報処理装置と異なる他の情報処理装置に送信する請求項１記載の情報処理装置。
【請求項１４】
複数の情報処理装置が接続されたグリッドコンピューティングシステムで用いられ、前記情報処理装置を制御する制御方法であって、
前記情報処理装置の各々は、自己の処理能力を示す指標値を格納する自己指標値格納部を有しており、
ジョブの実行を要求するジョブ実行要求を取得した際に、前記自己指標値格納部に格納された指標値が、要求された当該ジョブに要する処理能力より高い処理能力を示す場合に、当該ジョブを自己において実行すると判断する第１の判断段階と、
前記自己指標値格納部に格納された指標値が、要求された当該ジョブに要する処理能力より低い処理能力を示し、かつ、当該ジョブに要する処理能力を示す指標値と、前記自己指標値格納部に格納された指標値との差が、予め定められた基準差分値以内である場合に、更に、当該ジョブを自己において実行すると判断する第２の判断段階とを備える制御方法。
【請求項１５】
前記情報処理装置の各々は、
複数の前記情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、自己に接続する複数の情報処理装置のうち、当該指標が示す処理能力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充足装置情報格納部を有しており、
実行すべきジョブの処理内容に基づいて、当該ジョブに要する処理能力を示す指標に対応する識別情報を、前記条件充足装置情報格納部から選択する条件充足装置選択段階と、
選択した識別情報が示す情報処理装置のうち、予め定められた条件を満たす情報処理装置に、当該ジョブの実行を要求するジョブ実行要求を送信する要求送信段階とを備える請求項１４記載の制御方法。
【請求項１６】
複数の情報処理装置が接続されたグリッドコンピューティングシステムで用いられ、前記情報処理装置を制御するプログラムであって、
前記情報処理装置の各々は、自己の処理能力を示す指標値を格納する自己指標値格納部を有しており、
前記情報処理装置に、ジョブの実行を要求するジョブ実行要求を取得した際に、前記自己指標値格納部に格納された指標値が、要求された当該ジョブに要する処理能力より高い処理能力を示す場合に、当該ジョブを自己において実行すると判断する第１の判断ステップと、
前記自己指標値格納部に格納された指標値が、要求された当該ジョブに要する処理能力より低い処理能力を示し、かつ、当該ジョブに要する処理能力を示す指標値と、前記自己指標値格納部に格納された指標値との差が、予め定められた基準差分値以内である場合に、更に、当該ジョブを自己において実行すると判断する第２の判断ステップとを実行させるプログラム。
【請求項１７】
前記情報処理装置の各々は、
複数の前記情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、自己に接続する複数の情報処理装置のうち、当該指標が示す処理能力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する条件充足装置情報格納部を有しており、
前記情報処理装置に、実行すべきジョブの処理内容に基づいて、当該ジョブに要する処理能力を示す指標に対応する識別情報を、前記条件充足装置情報格納部から選択する条件充足装置選択ステップと、
選択した識別情報が示す情報処理装置のうち、予め定められた条件を満たす情報処理装置に、当該ジョブの実行を要求するジョブ実行要求を送信する要求送信ステップとを実行させる請求項１６記載のプログラム。
【請求項１８】
請求項１６又は１７に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体に関する。特に、本発明は、ジョブの処理内容に応じて適切な情報処理装置にそのジョブを処理させるグリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体に関する。
【背景技術】
【０００２】
近年、複数の情報処理装置をネットワークにより接続し、これらの情報処理装置が協働して要求されたジョブを実行するグリッドコンピューティングシステムが注目されている。従来、グリッドコンピューティングシステムにおいて、予め定められたジョブ管理サーバは、システム内の全ての情報処理装置の状況を管理している。そして、ジョブ管理サーバに設けられたスケジューラは、処理能力が余剰している等の所定の条件を満たす情報処理装置等に、ジョブを実行させる。【０００３】
関連技術として、ネットワーク上で通信経路を探索する技術が提案されている（特許文献１及び２参照。）。
【特許文献１】特開平７−６６８３４号公報
【特許文献２】特開２００１−１７５５６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、システム内に多数の情報処理装置が存在する場合には、ジョブ管理サーバは、システム内の全ての情報処理装置を適切に管理できない場合がある。例えば、近年のネットワーク技術の普及に伴い、互いに異なる組織により管理された複数の情報処理装置がネットワークにより接続されるようになってきており、各組織で新たに情報処理装置を追加、又は、ネットワークから切り離した場合等に、その旨を適切に管理するのは容易でない。【０００５】
また、各組織が独自にジョブ管理サーバを起動している場合には、様々な不都合が発生する。例えば、ある情報処理装置の処理能力が余剰している場合には、複数のジョブ管理サーバは、その情報処理装置にそれぞれジョブを実行させようとする。このため、その情報処理装置の計算資源の利用が競合し、結果としてジョブの実行が非効率になる場合がある。また、ジョブ管理サーバが管理する情報処理装置の数が膨大になると、ジョブ管理サーバの負荷が増大して処理不能に陥る場合もある。【０００６】
これに対して、複数のジョブ管理サーバを更に管理する統合的な管理サーバを設ける解決策が考えられる。しかしながら、複数のジョブ管理サーバが互いに離れて設置されている場合や、複数のジョブ管理サーバが互いに大きく異なる方法により情報処理装置を管理する場合には、統合的な管理サーバを設けることは困難である。【０００７】
また、上記特許文献１及び２は、ある情報処理装置から他の情報処理装置に至る経路を選択する経路選択を目的としている。このため、通信元及び通信先の各情報処理装置が予め定まっていることが前提となっている。従って、これらの文献に記載された技術を、ジョブを何れの情報処理装置において実行させるか否かを判断するスケジューリング処理に応用することは困難である。【０００８】
そこで本発明は、上記の課題を解決することのできるグリッドコンピューティングシステム、情報処理装置、ジョブ実行要求生成装置、制御方法、プログラム、及び記録媒体を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明の第１の形態においては、複数の情報処理装置を備えたグリッドコンピューティングシステムであって、複数の情報処理装置の各々が、当該情報処理装置の処理能力を示す指標値を格納する自己指標値格納部と、ジョブの実行を要求するジョブ実行要求を取得する要求取得部と、自己指標値格納部に格納された指標値、及び、当該ジョブの処理内容に基づいて、当該ジョブを当該情報処理装置において実行すると判断した場合に、当該ジョブを実行するジョブ実行部と、当該ジョブを当該情報処理装置において実行しないと判断した場合に、当該ジョブ実行要求を、当該情報処理装置に接続する他の情報処理装置に転送する要求送信部とを有するグリッドコンピューティングシステム、グリッドコンピューティングが有する情報処理装置、当該情報処理装置を制御する制御方法、当該情報処理装置を制御するプログラム、及び当該プログラムを記録した記録媒体を提供する。【００１０】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【発明の効果】
【００１１】
本発明によれば、グリッドコンピューティングシステムを効率的に運用できる。
【発明を実施するための最良の形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。【００１３】
図１は、グリッドコンピューティングシステム１０の概略を示す。グリッドコンピューティングシステム１０は、複数の情報処理装置を備える。そして、グリッドコンピューティングシステム１０は、ジョブの実行を要求するジョブ実行要求を、複数の情報処理装置に順次転送させる。そして、グリッドコンピューティングシステム１０は、各々の情報処理装置において、そのジョブをその情報処理装置において実行すべきか否かを判断させる。このように、グリッドコンピューティングシステム１０は、特定のジョブ管理サーバを設けることなく、各々の情報処理装置が自律的にジョブをスケジューリングすることを目的とする。【００１４】
グリッドコンピューティングシステム１０は、ネットワーク１と、ネットワーク２と、ネットワーク３とを備える。ネットワーク１から３は、例えば、それぞれ互いに異なる組織により管理されている。ネットワーク１は、情報処理装置２０と、情報処理装置Ｅと、情報処理装置Ｆと、情報処理装置Ｇと、情報処理装置Ｈとを有する。ネットワーク２は、情報処理装置Ｂと、情報処理装置Ｃと、情報処理装置Ｄとを有する。ネットワーク３は、情報処理装置Ａと、情報処理装置Ｉと、ジョブ実行要求生成装置３０とを有する。【００１５】
ジョブ実行要求生成装置３０は、使用者からジョブの実行の指示を入力すると、ジョブ実行要求を生成し、情報処理装置Ａ及び情報処理装置Ｃに送る。そして、情報処理装置Ａは、ジョブ実行要求に基づいて、そのジョブを情報処理装置Ａにおいて実行するか否かを判断する。情報処理装置Ａにおいて実行しないと判断した場合には、情報処理装置Ａは、情報処理装置２０にジョブ実行要求を転送する。なお、グリッドコンピューティングシステム１０は、複数のジョブ実行要求生成装置３０を備えてもよい。また、ジョブ実行要求生成装置３０は、情報処理装置２０の機能を更に有してもよい。本実施例では、便宜上、グリッドコンピューティングシステム１０が、１つのジョブ実行要求生成装置３０を有し、ジョブ実行要求生成装置３０が、情報処理装置２０の機能を有していない場合について説明する。【００１６】
情報処理装置２０は、情報処理装置の互いに異なる処理能力を示す指標の各々に対応付けて、その指標が示す処理能力が予め定められた基本条件を満たす情報処理装置の識別情報を予め格納している。例えば本図において、情報処理装置２０に接続する情報処理装置のうち、ＣＰＵの動作周波数が所定以上の情報処理装置への接続を、点線で示す。また、メモリの容量が所定以上の情報処理装置への接続を、実線で示す。【００１７】
情報処理装置２０は、ジョブ実行要求を情報処理装置Ａから取得すると、そのジョブを情報処理装置２０において実行するべきか否かを判断する。実行するべきでないと判断した場合に、情報処理装置２０は、ジョブの処理内容に基づいて、例えばＣＰＵの動作周波数が所定以上の情報処理装置を選択し、その中から予め定められた条件を満たす情報処理装置を、ジョブ実行要求の転送先として選択する。例えば、情報処理装置２０は、情報処理装置Ｂ、Ｄ、Ｅ、Ｇ、及びＩの中から情報処理装置Ｂを選択し、情報処理装置Ｂにジョブ実行要求を転送する。情報処理装置Ｂは、ジョブ実行要求を転送すべきでないと判断し、そのジョブを実行する。【００１８】
このように、本実施例におけるグリッドコンピューティングシステム１０によれば、特定のジョブ管理サーバを設けることなく、各々の情報処理装置が、ジョブを実行するべき情報処理装置を自律的に選択することができる。更に、本実施例における情報処理装置２０は、互いに異なる処理能力に対応付けて、転送先の候補となる情報処理装置の識別情報の組を格納しているので、要求されたジョブの適切な転送先を迅速に決定することができる。【００１９】
なお、本実施例における情報処理装置ＡからＩの各々は、情報処理装置２０と略同一の構成をとる。そこで、以降の実施例においては、情報処理装置２０について説明する。【００２０】
図２は、情報処理装置２０の機能ブロック図である。情報処理装置２０は、自己指標値格納部２００と、接続先指標値格納部２１０と、要求取得部２２０と、ジョブ履歴格納部２３０と、ジョブ実行部２４０と、条件充足装置情報格納部２５０と、条件充足装置選択部２６０と、要求送信部２７０と、指標値追加部２８０とを有する。自己指標値格納部２００は、情報処理装置２０の処理能力を示す指標値を格納する。【００２１】
接続先指標値格納部２１０は、情報処理装置２０に接続する複数の情報処理装置の各々に対応付けて、その情報処理装置の処理能力を示す指標値を格納する。また、接続先指標値格納部２１０は、情報処理装置２０に接続する他の情報処理装置から、当該他の情報処理装置の処理能力を示す指標値の変更を通知する変更通知を受信した場合に、その変更通知に基づいて、格納している指標値を変更する。例えば、接続先指標値格納部２１０は、格納している指標値を、その指標値と比較してより処理能力が低い旨を示す指標値に変更する。【００２２】
ここで、情報処理装置２０に接続する情報処理装置とは、例えば、ルータを中継することなく情報処理装置２０と通信する情報処理装置をいう。これに代えて、情報処理装置２０に接続する情報処理装置とは、予め定められた数以内のルータを中継して情報処理装置２０と通信する情報処理装置であってもよい。更に他の例として、情報処理装置２０に接続する情報処理装置は、使用者により予め定められてもよい。【００２３】
要求取得部２２０は、ジョブ実行要求を情報処理装置Ａから取得する。ジョブ実行要求は、例えば、ジョブ実行要求を生成したジョブ実行要求生成装置３０の識別情報と、ジョブの実行に要する処理能力を示す指標と、ジョブを実行するために情報処理装置が満たすべき条件の判断基準と、ジョブを実行した場合にその指標が変化する変化量と、ジョブが要求された日時と、ジョブの識別情報とを含む。【００２４】
ジョブ履歴格納部２３０は、要求取得部２２０が取得したジョブ実行要求の識別情報の履歴を格納する。そして、要求取得部２２０は、取得したジョブの実行要求の識別情報が、ジョブ履歴格納部２３０に格納された履歴に含まれる場合に、ジョブの転送元である情報処理装置Ａにジョブ実行要求を返送する。これにより、ジョブの実行要求が循環して転送されることを防止できる。なお、ジョブ履歴格納部２３０は、ジョブ実行要求の識別情報を、そのジョブ実行要求を取得した日時に対応付けて格納し、取得してから所定期間が経過した場合に、その識別情報を削除してもよい。【００２５】
ジョブ実行部２４０は、自己指標値格納部２００に格納された指標値、及び、ジョブ実行要求により要求されるジョブの処理内容に基づいて、そのジョブを情報処理装置２０において実行するか否かを判断する。これに加えて、ジョブ実行部２４０は、接続先指標値格納部２１０に格納された指標値に更に基づいて、そのジョブを実行するか否かを判断してもよい。また、ジョブ実行部２４０は、要求送信部２７０がジョブ実行要求の返送を受けた場合にも、そのジョブを実行すると判断する。【００２６】
そして、ジョブ実行部２４０は、そのジョブを実行すると判断した場合に、ジョブを実行する旨を通知する実行通知をジョブ実行要求生成装置３０に送信する。そして、ジョブ実行部２４０は、ジョブを実行するために要するデータ等をジョブ実行要求生成装置３０から受けとって、そのジョブの実行を開始する。そしてこの場合、ジョブ実行部２４０は、ジョブの実行に伴って自己指標値格納部２００の指標値を変更する。更に、ジョブ実行部２４０は、情報処理装置２０の処理能力を示す指標値を変更する変更通知を、情報処理装置Ａ〜Ｉに送信する。【００２７】
更に、ジョブ実行部２４０は、情報処理装置２０がネットワークに新たに接続した場合に、新たに接続する旨の情報と共に、情報処理装置２０の処理能力を示す指標値を、変更通知として情報処理装置Ａ〜Ｉに送信してもよい。一方、ジョブ実行部２４０は、情報処理装置２０がネットワークから切り離される場合に、ネットワークから切り離される旨の情報と共に、情報処理装置２０の処理能力を示す指標値を、変更通知として情報処理装置Ａ〜Ｉに送信してもよい。【００２８】
条件充足装置情報格納部２５０は、情報処理装置の互いに異なる処理能力を示す複数の指標の各々に対応付けて、情報処理装置２０に接続する複数の情報処理装置のうち、その指標が示す処理能力が予め定められた基本条件を満たす情報処理装置の識別情報を格納する。例えば、条件充足装置情報格納部２５０は、ＣＰＵの動作周波数を示す指標に対応付けて、情報処理装置２０に接続する情報処理装置のうち、ＣＰＵの動作周波数が１ＧＨｚ以上の情報処理装置の識別情報を格納する。【００２９】
条件充足装置選択部２６０は、ジョブ実行要求が要求するジョブの処理内容に基づいて、そのジョブに要する処理能力を示す指標に対応する識別情報を、条件充足装置情報格納部２５０から選択する。要求送信部２７０は、ジョブを情報処理装置２０において実行しないと判断した場合に、条件充足装置選択部２６０により選択された識別情報の示す情報処理装置の何れかに、そのジョブ実行要求を転送する。【００３０】
例えば、要求送信部２７０は、条件充足装置選択部２６０により選択された識別情報の示す情報処理装置の指標値を接続先指標値格納部２１０から選択する。そして、要求送信部２７０は、選択したこれらの指標値うち予め定められた条件を満たす指標値を選択し、その指標値に対応する情報処理装置にジョブ実行要求を転送する。例えば、要求送信部２７０は、ＣＰＵ使用率が所定以下の情報処理装置にジョブ実行要求を転送してもよい。また、要求送信部２７０は、ジョブ実行要求の転送先から、ジョブ実行要求の返送を受けた場合には、要求取得部２２０を経由してその旨をジョブ実行部２４０に通知する。【００３１】
指標値追加部２８０は、情報処理装置の処理能力を示す他の指標を追加する追加指示を使用者から受けた場合に、その指標の指標値の算出方法、及び、条件充足装置情報格納部２５０に識別情報を格納させるためにその指標値が満たすべき基本条件を、他の情報処理装置に通知する。この通知を追加通知と呼ぶ。また、指標値追加部２８０は、情報処理装置２０についてのその指標の指標値を自己指標値格納部２００に算出させ、格納させる。また、指標値追加部２８０は、その指標値が満たすべき基本条件を条件充足装置情報格納部２５０に設定する。【００３２】
図３は、接続先指標値格納部２１０のデータ構造の一例を示す。接続先指標値格納部２１０は、情報処理装置２０に接続する複数の情報処理装置の各々に対応付けて、その情報処理装置の処理能力を示す指標値として、その情報処理装置に設けられたデバイス又はその情報処理装置にインストールされたソフトウェアの特性を示す特性指標の指標を格納する。具体的には、接続先指標値格納部２１０は、各情報処理装置の識別情報（ＩＤ）に対応付けて、その情報処理装置の特性指標として、その情報処理装置のＣＰＵの動作周波数と、その情報処理装置のメモリの容量と、その情報処理装置にインストールされたＯＳの種類とを格納する。【００３３】
更に、接続先指標値格納部２１０は、その情報処理装置の処理能力を示す指標値として、その情報処理装置が処理中のジョブの処理負荷を示す負荷指標の指標値を格納する。具体的には、接続先指標値格納部２１０は、各情報処理装置の識別情報（ＩＤ）に対応付けて、その情報処理装置の負荷指標として、その情報処理装置のＣＰＵ使用率と、その情報処理装置のメモリ使用率とを格納する。【００３４】
一例として、情報処理装置ＡのＣＰＵ動作周波数は、１．６ＧＨｚであり、メモリ容量を６４ＭＢ（バイト）であり、オペレーティングシステム（ＯＳ）の種類はＸである。そして、ＣＰＵ使用率は、９０％であり、メモリ使用率は８０％である。この例に加えて、特性指標とは、ＣＰＵの種類を示す指標であってもよいし、ハードディスクドライブの容量・速度を示す指標であってもよい。また、この例に加えて、負荷指標とは、ハードディスクドライブの空き容量を示す指標であってもよい。【００３５】
このように、本実施例における情報処理装置の処理能力とは、静的であり変化しない能力、例えば情報処理装置の性能であってもよいし、動的に変化する能力、例えば情報処理装置の余剰計算力であってもよい。【００３６】
図４は、条件充足装置情報格納部２５０のデータ構造の一例を示す。条件充足装置情報格納部２５０は、特性指標の各々に対応付けて、特性指標の示す処理能力が基本条件を満たす情報処理装置の識別情報を格納する。例えば、条件充足装置情報格納部２５０は、ＣＰＵの動作周波数が１ＧＨｚ以上である旨の基本条件を満たす情報処理装置の識別情報として、Ａ、Ｂ、Ｄ、Ｅ、Ｇ、及びＩを格納する。また、条件充足装置情報格納部２５０は、メモリの容量が１２８ＭＢ以上である旨の基本条件を満たす情報処理装置の識別情報として、Ｃ、Ｆ、Ｈ、及びＩを格納する。さらに、条件充足装置情報格納部２５０は、ＯＳの種類がＸである旨の基本条件を満たす情報処理装置の識別情報として、Ａ、Ｂ、Ｄ、Ｆ、Ｈ、及びＩを格納する。【００３７】
このように、基本条件とは、例えば、ＣＰＵ等のデバイスが所定の基準以上の性能を有する旨の条件であってもよいし、デバイス又はソフトウェアが所定の種類である旨の条件であってもよい。更に、条件充足装置情報格納部２５０は、これらの複数の条件を満たす同一の情報処理装置については、その情報処理装置の識別情報を、複数の指標の各々に対応付けて格納してもよい。即ち、条件充足装置情報格納部２５０は、情報処理装置Ｉの識別情報Ｉを、ＣＰＵの動作周波数、メモリの容量、及びＯＳの種類を示す各指標に対応付けて格納してもよい。【００３８】
以降の説明において、情報処理装置Ａ、Ｂ、Ｄ、Ｅ、Ｇ、及びＩを、ＣＰＵ動作周波数についての仮想隣接ノードと呼ぶ。同様に、情報処理装置Ｃ、Ｆ、Ｈ、及びＩを、メモリ容量についての仮想隣接ノードと呼ぶ。同様に、情報処理装置Ａ、Ｂ、Ｄ、Ｆ、Ｈ、及びＩを、ＯＳについての仮想隣接ノードと呼ぶ。【００３９】
図５は、ジョブ実行要求生成装置３０の機能ブロック図である。ジョブ実行要求生成装置３０は、ジョブ実行要求送信部３００と、ジョブ実行指示部３１０とを有する。ジョブ実行要求送信部３００は、使用者からジョブの実行を指示された場合に、そのジョブの実行を要求するジョブ実行要求を生成する。そして、ジョブ実行要求送信部３００は、生成したそのジョブ実行要求を、２以上の情報処理装置、例えば、情報処理装置Ａ及びＣの各々に送信する。【００４０】
この際、ジョブ実行要求送信部３００は、ジョブ実行要求を生成したジョブ実行要求生成装置３０の識別情報と、そのジョブを実行した場合に使用される計算資源の量の予測値とを、ジョブ実行要求に含めて送信する。ここで、使用される計算資源の量の予測値とは、例えば、そのジョブが占有するメモリのサイズの予測値である。この予測値は、ジョブの実行を指示する使用者から入力されてもよいし、ジョブの一部の実行を試行することにより定められてもよい。【００４１】
なお、このジョブ実行要求は、ジョブを実際に実行するためのデータ等を含まない。即ち、ジョブ実行要求は、ジョブを実行可能な情報処理装置を探索するために、グリッドコンピューティングシステム１０における何れかの情報処理装置に投入される。ここで、情報処理装置Ａに送信されたジョブ実行要求は、情報処理装置Ｂに転送され、情報処理装置Ｂは、そのジョブを実行すると判断したと仮定する。また、情報処理装置Ｃに送信されたジョブ実行要求は転送されずに、情報処理装置Ｃは、そのジョブを実行すると判断したと仮定する。【００４２】
ジョブ実行指示部３１０は、送信したそのジョブ実行要求に対して、そのジョブを実行する旨の通知である実行通知を、情報処理装置Ｂ及びＣの各々から受信する。ジョブ実行指示部３１０は、これらの実行通知の送信元である複数の情報処理装置のうち、予め定められた条件を満たす情報処理装置を選択する。例えば、ジョブ実行指示部３１０は、情報処理装置Ｂ及びＣから実行通知を受け取った場合に、ＣＰＵ使用率が３０％以下である旨の条件を満たす情報処理装置Ｂを選択する。【００４３】
次に、ジョブ実行指示部３１０は、選択した情報処理装置Ｂにジョブを実行させる。例えば、ジョブ実行指示部３１０は、ジョブの実行に必要なプログラム及びデータを情報処理装置Ｂに送信してもよい。
このように、ジョブ実行要求生成装置３０は、複数の実行通知を受信した場合には、ジョブの実行に適した１つの情報処理装置を選択して、その情報処理装置にジョブを実行させることができる。【００４４】
図６は、情報処理装置２０がジョブを転送又は実行する処理を示すフローチャートである。要求取得部２２０は、情報処理装置Ａからジョブ実行要求を取得する（Ｓ６００）。そして、要求取得部２２０は、そのジョブ実行要求を過去に既に取得したか否かを判断する（Ｓ６１０）。過去に既に取得した場合に、（Ｓ６１０：ＹＥＳ）、要求取得部２２０は、ジョブの転送元（例えば、情報処理装置Ａ）に、ジョブ実行要求を返送する（Ｓ６２０）。ここで、転送元の情報処理装置とは、ジョブ実行要求を直接受け取った受け取り先の情報処理装置をいう。例えば、本例において、情報処理装置２０における転送元は情報処理装置Ａである。また、情報処理装置Ａにおける転送元はジョブ実行要求生成装置３０である。これに代えて、要求取得部２２０は、ジョブ実行要求を、ジョブ実行要求生成装置３０に返送してもよい。【００４５】
具体的には、要求取得部２２０は、以下の何れかの方法により、ジョブ実行要求を過去に既に取得したか否かを判断する。第１の例として、要求取得部２２０は、ジョブ履歴格納部２３０に格納された履歴にジョブ実行要求の識別情報が含まれる場合に、ジョブ実行要求を過去に既に取得したと判断する。第２の例として、要求取得部２２０は、ジョブ実行要求を過去に転送した情報処理装置の識別情報であるジョブ転送履歴情報を、ジョブ実行要求に含めて取得した場合においては、そのジョブ転送履歴情報に、情報処理装置２０の識別情報が含まれる場合に、ジョブ実行要求を過去に既に取得したと判断する。【００４６】
なお、これに代えて、要求取得部２２０は、ジョブ実行要求が過去に既に転送された転送回数が予め定められた基準回数以上である場合に、ジョブ実行要求の転送元の情報処理装置に、ジョブ実行要求を返送してもよい。具体的には、ジョブ実行要求には、そのジョブ実行要求が転送された回数を示す転送回数情報が含まれており、要求取得部２２０は、その転送回数情報が基準回数以上の転送回数を示す場合に、ジョブ実行要求の転送元の情報処理装置に、ジョブ実行要求を返送する。【００４７】
一方、ジョブ実行要求を過去に既に取得していなかった場合に（Ｓ６１０：ＮＯ）、ジョブ実行部２４０は、ジョブの処理内容を解析する（Ｓ６３０）。例えば、ジョブ実行部２４０は、ジョブ実行要求から、そのジョブの実行に要する処理能力を示す特性指標を取得することにより、そのジョブの処理内容を解析してもよい。そして、ジョブ実行部２４０は、自己指標値格納部２００に格納された指標値、及び、そのジョブの処理内容に基づいて、そのジョブを情報処理装置２０において実行するか否かを判断する（Ｓ６４０）。例えば、ジョブ実行部２４０は、以下の式（１）を満たす場合に、そのジョブを情報処理装置２０において実行すると判断する。【００４８】
【数１】
0004428483.tif 000002
ここで、変数thresholdは、ジョブを実行する情報処理装置が決定されるまでに、その
ジョブ実行要求を転送する転送回数の上限値を示す。また、変数targetは、そのジョブに要する処理能力を示す指標値である。また、変数efficiencyは、自己指標値格納部２００に格納されている指標値を示す。また、変数counterは、そのジョブ実行要求の転送回数
を示す。また、変数alphaは、使用者により任意に設定される定数である。【００４９】
この式から明らかなように、ジョブ実行部２４０は、自己指標値格納部２００に格納された指標値が、ジョブに要する処理能力より高い処理能力を示す場合に、そのジョブを情報処理装置２０において実行すると判断する。そして、ジョブ実行部２４０は、自己指標値格納部２００に格納された指標値が、ジョブに要する処理能力より低い処理能力を示した場合であっても、その指標値と、ジョブに要する処理能力を示す指標値との差が、予め定められた基準差分値以内である場合に、そのジョブを情報処理装置２０において実行すると判断する。【００５０】
更に、ジョブ実行部２４０は、ジョブ実行要求が既に他の情報処理装置により転送された累積回数がより多い場合に、その累積回数がより少ない場合と比較して、上記基準差分値をより大きい値に設定する。即ち、転送回数がより大きい場合には、ジョブが実行される可能性がより高まる。これにより、ジョブを実行する情報処理装置を探索する探索域の発散を防止できる。【００５１】
なお、この例に代えて、ジョブ実行部２４０は、複数の指標値の組に基づいて、ジョブを情報処理装置２０において実行するか否かを判断してもよい。更に他の例として、ジョブ実行部２４０は、情報処理装置２０に接続している情報処理装置Ａ〜Ｉの指標値にさらに基づいて、ジョブを情報処理装置２０において実行するか否かを判断してもよい。一例として、ジョブ実行部２４０は、自己指標値格納部２００に格納された指標値が、接続先指標値格納部２１０に格納された何れの指標値と比較しても、より高い処理能力を示す場合に、そのジョブを情報処理装置２０において実行すると判断してもよい。【００５２】
続いて、ジョブ実行部２４０は、ジョブを情報処理装置２０において実行すると判断した場合に（Ｓ６４０：ＹＥＳ）、そのジョブを実行する（Ｓ６５０）。一方、ジョブを情報処理装置２０において実行しないと判断した場合に、要求送信部２７０は、ジョブ実行要求を転送する（Ｓ６６０）。【００５３】
図７は、図６のＳ６５０の処理の詳細を示す。ジョブ実行部２４０は、要求されたジョブを情報処理装置２０において実行すると判断した場合に、そのジョブ実行要求を生成したジョブ実行要求生成装置３０に、実行通知を送信する（Ｓ７００）。そして、ジョブ実行部２４０は、そのジョブを実行した場合に指標値が変化する変化量の予測値を、ジョブ実行要求から取得し、その予測値に基づいて指標値を変更する（Ｓ７１０）。例えば、ジョブ実行部２４０は、ＣＰＵの使用率を示す指標値を、ＣＰＵの使用率が１００％である旨の指標値に変更する。【００５４】
これにより、情報処理装置２０は、他のジョブ実行要求の転送を受けにくくすることができる。即ち、複数のジョブ実行要求による資源の獲得を適切に調停できる。また、この方法によれば、情報処理装置２０に一切のジョブ実行要求を受け付けさせないロック機構と比較して、ジョブのスケジューリングを柔軟に行わせることができる。【００５５】
そして、ジョブ実行部２４０は、情報処理装置２０の処理能力を示す指標値を変更する変更通知を、情報処理装置Ａ〜Ｉに送信する（Ｓ７２０）。ジョブ実行部２４０は、実行通知に対応するジョブをジョブ実行要求生成装置３０から受信した場合に（Ｓ７３０：ＹＥＳ）、指標値の変更を元に戻す（Ｓ７４０）。そして、ジョブ実行部２４０は、受信したジョブを実行する（Ｓ７５０）。この場合、自己指標値格納部２００は、ジョブを実行することにより変化する処理能力に基づいて、格納している指標値を、その指標値と比較して情報処理装置の処理能力が低い旨を示す指標値に変更する。【００５６】
ジョブ実行部２４０は、情報処理装置２０の処理能力を示す指標値を変更する変更通知を、情報処理装置Ａ〜Ｉに送信する（Ｓ７６０）。この場合、ジョブ実行部２４０は、この変更通知に、実行するジョブの識別情報を含めて送信してもよい。そして、ジョブ実行部２４０は、ジョブの実行を終えた場合に、実行結果をジョブ実行要求生成装置３０に返送する（Ｓ７７０）。【００５７】
なお、本図の例に加えて、情報処理装置２０が新たにグリッドコンピューティングシステム１０に接続した場合においても、ジョブ実行部２４０は、情報処理装置２０の指標値を算出し、算出したその指標値を他の情報処理装置の通知するべく、その指標値を示す変更通知を送信してもよい。同様に、情報処理装置２０がグリッドコンピューティングシステム１０との接続を停止する場合においても、ジョブ実行部２４０は、情報処理装置２０の指標値を削除する旨を、変更通知として送信してもよい。【００５８】
図８は、図６のＳ６６０の処理の詳細を示す。条件充足装置選択部２６０は、ジョブの処理内容に基づいて、そのジョブに要する処理能力を示す特性指標に対応する識別情報を、条件充足装置情報格納部２５０から選択する（Ｓ８００）。例えば、条件充足装置選択部２６０は、ジョブに要する処理能力が主にＣＰＵの演算能力である場合に、ＣＰＵ動作周波数についての仮想隣接ノードを選択する。そして、要求送信部２７０は、条件充足装置選択部２６０により選択された仮想隣接ノードのうち、負荷指標の指標値が予め定められた条件を満たす情報処理装置を選択する（Ｓ８１０）。この結果、例えば、要求送信部２７０は、情報処理装置Ｂを選択する。【００５９】
要求送信部２７０は、ジョブ実行要求が転送された回数を示す転送回数情報に、１を加える（Ｓ８２０）。そして、要求送信部２７０は、転送回数情報をジョブ実行要求に含めて、情報処理装置Ｂに送信する（Ｓ８３０）。これに加えて、要求送信部２７０は、情報処理装置２０の識別情報を、ジョブ実行要求を転送した情報処理装置の履歴を示す履歴情報として、そのジョブ実行要求に含めて転送してもよい。【００６０】
ここで、要求送信部２７０が送信したジョブ実行要求が、情報処理装置Ｂから返送された場合には、ジョブ実行部２４０は、そのジョブ実行要求に対応するジョブを実行してもよい。これにより、ジョブ実行要求の循環を防止すると共に、循環が起こらない範囲内でジョブの実行に適した情報処理装置を探索できる。【００６１】
図９は、情報処理装置２０が変更通知を受信した場合の処理を示すフローチャートである。本図において、情報処理装置２０と異なる他の情報処理装置があるジョブを実行した結果、その情報処理装置の指標値が変更された場合の処理を説明する。接続先指標値格納部２１０は、指標値を変更させる原因となったジョブの識別情報を、変更通知に含めて受信すると、その変更通知を過去に既に受信しているか否かを判断する（Ｓ９００）。過去に既に受信していた場合に（Ｓ９００：ＹＥＳ）、情報処理装置２０は、処理を終了する。【００６２】
一方、その変更通知を初めて受信した場合に（Ｓ９００：ＮＯ）、接続先指標値格納部２１０は、ジョブを実行するその情報処理装置に対応付けて格納している指標値を、その指標値と比較して情報処理装置の処理能力が低い旨を示す指標値に変更する（Ｓ９１０）。【００６３】
続いて、自己指標値格納部２００は、情報処理装置２０の指標値の変更が必要か否かを判断する（Ｓ９２０）。例えば、自己指標値格納部２００は、情報処理装置２０に接続される情報処理装置Ａ〜Ｉにおける処理能力に基づく指標値を更に格納している場合には、指標値の変更が必要と判断する。一例としては、自己指標値格納部２００は、情報処理装置２０に接続する情報処理装置Ａ〜ＩにおけるＣＰＵ動作周波数の平均値を、１つの指標値として格納している場合には、その平均値の変更が必要と判断する。【００６４】
指標値の変更が不要な場合には（Ｓ９２０：ＮＯ）、情報処理装置２０は、処理を終了する。一方、自己指標値格納部２００は、指標値の変更が必要と判断した場合に（Ｓ９２０：ＹＥＳ）、受け取った変更通知に基づいて、格納している指標値を変更する（Ｓ９３０）。そして、自己指標値格納部２００は、指標値の変更を通知する変更通知に、そのジョブの識別情報を含めて、情報処理装置２０に接続された情報処理装置Ａ〜Ｉに更に送信する（Ｓ９４０）。【００６５】
このように、何れかの情報処理装置において指標値が変更された場合に、各々の情報処理装置は、互いに変更通知を交換することにより自己の指標値を適切に更新することができる。【００６６】
図１０（ａ）は、情報処理装置２０が使用者から追加指示を受けた場合の処理を示すフローチャートである。指標値追加部２８０は、情報処理装置の処理能力を示す他の指標を追加する追加指示を使用者から受けた場合に、その追加指示に基づく指標値を自己指標値格納部２００に格納させる（Ｓ１０００）。【００６７】
例えば、指標値追加部２８０は、その指標の指標値の算出方法、及び、条件充足装置情報格納部２５０に識別情報を格納させるためにその指標値が満たすべき基本条件を、追加指示として使用者から受け取る。そして、指標値追加部２８０は、その算出方法を自己指標値格納部２００に通知し、自己指標値格納部２００により指標値を算出させて格納させる。これに加えて、指標値追加部２８０は、その指標の定義及び名称を受け取ってもよい。この場合、指標値追加部２８０は、その定義及び名称を自己指標値格納部２００に更に格納させてもよい。【００６８】
自己指標値格納部２００は、情報処理装置２０に接続している情報処理装置Ａ〜Ｉに、その指標値を新たに算出した旨を通知する変更通知を送信する（Ｓ１０１０）。次に、指標値追加部２８０は、その基本条件を条件充足装置情報格納部２５０に設定する（Ｓ１０２０）。そして、指標値追加部２８０は、新たな指標値を追加する旨を通知する追加通知として、その指標の算出方法、定義、及び名称、並びに基本条件を、他の全ての情報処理装置に送信する（Ｓ１０３０）。【００６９】
図１０（ｂ）は、情報処理装置２０が他の情報処理装置から追加通知を受けた場合の処理を示すフローチャートである。指標値追加部２８０は、基本条件を含む追加通知を他の情報処理装置から受信する。そして、指標値追加部２８０は、追加通知に含めて受信した基本条件に基づいて、情報処理装置２０に接続する他の情報処理装置のうち、指標値がその基本条件を満たす情報処理装置を検出する（Ｓ１０４０）。【００７０】
例えば、指標値追加部２８０は、情報処理装置２０に接続する他の情報処理装置の指標値を、接続先指標値格納部２１０から受信して、受信したその指標値が基本条件を満たすか否かを判断してもよい。そして、指標値追加部２８０は、検出した情報処理装置の識別情報を、追加するその指標に対応付けて条件充足装置情報格納部２５０に格納する（Ｓ１０５０）。【００７１】
以上、図１０（ａ）及び（ｂ）に示すように、使用者は、１つの情報処理装置に追加指示を入力することにより、グリッドコンピューティングシステム１０内の複数の情報処理装置の各々に指標値を追加させることができる。【００７２】
図１１は、ジョブ実行要求生成装置３０が、ジョブを実行する指示を使用者から受けた場合の処理を示すフローチャートである。ジョブ実行要求送信部３００は、ジョブ実行要求を生成し、生成したそのジョブ実行要求を情報処理装置Ａ及びＣに送信する（Ｓ１１００）。好ましくは、ジョブ実行要求送信部３００は、そのジョブ実行要求により実行が要求されるジョブの識別情報を生成し、その識別情報をジョブ実行要求に含めて送信する。例えば、ジョブ実行要求送信部３００は、ジョブ実行要求の生成時刻、及び、そのジョブ実行要求の送信先の情報処理装置を識別する識別情報に基づいて、そのジョブの識別情報を生成してもよい。【００７３】
そして、ジョブ実行要求送信部３００は、ジョブ実行要求の返送を受けたか否かを判断する（Ｓ１１０５）。ジョブ実行要求の返送を受けた場合には（Ｓ１１０５：ＹＥＳ）、ジョブ実行要求送信部３００は、Ｓ１１００に処理を戻すことにより、情報処理装置Ａ及びＣとは異なる他の情報処理装置にジョブ実行要求を送信する。【００７４】
ジョブ実行要求の返送を受けていない場合には（Ｓ１１０５：ＮＯ）、ジョブ実行要求生成装置３０は、ジョブ実行要求を送信してから、予め定められた基準期間が経過したか否かを判断する（Ｓ１１１０）。基準期間が経過した場合に（Ｓ１１１０：ＹＥＳ）、ジョブ実行指示部３１０は、その基準期間内に受け取った複数の通知の送信元である複数の情報処理装置のうち、最も処理能力が高い情報処理装置を選択する（Ｓ１１２０）。そして、ジョブ実行指示部３１０は、選択したその情報処理装置に、ジョブの実行に必要なプログラム及びデータ等を送信する（Ｓ１１３０）。【００７５】
これに代えて、ジョブ実行指示部３１０は、複数の実行通知を受け取った場合に、最も早くその実行通知をジョブ実行要求生成装置３０に到達させた情報処理装置を選択して、選択したその情報処理装置にジョブを実行させてもよい。更に、ジョブ実行指示部３１０は、ジョブ実行要求を送信してから実行通知を受け取るまでに要する時間、及び、実行通知の送信元である情報処理装置の処理能力の組み合わせに基づく任意のポリシーにより、何れの情報処理装置にジョブを実行させるか判断してもよい。【００７６】
図１２は、情報処理装置２０のハードウェア構成の一例を示す。情報処理装置２０は、ホストコントローラ１２８２により相互に接続されるＣＰＵ１２００、ＲＡＭ１２２０、及びグラフィックコントローラ１２７５を有するＣＰＵ周辺部と、入出力コントローラ１２８４によりホストコントローラ１２８２に接続される通信インターフェイス１２３０、ハードディスクドライブ１２４０、及びＣＤ−ＲＯＭドライブ１２６０を有する入出力部と、入出力コントローラ１２８４に接続されるＢＩＯＳ１２１０、フレキシブルディスクドライブ１２５０、及び入出力チップ１２７０を有するレガシー入出力部とを備える。【００７７】
ホストコントローラ１２８２は、ＲＡＭ１２２０と、高い転送レートでＲＡＭ１２２０をアクセスするＣＰＵ１２００及びグラフィックコントローラ１２７５とを接続する。ＣＰＵ１２００は、ＢＩＯＳ１２１０及びＲＡＭ１２２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィックコントローラ１２７５は、ＣＰＵ１２００等がＲＡＭ１２２０内に設けたフレームバッファ上に生成する画像データを取得し、表示装置１２８０上に表示させる。これに代えて、グラフィックコントローラ１２７５は、ＣＰＵ１２００等が生成する画像データを格納するフレームバッファを、内部に含んでもよい。【００７８】
入出力コントローラ１２８４は、ホストコントローラ１２８２と、比較的高速な入出力装置である通信インターフェイス１２３０、ハードディスクドライブ１２４０、及びＣＤ−ＲＯＭドライブ１２６０を接続する。通信インターフェイス１２３０は、ネットワークを介して外部の装置と通信する。ハードディスクドライブ１２４０は、情報処理装置２０が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ１２６０は、ＣＤ−ＲＯＭ１２９５からプログラム又はデータを読み取り、ＲＡＭ１２２０を介して入出力チップ１２７０に提供する。【００７９】
また、入出力コントローラ１２８４には、ＢＩＯＳ１２１０と、フレキシブルディスクドライブ１２５０や入出力チップ１２７０等の比較的低速な入出力装置とが接続される。ＢＩＯＳ１２１０は、情報処理装置２０の起動時にＣＰＵ１２００が実行するブートプログラムや、情報処理装置２０のハードウェアに依存するプログラム等を格納する。フレキシブルディスクドライブ１２５０は、フレキシブルディスク１２９０からプログラム又はデータを読み取り、ＲＡＭ１２２０を介して入出力チップ１２７０に提供する。入出力チップ１２７０は、フレキシブルディスク１２９０や、例えばパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して各種の入出力装置を接続する。【００８０】
情報処理装置２０に提供されるプログラムは、フレキシブルディスク１２９０、ＣＤ−ＲＯＭ１２９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力チップ１２７０及び/又は入出力コントローラ１２８４を介して、
記録媒体から読み出され情報処理装置２０にインストールされて実行される。情報処理装置２０にインストールされて実行されるプログラム（例えばエージェントプログラム）が情報処理装置２０に働きかけて行わせる動作は、図１から図１１において説明した情報処理装置２０における動作と同一であるから、説明を省略する。【００８１】
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク１２９０、ＣＤ−ＲＯＭ１２９５の他に、ＤＶＤやＰＤ等の光学記録媒体、ＭＤ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置２０に提供してもよい。【００８２】
以上の実施例で説明したように、グリッドコンピューティングシステム１０は、ジョブの実行を要求するジョブ実行要求を、複数の情報処理装置に順次転送させる。そして、グリッドコンピューティングシステム１０は、各々の情報処理装置において、そのジョブをその情報処理装置において実行すべきか否かを判断させる。これにより、グリッドコンピューティングシステム１０は、特定のジョブ管理サーバを設けることなく、各々の情報処理装置に自律的にジョブをスケジューリングさせることができる。【００８３】
更に、情報処理装置２０は、ジョブ実行要求の転送回数を、ジョブ実行要求内に記録する。そして、情報処理装置２０は、ジョブ実行要求の転送回数がより多い場合に、より少ない場合と比較して高い確率でジョブを実行する。即ち、ジョブ実行要求が転送される毎に、そのジョブが実行されやすくなる。これにより、ジョブ実行要求の循環を防止して、ジョブを適切にスケジューリングさせることができる。【００８４】
また、情報処理装置２０は、情報処理装置の処理能力を示す複数の特性指標の各々に対応付けて、その特性指標の指標値が基本条件を満たす情報処理装置の識別情報を、情報処理装置２０の仮想隣接ノードとして格納する。そして、情報処理装置２０は、ジョブ実行要求を受け取ってそのジョブを自己で実行しないと判断した場合には、ジョブに要する処理能力を示す特性指標に対応する識別情報を選択する。そして、情報処理装置２０は、選択した何れかの識別情報が示す情報処理装置にそのジョブ実行要求を転送する。これにより、ジョブ実行要求の転送先を適切かつ迅速に選択することができる。【００８５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【００８６】
【図１】図１は、グリッドコンピューティングシステム１０の概略を示す。
【図２】図２は、情報処理装置２０の機能ブロック図である。
【図３】図３は、接続先指標値格納部２１０のデータ構造の一例を示す。
【図４】図４は、条件充足装置情報格納部２５０のデータ構造の一例を示す。
【図５】図５は、ジョブ実行要求生成装置３０の機能ブロック図である。
【図６】図６は、情報処理装置２０がジョブを転送又は実行する処理を示すフローチャートである。
【図７】図７は、図６のＳ６５０の処理の詳細を示す。
【図８】図８は、図６のＳ６６０の処理の詳細を示す。
【図９】図９は、情報処理装置２０が変更通知を受信した場合の処理を示すフローチャートである。
【図１０】（ａ）は、情報処理装置２０が使用者から追加指示を受けた場合の処理を示すフローチャートである。  （ｂ）は、情報処理装置２０が他の情報処理装置から追加通知を受けた場合の処理を示すフローチャートである。
【図１１】図１１は、ジョブ実行要求生成装置３０が、ジョブを実行する指示を使用者から受けた場合の処理を示すフローチャートである。
【図１２】図１２は、情報処理装置２０のハードウェア構成の一例を示す。
【符号の説明】
【００８７】
１０  グリッドコンピューティングシステム
２０  情報処理装置
３０  ジョブ実行要求生成装置
２００  自己指標値格納部
２１０  接続先指標値格納部
２２０  要求取得部
２３０  ジョブ履歴格納部
２４０  ジョブ実行部
２５０  条件充足装置情報格納部
２６０  条件充足装置選択部
２７０  要求送信部
２８０  指標値追加部
３００  ジョブ実行要求送信部
３１０  ジョブ実行指示部
【図１】
0004428483.tif 000003
【図２】
0004428483.tif 000004
【図３】
0004428483.tif 000005
【図４】
0004428483.tif 000006
【図５】
0004428483.tif 000007
【図６】
0004428483.tif 000008
【図７】
0004428483.tif 000009
【図８】
0004428483.tif 000010
【図９】
0004428483.tif 000011
【図１０】
0004428483.tif 000012
【図１１】
0004428483.tif 000013
【図１２】
0004428483.tif 000014