JP3966375B2 - Parallel processing computation commission system via the Internet - Google Patents

Parallel processing computation commission system via the Internet Download PDF

Info

Publication number
JP3966375B2
JP3966375B2 JP2001188923A JP2001188923A JP3966375B2 JP 3966375 B2 JP3966375 B2 JP 3966375B2 JP 2001188923 A JP2001188923 A JP 2001188923A JP 2001188923 A JP2001188923 A JP 2001188923A JP 3966375 B2 JP3966375 B2 JP 3966375B2
Authority
JP
Japan
Prior art keywords
calculation
client
service
information
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001188923A
Other languages
Japanese (ja)
Other versions
JP2003006171A (en
Inventor
藤 雅 之 平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Agriculture and Food Research Organization
Original Assignee
National Agriculture and Food Research Organization
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Agriculture and Food Research Organization filed Critical National Agriculture and Food Research Organization
Priority to JP2001188923A priority Critical patent/JP3966375B2/en
Publication of JP2003006171A publication Critical patent/JP2003006171A/en
Application granted granted Critical
Publication of JP3966375B2 publication Critical patent/JP3966375B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

【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番号を持つ(下図)。ホストは取引に関わるすべての者の氏名、住所等の個人情報を有するが、裁判所等による正当な法的手続きに基づいた要求がない限りこの情報は開示しない。これにより、取引を行う者が正当な取引を行う限り、取引者間での匿名性は完全に保証される。

Figure 0003966375
【0048】
(2)取引者Bから取引者Aへ物品またはデータを送る見返りとして、ポイントXを取引者Aから取引者Bへ送るとする。取引の合意が両者間で成立した時、AとBはお互いに自分のID番号(n種保有する)から一つ選んでそれぞれ相手およびホストに送信する(例えば、下記の下線)。一度の取引においてID番号は一度しか使用しない。ID番号を使い捨てにすることで、例え同じ相手と何度取り引きしてもお互いに同一人物であることは認識されない。
Figure 0003966375
【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ビットの数字で表される。
Figure 0003966375
【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が最も良いという判断をした場合には、判定プログラムの評価が誤っている。
Figure 0003966375
【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 ホストコンピュータから送信されたメタ計算用アプレットプログラム[0001]
BACKGROUND OF THE INVENTION
The present invention provides a host computer of an information providing service provider via the Internet, which is entrusted via the Internet from customer computers such as a plurality of companies and individual customers entrusted with parallel processing calculation tasks and uses the information providing service. In response to a service request from each client computer of the user of the user, when the respective information provision is performed via the Internet, the above-mentioned calculation task requested by the customer in the background processing during the service processing is performed on the multiple client computers. It is related with the meta-computation commission system which can perform a large-scale parallel processing calculation by distributed processing by.
[0002]
[Prior art]
In metacomputing (distributed computing that uses computer resources such as PCs distributed around the world) that performs distributed processing by multiple computers and performs large-scale parallel processing, how many clients (users) It is a big problem whether to get connected to the PC that is used. To date, there have been cases in which millions of computers have been secured in themes such as cryptanalysis and data analysis for searching for extraterrestrial intelligence with the cooperation of volunteers. This is because it is extremely difficult to secure such a large number of volunteers in a large-scale calculation of normal work.
[0003]
Already, there are services that try to make profits using metacomputing, but the compensation to the computing resource provider is paid directly by cash. However, since payment by cash requires remittance and the like, a small amount of payment reduces the amount of payment to the calculation resource provider, and it is difficult to secure enough persons who want to provide the calculation resource. If sufficient computing resources could not be secured, a vicious circle would occur in which people (customers) who wanted to perform huge calculations using the computing resources would not gather.
[0004]
In addition to conventional information systems in which a large number of clients connect to a single host and receive information services, in recent years, peer-to-peer information systems that exchange information with each other on an individual basis have become widespread. Since a peer-to-peer information system does not require a specific host, various information services such as information exchange that meet individual needs naturally occur naturally, and a large number of computing resources can be secured as a whole. There was a possibility. However, since there is no specific host, it is not easy to pay the price between individuals. Therefore, at present, the use is limited to exchanging and sharing music files. Furthermore, file exchange using this method is a one-sided file provision if the file you want is not on the other side, so it is unsatisfactory for the copyright owner who is the file creator and those who accumulate and provide a large number of files. There has occurred. For this reason, the file provider suddenly stops the connection immediately before the file download is completed, and the network traffic is increased unnecessarily.
[0005]
As a general method for solving such dissatisfaction with information service providers, a technique is widely used in which a banner advertisement is presented to a client, and the information service provider obtains a compensation based on the advertising revenue. However, the information service provider can get enough advertising revenue when a certain number of clients who see the banner advertisement actually purchase the sponsor's product and the sponsor can make enough revenue However, it was not a fundamental solution.
[0006]
[Problems to be solved by the invention]
In recent years, the number of computers connected to the Internet has increased exponentially, but most of them are idling. Therefore, a method for efficiently performing metacomputing by utilizing this unused resource was considered. This method can be applied to ecosystem models and various applications that require large-scale calculations. Moreover, in information service providing type sites such as current search sites and video distribution sites, the business model of “distributing banner advertisements to users in return for providing information services to users” is the mainstream. Realizes a new business model of "obtaining the computing resources of the computer that is idling from the user in return for providing the information service to the user", and maintains the system that performs large-scale computation and the service for using the system almost permanently. It is technically possible.
Therefore, there are problems to be solved as described below.
[0007]
In other words, in order to secure a large number of computers without expecting the cooperation of volunteers, there is a method for collecting computing resources from clients as a price for information services provided by the host and a mechanism for providing incentives for as many clients as possible to connect. is necessary.
[0008]
Since the computing resources provided by the clients vary greatly in terms of calculation speed and connection time, a technique for effectively using the irregular computing resources is required.
[0009]
In particular, the time that the client is receiving the information service is indefinite, and it is impossible to predict when the connection with the host will be disconnected. In order to effectively use this indefinite connection time, it is necessary to be able to utilize the calculation result even if the calculation time of the program executed on the client is short. In addition, it is necessary to prevent the calculation performed by the client from being wasted under the restriction that it is impossible to predict when the connection from the client is disconnected.
[0010]
When a client is downloading a huge file such as an image, the user may have time to complete the download. Using this user's idle time to perform work such as information processing can be regarded as a computational resource similar to the calculation using the CPU's idle time.
[0011]
For example, pattern recognition performed by the user by viewing information displayed on the screen is a computational resource that can be provided by the client when viewed from the host side. Further, in the search calculation of the optimum solution, search efficiency may be remarkably increased by appropriately checking humans.
[0012]
However, in order to secure a large number of users who participate in such work, a mechanism for providing incentives for prompting user participation is necessary.
[0013]
It is necessary to prevent host-client and client-client fraud as much as possible while maintaining the privacy of the client connected to the host and the anonymity when exchanging points between the clients. In addition, metacomputing increases the risk of cracking because it connects to the Internet for a long time.
[0014]
If the points obtained by the client are accumulated and the points cannot be exchanged only for services obtained from the host, the incentive to connect the large client will be lost if the points cannot be used effectively. There is a need to allow the host to buy excessive points and to exchange points, data and goods between users.
[0015]
[Means for Solving the Problems]
In order to solve the above-mentioned problem, the parallel processing calculation commission system via the Internet of the present invention is a host computer provided with at least a Web server of an information providing service provider via the Internet. Search for optimal solution of genetic algorithm by Monte Carlo method Companies that entrust parallel processing computation tasks, customer calculations including customer, including the individual, through the Internet Entrusted , Client computers of a plurality of users who use the information providing service from When sending the corresponding information provision via the Internet in response to various service requests, the calculation problem is solved by background processing during the service processing. Each client computer In Decentrally Meta-computation commission system that performs parallel processing computation,
In response to the calculation task consignment request from the plurality of customer computers, the host computer displays a calculation task application screen including at least a calculation program, a calculation condition, and a calculation resource item column to each customer computer. Send On the customer computer Entered calculation assignment application data Calculation assignment application screen transmission / input assignment reception storage means for receiving and storing in the calculation assignment database;
A service input screen for inputting various service requests in response to access signals from the plurality of client computers is transmitted to the client computer. Entered in Them Various service request data A service input screen transmission / request service storage means for receiving and storing the request service reception database;
When the host computer receives various service requests from a client computer, the host computer reads the calculation task database, and , Generate a meta-calculation applet to solve the computational problem of searching the optimal solution of genetic algorithm by Monte Carlo method, send it to the client computer that requested the service, and start it on the client computer Meta-calculation applet generation transmission / activation means,
The host computer sends did A signal indicating that the meta-calculation applet has started on the client computer is received from the client computer. After confirming startup , To client computer In addition to starting transmission of the information service corresponding to the requested service, That information service In background processing Communicate with the meta-calculation applet launched on the client computer; About the problem to be done Computational tasks including seed values that become seeds for pseudo-random numbers that randomly generate initial values Information data Sent from the host computer to the client computer The above Search for optimal solution of genetic algorithm by Monte Carlo method Information service transmission / optimum solution search means to be performed;
On the other hand, the meta-calculation applet started on the client computer When searching for the optimum solution, an operation for appropriately instructing the user of the client computer to select the optimum individual is displayed on the client computer screen. The optimal solution selected and input by the user Information about the host computer,
The host computer receives the optimum solution information from the client computer and uses the optimum solution information. Log in the database and if the information service processing is still disconnected It has not been If so, the host computer is the client computer Against the meta-calculation applet next Calculation task information data including seed value that becomes seed for pseudo-random number that generates initial value randomly Send new Computational task of searching for optimal solution of genetic algorithm by Monte Carlo method And an evaluation function solution reception / repetition calculation reception means for repeating
Further, the information service transmission / optimum solution search means includes: The client computing resource measurement means that executes the benchmark test program for measuring the size of the computing resource of the client computer is further provided, and the evaluation result of the computing resource size of the client computer by the benchmark test matches the performance required by the computing task. The calculation task information data to be read is selected from the calculation task database and transmitted. It is characterized by that.
[0020]
Also, The parallel processing calculation consignment system records points according to the contribution amount on the client side in the database on the host side, Between the client computer of the user who has accumulated the points, or between the user and the host computer of the information service provider, and the customer computer entrusting parallel computing tasks Keep anonymity by encrypted user ID number A point exchange service means for exchanging points and services / goods / money is provided.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0023]
It is a figure which shows the structure of the parallel processing calculation commissioning system 1 via the internet of this invention of FIG.
[0024]
As shown in the figure, this calculation entrusting system 1 includes a customer computer 30 of a customer including a company / individual entrusting a parallel processing calculation task, a client computer 40 of a user who uses an information providing service, and each of the computers 30, 40. And the host computer 10 of the information providing service provider connected via the Internet 20. Here, 30a and 40a are Web browsers, and 40b is a meta-calculation applet program to be described later.
[0025]
The client computer 40 includes a CPU incorporated in a personal computer, a TV game device, a mobile phone, a home appliance, a private car, etc., and a related device that are generally used in an office or home, and a Web server that operates continuously for 24 hours.・ CPUs built in equipment that operates 24 hours a day, although calculation functions such as FTP servers, file servers, printer servers, vending machines, facsimile machines, weather observation devices, data loggers, etc. are not intended. Any of the related devices can be used.
[0026]
The host computer 10 is configured as follows. That is, 11 is a Web server including a firewall, 12 is an application server provided with processing means such as an information providing service business and a parallel processing calculation commissioned business, 13 is a database server that manages the database 14, and 15 is a customer and user usage history database. It is a business processing terminal that performs at least billing processing by 14z.
[0027]
The outline of the parallel processing calculation commissioning system 1 configured as described above is shown below. That is, in the host computer 10 provided with at least a Web server of an information providing service provider via the Internet 20, the calculation problem is transmitted via the Internet 20 from the customer computer 30 of a customer including companies and individuals entrusting parallel processing calculation problems. A background during service processing when a corresponding information provision is transmitted to the respective users via the Internet 20 in response to various service requests from respective client computers 40 of a plurality of users who use the information provision service. A meta-computation entrusting system that performs parallel processing computation by distributing processing of the calculation problem by the plurality of client computers 40 in processing, and more specifically, the client computer 40 receives and communicates information services. In response to the fact that the time is indefinite, when solving the calculation problem, each calculation is executed independently based on the initial value that randomly generated a program with a relatively short calculation time. The plurality of programs are sequentially transmitted to a plurality of connected client computers 40 so that Monte Carlo type optimal solution search calculation processing can be performed, and independently based on randomly generated initial values, Also, a solution with a good evaluation function value including a function that outputs the error to the client side is returned to the host computer 10 at the same time, and points according to the contribution amount on the client side are stored in the database 14 on the host side. It is a recording system.
[0028]
Here, the application server 12 of the host computer 10 includes the following means 12a, 12b, 12c, 12d, 12e, and 12f. Customers and users of the customer computer 30 and the client computer 40 accessing the host computer 10 collate and authenticate with the customer / user member database 14x by a password or the like, and store the processing data results in the database 14y. Charge collection and point assignment are performed by the use history database 14z.
[0029]
The means 12a responds to the calculation task entrustment requests from a plurality of customer computers 30, and transmits a calculation task application screen having at least items such as calculation programs, calculation conditions, and calculation resources to each customer computer. The calculation task application screen transmission / input task reception storage means 12a receives the data input to the customer and stores it in the calculation task database 14a.
[0030]
Further, the means 12b transmits a service input screen for inputting various service requests in response to access signals from a plurality of client computers 40 to the client computer 40, receives those data input to each user, This is service input screen transmission / request service storage means 12b stored in the service reception database 14b.
[0031]
Further, when the data input on the service input screen is received, the means 12c generates a meta-calculation applet for solving the calculation problem by each of the client computers 40, and transmits it to the client computer 40. This is a meta-calculation applet generation / transmission / activation means 12c activated on the computer 40.
[0032]
When the host computer 10 receives a signal indicating that the meta-calculation applet 40b transmitted from the host computer 10 is activated on the client computer 40, the means 12d transmits the information service corresponding to the requested service to the client. In the background process, the applet 40b communicates with the host computer 10 to obtain seed data for a pseudo-random number that randomly generates the initial value and information data on the problem to be executed. This is information service transmission / optimum solution search means 12d for determining a value and performing a Monte Carlo type optimum solution search.
[0033]
Further, when the means 12e finds a better solution of the evaluation function in searching for the optimum solution, it receives information about the solution from the client computer 40, records it in the database 14y of the host computer, and searches for the optimum solution and sends it to the client. However, if the connection is not yet terminated after receiving the solution, the host computer 10 sends the next seed value to the client computer 40. Is an evaluation function solution reception / repeated calculation reception means 12e for determining a new initial value and repeating the next Monte Carlo type optimal solution search.
[0034]
A flowchart of the processing of the parallel processing computation entrusting system 1 of the means 12c, 12d, and 12e shown above is shown in FIG.
[0035]
Next, the information service transmission / optimum solution search means 12d provided in the application server 12 of the host computer 10 further includes the client calculation resource measurement means 12f described above.
[0036]
That is, when the meta-calculation applet 40a transmitted from the host computer 10 starts to be activated on the client computer 40, before the information data and the seed value relating to the problem to be executed are acquired from the host computer 10, the applet 40a is processed. Means 12f for executing a benchmark test program for measuring the size of the computing resource of the client computer 40 is provided.
[0037]
In order to match the size of the customer's calculation request with the size of the calculation resource provided by the client by this means 12f, the result of the benchmark test is compared with whether or not the Monte Carlo type optimal solution search can be repeatedly performed a predetermined number of times. And the processing efficiency of the entire computing system can be improved.
[0038]
FIG. 3 shows a flowchart of processing in the client computer 40 of the means 12f described above.
[0039]
Next, the parallel processing calculation commissioning system 1 via the Internet of the present invention will be described in detail.
[0040]
Hereinafter, the host computer is abbreviated as a host, the client computer is abbreviated as a client, and the customer computer is abbreviated as a customer.
[0041]
1. A specific embodiment of a method for paying the amount of computing resources on the client side as a price for information services or the like.
(When a specific host exists)
Clients that are receiving information services such as information retrieval and image distribution are almost in an ending state, but there are often large spaces in the hard disk and memory. Therefore, the host sends an applet to the client immediately before the start of the information service, and runs the applet on the client while providing the information service to input computation, information storage, and user recognition and judgment on the client side. (Hereinafter, these are collectively referred to as computational resources). On the host side, the calculation resources of the client are used by appropriately transmitting the obtained calculation or recognition / judgment results to the host.
[0042]
At this time, the amount of computing resources provided to the host varies greatly depending on the hardware configuration (CPU and memory amount) of the client computer and the user's correspondence. That is, the contribution amount of each client as seen from the host side is very different. Therefore, a score (point) corresponding to the contribution amount of the client is recorded on the host side so that it can be exchanged for an information service, a calculation resource accumulated by this method, an article, cash, etc. according to the point.
[0043]
Since the time that the client is receiving the information service is indefinite, the problem to be calculated is limited to the Monte Carlo type optimal solution search, and the individual calculation results gradually contribute to the overall calculation. In the calculation of the Monte Carlo type optimal solution search, it is necessary to execute a huge number of times based on an initial value obtained by randomly generating a program having a relatively short calculation time, but each calculation can be executed independently. Therefore, the program is sent to a large number of clients simultaneously and executed independently based on randomly generated initial values. The calculation result is returned only when a good result is obtained on the client side.
[0044]
Specific examples of services provided by the host include search services for websites, literature information, town information, etc., download services such as still images and videos, music, free software, and competitive games such as chess and othello. And so on. In download services such as still images, moving images, music, and free software, when traveling software that automatically downloads only files is used, files are provided to the client without executing the applet on the client. In addition, applets sent from the host to the client side are written in Java (R), and the applet sent from the host is executed even if the client is set to not execute Java (R). Not. In such a case, even if the information service is provided from the host, the calculation amount made on the client side cannot be received. Therefore, encrypted communication is performed between the applet sent from the host and the host, and the information service of the host is provided after confirming the execution of the applet.
[0045]
2. A concrete example of how to resell computational resources collected from clients to customers (how to use points)
Whether the host exists or not, the client and the host accumulate points according to the provision of services and computing resources. By collecting these points, the following advantages are combined.
[0046]
(1) Cause other clients to execute their own jobs. At this time, points are paid according to the amount of jobs executed.
(2) Receive an information service from a host or another client. At this time, points are paid according to the information service obtained.
(3) Exchange points for valuables. A third party who wants to execute a large number of jobs that do not have a sufficient amount of points (ie, a customer) obtains the necessary points by exchanging points with valuables from a host or a client having sufficient points.
[0047]
3. Specific examples of performing authentication and point transfer while maintaining anonymity
At the time of point exchange, authentication is performed with the following method maintained anonymous.
(1) All persons involved in the transaction have the following ID numbers converted into irregular numbers by n different encryptions (below). The host has personal information such as the names and addresses of all persons involved in the transaction, but this information is not disclosed unless requested by a court or other legitimate legal process. Thereby, as long as the person who performs the transaction performs a legitimate transaction, the anonymity between the traders is completely guaranteed.
Figure 0003966375
[0048]
(2) Assume that point X is sent from the trader A to the trader B in return for sending goods or data from the trader B to the trader A. When a deal agreement is established between the two parties, A and B choose one from their own ID numbers (held n types) and send each to the other party and the host (for example, the underline below). An ID number is used only once in a transaction. By making the ID number disposable, it is not recognized that they are the same person regardless of the number of transactions with the same partner.
Figure 0003966375
[0049]
(3) When the host confirms that A possesses the point X, the host informs both of them and at the same time decrements the point X of A, and the host temporarily keeps it.
(4) B immediately sends the article or data to the host.
(5) When the host confirms receipt of the article or data from B, it informs A and B of the fact and simultaneously increases the number of points of B by X.
(6) If it turns out that B did not perform the transaction as contracted, A may report B's ID number to the host and the police or court and appeal to legal means.
[0050]
In this method, as long as A and B do not cheat, both anonymity is guaranteed. The number n of ID numbers possessed by each person can be increased as much as possible. For example, if 2100 persons each have 2100 kinds of ID numbers, 2200 kinds of ID numbers are required in total, which can be expressed by 200-bit data. (Note 1).
[0051]
In this method, goods or data are sent via the host, but when there is no need to pass through the host, the following simplified method is used for the transaction.
[0052]
(1) Each person involved in the transaction has n types of ID numbers. Each person may carry a number of ID numbers out of the n types recorded on the card. In this case, each time a transaction is made, the card is handed over to the other party, thereby saving the trouble of recording the other party's ID number and avoiding using the same ID number by mistake.
[0053]
(2) When the trader A can receive the goods or data from the trader B on the spot or is certain to receive it, he / she wants to send the point X from the trader A to the trader B on the spot as the price And When a deal agreement is established between the two parties, A and B choose one ID number and send each ID number and the number of points they want to move to the host.
[0054]
(3) When the host confirms that A has the point X, the host moves the point X from A to B and informs both of them.
(4) Upon confirming the movement of the point from the host, A immediately receives the article or data from B.
(5) If the transaction is found to be fraudulent at a later date, the victim can report the other party's ID number to the host and the police or court and appeal to legal means.
[0055]
(Note 1) Specific implementation method for generating 2n kinds of ID numbers for 2m people
Each person's ID number is represented by a number of m + n + k bits as follows.
Figure 0003966375
[0056]
The bit string {circle around (1)} is the true ID number of each person who exists only in this world, and is a number known only to the person and the host. (2) is a bit string for giving each person a 2n ID number. {Circle over (3)} is a bit string for the host to embed information on strengthening the encryption strength and points.
[0057]
The host rearranges m + n + k bits, and performs operations such as bit inversion and rotation, and encrypts them. The host issues an ID number for this operation in response to a user request. Since the user does not know the encryption method and the generation rule of part (3), it is almost impossible to create another person's ID without permission.
[0058]
(Rational evaluation of points by benchmark test)
The size of the computing resource of the client does not necessarily match the size of the computing resource required by the customer (customer) having a problem to be calculated by metacomputing. Therefore, a plurality of customer problems are accumulated on the host side that provides the information service, and a cost corresponding to the calculation amount is collected from the customer. In order to handle customer problems most efficiently, the host measures client computing resources with a benchmark test, and executes the problems according to the computing resources of each client. As a result, the size of the customer's calculation request is matched with the size of the calculation resource provided by the client, and the overall processing efficiency is improved.
[0059]
At this time, there is a large difference in the amount of calculation executed in the same time between a client having a high speed computer and a client having a low speed computer. Therefore, points (points) corresponding to the amount of calculation executed by the client are provided to the client, and the host adds and records points for each client. The client is given the right to use the computational resources provided by the host as a customer according to the earned points.
[0060]
By this point method, calculation resources, information services, and cash (money used in the real world) can be exchanged with each other, so that it is possible to smoothly distribute in transactions on the Internet.
[0061]
4). Specific examples of using tasks such as user recognition and judgment in metacomputing
If the service you want to get from the host is something that can be accomplished unattended, such as downloading a huge file, the user is bored during the period of receiving the service. Present to this user a problem such as relatively simple pattern recognition that anyone can do, or a problem in the specialized area that the user is good at, and add points according to the workload to the amount of computational resources provided by the client computer The host provides.
This work that can be performed by the user has the following specific implementation methods.
[0062]
(1) Method used for Monte Carlo calculation such as genetic algorithm
In the case of calculation using a genetic algorithm, even if a large evaluation error is rarely found in the evaluation function for evaluating the best individual, a bad solution far from the optimal solution may survive as the optimal solution. In order to avoid this problem, it is possible to effectively search for a solution that only requires a person to appropriately select an optimal individual. However, while this task is very monotonous, it is a task that requires mental concentration.
[0063]
Therefore, when there is a human contribution to the calculation performed by the applet running on the client side, and the calculation is promoted by this, the promoted calculation amount is provided to the client as a point. With this point, human contribution is secured and the time that humans have is utilized as valuable work.
[0064]
(Example of specific implementation method)
For example, it is assumed that an artificial neural network (hereinafter referred to as NN) that performs human face pattern recognition using a genetic algorithm is generated. Then, parameters such as synaptic loads inside the NN that correctly perform pattern recognition are optimized by a genetic algorithm. In one step of the genetic algorithm, NN of m kinds of children is newly generated by processing such as parameter variation (randomization), and each recognition result is tested and the one with the highest evaluation value is automatically selected. Is done. Then, this is slightly mutated to generate more children. Obtaining the optimum NN by this iteration is optimization by a genetic algorithm. However, a program for evaluating which NN recognizes the human face most correctly is required, but this software must be prepared separately, but this is the “human face pattern that we want to generate here. It may be more difficult than “artificial neural network that performs recognition”.
[0065]
Therefore, the above-described operation is performed by the user making a determination instead of the program for performing the evaluation.
For example, suppose that m types of NNs display the results of face recognition on the screen. A comparison between an incomplete program for determining an NN recognition result (hereinafter abbreviated as a determination program) and a human determination will be made. If the judgment program and the user present different judgment results, it is assumed that the human judgment result is highly reliable. That is, as described below, when the user determines that the second NN recognizes the face best, while the determination program determines that the third NN is the best, the determination program The evaluation of is incorrect.
Figure 0003966375
[0066]
If the judgment program continues to judge f (3) as optimal, the third NN's offspring will continue to proliferate even though the second NN is superior to human judgment. The optimization proceeds in an unfavorable direction. If the user finds an erroneous determination in the determination program, the evolution is corrected in the correct direction by appropriately pointing out the error and inputting the correct determination result. In this way, even when a highly accurate judgment program is required, such as human pattern recognition ability, the user can directly perform evaluation work such as judgment, so that conventional programming like "face recognition software" can be developed. Difficult software development can be done efficiently.
[0067]
The determination work by the user can be easily incorporated into a Monte Carlo type calculation such as a genetic algorithm as in this example, and can be easily used to speed up a large-scale optimization calculation by metacomputing according to the present invention.
[0068]
In addition to the above, problems that can be contributed by the user's recognition work include the following.
・ Problem to find the shortest distance like the salesman patrol problem
The user presents candidate solutions that are likely to be closest to the shortest distance.
・ Problem to find minimum energy state in tertiary structure of protein
User chooses and presents the structure that appears to be most stable
The problem of building software that predicts stock prices most accurately
The user selects and presents the best predicted software based on the prediction results and actual stock price trends
・ Product design optimization problems with many options such as cars
Users can select and present product designs that best match their sensibilities from products that differ in color, pattern, size, etc.
[0069]
(2) Method of directly performing pattern recognition
Pattern recognition by a pattern recognition device such as character recognition always involves erroneous recognition. Correct information on patterns that the pattern recognition device could not recognize is very important information for improving the pattern recognition device. Since the task of inputting the correct answer of misjudged information is often a relatively simple problem that anyone can do, this correct answer determination problem is presented to the user, and the user receives points according to the amount of work. .
[0070]
However, there is a possibility that the user makes an erroneous determination. When it is desired to reduce the probability of this erroneous determination, the same work is requested to a plurality of users.
That is, the host presents exactly the same problem to a plurality of users, and seeks a true correct answer by majority vote. Bonus points are added and provided to the user who has presented the correct answer. Alternatively, the number of points provided as a penalty from the user who presented the wrong answer is reduced. As a result, the incentive for the user's work can be improved.
[0071]
There are many other pattern recognition operations such as the following.
・ Determining the presence or absence of abnormalities based on information such as turning on / off the power of home appliances generated by elderly people living alone or sick people, heart rate, respiratory rate, acceleration due to movement and movement, etc.
・ Recognize the number of cars parked in the parking lot
・ Reading instruments such as thermo-hygrometers installed in specific places such as show windows, factories, greenhouses, and barns
[0072]
(3) How to use specialized knowledge
Species identification problems such as species determination of animals, plants and microorganisms require specialized knowledge, but it is a relatively simple task for those with specialized knowledge and experience. A user who can perform such work receives points according to the amount of the work.
[0073]
(4) How to answer the questionnaire
The answering work to the questionnaire that answers the impression of the design and function of the product and the points out of problems, advantages, and improvement points is a relatively simple work that allows an unspecified number of users to participate. The user receives points according to the amount answered in the questionnaire.
[0074]
(5) Method of inputting original content
When the user inputs information about content with specific needs such as cooking recipes, delicious restaurant locations and special sales information, the user receives points according to the amount of information.
At this time, it is necessary to rationally determine how many points the user who provides the information receives. As an implementation method, there are the following methods.
Assume that a user who wants to view the content provides computing resources to the host by the metacomputing mechanism according to the present invention while actually accessing the host and viewing the content. At that time, the user will provide computing resources in return for viewing the content. A part of this computational resource is converted into points, and the content information providing user receives the points.
[0075]
(6) Work that can be done with just your fingertips
A user who connects using i-mode or a mobile terminal can perform the above-described work by using a small time for a waiting time of a train or the like. However, as a simple task that can be performed even in situations where it is difficult to see the display while walking,
・ Reporting incidents such as accidents and injuries
・ Entering information related to specific locations, specific times, the number of people you see in specific seasons, and what you wear, etc.
[0076]
(Method for securing a large number of clients necessary for the implementation of the present invention)
In the present invention, a large number of clients need to be connected. In the case where the browser is executed by the Java® language and a normal browser, the browser executed by the client needs to be set so that a Java® applet (hereinafter referred to as an applet) can operate. Although it is possible to prohibit the execution of Java (R) applets and Java (R) scripts in the security settings of many browsers, there are many users who do not allow execution due to security measures. Therefore, the following method is adopted.
[0077]
(1) Confirmation of applet activation
After activation, the applet sent from the host to the client is authenticated by encrypted communication with the host, confirms that the applet is activated, and starts providing services to the client. Therefore, if the browser setting is such that applets cannot be executed, the user cannot receive services.
[0078]
(2) Securing an applet execution environment in combination with an applet type service The reason for setting the user not to execute an applet is that it takes some time before the applet starts in addition to a security problem. For this reason, the host configuration is such that using an applet becomes a service as it is.
Services that are easier to implement or provide with applets include games, chat, electronic bulletin boards, electronic conferencing, music / image distribution, videophones, news distribution, office suites (spreadsheet software and word processor software set), mailers Therefore, the execution environment can be prepared by combining the present invention with such an applet type service.
[0079]
(3) Sharing points with host-provided services
In the service exemplified in (2), in a service such as a game, points are added according to the score obtained in the game. That is, the user can obtain points according to the score of the game (winning or losing in a competitive game such as chess or othello) as a bonus, separately from the computing resources provided to the host during the game. Thus, it is possible to secure more users for a longer time.
[0080]
(4) Bonus points when a good solution is obtained
If an optimization problem is to optimize a target variable calculated by a client, bonus points are provided to the client user when a better solution than the best solution stored on the host is obtained. Improve connection motivation.
[0081]
(5) Method of paying points only when a good solution is obtained
Instead of paying points according to the computational resources provided by the client, a method of paying bonus points only when a solution better than the optimal solution in the dictionary recorded in the host is found is also used. The larger the total calculation amount of the client, the higher the probability that an optimal solution will be obtained. Therefore, the expected value from which points can be obtained is close to the case where calculation resources are closely measured.
This method can simplify the operation of the entire metacomputing. Also, the client only needs to connect to the host or send the result by e-mail or other means when it gets a good solution. You can still participate in metacomputing.
[0082]
(6) Point exchange between users
The user's willingness to collect points is improved by allowing points to be exchanged between users. Points are exchanged in the following way to prevent fraud such as forging points. This method may be applicable to similar point exchanges other than the present invention.
After registering the ID and password in the host for each user and authenticating both parties who want to exchange points, the two parties agree on the number of points to be exchanged and the movement method. Move.
[0083]
There are the following movement methods.
1) Simple movement
Move the number of points approved by both users in the direction agreed by both users. In this case, the host may set to collect some points as a fee.
[0084]
2) Move points simultaneously with data exchange between users
A and B are users who want to exchange points. At this time, suppose that A wants to make this transaction on the condition that the point is moved to B after confirming that certain data (document, personal identification number, music / video file, program, etc.) has been reliably received from B. .
In order to prevent the malicious B from establishing this transaction without sending data, the host provides the following services, and the user uses them according to the purpose.
[0085]
a. Simple sending
The host receives data from B in advance, and sends the data to A at the same time as moving the point.
[0086]
b. Send by encryption
The host encrypts the data received from B and sends it to A. At the same time the point is moved, a decryption key is sent to A to decrypt the data.
[0087]
c. Sending method when both sides do not trust
In both methods a and b, a transaction is established even when B sends fake data. Therefore, these are effective when B is a trusted corporation or the like. As a transaction method when B is untrustworthy, if the data sent by B cannot be satisfied, the host takes all or a part of points obtained from A as a penalty. The penalty rate is determined by agreement between A and B.
In addition, A may express dissatisfaction even though the data obtained from B is satisfactory. As a method for preventing this, the host deposits a predetermined number of points according to the number of transaction points with the point A as a deposit in advance. If B expresses dissatisfaction with A's unfair dissatisfaction, the host automatically picks up this deposit as a penalty.
That is, when the worst trouble occurs in the transaction, both A and B receive a penalty corresponding to the number of transaction points. As a result, troubles are prevented psychologically, and users who often cause troubles are less likely to participate in transactions because the number of points they hold decreases due to penalties.
[0088]
5). Specific examples of Monte Carlo calculations such as neural networks and genetic algorithms
(1) Dynamic evaluation of problems to be calculated
A neural network and a genetic algorithm are a kind of calculation method for searching an optimal solution by the Monte Carlo method, but have a versatility that the types of problems that can be solved are very wide. However, at the same time, in the Monte Carlo type calculation, it is necessary to perform a calculation by executing a simple calculation very many times, and a useful calculation result without repeating a certain degree of calculation cannot be obtained. Therefore, the size of the problem to be solved is determined in accordance with the memory size of the client, and the calculation resource of the client is used to the maximum while evaluating by a benchmark test whether or not the calculation can be repeatedly performed a predetermined number of times.
[0089]
(2) Reduction of communication traffic in neural network type problems
In the calculation by the neural network, the calculation results to be transmitted to the host as a product are the synapse load and the threshold value, but this information amount is very large. Even if a certain client obtains a good calculation result, if the client disconnects (logs off or moves to another host) while transmitting the result, the calculation result is returned to nothing. Even if information is compressed using conventional information compression technology, the amount of information is still large, and the risk of disconnection during data return is high.
[0090]
The problem to be solved in a problem such as a neural network is a learning sample data set, synaptic weights, and initial values of threshold values. The learning sample is sent from the server side, but the initial values of the synaptic load and the threshold value are pseudo-random numbers that use a specific numerical value as a seed (a numerical value that becomes a seed for random number generation), and can be generated on the client side. Therefore, if only the seed value for pseudorandom number generation is sent from the host to the client, and a better solution than the existing solution (a solution with a better evaluation function value such as error) is found in the client, a good solution is obtained. The host is informed that it has been found, the host sends a new seed to the client, and the client proceeds to the next calculation without wasting time.
[0091]
When the customer asks the host for all the best solution information (the neural network synaptic weights and thresholds obtained by learning), the host uses the seed on the host to reproduce the same calculation as the client. Present all requested information. In addition, there are cases where only seeds are provided to customers to simplify communication, or services with added value such as recognition processing using neural networks obtained for unknown data are provided to customers. .
[0092]
6). A specific embodiment in which a Java (R) applet is sent to a client instead of a banner advertisement, and client resources are used as computing resources
In a Web server that provides contents such as search services and image distribution for free, the main revenue source of the Web server that provides free contents services is banner advertisements, but the Java (R) applet by the methods 4 and 5 above is banner advertisements. It can fit in a file size that is not much different. Accordingly, the client user can receive the service on a clean screen without a banner advertisement without increasing the waiting time until the service starts.
[0093]
The Java (R) applet transmitted to the client side transmits to the host that the execution has been started at the same time as executing the calculation. After the host knows that the client has executed a Java applet, it starts servicing the client. If the client browser does not permit execution of the Java (R) applet, the client user cannot obtain the service, so that the calculation amount can be exchanged with the service without fail.
[0094]
7). Example of flow between customer, host and client
The host provides information services to a number of clients. While connected to the host, the client provides the host with a part of its computing resources as a price for the information service. When the client provides computing resources more than the price of the information service, points corresponding to the amount of contribution are accumulated in the host. This point is the right to use other computing resources and the right to use information services, and can be exchanged for cash at an appropriate rate.
[0095]
The customer pays the cash to the host and requests a Monte Carlo calculation. The host uses a part of the revenue collected from the customer for payment to the client.
FIG. 4A shows the flow of calculation resources. The computing resources of the client are collected by the host and the calculation results are transmitted to the customer, so that the computing resource is indirectly provided to the customer. When the problem executed by the client is a neural network type, the calculation result sent from the client to the host is only the seed of the random number that generated the initial condition and the value of the evaluation function obtained at that time.
[0096]
FIG. 4B shows the flow of information service and cash. The client connects the information service or cash payment provided by the host as an incentive to the host. The host receives payment for cash or points, or an information service corresponding to the calculation by acting for the customer.
[0097]
【The invention's effect】
The parallel processing calculation commission system via the Internet of the present invention has the following effects. That is, almost all computers connected to the Internet are in an idling state, but this computing resource can be used effectively.
[0098]
By limiting the calculations performed on the client to general-purpose Monte Carlo calculation problems, it is only necessary to send a small program size applet to the client, effectively using the irregular time during which the client is receiving information services. it can.
[0099]
Examples of Monte Carlo type calculations include optimization problems using genetic algorithms, pattern recognition using neural networks, and the like, which can be used for stock price prediction and exchange rate prediction for predicting the future from fluctuation patterns of time series data.
For example, when a stock price prediction consulting business is desired, a huge amount of calculation is required in order to create a prediction model that performs high-precision stock price prediction in a short time using a genetic algorithm or a neural network. When this amount of calculation is secured using an existing supercomputer, the depreciation cost of the supercomputer corresponding to the calculation time required for one prediction is the cost required for the prediction. In the present invention, it is possible to secure a person who wants to implement a stock price prediction consulting business as a customer by making a prediction at a lower cost. In addition, the host operator can conduct a stock price prediction consulting business.
[0010]
Businesses to which the present invention can be applied include stock price prediction, DNA and amino acid sequence analysis, protein structure calculation, biological individual and biological population, ecosystem dynamics analysis and prediction, and international money flow dynamics analysis Can be predicted.
[00101]
In order to obtain compensation for the provision of information services, conventionally, there has been no choice but to charge users directly or indirectly through banner advertisements. As a third method, the present invention technically makes it possible to collect the computing resources of the computer used by the user from the user.
[00102]
The point method makes it possible to exchange detailed computing resources, detailed information services, detailed labor, and cash (money) with each other and to distribute them smoothly. Conventional electronic money is supported only by credit and is not widely used because it is difficult to exchange money as a trader who performs a settlement service using unique electronic money. In the method according to the present invention, the amount of calculation performed by the client is expressed by points, which can be used as a kind of electronic money. In addition, since the calculation resources corresponding to the points owned by the customer can be used as a customer at any time, it is ensured that specific calculations can be performed on the points at any time according to the size of the points. In addition, even when a plurality of vendors implement the host service according to the present invention with different information services and points with different names, the points of each host can be objectively measured by the amount of calculation, so they are exchanged between the hosts. Is easy. Therefore, this point has a function as convertible money and can be widely used as convertible money in electronic settlement when purchasing goods on the Internet.
[0103]
The user can earn points to contribute to depreciation of purchased personal computers. In addition, there is an advantage that points can be earned by directly performing the work by itself during the chopped time, or boring can be distracted. Furthermore, it is possible to provide an opportunity for a handicapped person to work without moving at home or on the bed.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a parallel processing calculation entrusting system via the Internet of the present invention.
FIG. 2 is a diagram showing an operation flow of the entire parallel processing calculation commissioning system of the present invention.
FIG. 3 is a diagram showing a flow of applet processing in a client computer of a consignment system of the present invention.
FIG. 4 is an explanatory diagram of a flow of a computational resource / information service and a cache according to the present invention.
[Explanation of symbols]
1 Parallel processing computation consignment system via the Internet
10 Host computer (host) of information service provider
11 Web server including firewall
12 Application server
12a Calculation assignment application screen transmission / input assignment reception storage means
12b Service input screen transmission / request service storage means
12c Meta-calculation applet generation transmission / activation means
12d Information service transmission / optimum solution search means
12e Receiving evaluation function solution / Repeated calculation receiving means
12f Client computing resource measurement means
12x Information provision service business software
13 Database server
14 Database
14a Database for calculation tasks
14b Request service reception database
14c Information service database
14x customer / user membership database
14y customer / user processing result database
14z Customer / user usage history database
15 Business processing terminal
20 Internet line
30 Customer's customer computer (customer) entrusting calculation tasks
30a Web browser
40 Client computer (client) of the user who uses the information provision service
40a Web browser
40b Meta-calculation applet program sent from host computer

