(57)【特許請求の範囲】
【請求項１】
ネットワークに接続される、利用者の計算機を含んでなる複数の利用者システムと、所定のサービスを提供する運営者の計算機を含んでなる運営者システムと、を有し、
前記利用者システムは、計算の対象となる第１のデータ、またはその権利を管理する第１の情報を保有し、
前記運営者システムは、前記第１のデータまたは第１の情報と同じ、前記計算の共有の対象となる第２のデータ、またはその権利を管理する第２の情報を保有し、
（１）前記利用者システムは、前記第１のデータに対する第１の計算技術の適用による第１の計算を含むサービスを、前記ネットワークを介して前記運営者システムに要求する第１の処理を行い、
（２）前記運営者システムは、前記要求に対し、前記利用者システムとの間で、前記利用者システムが前記第２のデータまたは第２の情報に対応する前記第１のデータまたは第１の情報を保有していることの確認または証明の手続きを含む、所定の条件を判定する第２の処理を行い、
（３）前記運営者システムは、前記第２の処理の結果、前記条件を満たす前記利用者システムに対して、前記第１の計算についての計算結果データを取得して応答する第３の処理を行い、
前記運営者システムは、データまたはその計算に関する第１のサービスを提供する第１の運営者システムと、前記第１のサービスのデータを用いた計算を含む第２のサービスを提供する第２の運営者のシステムと、を有し、
前記利用者システムは、前記第１のサービスに関するデータまたはその権利を保有し、前記第２の運営者システムに対して当該第１のサービスに関するデータに対する計算を含む前記第２のサービスを要求し、
前記第２の運営者システムは、前記要求に対し、前記第１の運営者システムの前記第１のサービスに関するデータを用いた計算を実行した結果である計算結果データ、または対応するキャッシュデータを、前記利用者システムへ応答すること、を特徴とするコンピューティング共有システム。
【請求項２】
請求項１記載のコンピューティング共有システムにおいて、
前記第３の処理において、前記第２の運営者システムは、前記手続きの後、前記要求された前記第１の計算について、当該計算結果データが内部の記憶領域にキャッシュデータとして有る場合は、当該計算結果データを前記利用者システムに応答し、無い場合は、当該第１の計算の処理を実行して当該計算結果データを前記記憶領域にキャッシュデータとして格納すると共に前記利用者システムへ応答する処理を行い、これにより同様内容の前記第１の計算の実行の繰り返しを省略すること、を特徴とするコンピューティング共有システム。
【請求項３】
請求項１記載のコンピューティング共有システムにおいて、
前記第２の処理において、
前記第２の運営者システムは、前記確認のために、暗号鍵を生成してチャレンジ情報として前記利用者システムに送信し、また、当該チャレンジ情報と、前記計算対象の第２のデータとを用いて、所定のハッシュ処理により、第２のハッシュ値を生成し、
前記利用者システムは、前記第２の運営者システムから受信した前記チャレンジ情報と、前記計算対象の第１のデータとを用いて、前記所定のハッシュ処理により、第１のハッシュ値を生成して、レスポンス情報として前記第２の運営者システムに送信し、
前記第２の運営者システムは、前記レスポンス情報の第１のハッシュ値と、前記第２のハッシュ値とを比較して、一致する場合、前記確認の結果をＯＫと判定すること、を特徴とするコンピューティング共有システム。
【請求項４】
請求項１記載のコンピューティング共有システムにおいて、
前記第１または第２の運営者システムは、前記サービスとして提供が可能な計算に関する前記データの識別子及び前記計算技術の識別子を含む情報を外部に対して提示し、
前記利用者システムは、前記第１または第２の運営者システムの提示する情報を参照し、その中から前記第１の計算の対象とする前記データ及び前記計算技術を選択し、前記第１または第２の運営者システムへ前記要求を行うこと、を特徴とするコンピューティング共有システム。
【請求項５】
請求項１記載のコンピューティング共有システムにおいて、
前記利用者システムは、前記サービスを要求する機能を含むクライアントプログラムを有し、
前記第２の運営者システムは、前記要求に応答する機能を含むサーバプログラムを有すること、を特徴とするコンピューティング共有システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット等の通信ネットワーク環境におけるコンピューティング（計算）の技術に関し、特に、コンピューティング・リソースを共有、節約するための技術に関する。
【背景技術】
【０００２】
アルゴリズム等のコンピューティング技術（計算技術）とデータがコモディティ化するにつれ、世界中の様々な主体（利用者等）が、同様のデータを元に同様のコンピューティング（計算）を実施する機会が増大すると考えられる。一例は、「株価のヒストリカルデータから３０日間の移動平均データを算出する」、「日経平均全銘柄の業種別相関を算出する」などである。
【０００３】
このように、すべて（複数）の主体が同様に保有等が可能である元データ（所定の権利などと関連付けられる計算対象データ）に対しての同様の計算（同様の計算技術の適用による計算）を、各々異なる主体（利用者のコンピュータ等）が各々異なるリソース（コンピューティングリソース）を用いて実施する機会が増大すると考えられる。
【０００４】
上記に係わり、リソースの消費を抑制するための一般的な技術例としては、Ｗｅｂ等においてサーバ等にデータをキャッシュしておき要求に対してキャッシュデータを利用して応答するキャッシュ技術などがある。
【０００５】
また、ネットワーク上で計算を行う一般的な技術例としては、並列／分散処理技術（グリッドコンピューティングなど）が挙げられる。
【０００６】
また、個人の利用者のＰＣ等の間におけるＰ２Ｐ的なファイル共有技術などもよく知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述のような状況を背景に、インターネット等において前述のような性質の計算を多数の各々の主体が各々のリソース・環境で実行することにより、膨大なリソースの消費が生じる。特に、計算に必要なコンピューティングリソース（計算資源、記憶資源など）、時間リソース、ネットワークリソースといった各種リソース、更には関連する消費電力や二酸化炭素排出量といった要素まで含め、世界的な規模で膨大なリソースの浪費や利用の非効率が生じる。データサイズが大きい場合や長時間の計算の場合は尚更である。利用者にとっては、計算（計算結果データの取得）に長い時間がかかりＰＣ等が占有される、記憶装置などの増設を要する（コストがかかる）、ネットワークが混雑する、といった各種の影響が挙げられる。
【０００８】
なお前述の各種一般的な先行技術例（キャッシュ技術、並列／分散処理技術、Ｐ２Ｐ技術など）及びその組み合わせの技術では、環境全体におけるリソースの節減などの観点ではいくつか課題がある。例えば、多数の利用者に対して単にキャッシュデータ（計算結果データ）等を公開、提供する場合、多数のただ乗り等のアクセスからリソースの浪費を招く可能性も高く、サービス提供者（運営者）や正当な利用者における不利益になる場合も考えられる。また、並列計算を実行する複数の計算機やＰ２Ｐ（ファイル共有）の処理を行う計算機間で計算対象データ等を授受・通信する場合にはそのためのリソース（ネットワークリソース等）を消費する。
【０００９】
以上を鑑み、本発明の主な目的は、上述した性質の計算に係わり、環境全体におけるリソースの節減（浪費の削減や利用の効率化）を実現でき、利用者及び提供者（運営者）にとって有用なサービスを実現できる技術を提供することである。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。本発明の代表的な実施の形態は、ネットワークに接続される、利用者の計算機を含んでなる複数の利用者システムと、所定のサービスを提供する運営者の計算機を含んでなる運営者システムと、を有するコンピューティング共有システムである。前記利用者システムは、計算の対象となる第１のデータ、またはその権利（所有や利用等の権利）を管理する第１の情報を保有し、前記運営者システムは、前記第１のデータまたは第１の情報と同じ、前記計算の共有の対象となる第２のデータ、またはその権利を管理する第２の情報を保有する。
【００１１】
（１）前記利用者システムは、前記第１のデータに対する第１の計算技術の適用による第１の計算を含むサービスを、前記ネットワークを介して前記運営者システムに要求する処理を行う。
【００１２】
（２）前記運営者システムは、前記要求に対し、前記利用者システムとの間で、前記利用者システムが前記第２のデータまたは第２の情報に対応する前記第１のデータまたは第１の情報を保有していることの確認または証明の手続きを含む、所定の条件を判定する処理を行う。
【００１３】
（３）前記運営者システムは、前記第２の処理の結果、前記条件を満たす前記利用者システムに対して、前記第１の計算についての計算結果データを取得して応答する第３の処理を行う。
【発明の効果】
【００１４】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。上述した性質の計算に係わり、環境全体におけるリソースの節減（浪費の削減や利用の効率化）を実現でき、利用者及び提供者（運営者）にとって有用なサービスを実現できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１のコンピューティング共有システム（情報処理システム）の構成例を示す図である。
【図２】実施の形態１における、処理シーケンスの概要を示す図である。
【図３】実施の形態１の処理シーケンスにおける、データ／権利の保有の確認・証明の手続き（Ｓ２，Ｓ３）に関する詳細例を示す図である。
【図４】実施の形態１の処理シーケンスにおける、サービス応答に関する処理ステップ（Ｓ４，Ｓ５）に関する詳細例を示す図である。
【図５】本発明の実施の形態２のコンピューティング共有システム（情報処理システム）の構成例及び処理例を示す図である。
【図６】本発明の実施の形態３のコンピューティング共有システム（情報処理システム）の構成例及び処理例を示す図である。
【図７】本発明の実施の形態４のコンピューティング共有システム（情報処理システム）の構成例及び処理例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【００１７】
＜概要＞
本実施の形態の概要や基本的な考え方は以下である。本発明及び実施の形態のコンピューティング共有システムでは、前述したようなコモディティデータ等の同様の元データに対する同様内容（同様の計算技術の適用等）の複数繰り返しの計算を、なるべく１箇所の情報処理システム（運営者システム）で集中（共有）して実施する構成とする。これにより、当該運営者システムが上記のような性質の計算の結果データを欲する主体（利用者等）に対して当該結果データを提供するサービス（計算の共有）が可能となり、コンピューティングリソース等を節減することができる。本システム環境内に同様のサービス（情報処理システム）が多数存在してもよく、多数の利用者から多数回の計算が要求されるほど、リソース節減効果が大きくなる（リソース消費を一定レベルに抑制できる）。
【００１８】
本システムでは、既存の単なるキャッシュ技術などとは異なり、利用者システム側に計算対象データ（または権利）を保有していることを、上記サービスの提供における条件とする。即ち運営者側と利用者側との両者で同じデータ／権利を保有していることを条件とする。運営者システムと（複数の）利用者システムとの間の通信等の処理における処理シーケンス中、上記条件を判定等するための手続きの処理ステップを含む。上記条件を満たさない利用者に対しては、ただ乗り等の許容になるため本サービス（計算結果）を提供しない。上記手続きの手段としては、例えばハッシュ処理を用いたチャレンジ−レスポンスによるデータ所有（両者で同じデータを保有していること等）の確認・証明の技術などが適用できる。
【００１９】
また、利用者システムでは、所定のデータ／権利を保有しているのであれば（運営者システムに対して上記データ／権利を証明できるのであれば）、計算対象データを手元（利用者システム内部）に保有している必要は無い。
【００２０】
また、運営者システムと利用者システムとの間では、既存の並列／分散処理技術などとは異なり、上記の手続きに基づき、計算対象データの授受の必要が無く、ネットワークリソース等を節減できる。
【００２１】
また、本システムでは、Ｐ２Ｐ技術などとは異なり、限定された範囲（運営者システム−複数の利用者システム）において限定されたデータ（所定の権利に関連付けられる計算対象）を処理または通信するのみでなので、各種リソースを節減できる。例えば計算対象データの授受は、運営者システム内部に当該データを取得して保有する際に限定することができ、各利用者の計算の要求−応答の都度には不要である。また、各計算の実行は、キャッシュを利用することで、最初の１回の計算に削減できる。
【００２２】
（実施の形態１）
図１〜図４を用いて、本発明の実施の形態１のコンピューティング共有システム（情報処理システム）について説明する。実施の形態１では、基本的な処理モデルに対応したシステム構成例を示す。実施の形態１では、本システムのサービスの運営者（運営者システム２０）が１つの場合であり、その１つの運営者が複数の利用者（利用者システム１０）に対してサービス（計算の共有）を提供する。
【００２３】
＜システム＞
図１において、実施の形態１のシステムの構成例を示している。インターネット等のネットワーク３０において接続される、複数（ｎ）の利用者システム１０と、１つの運営者システム２０とを有する。
【００２４】
利用者システム１０は、利用者（Ｕで表す）が使用する計算機１１等によるコンピュータシステムである。複数（ｎ）の利用者Ｕ（Ｕ１〜Ｕｎ）における各々の利用者システム１０を有する。利用者システム１０は、計算機（コンピュータ）１１と、データ１２とを有する。利用者システム１０は、１台の計算機１１から成ってもよいし、複数の装置の組み合わせから成ってもよい。
【００２５】
計算機１１は、データ１２等に対する計算処理機能等を有する装置であり、例えばプロセッサ（ＣＰＵ）等を含むＩＣや、それを含んで成るＰＣや携帯電話機などの各種から構成できる。また、計算機１１上で所定の処理（アプリケーション等）を実現するプログラムなどを有する。本実施の形態では、実装例として、計算機１１上に、クライアントプログラム５０を有する。クライアントプログラム５０は、本システムのサービス・機能のための処理を実現する。
【００２６】
データ１２は、計算対象データ（Ｕ側が持つ第１のデータ）を含む、コンテンツや情報や一時処理データ等のデータ自体である。記憶領域１３は、データ１２を格納する記憶領域またはそのストレージ等の手段（記憶資源）を示す。この手段としては例えばＨＤＤ等のストレージや、メモリデバイス等、各種が挙げられる。その他、利用者システム１０は、利用者Ｕの操作する入出力装置（キーボードやディスプレイ等）、ネットワーク３０や装置間を接続する通信装置などの一般的な要素を備える。
【００２７】
利用者システム１０は、コンテンツ等の計算対象のデータ（Ｄで表す）、及び／又は、そのデータの所有・利用等の所定の権利・権限（権利：Ｋとする）を保持する（図１の権利の情報１５）。権利（Ｋ）は、法的な権利に関する情報処理的な権利管理情報やその機構などを含んでもよい。なお利用者システム１０内部に、データ（Ｄ）自体を保持する場合と、データ（Ｄ）自体は保持せずに対応する権利（Ｋ）を保持する場合とのいずれの形態も可能である。簡単のため各図では利用者システム１０内部にデータ（Ｄ）が保有されているように示すが、上記のように対応する権利（Ｋ）のみ保持する場合も含める。またデータ（Ｄ）自体が属性として上記権利（Ｋ）の情報を関連付けや内部に含む形で持ってもよい。
【００２８】
例として、ある利用者システム１０が保有する計算対象データ（第１のデータ）である例えばデータＤａについて、本サービスの利用により、運営者システム２０から対応する計算結果データＤａ’が得られる。
【００２９】
運営者システム２０は、運営者（Ｐで表す）が管理・運営するコンピュータシステムであり、複数（ｎ）の利用者システム１０に対して本システムのサービス・機能を提供する。運営者システム２０は、計算機２１（コンピュータ）と、データ２２とを有する。計算機２１は、データ２２等に対する計算処理機能等を有し、例えばプロセッサ等を含むＩＣや、それを含んで成るサーバコンピュータ（群）などによる。運営者システム２０は、多くの場合、複数台の計算機２１の組み合わせから成る。また、計算機２１上で所定の処理を実現するプログラムなどを有する。本実施の形態では、実装例として、計算機２１上に、サーバプログラム６０を有する。サーバプログラム６０は、本システムのサービス・機能のための処理を実現する。
【００３０】
データ２２は、計算対象データ（Ｐ側が持つ第２のデータ）を含む、コンテンツや情報や一時処理データ等のデータ自体である。記憶領域２３は、データ２２を格納する記憶領域、またはそのストレージ等の手段（記憶資源）である。記憶領域２３は、元データ（第２のデータ）を保有する領域、計算処理を実行する領域、計算結果キャッシュデータを保有する領域（キャッシュ領域）などを含む。この手段としては例えばＨＤＤ群など各種が挙げられる。
【００３１】
その他、運営者システム２０は、運営者（管理者）の操作する入出力装置、ネットワーク３０や装置間を接続する通信装置、装置群の接続網や、所定の性能を提供するための設備（例えば負荷分散装置）などを有する。運営者システム２０の性能・規模・資源等は基本的に自由であるが、少なくとも複数（ｎ）の利用者システム１０からのサービスの要求に対する提供（応答）のために十分な程度は有する（一般に利用者システム１０の性能等よりも大きくなる）。例えばデータセンタ等の形態としてもよい。
【００３２】
運営者システム２０は、コンテンツ等の計算対象のデータ（Ｄ）、及び／又は、そのデータ（Ｄ）の所有・利用等の所定の権利・権限（権利（Ｋ））を複数保有する。記憶領域２３に、サービス提供対象（計算実行可能な対象）とする上記各データ（Ｄ）を保有する。例としてデータＤａ，Ｄｂ，……といった複数のデータを有する。これら計算対象データ（Ｄ）について、運営者システム２０（計算機２１）による計算の実行により、対応する計算結果データであるデータＤａ’，Ｄｂ’，……といった複数のデータが得られる。これら計算結果データについても記憶領域２３（特に、即時応答可能なキャッシュ領域）に格納される。また、運営者システム２０は、上記計算対象データ（Ｄ＝Ｘ）の計算（Ｙ＝Ｆ｛Ｘ｝）に使用するための、アルゴリズム等の計算技術（Ｆ）のデータ（例えばプログラム等のデータや管理情報など）を保有する。例えば計算技術Ｆ１，Ｆ２，……といった複数のデータを有する。
【００３３】
利用者システム１０側のクライアントプログラム５０と運営者システム２０側のサーバプログラム６０との間で通信を行う。クライアントプログラム５０は、少なくとも運営者システム２０（サーバプログラム６０）へサービス（計算等）を要求する機能（サービス要求機能）を有する。また、クライアントプログラム５０は、情報参照機能などを有する。情報参照機能は、利用者システム１０から外部（主に運営者システム２０）に対して、計算（Ｙ＝Ｆ｛Ｘ｝）の指定のために必要な情報を参照や取得する機能である（後述）。対応して、サーバプログラム６０は、少なくとも利用者システム１０（クライアントプログラム５０）からのサービス（計算等）の要求に対して応答する機能（サービス応答機能）を有する。また、サーバプログラム６０は、情報提示機能などを有する。情報提示機能は、運営者システム２０が外部（主に利用者システム１０）に対して、計算（Ｙ＝Ｆ｛Ｘ｝）の指定のために必要な情報をアクセス可能に提示する機能である（後述）。
【００３４】
＜サービス、計算＞
運営者Ｐ（運営者システム２０）の提供するサービスとして、利用者Ｕ（利用者システム１０）からの要求に対し、複数の利用者Ｕで共有される計算（Ｙ＝Ｆ｛Ｘ｝）に関するサービスを提供する。共有される計算（計算の共有）とは、複数の利用者Ｕにおける複数の同様内容の計算について、運営者システム２０での一括化により共有し、計算結果キャッシュデータの利用等により同様内容の計算実行繰り返しを省略し、広くリソースの節減を図るものである。例えば従来のＮ回の計算を１回に削減することで、（Ｎ−１）分の節減効果が得られる。
【００３５】
「計算」等の定義は以下である。わかりやすいように、Ｙ＝Ｆ｛Ｘ｝のように関数の形で捉える。Ｘ（またはＤ）は、データ（計算対象データ、元データ）とする。Ｆは、Ｘに対して適用（作用）する、所定のアルゴリズム等のコンピューティング技術（計算技術）とする。例えば、Ｆは、所定のオペレーションや処理などを実現するコンピュータプログラム（例えばアプリケーションプログラム）を代表として、その実行のためのソフトウェア、ハードウェア等を含む技術全般が該当する。Ｙ＝Ｆ｛Ｘ｝は、それら（Ｘ，Ｆ）の組み合わせにより規定される計算（コンピューティング）自体である。また、その計算結果（計算結果データ）を、Ｙ＝Ｄ’として表す。
【００３６】
データ（Ｘ）の例は、株価情報や、映像コンテンツデータなど、各種が挙げられる。データ（Ｘ）の計算（Ｙ）に関して、権利的に問題が無いデータ（Ｘ）が対象となる。例えば、インターネット上のＷｅｂサイト（Ｗｅｂページ）で提供（公開）され、利用者システム１０が有料／無料で取得可能なデータである。このデータ（Ｘ）は、所定の権利（前述の権利（Ｋ））と対である。
【００３７】
計算（Ｙ）及び計算技術（Ｆ）の例は、アプリケーションプログラムによる演算処理（その実行技術）などが代表として挙げられる。例えば、所定の期間のデータ（Ｘ）を用いた統計処理などが挙げられる。例えば前述した「株価のヒストリカルデータから３０日間の移動平均データを算出する」等である。この場合、データ（Ｘ）は、例えば株価情報を提供するＷｅｂサイトから取得可能な株価のヒストリカルデータであり、計算技術（Ｆ）は、移動平均算出アルゴリズム等を含むプログラム等である。
【００３８】
また、本システムにおいて、データ（Ｄ＝Ｘ）、計算技術（Ｆ）等の各々は、計算（Ｙ）の指定などが可能なように、識別子（ＩＤ）などの情報が付与されて情報管理される。簡単のため、それらの識別子についても上記記号と同様に表す（例えばＸ１，Ｆ１等）。また、各々の計算（Ｙ）は、データ（Ｘ）の識別子と計算技術（Ｆ）の識別子との組み合わせ、あるいは計算（Ｙ）用の識別子などにより、識別等が可能である。運営者システム２０（例えばサーバプログラム６０の情報提示機能）は、例えばそれらの識別子を含む管理情報６５を作成または取得して、各種データ（Ｄ，Ｄ’，Ｆ等）と共に運営者システム２０内部に保有し、また例えばＷｅｂページ等の形で外部（利用者システム１０）からもアクセス可能なように公開する（図２の管理情報６５等）。
【００３９】
また、データ（Ｄ＝Ｘ）や計算技術（Ｆ）に関して、計算結果（Ｙ＝Ｄ’）に影響する変数等（例えば計算対象範囲を決める値）がある場合は、それらの情報についても上記と関連付けて管理情報６５内に管理される。
【００４０】
なお上記関数（Ｙ＝Ｆ｛Ｘ｝）の形に限らず、例えば元データ（Ｘ）の入力が無くても所定の権利に応じた処理が運営者システム２０（そのプロセッサ等）で行われるようなものであれば対象となる（例えば映像コンテンツデータの提供や録画などの処理）。
【００４１】
＜処理＞
図２において実施の形態１における基本的な処理シーケンスの概要を示している。Ｓ１〜Ｓ５等は本処理シーケンスを構成する処理ステップ等を示す。以下主な処理主体はクライアントプログラム５０−サーバプログラム６０である。
【００４２】
（１）  利用者Ｕ側（利用者システム１０、クライアントプログラム５０）がネットワーク３０を介して運営者Ｐ側（運営者システム２０、サーバプログラム６０）に対して、所望の計算（Ｙ＝Ｆ｛Ｘ｝）を指定してサービス（計算）を要求する（Ｓ１）。計算対象データ（Ｘ）や計算技術（Ｆ）等が例えば識別子で指定される。
【００４３】
（２）  上記要求（Ｓ１）に対し、運営者Ｐ側は、要求（指定）された計算（Ｙ＝Ｆ｛Ｘ｝）に関するデータ（Ｘ）／権利（Ｋ）を利用者Ｕ側が有していること（条件）を、（利用者Ｕ側に対して）確認するための手続きを、所定の技術的な手段により行う。対応して利用者Ｕ側からみると、利用者Ｕ側は、要求した計算（Ｙ）に関するデータ（Ｄ＝Ｘ）／権利（Ｋ）を有していることを（運営者Ｐ側に対して）証明するための手続きを、所定の技術的な手段により行うということである。この手続きでは、例えば、第１の処理ステップ（Ｓ２）として、運営者システム２０から利用者システム１０へ、上記データ（Ｄ）／権利（Ｋ）の確認のためのチャレンジ情報を作成して送信する。続いて第２の処理ステップ（Ｓ３）として、利用者システム１０は、上記チャレンジ情報に対して、上記データ（Ｘ）／権利（Ｋ）を保有していること、を証明するためのレスポンス情報を作成して送信する。そして運営者システム２０は、上記レスポンス情報を参照して上記条件（Ｐ−Ｕの両者が同じ計算対象データ（Ｄ）等を正しく保有していること等）を判定する。当該確認（判定）の結果、例えば当該利用者Ｕが当該データ（Ｄ）／権利（Ｋ）を保有していない等と判定した場合は、サービスを提供しない（即ち計算結果データを応答しない）。
【００４４】
（３）  上記（２）の手続きの後、運営者Ｐ側は、必要に応じて、要求された計算（Ｙ＝Ｆ｛Ｘ｝）を実行する（Ｓ４）。Ｓ４の際、運営者システム２０は、過去の計算実行済みによる該当の計算結果のキャッシュデータを記憶領域２３（キャッシュ領域）に保有している場合は、そのキャッシュデータを利用することで、当該計算の実行を省略する（Ｓ４−Ｂ）。上記保有していない場合は、運営者システム２０で当該計算を実行すると共に当該計算結果データを記憶領域２３（キャッシュ領域）にキャッシュする（Ｓ４−Ａ）。Ｓ４で極力キャッシュデータを利用することで、計算の実行を最小限に留め、リソースを節減する。そして、Ｓ４に基づき、運営者システム２０は、要求されている計算結果データ（Ｙ＝Ｄ’）を、利用者システム１０へネットワーク３０を介して応答（送信）する（Ｓ５）。これにより利用者Ｕは所望の計算結果データ（Ｄ’）を取得できる。例えば当該計算結果データ（Ｄ’）が株価の分析結果データ（例えばＷｅｂページ等の形式）であれば、それを利用者システム１０のＷｅｂブラウザ等の画面で表示して利用者が閲覧することができる。
【００４５】
図２では、データ（Ｘ＝Ｄ）の例として、利用者Ｕ１（利用者システム１０）はデータＤａ，Ｄｄ，Ｄｅを保有しており、同様に、Ｕ２はＤｂ，Ｄｆを保有しており、Ｕ３はＤｂを保有している。また図示省略するが運営者システム２０はデータＤａ，Ｄｂ，Ｄｃ，Ｄｄ，Ｄｅ，……等を保有している。即ちデータＤａについてはＵ１のみ保有し、ＤｂについてはＵ２，Ｕ３の両者が保有し、Ｄｃについては運営者Ｐ側しか保有していない、といった状態である。勿論このような状態は随時変動する。なお前述のように利用者システム１０内部にデータ（Ｄ）ではなく権利（Ｋ）を保有する場合、そのデータ（Ｄ）実体は、例えば外部（何らかの情報処理システム、ストレージ等）に、利用者システム１０がアクセス可能な状態で格納されている形などである。あるいはデータ（Ｄ）実体が無くても必要（要求）時に当該データ（Ｄ）が生成されて提供される形などである。
【００４６】
＜処理（１）＞
Ｓ１の詳細処理例は以下である。図２の利用者Ｕ１が要求する計算（Ｙ＝Ｆ｛Ｘ｝）の例として、管理情報６５に示すように、計算：Ｙ＝Ｙ１、データ：Ｘ＝Ｄ＝Ｄａ、計算技術：Ｆ＝Ｆ１、計算結果データ：Ｄａ’である。それに対し、運営者システム２０は、計算対象データＤａ（第２のデータ）を、記憶領域２３に保有している状態とする。計算内容は例えば前述の株価データの統計処理（分析処理）である。
【００４７】
Ｓ１で、利用者Ｕ１の利用者システム１０のクライアントプログラム５０から、ネットワーク３０を介して、運営者システム２０のサーバプログラム６０へ、サービスの要求を送信する。なお要求のアクセスは、例えばアクセス先となるサーバ（計算機２１）のＵＲＬ（ＩＰアドレス等）が指定されることにより行われる。
【００４８】
ここで、上記Ｓ１の際、要求の情報は、コンピュータ処理のために、利用者Ｕ１が所望する計算（Ｙ＝Ｆ｛Ｘ｝）を指定（特定）するための識別子などの情報を含む。この情報は、例えば、計算対象データ（例えばＤａ）の識別子、アルゴリズム等の計算技術（Ｆ）の識別子、などを含む。即ち本例では（Ｄａ，Ｆ１）によるＹ１である。
【００４９】
また、上記識別子などの情報を処理する構成例として以下である。Ｓ１の際（Ｓ１の途中または以前）、利用者システム１０の前述のクライアントプログラム５０の情報参照機能は、例えば利用者Ｕの操作に基づき自動的に、運営者システム２０（前述のサーバプログラム６０の情報提示機能）が提供するＷｅｂページ等（あるいは管理情報テーブル等）の提示情報（例えば図２の管理情報６５）にアクセスする。そして、その提示情報から、本サービスで利用可能（対象として選択可能）となるデータ（Ｘ）や計算技術（Ｆ）、それらの組み合わせによる計算（Ｙ）等に関する、識別子や名称など（その他ＵＲＬ等）の情報を参照・取得する。例えば、提示情報の中から、利用者Ｕが対象データ（Ｘ）の名称等の項目を選択操作する。それに応じて、クライアントプログラム５０が、自動的に当該選択されたデータ（Ｘ）の名称等に関係付けられるデータ識別子などの情報を内部処理的に取得する。そして、上記取得したデータ識別子などの情報を、要求（Ｓ１）の処理などにおいて用いる。
【００５０】
また例えば、上記識別子などの情報に関する検索のサービス・機能等を提供してもよい。即ち、上記クライアントプログラム５０やサーバプログラム６０の処理機能を用いて、利用者ＵがＷｅｂページ等に対してデータ（Ｘ）や計算技術（Ｆ）に関するキーワード（例えば曖昧な名称など）等の条件を入力し、検索処理を行う。これにより該当した検索結果情報を利用者Ｕに対して提示し、その中から利用者Ｕが所望のデータ（Ｘ）等の情報を選択操作することにより、計算の指定を可能とする（上記同様にクライアントプログラム５０等が自動的に識別子などの情報を取得する）。また上記検索の範囲は、運営者システム２０内の情報とする形態や、その他広くネットワーク３０上から情報を収集することで、運営者システム２０が保有していない状態のデータ等に関するサービス（計算）を提供する形態としてもよい。後者の場合、運営者システム２０は要求されたデータ（Ｘ）等をインターネット上（ネットワーク３０）から取得して保有することで計算（サービス）を提供する。
【００５１】
また利用者Ｕ側のクライアントプログラム５０等が、ネットワーク３０上の運営者システム２０（その管理情報６５、提示情報）から情報を収集することにより最新の情報（サービス利用可能な計算の情報）を利用者システム２０内に保持してもよい。
【００５２】
上記要求（Ｓ１）に対し、運営者システム２０のサーバプログラム６０は、上記計算（Ｙ＝Ｆ｛Ｘ｝）の指定の情報を取り出し、例えば、上記計算の指定の情報に対して、記憶領域２３を参照して該当のデータ（Ｘ）や計算技術（Ｆ）について存在有無などを確認する。存在する場合はＳ２以降の処理を行い、存在しない場合などには、Ｓ２以降の処理を行わずに、サービス提供不可能な旨などを利用者システム１０へ応答する。なお上記提示情報からの選択による構成例の場合は、利用者システム１０から指定されたデータ（Ｘ）や計算技術（Ｆ）について基本的に運営者システム２０内に保有されていることになるので、基本的にサービス（計算）の提供が可能である。
【００５３】
＜処理（２）＞
図３において、（Ｓ２，Ｓ３）の手続きの詳細例を示している。公知のハッシュ処理等を用いた同一データ／権利の確認・証明の技術を適用した例である。Ｓ１は前述同様の要求（Ｙ１＝Ｆ１｛Ｄａ｝）とする。図３の例では、利用者Ｕ（利用者システム１０）側が保有する計算対象データである第１のデータＤａ（３０１）と、同じく、運営者Ｐ（運営者システム２０）側が保有する計算対象データである第２のデータＤａ（３０２）とを有し、これら両者のデータに関する確認（Ｓ２）−証明（Ｓ３）の手続きを示す。
【００５４】
（Ｓ２）  運営者システム２０（サーバプログラム６０）は、Ｓ１の要求に対して、Ｓ２で送信するための情報（チャレンジ情報）を生成する。運営者システム２０は、例えば暗号鍵を生成してチャレンジ情報（Ｃ）３０３とする。Ｓ２で、運営者システム２０は、そのチャレンジ情報（Ｃ）３０３を含む情報を、ネットワーク３０を介して利用者システム１０へ送信する。
【００５５】
（２−１）  また運営者システム２０は、上記チャレンジ情報３０３（Ｃ）と、Ｐ側の第２のデータＤａ（３０２）とを入力として用いた所定のハッシュ関数による計算処理を行い、その出力である第２のハッシュ値３０４（ｈ２）を得る。
【００５６】
（２−２）  一方、利用者システム１０（クライアントプログラム５０）は、Ｓ２の情報を受信、取得すると、その中のチャレンジ情報（Ｃ）３０３と、利用者Ｕ側で保有する第１のデータＤａ（３０１）とを入力として用いて、運営者Ｐ側と同様の所定のハッシュ関数による計算処理を行い、その出力である第１のハッシュ値（ｈ１）３０５を得る。
【００５７】
（Ｓ３）  Ｓ３で、利用者システム１０は、上記第１のハッシュ値（ｈ１）３０５を含むレスポンス情報をネットワーク３０を介して運営者システム２０へ送信する。
【００５８】
（２−３）  運営者システム２０は、Ｓ３の情報を受信、取得すると、その中のＵ側の第１のハッシュ値（ｈ１）３０５を、上記Ｐ側の第２のハッシュ値（ｈ２）３０４と比較する。上記Ｐ側−Ｕ側の各計算結果（ハッシュ値）は、両者で同じデータＤａ、暗号鍵（Ｃ）、ハッシュ関数等を用いた場合、同じ結果になるはずである。上記比較の結果、一致の場合、運営者システム２０は、Ｐ側−Ｕ側の両者で同じデータＤａを保有していると判定する。なお上記手続きは、上記ハッシュ処理以外にも、各種技術を適用可能である。
【００５９】
上記手続きにより、例えば計算対象データ（Ｄ）／権利（Ｋ）を保有していない利用者Ｕが本サービスにただ乗り利用すること等が防止される。仮に上記手続きが無いとすると、例えばただ乗り目的の利用者Ｕが運営者Ｐ側の計算結果キャッシュデータ等を取得できてしまう（リソースの浪費などにつながる）。
【００６０】
＜処理（３）＞
図４において、（Ｓ４，Ｓ５）の詳細例を示している。複数の利用者Ｕ（例えばＵ２，Ｕ３）との間におけるサービス（計算の共有）の利用例（キャッシュ利用によりリソースを節減できる例）を示すものである。上側は、利用者Ｕ２が要求し、キャッシュ無しの場合（前記Ｓ４−Ａ：初回の計算の実行及びキャッシュの場合）の第１の処理シーケンス（Ｓ１〜Ｓ５）であり、同様に、下側は、利用者Ｕ３が要求し、キャッシュ有りの場合（前記Ｓ４−Ｂ：キャッシュ利用による計算実行省略の場合）の第２の処理シーケンス（Ｓ１〜Ｓ５）である。図４の利用者Ｕ２，Ｕ３が要求する計算（Ｙ＝Ｆ｛Ｘ｝）の例として、管理情報６５に示すように、計算：Ｙ＝Ｙ２、データ：Ｘ＝Ｄ＝Ｄｂ、計算技術：Ｆ＝Ｆ２、計算結果データ：Ｄｂ’である。４０１はＵ１側の第１のデータＤｂ、４０２はＰ側の第２のデータＤｂ、４０３はＵ２側の第１のデータＤｂ、である。
【００６１】
（第１の処理シーケンス）  Ｕ２側において、前記Ｓ１〜Ｓ３の後、Ｓ４で、運営者システム２０（サーバプログラム６０）は、Ｕ２からの指定の計算（Ｙ２）における計算結果データ（Ｄｂ’）のキャッシュデータが記憶領域２３（キャッシュ領域）に存在するかどうかを確認する。ここでは当該計算（Ｙ２）の実行が初回の場合とする。
【００６２】
上記でキャッシュデータが無い場合（Ｓ４−Ａ）は、運営者システム２０は、自身のコンピューティングリソースを用いて、当該計算（Ｙ１）の処理を実行する。即ち、記憶領域２３に保有されている指定のデータＤｂ（４０２）に対して指定の計算技術（Ｆ２）を適用した計算処理を実行（例えば計算機２１のプロセッサがメモリ領域にデータを読み出して実行）し、その計算結果データ（Ｄｂ’）を、記憶領域２３（キャッシュ領域）にキャッシュデータとして格納する。また、計算結果データ（Ｄｂ’）について元データ（Ｄｂ）や計算技術（Ｆ１）と関連付ける等して必要な管理情報６５を記録する。それと共に、Ｓ５で、計算結果データ（Ｄｂ’）を、ネットワーク３０を介して要求元の利用者Ｕ２の利用者システム１０へ応答として送信する。
【００６３】
（第２の処理シーケンス）  Ｕ３側において、同様に、Ｓ４で、運営者システム２０（サーバプログラム６０）は、Ｕ３からの指定の計算（Ｙ２）における計算結果データ（Ｄｂ’）のキャッシュデータが記憶領域２３（キャッシュ領域）に存在するかどうかを確認する。ここでは、上記第１の処理シーケンスの実施後以降の状態なので、当該キャッシュデータが存在する場合とする。
【００６４】
上記でキャッシュデータが有る場合（Ｓ４−Ｂ）は、運営者システム２０は、当該計算（Ｙ２）の処理を実行せず、当該計算結果キャッシュデータ（Ｄｂ’）を記憶領域２３（キャッシュ領域）から読み出す。そして、運営者システム２０は、Ｓ５で、その計算結果データ（Ｄｂ’）を、ネットワーク３０を介して要求元の利用者Ｕ３の利用者システム１０へ応答として送信する。
【００６５】
上記により、複数（２回）の同様の計算（Ｙ２）の実行繰り返しを１回に削減でき、リソース節減効果が得られる。３回目以降の要求に対しても同様にキャッシュ利用することで計算実行が省略される。例えば従来Ｎ回の同様の計算を実行する場合に比べて、（Ｎ−１）分の削減ができる。
【００６６】
＜効果等＞
本実施の形態（実施の形態１）によれば、上述した性質の計算（同様の元データに対する同様内容の複数の計算）に係わり、本システム（運営者システム１０と複数の利用者システム２０）の範囲、あるいは本システムを含むインターネット等の環境全体において、コンピューティングリソース、計算時間リソース、ネットワークリソース等の各種のリソースの節減（浪費の削減や利用の効率化）が実現でき、利用者Ｕ及び運営者Ｐにとって有用なサービスを実現できる。
【００６７】
例えば、多数の各利用者システム１０における計算の実行が削減できるので、それらのコンピューティングリソース（計算資源、記憶資源など）や計算時間リソースなどを節減できる。またネットワーク３０上でのデータの授受が削減されるので、ネットワークリソース等が節減できる。またキャッシュデータを利用した場合は計算の繰り返しが省略されるので更にリソースが節減できる。
【００６８】
また特に、対象として有効な計算（Ｙ）として、多数個のデータ（Ｄ）や大規模なデータ（Ｄ）を集計する演算処理などが挙げられる。例えば、専用または高価なプログラムやプロセッサ等を必要とする等、個人の利用者Ｕ（利用者システム１０）の環境では利用し難い高度な計算が挙げられる。また、高度な計算でなくても、大規模なデータの場合や、利用者システム１０の資源（性能）が限られている場合など、長時間（例えば数時間や１日以上など）を要する計算が挙げられる。そのような計算の場合でも、利用者Ｕは、本システム（サービス）を利用することで、計算結果データを得ること、及び短い時間でそれを得ること等が可能である。これによって空いたリソースは他の用途に使用することもできる。
【００６９】
また特に、前述のように利用者システム１０内部にデータ（Ｄ）を保有せずに（例えば外部に保有）、対応する権利（Ｋ）のみ保有する形が可能であり、その場合、利用者システム１０はコンピューティングリソース（記憶資源等）を節減できる。例えば、計算（Ｙ＝Ｆ｛Ｘ｝）として、元データ（Ｘ）が映像コンテンツデータ（権利（Ｋ）はその権利管理情報・制御情報など）、計算技術（Ｆ）がデータ（Ｘ）の変換（エンコード）等の処理技術、計算結果データ（Ｄ’）が変換後データとする。利用者システム１０は、例えば前述のハッシュ値等のレベル（手続き（Ｓ２，Ｓ３））で当該データ変換等の権利（Ｋ）の保有を運営者システム２０に対して証明するためのデータ情報ないしその処理機能を、内部に保有する。これにより、利用者システム１０内に元データ（Ｘ）を保有している必要が無く、また例えば長期にわたって当該データ（Ｘ）を保有し続ける必要も無い。また本サービスを利用できる環境においては、利用者システム１０は一旦取得した計算結果データ（Ｄ’）を利用者システム１０内部に保有し続ける必要も無い。
【００７０】
（実施の形態２）
図５を用いて、本発明の実施の形態２のコンピューティング共有システムについて説明する。実施の形態２では、複数（ｍ）の運営者Ｐ（Ｐ１〜Ｐｍ）の運営者システム２０が存在し、ネットワーク３０に接続される。そして、それらのうちの複数（例えば同じくｍ）の運営者システム２０で、要求された計算（Ｙ＝Ｆ{Ｘ}）に関する計算対象データ（Ｘ＝Ｄ）を分割（ｍ分割）して当該計算を処理する。それら複数（ｍ）の個別の分割データ（Ｄ１〜Ｄｍ）に対する個別の分割計算（Ｙ１〜Ｙｍ）の単位の処理に関しては、実施の形態１の処理シーケンス（Ｓ１〜Ｓ５等）と基本的に同様に実現できる。各運営者システム２０は、計算対象（サービス提供対象）となる（分割前の）元データ（Ｄ）を保有する。図５では、比較的大規模の計算対象データ（Ｄ）に関するｍ分割の計算の例を示している。
【００７１】
（第１の構成例）  上記分割計算に関する第１の構成例として、１つの利用者Ｕ（例えばＵ１）の利用者システム１０と複数（ｍ）の運営者Ｐ（Ｐ１〜Ｐｍ）の運営者システム２０との間で、個別の分割計算（Ｙ１〜Ｙｍ）ごとに並列的に前述同様のシーケンス（Ｓ１〜Ｓ５等）を行うことで実現する形態とする。図５はその形態を示している。Ａ１〜Ａｍは、上記並列的なサービス（分割計算）の要求−応答の手順であり、それぞれＳ１〜Ｓ５等と同様である。例えばＡ１では、分割データＤ１に関する分割計算（Ｙ１＝Ｆ｛Ｄ１｝）を第１の運営者Ｐ１に依頼し、その分割計算結果データ（Ｙ１＝Ｄ１’）を得るものである。
【００７２】
例えば、第１の利用者システム１０（クライアントプログラム５０等）から、所望の計算（Ｙ＝Ｆ｛Ｘ｝）の結果（Ｄ’）を得るために、上記分割計算を担当させる複数（ｍ）の各々の運営者（Ｐ１〜Ｐｍ）の運営者システム２０に対し、Ａ１〜Ａｍのように、ｍ分割のデータ（Ｄ１〜Ｄｍ）に対する各々の分割計算（Ｙ１〜Ｙｍ）を依頼（要求）する。例えばクライアントプログラム５０により、適宜、上記分割の割り当てやその管理などを行う。各運営者システム２０は、依頼された分割計算（Ｙｉ）を適宜実行し、その分割計算結果データ（Ｄｉ’）を、依頼元の利用者システム１０へ応答する。運営者システム２０は、保有している元データ（Ｄ）のうち指定の分割データ部分に対して指定の計算技術（Ｆ）の適用による計算を実行することになる。そして、各々の分割計算結果データ（Ｄｉ’）を取得した利用者システム１０（クライアントプログラム５０）は、それらを結合等（統合）することで、所望の計算結果データ（Ｄ’）を得る。
【００７３】
一例として、データ（Ｄ）は２００９年１年分の株価データ、計算技術（Ｆ）はその統計処理・分析処理（例えば前述の移動平均データ算出）のとき、分割データＤ１等は例えば上記データ（Ｄ）のうちの１ヶ月分のデータ、分割計算Ｙ１等はその１ヶ月分を計算の範囲（期間）とした処理などである。
【００７４】
（第２の構成例）  また上記分割計算に関する第２の構成例として、１つの利用者Ｕ（例えばＵ１）の利用者システム１０と複数（ｍ）の運営者Ｐ（例えばＰ１〜Ｐｍ）の運営者システム２０との間に、１つの例えば代表的な運営者Ｐ（Ｐｓとする）の運営者システム２０を介在させ、データ（Ｄ）及び計算（Ｙ）に関する基本的な要求−応答及び条件判定などの処理については、上記Ｕ１−Ｐｓ間で処理し、上記同様の個別の分割計算処理については、上記Ｐｓ−複数Ｐ（Ｐ１〜Ｐｍ）間で並列的に処理する、といった形態も可能である。この場合、前者のＵ１−Ｐｘ間の処理は実施の形態１（Ｓ１〜Ｓ５等）と同様であるし、後者のＰｓ−複数Ｐ（Ｐ１〜Ｐｍ）間の処理は、上記第１の構成例（図５）の説明と同様である。上記運営者Ｐｓは、分割の割り当てやその管理等の処理を行うことになる。なお、上記運営者Ｐｓは、固定としてもよいし、あるいは複数のうちから任意選択可能としてもよい。また、分割計算を担当させる複数（ｍ）の運営者システム２０の中に、上記運営者Ｐｓの運営者システム２０を含めてもよいし、別としてもよい。
【００７５】
実施の形態２においても、実施の形態１と同様に、リソース節減効果などが得られる。また、１つの運営者システム２０のみでの計算の実行では長時間を要するなど効率的でない場合などに、複数の運営者Ｐを用いることで、より効率化が図れる。
【００７６】
（実施の形態３）
図６を用いて、本発明の実施の形態３のコンピューティング共有システムについて説明する。実施の形態３では、実施の形態２と同様に、複数の運営者Ｐ（運営者システム２０）が存在するシステムとし、複数（例えばｍ）の運営者Ｐ（Ｐ１〜Ｐｍ）の中から、所望の計算（Ｙ＝Ｆ｛Ｘ｝）を実行させる（その計算結果データ（Ｄ’）を提供させる）対象となる運営者Ｐを、利用者Ｕまたはその利用者システム１０が選択することができる仕組みとする。また実施の形態２と同様に、システム構成内に代表的な運営者Ｐｓの運営者システム２０を介在させてもよいし、介在させなくてもよい。
【００７７】
（第１の構成例）  上記に関する第１の構成例として、利用者Ｕ（人）が明確に１つの運営者Ｐの運営者システム１０を選択する仕組みとする。複数の各運営者（Ｐ１〜Ｐｍ）、あるいは代表的な運営者Ｐｓの運営者システム２０は、前述同様に、サービス提供可能な計算に関する情報を外部（利用者システム１０）に提示する。１つの運営者Ｐｓが提示する場合は複数の運営者システム２０の情報を１つにまとめて提示してもよい。利用者Ｕ（利用者システム１０）は、それら複数または１つの提示情報を参照し、利用者Ｕは、その中から、所望の計算（Ｙ）を実行させる対象となる例えば１つの運営者の運営者システム１０を選択する。その選択に応じて、利用者システム１０（クライアントプログラム５０等）と選択された１つの運営者システム１０との間で、前述同様（Ｓ１〜Ｓ５等）に、指定の計算（Ｙ）に関する処理を行い、計算結果データ（Ｄ’)を得る。
【００７８】
（第２の構成例）  上記に関する第２の構成例として、利用者Ｕ（人）ではなく利用者システム１０等（コンピュータ）が自動的に複数の運営者Ｐの運営者システム２０の中から上記計算を実行させる対象となる例えば１つの運営者システム２０を選択する仕組みとする。図６は、その構成例を示している。利用者システム１０（クライアントプログラム５０等）から、候補となる複数（ｍ）の運営者（Ｐ１〜Ｐｍ）の運営者システム２０（または間に介在する代表的な運営者Ｐｓの運営者システム２０）に対して、サービス（計算（Ｙ＝Ｆ｛Ｄ｝））を要求する。
【００７９】
図６の例では、Ａ１〜Ａ４のように、例えば４つの候補（利用者Ｕが所望する計算が提供可能なもの）となる運営者Ｐ（Ｐ１〜Ｐ４）の運営者システム２０に対して、利用者システム１０（クライアントプログラム５０）から並列的に同様の計算（Ｙ＝Ｆ｛Ｘ｝）（そのサービス）に関する要求をする場合である（各処理はＳ１〜Ｓ５等と同様）。第１の運営者Ｐ１は、計算対象データ（Ｄ）及びその計算（Ｙ）の計算結果データ（Ｄ’）をキャッシュとして保有している状態である。第２の運営者Ｐ２及び第３の運営者Ｐ３は、元データ（Ｄ）は保有しているがキャッシュ（Ｄ’）は保有していない状態である。第４の運営者Ｐ４は、上記（Ｄａ，Ｄａ’）のいずれも保有していない状態である。
【００８０】
この例の場合、まず、実施の形態１等と同様になるべくキャッシュを利用する仕組みとする場合は、要求に対し、第１の運営者Ｐ１の計算結果データ（Ｄａ’）のキャッシュから応答（Ｂ１）を取得することが、サービスの応答速度的には効率的である。複数の運営者Ｐに同じくキャッシュがある場合、それらから１つを選択して応答すればよい。
【００８１】
また、いずれの運営者システム２０にも計算結果データ（Ｄａ’）のキャッシュが無い状態の時、あるいは、要求に対してキャッシュを利用せずに元データ（Ｄ）に対する計算を実行させてキャッシュを作成する場合には、元データ（Ｄ）を保有している運営者システム２０の中から選択する。本例ではＰ１を除くとＰ２とＰ３が元データ（Ｄ）を保有しているので、要求（Ａ２，Ａ３）に対し、それらから１つを選択して応答すればよい。要求に対し、該当の運営者システム２０は、指定のデータ（Ｄ）に対する指定の計算（Ｙ＝Ｆ｛Ｘ｝）を実行し、その計算結果データ（Ｄ’）を応答すると共にキャッシュする。
【００８２】
また例えば、それぞれの運営者システム２０（例えばＰ２，Ｐ３）から応答を送信してもよく、その場合は、同様の計算結果データ（Ｄ’）の応答のうち１番早く利用者システム１０で受信したもの（例えばＰ２からの応答（Ｂ２））を結果として取得する形としてもよい。ただしこの場合は同様のデータをネットワーク３０上で授受するので、その分ネットワークリソースを消費することになる。また例えば、候補の運営者システム２０間で通信し交渉することにより、利用者システム１０へ応答する１つの運営者システム２０を決定してから応答の処理をする形としてもよい。
【００８３】
実施の形態３においては、複数の運営者を用いることで、より効率的にリソース節減効果などが得られる。実施の形態３の場合、信頼しあった運営者間で計算リソースの融通がなされることで、利用者からすると、（本サービスの利用に関する）決済契約を締結するカウンターパーティが１社で済む利点がある。
【００８４】
（実施の形態４）
図７を用いて、本発明の実施の形態４のコンピューティング共有システムについて説明する。実施の形態４では、２種類の運営者（サービス提供者）Ｐ，Ｑを有する。図７において、第１の運営者（Ｑ）システム７０、第２の運営者（Ｐ）システム２０、（複数の）利用者（Ｕ）システム１０等を有し、ネットワーク３０に接続される。Ｐ，Ｕの各システムは前述の実施の形態１等と概略同様の構成である。
【００８５】
第１の運営者（Ｑ）システム７０は、利用者（Ｕ）システム１０（および第２の運営者（Ｐ）システム２０等）に対して、第１のサービス（α）７１及びそのデータ（Ｄ）７２を提供する。これは一例として、株式情報の提供または分析サービス（α）と、その提供データまたは分析結果データ（Ｄ）などである。第１のサービス（α）７１は所定の計算（Ｙ）及び計算技術（Ｆ）などと対応付けられる。
【００８６】
利用者Ｕの利用者システム１０は、上記第１のサービス（α）及びデータ（Ｄ）を利用する権利（Ｋ：α，Ｄ）を有する。特に、利用者システム１０内部に、この権利（Ｋ：α，Ｄ）に相当する情報１５（権利管理情報など）を保有し、データ（Ｄ）については保有してもしなくてもよい。この権利（Ｋ：α，Ｄ）の情報１５は、例えば第１の運営者システム７０と利用者システム１０との間での処理（Ｓ０）などにより取得してもよい。なお上記データ（Ｄ）が例えばＷｅｂサイト等の形で一般に公開されるオープンな情報の場合などには、特に利用者システム１０内部に上記権利管理情報などを取得や保有する必要も無い。
【００８７】
一方、第２の運営者（Ｐ）システム２０は、上記第１のサービス（α）７１に対しての例えば拡張的なサービスである第２のサービス（β）２５を利用者に対して提供する。第２のサービス（β）２５は、所定の計算（Ｙ）及び計算技術（Ｆ）などと対応付けられる。第２のサービス（β）２５は、第１のサービス（α）７１で使用するデータ（Ｄ）７２を同じく使用した、第１のサービス（α）７１とは異なる計算内容によるサービスであり、第１のサービス（α）７１との関係性はあるが異なるサービスである。例えば、元データ（Ｄ）７２に対し、第１のサービス（α）７１の計算内容とは異なる分析処理の計算などを行うものである。
【００８８】
上記前提において、前述の実施の形態１等と同様に、利用者システム１０と第２の運営者（Ｐ）システム２０との間で、所定の処理シーケンス（Ｓ１〜Ｓ５等と概略同様）により、第２のサービス（β）２５の計算（Ｙ＝Ｆ｛Ｘ｝）に関する計算結果データ（Ｄ’）を利用者システム１０に応答するものである。Ｓ１では、利用者システム１０から第２の運営者（Ｐ）システム２０へ、第２のサービス（β）を要求する。これに対し、前述同様に例えばチャレンジ（Ｓ２）−レスポンス（Ｓ３）等の手続きにより、利用者（Ｕ）システム１０側が確かに権利（Ｋ：α，Ｄ）を保有していること等を確認・証明する。この際利用者（Ｕ）システム１０側は、例えば上記権利（Ｋ：α，Ｄ）の情報１５を用いて証明を行う。
【００８９】
第２の運営者（Ｑ）システム２０は、Ｓ５でβの計算結果データ（Ｄ’）を応答するために、Ｓ４で、βの計算結果データ（Ｄ’）を取得する処理を行う。前述同様に、対応するキャッシュが存在する場合はそれを利用して応答する。キャッシュが無い場合は、第２の運営者（Ｐ）システム２０内部に保有している元データ（Ｄ）に対するβの計算を実行してキャッシュする(Ｓ４−２)。あるいは、第２の運営者（Ｐ）システム２０内部に元データ（Ｄ）を保有していない場合は、第１の運営者（Ｑ）システム７０から通信により取得し（Ｓ４−１）、同様に処理する。上記に基づき、Ｓ５で、βの計算結果データ（Ｄ’）を利用者システム１０へ応答する。
【００９０】
実施の形態４においても、実施の形態１と同様に、リソース節減効果などが得られる。特に、拡張的なサービス（β）を提供できることによる利益などがある。
【００９１】
（他の実施の形態）
その他の実施の形態や処理例等として以下が挙げられる。
【００９２】
（ａ）  前記手続き（Ｓ２，Ｓ３）の際の条件の判定では、両者（Ｐ，Ｕ）のデータ／権利の保有の確認・証明だけでなく、詳しくは、その他の条件を判定してもよい。例えば、運営者システム２０側のリソースや負荷の状態に応じて、要求された計算（Ｙ）が実行可能な状態かどうか、あるいは当該計算を提供すべきかどうか、等を判定してもよい。また例えば、複数の利用者システム１０からの計算単位ごとの要求の数などに応じて、同様に判定してもよい。即ち、リソース節減効果をある程度数値的に判定してサービスを提供する。
【００９３】
（ｂ）  本サービス対象となる計算（Ｙ）として、完全に同一内容の計算（即ちＤ，Ｆ等が同一）に限らず、類似の計算としてもよい。例えば、データ（Ｄ）や計算技術（Ｆ）が一部異なる計算や、計算結果に影響する変数値などが少し異なる計算などが挙げられる。例えば株価データ（Ｘ）を用いた統計処理（Ｙ＝Ｆ｛Ｘ｝）において計算対象範囲とするデータ期間（変数値）が異なる場合などである。
【００９４】
対応例として、上記変数などの情報も関連付けて管理する（管理情報６５）。利用者Ｕ側からの変数値などを含めた計算の指定（例えば２００９年の株価データのうちの２００９年１月の分析データの要求）を可能とする。また例えば要求に対して一から計算を実行しなくても、既存の計算結果データをもとに分割や統合、加工することで、上記変数値などが異なる計算結果が得られる場合は、それも利用する。また例えば、運営者システム２０は、同じ元データ（Ｘ）に対し上記変数値などを少しずつ変えた計算を予め実行しておき、後の要求に備えて各計算結果データをキャッシュしておいてもよい。
【００９５】
（ｃ）  運営者システム２０側に、過去の計算（Ｙ）に関する履歴機能を備える形態とする。運営者システム２０は、複数の計算（サービス）に関する実行（提供）の履歴を把握し、リソースの利用や節減の効果を数値的に把握する。
【００９６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【００９７】
本発明は、インターネット等におけるサービス提供者などの情報処理システム、コンテンツ配信システム、等に利用可能である。
【符号の説明】
【００９８】
１０…利用者システム、１１…計算機、１２…データ、１３…記憶領域、１５…権利の情報、２０…運営者システム、２１…計算機、２２…データ、２３…記憶領域、２５…第２のサービス、３０…ネットワーク、５０…クライアントプログラム、６０…サーバプログラム、６５…管理情報、７０…第１の運営者システム、７１…第１のサービス、７２…データ、２０１，３０１，４０１…第１のデータ、２０２，３０２，４０２，５０２…第２のデータ、３０３…チャレンジ情報（暗号鍵）、３０４…第２のハッシュ値、３０５…第１のハッシュ値。
【図１】
0005416597.tif 000002
【図２】
0005416597.tif 000003
【図３】
0005416597.tif 000004
【図４】
0005416597.tif 000005
【図５】
0005416597.tif 000006
【図６】
0005416597.tif 000007
【図７】
0005416597.tif 000008