TOP > 国内特許検索 > インターネットを介する並列処理計算委託システム > 明細書

明細書 :インターネットを介する並列処理計算委託システム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第3966375号 (P3966375)
公開番号 特開2003-006171 (P2003-006171A)
登録日 平成19年6月8日(2007.6.8)
発行日 平成19年8月29日(2007.8.29)
公開日 平成15年1月10日(2003.1.10)
発明の名称または考案の名称 インターネットを介する並列処理計算委託システム
国際特許分類 G06F   9/50        (2006.01)
G06Q  30/00        (2006.01)
G06Q  20/00        (2006.01)
G06Q  10/00        (2006.01)
G06Q  50/00        (2006.01)
FI G06F 9/46 465Z
G06F 17/60 338
G06F 17/60 410A
G06F 17/60 502
G06F 17/60 ZEC
請求項の数または発明の数 2
全頁数 20
出願番号 特願2001-188923 (P2001-188923)
出願日 平成13年6月21日(2001.6.21)
審査請求日 平成13年7月5日(2001.7.5)
特許権者または実用新案権者 【識別番号】501203344
【氏名又は名称】独立行政法人農業・食品産業技術総合研究機構
【識別番号】399128415
【氏名又は名称】平藤 雅之
発明者または考案者 【氏名】平 藤 雅 之
個別代理人の代理人 【識別番号】110000051、【氏名又は名称】特許業務法人共生国際特許事務所
審査官 【審査官】間野 裕一
参考文献・文献 特開平6-202856(JP,A)
特開平10-340184(JP,A)
特許第2963929(JP,B2)
特開平9-305552(JP,A)
Luis F. G. Sarmenta,Bayanihan: Web-Based Volunteer Computing Using Java,Lecture Notes in Computer Science, Proceedings of the 2nd International Conference on World-Wide Computing and its Applications (WWCA '98),Springer-Verlag,1998年 3月 4日,Vol. 1368,pages 444-461
Luis F. G. Sarmenta and Satoshi Hirano,Bayanihan: building and studying web-based volunteer computing systems using Java,Future Generation Computer Systems,Elsevier Science B.V.,1999年,Vol. 15,No. 5/6,pages 675-686
調査した分野 G06F 9/46-9/54
G06F 15/16-15/177
G06F 17/10-17/18
G06Q 10/00
G06Q 20/00
G06Q 30/00
G06Q 50/00
特許請求の範囲 【請求項1】
インターネットを介する情報提供サービス事業者の少なくともWebサーバを備えたホストコンピュータにおいて、モンテカルロ法による遺伝的アルゴリズムの最適解探索に関する並列処理計算課題を委託する企業、個人を含む顧客のカスタマコンピュータからインターネットを介し、前記計算課題を受託し、情報提供サービスを利用する複数のユーザのそれぞれのクライアントコンピュータからの各種サービス要求に応答してインターネットを介して対応する情報提供を送信するに際して、そのサービス処理中のバックグラウンド処理で前記計算課題をそれぞれのクライアントコンピュータ分散的に並列処理計算を行わせるメタ計算委託システムであって、
前記ホストコンピュータは、前記複数のカスタマコンピュータからの前記計算課題委託依頼に応答して、少なくとも演算プログラム・計算条件・計算資源の項目欄を含む計算課題申込画面をそれぞれのカスタマコンピュータへ送信し、カスタマコンピュータに入力された計算課題申込データを受信し、計算課題用データベースに蓄積する計算課題申込画面送信/入力課題受信蓄積手段と、
前記複数のクライアントコンピュータからのアクセス信号に応答して各種サービス要求を入力できるサービス入力画面をクライアントコンピュータへ送信し、各クライアントコンピュータに入力されたそれらの各種サービス要求データを受信して、要求サービス受付用データベースに保存するサービス入力画面送信/要求サービス保存手段と、
前記ホストコンピュータは、クライアントコンピュータから各種サービス要求を受信したとき、前記計算課題用データベースを読み出し、前記モンテカルロ法による遺伝的アルゴリズムの最適解探索の計算課題を解くためのメタ計算用アプレットを生成し、サービス要求のあったクライアントコンピュータへ送信して、クライアントコンピュータ上で起動させるメタ計算用アプレット生成送信/起動手段と、
前記ホストコンピュータは、送信したメタ計算用アプレットがクライアントコンピュータ上で起動したことを示す信号をクライアントコンピュータから受信し起動確認後クライアントコンピュータへ要求サービスに該当する情報サービスの送信を開始すると共に、その情報サービスのバックグラウンド処理でクライアントコンピュータで起動された前記メタ計算アプレットと交信し、実行すべき問題に関する初期値をランダムに生成する擬似乱数のための種になるシード値を含む計算課題情報データをホストコンピュータからクライアントコンピュータに送信し、前記モンテカルロ法による遺伝的アルゴリズムの最適解探索行わせる情報サービス送信/最適解探索手段と、
一方、クライアントコンピュータで起動されたメタ計算アプレットは、前記最適解探索に際して、クライアントコンピュータのユーザに最適個体の選択を適宜指示する作業をクライアントコンピュータ画面に表示し、ユーザが選択入力した最適解に関する情報をホストコンピュータに送信し、
ホストコンピュータは、クライアントコンピュータからそれらの最適解情報を受信し、その最適解情報をデータベースに記録し、もし情報サービス処理がまだ切断されていない状態にあれば、ホストコンピュータはクライアントコンピュータのメタ計算アプレットに対して次の初期値をランダムに生成する擬似乱数のための種になるシード値を含む計算課題情報データを送信し、新しいモンテカルロ法による遺伝的アルゴリズムの最適解探索の計算課題を繰返させる評価関数解受信/その繰返し計算受信手段とを備え、
前記情報サービス送信/最適解探索手段は、クライアントコンピュータの計算資源の大きさを計測するためのベンチマークテストプログラムを実行させるクライアント計算資源計測手段をさらに備え、ベンチマークテストによるクライアントコンピュータの計算資源のサイズの評価結果と計算課題の要求する性能が合致する計算課題情報データを前記計算課題用データベースを読み出し選択して送信することを特徴とするインターネットを介する並列処理計算委託システム。
【請求項2】
前記並列処理計算委託システムは、クライアント側の寄与量に応じたポイントをホスト側のデータベースに記録し、前記ポイントを蓄積したユーザのクライアントコンピュータ間またはユーザーと情報サービス事業者のホストコンピュータ、並列計算課題を委託するカスタマーコンピュータ間で暗号化されたユーザID番号により匿名性を保ってポイントとサービス・物品・金銭とを交換するポイント交換サービス手段を備えていることを特徴とする請求項1記載のインターネットを介する並列処理計算委託システム。
発明の詳細な説明 【0001】
【発明の属する技術分野】
本発明は、インターネットを介する情報提供サービス事業者のホストコンピュータにおいて、並列処理計算課題を委託する複数の企業・個人の顧客等のカスタマコンピュータからインターネットを介して受託し、情報提供サービスを利用する多数のユーザのそれぞれのクライアントコンピュータよりのサービス依頼に応答して、インターネットを介してそれぞれの情報提供を行うに際してそのサービス処理中のバックグラウンド処理で顧客から依頼された前記計算課題をそれら多数のクライアントコンピュータにより分散処理して大規模な並列処理計算を行うことができるメタ計算委託システムに関する。
【0002】
【従来の技術】
複数のコンピュータにより分散処理して大規模な並列処理計算を行うメタコンピューティング(世界中に分散して存在するPCなどのコンピュータ資源を活用した分散コンピューティング)では、計算に際していかに多くのクライアント(ユーザが使っているPC)に接続してもらうかが大きな問題となっている。これまでに、ボランティアの協力によって暗号解読や地球外知性体探索のためのデータ解析といったテーマにおいて数百万台以上のコンピュータが確保されたという事例はあるが、これは当該テーマに関心を有する者が多いためであり、通常業務の大規模計算においてこのように多数のボランティアを確保することは極めて難しかった。
【0003】
すでに、メタコンピューティングを用いて収益をあげようとするサービスは存在するが、計算資源提供者への対価を現金による直接的な支払いとしている。しかし、現金による支払いには送金等の手間がかかるため、少額の決済では計算資源提供者への支払い金額が少なくなり、計算資源を提供しようとする者を十分確保することが難しかった。十分な計算資源が確保できないと、計算資源を利用して巨大計算を行いたい者(カスタマ)が集まらないという悪循環を招くことになった。
【0004】
一つのホストに対して多数のクライアントが接続し情報サービスを受ける従来の情報システムに加えて、近年、個人対個人で相互に情報を交換するピア・ツー・ピア型情報システムが普及している。ピア・ツー・ピア型情報システムでは特定のホストを必要としないため、個人の多様なニーズに合致した情報交換等種々の情報サービスが自然発生的に起こり、全体としては多数の計算資源を確保できる可能性があった。しかし、特定のホストが存在しないため個人間での対価の支払いは容易でなかった。そのため、現状では音楽ファイル等の交換や共有に利用が限定されていた。さらにこの方式によるファイル交換では自分の欲しいファイルが相手側にないと一方的なファイルの提供となってしまうため、ファイル作成者である著作権所有者や大量のファイルを蓄積し提供する者にとって不満が発生した。そのため、ファイルのダウンロード完了直前にファイル提供者が突然接続を中止することも多く、ネットワークのトラフィックを無為に増大させていた。
【0005】
このような情報サービス提供者の不満を解消する一般的な方法として、バナー広告をクライアントに提示し、その広告収入によって情報サービス提供者が対価を得るという技術が広く利用されている。しかし、情報サービス提供者が十分な広告収入を得ることができるのは、そのバナー広告を見たクライアントの一定数がスポンサーの商品を実際に購入し、スポンサーが十分な収益を上げることが出来る場合に限られるため、根本的な解決方法にはなっていなかった。
【0006】
【発明が解決しようとする課題】
近年、インターネットに接続されているコンピュータは指数関数的に増大しているが、そのほとんどはアイドリング状態にある。そこで、この未利用資源を活用してメタコンピューティングを効率的に行う方式を考えた。この方式は、生態系モデル構築や、大規模計算を必要とする様々なアプリケーションに適用できる。また、現在の検索サイトやビデオ配信サイトのような情報サービス提供型サイトにおいては、「ユーザに情報サービスを提供する見返りにユーザにバナー広告を配信する」というビジネスモデルが主流であるが、本システムは「ユーザに情報サービスを提供する見返りにユーザからアイドリング中のコンピュータの計算資源を得る」という新しいビジネスモデルを実現し、大規模計算を行うシステム及びその利用サービスをほぼ半永久的に維持することを技術的に可能とするものである。
そのために以下に述べる解決すべき課題がある。
【0007】
すなわち、ボランティアによる協力を期待することなく多数のコンピュータを確保するため、ホストが提供する情報サービスの対価としてクライアントから計算資源を徴集する方法及びできるだけ多くのクライアントが接続するためのインセンティブを与える仕組みが必要である。
【0008】
クライアントから提供された計算資源は、演算速度、接続時間の点で非常にばらつきがあるため、この不揃いな計算資源を効果的に利用する技術が必要である。
【0009】
特に、クライアントが情報サービスを受けている時間は不定であり、ホストとの接続をいつ切断するか全く予想できない。この不定な接続時間を有効に利用するためには、クライアントで実行するプログラムの演算時間が短くてもその計算結果を活用できるようにする必要がある。また、クライアントからの接続がいつ切断されるか予想できないという制約のなかで、クライアントでなされた計算が無駄にならないようにする必要がある。
【0010】
クライアントが画像などの巨大なファイルをダウンロードしているとき、ユーザはダウンロード終了まで時間をもてあましていることがある。このユーザの空き時間を利用して情報処理等の労働を行ってもらうことはCPUの空き時間を利用した計算と同様の計算資源とみなすことができる。
【0011】
例えば、ユーザが画面に表示された情報を見て行うパターン認識などは、ホスト側から見ればクライアントが提供可能な計算資源である。また、最適解の探索計算においては、人間のチェックが適宜入ることで探索効率が著しく高まる場合がある。
【0012】
しかし、こういった作業に参加するユーザを多く確保するためには、ユーザの参加を促すためのインセンティブを与える仕組みが必要である。
【0013】
ホストに接続するクライアントのプライバシーとクライアント間でポイントを交換する際の匿名性を保ちつつ、ホスト-クライアント、クライアント-クライアント間での不正を出来る限り防止する必要がある。また、メタコンピューティングでは長時間、インターネットに接続するためクラッキングのリスクが高まるため、その防止策も必要である。
【0014】
クライアントが得たポイントを蓄積し、そのポイントをホストから得るサービスだけと交換しきれない場合、ポイントを有効に利用できないとその大口クライアントの接続インセンティブを損なうこととなってしまう。過剰なポイントをホストに買い取ってもらったり、ユーザ間でポイントとデータや物品と交換できるようにする必要がある。
【0015】
【課題を解決するための手段】
前記課題を解決するため、本発明のインターネットを介する並列処理計算委託システムは、インターネットを介する情報提供サービス事業者の少なくともWebサーバを備えたホストコンピュータにおいて、モンテカルロ法による遺伝的アルゴリズムの最適解探索に関する並列処理計算課題を委託する企業、個人を含む顧客のカスタマコンピュータからインターネットを介し、前記計算課題を受託し、情報提供サービスを利用する複数のユーザのそれぞれのクライアントコンピュータからの各種サービス要求に応答してインターネットを介して対応する情報提供を送信するに際して、そのサービス処理中のバックグラウンド処理で前記計算課題をそれぞれのクライアントコンピュータ分散的に並列処理計算を行わせるメタ計算委託システムであって、
前記ホストコンピュータは、前記複数のカスタマコンピュータからの前記計算課題委託依頼に応答して、少なくとも演算プログラム・計算条件・計算資源の項目欄を含む計算課題申込画面をそれぞれのカスタマコンピュータへ送信し、カスタマコンピュータに入力された計算課題申込データを受信し、計算課題用データベースに蓄積する計算課題申込画面送信/入力課題受信蓄積手段と、
前記複数のクライアントコンピュータからのアクセス信号に応答して各種サービス要求を入力できるサービス入力画面をクライアントコンピュータへ送信し、各クライアントコンピュータに入力されたそれらの各種サービス要求データを受信して、要求サービス受付用データベースに保存するサービス入力画面送信/要求サービス保存手段と、
前記ホストコンピュータは、クライアントコンピュータから各種サービス要求を受信したとき、前記計算課題用データベースを読み出し、前記モンテカルロ法による遺伝的アルゴリズムの最適解探索の計算課題を解くためのメタ計算用アプレットを生成し、サービス要求のあったクライアントコンピュータへ送信して、クライアントコンピュータ上で起動させるメタ計算用アプレット生成送信/起動手段と、
前記ホストコンピュータは、送信したメタ計算用アプレットがクライアントコンピュータ上で起動したことを示す信号をクライアントコンピュータから受信し起動確認後クライアントコンピュータへ要求サービスに該当する情報サービスの送信を開始すると共に、その情報サービスのバックグラウンド処理でクライアントコンピュータで起動された前記メタ計算アプレットと交信し、実行すべき問題に関する初期値をランダムに生成する擬似乱数のための種になるシード値を含む計算課題情報データをホストコンピュータからクライアントコンピュータに送信し、前記モンテカルロ法による遺伝的アルゴリズムの最適解探索行わせる情報サービス送信/最適解探索手段と、
一方、クライアントコンピュータで起動されたメタ計算アプレットは、前記最適解探索に際して、クライアントコンピュータのユーザに最適個体の選択を適宜指示する作業をクライアントコンピュータ画面に表示し、ユーザが選択入力した最適解に関する情報をホストコンピュータに送信し、
ホストコンピュータは、クライアントコンピュータからそれらの最適解情報を受信し、その最適解情報をデータベースに記録し、もし情報サービス処理がまだ切断されていない状態にあれば、ホストコンピュータはクライアントコンピュータのメタ計算アプレットに対して次の初期値をランダムに生成する擬似乱数のための種になるシード値を含む計算課題情報データを送信し、新しいモンテカルロ法による遺伝的アルゴリズムの最適解探索の計算課題を繰返させる評価関数解受信/その繰返し計算受信手段とを備え、
さらに、前記情報サービス送信/最適解探索手段は、クライアントコンピュータの計算資源の大きさを計測するためのベンチマークテストプログラムを実行させるクライアント計算資源計測手段をさらに備え、ベンチマークテストによるクライアントコンピュータの計算資源のサイズの評価結果と計算課題の要求する性能が合致する計算課題情報データを前記計算課題用データベースを読み出し選択して送信することを特徴とする。
【0020】
また、前記並列処理計算委託システムは、クライアント側の寄与量に応じたポイントをホスト側のデータベースに記録し、前記ポイントを蓄積したユーザのクライアントコンピュータ間またはユーザーと情報サービス事業者のホストコンピュータ、並列計算課題を委託するカスタマーコンピュータ間で暗号化されたユーザID番号により匿名性を保ってポイントとサービス・物品・金銭とを交換するポイント交換サービス手段を備えていることを特徴とする。
【0022】
【発明の実施の形態】
本発明の実施の形態を図に基づき以下に説明する。
【0023】
図1の本発明のインターネットを介する並列処理計算委託システム1の構成を示す図である。
【0024】
図に示すように、この計算委託システム1は並列処理計算課題を委託する企業・個人を含む顧客のカスタマコンピュータ30と、情報提供サービスを利用するユーザのクライアントコンピュータ40と、それぞれのコンピュータ30、40とインターネット20を介して接続する情報提供サービス事業者のホストコンピュータ10とから構成される。なおここで、30a、40aはWebブラウザ、40bは後述するメタ計算用アプレットプログラムを示す。
【0025】
前記クライアントコンピュータ40は、オフィスや家庭において一般に使用されるパーソナルコンピュータ・TVゲーム装置・携帯電話機・家庭電化製品・自家用車等に内蔵されたCPU及びその関連装置、24時間連続稼働しているWebサーバ・FTPサーバ・ファイルサーバ・プリンタサーバを含む計算機、自動販売機・ファクシミリ・気象観測装置・データロガー等の計算機能が本来の目的ではないが24時間稼働している機器に内蔵されたCPU及びその関連装置との何れでも利用可能である。
【0026】
また、そのホストコンピュータ10は以下のように構成される。すなわち、11はファイアウォールを含むWebサーバ、12は情報提供サービス業務及び並列処理計算受託業務等の処理手段を備えるアプリケーションサーバ、13はデータベース14を管理するデータベースサーバ、15は顧客及びユーザの利用履歴データベース14zにより少なくとも課金処理を行う業務処理端末である。
【0027】
以上のように構成された並列処理計算委託システム1の概要を以下に示す。すなわち、インターネット20を介する情報提供サービス事業者の少なくともWebサーバを備えたホストコンピュータ10において、並列処理計算課題を委託する企業・個人を含む顧客のカスタマコンピュータ30からインターネット20を介し、前記計算課題を受託して、情報提供サービスを利用する複数のユーザのそれぞれのクライアントコンピュータ40よりの各種サービス要求に応答してインターネット20を介してそれぞれへ対応する情報提供を送信するに際してそのサービス処理中のバックグラウンド処理で前記計算課題をそれらの複数のクライアントコンピュータ40により分散処理して並列処理計算を行わせるメタ計算委託システムであって、より詳しくはクライアントコンピュータ40が情報サービスを受け交信している時間が不定であることに対応して、その計算課題を解くに際し、演算時間を比較的短いプログラムをランダムに生成した初期値を元にして、個々の計算を独立して実行させ全体として膨大な回数の実行を行うモンテカルロ型最適解探索の計算処理が行えるように、前記複数のプログラムを、接続されている複数のクライアントコンピュータ40に逐次送信し、ランダムに生成した初期値を元に独立に、また同時並行的に実行させ、そのクライアント側に誤差を出力する関数を含む評価関数の値が良い解をホストコンピュータ10へ返送し、クライアント側の寄与量に応じたポイントをホスト側のデータベース14に記録するシステムである。
【0028】
ここで、ホストコンピュータ10のアプリケーションサーバ12は以下に示す手段12a、12b、12c、12d、12e、12fを備える。このホストコンピュータ10にアクセスするカスタマコンピュータ30、クライアントコンピュータ40の顧客、ユーザはパスワードなどにより顧客・ユーザ会員データベース14xと照合し認証し、またその処理データ結果はデータベース14yに保存し、さらに顧客・ユーザ利用履歴データベース14zによりそれぞれ課金徴集、ポイント付与を行う。
【0029】
手段12aは、複数のカスタマコンピュータ30からの前記計算課題委託依頼に応答し、少なくとも演算プログラム・計算条件・計算資源等の項目欄を備えた計算課題申込画面をそれぞれのカスタマコンピュータへ送信し、各顧客へ入力させたそれらのデータを受信し、計算課題用データベース14aに蓄積する計算課題申込画面送信/入力課題受信蓄積手段12aである。
【0030】
また手段12bは、複数のクライアントコンピュータ40からのアクセス信号に応答して各種サービス要求を入力できるサービス入力画面をクライアントコンピュータ40へ送信し、各ユーザへ入力させたそれらのデータを受信して、要求サービス受付用データベース14bに保存するサービス入力画面送信/要求サービス保存手段12bである。
【0031】
また手段12cは、前記サービス入力画面で入力したデータを受信したときは、それらクライアントコンピュータ40でそれぞれ前記計算課題を解くためのメタ計算用アプレットとして生成して、そのクライアントコンピュータ40へ送信し、そのコンピュータ40上で起動させるメタ計算用アプレット生成送信/起動手段12cである。
【0032】
手段12dは、ホストコンピュータ10から送信されたメタ計算用アプレット40bがクライアントコンピュータ40上で起動したことを示す信号をホストコンピュータ10が受信すれば、そのクライアントへ要求サービスに該当する情報サービスの送信を開始すると共に、バックグラウンド処理で前記アプレット40bは前記初期値をランダムに生成する擬似乱数のための種になるシード値と実行すべき問題に関する情報データをホストコンピュータ10と交信し取得し、前記初期値を定めてモンテカルロ型最適解探索を行わせる情報サービス送信/最適解探索手段12dである。
【0033】
また手段12eは、最適解探索に際して、より良い評価関数の解を発見したときは、その解に関する情報をクライアントコンピュータ40から受信し、ホストコンピュータのデータベース14yに記録し、その最適解探索とクライアントへの情報サービス処理はクライアントコンピュータ40の切断によりそれらの通信は終了するが、もし前記解を受信した後で未だ接続が終了されていなければ、ホストコンピュータ10はクライアントコンピュータ40へ対して次のシード値を送信し、新しい初期値を定めさせ、次のモンテカルロ型最適解探索を繰返させる評価関数解受信/その繰返し計算受信手段12eである。
【0034】
以上示した手段12c、12d、12eの並列処理計算委託システム1の処理のフローチャートを、まとめて図2に示してある。
【0035】
次に、ホストコンピュータ10のアプリケーションサーバ12に備える情報サービス送信/最適解探索手段12dはさらに以上に示すクライアント計算資源計測手段12fを備える。
【0036】
すなわち、ホストコンピュータ10から送信されたメタ計算アプレット40aがクライアントコンピュータ40で起動を開始したとき、ホストコンピュータ10から実行すべき問題に関する情報データとシード値を取得する前に、そのアプレット40aに対してクライアントコンピュータ40の計算資源の大きさを計測するためのベンチマークテストプログラムを実行させる手段12fを備える。
【0037】
この手段12fによりカスタマの計算要求のサイズとクライアントが提供する計算資源のサイズをマッチングさせるため、予め指定した回数だけ前記モンテカルロ型最適解探索の繰返し計算が可能かどうかを前記ベンチマークテストによる結果と比較して評価し、その計算システム全体の処理効率を高めることができる。
【0038】
以上に示した手段12fのクライアントコンピュータ40における処理のフローチャートを図3に示してある。
【0039】
次に、より具体的に本発明のインターネットを介する並列処理計算委託システム1を詳述する。
【0040】
なお以後、ホストコンピュータはホスト、クライアントコンピュータはクライアント、カスタマコンピュータはカスタマとそれぞれ略称して説明する。
【0041】
1.クライアント側の計算資源量を情報サービス等の対価として支払う方法具体的実施例。
(特定のホストが存在する場合)
情報検索や画像配信等の情報サービスを受けている最中のクライアントは、ほとんどアインドリング状態にあるが、ハードディスクやメモリにも大きな空きがあることが多い。そこでホスト側は情報サービスの開始直前にアプレットをクライアントに送信し、情報サービスを提供している間、クライアント上でそのアプレットを稼働させ、演算、情報保存、クライアント側のユーザの認識・判断の入力(以下、これらをまとめて計算資源と呼ぶ)を受け付ける。ホスト側では、得られた計算または認識・判断結果をホストに適宜送信することで、クライアントの計算資源を利用する。
【0042】
その際、クライアントの計算機のハードウェア構成(CPUやメモリ量)の違いやユーザの対応の違いによってホストへ提供される計算資源量は大きく異なる。すなわち、ホスト側から見た各クライアントの寄与量は非常に大きく異なる。そこで、クライアントの寄与量に応じた得点(ポイント)をホスト側に記録し、ポイントに応じて情報サービス、本方式で蓄積された計算資源、物品、現金等と交換できるようにする。
【0043】
クライアントが情報サービスを受けている時間が不定であるため、計算すべき問題はモンテカルロ型最適解探索に限定して、個別の計算結果が全体の計算に少しずつ寄与させる。モンテカルロ型最適解探索の計算では、演算時間の比較的短いプログラムをランダムに生成した初期値を元にして膨大な回数実行する必要があるが、個々の計算は独立に実行できる。そこで、そのプログラムを多数のクライアントに同時並行的に送信しランダムに生成した初期値を元に独立に実行させる。クライアント側で良い結果が得られた場合のみ計算結果を返送する。
【0044】
ここで、ホストが提供するサービスの具体例としては、Webサイトや文献情報、タウン情報等の検索サービス、静止画像や動画、音楽、フリーソフトウェア等のダウンロード・サービス、チェスやオセロ等の対戦型ゲームなどが考えられる。静止画像や動画、音楽、フリーソフトウェア等のダウンロード・サービスにおいては、ファイルのみを自動的にダウンロードする巡回ソフトを使用されると、クライアントでアプレットが実行されずにファイルがクライアントに提供される。また、ホストからクライアント側へ送られるアプレットがJava(R)で書かれており、クライアントがJava(R)を実行しないようにブラウザ等を設定している場合にも、ホストから送ったアプレットは実行されない。このようなケースではホストから情報サービスを提供してもクライアント側でなされた計算量を受け取ることができない。そこで、ホストから送ったアプレットとホストの間で暗号化された通信を行い、アプレットの実行を確認した上で、ホストの情報サービスを提供するようにする。
【0045】
2.クライアントから収集した計算資源をカスタマにリセールする具体的実施例(ポイントをどのように利用するか)
ホストが存在する場合もしない場合でも、クライアントおよびホストはサービスや計算資源の提供に応じてポイントを蓄積して行くことになる。このポイントを集めることによって、以下のようなメリットを組み合わせて与える。
【0046】
(1)自分のジョブを他のクライアントに実行させる。このとき、実行してもらったジョブ量に応じてポイントを支払う。
(2)ホストまたは他のクライアントから情報サービスを受ける。このとき、得た情報サービスに応じたポイントを支払う。
(3)ポイントを有価物と交換する。十分な量のポイントを持っていない大量のジョブを実行したい第三者(すなわちカスタマ)はホストまたは十分なポイントを有するクライアントからポイントを有価物と交換して必要なポイントを得る。
【0047】
3.匿名性を維持しながら認証及びポイント移動を行う具体的実施例
ポイント交換時においては以下の方法で匿名を保ったまま認証を行う。
(1)取引に関わるすべての者はそれぞれがn種の互いに相異なる暗号化によって不規則な数字に変換された以下に示すID番号を持つ(下図)。ホストは取引に関わるすべての者の氏名、住所等の個人情報を有するが、裁判所等による正当な法的手続きに基づいた要求がない限りこの情報は開示しない。これにより、取引を行う者が正当な取引を行う限り、取引者間での匿名性は完全に保証される。
JP0003966375B2_000002t.gif【0048】
(2)取引者Bから取引者Aへ物品またはデータを送る見返りとして、ポイントXを取引者Aから取引者Bへ送るとする。取引の合意が両者間で成立した時、AとBはお互いに自分のID番号(n種保有する)から一つ選んでそれぞれ相手およびホストに送信する(例えば、下記の下線)。一度の取引においてID番号は一度しか使用しない。ID番号を使い捨てにすることで、例え同じ相手と何度取り引きしてもお互いに同一人物であることは認識されない。
JP0003966375B2_000003t.gif【0049】
(3)ホストはAがポイントXを保有することを確認したら、その旨を両者に知らせると同時にAのポイントXを減じ、ホストが一時的に預かる。
(4)Bは直ちに物品またはデータをホストに送信する。
(5)ホストはBからの物品またはデータの受け取りを確認したら、その旨をA、Bに知らせると同時にBのポイント数をX増やす。
(6)Bがこの取引を契約通り履行しなかったことが判明した場合、AはBのID番号をホスト及び警察または裁判所へ通報し法的手段に訴えることができる。
【0050】
この方法では、A、Bが不正行為を行わない限り双方の匿名性は保証される。各人が有するID番号の数nはいくらでも大きくでき、たとえば2100人がそれぞれ2100種のID番号を有すると、全部で2200種のID番号が必要となるが、これは200ビットのデータで表現できる(註1)。
【0051】
この方法は物品またはデータをホスト経由で送付しているが、ホストを経由する必要がない場合には以下の簡略化した方法で取引を行う。
【0052】
(1)取引に関わる者はそれぞれn種のID番号を持っている。各人はn種のうち、いくつのID番号をカードに記録して持ち歩いても良い。この場合、取引を行うたびにカードを取引相手に渡すことで、相手のID番号を記録する手間を省くとともに、同じID番号を間違って使うことが避けられる。
【0053】
(2)取引者Aが取引者Bから物品またはデータをその場で受け取れる場合、または受け取ることが確実な場合には、その対価としてその場でポイントXを取引者Aから取引者Bへ送りたいとする。取引の合意が両者間で成立した時、AとBはお互いに自分のID番号を一つ選んでそれぞれのID番号及び移動したいポイント数をホストに送信する。
【0054】
(3)ホストはAがポイントXを保有することを確認したらAからBへポイントXを移動し、その旨を両者に知らせる。
(4)ホストからポイントの移動を確認したらAはBから直ちに物品またはデータを受け取る。
(5)後日、この取引に不正があることが判明した場合には、被害者は相手のID番号をホスト及び警察または裁判所へ通報し法的手段に訴えることができる。
【0055】
(註1)2m人にそれぞれ2n種のID番号を発生させる具体的実施方法
各人のID番号は以下のようなm+n+kビットの数字で表される。
JP0003966375B2_000004t.gif【0056】
▲1▼のビット列はこの世界に一つしか存在しない各人の真のID番号であり、本人とホストだけが知っている番号である。▲2▼は各人に2n種のID番号を与えるためのビット列である。▲3▼はホストが暗号強度の強化及びポイントに関する情報を埋め込むためのビット列である。
【0057】
ホストはm+n+kビットを並び替え、ビット反転、ローテート等の操作を行い暗号化する。ホストは、ユーザの要求に応じてこの操作を行ったID番号を発行する。ユーザはこの暗号化の方法及び▲3▼の部分の発生ルールを知らないため、他人のIDを勝手に作成することはほとんど不可能である。
【0058】
(ベンチマークテストによるポイントの合理的評価)
クライアントの計算資源のサイズとメタコンピューティングによって計算したい問題を有するカスタマ(顧客)が必要とする計算資源のサイズは必ずしも一致しない。そこで、情報サービスを実施しているホスト側には複数のカスタマの問題を蓄積しておき、計算量に応じた費用をカスタマから徴収する。ホストは最も効率よくカスタマの問題を処理するため、クライアントの計算資源をベンチマークテストで計測し、それぞれのクライアントの計算資源にあった問題を実行させる。これにより、カスタマの計算要求のサイズとクライアントが提供する計算資源のサイズにマッチングさせ、全体の処理の効率させる。
【0059】
このとき、高速な計算機を有するクライアントと低速な計算機を有するクライアントでは、同じ時間で実行する計算量には大きな差が生じる。そこで、クライアントで実行した計算量に応じたポイント(点数)をクライアントに提供し、ホストはクライアントごとにそれぞれポイントを加算し記録する。クライアントは獲得したポイントに応じて、カスタマとしてホストが提供する計算資源を利用する権利を与えられる。
【0060】
このポイント方式によって、計算資源、情報サービス、キャッシュ(現実社会で使用されている貨幣)が相互に交換可能になるため、インターネットにおける取引での流通を円滑に行うことが可能になる。
【0061】
4.ユーザの認識・判断等の仕事をメタコンピューティングにおいて利用する具体的実施例
ホストから得たいサービスが巨大ファイルのダウンロードのような無人で達成されるものである場合、ユーザはそのサービスを受けている期間中、退屈である。このユーザに誰でも出来る比較的簡単なパターン認識等の問題やそのユーザが得意とする専門領域の問題を提示し、その仕事量に応じたポイントをクライアントコンピュータが提供した計算資源量に上乗せしてホストは提供する。
ユーザが実施可能なこの仕事には、以下のような具体的実施方法がある。
【0062】
(1)遺伝的アルゴリズム等のモンテカルロ型計算に利用する方法
遺伝的アルゴリズムによる計算の場合、最も良い個体を評価する評価関数に大きな評価ミスがごくまれにあるだけでも、最適解とはかけ離れた悪い解が最適解として生き残る場合がある。この問題を回避するためには、人間が最適個体の選抜を適宜指示するだけでも良い解の探索を効果的に行うことができる。しかし、この作業は非常に単調である一方、精神集中を必要とする作業である。
【0063】
そこで、クライアント側で実行中のアプレットが行っている計算に人間の寄与があり、それによって計算が促進された場合には、その促進された計算量をポイントとしてクライアントに提供する。このポイントにより人間の寄与を確保するとともに、人間が有する細切れの時間を価値のある労働として活用する。
【0064】
(具体的実現方法の例)
例えば、遺伝的アルゴリズムで人間の顔のパターン認識を行う人工ニューラルネットワーク(以下、NN)を生成するものとする。そして、パターン認識を正しく行うNN内部のシナプス荷重等のパラメータを遺伝的アルゴリズムで最適化するものとする。遺伝的アルゴリズムの1ステップではパラメータの変異(ランダマイズ)等の処理によってm種の子供のNNが新たに生成されるとし、それぞれの認識結果がテストされ最も評価値の最も高いものが自動的に選択される。そして、これを少しだけ変異させて更に子供を生成させる。この繰り返しによって最適なNNを得ることが遺伝的アルゴリズムによる最適化である。しかし、人間の顔をどのNNが一番正しく認識したかを評価するためのプログラムが必要であるが、このソフトは別途用意しなければならないが、これはここで生成したい「人間の顔のパターン認識を行う人工ニューラルネットワーク」よりも難しい可能性がある。
【0065】
そこで、その評価を行うプログラムの代わりにユーザが判定を行うことで、上記の作業を行う。
例えば、m種のNNがそれぞれ顔の認識をした結果を画面に表示したとしよう。不完全ながらNNの認識結果を判定するプログラム(以下、判定プログラムと略記)と人間の判定を行う場合を比較してみる。もし判定プログラムとユーザは食い違った判定結果を提示したときには、信頼性が高いのは人間の判定結果であるとする。すなわち、下記のように、ユーザが2番目のNNが最も良く顔の認識をしていると判定したのに対し、判定プログラムは3番目のNNが最も良いという判断をした場合には、判定プログラムの評価が誤っている。
JP0003966375B2_000005t.gif【0066】
判定プログラムがf(3)を最適と判断し続けると、人間の判断からは2番目のNNの方が優れているにも関わらず、3番目のNNの子孫が増殖し続けるため、ソフト開発者にとって好ましくない方向に最適化が進んでしまう。ユーザが判定プログラムの誤判定を見つけたら、その誤りを指摘し正しい判定結果を入力するという作業を適宜行えば、進化が正しい方向に修正される。このように、人間のパターン認識能力なみに精度の高い判定プログラムを必要とする場合でも、ユーザが直接、判定等の評価作業を行うことで「顔認識ソフトウェア」のように従来のプログラミングでは開発が難しいソフトウェア開発を効率的に行うことができる。
【0067】
ユーザによる判定作業は、この例のように遺伝的アルゴリズムのようなモンテカルロ型計算に組み込みやすく、本発明によるメタコンピューティングによる大規模最適化計算を高速化するのに利用しやすい。
【0068】
上記以外に、ユーザの認識作業が寄与できる問題には以下のようなものがある。
・セールスマン巡回問題のように最短距離を求める問題
ユーザは、もっとも最短距離に近そうな解の候補を提示する。
・タンパク質の3次構造における最小エネルギー状態を求める問題
ユーザは一番安定しているよう見える構造を選んで提示
・株価を最も正確に予測するソフトを構築する問題
ユーザは予測結果と実際の株価トレンドから最も良い予測したソフトを選んで提示
・クルマ等多数の選択肢を有する商品デザインの最適化問題
色、模様、各部のサイズ等が異なる商品からユーザは自分の感性に最も合致した商品デザインを選択して提示
【0069】
(2)パターン認識を直接行う方法
文字認識等のパターン認識装置によるパターン認識では必ず誤認識がある。パターン認識装置が認識できなかったパターンの正解情報はそのパターン認識装置の改良に非常に重要な情報である。誤判定された情報の正解を入力する作業は人間にとっては誰でも出来る比較的単純な問題であることが多いため、この正解判定問題をユーザに提示し、ユーザは作業量に応じたポイントを受け取る。
【0070】
ただし、ユーザが誤判定する可能性もある。この誤判定の確率を減らしたい場合には、複数のユーザに同じ作業を依頼する。
すなわち、ホストは全く同じ問題を複数のユーザに提示し、多数決によって真の正解を求める。正解を提示していたユーザにはボーナスポイントを割り増し提供する。あるいは誤答を提示したユーザからペナルティとして提供するポイント数を減らす。これらにより、ユーザの作業に対するインセンティブを向上させることが出来る。
【0071】
他にも、このようなパターン認識作業は数多くあり、例えば以下のようなものがある。
・一人暮らしの高齢者や病人が発する家電製品の電源のオン・オフ、心拍数、呼吸数、移動や動作に伴う加速度等の情報から、異常の有無の判定
・駐車場に駐車している車のナンバーの認識
・ショーウインドー、工場、温室、畜舎等の特定場所に設置されたの温湿度計等計器の読みとり
【0072】
(3)専門的知識を活用する方法
動植物・微生物の種判定のような生物種同定問題では専門的知識が必要であるが、専門的知識と経験のある者にとっては比較的単純な作業である。こういった作業ができるユーザは、この作業を行った量に応じてポイントを受け取る。
【0073】
(4)アンケートに答える方法
商品のデザインや機能等に対する印象や問題点・利点・改善点の指摘などに答えるアンケートへの解答作業は不特定多数のユーザが参加可能な比較的簡単な作業である。ユーザはアンケートに答えた量に応じてポイントを受け取る。
【0074】
(5)オリジナルコンテンツを入力する方法
料理のレシピ、美味しい飲食店の場所や特売情報といった特定のニーズのあるコンテンツに関する情報をユーザが入力すると、その情報量に応じたポイントを受け取る。
この時、情報を提供したユーザが受け取るポイントをどれだけにするかを合理的に決定する必要がある。その実施方法として、以下のような方法がある。
そのコンテンツを見たいユーザがホストに実際にアクセスしてこのコンテンツを見ている最中に、本発明によるメタコンピューティングの仕組みによって、計算資源をホストに提供したとする。そのとき、ユーザはコンテンツ閲覧の見返りとして計算資源を提供することになる。この計算資源の一部をポイントで換算し、そのポイントをコンテンツ情報提供ユーザは受け取る。
【0075】
(6)細切れの時間を利用して指先だけでできる作業
i-モードやモバイル端末を使って接続するユーザは、電車の待ち時間等に細切れの時間を利用して、上記の作業を行うことができる。しかしながら、歩行中等ディスプレーを見ることが難しい状況でも実行できる単純な仕事として、
・事故や傷害等の事件の発生通報
・出店計画やマーケティングで必要となる、特定の場所・特定の時刻・特定の季節に見かける人間の数や身につけているもの等に関する情報の入力
【0076】
(本発明の実施に必要な多数のクライアントを確保する方法)
本発明では多数のクライアントが接続されている必要がある。また、Java(R)言語と通常のブラウザで実現する場合、クライアントが実行するブラウザはJava(R)アプレット(以下、アプレット)が稼働できるように設定されている必要がある。多くのブラウザのセキュリティ設定でJava(R)アプレットやJava(R)スクリプトの実行を禁じることが可能であるが、セキュリティ対策等のため実行できないようにしているユーザは多い。そこで、以下のような方法を採る。
【0077】
(1)アプレット起動の確認
ホストからクライアントへ送られたアプレットは起動後、ホストとの間で暗号化された通信によって認証を行いアプレットが起動したことを確認し、クライアントへのサービスの提供を開始する。したがって、ブラウザの設定がアプレットを実行できないようになっていると、ユーザはサービスを受けることが出来ない。
【0078】
(2)アプレット型サービスとの組み合わせによるアプレット実行環境の確保ユーザがアプレットを実行しないように設定する理由は、セキュリティ問題の他にアプレットが起動するまでに多少時間がかかることである。そのため、アプレットを使うことがそのままサービスになるようなホストの構成とする。
アプレットで実現または提供する方が実現しやすいサービスには、ゲーム、チャット、電子掲示板、電子会議、音楽・画像配信、テレビ電話、ニュース配信、オフィススイート(表計算ソフトやワープロソフトのセット)、メーラーなど非常にたくさんあるため、本発明はこういったアプレット型サービスと組み合わせることで、実行環境を整えることができる。
【0079】
(3)ホスト提供サービスとのポイントの共通化
(2)で例示したサービスにおいて、ゲームのようなサービスにおいてはゲームで得たスコアに応じてポイントへの加算を行う。すなわち、ユーザはゲームの実行中にホストへ提供した計算資源とは別に、ゲームのスコア(チェスやオセロ等の対戦型ゲームにおいては勝敗)に応じたポイントをボーナスとして得ることができるようにすることで、より多くのユーザをより長時間確保することができる。
【0080】
(4)良い解を得たときのボーナスポイント
クライアントでなされた計算がある目的変数を最適化するという最適化問題である場合、ホストに保存されている最良解よりも良い解が得られたときにはボーナスポイントをそのクライアントのユーザに提供し、ユーザの接続意欲を向上させる。
【0081】
(5)良い解を得たときのみポイントを支払う方法
クライアントから提供された計算資源に応じてポイントを支払う代わりに、ホストに記録されたその辞典での最適解よりも良い解を見つけたときのみにボーナスポイントを支払う方式も併用される。クライアントの計算総量が大きいほど最適解を得る確率は高くなるため、ポイントを得られる期待値は計算資源を綿密に計測する場合に近くなる。
この方法は、メタコンピューティング全体の運用を簡略化できる。また、クライアントは実際に良い解を得たときにのみホストに接続あるいは電子メール等の方法で結果を送信してポイントを得れば良いため、クライアントはネットワークへの接続回線を切って長時間オフライン状態してもメタコンピューティングに参加できる。
【0082】
(6)ユーザ間でのポイント交換
ポイントをユーザ間で交換できるようにすることでユーザがポイントを集める意欲を向上させる。ポイント交換はポイントの捏造等の不正を防止するため、以下のような方法で行う。なお、この方法は本発明以外の類似のポイント交換にも適用できる可能性がある。
ユーザごとにIDおよびパスワードをホストに登録を行い、ポイントを交換したい双方の認証を行った上で、交換するポイント数および移動方法に関する双方の合意を取り、合意が得られた場合にはポイントを移動させる。
【0083】
移動方法には次のような方法がある。
1)単なる移動
ユーザの双方が認めたポイント数を、双方が合意した方向へ移動。この際にはホストが手数料として一部のポイントをホストが徴収するように設定する場合もある。
【0084】
2)ユーザ間のデータ交換と同時にポイントを移動
ポイントを交換したいユーザをA、Bとする。このとき、AはBからあるデータ(文書、暗証番号、音楽・映像ファイル、プログラムなど)を確実に受け取ったことを確認してから、ポイントをBに移動するという条件でこの取引をしたいとする。
悪意のあるBがデータを送らずにこの取引が成立することを防止するため、ホストは以下のようなサービスを提供し、ユーザは用途に応じて使い分ける。
【0085】
a.単純な送付
ホストがBからあらかじめデータを受け取っておき、ポイント移動と同時にそのデータをAへ送付。
【0086】
b.暗号化による送付
Bから受け取ったデータをホストが暗号化し、それをAに送付。ポイント移動と同時にそのデータを解読するための解読用キーをAへ送付。
【0087】
c.双方に信用がない場合の送付方式
a、bどちらの方法も、Bが偽のデータを送った場合にでも取引が成立してしまう。したがって、これらは、Bが信用のある法人等である場合に有効である。Bに信用がない場合の取引の方法として、Bが送ったデータが満足できない場合、BがAから得たポイントの全てまたは一部をホストがペナルティとして取り上げる。このペナルティの割合はAとBの合意で決定する。
また、AがBから得たデータが満足できるものであったにも関わらず不満を表明する場合もあり得る。これを防止する方法として、Aのポイントをあらかじめデポジットとして取引ポイント数に応じてあらかじめ決められた一定のポイント数をホストが取引に際して預かる。Aの不当な不満に対してBが不満を表明した場合には、自動的にこのデポジットをペナルティとしてAからホストが取り上げる。
すなわち、取引において最悪のトラブルが起こった場合には、A、Bの双方が取引ポイント数に応じたペナルティを受ける。これにより、トラブルを心理的に防止するとともに、トラブルをしばしば起こすユーザはペナルティで保有ポイント数が減るため、取引に参加しにくくなって来る。
【0088】
5.ニューラルネットワーク及び遺伝的アルゴリズム等のモンテカルロ型計算における具体的実施例
(1)計算すべき問題の動的評価
ニューラルネット及び遺伝的アルゴリズムはモンテカルロ法による最適解探索の計算方法の一種であるが、解くことができる問題の種類は非常に幅が広いという汎用性を備えている。しかし、同時にモンテカルロ型計算においては単純な計算を非常に多くの回数実行することで計算を行う必要があり、ある程度の計算の繰り返しを行わない有用な計算結果が得られない。そこで、クライアントのメモリサイズに合わせて解くべき問題のサイズを決め、予め指定した回数だけ繰り返し計算が可能かどうかをベンチマークテストで評価しながら、クライアントの計算資源を最大限使用する。
【0089】
(2)ニューラルネット型問題における通信トラフィックの節減
ニューラルネットによる計算では、成果物としてホストに送信すべき計算結果は、シナプス荷重としきい値であるが、この情報量は非常に大きい。あるクライアントでせっかく良い計算結果が得られたとしても、結果を送信中にクライアントが切断(ログオフあるいは別のホストに移動)した場合、その計算結果は無に帰してしまう。従来の情報圧縮技術を用いて情報を圧縮したとしても情報量はやはり大きく、データ返送中の切断によるリスクは大きい。
【0090】
ニューラルネットのような問題では解くべき問題は学習サンプルのデータセットとシナプス荷重及びしきい値の初期値である。学習サンプルはサーバ側から送られるが、シナプス荷重及びしきい値の初期値は特定の数値をシード(乱数発生のための種になる数値)にした疑似乱数であり、クライアント側で生成できる。そこで、疑似乱数発生用のシーズの値のみをホストからクライアントに送信し、クライアントで既存の解よりも良い解(誤差等の評価関数の値が良い解)が見つかった場合には、良い解が見つかったことをホストに知らせ、ホストは新しいシーズをクライアントに送信し、クライアントは時間を無駄にすることなく次の計算に取りかかる。
【0091】
カスタマが最も良い解の全情報(学習によって得られたニューラルネットのシナプス荷重及びしきい値)をホストに要求した際には、ホストはホスト上でそのシードを使ってクライアントと同じ計算を再現し、要求された全情報を提示する。また、通信を簡略化するためシードのみをカスタマに提供する場合や、あるいは未知のデータに対して得られたニューラルネットを用いて認識処理といった付加価値を追加したサービスをカスタマに提供する場合もある。
【0092】
6.バナー広告の代わりにJava(R)アプレットをクライアントに送信し、クライアント・リソースを計算資源として利用する具体的実施例
検索サービスや画像配信等コンテンツ提供を無料で行うWebサーバにおいて、無料コンテンツサービスを行うWebサーバの主な収益源はバナー広告であるが、前項4、5の方法によるJava(R)アプレットはバナー広告と大差ないファイルサイズに納めることができる。これにより、サービス開始までの待ち時間を増やすことなく、クライアントユーザはバナー広告のないすっきりした画面でサービスを受け取ることができる。
【0093】
クライアント側へ送信されたJava(R)アプレットは計算を実行するのと同時にホストに実行開始状態になったことを送信する。ホストはクライアントがJava(R)アプレットを実行したことを知ってから、クライアントへのサービスを開始する。クライアントのブラウザがJava(R)アプレットの実行を許可していない場合にはクライアントユーザはサービスを得ることができないため、サービスと計算量を確実に交換することができる。
【0094】
7.カスタマ・ホスト・クライアント間の流れの具体例
ホストは多数のクライアントに情報サービスを提供する。クライアントは、ホストに接続している間は自己の計算資源の一部を情報サービスの対価としてホストに提供する。情報サービスの対価以上にクライアントが計算資源を提供した場合には、その寄与量に応じたポイントをホストに蓄積する。このポイントは他の計算資源の利用権や情報サービスの利用権であり、適切なレートでキャシュ(金銭)と交換可能である。
【0095】
カスタマはホストにキャッシュを支払い、モンテカルロ計算を依頼する。ホストはカスタマから徴集した収益の一部をクライアントへの支払いに充てる。
図4(a)は計算資源の流れである。クライアントの計算資源はホストが集積し、計算結果をカスタマに伝達することで、計算資源はカスタマに間接的に提供される。クライアントで実行する問題がニューラルネット型の場合には、クライアントからホストへ送付される計算結果は初期条件を生成した乱数のシード及びそのとき得られた評価関数の値のみである。
【0096】
図4(b)は情報サービス及びキャッシュの流れである。クライアントはホストが提供する情報サービスまたはキャッシュの支払いをインセンティブとしてホストに接続する。ホストはカスタマに対して、計算代行を行うことでキャッシュまたはポイント、あるいはそれに相当する情報サービス等の支払いを受ける。
【0097】
【発明の効果】
本発明のインターネットを介する並列処理計算委託システムは以下に述べる効果を奏する。すなわち、インターネットに接続されているコンピュータはほとんどアイドリング状態にあるが、この計算資源を有効利用できる。
【0098】
クライアントで実行する計算を汎用性の高いモンテカルロ型計算問題に限定することで、クライアントに小さなプログラムサイズのアプレットを送信するだけで済み、クライアントが情報サービスを受けている不定期間の時間を有効に利用できる。
【0099】
モンテカルロ型計算の例としては遺伝的アルゴリズムによる最適化問題、ニューラルネットによるパターン認識などがあり、時系列データの変動パターンから未来を予測する株価予測・為替レート予測に利用することができる。
例えば、株価予測コンサルティグビジネスを行いたい場合、精度の高い株価予測を短時間で行う予測モデルを遺伝的アルゴリズムやニューラルネットで作成するためには、莫大な計算量を必要とする。この計算量を既存のスーパーコンピュータを用いて確保する場合、1回の予測に要する計算時間に相当するスーパーコンピュータの減価償却費が予測に要するコストである。本発明ではこれより少ないコストで予測することで株価予測コンサルティグビジネスを実施したい者をカスタマとして確保できる。また、ホスト運営者が自ら株価予測コンサルティグビジネスを行うことができる。
【00100】
本発明が適用可能なビジネスとしては株価予測の他に、DNAやアミノ酸の配列の解析、タンパク質の構造計算、生物個体や生物個体群、生態系の動態解析と予測、国際的なマネフローの動態解析と予測などができる。
【00101】
情報サービスの提供に対して対価を得るためには、従来はユーザに直接課金するかバナー広告によって間接的に課金するしかなかった。本発明は、第三の方法として、ユーザからユーザが使用している計算機の計算資源を徴集することを技術的に可能とする。
【00102】
ポイント方式によって、細かな計算資源、細かな情報サービス、細かな労働、キャッシュ(貨幣)が相互に交換可能になるとともに、これらを円滑に流通させることが可能になる。従来の電子マネーでは貨幣としての裏付けが信用による裏付けしかなく、また、独自の電子マネーによる決済サービスを行う業者が乱立すると貨幣としての相互交換が困難となるため、普及は進んでいない。本発明による方法ではクライアントで実施した計算量をポイントで表現し、これは電子マネーの一種として利用可能である。しかも、いつでも自分が保有するポイントに応じた計算資源をカスタマとして利用可能であることから、ポイントにその大きさに応じていつでも特定の計算を実行できるという裏付けが確保される。また、本発明によるホストのサービスを複数の業者がそれぞれ異なる情報サービス及び異なる名称のポイントで実施した場合でも、各ホストのポイントは計算量によって客観的に計量できるため、ホスト間で相互に交換することが容易である。そのため、このポイントは兌換貨幣としての機能を有し、インターネットにおける物品購入時における電子決済において兌換貨幣として広く利用することができる。
【0103】
ユーザがポイントを獲得することで、購入したパソコン等の減価償却に寄与できる。また、細切れの時間に、直接作業を自らが行うことでポイントを獲得したり、退屈を紛らわすことが出来るというメリットがある。更に、体の不自由な者が自宅あるいはベッドの上で全く移動せずに就労する機会を提供することができる。
【図面の簡単な説明】
【図1】本発明のインターネットを介する並列処理計算委託システムの構成図である。
【図2】本発明の並列処理計算委託システム全体の動作の流れを示す図である。
【図3】本発明の委託システムのクライアントコンピュータにおけるアプレットの処理の流れを示す図である。
【図4】本発明の計算資源・情報サービス及びキャッシュの流れの説明図である。
【符号の説明】
1 インターネットを介する並列処理計算委託システム
10 情報提供サービス事業者のホストコンピュータ(ホスト)
11 ファイアウォールを含むWebサーバ
12 アプリケーションサーバ
12a 計算課題申込画面送信/入力課題受信蓄積手段
12b サービス入力画面送信/要求サービス保存手段
12c メタ計算用アプレット生成送信/起動手段
12d 情報サービス送信/最適解探索手段
12e 評価関数解受信/その繰返し計算受信手段
12f クライアント計算資源計測手段
12x 情報提供サービス業務ソフト
13 データベースサーバ
14 データベース
14a 計算課題用データベース
14b 要求サービス受付用データベース
14c 情報提供サービス用データベース
14x 顧客・ユーザ会員データベース
14y 顧客・ユーザ処理結果データベース
14z 顧客・ユーザ利用履歴データベース
15 業務処理端末
20 インターネット回線
30 計算課題を委託する顧客のカスタマコンピュータ(カスタマ)
30a Webブラウザ
40 情報提供サービスを利用するユーザのクライアントコンピュータ(クライアント)
40a Webブラウザ
40b ホストコンピュータから送信されたメタ計算用アプレットプログラム
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3