Claims (2)

インターネットを介する情報提供サービス事業者の少なくともWebサーバを備えたホストコンピュータにおいて、モンテカルロ法による遺伝的アルゴリズムの最適解探索に関する並列処理計算課題を委託する企業、個人を含む顧客のカスタマコンピュータからインターネットを介し、前記計算課題を受託し、情報提供サービスを利用する複数のユーザのそれぞれのクライアントコンピュータからの各種サービス要求に応答してインターネットを介して対応する情報提供を送信するに際して、そのサービス処理中のバックグラウンド処理で前記計算課題をそれぞれのクライアントコンピュータ分散的に並列処理計算を行わせるメタ計算委託システムであって、
前記ホストコンピュータは、前記複数のカスタマコンピュータからの前記計算課題委託依頼に応答して、少なくとも演算プログラム・計算条件・計算資源の項目欄を含む計算課題申込画面をそれぞれのカスタマコンピュータへ送信し、カスタマコンピュータに入力された計算課題申込データを受信し、計算課題用データベースに蓄積する計算課題申込画面送信/入力課題受信蓄積手段と、
前記複数のクライアントコンピュータからのアクセス信号に応答して各種サービス要求を入力できるサービス入力画面をクライアントコンピュータへ送信し、各クライアントコンピュータに入力されたそれらの各種サービス要求データを受信して、要求サービス受付用データベースに保存するサービス入力画面送信/要求サービス保存手段と、
前記ホストコンピュータは、クライアントコンピュータから各種サービス要求を受信したとき、前記計算課題用データベースを読み出し、前記モンテカルロ法による遺伝的アルゴリズムの最適解探索の計算課題を解くためのメタ計算用アプレットを生成し、サービス要求のあったクライアントコンピュータへ送信して、クライアントコンピュータ上で起動させるメタ計算用アプレット生成送信/起動手段と、
前記ホストコンピュータは、送信したメタ計算用アプレットがクライアントコンピュータ上で起動したことを示す信号をクライアントコンピュータから受信し起動確認後クライアントコンピュータへ要求サービスに該当する情報サービスの送信を開始すると共に、その情報サービスのバックグラウンド処理でクライアントコンピュータで起動された前記メタ計算アプレットと交信し、実行すべき問題に関する初期値をランダムに生成する擬似乱数のための種になるシード値を含む計算課題情報データをホストコンピュータからクライアントコンピュータに送信し、前記モンテカルロ法による遺伝的アルゴリズムの最適解探索行わせる情報サービス送信/最適解探索手段と、
一方、クライアントコンピュータで起動されたメタ計算アプレットは、前記最適解探索に際して、クライアントコンピュータのユーザに最適個体の選択を適宜指示する作業をクライアントコンピュータ画面に表示し、ユーザが選択入力した最適解に関する情報をホストコンピュータに送信し、
ホストコンピュータは、クライアントコンピュータからそれらの最適解情報を受信し、その最適解情報をデータベースに記録し、もし情報サービス処理がまだ切断されていない状態にあれば、ホストコンピュータはクライアントコンピュータのメタ計算アプレットに対して次の初期値をランダムに生成する擬似乱数のための種になるシード値を含む計算課題情報データを送信し、新しいモンテカルロ法による遺伝的アルゴリズムの最適解探索の計算課題を繰返させる評価関数解受信/その繰返し計算受信手段とを備え、
前記情報サービス送信/最適解探索手段は、クライアントコンピュータの計算資源の大きさを計測するためのベンチマークテストプログラムを実行させるクライアント計算資源計測手段をさらに備え、ベンチマークテストによるクライアントコンピュータの計算資源のサイズの評価結果と計算課題の要求する性能が合致する計算課題情報データを前記計算課題用データベースを読み出し選択して送信することを特徴とするインターネットを介する並列処理計算委託システム。
From the customer's customer computer including the company and the individual who entrusts the parallel processing calculation problem related to the search for the optimal solution of the genetic algorithm by the Monte Carlo method on the host computer provided with at least the Web server of the information providing service provider via the Internet via the Internet In response to various service requests from respective client computers of a plurality of users who are entrusted with the calculation task and use the information providing service, the corresponding information provision is transmitted via the Internet. A meta-computation commission system that allows each client computer to perform parallel processing computation in a distributed manner on the calculation task in ground processing,
In response to the calculation task consignment request from the plurality of customer computers, the host computer transmits a calculation task application screen including at least a calculation program, a calculation condition, and a calculation resource item column to each customer computer. Calculation assignment application screen transmission / input assignment reception storage means for receiving calculation assignment application data input to a computer and storing it in a calculation assignment database;
A service input screen for inputting various service requests in response to access signals from the plurality of client computers is transmitted to the client computer, and the various service request data input to each client computer is received to receive the requested service. Service input screen transmission / request service storage means to be stored in the database for use;
When the host computer receives various service requests from the client computer, the host computer reads the calculation task database and generates a meta-calculation applet for solving the calculation task for searching the optimal solution of the genetic algorithm by the Monte Carlo method. A meta-calculation applet generation transmission / starting means that is sent to the client computer that requested the service and started on the client computer;
The host computer is started after confirmation receiving a signal indicating that the transmitted meta calculated applet is started on the client computer from the client computer, and starts the transmission of the information service corresponding to the requested service to the client computer, the Communicating with the meta-calculation applet started on the client computer in the background processing of the information service, the calculation task information data including a seed value that becomes a seed for a pseudo-random number that randomly generates an initial value regarding a problem to be executed An information service transmission / optimum solution searching means for transmitting from the host computer to the client computer and searching for the optimal solution of the genetic algorithm by the Monte Carlo method ;
On the other hand, the meta-calculation applet activated on the client computer displays, on the client computer screen, an operation for appropriately instructing the user of the client computer to select the optimum individual when searching for the optimum solution, and information on the optimum solution selected and input by the user. To the host computer,
The host computer receives their optimal solution information from the client computer, and records the optimum solution information in the database, if the state if information service processing has not yet been cut, the host computer meth calculation applet on the client computer evaluation transmits the calculated assignment information data including the seed value to become seeds for the pseudo random number generated randomly for the next initial values, to repeat the calculation problem of the optimal solution search of a genetic algorithm with a new Monte Carlo method with respect to A function solution reception / repetition calculation reception means,
The information service transmission / optimum solution search means further includes client calculation resource measurement means for executing a benchmark test program for measuring the size of the calculation resource of the client computer, and the size of the calculation resource of the client computer by the benchmark test A parallel processing calculation commissioning system via the Internet, wherein the calculation task information data whose evaluation result matches the performance required by the calculation task is read out from the calculation task database and selected .
前記並列処理計算委託システムは、クライアント側の寄与量に応じたポイントをホスト 側のデータベースに記録し、前記ポイントを蓄積したユーザのクライアントコンピュータ間またはユーザーと情報サービス事業者のホストコンピュータ、並列計算課題を委託するカスタマーコンピュータ間で暗号化されたユーザID番号により匿名性を保ってポイントとサービス・物品・金銭とを交換するポイント交換サービス手段を備えていることを特徴とする請求項1記載のインターネットを介する並列処理計算委託システム。 The parallel processing calculation consignment system records points according to the amount of contribution on the client side in a database on the host side, and stores the points between the user's client computers or between the user and the information service provider's host computer, a parallel calculation task 2. The Internet according to claim 1, further comprising point exchange service means for exchanging points and services / goods / money while maintaining anonymity by means of an encrypted user ID number between customer computers entrusting the customer. A parallel processing computation commission system.
JP2001188923A 2001-06-21 2001-06-21 Parallel processing computation commission system via the Internet Expired - Lifetime JP3966375B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001188923A JP3966375B2 (en) 2001-06-21 2001-06-21 Parallel processing computation commission system via the Internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001188923A JP3966375B2 (en) 2001-06-21 2001-06-21 Parallel processing computation commission system via the Internet

