(57)【要約】【課題】  提供する計算機の利用条件を提供する側が指定するとともに、負荷の集中を抑制する。【解決手段】  分散処理システム１０は、ネットワーク４に接続された計算機資源管理マスタ１、ユーザ端末２及び利用可能計算機３Ｍ…から構成されている。計算機資源管理マスタ１は、利用可能計算機３Ｍ…の情報を保持する計算機資源データベース１１と、計算機資源データベース１１を操作するデータベース操作ライブラリ１２と、計算機資源データベース１１の内容表示及び検索機能を有する表示インタフェース１３とを備える。ユーザ端末２は、ネットワーク環境で実行するユーザプログラム１４と、その実行を管理し実行に必要な計算機資源の割り当てなどの管理も行う実行サーバ１５とを備える。利用可能計算機３Ｍは、計算機資源データベース１１に登録する情報を収集し、ネットワーク４経由での実行時にユーザ側の実行サーバ１５と通信して環境設定を行う機能を備えた計算サーバ１６Ｍを備える。【選択図】  図１
2007004241.tif 000002
【特許請求の範囲】
【請求項１】
計算機資源管理サーバ、ユーザ端末及び複数の利用可能計算機がネットワークを介して接続され、
前記計算機資源管理サーバは、前記各利用可能計算機を利用するために必要な情報である計算機情報を蓄積するデータベースと、前記ネットワークを介してアクセスしてきた前記ユーザ端末及び前記利用可能計算機に対して前記データベースを操作させる機能とを有し、
前記各利用可能計算機は、前記データベースにおいて当該利用可能計算機の前記計算機情報を前記ネットワークを介して書き換える機能を有し、
前記ユーザ端末は、前記データベースにおいて当該ユーザ端末の要求を満たす前記計算機情報を前記ネットワークを介して検索する機能と、検索された前記計算機情報に対応する前記利用可能計算機を前記ネットワークを介して利用する機能とを有する、
ことを特徴とする分散処理システム。
【請求項２】
前記各利用可能計算機は、前記ユーザ端末による利用結果に関する情報を取得して課金情報を作成する機能を更に有する、
請求項１記載の分散処理システム。
【請求項３】
前記ユーザ端末は、前記利用可能計算機を前記ネットワークを介して利用した後に、前記データベースにおいて当該利用可能計算機の前記計算機情報を前記ネットワークを介して書き換える機能を有する、
請求項１又は２記載の分散処理システム。
【請求項４】
前記計算機情報は、前記利用可能計算機に関する前記ネットワーク上のアドレス、仕様、利用可能時間帯、及び前記ユーザ端末による利用状況を含む、
請求項１乃至３のいずれかに記載の分散処理システム。
【請求項５】
計算機資源管理サーバ、ユーザ端末及び複数の利用可能計算機がネットワークを介して接続されて成る分散処理システムの前記計算機資源管理サーバであって、
前記各利用可能計算機を利用するために必要な情報である計算機情報を蓄積するデータベースと、前記ネットワークを介してアクセスしてきた前記ユーザ端末及び前記利用可能計算機に対して前記データベースを操作させる機能とを有する、
ことを特徴とする計算機資源管理サーバ。
【請求項６】
計算機資源管理サーバ、ユーザ端末及び複数の利用可能計算機がネットワークを介して接続されて成る分散処理システムの前記ユーザ端末であって、
前記データベースにおいて当該ユーザ端末の要求を満たす前記計算機情報を前記ネットワークを介して検索する機能と、検索された前記計算機情報に対応する前記利用可能計算機を前記ネットワークを介して利用する機能とを有する、
ことを特徴とするユーザ端末。
【請求項７】
計算機資源管理サーバ、ユーザ端末及び複数の利用可能計算機がネットワークを介して接続されて成る分散処理システムに用いられ、
前記各利用可能計算機は、前記計算機資源管理サーバのデータベースに、当該利用可能計算機を利用するために必要な情報である計算機情報をネットワークを介して蓄積し、
前記ユーザ端末は、前記データベースにおいて当該ユーザ端末の要求を満たす前記計算機情報を前記ネットワークを介して検索し、検索された前記計算機情報に対応する前記利用可能計算機を前記ネットワークを介して利用する、
ことを特徴とする分散処理方法。
【請求項８】
相互に送受信するためのネットワークを介してユーザ端末及び複数の利用可能計算機とともに接続され、コンピュータを含んで成る計算機資源管理サーバに用いられ、
前記各利用可能計算機を利用するために必要な情報である計算機情報をデータベースに蓄積する機能と、前記ネットワークを介してアクセスしてきた前記ユーザ端末及び前記利用可能計算機に対して前記データベースを操作させる機能とを、
前記コンピュータに実現させるためのプログラム。
【請求項９】
相互に送受信するためのネットワークを介して計算機資源管理サーバ及び複数の利用可能計算機とともに接続され、コンピュータを含んで成るユーザ端末に用いられ、
前記データベースにおいて当該ユーザ端末の要求を満たす前記計算機情報を前記ネットワークを介して検索する機能と、検索された前記計算機情報に対応する前記利用可能計算機を前記ネットワークを介して利用する機能とを、
前記コンピュータに実現するためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して複数の計算機を利用する分散処理システム等に関する。
【背景技術】
【０００２】
計算機の性能向上に加えて、ネットワーク環境も高速になり、比較的大規模なデータを送受信することも可能になっている。一方、主に端末として利用されている計算機は、夜間などは利用されておらず、多くの空き時間が存在することが知られている。これを有効に活用して、高価な計算機に匹敵する計算能力を実現するためのシステムとして、グリッド（grid computing）の研究が行われており、様々なツールが開発されている。しかし、この開発には、計算機資源の管理を行うツールは含まれていない。
【０００３】
ネットワークを経由した利用に関しては、計算機の負荷をモニタしておき、それによってネットワーク経由で実行するタスクの制御を行う方法が特許文献２で提案されている。これは実行負荷を制御する方式であり、計算機資源を提供する側で時間帯などの指定による利用制御の手段は提供されていない。以下、従来の分散処理システムの一例を説明する。
【０００４】
図４は、特許文献１に開示された分散処理システムの構成を示すブロック図である。この分散処理システム１００は、タスク割り当て装置１０１と、データベース１０２，１０５と、記録媒体１０３と、利用可能資源情報生成装置１０４と、計算機システム１０６と、負荷情報収集装置１０７と、ユーザ端末１０８と、タスク割り当て装置１０１と利用可能資源情報生成装置１０４とユーザ端末１０８とを接続するネットワーク１０９と、から構成されている。ここで、タスク割り当て装置１０１は、コンピュータから成り、このコンピュータで実行されるプログラムが記録媒体１０３に記録されている。
【０００５】
ネットワーク１０９には複数の計算機（図示せず）が接続されており、各計算機は利用可能資源情報生成装置１０４と、データベース１０５と、計算機システム１０６と、負荷情報収集装置１０７と、ユーザ端末１０８とから構成されている。
【０００６】
タスク割り当て装置１０１は、分散処理タスクの割り当てを行うために、各計算機から送られてくる負荷状況データ１２１と割り当ての対象となる実行待ちタスク情報１２２とを保持するデータベース１０２を備え、これらの情報を利用して各計算機への分散処理タスクの割り当てを行う。
【０００７】
各計算機上に存在する資源情報を生成する機能は、計算機システム１０６の負荷情報を収集する負荷情報収集装置１０７と、その負荷情報データ１５２と計算機システム１０６の資源情報及びその運用方針を記述した運用情報データ１５１とを保持するデータベース１０５と、それらの情報を利用してタスク割り当て装置１０１に利用可能資源とタスク割り当て依頼とを作成する利用可能資源情報生成装置１０４と、を構成要素とする。
【０００８】
ユーザ端末１０８は、パーソナルコンピュータ等の情報処理装置であり、ネットワーク１０９を介して分散処理タスクの実行依頼や実行結果の受取りを行う機能を備えている。
【０００９】
計算機システム１０６は、複数の処理装置を有し、大規模なタスクを高速に実行可能な情報処理装置で構成されている。計算機システム１０６は、タスク割り当て機能を用いた利用の他に、ユーザ端末１０８がネットワーク１０９を介して直接接続して利用する機能を有する。
【００１０】
図５［１］は、図４の分散処理システムで用いられる分散処理タスクの要求リストを示す図である。図５［１］において、要求リストＡは項目（ＣＰＵ数、メモリ量、同時割り当て、タスク間通信、タスク間通信頻度等）Ａ１と、要求内容／量（ＸＸ，ＹＹ，要，ＭＰＩ，多等）Ａ２とから構成されている。
【００１１】
図５［２］は図４のユーザ端末１０８の動作を示すフローチャートであり、図６は図４の各計算機の動作を示すフローチャートであり、図７は図４のタスク割り当て装置１０１の動作を示すフローチャートである。これら図４〜図７を参照して図４の分散処理システムの動作について説明する。なお、図７に示す処理はタスク割り当て装置１０１のコンピュータが記録媒体１０３のプログラムを実行することで実現される。
【００１２】
ユーザは、ユーザ端末１０８を用いるか、又はユーザ端末１０８からネットワーク１０９を介して計算機システム１０６を直接利用する等によって、分散実行するプログラムを作成する（図５［２］ステップＳ１）。
【００１３】
また、ユーザ端末１０８は、作成したプログラムに関する情報をタスク実行要求として送信する能力を有し、そのプログラムを分散実行する際に、実行モジュールの作成及び実行に必要となる資源見積りを行い（図５［２］ステップＳ２）、図５［１］に示す項目Ａ１と要求内容／量Ａ２とからなる要求リストＡを作成する（図５［２］ステップＳ３）。この要求リストＡは、タスク割り当て装置１０１で解釈可能な形式で書かれているものとし、その入力方法やフォーマットは特に規定しない。
【００１４】
ユーザ端末１０８は、この要求リストＡと分散実行するプログラムに関する情報とをタスク割り当て装置１０１に送信する（図５［２］ステップＳ４）。この情報は、プログラムの実行で最低限必要な資源をユーザが予測して要求するもので、タスクを割り当てる計算機システム１０６の選択において利用される。この情報の例として、利用プロセッサ数、使用メモリ量、予想計算時間、通信の種類や通信量等がある。
【００１５】
分散処理を実行する各計算機システム１０６では、負荷情報収集装置１０７によって計算機の負荷状況を調べ、そこから得られる情報から負荷情報データ１５２を得る（図６ステップＳ１１）。
【００１６】
また、各計算機ではその管理方針にしたがって、分散処理用に利用することができる資源量、または制限事項を記述した運用情報データ１５１を作成する（図６ステップＳ１２）。運用情報データ１５１は、各計算機の管理者が作成し、一日の各時間帯や曜日による違いも含めて記述可能とする。運用情報データ１５１には、ＣＰＵ数、ディスク容量の制限、負荷状況によって割り当て可能なタスク数の制限の他に、時間帯による制限等を含むことが可能である。
【００１７】
利用可能資源情報生成装置１０４は、負荷情報データ１５２と、分散処理で利用可能な資源量を記述した運用情報データ１５１と、日時情報とを利用してその時点において分散処理に割り当て可能な資源情報データを生成し、これをタスク割り当て装置１０１に送信する（図６ステップＳ１３〜Ｓ１５）。日時情報は、計算機システム１０６から容易に得ることが可能である。
【００１８】
この場合、日時情報からその時点で分散処理に利用可能な資源の量や制限項目が決定され（図６ステップＳ１３）、これらに対して計算機システム１０６の負荷情報で変更が必要な項目のチェック及び修正が行われた後（図６ステップＳ１４）、それを分散タスクが利用可能な資源として負荷情報データ１５２が作成される。
【００１９】
タスク割り当て装置１０１は、ネットワーク１０９を介してユーザ端末１０８から送信された実行要求を受け取ると（図７ステップＳ２１）、その実行要求をデータベース１０２に実行待ちタスク情報１２２として登録する（図７ステップＳ２２）。この実行要求には、図５［１］に示すユーザの予測に基づいているタスク実行に必要な資源に関する情報（項目Ａ１，要求内容／量Ａ２）を含む。
【００２０】
タスクを割り当てる各計算機から送られてきた各計算機の割り当て可能資源に関する負荷状況データ１２１が、上記の実行要求と同様に、データベース１０２に格納されている。この負荷状況データ１２１は、利用可能プロセッサ数、メモリ量、利用可能ディスク領域等の情報を含む。
【００２１】
タスク割り当て装置１０１は、タスクの実行要求にある資源情報と、各計算機の利用可能資源情報とを用いてそのタスクの実行が可能な計算機システムを決定する（図７ステップＳ２３，Ｓ２４）。タスク割り当て装置１０１は、実行可能な計算機システムが複数存在する場合（図７ステップＳ２５）、それらのうちのいずれかを選ぶことになるが、その選択アルゴリズムに関してはここでは特定しない。例えば、最初に見つけたものを割り当てる方法や、実行可能な計算機のうちで要求資源に最も適合した資源を持つ計算機を割り当てる方法が考えられる。ここでは、要求資源に最も適合した資源を持つ計算機を割り当てる（図７ステップＳ２６）。
【００２２】
タスク割り当て装置１０１は、タスクに計算機を割り当てた場合、その要求と実行ファイル等の情報とを割り当てた計算機に送信するとともに（図７ステップＳ２７）、依頼元に割り当てた計算機情報を通知する（図７ステップＳ２８）。タスク割り当て装置１０１は、割り当てが終ったタスクの要求を、割り当てた計算機及び要求元への通知が完了した時点で実行待ちタスク情報２２から削除する（図７ステップＳ２９）。
【００２３】
タスク割り当て装置１０１は、すぐにタスクを割り当てることができない場合、利用可能な計算機の状態が変わり、負荷状況データ１２１が更新された際に（図７ステップＳ３０）、新たに実行可能であるかのチェックが行われる（図７ステップＳ２３）。
【００２４】
【特許文献１】特開２００４−１３８６６号公報
【特許文献２】特開２００４−３８９７２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２５】
従来の計算機資源管理において、ネットワーク上の分散システムの場合も、そのベースは一つの並列計算機システムでの利用を前提にしたものと同じである。つまり、構成要素となる計算機が異なっている場合の機能が不足している。また、ネットワーク環境においてグリッドなどのシステムを構成する場合、提供された計算機資源は常に利用可能であることが前提となっている。このため、利用可能な計算機が様々な事由によって動的に変化する場合、例えばネットワーク経由の利用に提供する時間を制限するような状況を想定したものは、通常の分散処理システムには存在しない。
【００２６】
一方、特許文献１に記載の技術（以下「従来技術」という。）では、この点が考慮されているものの、タスク割り当て装置が全てのタスクの割り当てを行うため、多数の要求がある場合には負荷が集中してしまう問題がある。
【００２７】
そこで、本発明の目的は、このようなネットワーク環境において、提供する計算機の利用条件を、提供する側が指定できる機能を備えるとともに、負荷の集中を抑制し得る分散処理システム等を提供することである。
【課題を解決するための手段】
【００２８】
本発明に係る分散処理システムは、計算機資源管理サーバ、ユーザ端末及び複数の利用可能計算機が、相互に送受信するためのネットワークを介して接続されたものである。そして、計算機資源管理サーバは、各利用可能計算機を利用するために必要な情報である計算機情報を蓄積するデータベースと、ネットワークを介してアクセスしてきたユーザ端末及び利用可能計算機に対してデータベースを操作させる機能とを有する。各利用可能計算機は、データベースにおいて当該利用可能計算機の計算機情報をネットワークを介して書き換える機能を有する。ユーザ端末は、データベースにおいて当該ユーザ端末の要求を満たす計算機情報をネットワークを介して検索する機能と、検索された計算機情報に対応する利用可能計算機をネットワークを介して利用する機能とを有する。
【００２９】
ネットワークは例えばインターネットである。データベースの操作には、書き換え及び検索が含まれる。利用可能計算機によるデータベースの書き換えには、新規の登録も含まれる。計算機情報には、利用計算機に関するネットワーク上のアドレス、仕様、利用可能時間帯、ユーザ端末による利用状況等が含まれる。計算機資源管理サーバのデータベースには、利用可能計算機ごとに計算機情報が蓄積されている。各利用可能計算機は、例えば利用可能時間帯が変更になった場合などに、データベースの計算機情報をネットワークを介して書き換える。ユーザ端末は、データベースにおいて当該ユーザ端末の要求を満たす計算機情報をネットワークを介して検索し、検索された計算機情報に対応する利用可能計算機をネットワークを介して利用する。このように、ユーザ端末が自らデータベースを使って利用可能計算機の割り当てをすることにより、データベースを有する計算機資源管理サーバの負荷が軽減されるので、計算機資源管理サーバの簡素化が図れる。また、データベースにユーザ端末からのアクセスが集中しても、各ユーザ端末がそれぞれ利用可能計算機の割り当てをするので、一つの装置が利用可能計算機の割り当てをする場合に比べて、負荷の集中による影響（処理速度の低下等）を抑制できる。
【００３０】
また、本発明に係る分散処理システムにおいて、各利用可能計算機は、前記ユーザ端末による利用結果に関する情報を取得して課金情報を作成する機能を更に有する、としてもよい。この場合、利用可能計算機は、ユーザ端末に対して直接課金することができる。
【００３１】
更に、本発明に係る分散処理システムにおいて、ユーザ端末は、利用可能計算機をネットワークを介して利用した後に、データベースにおいて当該利用可能計算機の計算機情報をネットワークを介して書き換える機能を有する、としてもよい。この場合は、計算機情報の例えばユーザ端末による利用状況が直ちに最新の内容に書き換えられることにより、他のユーザ端末がその利用可能計算機を直ちに利用できるので、利用可能計算機の利用効率を向上できる。
【００３２】
本発明に係る計算機資源管理サーバは、相互に送受信するためのネットワークを介してユーザ端末及び複数の利用可能計算機とともに接続されたものである。そして、本発明に係る計算機資源管理サーバは、各利用可能計算機を利用するために必要な情報である計算機情報を蓄積するデータベースと、ネットワークを介してアクセスしてきたユーザ端末及び利用可能計算機に対してデータベースを操作させる機能とを有する。
【００３３】
本発明に係るユーザ端末は、相互に送受信するためのネットワークを介して計算機資源管理サーバ及び複数の利用可能計算機とともに接続されたものである。そして、本発明に係るユーザ端末は、データベースにおいて当該ユーザ端末の要求を満たす計算機情報をネットワークを介して検索する機能と、検索された計算機情報に対応する利用可能計算機をネットワークを介して利用する機能とを有する。
【００３４】
本発明に係る分散処理方法は、計算機資源管理サーバ、ユーザ端末及び複数の利用可能計算機が、相互に送受信するためのネットワークを介して接続されて成る分散処理システムに用いられる。そして、本発明に係る分散処理方法において、まず、各利用可能計算機は、計算機資源管理サーバのデータベースに、当該利用可能計算機を利用するために必要な情報である計算機情報をインターネットを介して蓄積する。続いて、ユーザ端末は、データベースにおいて当該ユーザ端末の要求を満たす計算機情報をネットワークを介して検索し、検索された計算機情報に対応する利用可能計算機をネットワークを介して利用する。
【００３５】
本発明に係るプログラムは、相互に送受信するためのネットワークを介してユーザ端末及び複数の利用可能計算機とともに接続され、コンピュータを含んで成る計算機資源管理サーバに用いられ、各利用可能計算機を利用するために必要な情報である計算機情報をデータベースに蓄積する機能と、ネットワークを介してアクセスしてきたユーザ端末及び利用可能計算機に対してデータベースを操作させる機能とを、前記コンピュータに実現させるためのものである。
【００３６】
また、本発明に係るプログラムは、相互に送受信するためのネットワークを介して計算機資源管理サーバ及び複数の利用可能計算機とともに接続され、コンピュータを含んで成るユーザ端末に用いられ、データベースにおいて当該ユーザ端末の要求を満たす計算機情報をネットワークを介して検索する機能と、検索された計算機情報に対応する利用可能計算機をネットワークを介して利用する機能とを、前記コンピュータに実現するためのものである。
【００３７】
換言すると、本発明は、ネットワークに接続した多種多数の計算機から構成される環境において、計算機資源の利用条件が設定され提供された利用可能な計算機情報を管理し、計算機利用要求ベースに対して計算機の割り当てが可能な計算機の管理方法を提供する。
【００３８】
更に換言すれば、本発明は、ネットワーク経由で利用可能な計算機情報を保持するデータベース部と、そのデータベースを操作するライブラリと、データベース情報を様々な検索条件を指定して表示する表示インタフェース部とから成る計算機資源管理マスタに対し、利用可能な計算機管理者が計算サーバを利用して、その計算機情報（例えばアドレス、利用可能な時間帯、及び計算機資源の上限など）を計算機資源として登録する。これに対して、計算機資源を利用して計算を希望するユーザは、実行対象プログラムを用意し、自端末から実行サーバを介して、利用したい計算機資源の条件を記述して計算機資源管理マスタに要求する。この要求は、計算機資源管理マスタにおいてデータベース操作に変換される。この際に、利用可能な条件を含めて、ユーザからの要求に記述された条件を満たす計算機が割り当てられ、その状態が変更される。そして、割り当てられた計算機に関する情報が実行サーバに通知される。実行サーバは、受け取った計算機情報を用いて、割り当てられた各計算サーバを利用した計算を実行する。ユーザプログラムの実行終了後に、実行サーバは計算機資源管理マスタに実行終了、つまり割り当て資源の解放を通知する。
【００３９】
以下、従来技術（特許文献１）と本発明とを比較検討する。
【００４０】
１．従来技術の構成では、タスク割り当て装置に負荷情報と実行待ちタスク情報とを保持し、それらの情報を使用してタスク割り当てを行う。これに対し、本発明において上記相当部分では、利用可能なシステムに関する情報を保持しているのみで、実行待ちタスクや負荷情報はなく、更にタスクの割り当てを行う機能も備えていない。タスク割り当てに相当する機能は、計算機資源を必要としている要求者からの資源割り当て要求に対応したデータベース操作を行うことで提供している。また、従来技術の構成が全ての割り当て要求に対応する部分を持っている集中管理であるとすれば、本発明は各要求者が割り当てを実行する分散管理である。このように、本発明の構成は、従来技術の構成とは全く異なっている。
【００４１】
次に、従来技術の効果として、計算機資源を提供する側が設定した使用資源の条件を利用した割り当てが可能になることが挙げられている。本発明でも、同様の効果を得ることができるが、これに加えて以下の点が異なる。従来技術では、タスク割り当て装置が全てのタスクの割り当てを行うため、多数の要求がある場合には負荷が集中してしまう問題がある。これに対して、本発明では、割り当ては各要求を変換したデータベース操作で行うため、負荷が集中することなく、処理を行うことが可能である。また、本発明によれば、プログラム実行を管理する計算サーバにモニタ機能を備えることで、各プログラムの負荷情報や実行時間を取得し、課金情報として利用することができる。
【００４２】
２．従来技術と本発明とは、利用可能な計算機情報を保持するために、いずれもデータベースを利用している。それぞれについて以下に述べる。従来技術では、ネットワーク上に唯一つタスク割り当てを行うタスク割り当て装置が存在する。この装置は、利用可能な計算機資源を、計算機の利用要求に割り当てる機能を実現している。この機能を実現するために、計算機の要求情報や利用可能な計算機の情報を管理する必要がある。この実現として、データベースを用いている。そして、この情報を利用して計算機資源の割り当て処理を実行している。以上の方法では、割り当てに必要な全ての情報を一カ所のサーバに集め、その情報を利用して割り当て処理を行う。
【００４３】
一方、本発明では、利用可能な計算機資源の情報のみをデータベースに保持しており、そのデータベースにネットワーク経由でアクセスできるようになっている。計算機資源の提供者及びその利用希望者は、このデータベースに対する操作を実行することで、利用可能資源の登録や利用資源の取得を行う。つまり、本発明では、利用可能資源情報を一カ所で管理しているものの、計算機資源の要求は保持しておらず、要求に対する割り当てを実行する装置も存在しない。これは、共有した情報を利用する独立して並列に動作する分散処理となっている。
【００４４】
この構成の違いによる本発明に特有の効果として、計算機資源の要求を登録する操作、及び条件を満たす計算機資源を探す処理が不要であるので、要求からの返答時間が短いことが挙げられる。また、従来技術では、要求された計算機資源を探す処理において、データベース上で条件を満たすエントリの組み合わせを調べる必要があるので、時間を要する、負荷の高い処理となる。このため、要求が集中した場合には、割り当ての結果を返すまでに要する時間が長くなる。これに対して、本発明では、この部分の処理を各要求者が行うことになるので、割り当て結果を得るまでの時間が大きく変わることはない。
【００４５】
３．従来技術では、利用可能な計算機資源が多数あるところに、多数の計算機資源の利用要求があった場合、その要求を満たす計算機資源を探す処理時間が長くなる。これは、次のような理由による。計算機資源の要求を満たすために、複数の資源を組み合わせることが多くあり、その場合はデータベースに登録されたエントリ同士の組み合わせを調べる必要がある。割り当てでは、利用可能計算機の負荷情報も利用している。そして、割り当てた計算機資源の情報を、データベースで更新するとともに、要求元に通知する。更に、要求を満たす計算機資源の割り当てができない場合には、状況の変化時に再び割り当てを試みる。このため、従来技術では、多数の資源に対して多数の要求が行われた場合に、割り当て装置に負荷が集中することとなる。
【００４６】
一方、本発明では、利用可能計算機の情報のみをデータベースとして持つが、それを利用するための要求情報や要求条件を満たす計算機資源の割り当て機能は持っていない。このため、計算機資源を要求する場合、まず各自がデータベース情報を確認し、取得可能な資源の要求を行うことになる。計算機資源の割り当ては、データベースの書き換え操作に相当し、書き換えに成功した場合に、割り当てられたと判断する。このように、本発明では、要求情報の登録、要求を満たす計算機資源を探す処理、負荷情報を含めたデータベースの更新及び結果の通知処理が不要になる。また、計算機資源の割り当て要求に失敗した場合に、再割り当てを行うためにリストに登録することもない。したがって、それぞれの要求に対して必要な処理が少なく、割り当てできない場合に、その要求が割り当て待ちリストに加えられることもないので、従来技術と比較して負荷の集中が避けられる構成となっている。
【００４７】
４．オーバヘッドとは、ユーザプログラムの処理に関係のない処理に要する時間のことである。本発明では、計算機資源の割り当て処理に要する時間は、ユーザプログラム処理と関係ないため、全てオーバヘッドとなる。ここで、従来技術では、データベースに対して利用可能計算機情報に加えて計算機の要求情報及び割り当てに失敗した要求情報も保持していたことにより、要求条件を満たす計算機資源の組み合わせを探し、見つかった場合にはデータベースの書き換えを行うことになるので、割り当てオーバヘッドが大きかった。これに対して、本発明では、データベースに対して利用可能資源の情報のみを保持することにより、要求する際に割り当て可能な計算機資源を検索した後、データベースの書き換え処理のみを行う要求を実行することができるので、割り当てオーバヘッドを小さくできる。
【発明の効果】
【００４８】
本発明によれば、ユーザ端末が自らデータベースを使って利用可能計算機の割り当てをすることにより、データベースを有する計算機資源管理サーバの負荷が軽減されるので、計算機資源管理サーバの簡素化が図れる。また、データベースにユーザ端末からのアクセスが集中しても、各ユーザ端末がそれぞれ利用可能計算機の割り当てをするので、一つの装置が利用可能計算機の割り当てをする場合に比べて、負荷の集中による影響（処理速度の低下等）を抑制できる。
【００４９】
換言すると、本発明による第一の効果は、利用可能な計算機資源を一括管理したデータベースに対する書き換えのみで行うため、割り当てオーバヘッドが小さいことである。第二に、計算機資源を提供する側が利用条件を設定して、ネットワーク経由の利用を制御できることである。
【発明を実施するための最良の形態】
【００５０】
図１は、本発明に係る分散処理システムの一実施形態を示すブロック図である。以下、この図面に基づき説明する。ただし、特許請求の範囲における「計算機資源管理サーバ」及び「データベース」は、それぞれ具体化して「計算機資源管理マスタ」及び「計算機資源データベース」という。
【００５１】
まず、概略的に説明する。本実施形態の分散処理システム１０は、計算機資源管理マスタ１、ユーザ端末２及び利用可能計算機３Ｍ…３Ｎが、相互に送受信するためのネットワーク４を介して接続されたものである。そして、計算機資源管理マスタ１は、各利用可能計算機３Ｍ…３Ｎを利用するために必要な情報である計算機情報を蓄積する計算機資源データベース１１と、ネットワーク４を介してアクセスしてきたユーザ端末２及び利用可能計算機３Ｍ…３Ｎに対して計算機資源データベース１１を操作させる機能（データベース操作ライブラリ１２及び表示インタフェース１３）とを有する。各利用可能計算機３Ｍ…３Ｎは、計算機資源データベース１１において利用可能計算機３Ｍ…３Ｎの計算機情報をネットワーク４を介して書き換える機能を有する。ユーザ端末２は、計算機資源データベース１１においてユーザ端末２の要求を満たす計算機情報をネットワーク４を介して検索する機能と、検索された計算機情報に対応する利用可能計算機３Ｍ…３Ｎをネットワーク４を介して利用する機能とを有する。
【００５２】
ネットワーク４は例えばインターネットである。計算機資源データベース１１の操作には、書き換え及び検索が含まれる。利用可能計算機３Ｍ…３Ｎによる計算機資源データベース１１の書き換えには、計算機情報の新規の登録も含まれる。計算機情報には、利用計算機３Ｍ…３Ｎに関するネットワーク４上のアドレス、仕様、利用可能時間帯、ユーザ端末２による利用状況等が含まれる。ユーザ端末２は、一台のみ図示しているが、複数台をネットワーク４に接続してもよい。
【００５３】
計算機資源データベース１１には、利用可能計算機３Ｍ…３Ｎごとに計算機情報が蓄積されている。各利用可能計算機３Ｍ…３Ｎは、例えば利用可能時間帯が変更になった場合などに、計算機資源データベース１１の計算機情報をネットワーク４を介して書き換える。ユーザ端末２は、計算機資源データベース１１においてユーザ端末２の要求を満たす計算機情報をネットワーク４を介して検索し、検索された計算機情報に対応する利用可能計算機３Ｍ…３Ｎをネットワーク４を介して利用する。このように、ユーザ端末２が自ら計算機資源データベース１１を使って利用可能計算機３Ｍ…３Ｎの割り当てをすることにより、計算機資源データベース１１を有する計算機資源管理マスタ１の負荷が軽減されるので、計算機資源管理マスタ１の簡素化が図れる。また、計算機資源データベース１１にユーザ端末２からのアクセスが集中しても、各ユーザ端末２がそれぞれ利用可能計算機３Ｍ…３Ｎの割り当てをするので、一つの装置が利用可能計算機の割り当てをする場合に比べて、負荷の集中による影響（処理速度の低下等）を抑制できる。
【００５４】
また、各利用可能計算機３Ｍ…３Ｎは、ユーザ端末２による利用結果に関する情報を取得して課金情報を作成する機能を更に有する。そのため、利用可能計算機３Ｍ…３Ｎは、ユーザ端末２に対して直接課金することができる。ユーザ端末２は、利用可能計算機３Ｍ…３Ｎをネットワーク４を介して利用した後に、計算機資源データベース１１において利用可能計算機３Ｍ…３Ｎの計算機情報をネットワーク４を介して書き換える機能を有する。これにより、計算機情報の例えばユーザ端末２による利用状況が直ちに最新の内容に書き換えられることにより、他のユーザ端末２がその利用可能計算機３Ｍ…３Ｎを直ちに利用できるので、利用可能計算機３Ｍ…３Ｎの利用効率を向上できる。
【００５５】
次に、更に詳しく説明する。本実施形態の分散処理システム１０は、ネットワーク４に接続された計算機資源管理マスタ１、ユーザ端末２及び利用可能計算機３Ｍ…３Ｎから構成されている。更に、計算機資源管理マスタ１は、利用可能計算機３Ｍ…３Ｎの計算機情報を保持する計算機資源データベース１１と、その計算機資源データベース１１を操作するデータベース操作ライブラリ１２と、計算機資源データベース１１の内容の表示や検索機能を提供する表示インタフェース１３とを備える。ユーザ端末２は、ネットワーク環境で実行するユーザプログラム１４と、その実行を管理し実行に必要な計算機資源の割り当てなどの管理も行う実行サーバ１５とを備える。各利用可能計算機３Ｍ…３Ｎは、計算機資源データベース１１に登録する情報を収集し、ネットワーク４経由での実行時にユーザ側の実行サーバ１５と通信して環境設定を行う機能を備えた計算サーバ１６Ｍ…１６Ｎを備える。
【００５６】
図２は、分散処理システム１０の動作を示す説明図である。以下、図１及び図２に基づき、分散処理システム１０の動作を説明する。ただし、図１における利用可能計算機３Ｍ…３Ｎ及び計算サーバ１６Ｍ…１６Ｎについては、理解しやすくするために利用可能計算機３Ｍ及び計算サーバ１６Ｍのみを取り上げる。
【００５７】
計算機をネットワーク４経由で他から利用可能にする場合、計算機管理者は計算サーバ１６Ｍを入手し、当該計算機で動作させる。この計算サーバ１６Ｍは、動作している計算機のハードウェア情報を収集する機能を備える。次に、計算サーバ１６Ｍから利用可能な計算機として登録する際に、計算サーバ１６Ｍが収集したハード情報に加えて、ネットワーク４経由の利用に提供する際の条件（計算機情報）を指定する。この条件には、利用可能時間帯やディスクなどの資源の利用上限などがある。利用条件では、時間制限を越えた場合の対応を、強制終了、サスペンド、優先順位を下げる、などに指定できる機能も備える。これらを指定した後、計算サーバ１６Ｍから計算機情報を送ることで（図２［１］ステップ２１）、計算機資源管理マスタ１の計算機資源データベース１１に登録される（図２［１］ステップ２２）。この登録作業は、計算機資源データベース１１のトランザクション処理である。トランザクション処理とは、遠隔地で発生したトランザクション（一つの意味のある処理単位）に対してセンターで処理し、すぐに（同期型）又は待ち行列にためた後（非同期型）応答を返す処理形態をいう。
【００５８】
計算機資源データベース１１に登録された計算機情報は、表示インタフェース１３を通して、ネットワーク４経由で参照可能である。この表示では、データベース情報の単なる表示以外に、実行性能やＯＳやＣＰＵなどの種類、利用条件など、登録された計算機情報に関する条件検索表示に対応する。この際に、利用条件に時間帯の指定がある場合、利用可能時間以外は利用可能計算機３Ｍとして表示されることはない。これにより、利用可能な計算機資源情報に基づいた利用要求を行うことが可能となる。
【００５９】
次に、登録された計算機資源を利用する場合の動作を説明する。まず、ユーザは、実行するユーザプログラム１４及び実行サーバ１５をユーザ端末２に用意する。この実行サーバ１５から、ネットワーク４経由で利用したい計算機資源要求を行う。その際に、計算機資源管理マスタ１の表示インタフェース１３を利用して、利用可能な計算機を確認しておくことで、要求資源の割り当て失敗の可能性を低くすることが可能である。この計算機利用要求は、実行サーバ１５から計算機資源管理マスタ１に送られる（図２［２］ステップ３１）。
【００６０】
そして、計算機利用要求がデータベース操作に変換され、計算機資源を提供する際の利用条件も含めて、利用要求を満たす計算機資源が選択され、そのデータベース情報がトランザクション処理で書き換えられる（図２［２］ステップ３２）。この操作によって状態を書き換えられた計算機が要求に対して割り当てられ、その計算機情報が実行サーバ１５に通知される（図２［２］ステップ３３）。このような利用要求は、割り当てられた計算機情報と共に、計算機資源データベース１１に登録され、実行タスクとして管理される。この通知には、計算サーバ１６Ｍのアドレスや計算機の利用条件（計算機情報）が含まれる。
【００６１】
この情報から、実行サーバ１５は割り当てられた計算機上の計算サーバ１６Ｍと通信し、ユーザプログラム１４の実行を開始する（図２［２］ステップ３４）。ここで、プログラム実行の準備や環境設定は、異機種で特別な操作が不要であれば、実行サーバ１５と計算サーバ１６が実行環境の設定を行う。このように各計算機の実行を計算サーバ１６Ｍが管理するため、計算サーバ１６Ｍはユーザプログラム１４の実行で使用した資源を容易にモニタすることが可能である。この機能を利用することで、使用した計算機資源の情報に基づいて課金情報とすることが可能である。
【００６２】
ユーザプログラム１４の実行が終了する際の動作を説明する。各計算機での実行が終了した後、計算サーバ１６Ｍから実行結果が実行サーバ１５に送られる。計算サーバ１６Ｍは、この後は新たにプログラム実行が割り当てられるまで待機状態となる。ユーザプログラム１４の実行が終了した後、実行サーバ１５は割り当てられた計算機資源を解放するため、実行の終了を計算機資源管理マスタ１に通知する（図２［３］ステップ４１）。この通知から、対応した実行タスクの情報、そして割り当てられた計算機資源情報が得られるので、その計算機資源の割り当てを解除するデータベース操作を行う（図２［３］ステップ４２）。これにより解放された計算機資源は、再び利用可能計算機資源となる。また、実行タスクとして管理されていた情報は、実行が終了したことで削除される。
【００６３】
図３は、本発明に係る分散処理方法の一実施形態を示すシーケンス図である。以下、図１及び図３に基づき、説明する。
【００６４】
本実施形態の分散処理方法は、計算機資源管理マスタ１、ユーザ端末２及び利用可能計算機３Ｍ…３Ｎが、相互に送受信するためのネットワーク４を介して接続された分散処理システム１０に用いられる。まず、各利用可能計算機３Ｍ…３Ｎは、計算機資源管理マスタ１の計算機資源データベース１１に、利用可能計算機３Ｍ…３Ｎを利用するために必要な情報である計算機情報をネットワーク４を介して蓄積する（ステップ５１，５２）。続いて、ユーザ端末２は、計算機資源データベース１１においてユーザ端末２の要求を満たす計算機情報をネットワーク４を介して検索し（ステップ５３，５４）、検索された計算機情報に対応する利用可能計算機３Ｍ…３Ｎをネットワーク４を介して利用する（ステップ５５，５６）。
【００６５】
次に、本発明に係るプログラムの一実施形態について、図１に基づき説明する。
【００６６】
本実施形態の第一のプログラムは、計算機資源管理マスタ１、ユーザ端末２及び利用可能計算機３Ｍ…３Ｎが、相互に送受信するためのネットワーク４を介して接続された分散処理システム１０に用いられる。計算機資源管理マスタ１及びユーザ端末２は、それぞれコンピュータを含んで成る。第一のプログラムは、各利用可能計算機３Ｍ…３Ｎを利用するために必要な情報である計算機情報を計算機資源データベース１１に蓄積する機能と、ネットワーク４を介してアクセスしてきたユーザ端末２及び利用可能計算機３Ｍ…３Ｎに対して計算機資源データベース１１を操作させる機能とを、計算機資源管理マスタ１のコンピュータに実現させるためのものである。第二のプログラムは、計算機資源データベース１１においてユーザ端末２の要求を満たす計算機情報をネットワーク４を介して検索する機能と、検索された計算機情報に対応する利用可能計算機３Ｍ…３Ｎをネットワーク４を介して利用する機能とを、ユーザ端末２のコンピュータに実現するためのものである。これらのプログラムは、光ディスク、磁気ディスク、半導体メモリなどの記憶媒体に書き込まれ、コンピュータに読み取られるか、又はネットワークを介してコンピュータにアップロードされる。
【産業上の利用可能性】
【００６７】
本発明は、大規模なコンピュータプログラムの高速化に利用することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明に係る分散処理システムの一実施形態を示すブロック図である。
【図２】図１の分散処理システムの動作を示す説明図である。
【図３】本発明に係る分散処理方法の一実施形態を示すシーケンス図である。
【図４】従来の分散処理システムを示すブロック図である。
【図５】図５［１］は図４の分散処理システムで用いられる分散処理タスクの要求リストを示す図表である。図５［２］は図４の分散処理システムの動作を示すフローチャート（その１）である。
【図６】図４の分散処理システムの動作を示すフローチャート（その２）である。
【図７】図４の分散処理システムの動作を示すフローチャート（その３）である。
【符号の説明】
【００６９】
１  計算機資源管理マスタ（計算機資源管理サーバ）
２  ユーザ端末
３Ｍ…３Ｎ  利用可能計算機
４  ネットワーク
１０  分散処理システム
１１  計算機資源データベース（データベース）
１２  データベース操作ライブラリ
１３  表示インタフェース
１４  ユーザプログラム
１５  実行サーバ
１６Ｍ…１６Ｎ  計算サーバ
【図１】
2007004241.tif 000003
【図２】
2007004241.tif 000004
【図３】
2007004241.tif 000005
【図４】
2007004241.tif 000006
【図５】
2007004241.tif 000007
【図６】
2007004241.tif 000008
【図７】
2007004241.tif 000009