(57)【要約】【課題】支払いを容易とすると共に、登録管理やポイント管理を不要とし、コンテンツの利用の即時性を高める。また、コンテンツ配信において不正コピーを行う価値がなくなり、不正コピーの利用により利益が得られない配信を行う。【解決手段】端末において、依頼された仕事と提供されたサービスを並行して実行させることにより、利用者における処理結果の対価の受け取りとサービスの利用による対価の支払いを相殺させる。例えば、プログラム処理方法において、サーバからサービス及び仕事を実行する結合プログラムを端末に送信し、結合プログラムは、所定のサービスを実行するプログラムと所定の仕事を実行するプログラムとを含み、端末においてサービスと仕事の２つのプログラムを並行して実行し、端末において、サービスと仕事の２つのプログラムを並行して実行することにより、仕事処理に対する対価とサービス実行に対する対価とを同時に相殺する。【選択図】　図１
2004102878.tif 000002
【特許請求の範囲】
【請求項１】
サーバからサービス及び仕事を実行する結合プログラムを端末に送信し、
前記結合プログラムは、所定のサービスを実行するプログラムと所定の仕事を実行するプログラムとを含み、端末においてサービスと仕事の２つのプログラムを並行して実行し、
前記端末において、サービスと仕事の２つのプログラムを並行して実行することにより、仕事処理に対する対価とサービス実行に対する対価とを同時に相殺することを特徴とする、プログラム処理方法。
【請求項２】
前記仕事処理は一つの仕事処理を分割して行う分散処理の一処理であり、
前記サーバは、当該分割された仕事処理を行う各プログラムを複数の端末に配信し、各端末が実行する仕事処理の処理結果を集計することを特徴とする、請求項１に記載のプログラム処理方法。
【請求項３】
サーバからコンテンツ及び計算処理を実行する結合プログラムを端末に送信し、
前記結合プログラムは、所定のコンテンツを実行するプログラムと所定の計算処理を実行するプログラムとを含み、端末においてコンテンツと計算処理の２つのプログラムを並行して実行し、計算処理で得られる計算結果をサーバに返し、
前記端末は、コンテンツと計算処理の２つのプログラムを並行して実行することにより、コンテンツ実行の対価として計算処理を実行することを特徴とする、計算処理方法。
【請求項４】
前記計算処理は分割された一部の計算処理であり、
前記サーバは、当該分割された計算処理を行う各プログラムを複数の端末に配信し、各端末が実行する計算処理の計算結果を集計することを特徴とする、請求項１に記載の計算処理方法。
【請求項５】
サーバからコンテンツ及び計算処理を実行する結合プログラムを端末に送信し、
前記結合プログラムは、計算処理のプログラムとコンテンツのプログラムを含み、
前記端末において、計算処理プログラムの処理に対する対価としてコンテンツのプログラムが実行されることを特徴とする、コンテンツ配信方法。
【請求項６】
サービスのプログラムと仕事のプログラムを結合して、両プログラムが端末において並行して実行する結合プログラムを形成し、当該結合プログラムを端末に送信し、端末において仕事のプログラムを実行して得られる処理結果を取得するサーバを備えることを特徴とする、プログラム処理システム。
【請求項７】
前記仕事は一つの仕事を分割して行う分散処理の一処理であり、
前記サーバは、当該分割された仕事を行う各プログラムを複数の端末に配信し、各端末が実行する分割処理の処理結果を集計することを特徴とする、請求項６に記載のプログラム処理システム。
【請求項８】
コンテンツプログラムの実行と並行して計算処理のプログラムを実行させる結合プログラムを形成し、当該結合プログラムを端末に送信し、端末において計算処理プログラムを実行して得られる計算結果を取得するサーバを備えることを特徴とする、計算処理システム。
【請求項９】
前記計算処理は分割された一部の計算処理であり、
前記サーバは、当該分割された計算処理のプログラムを複数の端末に配信し、各端末が実行する分割された計算処理の計算結果を取得することを特徴とする、請求項８に記載の計算処理システム。
【請求項１０】
コンテンツのプログラムを提供するコンテンツサーバと、前記コンテンツサーバから入力したコンテンツのプログラムと計算処理のプログラムを結合して、両プログラムが端末において並行して実行する結合プログラムを形成し、当該結合プログラムを端末に送信する配信サーバとを備えることを特徴とする、配信システム。
【請求項１１】
サーバから端末に送信されるプログラムであって、
コンテンツのプログラム及び計算処理のプログラムを含み、
コンテンツプログラムの実行と計算処理プログラムの実行は関連付けられて単一での実行が制限され、両プログラムは逐次並行でのみ実行されるよう結合されることを特徴とする、プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム処理に関し、コンテンツ及び計算処理を行うプログラム処理に関する。
【０００２】
特に、端末においてコンテンツや計算処理を実行させる、プログラム処理、計算処理、コンテンツ配信等の処理方法、処理システム、及びプログラムに関する。
【０００３】
【従来の技術】
現在、計算依頼者から計算の委託依頼を受け、依頼者に代わって計算処理を行う、アウトソーシング事業等の事業形態が知られている。このような事業形態において、大規模な処理を行うには、大型の計算機を用いたり、複数の小型の計算機を用いて分散処理することが行われる。しかしながら、大型計算機は初期導入の費用や維持費が高額であという問題があり、また、小型の計算機であっても、多数を設備して維持するにはやはり高額な維持費が必要となる。
【０００４】
一方、マイクロプロセッサの動作速度の高速化やメモリの大容量化に伴い、パーソナルコンピュータ等の一般利用者や有する端末の演算処理能力は向上している。そのため、一般に、利用者や通常使用するアプリケーションの実行時には、端末が備える演算処理能力を十分に使用することなく余剰能力を備えている。したがって、これら端末がネットワーク上に接続されている場合には、ネットワーク上に計算資源が存在すると考えることができる。このようなネットワーク上にある余剰の計算資源を用いて、計算処理を行わせようとするグリッドコンピューティングと呼ばれる処理が提案され、例えば、タンパク質解析や難病の治療法の研究、物理化学計算への応用が考えられている。
【０００５】
このような処理システムでは、例えば、計算依頼者が依頼する計算プログラムを仲介者において分割し、分割した各計算プログラムを仲介者から各端末に送信し、各端末で計算処理した計算結果を仲介者で収集し、収集した計算結果を計算依頼者に渡す。このとき、各端末の計算結果に対する対価の支払いは、仲介者と各端末の利用者との間において貨幣を用いることが考えられる。
【０００６】
また、著作物やアプリケーション等のディジタルコンテンツをネットワークを介して配信することが行われているが、この場合においても、利用したコンテンツに対する対価の支払いは、仲介者と各端末の利用者との間において一般に貨幣により行われる。
【０００７】
図１０は、このような、計算処理とコンテンツ配信における、計算プログラム、計算結果、あるいはコンテンツ等のデータの流れと、対価の支払いの流れの概略を示している。このような、処理システムでは、対価の支払いが貨幣やポイントで行われる場合には、貨幣の支払いに伴う振り込み処理や口座処理が煩雑となるため、処理システムに参加する際の障害となり、十分な台数の端末が得難いという問題がある。また、コンテンツ配信においても、他に種々のコンテンツ配信の手段があり、ネットワークを介して配信を受け格別な理由がないことから、利用者の飛躍的な増加が望めないという問題がある。
【０００８】
このグリッドコンピューティングの一構成例として、例えば、特許文献１が出願されている。この出願では、サーバからネットワークを介して送信される業務処理をユーザ端末にて分散実行し、ユーザ端末での処理結果はネットワークを介してサーバに集められ、業務処理を実行した対価とし、ユーザ端末にソフトウエアのライセンスを供与することが示され、これによれば、設備投資の負担を低減することができ、また、端末側において、アプリケーションのライセンス料を支払わなくてもアプリケーションが利用できるという効果を得ることができる。
【０００９】
図１１はこの構成例の概略を示している。図１１において、顧客端末、アプリケーションサーバ、集配送サーバ、及びユーザ端末とをネットワークを介して接続し、顧客とユーザ端末との間では、集配送サーバを介して処理業務と処理結果の送受信が行われ、アプリケーションサーバからユーザ端末へは集配送サーバを介してアプリケーションが送られ、処理結果に基づいて集配送サーバからユーザ端末にライセンスキーが送られ、ユーザ端末はこのライセンスキーによりアプリケーションを実行する。処理結果の対価としてライセンスキーを付与することにより、ライセンス料を支払うことなくアプリケーションの実行ができるようにしている。
【００１０】
【特許文献１】
特開２００１−３４４１９９号公報
【００１１】
【発明が解決しようとする課題】
図１２（ａ）はコンテンツ及び計算結果、及びこれに対する対価の流れを比較するための図である。図１２（ａ）は、貨幣により対価を支払う場合を示している。この場合には、コンテンツの提供に対してコンテンツ料を支払い、計算結果に対して端末使用料を支払うといったように、対価の支払いを個別に行う。なお、図１２において、図中の丸印及び三角印は対応関係を示している。このような相対による対価の支払いでは支払いが煩雑となるため、コンテンツの普及や計算への参加の障害となる要因となる。
【００１２】
これに対して、図１２（ｂ）は処理結果の対価としてライセンスキーを付与することにより、対価を支払うことなくアプリケーション等のコンテンツの利用を行う場合を示している。この場合には、利用者側における対価の支払いは、集配サーバを介してコンテンツ料と端末使用料とを相殺する形態で行われるため、利用者はライセンス料を支払うことなくアプリケーションを使用することができ、また、端末の使用による業務処理の対価の支払いを受けることができる。
【００１３】
しかしながら、上記方法は対価の支払いが簡易となるものの、ライセンスキーの付与を行うために、利用者や端末を登録する必要があり、また、端末が実行した業務処理の対価と使用を許諾されるアプリケーションの対価との対価を合わせるために、ポイント等によって対価調整を行う必要があり、そのための登録管理やポイント管理が煩雑となるという問題がある。
【００１４】
また、アプリケーションの利用は、端末による業務処理が完了した後にライセンスキーが付与されて初めて可能となるため、アプリケーションの利用において即時性が乏しく、利用者が利用したいときにすぐに利用することができないという問題がある。また、端末による業務処理を途中で打ち切ることができず、途中で打ち切った場合には、それまでの端末使用が無駄になりアプリケーションを利用することができないという問題がある。
【００１５】
また、直接利用者との間で料金の徴収を行う場合や、料金徴収に代えてライセンスキーを付与する場合には、不正利用者に対する対策として、コンテンツ自体やライセンスキーの不正コピーを防止する処理を施す必要がある。不正コピー防止技術は、最新の不正コピー技術に対応するよう常に更新する必要があり、その手間や費用に多くを要することになる。そこで、不正コピー自体が無価値となるようなコンテンツの配信方法やシステムが求められている。
【００１６】
そこで、本発明は前記した従来の問題点を解決し、端末による計算処理の実行とコンテンツの利用において、支払いを容易とすると共に、登録管理やポイント管理を不要とし、また、コンテンツの利用の即時性を高めることを目的とする。また、端末による計算処理を中断した場合であっても、コンテンツの利用を可能とすることを目的とする。
【００１７】
また、コンテンツ配信において不正コピー自体を無価値なものとし、不正コピーの利用により利益が得られない配信方法やシステムを提供することを目的とする。
【００１８】
【課題を解決するための手段】
本発明は、端末において、依頼された仕事と提供されたサービスを並行して実行させることにより、利用者における処理結果の対価の受け取りとサービスの利用による対価の支払いを相殺させる。
【００１９】
図１は、本発明による仕事及びサービス提供の概略を説明するための図である。
図１において、仕事を依頼する依頼者１は、仕事を行うための処理プログラムｐを仲介事業者４に委託する。一方、サービス事業者２は、提供を希望するサービスｓを仲介事業者４に委託する。仲介事業者４は、委託された処理プログラムｐとサービスｓを結合して配信用の結合プログラムＰを作成し、各利用者の端末に配信する。なお、サービスは、音楽や映像等の著作物の他、アプリケーションとすることができ、以下では、サービスをプログラムの形態で提供するものとする。
【００２０】
結合プログラムＰは、処理プログラムｐとサービスｓとをその実行において並行して行うように結合する。利用者３の端末は、この結合プログラムＰを受信し、端末が備える余剰の計算能力を用いて、処理プログラムｐ及びサービスｓのプログラムを並行して実行する。ここで、並行実行は、処理プログラムｐのみあるいはサービスｓのみが分離して単独で実行することがないことを意味している。
【００２１】
この結合プログラムＰの実行は端末の余剰の計算能力を利用して行うため、利用者は、結合プログラムＰの実行の有無に係わらず任意に端末を利用することができる。
【００２２】
処理プログラムｐで実行した処理結果ｒは仲介事業者４に送られて集計され、さらに仕事依頼者１に送られる。
【００２３】
ここで、仕事が計算問題である場合、結合プログラムＰ中の計算問題は、依頼された一つの計算問題、あるいは依頼された一つの計算問題を分割した分割問題とすることができる。依頼された一つの計算問題を送信する場合には、複数の端末に同一の計算問題を実行させて計算の信頼性を高める他、同一の計算問題においてパラメータを変えた計算を実行させることもできる。また、分割問題を送信する場合には、計算量の大きな問題を分散して処理させることができる。なお、計算問題を分割する場合には、計算依頼者側から分割した計算問題を提供する他、仲介事業者において依頼された計算問題を分割することもできる。
【００２４】
一方、サービスｓのプログラムは、処理プログラムｐの実行と共に実行され、例えば、サービスが音楽や映像等のデジタルコンテンツの場合には、その音楽や映像が端末に表示され、アプリケーションプログラムの場合には、端末で実行される。
【００２５】
ここで、対価の支払いは、仕事依頼者１から仲介事業者４に支払われる処理結果に対する対価Ｘと、仲介事業者４からサービス事業者に対して支払われるサービスに対する対価Ｙであり、その差額（Ｘ−Ｙ）が仲介事業者４の利益となる。図１２（ｃ）において、利用者側における対価の支払いは、仲介事業者の仲介サーバ等を介してサービス料（コンテンツ料）と端末使用料とを相殺する形態で行われ、利用者は料金を支払うことなくアプリケーションを使用することができ、また、端末の使用による業務処理の対価の支払いを受けることができる。また、仕事（計算処理）とサービス（コンテンツ）の実行は並行して行われるため、ライセンスキーの付与やポイント管理が不要となる。
【００２６】
これにより、利用者による対価の支払い操作を不要とすると共に、登録管理やポイント管理が不要とすることができる。また、仕事（計算処理）とサービス（コンテンツ）とを並行して実行するため、サービス（コンテンツ）の利用を仕事（計算処理）の終了を待つことなく行うことができ、サービス（コンテンツ）利用の即時性を高めることができる。
【００２７】
また、仕事（計算処理）とサービス（コンテンツ）とを並行して実行するため、仕事（計算処理）を中断した場合であっても、中断時まではサービス（コンテンツ）を利用することができ、端末使用を無駄にすることがない。
【００２８】
さらに、利用者は、端末が依頼された計算処理を実行している間において、その計算処理を格別意識することなく利用者が所望とする処理を行うことができる。そのため、仕事（計算処理）とサービス（コンテンツ）とを並行して実行することにより、利用者は依頼された計算処理のために端末が利用されているということを格別に意識することなくサービス（コンテンツ）を利用することができ、利用者はサービス（コンテンツ）を利用料金を意識することなくサービス（コンテンツ）を利用することができる。従って、利用者は、サービス（コンテンツ）やライセンスキーをあえて不正コピーすることなく、自由にサービス（コンテンツ）を利用することができるため、サービス提供（コンテンツ配信）において不正コピー自体を無価値なものとすることができる。
【００２９】
本発明は、依頼された仕事（計算処理）と提供されたサービス（コンテンツ）の利用の並行実行を共通して持つ、プログラム処理方法、計算処理方法、及びコンテンツ配信方法の各方法、プログラム処理システム、計算処理システム、及び配信システムの各システム、及びプログラムの各形態とすることができる。
【００３０】
本発明の第１の態様であるプログラム処理方法は、サーバからサービス及び仕事を実行する結合プログラムを端末に送信し、結合プログラムは、所定のサービスを実行するプログラムと所定の仕事を実行するプログラムとを含み、端末においてサービスと仕事の２つのプログラムを並行して実行し、端末において、サービスと仕事の２つのプログラムを並行して実行することにより、仕事処理に対する対価とサービス実行に対する対価とを同時に相殺する。
【００３１】
サーバから端末に送信される結合プログラムは、仕事のプログラムとサービスのプログラムを並行して実行するように設定されており、プログラムの実行時には、仕事とサービスが共に実行される。利用者は、仕事処理に伴う対価の付与とサービスの利用による対価の支払いとをプログラム実行時に同時に相殺し、各対価の支払いあるいは付与を不要とする。
【００３２】
また、仕事が計算処理である場合、計算処理は一つの計算処理を分割して行う分散処理の一処理とすることができる。サーバは、分割された計算処理を行う各プログラムを複数の端末に配信し、各端末が実行する計算処理の計算結果を集計する。
【００３３】
本発明の第２の態様は、第１の態様のプログラム処理方法において、仕事を計算処理とし、サービスをコンテンツ提供とする計算処理方法である。この計算処理方法は、サーバからコンテンツ及び計算処理を実行する結合プログラムを端末に送信し、結合プログラムは、所定のコンテンツを実行するプログラムと所定の計算処理を実行するプログラムとを含み、端末においてコンテンツとコ計算処理の２つのプログラムを並行して実行し、計算処理で得られる計算結果をサーバに返す。端末は、コンテンツと計算処理の２つのプログラムを並行して実行することにより、コンテンツ実行の対価として計算処理を実行する。
【００３４】
また、計算処理は分割された一部の計算処理とすることができ、サーバは、分割された計算処理を行う各プログラムを複数の端末に配信し、各端末が実行する計算処理の計算結果を集計する。
【００３５】
本発明の第３の態様は、コンテンツの配信方法であり、サーバからコンテンツ及び計算処理を実行する結合プログラムを端末に送信し、結合プログラムは、計算処理のプログラムとコンテンツのプログラムを含み、端末において計算処理プログラムの処理に対する対価としてコンテンツのプログラムを実行する。
【００３６】
このコンテンツ配信によれば、コンテンツの利用に伴う対価はコンテンツと並行して行われる計算処理に対価と相殺されるため、利用者はコンテンツ料を意識することなく利用することができる。
【００３７】
本発明の第４の態様は、本発明の第１の態様のプログラム処理方法を適用したプログラム処理システムであり、サービスのプログラムと仕事のプログラムを結合して、両プログラムが端末において並行して実行する結合プログラムを形成し、結合プログラムを端末に送信し、端末において仕事のプログラムを実行して得られる処理結果を取得するサーバを備える。
【００３８】
また、一つの仕事を分割して行う分散処理において、サーバは、分割された仕事を行う各プログラムを複数の端末に配信し、各端末が実行する分割処理の処理結果を集計する。
【００３９】
本発明の第５の態様は、本発明の第４の態様において、仕事として計算処理を行い、サービスとしてコンテンツを提供する計算処理システムであり、コンテンツプログラムの実行と並行して計算処理のプログラムを実行させる結合プログラムを形成し、この結合プログラムを端末に送信し、端末において計算処理プログラムを実行して得られる計算結果を取得するサーバを備える。また、分散処理において、サーバは、分割された計算処理のプログラムを複数の端末に配信し、各端末が実行する分割された計算処理の計算結果を取得する。
【００４０】
本発明の第６の態様は、本発明の第３の態様のコンテンツの配信方法を適用した配信システムに関し、コンテンツのプログラムを提供するコンテンツサーバと、コンテンツサーバから入力したコンテンツのプログラムと計算処理のプログラムを結合して、両プログラムが端末において並行して実行する結合プログラムを形成し、当該結合プログラムを端末に送信する配信サーバとを備える。
【００４１】
本発明の第７の態様は、本発明に適用されるプログラムに関し、サーバから端末に送信されるプログラムであって、コンテンツのプログラム及び計算処理のプログラムを含み、コンテンツプログラムの実行と計算処理プログラムの実行は関連付けられて単一での実行が制限され、両プログラムは逐次並行でのみ実行されるよう結合される。
【００４２】
【発明の実施の形態】
以下、本発明の実施の形態について、図を参照しながら詳細に説明する。
図２は本発明の構成を説明するための概略図である。なお、図２に示す例は、計算問題を仕事として依頼し、コンテンツをサービスとして提供する場合を示している。
【００４３】
計算依頼者１１は、ネットワーク１５を介して仲介サーバ１４に接続し、計算問題のプログラムを送り、利用者が備える端末１３（１３ａ〜１３ｄ）にその計算処理を実行し、計算結果を取得するよう依頼する。一方、コンテンツサーバ１２は、ネットワーク１５を介して仲介サーバ１４に接続される。コンテンツサーバ１２は、音楽、映像等の著作物の他、アプリケーションプログラムなど種々のデジタルコンテンツを提供するサーバであり、仲介サーバ１４を介して利用者が備える端末１３（１３ａ〜１３ｄ）にコンテンツの配信を行う。
【００４４】
仲介サーバ１４は、計算依頼者１１から依頼された計算問題とコンテンツサーバ１２から提供されたコンテンツと結合して結合プログラムを形成する。ここで、計算問題及びコンテンツはプログラムの形態、あるいはプログラムに組み込むことができる形態とし、計算問題とコンテンツとがその実行時において並行して実行するように結合され形成される。
【００４５】
仲介サーバ１４で形成された結合プログラムは、ネットワーク１５に接続された利用者の端末１３に送信される。
【００４６】
各利用者の端末１３は、送られた結合プログラムが備えている計算問題プログラムとコンテンツプログラムを並行して実行し、各端末において計算問題を処理して得られた計算結果をネットワーク１５を介して仲介サーバ１４に送る。仲介サーバ１４に送られた計算結果は集計され、ネットワーク１５を介して計算依頼者１１に送られる。
【００４７】
なお、計算問題の依頼は種々の形態とすることができる。例えば、一つの計算問題を分割して多数の端末で処理する分散処理の形態、一つの同じ計算問題を多数の端末で処理する処理形態、一つの計算問題に対してパラメータをそれぞれ異ならせて多数の端末で処理する処理形態等がある。
【００４８】
結合プログラム中の計算問題プログラムは、これらの各形態に応じたプログラム形態に変換される。例えば、一つの計算問題を分割して多数の端末で処理する分散処理の形態では、各端末による計算結果の組み合わせにより求める計算問題を解くことができるように計算プログラムを分割する。なお、計算プログラムの分割は、仲介サーバ１４で行う他に、計算依頼者１１側で行うこともできる。
【００４９】
端末から送られる計算結果は、仲介サーバ１４において集計される。集計された計算結果は、仲介サーバ１４あるいは計算依頼者１１において、計算問題の処理形態に応じて整理され、求める解が得られる。
【００５０】
図３は、計算依頼者、コンテンツサーバ、仲介サーバ、利用者の端末間におけるデータ（プログラム及び結果）の流れを説明するための関係図である。なお、文中（　）に示す番号は、図３中の番号に対応している。
【００５１】
図３（ａ）において、仲介サーバに対して、計算依頼者の端末からは計算プログラムが送られ（１）、コンテンツサーバからはコンテンツが提供されると（２）、仲介サーバは計算プログラムとコンテンツを組み合わせて結合プログラムを形成し（３）、形成した結合プログラムを利用者の端末に配信する（４）。
【００５２】
利用者の端末は、配信された結合プログラムを受信し（５）、結合プログラムを実行する（６）。結合プログラムに実行において、計算プログラムの実行とコンテンツの実行とが並行して行われる（７，８）。計算プログラムの実行で得られる計算結果は仲介サーバに送られ（９）、仲介サーバで集計された計算結果は計算依頼者に送られる（１０，１１）。
【００５３】
図３（ｂ）は対価の関係を示している。ここで対価は、利用者と計算依頼者との間と利用者とコンテンツ提供者との間において発生し、計算依頼者から利用者に対して端末利用に伴う対価と、利用者からコンテンツ提供者に対して発生するコンテンツ利用に伴う対価がある。
【００５４】
本発明では、これらの利用者に係わる対価は、計算プログラムの実行とコンテンツの実行とを並行して行うことにより精算することができ、利用者と計算依頼者との間及び利用者とコンテンツ提供者との間において、料金の支払い処理を不要としている。料金の流れは、計算依頼者から仲介者に対する依頼料の支払い（２１）、及び、仲介者からコンテンツ提供者に対するコンテンツ料の支払い（２２）により行うことができ、仲介者は、依頼料とコンテンツ料の差額を手数料として取得することができる（２３）。
【００５５】
したがって、利用者においては、計算処理を提供することにより、コンテンツ料を支払うことなくコンテンツを利用することができる。また、コンテンツの利用は、計算処理の提供と並行して行うことができ、計算処理の提供を任意の時刻で行うことにより、実質的に任意の時刻にコンテンツを利用することができる。
【００５６】
利用者の端末において、計算プログラムとコンテンツとを並行して実行させる態様は、種々に設定することができる。
【００５７】
以下、利用者端末において行う、計算プログラムとコンテンツの並行実行の例について、図４〜図９を用いて説明する。なお、以下では、コンテンツを実行するプログラムをプログラムＡとし、計算プログラムをプログラムＢとし、各プログラム処理部で実行する場合について説明する。また、文中（　）に示す番号は、図中の番号に対応している。
【００５８】
以下に示す例は、何れか一方のプログラムをはじめに開始し、そのプログラム中に記述されるプログラム開始指令に基づいて他方のプログラムを開始する例である。図４，５は、はじめに計算プログラムを開始する例であり、図６〜図９は、はじめにコンテンツを開始する例である。
【００５９】
図４は並行実行の第１の例を説明するための図である。端末は、プログラムＡとプログラムＢが並行実行するように結合された結合プログラム（プログラムＡ＋プログラムＢ）をダウンロードする（３１）と、はじめに、プログラムＢを開始する（３２）。プログラムＢ内には、プログラムＡの開始を指令が組み込まれており、プログラムＢの開始によりプログラムＡの開始指令が読み出される（３３）。プログラムＡは、この開始指令に基づいてプログラム開始し（３４）、そのままプログラムＡが終了するまで実行する（３５）。
【００６０】
一方、プログラムＢは、プログラムＢの実行に使用するパラメータｘを取得し（３６）、取得したパラメータｘを用いてプログラムＢを実行する（３７）。プログラムＢは、実行を終了すると（３８）、実行して得た計算結果を仲介サーバに送る（３９）。なお、パラメータｘは、仲介サーバから取得する他、プログラム内で形成した値を用いることもできる。
【００６１】
図５は並行実行の第２の例を説明するための図である。この第２の例は、パラメータを結合プログラムと共に取得しておく例である。
【００６２】
端末は、プログラムＡとプログラムＢが並行実行するように結合された結合プログラム（プログラムＡ＋プログラムＢ）とパラメータｘをダウンロードする（４１）と、はじめに、プログラムＢを開始する（４２）。プログラムＢ内には、プログラムＡの開始を指令が組み込まれており、プログラムＢの開始によりプログラムＡの開始指令が読み出される（４３）。プログラムＡは、この開始指令に基づいてプログラム開始し（４４）、そのままプログラムＡが終了するまで実行する（４５）。
【００６３】
一方、プログラムＢは、プログラムＢの実行に使用するパラメータｘを用いてプログラムＢを実行する（４６）。プログラムＢは、実行を終了すると（４７）、実行して得た計算結果を仲介サーバに送る（４８）。
【００６４】
図６は並行実行の第３の例を説明するための図である。この第３の例は、はじめにプログラムＢを開始する例である。
【００６５】
端末は、プログラムＡとプログラムＢが並行実行するように結合された結合プログラム（プログラムＡ＋プログラムＢ）をダウンロードする（５１）と、はじめに、プログラＡを開始する（５２）。プログラムＡ内には、プログラムＢの開始を指令が組み込まれており、プログラムＡの開始によりプログラムＢの開始指令を読み出す（５３）。プログラムＡは、終了まで実行を続ける（５４）。
【００６６】
一方、プログラムＢは、この開始指令に基づいてプログラム開始し（５５）、プログラムＢの実行に使用するパラメータｘを取得し（５６）、取得したパラメータｘを用いてプログラムＢを実行する（５７）。プログラムＢは実行を終了すると（５８）、得た計算結果を仲介サーバに送る（５９）。なお、パラメータｘは、仲介サーバから取得する他、プログラム内で形成した値を用いることもできる。
【００６７】
図７は並行実行の第４の例を説明するための図である。この第４の例は、プログラムＡ，Ｂをそれぞれ分割したプログラムで構成しておくと共に、一方のプログラム中に他方のプログラムを組み込んでおき、実行と共に分割したプログラムを逐次読み出して実行する例である。
【００６８】
端末は、プログラムＡとプログラムＢが並行実行するように結合された結合プログラム（プログラムＡ＋プログラムＢ）をダウンロードする（６１）と、はじめにプログラムＡ中の最初のプログラムａ０を読み出して開始する。これにより、計算処理を行う前にコンテンツ等の実行が開始される（６２）。
【００６９】
プログラムａ０が実行している間に、プログラムＢの開始指令を読み出す（６３）。プログラムＢは、プログラムＡの分割プログラムであるプログラムａ２，ａ３，ａ４を読み出すと共に、プログラムＢに使用するパラメータｘ１を展開して読み出し（６４）、読み出したプログラムａ２，ａ３，ａ４をプログラムＡの実行処理部に送る（６６）。
【００７０】
プログラムＡの実行処理部側は、プログラムＢによる（６４）による展開を行っている間に次のプログラムａ１の実行を行い（６５）、プログラムａ１の実行中にプログラムａ２，ａ３，ａ４を受け取る（６６）。プログラムＡの実行処理部側は、プログラムａ１が終了した後、受け取ったプログラムａ２，ａ３，ａ４の実行及び終了を繰り返す（６８〜７２）。
【００７１】
プログラムＢの実行処理部側は、各プログラムａ２，ａ３，ａ４が実行されている間に、パラメータｘ１を用いて計算プログラムＢの計算処理を実行して（７３）、計算結果を取得した後（７４，７５）、プログラムＡの次の分割プログラムであるプログラムａ５，ａ６，ａ７を読み出すと共に、プログラムＢに使用する次のパラメータｘ２を展開して読み出し（７６）、読み出したプログラムａ５，ａ６，ａ７をプログラムＡの実行処理部に送り（７７）、パラメータｘ２を用いて計算プログラムＢの計算処理を実行する（７８）。
【００７２】
以下、同様の処理を繰り返すことで、任意の長さの計算プログラムやコンテンツを実行することができる。
【００７３】
なお、展開するプログラム数は、例で示したようにプログラムａ２，ａ３，ａ４やプログラムａ５，ａ６，ａ７に限らず任意とすることができ、例えば、プログラムＢの分割プログラムの各処理時間に応じて設定するようにしてもよい。
【００７４】
図８は並行実行の第５の例を説明するための図である。この第５の例は、プログラムＡ，Ｂをそれぞれ分割したプログラムで構成しておくと共に、一方のプログラム（コンテンツ）と他方のプログラム（計算プログラム）のパラメータはサーバとの接続により取得し、分割したプログラムを逐次実行する例である。
【００７５】
端末は、プログラムＡとプログラムＢが並行実行するように結合された結合プログラム（プログラムＡ＋プログラムＢ）をダウンロードする（８１）と、はじめにプログラムＡ中の最初のプログラムａ１を読み出して開始する。このプログラムＡはプログラムａ１のみが組み込まれており、残りのプログラム（ａ２〜ａｎ）はサーバから取得する。これにより、計算処理を行う前にコンテンツ等の実行が開始される（８２）。
【００７６】
プログラムａ１の実行中に、ネットワークの接続指令及びプログラムＢの開始指令が出され（８３，８４）、ネットワークの接続指令に基づいてサーバからプログラムａ２及びプログラムＢのためのパラメータｘ１が取得される（８５）。プログラムＢは、プログラムＢの開始指令に基づきパラメータｘ１を用いて計算を実行する（８６）。
【００７７】
プログラムａ１の実行中（８７）に、サーバから取得したプログラムａ２を取り込んでおき（８８）、プログラムＢのパラメータｘ１を用いた計算の終了を条件とし（９０）、プログラムａ１が終了した時点で（８９）、プログラムａ２の実行を開始する（９１）。
【００７８】
また、サーバからプログラムａ３及びプログラムＢのためのパラメータｘ２を取得しておく（９２）。プログラムＢは、パラメータｘ２を用いて計算を実行する（９３）。プログラムａ２の実行中（９１）に、サーバから取得したプログラムａ３を取り込んでおき（９４）、プログラムＢのパラメータｘ２を用いた計算の終了を条件とし（９６）、プログラムａ２が終了した時点で（９５）、プログラムａ３の実行を開始する（９７）。
【００７９】
以後、同様に、プログラムａｎまで実行すると共に（９８）、パラメータｘｎを用いたプログラムＢの計算を行い（９９）、全プログラムＢの計算結果を取得する（１００）。
【００８０】
図９は並行実行の第６の例を説明するための図である。この第６の例は、第５の例と同様に、プログラムＡ，Ｂをそれぞれ分割したプログラムで構成しておくと共に、一方のプログラム（コンテンツ）と他方のプログラム（計算プログラム）のパラメータはサーバとの接続により取得し、分割したプログラムを逐次実行する例であり、各分割した計算プログラムに終了毎に計算結果をサーバに送信する例である。なお、ここでは、サーバからの取り込みを行う接続１とサーバに計算結果を送る接続２を備えるとする。
【００８１】
端末は、プログラムＡとプログラムＢが並行実行するように結合された結合プログラム（プログラムＡ＋プログラムＢ）をダウンロードする（１０１）と、はじめにプログラムＡ中の最初のプログラムａ１を読み出して開始する。このプログラムＡはプログラムａ１のみが組み込まれており、残りのプログラム（ａ２〜ａｎ）はサーバから取得する。これにより、計算処理を行う前にコンテンツ等の実行が開始される（１０２）。
【００８２】
プログラムａ１の実行中に、ネットワークの接続指令及びプログラムＢの開始指令が出され（１０３，１０４）、ネットワークの接続指令に基づいて接続１によりサーバからプログラムａ２及びプログラムＢのためのパラメータｘ１が取得される（１０５）。プログラムＢは、プログラムＢの開始指令に基づきパラメータｘ１を用いて計算を実行する（１０６）。
【００８３】
プログラムａ１の実行中（１０７）に、サーバから取得したプログラムａ２を取り込んでおき（１０８）、プログラムＢのパラメータｘ１を用いた計算の終了を条件とし（１１０）、プログラムａ１が終了した時点で（１０９）、プログラムａ２の実行を開始する（１１１）。プログラムＢのパラメータｘ１を用いた計算結果は、接続２によりサーバに送る（１２０）。
【００８４】
また、サーバから接続１によりプログラムａ３及びプログラムＢのためのパラメータｘ２を取得しておく（１１２）。プログラムＢは、パラメータｘ２を用いて計算を実行する（１１３）。プログラムａ２の実行中（１１１）に、サーバから取得したプログラムａ３を取り込んでおき（１１４）、プログラムＢのパラメータｘ２を用いた計算の終了を条件とし（１１６）、プログラムａ２が終了した時点で（１１５）、プログラムａ３の実行を開始する（１１７）。プログラムＢのパラメータｘ２を用いた計算結果は、接続２によりサーバに送る（１２１）。
【００８５】
以後、同様に、プログラムａｎまで実行すると共に（１１８）、パラメータｘｎを用いたプログラムＢの計算を行い（１１９）、全プログラムＢの計算結果を取得し、接続２によりサーバに送る（１２２）。
【００８６】
上記に動作により、コンテンツは計算プログラムが開始されてはじめて開始され、これにより、計算プログラムとコンテンツとを並行して実行させることができる。
【００８７】
本発明の実施の態様によれば、コンテンツの実行と計算処理の実行を並行して行うため、計算処理を途中で中断した場合であって、その段階まではコンテンツを利用することができる。
【００８８】
また、図７〜図９の実施の態様によれば、プログラムを分割して行うことにより、計算処理を途中で中断した場合であって、途中段階までの計算結果を取得することができる。
【００８９】
【発明の効果】
以上説明したように、本発明によれば、端末による計算処理の実行とコンテンツの利用において、支払いを容易とすると共に、登録管理やポイント管理を不要とし、コンテンツの利用の即時性を高めることができる。
【００９０】
また、端末による計算処理を中断した場合であっても、コンテンツの利用を可能とすることができる。
【００９１】
また、端末の余剰能力を利用して計算処理を行い、この計算に対する対価の代わりにコンテンツを利用することにより、実質的な対価を払うことなくコンテンツを利用することができるため、コンテンツ配信において不正コピーを行う価値がなくなり、不正コピーの利用により利益が得られない配信を行うことができる。
【図面の簡単な説明】
【図１】本発明による仕事及びサービス提供の概略を説明するための図である。
【図２】本発明の構成を説明するための概略図である。
【図３】計算依頼者、コンテンツサーバ、仲介サーバ、利用者の端末間におけるデータ（プログラム及び結果）の流れを説明するための関係図である。
【図４】本発明の並行実行の第１の例を説明するための図である。
【図５】本発明の並行実行の第２の例を説明するための図である。
【図６】本発明の並行実行の第３の例を説明するための図である。
【図７】本発明の並行実行の第４の例を説明するための図である。
【図８】本発明の並行実行の第５の例を説明するための図である。
【図９】本発明の並行実行の第６の例を説明するための図である。
【図１０】計算処理とコンテンツ配信における、計算プログラム、計算結果、あるいはコンテンツ等のデータの流れと、対価の支払いの流れの概略を示す図である。
【図１１】グリッドコンピューティングの一構成例を説明するための図である。
【図１２】コンテンツ及び計算結果、及びこれに対する対価の流れを比較するための図である。
【符号の説明】
１…計算依頼者
２…サービス事業者
３…利用者
４…仲介事業者
１１…計算依頼者
１２…コンテンツサーバ
１３，１３ａ〜１３ｄ…利用者端末
１４…仲介サーバ
１５…ネットワーク
【図１】
2004102878.tif 000003
【図２】
2004102878.tif 000004
【図３】
2004102878.tif 000005
【図４】
2004102878.tif 000006
【図５】
2004102878.tif 000007
【図６】
2004102878.tif 000008
【図７】
2004102878.tif 000009
【図８】
2004102878.tif 000010
【図９】
2004102878.tif 000011
【図１０】
2004102878.tif 000012
【図１１】
2004102878.tif 000013
【図１２】
2004102878.tif 000014