Publications (2)

Publication Number Publication Date
JP2003006171A JP2003006171A (en) 2003-01-10
JP3966375B2 true JP3966375B2 (en) 2007-08-29

Family

ID=19027926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001188923A Expired - Lifetime JP3966375B2 (en) 2001-06-21 2001-06-21 Parallel processing computation commission system via the Internet

Country Status (1)

Country Link
JP (1) JP3966375B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103337034A (en) * 2013-06-08 2013-10-02 安徽磬鑫软件科技有限公司 Share price prediction method based on mixed algorithm of Monte Carlo and grey prediction

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131649B2 (en) * 2003-02-07 2012-03-06 Igware, Inc. Static-or-dynamic and limited-or-unlimited content rights
US20100017627A1 (en) 2003-02-07 2010-01-21 Broadon Communications Corp. Ensuring authenticity in a closed content distribution system
US8255059B2 (en) 2003-03-11 2012-08-28 Cochlear Limited Using a genetic algorithm to fit a medical implant system to a patient
US8355794B2 (en) 2003-03-11 2013-01-15 Cochlear Limited Using a genetic algorithm in mixed mode device
US6879860B2 (en) 2003-03-11 2005-04-12 Gregory Howard Wakefield Cochlear implant MAP optimization with use of a genetic algorithm
JP4963855B2 (en) * 2006-03-28 2012-06-27 株式会社ソニー・コンピュータエンタテインメント Network computing system and multiprocessor computer
JP4926774B2 (en) * 2007-03-20 2012-05-09 株式会社エヌ・ティ・ティ・データ Grid system, grid processing method, and computer program
JP5061167B2 (en) * 2009-09-08 2012-10-31 株式会社野村総合研究所 Cloud computing system
US8825168B2 (en) 2009-09-10 2014-09-02 Cochlear Limited Using a genetic algorithm employing dynamic mutation
US8401978B2 (en) 2009-09-10 2013-03-19 Cochlear Limited Using a genetic algorithm employing an expedited convergence mechanism to at least partially fit a medical implant to a patient using patient feedback
JP5260567B2 (en) * 2010-01-27 2013-08-14 株式会社野村総合研究所 Cloud computing system
JP7566224B1 (en) * 2023-03-27 2024-10-11 モルゲンロット株式会社 Information processing device, information processing method, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103337034A (en) * 2013-06-08 2013-10-02 安徽磬鑫软件科技有限公司 Share price prediction method based on mixed algorithm of Monte Carlo and grey prediction

