(57)【要約】【課題】  処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供する。【解決手段】  スレーブ７−１、７−２、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、並列処理へ参加する場合は、マスタ２に対して所定時間内毎に参加応募を送信する（ステップ４３）。マスタ２は、参加応募したスレーブ７の処理可能スレーブリスト３５を作成し、その参加応募したスレーブ７に対して、予め、処理能力を設定したスレーブ情報テーブル３６に基づいて、各スレーブ７の処理能力に応じた処理量の処理を割振り、割振った処理（割付処理）を送信する（ステップ４４）。【選択図】  図５
2005050131.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理端末装置と、複数の依頼者側の端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記端末装置が依頼する依頼処理を並列処理により処理する並列処理システムであって、
前記サーバは、
前記端末装置から前記依頼処理を受信する処理受付手段と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、
前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、
を具備し、
前記処理端末装置は、
自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募手段と、
前記サーバから送られた前記割付処理を実行する割付処理実行手段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
を具備することを特徴とする並列処理システム。
【請求項２】
複数の処理端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、
前記サーバは、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、
前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、
を具備し、
前記処理端末装置は、
自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募手段と、
前記サーバから送られた前記割付処理を実行する割付処理実行手段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
を具備することを特徴とする並列処理システム。
【請求項３】
前記サーバは、
参加応募している処理端末装置から前記所定時間内に再度の参加応募を受信しなかった場合、当該処理端末装置を参加応募している処理端末装置群から除外することを特徴とする請求項１、又は請求項２に記載の並列処理システム。
【請求項４】
前記処理割付手段は、前記処理端末装置の処理能力に応じて、一度に割り付ける割付処理量を決定することを特徴とする請求項１、又は請求項２に記載の並列処理システム。
【請求項５】
前記処理端末装置は、
前記サーバに対して、自身の処理能力を送信する処理能力送信手段、を更に具備することを特徴とする請求項１、又は請求項２に記載の並列処理システム。
【請求項６】
前記参加応募手段は、ブロードキャスト通信により前記参加応募を行うことを特徴とする請求項１または請求項２に記載の並列処理システム。
【請求項７】
複数の処理端末装置と、複数の依頼者側の端末装置と、にネットワークを介して接続され、前記端末装置から送られた依頼処理を並列処理により処理する１又は複数のサーバであって、
前記端末装置から前記依頼処理を受信する処理受付手段と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、
前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、
を具備することを特徴とするサーバ。
【請求項８】
複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する１又は複数のサーバであって、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、
前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、
を具備することを特徴とするサーバ。
【請求項９】
参加応募している処理端末装置から前記所定時間内に再度の参加応募を受信しなかった場合、当該処理端末装置を参加応募している処理端末装置群から除外することを特徴とする請求項７、又は請求項８に記載のサーバ。
【請求項１０】
前記処理割付手段は、前記処理端末装置の処理能力に応じて、一度に割り付ける割付処理量を決定することを特徴とする請求項７、又は請求項８に記載のサーバ。
【請求項１１】
１又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、
自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募手段と、
前記サーバから送られた前記割付処理を実行する割付処理実行手段と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、
を具備することを特徴とする処理端末装置。
【請求項１２】
前記処理端末装置は、
前記サーバに対して、自身の処理能力を送信する処理能力送信手段、を更に具備することを特徴とする請求項１１に記載の処理端末装置。
【請求項１３】
前記参加応募手段は、ブロードキャスト通信により前記参加応募を行うことを特徴とする請求項１１に記載の処理端末装置。
【請求項１４】
複数の処理端末装置と、複数の依頼者側の端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記端末装置が依頼する依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、
前記サーバは、
前記端末装置から前記依頼処理を受信する処理受付工程と、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付工程と、
前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約工程と、
を具備し、
前記処理端末装置は、
自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募工程と、
前記サーバから送られた前記割付処理を実行する割付処理実行工程と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送信工程と、
を具備することを特徴とする並列処理方法。
【請求項１５】
複数の処理端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、
前記サーバは、
前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付工程と、
前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約工程と、
を具備し、
前記処理端末装置は、
自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募工程と、
前記サーバから送られた前記割付処理を実行する割付処理実行工程と、
前記割付処理の実行結果を前記サーバに送信する割付処理結果送信工程と、
を具備することを特徴とする並列処理方法。
【請求項１６】
コンピュータを請求項７から請求項１０のいずれかに記載のサーバとして機能させるプログラム。
【請求項１７】
コンピュータを請求項７から請求項１０のいずれかに記載のサーバとして機能させるプログラムを記録した記録媒体。
【請求項１８】
コンピュータを請求項１１から請求項１３のいずれかに記載の処理端末装置として機能させるプログラム。
【請求項１９】
コンピュータを請求項１１から請求項１３のいずれかに記載の処理端末装置として機能させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１の処理を複数の処理端末装置に分散して処理する並列処理システムに関する。より詳細には、処理端末装置に並列処理への参加を募集する並列処理システムに関する。
【背景技術】
【０００２】
従来、一般の並列処理システムは、並列処理専用の複数の処理端末装置を設け、これらの処理端末装置に並列処理を実行させるものである。また、一般ＯＡ用途に用いられているパーソナルコンピュータ等の端末装置の未使用時間等を利用するボランティア端末装置参加型の並列処理システム（例えば、バイオ計算等）が幾つか存在する（例えば、特許文献１）。
【０００３】
また、昨今、マスターＰＣ（パーソナルコンピュータ）が処理依頼を受けると、スレーブＰＣに対して募集を行い、応答のあったスレーブＰＣで並列処理を実行させる並列処理システムも存在する。
【特許文献１】特開平１０−２１４２５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の並列処理システムでは、マスターＰＣが処理依頼を受ける取り、スレーブＰＣに対して募集をかけた直後に、スレーブＰＣが処理可能状態になった場合、マスターＰＣが次の募集を掛けるまで、スレーブＰＣは遊休時間が発生していた。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、処理端末装置に稼働状況に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前述した目的を達成するために第１の発明は、複数の処理端末装置と、複数の依頼者側の端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記端末装置が依頼する依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記端末装置から前記依頼処理を受信する処理受付手段と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、を具備し、前記処理端末装置は、自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募手段と、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、を具備することを特徴とする並列処理システムである。
【０００７】
前述した目的を達成するために第２の発明は、複数の処理端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムであって、前記サーバは、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、を具備し、前記処理端末装置は、自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募手段と、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、を具備することを特徴とする並列処理システムである。
【０００８】
また、前記サーバは、参加応募している処理端末装置から前記所定時間内に再度の参加応募を受信しなかった場合、当該処理端末装置を参加応募している処理端末装置群から除外することが望ましい。
また、前記処理端末装置は、前記サーバに対して、自身の処理能力を送信する処理能力送信手段を更に具備することが望ましい。
また、前記処理割付手段は、前記処理端末装置の処理能力に応じて、一度に割り付ける割付処理量を決定することが望ましい。
【０００９】
第１の発明、第２の発明では、処理端末装置は、自身の稼働状況から判断して参加可能な場合、参加応募する。サーバは、依頼者の端末装置から依頼処理を受信（第１の発明）、あるいは、直接依頼処理を入力し（第２の発明）、依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信し、処理端末装置は、当該割付処理を実行し、実行結果をサーバ又は端末装置に送信する。サーバは、割付処理の実行結果を依頼処理毎の実行結果に集約して、端末装置に送信したりする。
【００１０】
「サーバ」は、サーバコンピュータ等であり、処理端末装置としてのスレーブを制御する「マスタ」として機能する。サーバは、ネットワークを介してあるいは直接サーバに入力された処理（「依頼処理」）から「割付処理」を生成して処理端末装置に割り付け、実行させる。尚、サーバは、割付処理を生成する際、必要に応じて依頼処理を分割する。また、サーバは、分散化が可能である。
【００１１】
「処理端末装置」は、コンピュータ等であり、サーバから割り付けられた処理（割付処理）を実行する。処理端末装置は、サーバとしてのマスタにより制御される「スレーブ」として機能する。
【００１２】
「処理」（「依頼処理」あるいは「割付処理」）は、処理依頼要求、処理プログラム、処理データ等である。
「処理能力」は、ＣＰＵ能力、メモリ量、周波数、テストアプリケーションプログラムによる処理時間等のいずれかに基づいた値である。
【００１３】
第３の発明は、複数の処理端末装置と、複数の依頼者側の端末装置と、にネットワークを介して接続され、前記端末装置から送られた依頼処理を並列処理により処理する１又は複数のサーバであって、前記端末装置から前記依頼処理を受信する処理受付手段と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、を具備することを特徴とするサーバである。
【００１４】
第４の発明は、複数の処理端末装置にネットワークを介して接続され、入力された依頼処理を並列処理により処理する１又は複数のサーバであって、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付手段と、前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約手段と、を具備することを特徴とするサーバである。
【００１５】
第３の発明、第４の発明は、それぞれ、第１の発明、第２の発明の並列処理システムで用いられるサーバに関する発明である。
【００１６】
第５の発明は、１又は複数のサーバにネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムに用いられる処理端末装置であって、自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募手段と、前記サーバから送られた前記割付処理を実行する割付処理実行手段と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信手段と、を具備することを特徴とする処理端末装置である。
【００１７】
第５の発明は、第１の発明または第２の発明の並列処理システムで用いられる処理端末装置に関する発明である。
【００１８】
第６の発明は、複数の処理端末装置と、複数の依頼者側の端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記端末装置が依頼する依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、前記サーバは、前記端末装置から前記依頼処理を受信する処理受付工程と、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付工程と、前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約工程と、を具備し、前記処理端末装置は、自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募工程と、前記サーバから送られた前記割付処理を実行する割付処理実行工程と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信工程と、を具備することを特徴とする並列処理方法である。
【００１９】
第７の発明は、複数の処理端末装置と、１又は複数のサーバと、がネットワークを介して接続され、前記サーバに入力された依頼処理を並列処理により処理する並列処理システムにおける並列処理方法であって、前記サーバは、前記依頼処理から、必要に応じて当該依頼処理を分割して、割付処理を生成し、参加応募している処理端末装置に対して、当該割付処理を割り付けて送信する処理割付工程と、前記処理端末装置から送られた前記割付処理の実行結果を前記依頼処理毎の実行結果に集約する依頼処理結果集約工程と、を具備し、前記処理端末装置は、自身の稼働状況から判断して参加応募可能な場合、前記サーバに対して、所定時間内毎に参加応募を行う参加応募工程と、前記サーバから送られた前記割付処理を実行する割付処理実行工程と、前記割付処理の実行結果を前記サーバに送信する割付処理結果送信工程と、を具備することを特徴とする並列処理方法である。
【００２０】
第６の発明、第７の発明は、それぞれ、第１の発明、第２の発明の並列処理システムのサーバ及び処理端末装置により実行される並列処理方法に関する発明である。
【００２１】
第８の発明は、コンピュータを第３の発明または第４の発明のサーバとして機能させるプログラムである。
第９の発明は、コンピュータを第３の発明または第４の発明のサーバとして機能させるプログラムを記録した記録媒体である。
【００２２】
第１０の発明は、コンピュータを第５の発明の処理端末装置として機能させるプログラムである。
第１１の発明は、コンピュータを第５の発明の処理端末装置として機能させるプログラムを記録した記録媒体である。
【００２３】
上述のプログラムをＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【発明の効果】
【００２４】
本発明は、処理端末装置に稼働状況、処理能力等に応じて並列処理に係る処理を実行させ、並列処理の効率性及び高速性を向上させることができる並列処理システム等を提供することができる。
【発明を実施するための最良の形態】
【００２５】
以下に、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について詳細に説明する。なお、以下の説明および添付図面において、略同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。
【００２６】
図１は、本発明の第１の実施の形態に係る並列処理システム１００の概略構成を示す図である。
【００２７】
図１に示すように、並列処理システム１００は、管理者１のマスタ２、複数の依頼者４−１、４−２、…の端末装置５−１、５−２、…、スレーブ群６等が、ネットワーク９を介して接続されて構成される。
【００２８】
ネットワーク９は、インターネット、ローカルエリアネットワーク（ＬＡＮ）、社内ＬＡＮ等のネットワークであり、有線、無線を問わない。
【００２９】
管理者１は、並列処理システム１００を管理する管理者であり、マスタ２を有する。マスタ２は、「サーバ」としてのサーバコンピュータ等であり、処理受付機能１３、処理割付機能１５、実行結果取得機能１６、処理能力設定機能２０等を有する。マスタ２は、複数の分散マスタ３−１、３−２、…により構成することもできる。
【００３０】
処理受付機能１３は、依頼者４−１、４−２、…の端末装置５−１、５−２、…から処理の依頼を受付ける。例えば、処理受付機能１３は、ＷＥＢ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サーバとしての機能を有し、端末装置５からＷＥＢページに入力された処理を依頼処理として受け付けることができる。また、処理受付機能１３は、端末装置５からＷＥＢページ等によりネットワーク９を介して依頼処理を受付けるだけでなく、マスタ２に直接入力された処理を依頼処理として受け付けることができる。
【００３１】
処理割付機能１５は、依頼された処理（依頼処理）から割付処理を生成してスレーブ７−１、７−２、…に割付ける。実行結果取得機能１６は、スレーブ７−１、７−２、…から割付処理の実行結果を取得する。処理能力設定機能２０は、スレーブ７−１、７−２、…から各自の処理能力を取得し、処理能力をランク付けし、設定する。
【００３２】
依頼者４−１、４−２、…は、処理を依頼する依頼者であり、それぞれ、端末装置５−１、５−２、…を有する。端末装置５−１、５−２…は、ネットワーク９を介して、マスタ２に処理を依頼し、スレーブ群６から処理の実行結果を受信し取得する実行結果取得機能１７を有する。尚、端末装置５−１、５−２、…は、パーソナルコンピュータ、携帯情報端末（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等である。
【００３３】
スレーブ群６は、複数の「処理端末装置」としてのスレーブ７−１、７−２…を有する。スレーブ７−１、７−２、…は、並列処理専用のコンピュータ等の端末装置、あるいは、未使用時間等に係る空き資源、リソースを有する場合に並列処理に参加するパーソナルコンピュータ等のボランティア端末装置である。スレーブ７−１、７−２、…は、パーソナルコンピュータ、携帯情報端末（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話機、演算装置を有する機器等である。
【００３４】
スレーブ７−１、７−２、…は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ・キー等の外部メモリ８−１、８−２、…を有する。スレーブ７−１、７−２、…（又は、外部メモリ８−１、８−２、…）は、参加応募機能１１、処理実行機能１２、処理能力報告機能２１等を有する。
尚、スレーブ７には、参加応募機能１１、処理実行機能１２、処理能力報告機能２１等を有する外部メモリ８を設けてもよいし、外部メモリ８を設けずスレーブ７内に参加応募機能１１、処理実行機能１２、処理能力報告機能２１等を設けるようにしてもよい。
【００３５】
参加応募機能１１は、マスタ２から並列処理への参加募集が行われると、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ２に対して参加応募の旨を応答する。
処理実行機能１２は、マスタ２から受け取った処理プログラムにより所定の処理を実行する。
処理能力報告機能２１は、スレーブ自身の処理能力をマスタ２に送信する。
【００３６】
次に、マスタ２のハードウェア構成を説明する。図２は、マスタ２のハードウェア構成図である。
【００３７】
図２に示すように、マスタ２は、制御部２０１、記憶装置２０２（ハードディスク）、メディア入出力部２０３（ＣＤ−ＲＯＭ）、通信制御部２０４（通信制御装置、通信ポート等）、入力部２０５（キーボード、マウス等）、印刷部２０６（プリンタ）、表示部２０７（ディスプレイ）等が、バス２０９を介して接続される。
【００３８】
制御部２０１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等で構成され、大容量記憶媒体としての記憶装置２０２に格納されたプログラムに従って、バス２０９を介して接続された各装置を駆動制御する。
【００３９】
記憶装置２０２には、各構成部分を駆動制御する制御プログラム、並列処理マスタプログラム、及びスレーブ情報等が格納されている。
【００４０】
これらの各プログラムコードは、制御部２０１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００４１】
メディア入出力部２０３（ＣＤ−ＲＯＭドライブ装置）は、制御部２０１のＲＯＭや記憶装置２０２に記憶されているプログラムや情報をバージョンアップ、機器設定等の設定を行う際に用いられ、メンテナンスキーにより本体部を管理モードに切り替えて、メディア入出力部２０３にバージョンアップ用のＣＤ−ＲＯＭを挿入し、データの書き換えを行う。
【００４２】
通信制御部２０４は、通信制御装置、通信ポート等であり、ネットワーク９を介して、マスタ２と、端末装置５−１、５−２、…、スレーブ７−１、７−２、…間の通信制御を行う。
【００４３】
入力部２０５は、キーボード、マウス等であり、表示部２０７（ディスプレイ）に表示された操作案内、各種処理、操作を行う。
印刷部２０６は、プリンタであり、印刷出力処理を行う。
【００４４】
次に、記憶装置２０２における電力関連ファイルのファイル配置について説明する。図３は、記憶装置２０２における並列処理関連ファイルのファイル配置を示す。図３に示すように、記憶装置２０２内には、制御プログラム３０１、並列処理マスタプロラム３０２、スレーブ情報ファイル３０３等を保持する。
【００４５】
制御プログラム３０１は、マスタ２の各構成部分を駆動制御するプログラムである。
並列処理マスタプロラム３０２は、実行可能プログラムであり、処理受付機能１３、処理割付機能１５、実行結果取得機能１６、処理能力設定機能２０等を有し、参加応募したスレーブ７−１、７−２、…に対して、処理を割り付け、スレーブ７−１、７−２、…から戻される処理結果を回収する。
スレーブ情報ファイル３０３は、各スレーブ７−１、７−２、…の処理能力情報を格納するスレーブ情報テーブル３６等を保持する。
【００４６】
次に、スレーブのハードウェア構成を説明する。図４は、スレーブ７のハードウェア構成図である。
【００４７】
図４に示すように、スレーブ７は、制御部４０１、記憶装置４０２（ハードディスク、外部メモリ）、メディア入出力部４０３（ＣＤ−ＲＯＭ）、通信制御部４０４（通信制御装置、通信ポート等）、入力部４０５（キーボード、マウス等）、印刷部４０６（プリンタ）、表示部４０７（ディスプレイ）等が、バス４０９を介して接続される。
【００４８】
制御部４０１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等で構成され、大容量記憶媒体としての記憶装置４０２に格納されたプログラムに従って、バス４０９を介して接続された各装置を駆動制御する。
【００４９】
記憶装置４０２（ハードディスク）には、各構成部分を駆動制御するプログラム、参加応募機能１１、処理実行機能１２、処理能力報告機能２１等からなる並列処理スレーブプログラム等が格納されている。また、ＵＳＢメモリ・キー等の外部メモリ８−１、８−２、…に、参加応募機能１１、処理実行機能１２、処理能力報告機能２１等からなる並列処理スレーブプログラム等を格納してもよい
【００５０】
これらの各プログラムコードは、制御部４０１により必要に応じて読み出されてＲＡＭに移され、ＣＰＵに読み出されて各種の手段として実行される。
【００５１】
メディア入出力部４０３（ＣＤ−ＲＯＭドライブ装置）は、制御部４０１のＲＯＭや記憶装置４０２に記憶されているプログラムや情報をバージョンアップ、機器設定等の設定を行う際に用いられ、メディア入出力部４０３にバージョンアップ用のＣＤ−ＲＯＭを挿入し、データの書き換えを行う。
【００５２】
通信制御部４０４は、通信制御装置、通信ポート等であり、ネットワーク９を介して、スレーブ７と、マスタ２、端末装置５間の通信制御を行う。
【００５３】
入力部４０５は、キーボード、マウス等であり、表示部４０７（ディスプレイ）に表示された操作案内、各種処理、操作を行う。
印刷部４０６は、プリンタであり、印刷出力処理を行う。
【００５４】
尚、依頼者４−１、４−２、…の端末装置５−１、５−２、…も、マスタ２と同様なハードウェア構成である。
【００５５】
次に、図５乃至図９を参照しながら、並列処理システム１００の処理手順について説明する。
【００５６】
まず、図５及び図７を参照しながら、マスタ２が有する処理受付機能１３、処理割付機能１５、及び、スレーブ７−１、７−２、…が有する参加応募機能１１等による処理について説明する。
【００５７】
尚、「処理」の区別のため必要に応じて、端末装置５−１、５−２、…から依頼された処理を「依頼処理」と呼び、スレーブ７−１、７−２、…に分配、割り付けられた処理を「割付処理」と呼ぶ。
【００５８】
図５は、処理受付機能１３、処理割付機能１５、参加応募機能１１等に係る処理の概略を示す図である。
図７は、処理受付機能１３、処理割付機能１５、参加応募機能１１等に係る処理の手順を示すフローチャートである。
【００５９】
図５、図７に示すように、依頼者４−１、４−２、…の端末装置５−１、５−２、…の制御部は、例えば、依頼処理Ａ、Ｂ、…の処理依頼をマスタ２に行い、依頼処理Ａ、Ｂ、…の処理プログラムおよび処理データをマスタ２に送信する（ステップ７０１）。
【００６０】
尚、スレーブ７の記憶装置４０２（ハードディスク、又は外部メモリ８）には、予め、参加応募機能１１等と共に、処理実行機能１２に係る処理プログラム及び処理データを記憶させ、端末装置５−１、５−２、…は、処理プロクラム及び処理データを送ることなく、マスタ２に処理Ａ、Ｂ、…の処理依頼のみ行ってもよい。あるいは、スレーブ７の記憶装置４０２（ハードディスク、又は外部メモリ８）に、予め、参加応募機能１１と共に、処理実行機能１２に係る処理プログラム及び処理データの一部を記憶させ、残りの処理プログラム及び処理データに関しては、端末装置５−１、５−２、…が依頼処理Ａ、Ｂ、…の処理依頼を行う際にマスタ２に送信するようにしてもよい。
【００６１】
マスタ２は、各依頼者４−１、４−２、…の端末装置５−１、５−２、…からの依頼処理を受信し、受付ける（ステップ７０２）。尚、以降、ステップ７０２のように記述されている、マスタ２が行う処理内容は、マスタ２の制御部２０１が、実行可能プログラムである並列処理マスタプログラム３０２を実行することにより、処理を行うものである。
図５に示すように、マスタ２は、例えば、依頼者４−１の端末装置５−１から依頼処理Ａを受付け（ステップ４１−１）、依頼者４−２の端末装置５−２から依頼処理Ｂを受付け（ステップ４１−２）、処理受付テーブル３１を作成する。
【００６２】
ここで、処理受付機能１３にＷＥＢサーバとしての機能を設けることにより、マスタ２は、端末装置５からＷＥＢページに入力された処理を依頼処理として受け付けることができる。
尚、ステップ７０１〜ステップ７０２の処理を随時行うようにすることができる。
【００６３】
スレーブ７−１、７−２、…は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、参加する場合は、マスタ２に対して参加応募を行う（ステップ７０３）。尚、以降、ステップ７０３のように記述されている、スレーブ７が行う処理内容は、スレーブ７の制御部４０１が、実行可能プログラムである並列処理スレーブプログラム３０２を実行することにより、処理を行うものである。
図５に示すように、例えば、スレーブ７−１、７−２、７−４（スレーブ７−３は、参加応募せず）は、それぞれ、参加応募を行う（ステップ４３−１、４３−２、４３−４）。
【００６４】
マスタ２は、スレーブ７からの参加応募を受信すると、当該スレーブ７を処理可能スレーブとして登録、または更新する（ステップ７０４）。
図５に示すように、例えば、マスタ２は、参加応募したスレーブ７−１、７−２、７−４を、随時、処理可能スレーブリスト３５を作成し、処理可能制限時間（タイムアウト時間、例えば１０秒）を設定する。スレーブ７−１、７−２、…は、参加応募を行った後、参加応募可能な限り、処理可能制限時間内毎（例えば、１０秒毎）に参加応募をマスタ２に対して送信する。
【００６５】
マスタ２は、処理可能スレーブリスト３５上のスレーブに対して処理可能制限時間（タイムアウト時間）を経過したスレーブ７があるかどうか判定し（ステップ７０５）、該当するスレーブ７が存在する場合（ステップ７０５のＹｅｓ）、該当するスレーブ７を処理可能スレーブリスト３５から除外する（ステップ７０６）。
【００６６】
マスタ２は、端末装置５−１、５−２、…から送られた依頼処理から割付処理を生成し、処理可能スレーブリスト３５上の参加応募があったスレーブ７−１、７−２、…に、当該スレーブの処理能力に応じた処理量を割り付ける（ステップ７０７）。尚、マスタ２は、必要に応じて依頼処理を分割して割付処理を生成する。
図５に示すように、例えば、マスタ２は、依頼処理Ａを割付処理Ａ１、Ａ２、Ａ３、Ａ４に分割し、依頼処理Ｂを割付処理Ｂ１、Ｂ２に分割して、処理可能スレーブリスト３５上の参加応募したスレーブ７−１、７−２、７−４（スレーブ７−３は、参加応募せず）に対して、スレーブ情報テーブル３６の処理能力ランクに応じて処理量を決定し、それぞれ、スレーブ７−１（処理能力ランク「１」）に割付処理Ａ１を、スレーブ７−２（処理能力ランク「３」）に割付処理Ａ２、Ａ３、Ａ４を、スレーブ７−４（処理能力ランク「２」）に割付処理Ｂ１、Ｂ２を割り付け、処理割付テーブル３２を作成する。スレーブ情報テーブル３６は、予め、スレーブ７−１、７−２、…から送信された処理能力に従って、設定される。尚、後述、スレーブ７の処理能力報告機能２１と、マスタ２の処理能力設定機能２０について詳しく説明する。
【００６７】
マスタ２は、割付処理を割り付けた各スレーブ７−１、７−２、…に、割付処理に係る処理プログラム、処理データ等を送信し、処理を分配する（ステップ７０８）。
図５に示すように、例えば、マスタ２は、スレーブ７−１に割付処理Ａ１に係る処理プログラム、処理データ等を送信し、スレーブ７−２に割付処理Ａ２、Ａ３、Ａ４に係る処理プログラム、処理データ等を送信し、スレーブ７−４に割付処理Ｂ１、Ｂ２に係る処理プログラム、処理データ等を送信する（ステップ４４−１、４４−２、４４−４）。
尚、端末装置５−１、５−２、…からの処理受付の状況、及びスレーブ７−１、７−２、…からの参加応募に応じて、ステップ７０３〜ステップ７０８の処理を随時行うようにすることができる。
【００６８】
次に、図６及び図８を参照しながら、スレーブ７−１、７−２、…が有する処理実行機能１２、マスタ２が有する実行結果取得機能１６、端末装置５−１、５−２、…が有する実行結果取得機能１７等による処理について説明する。
図６は、処理実行機能１２、実行結果取得機能１６、実行結果取得機能１７等に係る処理の概略を示す図である。
図８は、処理実行機能１２、実行結果取得機能１６、実行結果取得機能１７等に係る処理の手順を示すフローチャートである。
【００６９】
スレーブ７−１、７−２…は、マスタ２から割付処理に係る処理プログラム、処理データを受け取る（ステップ８０１）。
図５に示すように、例えば、スレーブ７−１は割付処理Ａ１、スレーブ７−２は割付処理Ａ２、Ａ３、Ａ４、スレーブ７−４は割付処理Ｂ１、Ｂ２に係る処理プログラム、処理データ等を受け取る（ステップ４４−１、４４−２、４４−４）。
尚、予め、処理プログラムや処理データがスレーブ７−１、７−２、…の記憶装置４０２（ハードディスクや外部メモリ８−１、８−２、…等）に記憶されている場合には、スレーブ７−１、７−２、…は、マスタ２から処理実行依頼のみを受信する。
【００７０】
スレーブ７−１、７−２…は、受け取った処理プログラムを起動し、割付処理を実行する（ステップ８０２）。
図６に示すように、例えば、スレーブ７−１は割付処理に係る処理プログラムＡ１を起動し、割付処理Ａ１を実行する（ステップ４５−１）。スレーブ７−２は割付処理に係る処理プログラムＡ２、Ａ３、Ａ４を起動し、割付処理Ａ２、Ａ３、Ａ４を実行する（ステップ４５−２）。スレーブ７−４は割付処理に係る処理プログラムＢ１、Ｂ２を起動し、割付処理Ｂ１、Ｂ２を実行する（ステップ４５−４）。
【００７１】
スレーブ７−１、７−２…は、処理プログラム終了後、処理プログラムの実行結果（割付処理の実行結果）をマスタ２に送信する（ステップ８０３）。
図６に示すように、例えば、スレーブ７−１、７−２、７−４は、それぞれ、実行結果ａ１、ａ２、ａ３、ａ４、ｂ１、ｂ２（割付処理の実行結果）をマスタ２に送信する（ステップ４６−１、４６−２、４６−４）。
【００７２】
マスタ２は、スレーブ７−１、７−２…から割付処理の実行結果を受信し、処理割付テーブル３２に対応付けて記録する（ステップ８０４）。
マスタ２は、割付処理の実行結果を依頼処理毎に集約し、処理受付テーブル３１に対応付けて記録する（ステップ８０５）。
図６に示すように、例えば、マスタ２は、割付処理毎の実行結果ａ１、ａ２、ａ３、ａ４、ｂ１、ｂ２を依頼処理毎の実行結果Ａ、Ｂに集約する（ステップ４７）。
【００７３】
マスタ２は、依頼処理毎に取得した実行結果を対応する依頼者４−１、４−２、…の端末装置５−１、５−２、…に送信し（ステップ８０６）、端末装置５−１、５−２、…は、依頼した処理の実行結果を受け取る（ステップ８０７）。
図６に示すように、例えば、マスタ２は、依頼処理Ａの実行結果Ａを端末装置５−１に送信し（ステップ４８−１）、依頼処理Ｂの実行結果Ｂを端末装置５−２に送信する（ステップ４８−２）。
【００７４】
マスタ２は、割付処理実行中のスレーブから所定の期限（例えば、処理実行開始後、１日経過）までに実行結果を受信しなかった場合、その他、割付処理実行中のスレーブが正常動作していないと認められる場合等、スレーブ群６に対して並列処理への参加募集を行い、参加応募した別のスレーブ７−１、７−２、…に、同じ処理を割振り、実行させる（ステップ７０３〜ステップ７０８）。
【００７５】
また、図６に示すように、スレーブ７−１、７−２、…は、マスタ２に実行結果を送信せずに、直接、依頼者４−１、４−２、…の端末装置５−１、５−２、…に実行結果を送信してもよい（ステップ４９）。さらに、スレーブ７−１、７−２、…は、ブロードキャスト通信により、ネットワーク９に実行結果を送出し、マスタ２（分散マスタ３）もしくは端末装置５が必要に応じて当該実行結果を受信するようにしてもよい。
【００７６】
また、マスタ２は、並列処理を終了する時は、参加応募したスレーブ７−１、７−２、…に対して、終了指示を送り、当該終了指示を受けたスレーブ７−１、７−２、…は、参加応募、割付処理の実行等を終了する。
【００７７】
次に、図９を参照しながら、マスタ２が有する処理能力設定機能２０、及びスレーブ７−１、７−２、…が有する処理能力報告機能２１等による処理について説明する。
【００７８】
図９は、処理能力設定機能２０、処理能力報告機能２１等に係る処理の概略を示す図である。
【００７９】
図９に示すように、予め、各スレーブ７−１、７−２、…は、マスタ２に対して、自身の処理能力情報を送信する（ステップ６１−１、６１−２）。処理能力情報は、ＣＰＵ能力、メモリ量、周波数、テストアプリケーションプログラムによる処理時間等に基づいた情報である。
マスタ２は、スレーブ７−１、７−２、…から受信した処理能力情報に基づいて、スレーブ情報テーブル３６に、各スレーブ７−１、７−２、…毎に処理能力内容、処理能力ランク等を設定する（ステップ６２）。マスタ２は、参加応募があったスレーブ７−１、７−２、…に、作成したスレーブ情報テーブル３６に基づいて、当該スレーブの処理能力に応じた処理量を割り付ける。
例えば、スレーブ７−１のＣＰＵがＰｅｎｔｉｕｍ（登録商標）１の場合、スレーブ７−１は、処理能力情報としてその旨を報告し、マスタ２は、スレーブ情報テーブル３６に処理能力情報（ＣＰＵ―Ｐｅｎｔｉｕｍ（登録商標）１）に基づいた処理能力ランク「１」を設定する。同様に、スレーブ７−２のＣＰＵがＰｅｎｔｉｕｍ（登録商標）３の場合、処理能力ランク「３」を設定する。
【００８０】
以上説明したように、本発明の第１の実施の形態によれば、マスタ２は、各依頼者４の端末装置５から処理の依頼（依頼処理）を受付ける。また、スレーブ７は、自身の稼働状況から並列処理へ参加できるだけの空き資源、リソースが残存しているかどうかを判断し、並列処理へ参加する場合は、マスタ２に対して所定時間内毎に参加応募を送信する。マスタ２は、参加応募したスレーブ７に、各スレーブ７の処理能力に応じた処理量の処理を割振り、割振った処理（割付処理）を送信する。スレーブ７は、マスタ２から受け取った割付処理を実行し、処理終了後、実行結果をマスタ２又は依頼者４側の端末装置５に送信し、マスタ２あるいは端末装置５は、実行結果を受け取る。
【００８１】
第１の発明では、処理端末装置は、稼働状況に応じて、常時、所定時間内毎に並列処理に参加応募を掛け、サーバは、処理端末装置に参加募集を掛けることなく、現時点の参加応募した処理端末装置に割付処理を割り当てることにより、効率的かつ高速な並列処理を実現することができ、最適な処理スケジューリングが可能となる。
更に、サーバが処理端末装置に参加募集を掛けることなく、処理端末装置がサーバに対して処理への参加応募を常時行うことにより、処理端末装置が遊休となった直後から、処理の開始が可能となる。
【００８２】
また、サーバは、予め、各処理端末装置から報告された処理能力に基づいて、各処理端末装置に一度に割り付ける割付処理量を決定することにより、１の処理端末装置であっても、１又は複数の割付処理を同時に並行して実行することができ、並列処理全体として処理の高速化が可能である。
【００８３】
また、サーバの分散化、多重化が容易であるので、耐障害性が向上する。
また、第２の発明では、ある決められた処理専用のシステムではなく、外部（依頼者の端末装置）からの依頼処理に係る複数の並列処理を実行することが容易に可能となる。
【００８４】
また、サーバが複数の分散サーバから構成される場合、処理端末装置は、ブロードキャスト通信等により複数の分散サーバ全体に対して並列処理への参加応募を行うことができる。この場合、処理端末装置は、相手（分散サーバ）を意識することなく応募を行うことが可能である
【００８５】
また、処理端末装置として、ボランティア端末装置、すなわち、一般ＯＡ用途に用いられているパーソナルコンピュータ等の未使用時間等に係る空き資源を利用可能であり、膨大な計算量を要する処理等に係る並列処理を実現することができる。この場合、企業等のパーソナルコンピュータを多数抱えているサイトでは、安価に高速計算機環境を取得できると共に、ボランティア端末装置（スレーブ）の更新毎に計算機環境も自動更新されるため、新たに計算環境を構築することなく高速化が図られる。
【００８６】
尚、本実施の形態では、処理プログラムおよび処理データを依頼者４側の端末装置５からマスタ２に一旦送信し、各スレーブ７に送信したが、処理アプリケーションに応じて（例えば、画像データを入力とする画像生成処理等）、各スレーブ７−１、７−２、…の外部メモリ８−１、８−２、…に予め、それぞれ参加応募機能１１等と共に、同じ処理プログラムを格納しておき、処理依頼の際に、異なる処理データを各スレーブ７−１、７−２、…に送信し、実行させてもよい。
【００８７】
また、スレーブ７が使用不可能になった場合や指示した処理結果がなかなか返ってこない場合、並列処理に参加応募している別のスレーブ７に再度、同一処理を割振ることで、期限付きの処理の実行を可能にする。また、ある決められた処理専用のシステムではなく、外部（依頼者４の端末装置５）からの複数の並列処理を実行することが容易に可能となる。
【００８８】
更に、命令変換機能を有するメモリをスレーブ７側又はマスタ２側に持たせることで、一般のパーソナルコンピュータだけではなく、情報家電等の異なる処理体系、演算体系を採る演算装置（ＣＰＵ等）を有する機器や携帯電話機を用いた並列処理が可能となり、さらなる並列処理の高速化が可能となる。
【００８９】
尚、図７、図８等に示す処理を行うプログラムはＣＤ−ＲＯＭ等の記録媒体に保持させて流通させてもよいし、このプログラムを通信回線を介して送受することもできる。
【００９０】
以上、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００９１】
次に、本発明の第２の実施の形態について説明する。
図１０は、本発明の第２の実施の形態に係る並列処理システム２００の概略構成を示す図である。
【００９２】
前述の第１の実施の形態では、マスタ２は、端末装置５からネットワーク９を介して処理の依頼（依頼処理）を受付け、当該依頼処理を並列処理により処理するが、第２の実施の形態では、依頼処理は、直接マスタ２に入力される。すなわち、マスタ２の処理受付機能１３は、ＷＥＢページ等によりネットワーク９を介して依頼処理を受付けるだけでなく、マスタ２に直接入力された処理を依頼処理として受け付けることができる。
【００９３】
第１の実施の形態では、端末装置５からネットワーク９を介してマスタ２に並列処理を依頼することができるので、リモートからの並列処理の依頼、処理実行結果の取得が可能となる。例えば、多数の並列処理専用コンピュータをセンタ内に構築し、リモートからの運用が可能となる。
一方、第２の実施の形態では、割付処理及び割付処理毎の実行結果は、ネットワーク９上を流れるが、依頼処理全体及び依頼処理毎の実行結果は、ネットワーク９上を流れることがないので、安全性、機密性を向上することができる。
【００９４】
次に、並列処理システムにおける、ブロードキャスト通信による通信処理の詳細を説明する。
上記の第１の実施の形態及び第２の実施の形態に示した並列処理システムでは、マスタとスレーブとの間の通信に関しては、ブロードキャスト通信を用いて、通信データ、情報の授受（参加応募、処理割付、実行結果の送信、実行結果の取得、処理能力の報告等）が行われる。
【００９５】
図１１は、上述のマスタ２及びスレーブ７におけるブロードキャスト通信による通信処理の概略を示す図である。
尚、所定の通信処理に関する送信元と送信先のポート番号は、異なる場合があるが、説明の容易のため、所定の通信処理の種類毎にポート番号が設定され、送信元と送信先のポート番号は、同一であるものとして説明する。
【００９６】
図１１に示すように、マスタ２には、２０００番ポート、２００１番ポート、２００２番ポート、２００３番ポート、２００４番ポート、…が設定され、スレーブ７−１には、２０００番ポート、２００１番ポート、スレーブ７−２には、２０００番ポート、２００２番ポート、スレーブ７−３には、２０００番ポート、２００３番ポート、スレーブ７−４には、２０００番ポート、２００４番ポート、…が設定される。
【００９７】
２０００番ポートは、マスタ２及び全てのスレーブ７の間の通信（例えば、参加募集）に関する通信ポートである。
２００１番ポートは、マスタ２とスレーブ７−１との間の通信（例えば、参加応募）に関する通信ポートである。
２００２番ポートは、マスタ２とスレーブ７−２との間の通信（例えば、参加応募）に関する通信ポートである。
２００３番ポートは、マスタ２とスレーブ７−３との間の通信（例えば、参加応募）に関する通信ポートである。
２００４番ポートは、マスタ２とスレーブ７−４との間の通信（例えば、参加応募）に関する通信ポートである。
【００９８】
スレーブ７−１は、マスタ２に対して通信データを送信する場合（例えば、並列処理への参加応募を行う場合）、送信先ポート番号２００１を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク９に送出する。マスタ２は、ポート番号２００１が設定されているので、当該通信データ（送信先ポート番号２００１）を受信する（ステップ１００２）。
【００９９】
同様にして、スレーブ７−２、７−４は、マスタ２に対して通信データを送信する場合、それぞれ、送信先ポート番号２００２、２００４を通信データに付加して、当該通信データをブロードキャスト通信によりネットワーク９に送出し、マスタ２は、ポート番号２００２、２００４が設定されているので、当該通信データ（送信先ポート番号２００２、２００４）を受信する（ステップ１００３、ステップ１００４）。
【０１００】
上記の説明では、参加応募に関する通信処理を例としてあげたが、その他、割付処理の送受信、割付処理の実行結果の送受信等に関する通信処理に関しても、当該通信処理の種類毎に、必要に応じて、マスタ２、スレーブ７にポート番号を設定し、ポート番号を付加した通信データをブロードキャスト通信でネットワーク９に送出することにより、マスタ２及びスレーブ７の間で通信データの授受を行い、並列処理を実現することができる。
尚、マスタ２が分散化、多重化されている場合は、同一の指示、同一の応答であっても、早着優先で処理するようにすればよい。
【０１０１】
以上、添付図面を参照しながら、本発明に係る並列処理システム等の好適な実施形態について説明したが、本発明はかかる例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【図面の簡単な説明】
【０１０２】
【図１】第１の形態に係る並列処理システム１００の概略構成を示す図
【図２】マスタ２のハードウェア構成図
【図３】記憶装置２０２における並列処理関連のファイル配置を示す図
【図４】スレーブ７のハードウェア構成図
【図５】処理受付機能１３、処理割付機能１５、参加応募機能１１等に係る処理の概略を示す
【図６】処理実行機能１２、実行結果取得機能１６、実行結果取得機能１７等に係る処理の概略を示す図
【図７】処理受付機能１３、処理割付機能１５、参加応募機能１１等に係る処理の手順を示すフローチャート
【図８】処理実行機能１２、実行結果取得機能１６、実行結果取得機能１７等に係る処理の手順を示すフローチャート
【図９】処理能力設定機能２０、処理能力報告機能２１等に係る処理の概略を示す図
【図１０】第２の実施の形態に係る並列処理システム２００の概略構成を示す図
【図１１】ブロードキャスト通信による通信処理の概略を示す図
【符号の説明】
【０１０３】
１００………並列処理システム
２００………並列処理システム
１………管理者
２………マスタ
３（３−１、３−２、…）………分散マスタ
４（４−１、４−２、…）………依頼者
５（５−１、５−２、…）………端末装置
６………スレーブ群
７（７−１、７−２、…）………スレーブ
８（８−１、８−２、…）………外部メモリ
９………ネットワーク
１１………参加応募機能
１２………処理実行機能
１３………処理受付機能
１５………処理割付機能
１６………実行結果取得機能
１７………実行結果取得機能
２０………処理能力設定機能
２１………処理能力報告機能
３１………処理受付テーブル
３２………処理割付テーブル
３５………処理可能スレーブリスト
３６………スレーブ情報テーブル
【図１】
2005050131.tif 000003
【図２】
2005050131.tif 000004
【図３】
2005050131.tif 000005
【図４】
2005050131.tif 000006
【図５】
2005050131.tif 000007
【図６】
2005050131.tif 000008
【図７】
2005050131.tif 000009
【図８】
2005050131.tif 000010
【図９】
2005050131.tif 000011
【図１０】
2005050131.tif 000012
【図１１】
2005050131.tif 000013