(57)【特許請求の範囲】
【請求項１】
分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、計算機資源を提供する資源提供者端末とが、インターネットを介して接続されている分散処理システムであって、
前記資源提供者端末が複数段を有する階層構造を形成し、上位階層に位置する前記資源提供者端末がより下位階層に位置する前記資源提供者端末を管理し、
前記分散処理提供者サーバが、
前記資源提供者端末を登録する資源提供者端末登録部と、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集する資源提供者端末統計情報収集部と、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出する資源提供者端末信頼度算出部と、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成する階層構造再構成部とを含み、
前記階層構造再構成部において、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とするインターネットを用いた分散処理システム。
【請求項２】
前記上位階層に位置する資源提供者端末が、同一の演算処理を、より下位の階層に位置する複数の前記資源提供者端末に割り当て、同一の演算結果が最も多い演算結果を正しい演算結果であると判断し、正しくない演算結果となった前記資源提供者端末に関する情報とともに正しい演算結果を前記分散処理提供者サーバに送信する請求項１記載のインターネットを用いた分散処理システム。
【請求項３】
分散処理サービスを利用する分散処理利用者端末と、複数段を有する階層構造を形成し、上位階層に位置する端末がより下位階層に位置する端末を管理する資源提供者端末と、インターネットを介して接続されている分散処理提供者サーバであって、
前記資源提供者端末を登録する資源提供者端末登録部と、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集する資源提供者端末統計情報収集部と、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出する資源提供者端末信頼度算出部と、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成する階層構造再構成部とを含み、
前記階層構造再構成部において、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とする分散処理提供者サーバ。
【請求項４】
分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、計算機資源を提供する資源提供者端末とが、インターネットを介して接続されている分散処理環境において、
前記資源提供者端末が複数段を有する階層構造を形成し、上位階層に位置する前記資源提供者端末がより下位階層に位置する前記資源提供者端末を管理し、
前記分散処理提供者サーバにおいて、
前記資源提供者端末を登録する工程と、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集する工程と、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出する工程と、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成する工程とを含み、
前記階層構造を再構成する工程において、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とするインターネットを用いた分散処理方法。
【請求項５】
分散処理サービスを利用する分散処理利用者端末と、複数段を有する階層構造を形成し、上位階層に位置する端末がより下位階層に位置する端末を管理する資源提供者端末と、インターネットを介して接続されている分散処理提供者サーバにおいて、
前記資源提供者端末を登録するステップと、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集するステップと、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出するステップと、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成するステップとを含み、
前記階層構造を再構成するステップにおいて、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とするコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インターネット上において、多くの計算機資源を必要とする処理について空き資源の有効活用を図る分散処理システム及び方法に関する。
【０００２】
【従来の技術】
インターネット環境が世界中に普及している現在、多くの計算機資源を必要とする処理が数多く存在する。このような例としては、膨大な量のゲノム／バイオ情報を処理して病気の原因解明や薬の開発を行うことや、大量の動画像データをディスク上に蓄積して行う動画像配信サービス、音声翻訳サービス、暗号解読、気象予測、将棋や囲碁の名人を破るプログラムの実現等が考えられる。
【０００３】
しかし、多くの計算機資源を必要とする処理を行うためには、巨額の初期投資が必要となるという問題が潜在的に存在する。このような問題の解決策として、インターネットで接続されているパソコンにおいて分散処理を行う方法が考えられている。これは、１つの膨大な量の計算処理を多数の小タスクに小分けして、小タスクをインターネットで接続されている各使用者端末において分散して処理させるものである。このようにすることで、超大型で数百万ドルもするスーパーコンピュータが行なうような計算を、はるかに小さな普通のパソコンを何万台も使って処理することが可能となる。
【０００４】
例えば、暗号解析等を行っているhttp://www.distributed.net等のディストリビューションネットにおいては、上述したような分散処理を用いることによって、１０５００ＧＦｌｏｐｓに相当する計算能力を実現している。これは、富士通社製のスーパーコンピュータＶＰＰ７００Ｅシリーズにおける処理能力である１２２８ＧＦｌｏｐｓをはるかに上回っている。また、ディストリビューションネットで現在稼働しているＲＣ５−６４暗号解析プロジェクトにおいては、コンピュータの被使用者が２８６２１４人であり、一秒あたりの解析速度は、１２７．２４ギガ個／秒となっている。
【０００５】
このようなインターネット環境を用いた分散コンピューティングは、その初期においては、自分が有名なプロジェクトに参加したという精神的な満足感だけを拠り所として計算機資源の提供者を募るものであった。しかし、それだけでは有名なプロジェクト以外の無名のプロジェクトにおいて、計算機資源を提供するコンピュータ所有者を必要人数分集めることは困難であり、また計算機資源の提供自体を促すことも困難であるという問題があった。
【０００６】
そこで、計算機資源の提供を促進するべく、計算機資源提供のインセンティブとして出来高ベースの金銭報酬を支払うというサービスが考え出されている。これによって、プロジェクトに興味を持っていない一般の人々の中からも、計算機資源の提供者を募ることが期待できる。
【０００７】
【発明が解決しようとする課題】
しかしながら、従来の分散処理サービスにおいては、オフライン処理を基本としており、演算処理の対象となるプログラムを計算機資源の提供者の所有するコンピュータにダウンロードし、処理自体はオフラインで実行し、演算結果のみをネットワークで転送するという方式が主として採用されている。
【０００８】
したがって、今後常時接続が一般的になってくるに伴って、計算機資源が有効に利用できる状態になっているか否か、例えば計算機資源の提供者が電源を入れているか否か等の確認をどのようにして行い、分散処理に必要な資源提供をいかに確実に行うか、が大きな課題となってくる。
【０００９】
また、計算機資源提供のインセンティブとして金銭報酬を支払うという方法では、一般に分散コンピューティングを行う場合には提供者数が多くなるため、一人当りの金銭報酬が小額になってしまい、インセンティブとしては弱くなってしまうという問題点があった。
【００１０】
例えば、計算機資源の提供者として１０万人が登録されている分散コンピューティングシステムにおいては、たとえ１千万円のプロジェクトを受注できた場合であっても、一人当りの金銭報酬は１００円になってしまい、家庭内においてコンピュータを動かすための電気代まで考えると金銭報酬として魅力が少ないことになってしまう。逆に、金銭報酬額を多くすると、利用者側が支払わなければならない金額が高くなってしまい、巨大なプロジェクトでしか本サービスを利用することができなくなってしまうというデメリットがある。
【００１１】
本発明は、上記課題を解決するために、提供される計算機資源を確実に確保することができるとともに、一定の信頼度を確保したサービスを提供することができるインターネットを用いた分散処理システム及び方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するために本発明にかかるインターネットを用いた分散処理システムは、分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、計算機資源を提供する資源提供者端末とが、インターネットを介して接続されている分散処理システムであって、資源提供者端末が複数段を有する階層構造を形成し、上位階層に位置する資源提供者端末がより下位階層に位置する資源提供者端末を管理し、分散処理提供者サーバが、資源提供者端末を登録する資源提供者端末登録部と、資源提供者端末の使用状況を常時監視し、統計情報として収集する資源提供者端末統計情報収集部と、統計情報に基づいて、資源提供者端末の信頼性の度合を示す信頼度を算出する資源提供者端末信頼度算出部と、信頼度に基づいて、資源提供者端末の階層構造を再構成する階層構造再構成部とを含み、階層構造再構成部において、資源提供者端末の信頼度が高い資源提供者端末ほど、上位階層に位置するように配置することを特徴とする。
【００１３】
かかる構成により、一般家庭に普及したパソコン等のような信頼性の低い計算機資源を用いた場合であっても、システム全体として一定以上の信頼度を確保しながら分散処理システムを提供することが可能となる。
【００１４】
また、本発明にかかるインターネットを用いた分散処理システムは、上位階層に位置する資源提供者端末が、同一の演算処理を、より下位の階層に位置する複数の資源提供者端末に割り当て、同一の演算結果が最も多い演算結果を正しい演算結果であると判断し、正しくない演算結果となった資源提供者端末に関する情報とともに正しい演算結果を分散処理提供者サーバに送信することが好ましい。演算処理結果の誤りや改ざん、同意語等を未然に回避することができるからである。
【００１５】
また、本発明にかかるインターネットを用いた分散処理システムにおける分散処理提供者サーバは、分散処理サービスを利用する分散処理利用者端末と、複数段を有する階層構造を形成し、上位階層に位置する端末がより下位階層に位置する端末を管理する資源提供者端末と、インターネットを介して接続されている分散処理提供者サーバであって、資源提供者端末を登録する資源提供者端末登録部と、資源提供者端末の使用状況を常時監視し、統計情報として収集する資源提供者端末統計情報収集部と、統計情報に基づいて、資源提供者端末の信頼性の度合を示す信頼度を算出する資源提供者端末信頼度算出部と、信頼度に基づいて、資源提供者端末の階層構造を再構成する階層構造再構成部とを含み、階層構造再構成部において、資源提供者端末の信頼度が高い資源提供者端末ほど、上位階層に位置するように配置することを特徴とする。
【００１６】
かかる構成により、一般家庭に普及したパソコン等のような信頼性の低い計算機資源を用いた場合であっても、システム全体として一定以上の信頼度を確保しながら分散処理システムを提供することが可能となる。
【００１７】
また、本発明は、上記のようなインターネットを用いた分散処理システムをコンピュータの処理ステップとして実行するソフトウェアを特徴とするものであり、具体的には、分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、計算機資源を提供する資源提供者端末とが、インターネットを介して接続されている分散処理環境において、資源提供者端末が複数段を有する階層構造を形成し、上位階層に位置する資源提供者端末がより下位階層に位置する資源提供者端末を管理し、分散処理提供者サーバにおいて、資源提供者端末を登録する工程と、資源提供者端末の使用状況を常時監視し、統計情報として収集する工程と、統計情報に基づいて、資源提供者端末の信頼性の度合を示す信頼度を算出する工程と、信頼度に基づいて、資源提供者端末の階層構造を再構成する工程とを含み、階層構造を再構成する工程において、資源提供者端末の信頼度が高い資源提供者端末ほど、上位階層に位置するように配置するインターネットを用いた分散処理方法並びにそのような工程をプログラムであることを特徴とする。
【００１８】
かかる構成により、コンピュータ上へ当該プログラムをロードさせ実行することで、一般家庭に普及したパソコン等のような信頼性の低い計算機資源を用いた場合であっても、システム全体として一定以上の信頼度を確保しながら分散処理システムを提供することが可能となる。
【００１９】
【発明の実施の形態】
以下、本発明の実施の形態にかかるインターネットを用いた分散処理システムについて、図面を参照しながら説明する。図１は従来のインターネットを用いた分散処理システムの構成図であり、図２は本発明の実施の形態にかかるインターネットを用いた分散処理システムの構成図である。
【００２０】
図１及び図２において、１は特定のプロジェクトに使用する計算機資源提供者を募り、計算機資源提供者が使用する資源提供者端末を管理する分散処理提供者サーバを、２は分散処理提供者サーバを利用して特定の演算結果を取得する分散処理利用者端末を、３は計算機資源提供者が使用する資源提供者端末を、４はインターネットを、それぞれ示している。
【００２１】
図１に示すように、従来はインターネットを介して、分散処理提供者サーバ１と、分散処理利用者端末２と、資源提供者端末３とが接続されており、特定のプロジェクトについて分散処理の依頼情報が分散処理利用者端末２から分散処理提供者サーバ１に送信されると、分散処理提供者サーバ１が複数（多数）の資源提供者端末３を特定して演算を行わせ、その結果を収集して依頼者である分散処理利用者端末２へ返信するようになっている。
【００２２】
ここで、従来はインターネットを介しているとはいえ、基本的にはオフラインで分散処理サービスを提供している。すなわち、分散処理の依頼情報が分散処理利用者端末２から分散処理提供者サーバ１に送信され、分散処理提供者サーバ１が依頼情報をネットワーク上で公開することによって計算機資源の提供者を募る。そして、確定した計算機資源の提供者が使用する資源提供者端末３に対して、処理プログラムをダウンロードし、資源提供者端末３上でオフライン処理した後、演算結果のみを分散処理提供者サーバ１に返信するものである。
【００２３】
しかしながら、かかるシステムにおいては、資源提供者は自分の興味あるプロジェクトにしか計算機資源を提供することがない。また、オンライン化した場合、例えば全端末が常時接続されるようになった場合においては、資源提供者が自己の資源提供者端末３の電源をオフすること等も自由であることから、安定した計算機資源の提供が困難になってしまう。
【００２４】
そこで、本実施の形態においては、図２に示すように提供者端末３を階層構造にし、上位階層から順に、上位管理サーバ３１、下位管理サーバ３２、資源提供者端末３３とする。なお、本実施の形態では３層で説明しているが、特にこれに限定されるものではなく、管理可能な階層であれば何層でも良い。
【００２５】
そして、分散処理提供者サーバ１がこれらの階層管理を行い、信頼度の高い資源提供者端末３を上位管理サーバ３１とし、処理全体として一定以上の信頼性を確保するものである。
【００２６】
かかる機能を実現するため、分散処理提供者サーバ１は図３に示すような構成となる。図３に本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける分散処理提供者サーバ１の構成図を示す。
【００２７】
図３において、１１は資源提供者端末登録部を示し、資源提供者端末３の端末ＩＤ等を登録して、資源提供者端末登録情報格納部１２に格納するものである。資源提供者端末登録情報格納部１２のデータ構造例を図４に示す。
【００２８】
図４に示すように、資源提供者端末３の端末ＩＤごとに、所有者やハードウェア上の特性、あるいは通信のためのＩＰアドレス等、本システム利用時に必要となる情報を登録することになる。
【００２９】
次に、１３は資源提供者端末統計情報収集部を示し、資源提供者端末３各々について、ログオン時間、ログオフ時間、ＣＰＵ使用率等を統計情報として資源提供者端末統計情報格納部１４に格納するものである。資源提供者端末統計情報格納部１４のデータ構造例を図５に示す。図５に示すように、各端末ＩＤごとに、ログオン時間、ログオフ時間、ＣＰＵ使用率等をカードデータベースのように格納するようになる。
【００３０】
また、１５は資源提供者端末信頼度算出部を示し、資源提供者端末統計情報格納部１４に格納されている統計情報に基づいて、資源提供者端末ごとに、信頼度を算出し、資源提供者端末信頼度格納部１６に格納するものである。信頼度の指標としては様々な指標が考えられる。例えば、端末稼働率として電源が入っている確率や、平均故障回復時間等が挙げられる。
【００３１】
そして、信頼度を示す指標としては１つに限定するものでもなく、例えば図６に示すように、複数の指標を算出して資源提供者端末信頼度格納部１６に登録しておき、これらの指標値を用いて新たな総合指標を算出して総合的な信頼度評価を行うものであっても良い。
【００３２】
なお、統計情報を基礎としていることから、資源提供者端末信頼度算出部１５における信頼度の算出周期は、１月単位等、相当の期間ごとに行われることが望ましく、タイマ機構を内蔵するものであっても良い。
【００３３】
そして、１７は階層構造再構成部を示し、資源提供者端末信頼度算出部１５で算出された資源提供者端末３ごとの信頼度に基づいて、信頼度の高い資源提供者端末３を上位階層サーバ３１に、信頼度の低い資源提供者端末３を当該上位階層サーバ３１の管理下に配置するように階層構造を再構成し、階層構造の構成情報を階層構造情報格納部１８に格納するものである。こうすることによって、動的に上位階層サーバ３１を選択できることから、分散処理全体としての信頼性を一定に保持することが可能となる。
【００３４】
図７に、階層構造情報格納部１８のデータ構造例を示す。図７に示すように、資源提供者端末３それぞれの直上の階層にある端末ＩＤを登録しておくことで、どの端末がどの上位階層サーバの直下に位置するのか明確にすることができる。また、直上の階層にある端末ＩＤが資源提供者サーバ１の端末ＩＤである資源提供者端末が最上位の階層サーバであることがわかる。図７では資源提供者サーバ１の端末ＩＤを“Ｓ０１”としているので、端末ＩＤ“ＸＸ０１”である資源提供者端末が最上位の階層サーバであることがわかる。
【００３５】
一方、２１は分散依頼処理受信部を示し、分散処理利用者端末２からの処理依頼を受信し、２２は必要計算機資源算出部を示し、処理依頼の内容に応じた必要な計算機資源の総量を算出するものである。
【００３６】
そして、２３は資源提供者端末選定部を示し、階層構造情報格納部１８に格納されている資源提供者端末３の階層構造と、必要計算機資源算出部２２において算出された計算機資源の必要量とに基づいて、どの一又は複数の上位管理サーバ３１の管理下にある資源提供者端末３を使用するかを選定する。
【００３７】
最後に、２４は分散処理制御／結果送受信部を示し、選定された上位管理サーバ３１を介して、資源提供者端末における分散処理を制御するべく、分散処理開始通知を送信するとともに、分散処理結果についても上位管理サーバ３１を通じて受信し、分散処理利用者端末２へ送信することになる。
【００３８】
また、一般家庭に普及しているパソコン等を使用する場合には、使用できるパソコン等の数が動的に変動するという問題がある。そこで、分散処理制御／結果送受信部２４においては、インターネットを介して、自動的に現在使用できる資源量等の管理を行う。具体的には、登録されたパソコンへの処理の割り振りや、計算機資源の時間変動を記録して分析することによる資源量予測等に基づいて、ピーク使用量の記録と分析を行いながら提供可能な資源量の算出を行う等の機能も含まれる。かかる機能を有することで、要求された計算機資源が不足してしまうといった事態を未然に防止することが可能となる。
【００３９】
以上説明した処理の流れを図８及び図９に示す。図８は、本発明の実施の形態にかかるインターネットを用いた分散処理システム処理における階層構造構成処理の流れ図を、図９は、本発明の実施の形態にかかるインターネットを用いた分散処理システム処理における分散処理制御処理の流れ図を、それぞれ示している。
【００４０】
図８において、まず分散処理を行うことができる端末を資源提供者端末３として登録する（ステップＳ８０１）。そして、資源提供者端末３ごとに、その使用状況等に関する統計情報を常時収集する（ステップＳ８０２）。統計情報の収集は一定期間が経過するまで繰り返し実行する。
【００４１】
次に、一定期間が経過したら（ステップＳ８０３：Ｙｅｓ）、資源提供者端末３ごとに信頼度を算出し（ステップＳ８０４）、算出された信頼度に基づいて、資源提供者端末３の階層構造を再構成する（ステップＳ８０５）。こうすることで、信頼度の高い資源提供者端末を上位の階層サーバ３１とすることができ、システム全体としての信頼性が向上する。
【００４２】
また図９において、分散処理依頼の通知及び依頼内容に関する情報を受信すると（ステップＳ９０１）、当該分散処理に必要となる計算機資源の総量を算出する（ステップＳ９０２）。
【００４３】
次に、算出された計算機資源必要量を具備する管理サーバを選定して（ステップＳ９０３）、当該管理サーバに制御を渡すことで分散処理を実行する（ステップＳ９０４）。分散処理実行時においては、実行プログラム自体はどこに導入されていても良い。すなわち、分散処理提供者サーバ１でも良いし、管理サーバでも、あるいは資源提供者端末３各々にダウンロードするものであっても良い。
【００４４】
そして、分散処理が完了すると、その処理結果を受信して集約し（ステップＳ９０５）、分散処理利用者端末２へ結果を送信することになる（ステップＳ９０６）。なお、分散処理結果自体の正当性判断については、後述する。
【００４５】
次に、上位管理サーバ３１に要求される機能について説明する。上位管理サーバ３１では、資源提供者端末３各々で演算された演算結果を集約して分散処理提供者サーバ１へ送信するという機能の他、資源提供者端末３における演算処理結果が正当か否かの判断である正当性判断機能が必要となる。
【００４６】
すなわち、一般家庭に存在するコンピュータ等も資源提供者端末３として使用することから、不意の切断やデータの改竄等に柔軟に対応できることが必要となる。そこで、本実施の形態においては、分散処理の制御が上位管理サーバ３１に渡された時点で、自動的に複数台の資源提供者端末３に同じ処理を割り振り、演算処理された結果を比較することによって、改竄、破損、欠損等が生じているか否かを確認する。
【００４７】
そして、演算処理された結果に相違が生じている場合には、多数決によって正しい演算処理結果を判断し、分散処理提供者サーバ１へ送信するものとする。また、演算処理結果が誤っていると判断された資源提供者端末３に関する情報についても、分散処理提供者サーバ１へ通知するものとする。また、割り振った処理結果が、一定時間経過しても返信されてこない場合についても、タイムアウトとして処理することが可能となる。
【００４８】
かかる機能を有することにより、一般家庭に普及しているパソコン等の、いわゆる信頼性の低い計算機資源についても、高い信頼性を有するコンピュータと同様に分散処理端末として使用することが可能となる。
【００４９】
図１０は、上記機能を含めた、本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける上位管理サーバ３１の構成図である。図１０において、１０１は分散処理開始通知受信部であり、分散処理提供者サーバ１からの分散処理開始通知を受信するものである。１０２は実行処理配分制御部であり、実行すべきプログラムあるいは処理を資源提供者端末３に配分するものである。ここで、同一の処理については少なくとも３つ以上の資源提供者端末３に配分する。
【００５０】
そして、１０３は演算処理結果集約部であり、資源提供者端末３で演算処理された結果を集約するものである。さらに、１０４は演算処理結果正当性判断部であり、集約された演算処理結果に基づいて、分散タスクそれぞれについて多数決によって正当な演算処理結果を判定する。最後に、１０５は演算処理結果送信部であり、正当な演算処理結果と、正当でない演算処理を行ったと判定された資源提供者端末３に関する情報を、分散処理提供者サーバ１へ送信するものである。
【００５１】
図１１は、本発明の実施の形態にかかるインターネットを用いた分散処理システム処理における上位管理サーバ３１での処理の流れ図である。図１１において、まず分散処理提供者サーバ１からの分散処理開始通知を受信し（ステップＳ１１０１）、実行すべきプログラムあるいは処理を資源提供者端末３に配分する（ステップＳ１１０２）。ここで、同一の処理については少なくとも３つ以上の資源提供者端末３に配分する。
【００５２】
そして、資源提供者端末３で演算処理された結果を集約し（ステップＳ１１０３）、集約された演算処理結果に基づいて、端末ごとに、分散されたタスクそれぞれの処理結果の正当性を判断する（ステップＳ１１０４）。
【００５３】
各々の資源提供者端末３について、演算処理結果が同一である資源提供者端末３を走査し、当該演算処理結果と一致する演算処理結果を有する資源提供者端末数が最も多い結果を正当な結果であると判断する（ステップＳ１１０５：Ｙｅｓ）。
それ以外の結果に終わっている資源提供者端末については（ステップＳ１１０５：Ｎｏ）、端末ＩＤを一時記憶することになる（ステップＳ１１０６）。
【００５４】
かかる処理を全ての資源提供者端末について繰り返し行い（ステップＳ１１０７）、最後に正当な演算処理結果と、正当でない演算処理を行ったと判定された資源提供者端末３に関する情報を、分散処理提供者サーバ１へ送信することになる（ステップＳ１１０８）。
【００５５】
なお、本実施の形態においては、分散処理による計算結果の正当性判断を上位管理サーバ３１で行うものとして説明しているが、特にこれに限定されるものではなく、複数の資源提供者端末を管理するものであれば下位階層における管理サーバであっても良い。もちろん、分散処理提供者サーバ１自体が行うものであっても良い。この場合、図９におけるオプションに示すように（ステップＳ９１０）、上位管理サーバ３１から送信されてきた演算結果を比較することで、対応可能である。
【００５６】
また、本実施の形態においては、システム運用中における資源提供者の動的な増加も可能である。すなわち、一般家庭におけるパソコン等を計算機資源とすることから、電源オフ等によって本来期待している計算機資源量が実際には確保できない状況が発生することも考えられるからである。かかる状況に動的に対応するためには、動的に計算機資源量を調整する機能が必要となってくる。
【００５７】
そこで、図１２に示すように、マシンプールサーバ５を新たに設けて、当該マシンプールサーバ５に、使用可能状態にある資源提供者端末３をすべて登録しておくことにする。そして、ある上位管理サーバ３１の管理下にある資源提供者端末３のうち、使用可能なコンピュータの絶対数が不足している、あるいは故障や電源オフ等によって不足状態になってしまった場合には、マシンプールサーバ５からネットワーク的に最も近接したプールコンピュータを抽出して、当該上位管理サーバ３１の管理下に配分することになる。
【００５８】
マシンプールサーバ５への登録は、自動的に行われることが好ましい。すなわち、ネットワーク上において、故障したり、電源オフ等になるとプールコンピュータから削除され、修理完了等して電源オンになるとプールコンピュータに自動登録される。こうすることで、ネットワーク上で使用可能な資源提供者端末をリアルタイムで確認しながら、安定した計算機資源が提供できるよう調整することが可能となる。
【００５９】
なお、マシンプールサーバ５は１つでも良いし、複数であっても良い。また、分散処理の割り当て時において、前述した信頼度に応じてプールコンピュータを割り当てるものであっても良い。
【００６０】
また、一般家庭に普及しているパソコン等の計算機資源を使用する場合、本実施の形態にかかるインターネットを用いた分散処理システムにおける処理が、計算機資源所有者の本来の使用を妨げるおそれも残されている。
【００６１】
そこで、自動的に処理の優先度を変更することができる機能を付加することも考えられる。具体的には、分散処理中において、パソコン等の所有者が本来の処理を行うべく、キーボードやマウスを動かしたときに、それをトリガとして分散処理自体の処理の優先度を下げることが考えられる。かかる機能を有することによって、本実施の形態にかかるインターネットを用いた分散処理の実行によって、パソコン等の所有者本来の使用を妨げることを未然に防止することが可能となる。
【００６２】
さらに、計算機資源の提供者を増やすために、計算機資源の提供量に応じたインセンティブを与える必要がある。そのために、どれだけの資源が提供されたかを自動的に記録、集計する資源使用量のアカウント機能を付加することも考えられる。すなわち、本実施の形態にかかるインターネットを用いた分散処理システムの利用時に使用された計算機資源の資源使用量等が自動的にアカウントされるものである。これに応じて資源提供者へのインセンティブを上下させることができる。また、資源利用業者への使用料課金に用いることも可能である。
【００６３】
また、単なる金銭インセンティブだけでは、資源提供者が集まりにくい場合も想定できる。プロジェクト規模自体がそれほど大きくない場合等である。かかる場合には、資源提供者が提供する計算機資源量に応じて、サービス利用権（例えばサービス利用ポイント等）をインセンティブとして付与することも考えられる。すなわち、資源提供者が当該サービス利用権（サービス利用ポイント等）を使用した場合には、それを自動的にアカウントし、サービス利用料の割引等を行うものである。
【００６４】
なお、本発明の実施の形態にかかるインターネットを用いた分散処理システムを実現するプログラムは、図１３に示すように、ＣＤ−ＲＯＭ１３２−１やフレキシブルディスク１３２−２等の可搬型記録媒体１３２だけでなく、通信回線の先に備えられた他の記憶装置１３１や、コンピュータ１３３のハードディスクやＲＡＭ等の記録媒体１３４のいずれに記憶されるものであっても良く、プログラム実行時には、プログラムはローディングされ、主メモリ上で実行される。
【００６５】
また、本発明の実施の形態にかかるインターネットを用いた分散処理システムにおいて生成された資源提供者端末ごとの統計情報等についても、図１３に示すように、ＣＤ−ＲＯＭ１３２−１やフレキシブルディスク１３２−２等の可搬型記録媒体１３２だけでなく、通信回線の先に備えられた他の記憶装置１３１や、コンピュータ１３３のハードディスクやＲＡＭ等の記録媒体１３４のいずれに記憶されるものであっても良く、例えば本発明にかかるインターネットを用いた分散処理システムを利用する際にコンピュータ１３３により読み取られる。
【００６６】
（付記１）  分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、計算機資源を提供する資源提供者端末とが、インターネットを介して接続されている分散処理システムであって、
前記資源提供者端末が複数段を有する階層構造を形成し、上位階層に位置する前記資源提供者端末がより下位階層に位置する前記資源提供者端末を管理し、
前記分散処理提供者サーバが、
前記資源提供者端末を登録する資源提供者端末登録部と、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集する資源提供者端末統計情報収集部と、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出する資源提供者端末信頼度算出部と、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成する階層構造再構成部とを含み、
前記階層構造再構成部において、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とするインターネットを用いた分散処理システム。
（付記２）  前記上位階層に位置する資源提供者端末が、同一の演算処理を、より下位の階層に位置する複数の前記資源提供者端末に割り当て、同一の演算結果が最も多い演算結果を正しい演算結果であると判断し、正しくない演算結果となった前記資源提供者端末に関する情報とともに正しい演算結果を前記分散処理提供者サーバに送信する付記１記載のインターネットを用いた分散処理システム。
（付記３）  前記上位階層に位置する資源提供者端末において、割り当てた演算処理結果が一定時間経過しても返って来ない場合、タイムアウトとして正しくない演算結果と判断する付記２記載のインターネットを用いた分散処理システム。
【００６７】
（付記４）  前記分散処理提供者サーバにおいて、
前記資源提供者端末として登録可能な未登録資源提供者端末を登録しておくマシンプールサーバをさらに含む付記１記載のインターネットを用いた分散処理システム。
【００６８】
（付記５）  前記資源提供者端末において、資源提供者固有の演算処理が発生した場合には、前記資源提供者固有の演算処理を優先的に処理する付記１記載のインターネットを用いた分散処理システム。
【００６９】
（付記６）  分散処理サービスを利用する分散処理利用者端末と、複数段を有する階層構造を形成し、上位階層に位置する端末がより下位階層に位置する端末を管理する資源提供者端末と、インターネットを介して接続されている分散処理提供者サーバであって、
前記資源提供者端末を登録する資源提供者端末登録部と、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集する資源提供者端末統計情報収集部と、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出する資源提供者端末信頼度算出部と、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成する階層構造再構成部とを含み、
前記階層構造再構成部において、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とする分散処理提供者サーバ。
（付記７）  分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、インターネットを介して接続されており、複数段を有する階層構造を形成し、より下位階層に位置する端末を管理する上位階層に位置する資源提供者端末であって、
同一の演算処理を、より下位の階層に位置する複数の前記資源提供者端末に割り当て、同一の演算結果が最も多い演算結果を正しい演算結果であると判断し、正しくない演算結果となった前記資源提供者端末に関する情報とともに正しい演算結果を分散処理提供者サーバに送信することを特徴とする資源提供者端末。
【００７０】
（付記８）  分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、計算機資源を提供する資源提供者端末とが、インターネットを介して接続されている分散処理環境において、
前記資源提供者端末が複数段を有する階層構造を形成し、上位階層に位置する前記資源提供者端末がより下位階層に位置する前記資源提供者端末を管理し、
前記分散処理提供者サーバにおいて、
前記資源提供者端末を登録する工程と、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集する工程と、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出する工程と、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成する工程とを含み、
前記階層構造を再構成する工程において、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とするインターネットを用いた分散処理方法。
（付記９）  前記上位階層に位置する資源提供者端末が、同一の演算処理を、より下位の階層に位置する複数の前記資源提供者端末に割り当て、同一の演算結果が最も多い演算結果を正しい演算結果であると判断し、正しくない演算結果となった前記資源提供者端末に関する情報とともに正しい演算結果を前記サーバに送信する付記８記載のインターネットを用いた分散処理方法。
【００７１】
（付記１０）  分散処理サービスを利用する分散処理利用者端末と、複数段を有する階層構造を形成し、上位階層に位置する端末がより下位階層に位置する端末を管理する資源提供者端末と、インターネットを介して接続されている分散処理提供者サーバにおいて、
前記資源提供者端末を登録するステップと、
前記資源提供者端末の使用状況を常時監視し、統計情報として収集するステップと、
前記統計情報に基づいて、前記資源提供者端末の信頼性の度合を示す信頼度を算出するステップと、
前記信頼度に基づいて、前記資源提供者端末の前記階層構造を再構成するステップとを含み、
前記階層構造を再構成するステップにおいて、前記資源提供者端末の前記信頼度が高い前記資源提供者端末ほど、上位階層に位置するように配置することを特徴とするコンピュータに実行させるプログラム。
（付記１１）  分散処理サービスを提供する分散処理提供者サーバと、分散処理サービスを利用する分散処理利用者端末と、インターネットを介して接続されており、複数段を有する階層構造を形成し、より下位階層に位置する端末を管理する上位階層に位置する資源提供者端末であって、
同一の演算処理を、より下位の階層に位置する複数の前記資源提供者端末に割り当て、同一の演算結果が最も多い演算結果を正しい演算結果であると判断し、正しくない演算結果となった前記資源提供者端末に関する情報とともに正しい演算結果を分散処理提供者サーバに送信することを特徴とするコンピュータに実行させるプログラム。
【００７２】
【発明の効果】
以上のように本発明にかかるインターネットを用いた分散処理システムによれば、一般家庭に普及したパソコン等のような信頼性の低い計算機資源を用いた場合であっても、システム全体として一定以上の信頼度を確保しながら分散処理システムとして提供することが可能となる。
【図面の簡単な説明】
【図１】  従来のインターネットを用いた分散処理システムの構成図
【図２】  本発明の実施の形態にかかるインターネットを用いた分散処理システムの構成図
【図３】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける分散処理提供者サーバの構成図
【図４】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける資源提供者端末登録情報格納部のデータ構造例示図
【図５】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける資源提供者端末統計情報格納部のデータ構造例示図
【図６】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける資源提供者端末信頼度格納部のデータ構造例示図
【図７】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける階層構造情報格納部のデータ構造例示図
【図８】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける分散処理提供者サーバの処理流れ図
【図９】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける分散処理提供者サーバの処理流れ図
【図１０】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける上位階層サーバの構成図
【図１１】  本発明の実施の形態にかかるインターネットを用いた分散処理システムにおける上位階層サーバの処理流れ図
【図１２】  本発明の実施の形態にかかるインターネットを用いた分散処理システムの構成図
【図１３】  コンピュータ使用環境の例示図
【符号の説明】
１  分散処理提供者サーバ
２  分散処理利用者端末
３、３３  資源提供者端末
４  インターネット
５  マシンプールサーバ
１１  資源提供者端末登録部
１２  資源提供者端末登録情報格納部
１３  資源提供者端末統計情報収集部
１４  資源提供者端末統計情報格納部
１５  資源提供者端末信頼度算出部
１６  資源提供者端末信頼度格納部
１７  階層構造再構成部
１８  階層構造情報格納部
２１  分散処理依頼受信部
２２  必要計算機資源産出部
２３  資源提供者端末選定部
２４  分散処理実行制御／結果送受信部
３１  上位階層サーバ
３２  下位階層サーバ
１０１  分散処理開始通知受信部
１０２  実行処理配分制御部
１０３  演算処理結果集約部
１０４  演算処理結果正当性判断部
１０５  演算処理結果送信部
１３１  回線先の記憶装置
１３２  ＣＤ−ＲＯＭやフレキシブルディスク等の可搬型記録媒体
１３２−１  ＣＤ−ＲＯＭ
１３２−２  フレキシブルディスク
１３３  コンピュータ
１３４  コンピュータ上のＲＡＭ／ハードディスク等の記録媒体
【図１】
0003793048.tif 000002
【図２】
0003793048.tif 000003
【図３】
0003793048.tif 000004
【図４】
0003793048.tif 000005
【図５】
0003793048.tif 000006
【図６】
0003793048.tif 000007
【図７】
0003793048.tif 000008
【図８】
0003793048.tif 000009
【図９】
0003793048.tif 000010
【図１０】
0003793048.tif 000011
【図１１】
0003793048.tif 000012
【図１２】
0003793048.tif 000013
【図１３】
0003793048.tif 000014