Also Published As

Publication number Publication date
JP2003006171A (en) 2003-01-10

Similar Documents

Publication Publication Date Title
Beniiche A study of blockchain oracles
Van Wegberg et al. Bitcoin money laundering: mixed results? An explorative study on money laundering of cybercrime proceeds using bitcoin
TWI757919B (en) Method and computer device for processing personal data base on block chain
US20140344015A1 (en) Systems and methods enabling consumers to control and monetize their personal data
CN100565448C (en) Be used to provide the computer-implemented method of electronics belly board
KR102293877B1 (en) System and method for processing tour event via block chain
JP3966375B2 (en) Parallel processing computation commission system via the Internet
KR101732093B1 (en) Integrated support system for start up project
Lisi et al. Rewarding reviews with tokens: An ethereum-based approach
US20150081381A1 (en) System and method for recording time
JP2003256639A (en) Activity management method
US20210342822A1 (en) Compliance based data transaction network
Taghavi et al. A reinforcement learning model for the reliability of blockchain oracles
Ha et al. Where WTS meets WTB: A Blockchain-based Marketplace for Digital Me to trade users’ private data
JP2019079502A (en) Item trading system and item trading program
US20020107783A1 (en) System and method for online virtual collections
JP2019076350A (en) Item trading system and item trading program
US20080281757A1 (en) Trusted privacy information management
Rubinstein et al. The trouble with Article 25 (and how to fix it): the future of data protection by design and default
US8321289B2 (en) Method for making use of site activity index and a system thereof
CN115525919A (en) Method, device and system for determining computing resources in privacy computing
Dragovic et al. Managing trust and reputation in the XenoServer Open Platform
Li et al. A fair, verifiable and privacy-protecting data outsourcing transaction scheme based on smart contracts
Batool et al. Block-RACS: Towards Reputation-Aware Client Selection and Monetization Mechanism for Federated Learning
JP6809768B1 (en) Questionnaire data management / analysis system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060314

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070109

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070219

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070416

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070522

R150 Certificate of patent or registration of utility model

Ref document number: 3966375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120608

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130608

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term