(57)【要約】インターネット（１３０）上に存在する複数の分散処理装置Ａ〜Ｃのいずれかを選択してジョブの実行を依頼する分散処理制御装置（１１０）は，端末装置（１００）からのジョブであるプログラム（１１２ｄ）を受け付けたならば，状況確認処理部（１１３ｂ）により、登録テーブル（１１２ｃ）に登録した各分散処理装置Ａ〜Ｃに対して単位処理プログラム（１１２ａ）および単位データ（１１２ｂ）を送信し，ホスト選択部（１１３ｃ）により，各分散処理装置Ａ〜Ｃから返信される実行結果に基づいてプログラム（１１２ｄ）を実行依頼する適切な分散処理装置を選択する。
2004086246.tif 000002
【特許請求の範囲】
【請求項１】
インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置であって、
前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認手段と、
前記状況確認手段により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択手段と
を備えたことを特徴とする分散処理制御装置。
【請求項２】
前記状況確認手段は、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して前記単位処理を依頼することを特徴とする請求の範囲第１項に記載の分散処理制御装置。
【請求項３】
所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶する記憶手段をさらに備え、前記状況確認手段は、前記記憶手段に記憶した単位処理プログラムおよび単位データを前記複数の分散処理装置に対して送信することを特徴とする請求の範囲第１項に記載の分散処理制御装置。
【請求項４】
前記記憶手段は、前記ジョブの処理に要する計算量、入出力処理および／またはデータ転送処理の一部にそれぞれ相当する処理をおこなう単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶し、前記選択手段は、各分散処理装置から返送される前記単位処理プログラムの処理に要した単位処理時間、前記単位処理プログラムの計算量、入出力処理量およびデータ転送量並びに前記ジョブの計算量、入出力処理量およびデータ転送量に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第３項に記載の分散処理制御装置。
【請求項５】
前記選択手段は、前記ジョブの計算量を前記単位処理プログラムの計算量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測計算時間とし、前記予測計算時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第４項に記載の分散処理制御装置。
【請求項６】
前記選択手段は、前記ジョブの入出力処理量を前記単位処理プログラムの入出力処理量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測入出力時間とし、前記予測入出力時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第４項に記載の分散処理制御装置。
【請求項７】
前記選択手段は、前記ジョブのデータ転送量を前記単位処理プログラムのデータ転送量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測データ転送時間とし、前記予測データ転送時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第４項に記載の分散処理制御装置。
【請求項８】
インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置の分散処理制御方法であって、
前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認工程と、
前記状況確認工程により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択工程と
を含んだことを特徴とする分散処理制御方法。
【請求項９】
前記状況確認工程は、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して前記単位処理を依頼することを特徴とする請求の範囲第８項に記載の分散処理制御方法。
【請求項１０】
所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶部に記憶しておき、前記状況確認工程は、前記記憶部に記憶した単位処理プログラムおよび単位データを前記複数の分散処理装置に対して送信することを特徴とする請求の範囲第８項に記載の分散処理制御方法。
【請求項１１】
前記記憶部は、前記ジョブの処理に要する計算量、入出力処理および／またはデータ転送処理の一部にそれぞれ相当する処理をおこなう単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶し、前記選択工程は、各分散処理装置から返送される前記単位処理プログラムの処理に要した単位処理時間、前記単位処理プログラムの計算量、入出力処理量およびデータ転送量並びに前記ジョブの計算量、入出力処理量およびデータ転送量に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１０項に記載の分散処理制御方法。
【請求項１２】
前記選択工程は、前記ジョブの計算量を前記単位処理プログラムの計算量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測計算時間とし、前記予測計算時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１１項に記載の分散処理制御方法。
【請求項１３】
前記選択工程は、前記ジョブの入出力処理量を前記単位処理プログラムの入出力処理量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測入出力時間とし、前記予測入出力時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１１項に記載の分散処理制御方法。
【請求項１４】
前記選択工程は、前記ジョブのデータ転送量を前記単位処理プログラムのデータ転送量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測データ転送時間とし、前記予測データ転送時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１１項に記載の分散処理制御方法。
【請求項１５】
インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置の分散処理制御プログラムであって、
前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認手順と、
前記状況確認手順により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択手順と
をコンピュータに実行させることを特徴とする分散処理制御プログラム。
【請求項１６】
前記状況確認手順は、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して前記単位処理を依頼することを特徴とする請求の範囲第１５項に記載の分散処理制御プログラム。
【請求項１７】
所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、前記状況確認手順は、記憶した単位処理プログラムおよび単位データを前記複数の分散処理装置に対して送信することを特徴とする請求の範囲第１５項に記載の分散処理制御プログラム。
【請求項１８】
前記ジョブの処理に要する計算量、入出力処理および／またはデータ転送処理の一部にそれぞれ相当する処理をおこなう単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、前記選択手順は、各分散処理装置から返送される前記単位処理プログラムの処理に要した単位処理時間、前記単位処理プログラムの計算量、入出力処理量およびデータ転送量並びに前記ジョブの計算量、入出力処理量およびデータ転送量に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１７項に記載の分散処理制御プログラム。
【請求項１９】
前記選択手順は、前記ジョブの計算量を前記単位処理プログラムの計算量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測計算時間とし、前記予測計算時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１８項に記載の分散処理制御プログラム。
【請求項２０】
前記選択手順は、前記ジョブの入出力処理量を前記単位処理プログラムの入出力処理量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測入出力時間とし、前記予測入出力時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１８項に記載の分散処理制御プログラム。
【請求項２１】
前記選択手順は、前記ジョブのデータ転送量を前記単位処理プログラムのデータ転送量で除算した値に前記単位処理プログラムの処理に要した単位処理時間を掛けた値を前記分散処理装置で前記ジョブを処理する際の予測データ転送時間とし、前記予測データ転送時間に基づいて、前記ジョブの実行を依頼する分散処理装置を選択することを特徴とする請求の範囲第１８項に記載の分散処理制御プログラム。
【発明の詳細な説明】
【技術分野】  この発明は、インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置、分散処理制御方法および分散処理制御プログラムに関し、特に、各分散処理装置がインターネットを介した異なる機関にまたがって存在する場合に、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる分散処理制御装置、分散処理制御方法および分散処理制御プログラムに関するものである。
【背景技術】  従来、ネットワーク上に分散した複数の分散処理装置を用いて、負荷分散をおこなう分散処理技術が知られている。たとえば、特許文献１（特開平７−１８２２１７号公報）には、主データベース・サーバのＤＢＭＳが２台のサーバ・マシンのＣＰＵ使用率及び処理要求のキューの累積状態を常時把握し、そのデータを基に処理を実行するサーバを選択して処理要求を発行する技術が開示されている。また、特許文献２（特開平１１−２５００２０号公報）には、クライアント装置内の要求分散処理手段が、サーバ状態管理手段から複数のサーバの負荷情報を取得し、クライアント装置より処理要求が出力されると、要求中継手段がサーバ選択要求を出し、要求分散処理手段が、負荷情報に基づいて負荷の少ないサーバを決定する技術が開示されている。
このように、従来の分散処理技術では、あらかじめ定められた複数の分散処理装置とこれらを制御する制御装置を用いて分散処理をおこなわれてきたが、最近になって、いわゆるグリッドコンピューティングと呼ばれる分散処理技術が普及しつつある。
このグリッドコンピューティングとは、遠隔地に存在するコンピュータ（分散処理装置）をインターネットを介して接続し、プロセッシング・パワーやデータ・ストレージなどのコンピュータ資源をそれらのコンピュータ同士で共有して、処理を進められるようにしたコンピューティング基盤のことであり、インターネット上の各種コンピュータを分散処理装置と見立てて高度な負荷分散をおこなうことができる。
【特許文献１】    特開平７−１８２２１７号公報
【特許文献２】    特開平１１−２５００２０号公報
しかしながら、かかるグリッドコンピューティングを採用した場合には、上記特許文献１および２のような専用の分散処理装置を利用するわけではないので、インターネット上のどの分散処理装置を選択して処理の実行を依頼するかが極めて悩ましい問題となる。
具体的には、（１）利用者は、分散した別々の組織に配置されたコンピュータを知らないので分散処理装置として顕在化できない場合が多く、（２）各コンピュータの状態は常に変化しており、たとえこれらのコンピュータの情報を集中管理したとしても、かかる集中管理情報が必ずしも最新の状態ではないという問題があるので、結果的に、利用者は最適なコンピュータ（分散処理装置）をホストとして選択することが難しい。
これらのことから、上記グリッドコンピューティングのような不特定多数のコンピュータを分散処理装置として用いて分散処理をおこなう場合に、いかにして適正なコンピュータを選択して処理を実行させるかが極めて重要な課題となっている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、各分散処理装置がインターネットを介した異なる機関にまたがって存在する場合に、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる分散処理制御装置、分散処理制御方法および分散処理制御プログラムを提供することを目的とする。
【発明の開示】
本発明によれば、複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取り、受け取った各分散処理装置の処理結果に基づいてジョブの実行を依頼する分散処理装置を選択することとしたので、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる。
また、本発明によれば、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して単位処理を依頼することとしたので、インターネット上に点在する各種コンピュータのうち所定のものを分散処理装置として利用者に顕在化させることができる。
また、本発明によれば、所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、記憶した単位処理プログラムおよび単位データを複数の分散処理装置に対して送信することとしたので、各分散処理装置に単位処理プログラムなどを設ける必要がなくなり、もって分散処理装置に対する事前準備をおこなわなくても円滑に選択することができる。
また、本発明によれば、ジョブの処理に要する計算量、入出力処理および／またはデータ転送処理の一部にそれぞれ相当する処理をおこなう単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶し、各分散処理装置から返送される前記単位処理プログラムの処理に要した単位処理時間、単位処理プログラムの計算量、入出力処理量およびデータ転送量並びにジョブの計算量、入出力処理量およびデータ転送量に基づいて、ジョブの実行を依頼する分散処理装置を選択することとしたので、ジョブの計算量、入出力処理量および／またはデータ転送量に適した分散処理装置を選択することができる。
また、本発明によれば、ジョブの計算量を前記単位処理プログラムの計算量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測計算時間とし、この予測計算時間に基づいて、ジョブの実行を依頼する分散処理装置を選択することとしたので、ジョブの計算量に適した分散処理装置を簡単な演算で効率良く選択することができる。
また、本発明によれば、ジョブの入出力処理量を単位処理プログラムの入出力処理量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測入出力時間とし、この予測入出力時間に基づいて、ジョブの実行を依頼する分散処理装置を選択することとしたので、ジョブの入出力処理量に適した分散処理装置を簡単な演算で効率良く選択することができる。
また、本発明によれば、ジョブのデータ転送量を単位処理プログラムのデータ転送量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測データ転送時間とし、この予測データ転送時間に基づいて、ジョブの実行を依頼する分散処理装置を選択することとしたので、ジョブのデータ転送量に適した分散処理装置を簡単な演算で効率良く選択することができる。
【図面の簡単な説明】  第１図は、本実施の形態に係る分散処理システムのシステム構成を示す図であり、第２図は、第１図に示した端末装置、分散処理制御装置、分散処理装置の処理手順を示すフローチャートであり、第３図は、第１図に示した単位処理プログラムの一例を示す図であり、第４図は、第３図に示した単位処理プログラムが使用されるケースを説明するための説明図であり、第５図は、第１図に示した登録テーブルの一例を示す図である。
【発明を実施するための最良の形態】  以下に添付図面を参照して、この発明に係る分散処理制御装置、分散処理制御方法および分散処理制御プログラムの好適な実施の形態を詳細に説明する。なお、本実施の形態では、インターネット上で機能する分散処理システムを対象とすることとする。
まず、本実施の形態に係る分散処理システムのシステム構成について説明する。第１図は、本実施の形態に係る分散処理システムのシステム構成を示す機能ブロック図である。同図に示すように、この分散処理システムは、端末装置１００および分散処理制御装置１１０がＬＡＮ１２０に接続されるとともに、このＬＡＮ１２０を介してインターネット１３０上の各分散処理装置Ａ〜Ｃと接続されたシステム構成となる。
すなわち、この分散処理システムは、グリッドコンピューティングと呼ばれる分散処理の一形態であり、インターネット１３０に接続された各コンピュータを分散処理装置と見立てて分散処理をおこなわせるシステムである。
端末装置１００は、分散処理制御装置１１０に対してジョブの実行依頼をおこなう端末装置であり、ブラウザ１０１を搭載する。このため、この端末装置１００は、ブラウザ１０１を利用して分散処理制御装置１１０が提供するホームページにアクセスし、このホームページ上で所定の入力をおこなうことにより、ジョブとしてのプログラム１１２ｄの実行依頼をおこなうことになる。なお、かかるブラウザ１０１は、インターネットのＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）上のホームページを閲覧可能なアプリケーションである。
分散処理制御装置１１０は、端末装置１００からジョブの実行依頼を受け付けた際に、分散処理装置Ａ〜Ｃの中から最も適切な分散処理装置を選択し、選択した分散処理装置に対してジョブの実行依頼をおこなう制御装置である。ここで、この分散処理制御装置１１０は、分散処理装置を選択する際に各分散処理装置Ａ〜Ｃの状況を踏まえて適切な装置を選択する。その理由は、たとえ処理能力の高い分散処理装置であっても、実行中のジョブの存在により実質的な処理能力が低下している可能性があるからである。
具体的には、この分散処理制御装置１１０は、分散処理装置Ａ〜Ｃのいずれかを選択するに際して、単位処理プログラム１１２ａおよび単位データ１１２ｂを各分散処理装置Ａ〜Ｃに送信し、返信される処理結果を踏まえて現在の処理能力を把握したうえで分散処理装置の選択をおこなう。
第１図に示すように、この分散処理制御装置１１０は、インターフェース部１１１、記憶部１１２および制御部１１３とを有する。この記憶部１１２には、単位処理プログラム１１２ａ、単位データ１１２ｂ、登録テーブル１１２ｃおよび端末装置１００から依頼を受けたジョブのプログラム１１２ｄを記憶する。制御部１１３は、処理負荷算出部１１３ａ、状況確認処理部１１３ｂ、ホスト選択部１１３ｃおよび実行依頼処理部１１３ｄを有する。
インターフェース部１１１は、ＬＡＮ１２０およびインターネット１３０を介して端末装置１００や分散処理装置Ａ〜Ｃとデータ授受するためのインターフェースであり、ネットワークカードなどが該当する。このインターフェース部１１１では、ＴＣＰ／ＩＰプロトコルにしたがったデータ授受の処理をおこなう。
記憶部１１２は、ハードディスクやＲＡＭなどの記憶デバイスであり、制御部１１３の各処理部によってデータの読み書きがおこなわれる。この記憶部１１２に記憶される単位処理プログラム１１２ａは、各分散処理装置Ａ〜Ｃの処理能力を確認するためのプログラムであり、浮動小数点演算や整数演算などのＣＰＵ処理用のプログラムや、ファイル入出力などのディスクＩ／Ｏ処理用のプログラムやネットワーク送受信などのデータ転送用のプログラムからなる。
単位データ１１２ｂは、単位処理プログラム１１２ａを実行する際に用いるデータであり、たとえばファイル入出力の場合には所定のデータ量（たとえば１６ＭＢ）のファイルデータとなり、データ転送の場合には所定量（たとえば１６ＭＢ）の転送用データとなる。
登録テーブル１１２ｃは、インターネット１３０上のコンピュータのうち分散処理装置として利用するコンピュータを登録したテーブルであり、各分散処理装置Ａ〜ＣのＩＰアドレスや動作環境のデータを保持する。かかる登録テーブル１１２ｃを用いる理由は、グリッドコンピューティングの場合には、各分散処理装置がどこに存在するかを利用者が把握しずらいため、登録制を採用することにより、分散処理装置を顕在化させることとしたものである。
プログラム１１２ｄは、端末装置１００から送信されたジョブとしてのプログラムである。かかるプログラム１１２ｄを一時記憶する理由は、本発明では、このプログラム１１２ｄを各分散処理装置Ａ〜Ｃに送信するのではなく、その前処理として単位処理プログラム１１２ａを用いた状況確認をおこなうこととしているからである。
制御部１１３は、分散処理制御装置１１０の全体制御をおこなう制御部である。この制御部１１３には、図示省略したがＨＴＴＰサーバとしての処理機能を有し、端末装置１００上のブラウザ１０１からホームページを閲覧し、所定の操作によりジョブ（プログラム１１２ｄ）の実行依頼を受け付けることができる。
処理負荷算出部１１３ａは、端末装置１００から受け付けたジョブの処理負荷を算出する処理部であり、具体的には、ジョブのプログラム１１２ｄからその計算量、ファイル入出力量、データ送受信量を算定する。たとえば、プログラム１１２ｄのループ回数、ファイル入出力コマンドの出現回数、データ転送コマンドの出現回数などからこれらの計算量、ファイル入出力量、データ送受信量を自動的に算定することになる。この計算量、ファイル入出力量、データ送受信量を算定する理由は、単位処理プログラム１１２ａの計算景とその処理に要する分散処理装置Ａ〜Ｃの所要時間との関係からジョブ（プログラム１１２ｄ）の処理所要時間を見積もり、この見積もり値からどの分散処理装置を選択すべきかを決定するためである。
状況確認処理部１１３ｂは、単位処理プログラム１１２ａおよび単位データ１１２ｂを各分散処理装置Ａ〜Ｃに送信して実行依頼をおこない、その実行結果を受け取る処理部であり、かかる処理を通じて各分散処理装置Ａ〜Ｃの状況確認をおこなう処理部である。
ホスト選択部１１３ｃは、状況確認処理部１１３ｂが各分散処理装置Ａ〜Ｃから受け取った処理結果を用いてジョブをなすプログラム１１２ｄの実行依頼をおこなう分散処理装置（ホスト）を選択する処理部である。具体的は、処理負荷算出部１１３ａにより算出されたジョブ（プログラム１１２ｄ）の計算量Ｊ１を単位処理プログラム１１２ａの計算量Ｉ１で除算し、この値に単位処理プログラム１１２ａの計算時間（ＴＩ１）を掛けた値をジョブ（プログラム１１２ｄ）の予測計算時間ＴＪ１とする。すなわち、ＴＪ１＝（Ｊ１／Ｉ１）×ＴＩ１となる。
同様に、処理負荷算出部１１３ａにより算出されたジョブ（プログラム１１２ｄ）の入出力データ量Ｊ２を単位処理プログラム１１２ａの入出力データ量Ｉ２で除算し、この値に単位処理プログラム１１２ａの入出力時間（ＴＩ２）を掛けた値をジョブ（プログラム１１２ｄ）の予測入出力時間ＴＪ２とする。すなわち、ＴＪ２＝（Ｊ２／Ｉ２）×ＴＩ２となる。
さらに、処理負荷算出部１１３ａにより算出されたジョブ（プログラム１１２ｄ）の転送データ量Ｊ３を単位処理プログラム１１２ａの転送データ量Ｉ３で除算し、この値に単位処理プログラム１１２ａのデータ転送時間（ＴＩ３）を掛けた値をジョブ（プログラム１１２ｄ）の予測データ転送時間ＴＪ３とする。すなわち、ＴＪ３＝（Ｊ３／Ｉ３）×ＴＩ３となる。
これらの処理を各分散処理装置Ａ〜Ｃについてそれぞれおこなって、各分散処理装置Ａ〜Ｃのそれぞれについてスループット時間＝ＴＪ１＋ＴＪ２＋ＴＪ３を算出し、このスループット時間の最も短い分散処理装置を選択することになる。
実行依頼処理部１１３ｄは、ホスト選択部１１３ｃで選択された分散処理装置に対してジョブ（プログラム１１２ｄ）の実行処理依頼をおこなう処理部であり、具体的には登録テーブル１１２ｃを参照して選択された分散処理装置のＩＰアドレスを取得し、そのＩＰアドレスを持つ分散処理装置に対してジョブ（プログラム１１２ｄ）を送信して実行依頼をおこなうことになる。
分散処理装置Ａ〜Ｃは、インターネット１３０上に点在するコンピュータであり、すでに説明した分散処理制御装置１１０の登録テーブル１１２ｃに登録されることにより分散処理装置として機能する。具体的には、分散処理装置Ａ〜Ｃが、端末装置１００のジョブであるプログラム１１２ｄを分散処理制御装置１１０を経て受け取った際に、このプログラム１１２ｄを実行処理してその実行結果を分散処理制御装置１１０に送信することになる。
ここで、この分散処理制御装置１１０は、単にプログラム１１２ｄのみを実行処理するだけではなく、このプログラム１１２ｄよりも前に分散処理制御装置１１０から受け取る単位処理プログラム１１２ａを単位データ１１２ｄを実行処理して分散処理制御装置１１０に返信する。かかる単位処理プログラム１１２ａを実行する理由は、その時点での各分散処理装置Ａ〜Ｃの動的な状況を含めた処理能力を分散処理制御装置１１０側で把握してジョブであるプログラム１１２ｄを実行する分散処理装置を適切に選択するためである。
なお、これらの分散処理装置Ａ〜Ｃには、分散処理制御装置１１０との間でやりとりするための仕組みをなすプログラムをインストールしたり、データを記憶しておく必要はない。つまり、各分散処理装置Ａ〜Ｃから見れば、端末装置１００からジョブであるプログラム１１２ｄを受け取る従来の場合とその構成は変わらず、本発明に係る構成は分散処理制御装置１１０側でのみ実装される。
次に、第１図に示した端末装置１００、分散処理制御装置１１０および各分散処理装置Ａ〜Ｃの処理手順について説明する。第２図は、第１図に示した端末装置１００、分散処理制御装置１１０および各分散処理装置Ａ〜Ｃの処理手順を示すフローチャートである。
同図に示すように、端末装置１００がジョブとしてのプログラム１１２ｄを分散処理制御装置１１０に対して送信して処理依頼をおこなうと（ステップＳ２０１）、この分散処理制御装置１１０は、このプログラム１１２ｄを記憶部１１２に一時記憶した後、処理負荷算出部１１３ａによってこのプログラム１１２ｄの処理に要するであろう処理負荷を算出する（ステップＳ２０２）。具体的には、プログラム１１２ｄに必要な計算量、入出力データ量、データ転送量を、プログラム１１２ｄのループコマンド、入出力コマンド、データ転送コマンドなどから見積もることになる。その後、状況確認処理部１１３ｂが、各分散処理装置Ａ〜Ｃに対して単位処理プログラム１１２ａおよび単位データ１１２ｂを送信する。
各分散処理装置Ａ〜Ｃでは、受信した単位処理プログラム１１２ａを単位データ１１２ｂを利用して実行し（ステップＳ２０３）、その実行結果を分散処理制御装置１１０に対して返送する（ステップＳ２０４）。
分散処理制御装置１１０が、各分散処理装置Ａ〜Ｃから実行結果を受け取ったならば、各分散処理装置Ａ〜Ｃのスループットを算出する（ステップＳ２０６）。具体的には、プログラム１１２ｄの計算量Ｊ１を単位処理プログラム１１２ａの計算量Ｉ１で除算し、この値に単位処理プログラム１１２ａの計算時間（ＴＩ１）を掛けた値をジョブ（プログラム１１２ｄ）の予測計算時間ＴＪ１とし、プログラム１１２ｄの入出力データ量Ｊ２を単位処理プログラム１１２ａの入出力データ量Ｉ２で除算し、この値に単位処理プログラム１１２ａの入出力時間（ＴＩ２）を掛けた値をジョブ（プログラム１１２ｄ）の予測入出力時間ＴＪ２とし、プログラム１１２ｄの転送データ量Ｊ３を単位処理プログラム１１２ａの転送データ量Ｉ３で除算し、この値に単位処理プログラム１１２ａのデータ転送時間（ＴＩ３）を掛けた値をジョブ（プログラム１１２ｄ）の予測データ転送時間ＴＪ３とし、スループット時間＝ＴＪ１＋ＴＪ２＋ＴＪ３を算出する。
その後、ホスト選択部１１３ｃが、各分散処理装置Ａ〜Ｃのスループットのうちスループットが最小の分散処理装置をプログラム１１２ｄの実行依頼先として選択し（ステップＳ２０７）、実行処理依頼部１１３ｄが、ホスト選択部１１３ｃにより選択された分散処理装置に対してプログラム１１２ｄを送信する（ステップＳ２０８）。
このプログラム１１２ｄを受け取った分散処理装置は、このプログラム１１２ｄを実行した後（ステップＳ２０９）、その実行結果を分散処理制御装置１１０に対して返信し（ステップＳ２１０）、分散処理制御装置１１０がさらに端末装置１００に対して実行結果を転送して（ステップＳ２１１）、最終的に端末装置１００の表示画面上に実行結果を表示する（ステップＳ２１２）。
次に、第１図に示した単位処理プログラム１１２ａおよび単位データ１１２ｂの一例を説明する。第３図は、第１図に示した単位処理プログラム１１２ａおよび単位データ１１２ｂの一例を示す図であり、第４図は、第３図に示した単位処理プログラム１１２ａが使用されるケースを説明するための説明図である。
第３図に示すように、この単位処理プログラム１１２ａには、ＣＰＵの処理時間を調べるためのＣＰＵ処理用単位処理プログラムと、ディスクＩ／Ｏの処理時間を調べるためのディスクＩ／Ｏ処理用単位処理プログラムと、ネットワーク上のデータ転送の処理時間を調べるためのネットワーク転送処理用単位処理プログラムとがある。
ＣＰＵ処理用単位処理プログラムとしては、たとえば１００万回の浮動小数点演算プログラム３０１や１００万回の整数演算プログラム３０２を用いることができる。
ディスクＩ／Ｏ処理用単位処理プログラムとしては、ファイル入力プログラム３０３、ファイル出力プログラム３０５およびファイル入出力プログラム３０６を用いることができる。これらのプログラムを実行する際に用いられるファイルデータ（たとえば１６ＭＢ）３０４は、単位データ１１２ｂとして分散処理制御装置１１０側から各分散処理装置Ａ〜Ｃに提供することになる。
ネットワーク転送処理用単位処理プログラムとしては、ネットワーク受信プログラム３０７、ネットワーク送信プログラム３０９およびネットワーク送受信プログラム３１０を用いることができる。これらのプログラムを実行する際に用いられるデータ（たとえば１６ＭＢ）３０８は、単位データ１１２ｂとして分散処理制御装置１１０側から各分散処理装置Ａ〜Ｃに提供することになる。なお、ネットワーク上のデータの転送先は任意に設定することができるが、分散処理制御装置１１０をデータ転送相手とすることもできる。
次に、これらの単位処理プログラム１１２ａをどのようなケースに応じて使い分けるかについて説明する。第４図に示すように、ジョブであるプログラム１１２ｄが、演算主体である場合には、浮動小数点演算プログラム（１００万回）３０１および整数演算プログラム（１００万回）３０２を用いることが望ましい。
また、ジョブであるプログラム１１２ｄが、浮動小数点演算主体である場合には、浮動小数点演算プログラム（１００万回）３０１を用いることが望まれ、整数演算主体である場合には、整数演算プログラム（１００万回）３０２を用いることが望ましい。
さらに、ジョブであるプログラム１１２ｄが、ディスクＩ／Ｏ主体である場合には、ファイル入出力プログラム３０６を用いることが望ましく、ディスクＩ／Ｏおよび演算主体である場合には、浮動小数点演算プログラム（１００万回）３０１および整数演算プログラム（１００万回）３０２とファイル入出力プログラム３０６を用いることが望ましい。なお、ネットワーク転送についても考慮すべき場合には、さらにネットワーク送受信プログラム３１０を用いることが望ましい。
また、ジョブであるプログラム１１２ｄが、ディスクＩ／Ｏ入力が主体である場合には、ファイル入力プログラム３０３を用いることが望ましく、ディスク入力およびネットワーク入力が主体である場合には、ファイル入力プログラム３０３およびネットワーク受信プログラム３０７を用いることが望ましい。
さらに、ジョブであるプログラム１１２ｄが、ディスクＩ／Ｏ出力が主体である場合には、ファイル出力プログラム３０５を用いることが望ましく、ディスクＩ／Ｏ出力およびネットワーク出力が主体である場合には、ファイル出力プログラム３０５およびネットワーク送信プログラム３０９を用いることが望ましい。
また、ジョブであるプログラム１１２ｄが、演算、ディスクＩ／Ｏ、ネットワーク転送のすべてが主体である場合には、浮動小数点演算プログラム（１００万回）３０１、整数演算プログラム（１００万回）３０２、ファイル入出力プログラム３０６およびネットワーク送受信プログラム３１０を用いることが望ましい。
次に、第１図に示した登録テーブル１１２ｃの一例について説明する。第５図は、第１図に示した登録テーブル１１２ｃの一例を示す図である。同図に示すように、この登録テーブル１１２ｃには、インターネット上の各種コンピュータのうち分散処理装置として機能するもののみが登録されている。かかる登録をおこなう理由は、グリッドコンピューティングのようなシステムでは、端末装置１００を利用する利用者にとってどのコンピュータを分散処理装置として用いることができるかが顕在化されておらず、分散処理装置の選択に多大の時間を要するからである。
同図に示すように、この登録テーブル１１２ｃでは、コンピュータの名称を示す登録装置名と、このコンピュータのＩＰアドレスと、コンピュータの動作環境を対応付けて記憶する。たとえば、分散処理装置Ａについて、そのＩＰアドレス１９２．１６８．３．１と、そのオペレーティングシステムであるＵＮＩＸとを対応付けて記憶する。
また、分散処理装置Ｂについて、そのＩＰアドレス１９２．１６８．１．３と、そのオペレーティングシステムであるＷＩＮＤＯＷＳとを対応付けて記憶し、分散処理装置Ｃについて、そのＩＰアドレス１９２．１５６．２．３と、そのオペレーティングシステムであるＵＮＩＸとを対応付けて記憶する。
なお、このように各分散処理装置Ａ〜Ｃの動作環境が異なる場合には、動作環境ごとの単位処理プログラム１１２ａをそれぞれ準備して分散処理制御装置１１０に保持しておき、動作環境に適した単位処理プログラム１１２ａを分散処理装置Ａ〜Ｃに送信する必要がある。
上述してきたように、本実施の形態では、端末装置１１０からのジョブであるプログラム１１２ｄを分散処理制御装置１１０が受け付けたならば、状況確認処理部１１３ｂが単位処理プログラム１１２ａおよび単位データ１１２ｂを登録テーブル１１２ｃに登録した各分散処理装置Ａ〜Ｃに対して送信し、各分散処理装置Ａ〜Ｃから返信される実行結果に基づいて、プログラム１１２ｄを実行依頼する適切な分散処理装置を選択するよう構成したので、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる。
ところで、本実施の形態では、本発明をクライアント−サーバシステムに適用した場合を説明したが、テレスクリプトなどの自律エージェントを用いた場合にも適用することができる。具体的には、分散処理制御装置１１０は、単位処理プログラム１１２ａ、単位データ１１２ｂおよび登録テーブル１１２ｃを内在した自律エージェントを準備しておき、端末装置１００からジョブであるプログラム１１２ｄを受け付けた際に、この自律エージェントを発信させる。すると、この自律エージェントは、自ら分散処理装置として機能するコンピュータを渡り歩いて単位処理プログラム１１２ａの実行結果を取得し、すべての実行結果を取得したならば分散処理制御装置１１０に舞い戻る。このため、この自律エージェントが取得した実行結果を用いて、ジョブであるプログラム１１２ｄの実行依頼をおこなう適切な分散処理装置を効率良く選択することができる。
なお、本実施の形態では、第３図および第４図を用いて単位処理プログラム１１２ａの一例を示したが、本発明はこれに限定されるものではなく、これ以外の単位処理プログラムを用いた場合にも同様に適用することができる。
以上説明したように、本発明によれば、複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取り、受け取った各分散処理装置の処理結果に基づいてジョブの実行を依頼する分散処理装置を選択するよう構成したので、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる。
また、本発明によれば、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して単位処理を依頼するよう構成したので、インターネット上に点在する各種コンピュータのうち所定のものを分散処理装置として利用者に顕在化させることができる。
また、本発明によれば、所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、記憶した単位処理プログラムおよび単位データを複数の分散処理装置に対して送信するよう構成したので、各分散処理装置に単位処理プログラムなどを設ける必要がなくなり、もって分散処理装置に対する事前準備をおこなわなくても円滑に選択することができる。
また、本発明によれば、ジョブの処理に要する計算量、入出力処理および／またはデータ転送処理の一部にそれぞれ相当する処理をおこなう単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶し、各分散処理装置から返送される前記単位処理プログラムの処理に要した単位処理時間、単位処理プログラムの計算量、入出力処理量およびデータ転送量並びにジョブの計算量、入出力処理量およびデータ転送量に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブの計算量、入出力処理量および／またはデータ転送量に適した分散処理装置を選択することができる。
また、本発明によれば、ジョブの計算量を前記単位処理プログラムの計算量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測計算時間とし、この予測計算時間に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブの計算量に適した分散処理装置を簡単な演算で効率良く選択することができる。
また、本発明によれば、ジョブの入出力処理量を単位処理プログラムの入出力処理量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測入出力時間とし、この予測入出力時間に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブの入出力処理量に適した分散処理装置を簡単な演算で効率良く選択することができる。
また、本発明によれば、ジョブのデータ転送量を単位処理プログラムのデータ転送量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測データ転送時間とし、この予測データ転送時間に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブのデータ転送量に適した分散処理装置を簡単な演算で効率良く選択することができる。
【産業上の利用可能性】  以上のように、本発明に係る分散処理制御装置、分散処理制御方法および分散処理制御プログラムは、各分散処理装置がインターネットを介した異なる機関にまたがって存在する場合に、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことに適している。
【図１】
2004086246.tif 000003
【図２】
2004086246.tif 000004
【図３】
2004086246.tif 000005
【図４】
2004086246.tif 000006
【図５】
2004086246.tif 000007
【手続補正書】
【提出日】平成17年8月5日(2005.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置であって、
前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認手段と、
前記状況確認手段により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択手段と
を備えたことを特徴とする分散処理制御装置。
【請求項２】
インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置の分散処理制御方法であって、
前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認工程と、
前記状況確認工程により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択工程と
を含んだことを特徴とする分散処理制御方法。
【請求項３】
インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置の分散処理制御プログラムであって、
前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認手順と、
前記状況確認手順により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択手順と
をコンピュータに実行させることを特徴とする分散処理制御プログラム。
【請求項４】
前記状況確認手順は、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して前記単位処理を依頼することを特徴とする請求の範囲第３項に記載の分散処理制御プログラム。
【請求項５】
所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、前記状況確認手順は、記憶した単位処理プログラムおよび単位データを前記複数の分散処理装置に対して送信することを特徴とする請求の範囲第３項に記載の分散処理制御プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、この発明は、インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置、分散処理制御方法および分散処理制御プログラムに関し、特に、各分散処理装置がインターネットを介した異なる機関にまたがって存在する場合に、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる分散処理制御装置、分散処理制御方法および分散処理制御プログラムに関するものである。
【背景技術】
【０００２】
従来、ネットワーク上に分散した複数の分散処理装置を用いて、負荷分散をおこなう分散処理技術が知られている。たとえば、特許文献１（特開平７−１８２２１７号公報）には、主データベース・サーバのＤＢＭＳが２台のサーバ・マシンのＣＰＵ使用率及び処理要求のキューの累積状態を常時把握し、そのデータを基に処理を実行するサーバを選択して処理要求を発行する技術が開示されている。また、特許文献２（特開平１１−２５００２０号公報）には、クライアント装置内の要求分散処理手段が、サーバ状態管理手段から複数のサーバの負荷情報を取得し、クライアント装置より処理要求が出力されると、要求中継手段がサーバ選択要求を出し、要求分散処理手段が、負荷情報に基づいて負荷の少ないサーバを決定する技術が開示されている。
【０００３】
このように、従来の分散処理技術では、あらかじめ定められた複数の分散処理装置とこれらを制御する制御装置を用いて分散処理をおこなわれてきたが、最近になって、いわゆるグリッドコンピューティングと呼ばれる分散処理技術が普及しつつある。
【０００４】
このグリッドコンピューティングとは、遠隔地に存在するコンピュータ（分散処理装置）をインターネットを介して接続し、プロセッシング・パワーやデータ・ストレージなどのコンピュータ資源をそれらのコンピュータ同士で共有して、処理を進められるようにしたコンピューティング基盤のことであり、インターネット上の各種コンピュータを分散処理装置と見立てて高度な負荷分散をおこなうことができる。
【０００５】
【特許文献１】特開平７−１８２２１７号公報
【特許文献２】特開平１１−２５００２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、かかるグリッドコンピューティングを採用した場合には、上記特許文献１および２のような専用の分散処理装置を利用するわけではないので、インターネット上のどの分散処理装置を選択して処理の実行を依頼するかが極めて悩ましい問題となる。
【０００７】
具体的には、（１）利用者は、分散した別々の組織に配置されたコンピュータを知らないので分散処理装置として顕在化できない場合が多く、（２）各コンピュータの状態は常に変化しており、たとえこれらのコンピュータの情報を集中管理したとしても、かかる集中管理情報が必ずしも最新の状態ではないという問題があるので、結果的に、利用者は最適なコンピュータ（分散処理装置）をホストとして選択することが難しい。
【０００８】
これらのことから、上記グリッドコンピューティングのような不特定多数のコンピュータを分散処理装置として用いて分散処理をおこなう場合に、いかにして適正なコンピュータを選択して処理を実行させるかが極めて重要な課題となっている。
【０００９】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、各分散処理装置がインターネットを介した異なる機関にまたがって存在する場合に、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる分散処理制御装置、分散処理制御方法および分散処理制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するため、本発明は、インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置であって、前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認手段と、前記状況確認手段により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択手段とを備えたことを特徴とする。
【００１１】
また、本発明は、インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置の分散処理制御方法であって、前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認工程と、前記状況確認工程により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択工程とを含んだことを特徴とする。
【００１２】
また、本発明は、インターネット上に存在する複数の分散処理装置のいずれかを選択してジョブの実行を依頼する分散処理制御装置の分散処理制御プログラムであって、前記複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取って各分散処理装置の状況を確認する状況確認手順と、前記状況確認手順により受け取られた各分散処理装置の処理結果に基づいて前記ジョブの実行を依頼する分散処理装置を選択する選択手順とをコンピュータに実行させることを特徴とする。
【００１３】
また、本発明は、上記発明において、前記状況確認手順は、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して前記単位処理を依頼することを特徴とする。
【００１４】
また、本発明は、上記発明において、所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、前記状況確認手順は、記憶した単位処理プログラムおよび単位データを前記複数の分散処理装置に対して送信することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取り、受け取った各分散処理装置の処理結果に基づいてジョブの実行を依頼する分散処理装置を選択することとしたので、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる。
【００１６】
また、本発明によれば、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して単位処理を依頼することとしたので、インターネット上に点在する各種コンピュータのうち所定のものを分散処理装置として利用者に顕在化させることができる。
【００１７】
また、本発明によれば、所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、記憶した単位処理プログラムおよび単位データを複数の分散処理装置に対して送信することとしたので、各分散処理装置に単位処理プログラムなどを設ける必要がなくなり、もって分散処理装置に対する事前準備をおこなわなくても円滑に選択することができる。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明に係る分散処理制御装置、分散処理制御方法および分散処理制御プログラムの好適な実施の形態を詳細に説明する。なお、本実施の形態では、インターネット上で機能する分散処理システムを対象とすることとする。
【００１９】
まず、本実施の形態に係る分散処理システムのシステム構成について説明する。第１図は、本実施の形態に係る分散処理システムのシステム構成を示す機能ブロック図である。同図に示すように、この分散処理システムは、端末装置１００および分散処理制御装置１１０がＬＡＮ１２０に接続されるとともに、このＬＡＮ１２０を介してインターネット１３０上の各分散処理装置Ａ〜Ｃと接続されたシステム構成となる。
【００２０】
すなわち、この分散処理システムは、グリッドコンピューティングと呼ばれる分散処理の一形態であり、インターネット１３０に接続された各コンピュータを分散処理装置と見立てて分散処理をおこなわせるシステムである。
【００２１】
端末装置１００は、分散処理制御装置１１０に対してジョブの実行依頼をおこなう端末装置であり、ブラウザ１０１を搭載する。このため、この端末装置１００は、ブラウザ１０１を利用して分散処理制御装置１１０が提供するホームページにアクセスし、このホームページ上で所定の入力をおこなうことにより、ジョブとしてのプログラム１１２ｄの実行依頼をおこなうことになる。なお、かかるブラウザ１０１は、インターネットのＷＷＷ（World Wide Web）上のホームページを閲覧可能なアプリケーションである。
【００２２】
分散処理制御装置１１０は、端末装置１００からジョブの実行依頼を受け付けた際に、分散処理装置Ａ〜Ｃの中から最も適切な分散処理装置を選択し、選択した分散処理装置に対してジョブの実行依頼をおこなう制御装置である。ここで、この分散処理制御装置１１０は、分散処理装置を選択する際に各分散処理装置Ａ〜Ｃの状況を踏まえて適切な装置を選択する。その理由は、たとえ処理能力の高い分散処理装置であっても、実行中のジョブの存在により実質的な処理能力が低下している可能性があるからである。
【００２３】
具体的には、この分散処理制御装置１１０は、分散処理装置Ａ〜Ｃのいずれかを選択するに際して、単位処理プログラム１１２ａおよび単位データ１１２ｂを各分散処理装置Ａ〜Ｃに送信し、返信される処理結果を踏まえて現在の処理能力を把握したうえで分散処理装置の選択をおこなう。
【００２４】
第１図に示すように、この分散処理制御装置１１０は、インターフェース部１１１、記憶部１１２および制御部１１３とを有する。この記憶部１１２には、単位処理プログラム１１２ａ、単位データ１１２ｂ、登録テーブル１１２ｃおよび端末装置１００から依頼を受けたジョブのプログラム１１２ｄを記憶する。制御部１１３は、処理負荷算出部１１３ａ、状況確認処理部１１３ｂ、ホスト選択部１１３ｃおよび実行依頼処理部１１３ｄを有する。
【００２５】
インターフェース部１１１は、ＬＡＮ１２０およびインターネット１３０を介して端末装置１００や分散処理装置Ａ〜Ｃとデータ授受するためのインターフェースであり、ネットワークカードなどが該当する。このインターフェース部１１１では、ＴＣＰ／ＩＰプロトコルにしたがったデータ授受の処理をおこなう。
【００２６】
記憶部１１２は、ハードディスクやＲＡＭなどの記憶デバイスであり、制御部１１３の各処理部によってデータの読み書きがおこなわれる。この記憶部１１２に記憶される単位処理プログラム１１２ａは、各分散処理装置Ａ〜Ｃの処理能力を確認するためのプログラムであり、浮動小数点演算や整数演算などのＣＰＵ処理用のプログラムや、ファイル入出力などのディスクＩ／Ｏ処理用のプログラムやネットワーク送受信などのデータ転送用のプログラムからなる。
【００２７】
単位データ１１２ｂは、単位処理プログラム１１２ａを実行する際に用いるデータであり、たとえばファイル入出力の場合には所定のデータ量（たとえば１６ＭＢ）のファイルデータとなり、データ転送の場合には所定量（たとえば１６ＭＢ）の転送用データとなる。
【００２８】
登録テーブル１１２ｃは、インターネット１３０上のコンピュータのうち分散処理装置として利用するコンピュータを登録したテーブルであり、各分散処理装置Ａ〜ＣのＩＰアドレスや動作環境のデータを保持する。かかる登録テーブル１１２ｃを用いる理由は、グリッドコンピューティングの場合には、各分散処理装置がどこに存在するかを利用者が把握しずらいため、登録制を採用することにより、分散処理装置を顕在化させることとしたものである。
【００２９】
プログラム１１２ｄは、端末装置１００から送信されたジョブとしてのプログラムである。かかるプログラム１１２ｄを一時記憶する理由は、本発明では、このプログラム１１２ｄを各分散処理装置Ａ〜Ｃに送信するのではなく、その前処理として単位処理プログラム１１２ａを用いた状況確認をおこなうこととしているからである。
【００３０】
制御部１１３は、分散処理制御装置１１０の全体制御をおこなう制御部である。この制御部１１３には、図示省略したがＨＴＴＰサーバとしての処理機能を有し、端末装置１００上のブラウザ１０１からホームページを閲覧し、所定の操作によりジョブ（プログラム１１２ｄ）の実行依頼を受け付けることができる。
【００３１】
処理負荷算出部１１３ａは、端末装置１００から受け付けたジョブの処理負荷を算出する処理部であり、具体的には、ジョブのプログラム１１２ｄからその計算量、ファイル入出力量、データ送受信量を算定する。たとえば、プログラム１１２ｄのループ回数、ファイル入出力コマンドの出現回数、データ転送コマンドの出現回数などからこれらの計算量、ファイル入出力量、データ送受信量を自動的に算定することになる。この計算量、ファイル入出力量、データ送受信量を算定する理由は、単位処理プログラム１１２ａの計算量とその処理に要する分散処理装置Ａ〜Ｃの所要時間との関係からジョブ（プログラム１１２ｄ）の処理所要時間を見積もり、この見積もり値からどの分散処理装置を選択すべきかを決定するためである。
【００３２】
状況確認処理部１１３ｂは、単位処理プログラム１１２ａおよび単位データ１１２ｂを各分散処理装置Ａ〜Ｃに送信して実行依頼をおこない、その実行結果を受け取る処理部であり、かかる処理を通じて各分散処理装置Ａ〜Ｃの状況確認をおこなう処理部である。
【００３３】
ホスト選択部１１３ｃは、状況確認処理部１１３ｂが各分散処理装置Ａ〜Ｃから受け取った処理結果を用いてジョブをなすプログラム１１２ｄの実行依頼をおこなう分散処理装置（ホスト）を選択する処理部である。具体的は、処理負荷算出部１１３ａにより算出されたジョブ（プログラム１１２ｄ）の計算量Ｊ１を単位処理プログラム１１２ａの計算量Ｉ１で除算し、この値に単位処理プログラム１１２ａの計算時間（ＴＩ１）を掛けた値をジョブ（プログラム１１２ｄ）の予測計算時間ＴＪ１とする。すなわち、ＴＪ１＝（Ｊ１／Ｉ１）×ＴＩ１となる。
【００３４】
同様に、処理負荷算出部１１３ａにより算出されたジョブ（プログラム１１２ｄ）の入出力データ量Ｊ２を単位処理プログラム１１２ａの入出力データ量Ｉ２で除算し、この値に単位処理プログラム１１２ａの入出力時間（ＴＩ２）を掛けた値をジョブ（プログラム１１２ｄ）の予測入出力時間ＴＪ２とする。すなわち、ＴＪ２＝（Ｊ２／Ｉ２）×ＴＩ２となる。
【００３５】
さらに、処理負荷算出部１１３ａにより算出されたジョブ（プログラム１１２ｄ）の転送データ量Ｊ３を単位処理プログラム１１２ａの転送データ量Ｉ３で除算し、この値に単位処理プログラム１１２ａのデータ転送時間（ＴＩ３）を掛けた値をジョブ（プログラム１１２ｄ）の予測データ転送時間ＴＪ３とする。すなわち、ＴＪ３＝（Ｊ３／Ｉ３）×ＴＩ３となる。
【００３６】
これらの処理を各分散処理装置Ａ〜Ｃについてそれぞれおこなって、各分散処理装置Ａ〜Ｃのそれぞれについてスループット時間＝ＴＪ１＋ＴＪ２＋ＴＪ３を算出し、このスループット時間の最も短い分散処理装置を選択することになる。
【００３７】
実行依頼処理部１１３ｄは、ホスト選択部１１３ｃで選択された分散処理装置に対してジョブ（プログラム１１２ｄ）の実行処理依頼をおこなう処理部であり、具体的には登録テーブル１１２ｃを参照して選択された分散処理装置のＩＰアドレスを取得し、そのＩＰアドレスを持つ分散処理装置に対してジョブ（プログラム１１２ｄ）を送信して実行依頼をおこなうことになる。
【００３８】
分散処理装置Ａ〜Ｃは、インターネット１３０上に点在するコンピュータであり、すでに説明した分散処理制御装置１１０の登録テーブル１１２ｃに登録されることにより分散処理装置として機能する。具体的には、分散処理装置Ａ〜Ｃが、端末装置１００のジョブであるプログラム１１２ｄを分散処理制御装置１１０を経て受け取った際に、このプログラム１１２ｄを実行処理してその実行結果を分散処理制御装置１１０に送信することになる。
【００３９】
ここで、この分散処理制御装置１１０は、単にプログラム１１２ｄのみを実行処理するだけではなく、このプログラム１１２ｄよりも前に分散処理制御装置１１０から受け取る単位処理プログラム１１２ａを単位データ１１２ｄを実行処理して分散処理制御装置１１０に返信する。かかる単位処理プログラム１１２ａを実行する理由は、その時点での各分散処理装置Ａ〜Ｃの動的な状況を含めた処理能力を分散処理制御装置１１０側で把握してジョブであるプログラム１１２ｄを実行する分散処理装置を適切に選択するためである。
【００４０】
なお、これらの分散処理装置Ａ〜Ｃには、分散処理制御装置１１０との間でやりとりするための仕組みをなすプログラムをインストールしたり、データを記憶しておく必要はない。つまり、各分散処理装置Ａ〜Ｃから見れば、端末装置１００からジョブであるプログラム１１２ｄを受け取る従来の場合とその構成は変わらず、本発明に係る構成は分散処理制御装置１１０側でのみ実装される。
【００４１】
次に、第１図に示した端末装置１００、分散処理制御装置１１０および各分散処理装置Ａ〜Ｃの処理手順について説明する。第２図は、第１図に示した端末装置１００、分散処理制御装置１１０および各分散処理装置Ａ〜Ｃの処理手順を示すフローチャートである。
【００４２】
同図に示すように、端末装置１００がジョブとしてのプログラム１１２ｄを分散処理制御装置１１０に対して送信して処理依頼をおこなうと（ステップＳ２０１）、この分散処理制御装置１１０は、このプログラム１１２ｄを記憶部１１２に一時記憶した後、処理負荷算出部１１３ａによってこのプログラム１１２ｄの処理に要するであろう処理負荷を算出する（ステップＳ２０２）。具体的には、プログラム１１２ｄに必要な計算量、入出力データ量、データ転送量を、プログラム１１２ｄのループコマンド、入出力コマンド、データ転送コマンドなどから見積もることになる。その後、状況確認処理部１１３ｂが、各分散処理装置Ａ〜Ｃに対して単位処理プログラム１１２ａおよび単位データ１１２ｂを送信する。
【００４３】
各分散処理装置Ａ〜Ｃでは、受信した単位処理プログラム１１２ａを単位データ１１２ｂを利用して実行し（ステップＳ２０３）、その実行結果を分散処理制御装置１１０に対して返送する（ステップＳ２０４）。
【００４４】
分散処理制御装置１１０が、各分散処理装置Ａ〜Ｃから実行結果を受け取ったならば、各分散処理装置Ａ〜Ｃのスループットを算出する（ステップＳ２０６）。具体的には、プログラム１１２ｄの計算量Ｊ１を単位処理プログラム１１２ａの計算量Ｉ１で除算し、この値に単位処理プログラム１１２ａの計算時間（ＴＩ１）を掛けた値をジョブ（プログラム１１２ｄ）の予測計算時間ＴＪ１とし、プログラム１１２ｄの入出力データ量Ｊ２を単位処理プログラム１１２ａの入出力データ量Ｉ２で除算し、この値に単位処理プログラム１１２ａの入出力時間（ＴＩ２）を掛けた値をジョブ（プログラム１１２ｄ）の予測入出力時間ＴＪ２とし、プログラム１１２ｄの転送データ量Ｊ３を単位処理プログラム１１２ａの転送データ量Ｉ３で除算し、この値に単位処理プログラム１１２ａのデータ転送時間（ＴＩ３）を掛けた値をジョブ（プログラム１１２ｄ）の予測データ転送時間ＴＪ３とし、スループット時間＝ＴＪ１＋ＴＪ２＋ＴＪ３を算出する。
【００４５】
その後、ホスト選択部１１３ｃが、各分散処理装置Ａ〜Ｃのスループットのうちスループットが最小の分散処理装置をプログラム１１２ｄの実行依頼先として選択し（ステップＳ２０７）、実行処理依頼部１１３ｄが、ホスト選択部１１３ｃにより選択された分散処理装置に対してプログラム１１２ｄを送信する（ステップＳ２０８）。
【００４６】
このプログラム１１２ｄを受け取った分散処理装置は、このプログラム１１２ｄを実行した後（ステップＳ２０９）、その実行結果を分散処理制御装置１１０に対して返信し（ステップＳ２１０）、分散処理制御装置１１０がさらに端末装置１００に対して実行結果を転送して（ステップＳ２１１）、最終的に端末装置１００の表示画面上に実行結果を表示する（ステップＳ２１２）。
【００４７】
次に、第１図に示した単位処理プログラム１１２ａおよび単位データ１１２ｂの一例を説明する。第３図は、第１図に示した単位処理プログラム１１２ａおよび単位データ１１２ｂの一例を示す図であり、第４図は、第３図に示した単位処理プログラム１１２ａが使用されるケースを説明するための説明図である。
【００４８】
第３図に示すように、この単位処理プログラム１１２ａには、ＣＰＵの処理時間を調べるためのＣＰＵ処理用単位処理プログラムと、ディスクＩ／Ｏの処理時間を調べるためのディスクＩ／Ｏ処理用単位処理プログラムと、ネットワーク上のデータ転送の処理時間を調べるためのネットワーク転送処理用単位処理プログラムとがある。
【００４９】
ＣＰＵ処理用単位処理プログラムとしては、たとえば１００万回の浮動小数点演算プログラム３０１や１００万回の整数演算プログラム３０２を用いることができる。
【００５０】
ディスクＩ／Ｏ処理用単位処理プログラムとしては、ファイル入力プログラム３０３、ファイル出力プログラム３０５およびファイル入出力プログラム３０６を用いることができる。これらのプログラムを実行する際に用いられるファイルデータ（たとえば１６ＭＢ）３０４は、単位データ１１２ｂとして分散処理制御装置１１０側から各分散処理装置Ａ〜Ｃに提供することになる。
【００５１】
ネットワーク転送処理用単位処理プログラムとしては、ネットワーク受信プログラム３０７、ネットワーク送信プログラム３０９およびネットワーク送受信プログラム３１０を用いることができる。これらのプログラムを実行する際に用いられるデータ（たとえば１６ＭＢ）３０８は、単位データ１１２ｂとして分散処理制御装置１１０側から各分散処理装置Ａ〜Ｃに提供することになる。なお、ネットワーク上のデータの転送先は任意に設定することができるが、分散処理制御装置１１０をデータ転送相手とすることもできる。
【００５２】
次に、これらの単位処理プログラム１１２ａをどのようなケースに応じて使い分けるかについて説明する。第４図に示すように、ジョブであるプログラム１１２ｄが、演算主体である場合には、浮動小数点演算プログラム（１００万回）３０１および整数演算プログラム（１００万回）３０２を用いることが望ましい。
【００５３】
また、ジョブであるプログラム１１２ｄが、浮動小数点演算主体である場合には、浮動小数点演算プログラム（１００万回）３０１を用いることが望まれ、整数演算主体である場合には、整数演算プログラム（１００万回）３０２を用いることが望ましい。
【００５４】
さらに、ジョブであるプログラム１１２ｄが、ディスクＩ／Ｏ主体である場合には、ファイル入出力プログラム３０６を用いることが望ましく、ディスクＩ／Ｏおよび演算主体である場合には、浮動小数点演算プログラム（１００万回）３０１および整数演算プログラム（１００万回）３０２とファイル入出力プログラム３０６を用いることが望ましい。なお、ネットワーク転送についても考慮すべき場合には、さらにネットワーク送受信プログラム３１０を用いることが望ましい。
【００５５】
また、ジョブであるプログラム１１２ｄが、ディスクＩ／Ｏ入力が主体である場合には、ファイル入力プログラム３０３を用いることが望ましく、ディスク入力およびネットワーク入力が主体である場合には、ファイル入力プログラム３０３およびネットワーク受信プログラム３０７を用いることが望ましい。
【００５６】
さらに、ジョブであるプログラム１１２ｄが、ディスクＩ／Ｏ出力が主体である場合には、ファイル出力プログラム３０５を用いることが望ましく、ディスクＩ／Ｏ出力およびネットワーク出力が主体である場合には、ファイル出力プログラム３０５およびネットワーク送信プログラム３０９を用いることが望ましい。
【００５７】
また、ジョブであるプログラム１１２ｄが、演算、ディスクＩ／Ｏ、ネットワーク転送のすべてが主体である場合には、浮動小数点演算プログラム（１００万回）３０１、整数演算プログラム（１００万回）３０２、ファイル入出力プログラム３０６およびネットワーク送受信プログラム３１０を用いることが望ましい。
【００５８】
次に、第１図に示した登録テーブル１１２ｃの一例について説明する。第５図は、第１図に示した登録テーブル１１２ｃの一例を示す図である。同図に示すように、この登録テーブル１１２ｃには、インターネット上の各種コンピュータのうち分散処理装置として機能するもののみが登録されている。かかる登録をおこなう理由は、グリッドコンピューティングのようなシステムでは、端末装置１００を利用する利用者にとってどのコンピュータを分散処理装置として用いることができるかが顕在化されておらず、分散処理装置の選択に多大の時間を要するからである。
【００５９】
同図に示すように、この登録テーブル１１２ｃでは、コンピュータの名称を示す登録装置名と、このコンピュータのＩＰアドレスと、コンピュータの動作環境を対応付けて記憶する。たとえば、分散処理装置Ａについて、そのＩＰアドレス192.168.3.1と、そのオペレーティングシステムであるＵＮＩＸ（登録商標）とを対応付けて記憶する。
【００６０】
また、分散処理装置Ｂについて、そのＩＰアドレス192.168.1.3と、そのオペレーティングシステムであるＷＩＮＤＯＷＳ（登録商標）とを対応付けて記憶し、分散処理装置Ｃについて、そのＩＰアドレス192.156.2.3と、そのオペレーティングシステムであるＵＮＩＸ（登録商標）とを対応付けて記憶する。
【００６１】
なお、このように各分散処理装置Ａ〜Ｃの動作環境が異なる場合には、動作環境ごとの単位処理プログラム１１２ａをそれぞれ準備して分散処理制御装置１１０に保持しておき、動作環境に適した単位処理プログラム１１２ａを分散処理装置Ａ〜Ｃに送信する必要がある。
【００６２】
上述してきたように、本実施の形態では、端末装置１１０からのジョブであるプログラム１１２ｄを分散処理制御装置１１０が受け付けたならば、状況確認処理部１１３ｂが単位処理プログラム１１２ａおよび単位データ１１２ｂを登録テーブル１１２ｃに登録した各分散処理装置Ａ〜Ｃに対して送信し、各分散処理装置Ａ〜Ｃから返信される実行結果に基づいて、プログラム１１２ｄを実行依頼する適切な分散処理装置を選択するよう構成したので、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる。
【００６３】
ところで、本実施の形態では、本発明をクライアント−サーバシステムに適用した場合を説明したが、テレスクリプトなどの自律エージェントを用いた場合にも適用することができる。具体的には、分散処理制御装置１１０は、単位処理プログラム１１２ａ、単位データ１１２ｂおよび登録テーブル１１２ｃを内在した自律エージェントを準備しておき、端末装置１００からジョブであるプログラム１１２ｄを受け付けた際に、この自律エージェントを発信させる。すると、この自律エージェントは、自ら分散処理装置として機能するコンピュータを渡り歩いて単位処理プログラム１１２ａの実行結果を取得し、すべての実行結果を取得したならば分散処理制御装置１１０に舞い戻る。このため、この自律エージェントが取得した実行結果を用いて、ジョブであるプログラム１１２ｄの実行依頼をおこなう適切な分散処理装置を効率良く選択することができる。
【００６４】
なお、本実施の形態では、第３図および第４図を用いて単位処理プログラム１１２ａの一例を示したが、本発明はこれに限定されるものではなく、これ以外の単位処理プログラムを用いた場合にも同様に適用することができる。
【００６５】
以上説明したように、本発明によれば、複数の分散処理装置に対して単位処理を依頼するとともに、該単位処理の依頼に応答して各分散処理装置から返送される処理結果を受け取り、受け取った各分散処理装置の処理結果に基づいてジョブの実行を依頼する分散処理装置を選択するよう構成したので、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことができる。
【００６６】
また、本発明によれば、インターネット上に存在する複数のコンピュータのうち分散処理装置となり得るコンピュータをあらかじめ登録しておき、該登録した複数の分散処理装置に対して単位処理を依頼するよう構成したので、インターネット上に点在する各種コンピュータのうち所定のものを分散処理装置として利用者に顕在化させることができる。
【００６７】
また、本発明によれば、所定の処理単位の処理を実行する単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶しておき、記憶した単位処理プログラムおよび単位データを複数の分散処理装置に対して送信するよう構成したので、各分散処理装置に単位処理プログラムなどを設ける必要がなくなり、もって分散処理装置に対する事前準備をおこなわなくても円滑に選択することができる。
【００６８】
また、本発明によれば、ジョブの処理に要する計算量、入出力処理および／またはデータ転送処理の一部にそれぞれ相当する処理をおこなう単位処理プログラムおよび該単位処理プログラムを実行する際に用いる単位データを記憶し、各分散処理装置から返送される前記単位処理プログラムの処理に要した単位処理時間、単位処理プログラムの計算量、入出力処理量およびデータ転送量並びにジョブの計算量、入出力処理量およびデータ転送量に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブの計算量、入出力処理量および／またはデータ転送量に適した分散処理装置を選択することができる。
【００６９】
また、本発明によれば、ジョブの計算量を前記単位処理プログラムの計算量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測計算時間とし、この予測計算時間に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブの計算量に適した分散処理装置を簡単な演算で効率良く選択することができる。
【００７０】
また、本発明によれば、ジョブの入出力処理量を単位処理プログラムの入出力処理量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測入出力時間とし、この予測入出力時間に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブの入出力処理量に適した分散処理装置を簡単な演算で効率良く選択することができる。
【００７１】
また、本発明によれば、ジョブのデータ転送量を単位処理プログラムのデータ転送量で除算した値に単位処理プログラムの処理に要した単位処理時間を掛けた値を分散処理装置でジョブを処理する際の予測データ転送時間とし、この予測データ転送時間に基づいて、ジョブの実行を依頼する分散処理装置を選択するよう構成したので、ジョブのデータ転送量に適した分散処理装置を簡単な演算で効率良く選択することができる。
【産業上の利用可能性】
【００７２】
以上のように、本発明に係る分散処理制御装置、分散処理制御方法および分散処理制御プログラムは、各分散処理装置がインターネットを介した異なる機関にまたがって存在する場合に、処理の依頼に適切な分散処理装置を選択して処理の実行を依頼することにより、効率的な負荷分散をおこなうことに適している。
【図面の簡単な説明】
【００７３】
【図１】本実施の形態に係る分散処理システムのシステム構成を示す図である。
【図２】第１図に示した端末装置、分散処理制御装置、分散処理装置の処理手順を示すフローチャートである。
【図３】第１図に示した単位処理プログラムの一例を示す図である。
【図４】第３図に示した単位処理プログラムが使用されるケースを説明するための説明図である。
【図５】第１図に示した登録テーブルの一例を示す図である。
【国際調査報告】
2004086246.tif 000008
2004086246.tif 000009