(57)【要約】【課題】    計算機資源を適正な条件で提供しあるいは利用することのできる課金方法を提供する。【解決手段】  分散コンピュータシステムを構成する他コンピュータに処理を依頼する際の依頼条件としてリソースの使用量を含む処理条件およびリソースの使用料である課金量を予め設定する依頼作成部２０１と、実際に依頼する目的ジョブの処理要求以前に、依頼作成部２０１が設定した依頼条件および前記目的ジョブと同等のリソースを消費するサンプルジョブを生成し、生成したサンプルジョブを他コンピュータに提示する依頼投入部２０２を備えた。【選択図】    図３
2005338943.tif 000002
【特許請求の範囲】
【請求項１】
分散コンピュータシステムを構成する他コンピュータに処理を依頼する際の依頼条件としてリソースの使用量を含む処理条件およびリソースの使用料である課金量を予め設定する依頼作成部と、
実際に依頼する目的ジョブの処理要求以前に、依頼作成部が設定した依頼条件および前記目的ジョブと同等のリソースを消費するサンプルジョブを生成し、生成したサンプルジョブを他コンピュータに提示する依頼投入部を備えたことを特徴とするコンピュータの課金装置。
【請求項２】
請求項１記載のコンピュータの課金装置において、
提示した依頼条件で処理可能な他コンピュータである応募コンピュータによるサンプルジョブの処理結果を受信し、受信した処理結果の判定結果をもとに目的ジョブを応募コンピュータに送信する提供者受付部を備えたことを特徴とするコンピュータの課金装置。
【請求項３】
請求項２記載のコンピュータの課金装置において、
応募コンピュータによる目的ジョブの処理結果および応募コンピュータのリソースの使用料である課金を記録する結果集計部を備えたことを特徴とするコンピュータの課金装置。
【請求項４】
分散コンピュータシステムを構成する他コンピュータが提供する依頼条件および実際に処理すべき目的ジョブと同等のリソースを消費するサンプルジョブを収集する依頼収集部と、
収集したサンプルジョブを実行するサンプル実行部と、
依頼条件に含まれる依頼処理側コンピュータが設定した課金量と前記目的ジョブの処理能力を提供する提供コンピュータ側が設定した課金量を対比して、依頼処理側コンピュータが設定した課金量が大であるとき目的ジョブの送信を要求する目的ジョブ処理準備部を備えたことを特徴とするコンピュータの課金装置。
【請求項５】
請求項４記載のコンピュータの課金装置において、
受信した目的ジョブを実行する目的ジョブ実行部、および課金量を含む実行結果を集計する実績集計部を備えたことを特徴とするコンピュータの課金装置。
【請求項６】
コンピュータを、分散コンピュータシステムを構成する他コンピュータに処理を依頼する際の依頼条件としてリソースの使用量を含む処理条件およびリソースの使用料である課金量を予め設定する依頼作成手段手段、並びに実際に依頼する目的ジョブの処理要求以前に、依頼条件設定部が設定した依頼条件、および前記目的ジョブと同等のリソースを消費するサンプルジョブを生成し生成したサンプルジョブを、他コンピュータに提示する依頼投入手段として機能させることを特徴とするコンピュータの課金用プログラム。
【請求項７】
請求項６記載のコンピュータの課金用プログラムにおいて、
コンピュータを、提示した依頼条件で処理可能な他コンピュータである応募コンピュータによるサンプルジョブの処理結果を受信し、受信した処理結果の判定結果をもとに目的ジョブを応募コンピュータに送信する提供者受付手段として機能させるためのプログラムを備えたことを特徴とするコンピュータの課金用プログラム。
【請求項８】
請求項７記載のコンピュータの課金用プログラムにおいて、
コンピュータを、応募コンピュータによる目的ジョブの処理結果および応募コンピュータのリソースの使用料である課金を記録する結果集計手段として機能させるためのプログラムを備えたことを特徴とするコンピュータの課金用プログラム。
【請求項９】
コンピュータを、分散コンピュータシステムを構成する他コンピュータが提供する、依頼条件および実際に処理すべき目的ジョブと同等のリソースを消費するサンプルジョブを収集する依頼収集手段、収集したサンプルジョブを実行するサンプル実行手段、並びに依頼条件に含まれる依頼処理側コンピュータが設定した課金量と前記目的ジョブの処理能力を提供する提供コンピュータ側が設定した課金量を対比して、依頼処理側コンピュータが設定した課金量が大であるとき、目的ジョブの送信を要求する目的ジョブ処理準備手段として機能させることを特徴とするコンピュータの課金用プログラム。
【請求項１０】
請求項９記載のコンピュータの課金用プログラムにおいて、
コンピュータを、受信した目的ジョブを実行する目的ジョブ実行手段、および課金量を含む実行結果を集計する実績集計手段として機能させるプログラムを備えたことを特徴とするコンピュータの課金用プログラム。
【請求項１１】
他コンピュータに処理を依頼する際の依頼条件としてリソースの使用量を含む処理条件およびリソースの使用料である課金量を予め設定する工程と、
前記依頼条件、および依頼すべき目的ジョブと同等のリソースを消費するサンプルジョブを他コンピュータに提示する工程と、
提示した依頼条件で処理可能な他コンピュータである応募コンピュータによるサンプルジョブの処理結果を受信し、受信した処理結果をもとに目的ジョブを応募コンピュータに送信する工程と、
応募コンピュータによる目的ジョブの処理結果および応募コンピュータのリソースの使用料である課金量を記録する工程を備えたことを特徴とするコンピュータの課金方法。
【請求項１２】
他コンピュータが提供する依頼条件および実際に処理すべき目的ジョブと同等のリソースを消費するサンプルジョブを収集する工程と、
収集したサンプルジョブを実行し、依頼条件に含まれる依頼処理側コンピュータが設定した課金量と前記目的ジョブの処理能力を提供する提供コンピュータ側が設定した課金量を対比して、依頼処理側コンピュータが設定した課金量が大であるとき、目的ジョブの送信を要求する工程を備えたことを特徴とするコンピュータの課金方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの課金装置および課金方法等に係り、特に分散コンピュータシステムにおけるコンピュータの課金の方法に関する。
【背景技術】
【０００２】
近年、大規模な数値演算を行なう科学技術計算の分野等においては、１台のコンピュータでは目的とする演算に見合う処理能力を確保することは困難になってきた。このため、目的とする処理を並列処理可能な複数の処理に分割し、分割したそれぞれの処理をそれぞれ独立して並列動作する複数のコンピュータに配分して並列に処理するという処理方法が一般的になってきた。この方法によれば、目的とする処理に見合った処理能力を容易に確保することができる。
【０００３】
また、携帯可能な小型のコンピュータ等では処理の規模が大きすぎて自力で処理できないような場合、ネットワークを介して処理能力の高い他のコンピュータに処理を依頼し、その結果のみを取得するという処理形態も知られている。このように複数のコンピュータを協調して使用して、所定の目的を達成するシステムは、分散コンピュータシステムと呼ばれている。
【０００４】
なお、分散コンピュータシステムの構築に際しては、例えば、特定の団体が分散コンピュータシステムの構築に際して有志を募り、このシステム目的、課金単価等を取り決めて、この取り決めに賛同を得られた範囲でコンピュータ所有者をシステムに組み入れる。また、世界的な規模での大規模分散コンピュータシステムの構築の試みもなされたが、興味の対象としての目的に賛同する所有者からの無償による賛同という一部の特殊なケースでしか成功していない。科学技術計算などで要求されるより大規模な処理への対応、計算機センター間での処理能力の売買、あるいはユビキタスネットワーク社会の到来に向け、世界的規模の大規模分散コンピュータシステムを実現するためには、これまで以上に自由度の高いコンピュータ間での処理の依頼・受諾を可能にする融通性の高い課金方法が必要とされている。
【０００５】
ところで、それぞれのコンピュータには、それぞれ所有者が存在する。このため、分散コンピュータシステム等において、所有者が他人にそのコンピュータを利用させる場合、利用に見合った料金を徴収することは当然のことである。このため、コンピュータの使用時間、あるいはメモリ、ディスク等のリソースの使用量に応じて課金を行う課金システムが利用されるようになった。
【０００６】
分散コンピュータシステムを構成する複数のコンピュータ間で課金を行なう方法として、あらかじめ各コンピュータ間で共通の課金単価を決めておき、実際の課金量（使用料）は、課金を取り纏めるコンピュータが統合的に管理する課金方法が知られている。この方法によれば、あるコンピュータからほかのコンピュータに処理が要求されると、処理を要求されたコンピュータは、課金を取り纏めるコンピュータから処理を要求したコンピュータに関する課金情報を取り寄せ、取り寄せた課金情報に基づき処理要求を受付けるかどうかを判定する。そして、要求された処理を実行する場合は、処理を実行するコンピュータ側で課金量を計算し、計算結果を課金を取り纏めるコンピュータに送信する。
【０００７】
また、特許文献１には、処理を要求するコンピュータと処理を要求されたコンピュータ間で、嗜好に応じたインセンティブと余剰計算機資源を交換する分散コンピューティングシステムが示されている。
【特許文献１】特開２００３−２５６３８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述のように、従来の分散コンピュータシステムでは、コンピュータ資源の使用量に関して課金を行なうためには、分散コンピュータシステムを構成する各コンピュータ間においてあらかじめ課金単価を共有する必要がある。これに対して、現実のコンピュータ所有者には種々の事情がある。このため、予め決められた限られた種類の固定的な課金単価では、分散コンピュータシステムに賛同するコンピュータ所有者の数を増加させて、システムの規模を拡大することは困難である。すなわち、このような課金方法では、分散コンピュータシステムを構成するコンピュータの台数規模は小規模なものにならざるを得ない。
【０００９】
また、特許文献１記載の分散コンピューティングシステムでは、嗜好に応じたインセンティブと余剰計算機資源を交換することが示されている。しかしながら、このシステムを含む従来のシステムでは、実際に行った処理量に対して、この処理量に見合った課金量（使用料）を得ることができるか否かは実際に処理を行った後でなければ判定することができない。すなわち、このシステムでは、処理量とそれに見合う課金量についての所有者の事情については考慮されておらず、処理を要求するコンピュータと処理を要求されたコンピュータの双方の所有者に満足する値が得られるとは限らない。
【００１０】
本発明はこれらの問題点に鑑みてなされたもので、例えば余剰の計算機資源を適正な条件で提供しあるいは利用することのできる課金方法を提供する。
【課題を解決するための手段】
【００１１】
本発明は上記課題を解決するため、次のような手段を採用した。
【００１２】
分散コンピュータシステムを構成する他コンピュータに処理を依頼する際の依頼条件としてリソースの使用量を含む処理条件およびリソースの使用料である課金量を予め設定する依頼作成部と、実際に依頼する目的ジョブの処理要求以前に、依頼作成部が設定した依頼条件および前記目的ジョブと同等のリソースを消費するサンプルジョブを生成し、生成したサンプルジョブを他コンピュータに提示する依頼投入部を備えた。
【発明の効果】
【００１３】
本発明は、以上の構成を備えるため、余剰の計算機資源を適正な条件で提供することのできる課金方法を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、最良の実施形態を添付図面を参照しながら説明する。図１は本実施形態に係る分散コンピュータシステムを説明する図である。また、図２は、この分散コンピュータシステムにおける処理の流れの概要を説明する図である。尚、破線の矢印はデータの送受信を表す。
【００１５】
分散コンピュータシステムは、処理を依頼する依頼者システム（１０１）、およびコンピュータリソースを提供する提供者システム（１０７）を備え、これらが協調して動作することで、分散コンピューティングシステムとして機能する。
【００１６】
依頼者は、依頼者システム（１０１）を操作して、依頼の諸条件（１０５）を設定（１０２）し、また、目的ジョブ（１０３）の投入を行なう（ステップ１５０１）。諸条件設定（１０２）は、例えば、これから行なう依頼に対する課金単価（依頼単価）の上限値である。
【００１７】
依頼者システム（１０１）では、目的ジョブ（１０３）からサンプルジョブ（１０６）を作成する（ステップ１５０２）。次いで、依頼者システム（１０１）は、作成したサンプルジョブ（１０６）に諸条件（１０５）を付加して依頼（１０４）を作成する（ステップ１５０３）。諸条件（１０５）は、ジョブ（１１２）実行に対する課金（１１５）あるいは実行の期限などを定義したものである。
【００１８】
次いで、依頼者システム（１０１）は、インターネット等を利用し、ジョブ（１１２）を実行してくれる提供者システム（１０７）を募集する（ステップ１５０４）。
【００１９】
一方、提供者（計算機資源の提供者）は、提供者システム（１０７）に諸条件設定（１０８）の設定を行なう（ステップ１５１５）。諸条件設定（１０８）は、例えば、ＣＰＵ使用量、メモリ使用量、ディスク使用量などを総合したコンピュータリソースの使用量あたりの課金単価の下限値である。提供者システム（１０７）は、インターネットを巡回し依頼者システム（１０１）からの依頼（１０４）を探索する（ステップ１５１６）。依頼（１０４）を発見した（ステップ１５１７）提供者システム（１０７）は、依頼者システム（１０１）から依頼（１０４）を入手する（ステップ１５１８）。
【００２０】
提供者システム（１０７）は、自己の諸条件設定（１０８）と依頼（１０４）の諸条件（１０５）が合致する場合（ステップ１５１９）には、サンプルジョブ（１０６）を実行し（ステップ１５２０）、その結果データ（１１１）と提供者システム（１０７）が提示する諸条件（１１０）から応募（１０９）を作成し、依頼者システム（１０１）へ依頼（１０４）の引き受けを応募する（ステップ１５２１）。提供者システム（１０７）が提示する諸条件（１１０）は、依頼されたジョブ（１１２）の実行結果提供への対価として請求する課金（１１５）である。
【００２１】
応募（１０９）を受け取った（ステップ１５０５）（ステップ１５０６）依頼者システム（１０１）は、自己の諸条件設定（１０２）に応募（１０９）の諸条件（１１０）が合致する場合に（ステップ１５０７）、実際のジョブ（１１２）を提供者システム（１０７）に依頼する。なお、依頼者システム（１０１）は、応募が自己の諸条件設定（１０２）に合致しない場合は（ステップ１５０７）、提供者システム（１０７）に対し応募却下の合図を送付する（ステップ１５０８）。
【００２２】
実際のジョブを依頼する場合、依頼者システム（１０１）は、提供者システム（１０７）にジョブ（１１２）を送付する（ステップ１５０９）。提供者システム（１０７）は、ジョブ（１１２）を受け取り（ステップ１５２２）（ステップ１５２３）、ジョブ（１１２）を処理し（ステップ１５２５）、課金（１１５）を記録し（ステップ１５２６）、処理結果のデータ（１１４）と課金（１１５）を結果（１１３）として依頼者システム（１０１）へ送信する（ステップ１５２７）。
【００２３】
依頼者システム（１０１）は、結果（１１３）を受け取り記録する（ステップ１５１０）。ジョブ（１１２）がまだあれば（ステップ１５１２）、ジョブ（１１２）をさらに送付し、ジョブ（１１２）がもうなければ（ステップ１５１２）、終了の合図を提供者システム（１０７）へ送付し（ステップ１５１３）、結果（１１３）から目的の成果（１１６）と課金合計（１１７）を集計する（ステップ１５１４）。
【００２４】
ジョブの実行履歴は、課金情報として、依頼者システム（１０１）と、提供者システム（１０７）の双方で管理する。後に課金情報に基づき、電子決済などの手段で課金の清算を行なうためである。
【００２５】
最初に依頼者システム（１０１）から提供者システム（１０７）へ提示する課金単価は、なるべく低い数値、例えば０であり、それが提供者システム（１０７）に設定されている課金単価下限値を下回る場合、提供者システム（１０７）から依頼者システム（１０１）に対し、提供者システム（１０７）に設定されている課金単価下限値にて課金単価を要求し、その要求された課金単価が、依頼者システム（１０１）に設定されている課金単価上限値を下回る場合に、依頼者システム（１０１）からのジョブ（１１２）の処理要求が、提供者システム（１０７）で受け入れられることになる。すなわち、双方で合意された課金単価によりジョブ（１１２）が処理されることになる。
【００２６】
次に、依頼者システム（１０１）および提供者システム（１０７）の構成および処理動作の詳細を説明する。尚、コンピュータリソースは、その例としてＣＰＵ、メモリ、ディスクの３つを用いて説明する。
【００２７】
（１）依頼者システム
図３は、依頼者システム（１０１）を説明する図である。依頼者システム（１０１）は依頼作成部（２０１）、依頼投入部（２０２）、提供者受付部（２０３）、結果受信部（２０４）および結果集計部（２０５）を備える。なお、依頼作成部（２０１）、依頼投入部（２０２）、提供者受付部（２０３）、結果受信部（２０４）および結果集計部（２０５）はそれぞれ独立して並列に動作し、全体として依頼者システム（１０１）として機能する。
【００２８】
図４は、依頼者システム１０１の依頼作成部（２０１）の処理の流れを説明する図である。依頼作成部（２０１）では、依頼者（２０９）が端末（２０８）を通して依頼条件設定情報（１０２）を入力し（ステップ１６０１）、目的ジョブ（１０３）を投入する（１６０２）。次いで、依頼作成部（２０１）は、目的ジョブ（１０３）からサンプルジョブ（１０６）を作成する。サンプルジョブ（１０６）は目的ジョブ（１０３）を適当な単位に分割したジョブ（１１２）と同等のリソースを消費するジョブ（１１２）であり、またサンプルジョブ（１０６）を実行した結果には、本来の処理結果に加え、サンプルジョブ（１０６）実行にかかった時間を記録する機能を有する（ステップ１６０３）。
【００２９】
依頼作成部（２０１）は、依頼（１０４）を作成する。依頼（１０４）の各パラメータは依頼条件設定情報（１０２）に基づき決定し、さらに依頼（１０４）にサンプルジョブ（１０６）を格納する（ステップ１６０４）。次いで、依頼作成部（２０１）は、目的ジョブ（１０３）を適当な単位で複数のジョブ（１１２）に分割する（ステップ１６０５）。次いで、ジョブ（１１２）の数と同じ数のプロファイル（２０７）を作成し、各々のプロファイル（２０７）にジョブ（１１２）を１つずつリンクする（ステップ１６０６）。次いで、依頼作成部（２０１）は、プロファイル（２０７）を依頼（１０４）にキューイングし、分割されたジョブ（１１２）をプロファイル（２０７）を介して依頼（１０４）に関連づける（ステップ１６０７）。次いで、依頼（１０４）を依頼キュー（２０６）へキューイングする（ステップ１６０８）。
【００３０】
図５は、依頼条件設定情報（１０２）を説明する図である。依頼条件設定情報（１０２）は、依頼者システム（１０１）の電子証明書（４０１）、依頼のタイトル（４０２）、処理条件（４０３）、リソースの目安となる使用量（４０８）、依頼の期限（４１２）、サンプル実行の最長時間（４１３）、提示する課金単価（４１４）、および課金単価の上限（４１５）を格納したひとまとまりの情報である。なお、処理条件（４０３）は、ＣＰＵ種別（４０４）、ＯＳ種別（４０５）、メモリサイズ（４０６）、およびディスクサイズ（４０７）を格納したひとまとまりの情報である。また、リソースの目安となる使用量（４０８）は、ＣＰＵ使用量（４０９）、メモリ使用量（４１０）、およびディスク使用量（４１１）を格納したひとまとまりの情報である。
【００３１】
図６は、依頼（１０４）に設定する依頼情報を説明する図である。図６に示すように、依頼情報は、依頼者システム（１０１）の電子証明書（５０１）、依頼のタイトル（５０２）、処理条件（５０３）、サンプルジョブ（５０８）、ジョブ（１１２）実行に必要なリソースの目安となる使用量（５０９）、依頼への課金単価（５１３）、依頼の期限（５１４）、依頼へのポインタ（５１５）、プロファイルへのポインタ（５１６）を格納したひとまとまりの情報である。
【００３２】
図７は、ジョブ（１１２）を説明する図である。ジョブ（１１２）は、図７に示すように、依頼者システム（１０１）の電子証明書（９０１）、依頼のタイトル（９０２）、ジョブの番号（９０３）、プログラム（９０４）、データ（９０５）を格納したひとまとまりの情報である。
【００３３】
図８は、プロファイル（２０７）を説明する図である。プロファイル（２０７）は図８に示すように、ジョブ（１１２）へのポインタ（７０１）、結果（１１３）へのポインタ（７０２）、次のプロファイル（２０７）へのポインタ（７０３）を格納したひとまとまりの情報である。
【００３４】
図９は、依頼者システム（１０１）の依頼投入部（２０２）の処理の流れを説明する図である。依頼投入部（２０２）は、依頼キュー（２０６）から依頼（１０４）を１件取り出す（ステップ１７０１）。依頼（１０４）があれば（ステップ１７０２）、インターネットなどで提供者システム（１０７）がアクセス可能な領域に依頼（１０４）を格納する（ステップ１７０３）。依頼（１０４）がなければ（ステップ１７０２）、依頼キュー（２０６）から依頼（１０４）を取り出す処理（ステップ１７０１）に戻る。
【００３５】
尚、依頼者システムと提供者システムでのデータの送受信はＨＴＴＰプロトコルなどを用いるとよい。また、依頼（１０４）には電子証明書を含んでいるため、以降の通信は認証局を利用したＳＳＬ通信が可能である。
【００３６】
図１０は、依頼者システム（１０１）の提供者受付部（２０３）の処理の流れを説明する図である。提供者受付部（２０３）は、依頼（１０４）の実行の応募（１０９）を待ち（ステップ１８０１）（ステップ１８０２）、ジョブ（１１２）の提供要請としての応募（１０９）を受け取ると、応募（１０９）から提供者システム（１０７）によるサンプルジョブ（１０６）の実行結果（１１４）と提供者システム（１０７）が提示した諸条件（１１０）を取り出す（ステップ１８０３）。
【００３７】
提供者受付部（２０３）は、実行結果（１１４）が正しくない場合（ステップ１８０４）、応募（１０９）を却下する（ステップ１８０５）。実行結果（１１４）が正しい場合（１８０４）は、実行結果（１１４）からサンプルジョブ（１０６）実行に費やした時間を読み取る。サンプルジョブ（１０６）の実行にかかった時間が依頼条件設定情報（１０２）に設定された最長実行時間（４１３）よりも長い場合（ステップ１８０７）、応募（１０９）を却下する（ステップ１８０８）。
【００３８】
実行にかかった時間が依頼条件設定情報（１０２）に設定された最長実行時間（４１３）よりも短いか等しい場合（ステップ１８０７）で、且つ提供者システム（１０７）から提示された諸条件（１１０）に含まれる要求課金単価（８０４）が、依頼条件設定情報（１０２）に設定された課金単価上限（４１５）よりも大きい場合（ステップ１８０９）、応募（１０９）を却下する（ステップ１８１０）。
【００３９】
要求課金単価（８０４）が、依頼条件設定情報（１０２）に設定された課金単価上限（４１５）よりも大きくない場合（ステップ１８０９）、提供者システム（１０７）に対しジョブ（１１２）を送付する（ステップ１８１１）。
【００４０】
図１１は、応募（１０９）の詳細を説明する図であり、図１１に示すように、提供者システム（１０７）の電子証明書（８０１）、依頼者システム（１０１）の電子証明書（８０２）、依頼のタイトル（８０３）、要求課金単価（８０４）、処理結果データ（８０５）を格納したひとまとまりの情報である。
【００４１】
図１２は、依頼者システム（１０１）の結果受信部（２０４）の処理の流れを説明する図である。結果受信部（２０４）は、結果（１１３）の到着を待ち（ステップ１９０１）（ステップ１９０２）、提供者システム（１０７）から結果（１１３）を受取ると、それを対応するプロファイル（２０７）にリンクする（ステップ１９０３）。ジョブ（１１２）がまだある場合（ステップ１９０４）は、次のジョブ（１１２）を提供者システム（１０７）へ送信する（ステップ１９０６）。ジョブ（１１２）がもうない場合（ステップ１９０４）は、ジョブ（１１２）がなくなった合図を提供者システム（１０７）へ送信する（ステップ１９０５）。
【００４２】
図１３は、結果（１１３）の詳細を説明する図である。結果（１１３）は図１３に示すように、提供者システム（１０７）の電子証明書（１００１）、依頼者システム（１０１）の電子証明書（１００２）、依頼のタイトル（１００３）、課金清算フラグ（１００４）、課金（１００５）、および処理結果データ（１００６）を格納したひとまとまりの情報である。
【００４３】
図１４は、依頼者システム（１０１）の結果集計部（２０５）の処理の流れを説明する図である。結果集計部（２０５）は、結果（１１３）の到着を待ち（ステップ２００１）、依頼キュー（２０６）を探索し結果（１１３）を集計するのに十分な結果（１１３）が集まった（ステップ２００２）依頼（１０４）について結果（１１３）を集計し依頼（１０４）へ格納する（ステップ２００３）。依頼者（２０９）の端末（２０８）からの指示により（ステップ２００４）指定された依頼（１０４）の結果を端末（２０８）に出力する（ステップ２００５）。これにより依頼者（２０９）は目的の成果（１１６）を得ることができる。
【００４４】
（２）提供者システム
図１５は、提供者システムを説明する図である。提供者システム（１０７）は依頼収集部（３０１）、サンプル実行部（３０２）、目的ジョブ処理準備部（３０３）、目的ジョブ処理実行部（３０４）、および実績集計部（３０５）を備える。依頼収集部（３０１）、サンプル実行部（３０２）、目的ジョブ処理準備部（３０３）、目的ジョブ処理実行部（３０４）、実績集計部（３０５）はそれぞれ独立し並列に動作し、全体として提供者システム（１０７）として機能する。
【００４５】
図１６は、提供者システム（１０７）の依頼収集部（３０１）の処理の流れを説明する図である。依頼収集部（３０１）は、依頼者システムリスト（３０６）（図１７参照）から依頼者システム情報（１２００）を１件読み込む（ステップ２１０１）。依頼者システム情報（１２００）に含まれる依頼者システム（１０１）の電子証明書（１２０１）をキーにして、依頼拒否システムリスト（３０７）を検索し、その中に電子証明書（１２０１）と合致する電子証明書（１２０１）が含まれている場合（ステップ２１０２）、この依頼者システム情報（１２００）を無視し、次の依頼者システム情報（１２００）を１件読み込む（ステップ２１０１）。
【００４６】
依頼拒否システムリスト（３０７）に含まれていない場合（ステップ２１０２）、依頼者システム情報（１２００）に含まれるＵＲＬ（１２０２）にアクセスする（ステップ２１０３）。アクセスした結果、依頼（１０４）がなかった場合（ステップ２１０４）、依頼者システムリスト（３０６）にから次の依頼者システム情報（１２００）を１件読み込む（ステップ２１０１）。
【００４７】
依頼（１０４）があった場合（ステップ２１０４）、依頼者システム（１０１）から依頼（１０４）を読み込み（ステップ２１０５）、依頼キュー（３１４）へキューイングする（ステップ２１０６）。次いで、依頼キュー（３１４）を走査し期限切れの依頼は削除する（ステップ２１０７）。
【００４８】
依頼者システムリスト（３０６）はあらかじめ設定した設定値で固定しても良いし、インターネット上の検索サービス等を用いて自動更新しても良い。依頼拒否システムリスト（３０７）はあらかじめ設定しておく。
【００４９】
図１７は、依頼者システムリスト（３０６）の詳細を説明する図である。依頼者システムリスト（３０６）は、図１７に示すように、依頼者システムの情報（１２００）のリストである。依頼者システムの情報（１２００）は、依頼者システム（１０１）の電子証明書（１２０１）およびＵＲＬ（１２０２）を格納したひとまとまりの情報である。
【００５０】
図１８は、依頼拒否システムリスト（３０７）の詳細を説明する図である。依頼拒否システムリスト（３０７）とは、図１８に示すように、依頼を拒否したい依頼者システムの情報（１２００）のリストである。
【００５１】
図１９は、提供者システム（１０７）のサンプル実行部（３０２）の処理の流れを説明する図である。サンプル実行部（３０２）にはあらかじめ評価条件設定情報（１０８）を設定しておく。
【００５２】
サンプル実行部（３０２）は、依頼キュー（３１４）から依頼（１０４）を１件取り出し（ステップ２２０１）、依頼（１０４）に記載されている実行条件を提供者システム（１０７）が満たしている場合（ステップ２２０２）、依頼（１０４）に格納されているサンプルジョブ（１０６）を実行し、実行結果データ、処理時間、メモリ使用量、およびディスク使用量を得る（ステップ２２０３）。次いで、サンプル実行部（３０２）は、応募を１つ作成し、各パラメータを設定し、応募にサンプルジョブ（１０６）実行の実行結果データを格納する（ステップ２２０４）（ステップ２２０５）。
【００５３】
依頼（１０４）に記載されている課金単価（５１３）（図６参照）に基づき、図２０に示すように処理時間当たりの課金単価（６０２）、メモリ使用量あたりの課金単価（６０３）、およびディスク使用量あたりの課金単価（６０４）を計算し、評価（３０９）に格納する（ステップ２２０６、２２０７、２２０８）。
【００５４】
評価した結果と、図２１に示す評価条件設定情報（１０８）に含まれる処理時間あたりの最低課金（１４０７）、使用メモリあたりの最低課金（１４０８）、使用ディスクあたりの最低課金（１４０９）を比較し、条件を満たさない依頼（１０４）は依頼キュー（３１４）から削除する（ステップ２２１２）。条件を満たさない依頼は、処理時間当たりの課金単価が処理時間当たりの最低課金単価よりも大きくない（ステップ２２０９）か、メモリ使用量あたりの課金単価がメモリ使用量あたりの最低課金単価よりも大きくない（ステップ２２１０）か、ディスク使用量あたりの課金単価がディスク使用量あたりの最低課金単価よりも大きくない（ステップ２２１１）かである。
【００５５】
処理時間当たりの課金単価、メモリ使用量あたりの課金単価、およびディスク使用量あたりの課金単価、並びに、図２１に示す評価条件設定情報（１０８）に設定された処理時間への係数（１４１０）、使用メモリへの係数（１４１１）および使用ディスクへの係数（１４１２）を用いて、図２０に示す評価値（６０１）を計算し（ステップ２２１３）、計算した評価値（６０１）を処理時間当たりの課金単価（６０２）、メモリ使用量あたりの課金単価（６０３）、ディスク使用量あたりの課金単価（６０４）とともに評価（３０９）に格納し（ステップ２２１４）、この評価（３０９）を図１５に示すように評価値（６０１）の高い順にソートした状態で評価済み依頼キュー（３０８）へキューイングする（ステップ２２１５）。
【００５６】
図２０は、評価（３０９）を説明する図である。評価（３０９）は、図２０に示すように、評価値（６０１）、処理時間あたりの課金単価（６０２）、使用メモリあたりの課金単価（６０３）、使用ディスクあたりの課金単価（６０４）、依頼（１０４）へのポインタ（６０５）、および次の評価へのポインタ（６０６）を格納したひとまとまりの情報である。
【００５７】
図２１は、評価条件設定情報（１０８）を説明する図である。評価条件設定情報（１０８）は、図２１に示すように、提供者システム（１０７）の電子証明書（１４０１）、処理条件（１４０２）、処理時間あたりの最低課金（１４０７）、使用メモリあたりの最低課金（１４０８）、使用ディスクあたりの最低課金（１４０９）、処理時間への評価係数（１４１０）、使用メモリへの評価係数（１４１１）、および使用ディスクへの評価係数（１４１２）を格納したひとまとまりの情報である。なお、処理時間あたりの最低課金（１４０７）、使用メモリあたりの最低課金（１４０８）、および使用ディスクあたりの最低課金（１４０９）は、図１９のステップ２２０９、２２１０、２２１１で使用する情報であり、処理時間への評価係数（１４１０）、使用メモリへの評価係数（１４１１）、および使用ディスクへの評価係数（１４１２）は、図１９のステップ２２１３で使用する情報である。
【００５８】
図２２は、提供者システム（１０７）の目的ジョブ処理準備部（３０３）の処理の流れを説明する図である。
【００５９】
目的ジョブ処理準備部（３０３）（図１５参照）は、評価済み依頼キュー（３０８）から依頼（１０４）を１件読み込む（ステップ２３０１）。図２０に示す評価（３０９）に格納されている、処理時間あたりの課金単価（６０２）、使用メモリあたりの課金単価（６０３）、使用ディスクあたりの課金単価（６０４）のうち、最も大きな課金単価を要求課金単価（８０４）として応募（１０９）に格納する（ステップ２３０２）。次いで、目的ジョブ処理準備部（３０３）は、依頼者システム（１０１）に応募（１０９）を送信し（ステップ２３０３）、ジョブを待つ（ステップ２３０４、２３０５）。
【００６０】
依頼者システム（１０１）からジョブ（１１２）の送信を拒否された場合（ステップ２３０６）、評価済み依頼キュー（３０８）から依頼（１０４）を削除する（ステップ２３０７）。受け取ったジョブ（１１２）はプロファイル（２０７）にリンクし（ステップ２３０８）、依頼（１０４）にキューイングする（ステップ２３０９）。
【００６１】
実行可能なプロファイル（２０７）を持つ依頼（１０４）でかつ実行待ち依頼キュー（３１０）へキューイングされておらず（ステップ２３１０）、かつ期限切れでない（ステップ２３１３）依頼（１０４）は実行待ち依頼キュー（３１０）へキューイングする（ステップ２３１４）。
【００６２】
一方、実行待ち依頼キュー（３１０）へキューイング済みで（ステップ２３１０）、その依頼（１０４）が期限切れだった場合は（ステップ２３１１）、その依頼（１０４）を実行待ち依頼キュー（３１０）から削除する（ステップ２３１２）。
【００６３】
図２３は、実行待ち依頼（３１１）を説明する図である。実行待ち依頼（３１１）は、図２３に示すように、次の実行待ちの依頼へのポインタ（１１０１）、および依頼（１０４）へのポインタ（１１０２）を格納したひとまとまりの情報である。
【００６４】
図２４は、提供者システム（１０７）の目的ジョブ処理実行部（３０４）の処理の流れを説明する図である。目的ジョブ処理実行部（３０４）は、実行待ち依頼キュー（３１０）からプロファイル（２０７）を１件読み込み（ステップ２４０１）、それに従ってジョブ（１１２）を取り出し（ステップ２４０２）、ジョブ（１１２）を処理し、処理結果データを得る（ステップ２４０３）。次いで、図１３に示す結果（１１３）を作成し、各パラメータを設定し（ステップ２４０４）、結果（１１３）に処理結果データを格納する（ステップ２４０５）。
【００６５】
次いで、目的ジョブ処理実行部（３０４）は、結果（１１３）の課金（１００５）として応募（１０９）に格納してある要求課金単価（８０４）を記載し（ステップ２４０６）、結果（１１３）をプロファイル（２０７）へリンクする（ステップ２４０７）。次いで、目的ジョブ処理実行部（３０４）は、結果（１１３）を依頼者システム（１０１）へ送信する。実行可能なプロファイル（２０７）がなくなった依頼（１０４）は実行待ち依頼キュー（３１０）から削除する（ステップ２４０９）。
【００６６】
図２５は、提供者システム（１０７）の実績集計部（３０５）の処理の流れを説明する図である。提供者（３１３）が、図１５に示す端末（３１２）を操作して実績出力を指示すると（ステップ２５０１、２５０２）、実績集計部（３０５）は、評価済み依頼キュー（３０８）から依頼（１０４）とプロファイル（２０７）を参照し、結果（１１３）から課金の合計を集計する（ステップ２５０３）。次いで、集計結果を依頼（１０４）に記載された依頼者システム（１０１）の情報などと関連付けて提供者（３１３）の使用する端末（３１２）に表示する（ステップ２５０４）などして提供者（３１３）は結果を知ることができる。提供者（３１３）が、評価済み依頼の削除を指示した場合は（ステップ２５０１、２５０２、２５０５）、評価済み依頼キュー（３０８）から依頼（１０４）を削除する（ステップ２５０６）。
【００６７】
なお、依頼収集部（３０１）、サンプル実行部（３０２）、目的ジョブ処理準備部（３０３）、目的ジョブ処理実行部（３０４）、および実績集計部（３０５）はそれぞれ独立して動作するため、依頼キュー（３１４）にキューイングされる依頼（１０４）、評価済み依頼キュー（３０８）にキューイングされる依頼（３０９）、および実行待ち依頼キュー（３１０）にキューイングされる実行待ち依頼には、複数の依頼者システム（１０１）からの依頼が混在することになる。これにより、提供者システム（１０７）の負荷は定常的に高い状態にすることができ、コンピュータ資源は高効率に利用されることになる。
【００６８】
以上説明したように、本実施形態によれば、あるコンピュータが別のコンピュータへ処理を要求する際に、実際の処理要求を行なう前に、これから要求する処理のサンプルと要求の処理に対する課金単価をひとまとめにした依頼を作成し、インターネットなどにその依頼を掲載し、依頼を処理するコンピュータを募集する。一方、依頼に応募しようとするコンピュータは、この依頼を発見し依頼を入手した後にサンプルを実行し、サンプルの実行に費やしたリソースの使用量が、依頼に含む形で提示されている課金単価と比較して十分なものであるかを、あらかじめ自システム内に設定された諸条件に基づき評価し、条件が合致した場合には、その課金単価で引き受け、条件が合致しない場合には、引き受けの条件として要求課金単価を作成し、依頼してきたコンピュータにサンプルの実行結果とともに課金単価を示す。
【００６９】
一方、前記処理を依頼するコンピュータは、応募してきたコンピュータからのサンプルの実行結果と要求された課金単価を、あらかじめ自システム内に設定された諸条件に基づき評価し、条件が合致した場合には要求する処理およびデータを含む依頼を応募してきたコンピュータに送付する。
【００７０】
これにより、処理を要求するコンピュータ所有者にとっては処理に見合った課金を、また処理を要求されたコンピュータの所有者にとってはリソースの使用量に見合った課金をそれぞれ双方で満足のできる単価で動的に決定することができる。
【００７１】
また、本実施形態によれば、分散コンピュータシステムを構成する各コンピュータごとに課金単価を設定することができることから、分散コンピュータシステムを構成するコンピュータの規模（台数）を大きくすることが可能となる。なぜならば、複数のコンピュータ所有者がそれぞれ所有するコンピュータを提供することによって構成される複数のコンピュータからなる分散コンピュータシステムにおいて、処理を依頼する側の支払額（予算）を、実際に処理を行なったコンピュータの所有者（単数または複数）に対し、それぞれの所有者が満足するように分配できる環境を、全体を統制するコンピュータを配置することなしに構築することができるからである。これにより、個々のコンピュータ所有者はそれぞれの経済的な事情を満足することができる。
【００７２】
また、コンピュータ資源を提供する場合、提供したリソースへの適正な対価を得るための計量手段を確立することにより、コンピュータの所有者に対して、コンピュータの空き時間をリソースの貸し出しに充てるということに明確なインセンティブが生じるため、分散コンピュータの規模を容易に拡大することができる。世界中のコンシューマ向けパーソナルコンピュータは、夜間などの所有者が使用していない時間が多分に存在し、このリソースの有効活用に貢献することができる。
【００７３】
また、このシステムでは、処理の要求・引き受けを決定する時点になってから価格交渉を開始することができる、コンピュータの所有者はいつでもこの分散コンピューティングシステムに参画することができる。また、全体を統制するコンピュータが不要であり、さらに、あらかじめ分散コンピュータシステム全体で課金単価を共有する必要がないため、世界規模での大規模な分散コンピュータシステムの構築が可能となる。このため、その用途は、１つの巨大なジョブを分割して効率良く実行するということに留まらず、依頼する側と提供する側でビジネスとしてコンピュータの処理を取引きすることが可能となる。また、携帯可能な小型のコンピュータの場合においても、それ自身では処理することのできないような大きな規模の処理能力を仮想的に取得することが可能となるため、モバイルサービスの分野等に応用することが可能となる。
【図面の簡単な説明】
【００７４】
【図１】本実施形態に係る分散コンピュータシステムを説明する図である。
【図２】分散コンピュータシステムにおける処理の流れの概要を説明する図である。
【図３】依頼者システムを説明する図である。
【図４】依頼者システムの依頼作成部の処理の流れを説明する図である。
【図５】依頼条件設定情報を説明する図である。
【図６】依頼に設定する依頼情報を説明する図である。
【図７】ジョブを説明する図である。
【図８】プロファイルを説明する図である。
【図９】依頼者システムの依頼投入部の処理の流れを説明する図である。
【図１０】依頼者システムの提供者受付部の処理の流れを説明する図である。
【図１１】応募の詳細を説明する図であ。
【図１２】依頼者システムの結果受信部の処理の流れを説明する図である。
【図１３】結果の詳細を説明する図である。
【図１４】依頼者システムの結果集計部の処理の流れを説明する図である。
【図１５】提供者システムを説明する図である。
【図１６】提供者システムの依頼収集部の処理の流れを説明する図である。
【図１７】依頼者システムリストの詳細を説明する図である。
【図１８】依頼拒否システムリストの詳細を説明する図である。
【図１９】提供者システムのサンプル実行部の処理の流れを説明する図である。
【図２０】評価を説明する図である。
【図２１】評価条件設定情報を説明する図である。
【図２２】提供者システムの目的ジョブ処理準備部の処理の流れを説明する図である。
【図２３】実行待ち依頼を説明する図である。
【図２４】提供者システムの目的ジョブ処理実行部の処理の流れを説明する図である。
【図２５】提供者システムの実績集計部の処理の流れを説明する図である。
【符号の説明】
【００７５】
１０１  依頼者システム
１０７  提供者システム
１０３  目的ジョブ
１０６  サンプルジョブ
２０１  依頼作成部
２０２  依頼投入部
２０３  提供者受付部
２０４  結果受信部
２０５  結果集計部
３０１  依頼収集部
３０２  サンプル実行部
３０３  目的ジョブ処理準備部
３０４  目的ジョブ処理実行部
３０５  実績集計部
【図１】
2005338943.tif 000003
【図２】
2005338943.tif 000004
【図３】
2005338943.tif 000005
【図４】
2005338943.tif 000006
【図５】
2005338943.tif 000007
【図６】
2005338943.tif 000008
【図７】
2005338943.tif 000009
【図８】
2005338943.tif 000010
【図９】
2005338943.tif 000011
【図１０】
2005338943.tif 000012
【図１１】
2005338943.tif 000013
【図１２】
2005338943.tif 000014
【図１３】
2005338943.tif 000015
【図１４】
2005338943.tif 000016
【図１５】
2005338943.tif 000017
【図１６】
2005338943.tif 000018
【図１７】
2005338943.tif 000019
【図１８】
2005338943.tif 000020
【図１９】
2005338943.tif 000021
【図２０】
2005338943.tif 000022
【図２１】
2005338943.tif 000023
【図２２】
2005338943.tif 000024
【図２３】
2005338943.tif 000025
【図２４】
2005338943.tif 000026
【図２５】
2005338943.tif 000027