(57)【要約】【課題】クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる仕組みを提供する。【解決手段】本システムでは、各ノードは、サービスの資源を供出する代わりにサービスを利用する。サービスの利用の際、ユーザの第１のノード（ＮＡ）から、第２のノード（ＮＢ）を経由して、当該サービス（その資源）を提供する第１のグループ（Ｇ１）の複数の第３のノード（ＮＣ）にアクセスし、当該応答を、当該第２のノード（ＮＢ）を経由して、当該第１のノード（ＮＡ）へ応答する処理を行う。上記処理に伴い、例えば第２のノード（ＮＢ）は、上記複数の第３のノード（ＮＣ）の各々からの応答を評価処理し、その評価情報を第４のノード（ＮＤ）に保存する。その評価情報に基づいて、第３のノード（ＮＣ）がサービスを利用する場合におけるサービスの実行が制御される。【選択図】図３
2011059884.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのコンピュータによるノード同士が通信接続されて成るネットワークを有し、
前記ノードは、
ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービスを提供する処理を行う提供機能と、
前記サービスを要求して利用する処理を行う利用機能と、
前記利用機能を用いる第１のノードと前記提供機能を用いる第３のノードとの間に介在して、前記サービスを実行する処理を行う実行機能と、
前記提供機能を用いる第３のノードによる前記サービスの提供の行為を評価してその評価情報を保持するための評価機能と、を有し、
前記サービスを利用する第１のノードの利用機能は、第２のノードの実行機能を経由して、当該サービスを提供する第１のグループの複数の第３のノードの提供機能にアクセスし、当該提供機能からの応答は、当該第２のノードの実行機能を経由して、当該第１のノードの利用機能へ応答され、
上記に伴い、前記第２のノードまたは第４のノードの評価機能は、前記第１のグループの複数の第３のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存し、
前記第２のノードの実行機能または前記第４のノードの評価機能は、前記評価情報における評価の高低に基づいて、前記第３のノードが前記利用機能を用いて前記サービスを利用する際に当該サービスの実行を制御すること、を特徴とするクラウドコンピューティングシステム。
【請求項２】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記第２のノードの評価機能は、前記第１のグループの複数の第３のノードの提供機能の各々からの応答を評価処理し、その評価情報を、第２のグループの複数の第４のノードの評価機能にアクセスして保存すること、を特徴とするクラウドコンピューティングシステム。
【請求項３】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記第２のノードの評価機能は、前記第１のグループの複数の第３のノードの提供機能の各々からの応答の結果を含むログ情報を記録し、そのログ情報を、第２のグループの複数の第４のノードの評価機能にアクセスして保存し、
前記第２のグループの複数の第４のノードの評価機能は、前記ログ情報に基づき、前記第１のグループの複数の第３のノードの提供機能の各々からの応答を評価処理し、その評価情報を保持すること、を特徴とするクラウドコンピューティングシステム。
【請求項４】
請求項２または３に記載のクラウドコンピューティングシステムにおいて、
前記第１のノードの利用機能からの前記サービスの利用の際には、前記第２のノードの実行機能から、当該第１のノードに関する評価情報を保持している、前記第２のグループの第４のノードの評価機能にアクセスして当該評価情報を確認し、その結果に基づいて当該サービスの利用及び実行を制御すること、を特徴とするクラウドコンピューティングシステム。
【請求項５】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記提供機能は、ハードウェア及びソフトウェアによる記憶資源及び計算資源を含む資源を提供することにより、クラウドコンピューティングによるサービスとして、少なくとも、データを格納するストレージサービスと、データに対するオペレーションによる計算処理を行うコンピューティングサービスと、を提供する処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項６】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記ノードは、前記ユーザにより前記提供する資源の量や稼働時間の設定を行う機能を有すること、を特徴とするクラウドコンピューティングシステム。
【請求項７】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記ノードは、参加者となる前記ユーザのアイデンティティ及びそれに属する１つ以上のノードについての証明を行うための証明機能を有し、
前記証明機能は、自ノードの証明書を発行する機能と、他ノードの証明書を認証する機能と、を有すること、を特徴とするクラウドコンピューティングシステム。
【請求項８】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記第２のノードまたは第４のノードの評価機能は、前記第１のグループの複数の第３のノードの提供機能の各々からの応答について、正確な応答データの有無を２値的に判断することにより、当該第３のノードによる当該サービスの提供の正確性を評価すること、を特徴とするクラウドコンピューティングシステム。
【請求項９】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記第２のノードまたは第４のノードの評価機能は、前記第１のグループの複数の第３のノードの提供機能の各々からの応答について、集計し、多数決的に相互比較評価すること、を特徴とするクラウドコンピューティングシステム。
【請求項１０】
請求項１記載のクラウドコンピューティングシステムにおいて、
前記ノードは、所定のハッシュ関数によるハッシュ処理を行う機能を有し、
前記ノードは、前記ネットワークへの参加に伴い、当該ノードのＩＰアドレス値Ａと、それを入力値とした前記ハッシュ処理の出力値であるハッシュ値Ｂと、を含む管理情報を保持し、
前記サービスの実行の際、前記第２のノードの実行機能は、当該サービスのタイプに応じて、前記ハッシュ処理及び前記管理情報により対応付けられる、前記ハッシュ値Ｂの所定範囲及び対応するＩＰアドレス値Ａを求めることにより、アクセス先となる前記第１のグループの複数の第３のノードを決定し、
前記評価の際、前記第２のノードの評価機能は、当該評価の処理のタイプに応じて、前記ハッシュ処理及び前記管理情報により対応付けられる、前記ハッシュ値Ｂの所定範囲及び対応するＩＰアドレス値Ａを求めることにより、アクセス先となる前記第２のグループの複数の第４のノードを決定すること、を特徴とするクラウドコンピューティングシステム。
【請求項１１】
請求項１０記載のクラウドコンピューティングシステムにおいて、
前記ノードは、自ノードを含む所定の範囲の複数のノードに関する情報を前記管理情報として保持し、当該管理情報を他のノードとの間で通信して授受する機能を有すること、を特徴とするクラウドコンピューティングシステム。
【請求項１２】
請求項１１記載のクラウドコンピューティングシステムにおいて、
前記ハッシュ値Ｂを変数Ｘとし、前記ＩＰアドレス値Ａを変数Ｙとし、
前記ノードは、前記サービスに対応付けられる前記第１のグループの複数の第３のノードを決定する際、当該サービスのタイプに応じて、前記ハッシュ値Ｂの変数Ｘを用いて、その所定の範囲を候補とし、当該候補の中から、前記ＩＰアドレスＡの変数Ｙを用いて、そのネットワーク上の遠近による所定の範囲を前記第１のグループとして決定すること、を特徴とするクラウドコンピューティングシステム。
【請求項１３】
請求項７記載のクラウドコンピューティングシステムにおいて、
前記ノードは、前記証明機能を用いることにより、当該ノードに関連付けられる当該ユーザのアイデンティティと、当該アイデンティティに属するノードに関する前記評価情報または当該評価情報に基づく権利を継承すること、を特徴とするクラウドコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラウドコンピューティングの技術に関する。
【背景技術】
【０００２】
ＩＴにおける趨勢としてクラウドコンピューティングがある。本明細書では、クラウドコンピューティング（以下適宜「クラウド」等と略称する）とは、インターネット上で、記憶資源や計算資源などの資源（リソース）を、サービスとして提供ないし利用する形態を指すとする。クラウド的なサービスを実現するシステム（クラウドコンピューティングシステム）では、要素技術としては、サーバ仮想化技術（１つの物理的なサーバ上で複数の仮想サーバを稼働させる技術等）や、分散処理技術（１つの計算を複数のノード（コンピュータ）で分散させて処理する技術等）などが用いられる。
【０００３】
クラウド的なサービス（以下単に「サービス」ともいう）の例は以下である。ユーザ（クライアント）が使用するＷｅｂブラウザ等を備えるＰＣ等のコンピュータ（端末）は、インターネット上のサービス（コンテンツ等）にアクセスする。例えばＡｍａｚｏｎ（登録商標）等による電子商取引（ＥＣ）のサービスや、Ｇｏｏｇｌｅ（登録商標）等による情報検索のサービスなどがあり、当該サービスを提供するＷｅｂサイト（サーバ）にアクセスする。当該サーバを含むノード群の中では、複数のノード間でサービスの処理（例えば分散処理等）が行われ、その結果がユーザの端末へ応答される。またユーザの端末は、当該ノード群の中でどのように処理が行われたか等について知る必要が無い。
【０００４】
また、上記クラウドコンピューティングによるサービスに関する技術として、例えば、Ａｍａｚｏｎ  ＥＣ２（Amazon Elastic Compute Cloud）（非特許文献１）などがある。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“Amazon Elastic Compute Cloud (Amazon EC2)”、amazon web services（登録商標）、［平成２１年９月１日検索］、インターネット＜ＵＲＬ：http://aws.amazon.com/ec2/＞
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クラウド的なサービス及びそのシステムの提供は、現状、一部の企業によりリードされている。特に、ＡｍａｚｏｎやＧｏｏｇｌｅ等の企業は、多数のサーバを含む巨大なインフラ（資源）等によって、クラウド的なサービス・システムを提供している。そのようなインフラ（資源）等を持たない多数の中小企業や個人等のユーザは、クラウド的なサービス・システムの利用側に留まる傾向にある。即ち、一部の企業のクラウド的なサービス・システムを、従量課金などの形で使わせてもらうことが多くなる。
【０００７】
インターネット上でのＥＣや情報検索などの各種の機能は、社会的・公共的なインフラ等としての影響力が大きい。よって、そのような機能のためのクラウド的なサービス・システムの提供は、少数の企業に限られることなく、多数・多様な企業や個人の参加が望ましいと考える。
【０００８】
また、クラウド的なシステムの実装が特定の企業によるものである場合、例えば単一の実装が支配的になることで、その実装の脆弱性がシステム環境全体に悪影響を及ぼす可能性が懸念される。よって、クラウド的なシステムは、多様な実装によって構成が可能であることが望ましいと考える。
【０００９】
以上を鑑み、本発明の主な目的は、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。本発明では、前述の仕組みを実現するために、クラウドコンピューティングシステムの構成のモデルとして、オープン、完全分散型のシステムを考える。即ち、通信ネットワーク上における情報処理システム（ノード（コンピュータ）群のネットワーク）において、例えば一部の企業のノードに限定されることなく、不特定多数のユーザ（参加者）のノードが自由に参加／離脱が可能であり、各ノードが、クラウド的なサービスの提供（構成）のためのコンピュータ資源を提供（供出）すると共に、当該サービスを利用可能であるような仕組みである。
【００１１】
サービス提供側のモデルとして、各参加者のノードは、記憶資源や計算資源等を自由に提供し、それらの複数のノードの資源（その結合）により、クラウド的なサービスを構成し提供する。また、サービス利用側のモデルとして、各参加者のノードは、上記によるクラウド的なサービスにアクセス、利用することができる。
【００１２】
ここで、上記のように各ノードがサービス（資源）の提供と利用の両方を行うようなシステムでは、上記サービス（その資源）の提供と利用のバランスが１つの問題になる。即ち、一方のユーザはサービス（資源）の利用の度合いよりも提供の度合いの方が大き過ぎるのに対し、逆に他方のユーザは利用の度合いが大き過ぎる、といった偏りや、ただ乗り等を許容する仕組みは望ましくない。
【００１３】
この点、本システムでは、公平性などの実現のために、サービス（資源）の提供（供出）における貢献度（実績など）に応じてサービス（資源）の利用が可能になる仕組みを有する。即ち、各参加者のノードは、サービスの提供のための資源を提供（供出）する代わりに、サービス（資源）を利用する権限等を得る。言い換えれば、サービス（資源）を利用するための条件として、自らもサービス（資源）を供出しなければならない。これにより、適切なノードの参加を促し、不適切なノードの排除を促し、システム環境全体の実装などを効率化する。
【００１４】
上記仕組みとして、本システムでは、あるノードによるサービス（資源）の提供の行為における正確性などを、別のノードにより評価し、その評価結果を、当該サービス（資源）を提供したノードによる別のサービス（資源）の利用（その権限等）に反映する仕組みを有する。
【００１５】
例えば、上記評価処理として、評価主体のノードは、評価対象のノード毎のサービス（資源）の提供の行為における、正確な応答データの有無などを判断することにより、上記正確性を評価する。当該評価（評価情報）として、例えば、当該ノードに関する利用の権限やポイント等を増減する。そして、当該評価結果の反映として、当該評価情報に応じて、当該評価対象のノードによるサービス（資源）の利用に関する制御（許可等）を実行する。
【００１６】
本システム形態は、例えば、ユーザのコンピュータによるノード（群）が通信接続されるネットワークを有し、前記ノードは、ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービス（各種のサービス）を提供する処理を行う提供機能と、前記サービスを要求して利用する処理を行う利用機能と、前記利用機能を用いるノード（第１のノード）と前記提供機能を用いるノード（第３のノード）との間に介在して前記サービスを実行（制御等）する処理を行う実行機能と、前記提供機能を用いるノード（第３のノード）による前記サービス（その資源）の提供の行為を評価してその評価情報を保持するための評価機能と、を有する。例えば第１のノード（ＮＡ）は利用機能、第２のノード（ＮＢ）は実行機能及び評価機能、第３のノード（ＮＣ）は提供機能、第４のノード（ＮＤ）は評価機能を用いた処理を行う。
【００１７】
本システムでは、前記サービス（各種サービスのうちいずれのサービスでもよい）の実行（利用）時、第１のノードの利用機能は、第２のノードの実行機能を経由して、第１のグループの複数の第３のノードの提供機能にアクセスし、当該提供機能からの応答が、当該第２のノードの実行機能を経由して、当該第１のノードの利用機能へ応答される処理が行われる。また、上記処理に伴い、前記第２のノードまたは第４のノードの評価機能は、前記第１のグループの複数の第３のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存する。そして、本システムでは、前記評価情報における評価の高低に基づいて、前記第３のノードが前記サービス（各種サービスのうちいずれのサービスでもよい）を利用する際における前記利用機能（即ち前記第１のノードの利用機能と同じ）からの前記サービスの利用（実行）時、当該利用の可否などを制御する（前記評価の高低を、前記サービスの利用の条件に反映する）。
【発明の効果】
【００１８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。本発明によれば、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の一実施の形態のシステム（クラウドコンピューティングシステム）における、ノードネットワークの構成例を示す図である。
【図２】本システムにおける、ノードの構成例を示す図である。
【図３】本システムにおける、サービス実行の際のノードの接続関係等の例（その１）（特にサービス提供ノードＮＣのグループＧ１）を示す図である。
【図４】本システムにおける、サービス実行の際のノードの接続関係等の例（その２）（特にサービス評価ノードＮＤのグループＧ２）を示す図である。
【図５】本システムにおける、ハッシュ処理例を示す図であり、（ａ）はノード参加・登録時の処理例、（ｂ）はサービス実行時の処理例を示す。
【図６】本システムにおける、ノードの持つ管理情報（Ｍ）の構成例を示す図であり、（ａ）は更新前の例、（ｂ）は更新後の例を示す。
【図７】本システムにおける、応用例として、変数Ｘ（Ａ）と変数Ｙ（Ｂ）を用いた制御例を示す図であり、（ａ）は処理例、（ｂ）はサービスとグループの対応付けの例（その１）、（ｃ）はサービスとグループの対応付けの例（その２）を示す。
【発明を実施するための形態】
【００２０】
図１〜図７を用いて、本発明の一実施の形態のシステム（クラウドコンピューティングシステム）について説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。なお説明上の記号として、ノードをＮ、ユーザ（参加者）をＵ、ノードのＩＰアドレスをＡ、そのハッシュ値をＢ、ノードの評価情報（ポイント）をＰ、クラウド的なサービスをＳ、管理情報をＭ、等として表す。
【００２１】
＜概念１−サービスの提供と利用＞
まず、本システムの基本的な概念、概要や特徴などについて以下に説明し、その後、詳細な実施の形態について説明する。
【００２２】
図１のように、本実施の形態のシステム（クラウドコンピューティングシステム）は、インターネットにおいて、不特定多数の参加者（ユーザＵ）によるコンピュータのノードＮ群の接続（配置）によりネットワーク１００が構成される。本システムでは、ノードＮでクラウド的なサービスＳのための資源（記憶資源や計算資源）を提供（供出）し、ノードＮ間で当該サービスＳ（資源）を相互に利用し合う、オープン（参加／離脱が自由）、完全分散型のクラウドコンピューティングの情報処理システムである。完全分散型とは、集中管理ノードなどの特別なノードを持たず、各ノードが同様の機能を持つこと等を指す。
【００２３】
本システムでは、参加者のノードによるサービス（資源）の提供の行為（貢献度）を評価し、その評価結果に応じたサービス（資源）の利用を可能にする仕組みを持つ。これにより、ノードによるサービス（資源）の提供と利用のバランスをとる。本システムでは、参加者のノードに対し、サービス（資源）の提供（供出）の対価として、サービス（資源）の利用を可能とする。逆に言えば、サービス（資源）の利用の条件として、サービス（資源）の提供（供出）を要求（強制）する。ユーザは、サービス（資源）の提供の評価に応じて、サービス（資源）を利用する権限やポイントなどを得る。
【００２４】
また本システムでは、恣意的な評価を回避して公平な評価をするために、ネットワーク１００の参加者のノード群から、サービスＳに応じて、例えばランダムな配置の複数のノード（それによるグループ）が、評価対象（相互評価対象）として設定（選択）される。例えば、ハッシュ処理を用いて、ノードのＩＰアドレスＡ等のハッシュ値Ｂが近い所定の範囲の複数のノードが１つのグループとされる。
【００２５】
また、公平な評価をするために、ネットワーク１００の参加者のノード群から、サービスＳに応じて、例えば所定のアルゴリズムにより選択されるランダムなノード（後述のＮＢ）が、評価主体となる。
【００２６】
また、ユーザのノードが利用及び提供するサービスＳ（ストレージサービス等）だけでなく、本システムの仕組みを構成する評価等の各種の処理機能についても、特定のサービスＳの処理（複数のノードによるグループを用いて行われる処理）として実現される。
【００２７】
サービスＳは、基本的な、ストレージサービスと、コンピューティングサービス（計算サービス）と、を含む。ストレージサービスは、複数のノード（それらで供出される記憶資源）に保存されるデータ（コンテンツ）に対する読み書き等の操作を行うことができるサービスである。計算サービスは、複数のノード（それらで供出される計算資源）に対して、データ（コンテンツ）と操作（オペレーション）の組を与え、当該ノードで当該データに対し当該操作を適用した結果を新しいデータとして返すことができるサービスである。
【００２８】
評価機能（評価処理）としては、評価主体のノードは、例えばストレージサービスを提供するグループの各ノード（評価対象のノード）から、正確な応答データを正常に受信できたか否か等の判断により、当該ノードによるサービス（資源）の提供の正確性などを評価する。その評価結果（評価情報Ｐ）は、所定のノード（評価処理に係わるグループの複数のノード）に保存され、当該各ノード（評価対象のノード）におけるサービス（資源）の利用の権限やポイントなどに反映される。
【００２９】
本システムでは、上記のような、サービス（資源）の提供の結果を公平に評価してサービス（資源）の利用に反映する仕組みにより、ユーザ（参加者）に対して、資源供出によるサービス提供を促す。ユーザ（そのアイデンティティ）は、自ノードでの資源供出によるサービス提供の実績や品質を高めるほど、評価が上がり、他ノードのサービス（資源）を利用するための権限やポイントが向上する。逆に、ユーザ（そのアイデンティティ）は、他ノードのサービス（資源）をより利用したい場合、自ノードでの資源供出によるサービス提供の実績や品質を高める必要がある。本システムでは、上記仕組み（公平性やインセンティブの設計）により、適切なノードの参加を促して、不適切なノード（恣意的な、例えば悪意のあるノード）の排除（離脱）を促すことができる。即ち、本システム環境では、参加者のノードによる自発的な実装の最適化を促進でき、それと共に、ノード群の多様な実装の構成により、単一の実装が支配的になることによって一部の実装の脆弱性が環境全体に悪影響を及ぼすこと等を防ぐことができる。
【００３０】
＜概念２−規約＞
本システム環境において、ノード群のサービス（資源）の提供と利用のバランスをとり、公平性などを確保するために、参加者（ノード）が遵守すべき規約を有する。本規約の目標の１つとして、大多数の参加者のノードが本規約を遵守することにより、本規約を遵守しない参加者のノード（不適切なノード）による実装（群）が本システム環境から自動的に排除されることがある。本システムのノードは、本規約を反映（実装）した構成（図２のモジュール１０）を持つ。
【００３１】
本システムは、参加者のノードが規約を正しく遵守していることを評価する仕組みを有する。この仕組みとして、特に、ノードによるサービス（資源）の提供による貢献を正確性などによって評価するものである。
【００３２】
＜概念３−アイデンティティ＞
本システムの参加者（ユーザ）は、サービス（資源）の提供と利用のバランスをとるためのアイデンティティを保有する。アイデンティティに対し、１つ以上のノードが所属する（１アイデンティティに対して複数のノードＮを配置することも可能である）。アイデンティティは、ユーザ、ノード、供出資源、ポイント（Ｐ）などと関連付けられる。アイデンティティ（それに所属するノード）は、所定の認証（証明書）により確認される。認証（証明書）は、例えば公開鍵認証方式による。
【００３３】
なお説明上、簡単のため、評価対象やポイントＰなどについては、アイデンティティ単位ではなくノード単位で考える（１アイデンティティ−１ノードと考える）。例えば、評価対象がノードであり、ノードがポイントＰ（及び証明書等）を持つ、といったように説明するが、正確には、ノードの上位のアイデンティティが対象である。
【００３４】
本システムは、完全分散型であり、アイデンティティを集中管理する仕組みを持たない仕組みである。この仕組みにおいて、アイデンティティの乱造等（例えばサービス利用のみのただ乗り等）を防止するために、アイデンティティは、実社会における何らかの有限な資源と対応付けされる。この有限な資源として、参加者のノード（コンピュータ）のＩＰアドレスＡ及び資源（記憶資源、計算資源）等を、アイデンティティと結びつける。これにより、アイデンティティの乱造等を防止する。
【００３５】
参加者（ユーザ）のアイデンティティは、参加者自身が発行する例えば公開鍵方式の証明書によって識別（認証）される。アイデンティティに所属する１つ以上のノードも、その証明書によって識別（認証）される。参加者は、アイデンティティとして、資源を供出するｎ個（１つ以上）のノードを参加（所属）させることができる。これらｎ個のノードに対して、１つの証明書（アイデンティティ証明書）を発行する。ｎ個のノードは、それぞれ異なるＩＰアドレスＡが設定される。
【００３６】
またノードは、アイデンティティ（当該アイデンティティが発行した証明書）に所属することを証明するための機能を保有（提供）する（図２の証明機能１１）。
【００３７】
サービスを利用する参加者（ノード）のアイデンティティは、参加者の証明書によって電子署名された証明書（メッセージ）として発行される。あるノード（他ノード証明機能）からあるノード（自ノード証明機能）に対してアイデンティティ（その証明）を要求すると、当該ノード（そのアイデンティティ）の証明書の秘密鍵で電子署名された署名付きメッセージが返される。この署名付きメッセージは、「このノードの実行者はこの公開鍵（秘密鍵）の所有者である」旨を記載したメッセージである。これにより、例えばアイデンティティに所属するノードのＩＰアドレスＡが変更された後においても、以前のＩＰアドレスＡのノードでの貢献（評価情報Ｐなど）を引き継ぐことができる。ノードのアイデンティティの証明書は、ノードのＩＰアドレスＡが変わっても不変である。
【００３８】
参加者のアイデンティティ（そのノード）は、事前に公開鍵を公開する。また、アイデンティティ（そのノード）は、秘密鍵（証明書の秘密鍵）を秘匿保持する。アイデンティティ（そのノード）は、秘密鍵（それによる署名付きメッセージ）を用いて、ノードのアイデンティティを証明する。これにより、当該アイデンティティ（そのノード）は、他者から同定（正しいノードであることが認証）される。
【００３９】
サービス提供の評価における評価情報（ポイント）Ｐは、上記証明書に基づいて、アイデンティティ（そのノード）単位に管理される。
【００４０】
アイデンティティの管理（証明機能１１）により、ノードは、ユーザのアイデンティティとそれに纏わる権利を継承することができる。
【００４１】
＜概念４−評価方式＞
本システムのネットワーク１００上、アイデンティティ（それに対応付けられるノード）におけるサービス（資源）の提供と利用のバランスを確保、管理するための仕組み（評価方式）及びその主体（ノードやその機能）を設ける。
【００４２】
本システムでは、図３、図４のように、サービスＳに関する、利用（ＮＡ）、実行等（ＮＢ）、提供（ＮＣ）、評価等（ＮＤ）といった各ノード状態（機能）のノード間で処理が行われる。各ノードは、その都度の処理・状態に応じて機能（図２の２１〜２４）を切り替える。例えばノードＮＢは、サービスの実行の制御の際にはＮＢ機能２２を用いた処理を行い、評価に係わる処理の際にはＮＤ機能２４を用いた処理を行うように切り替える。
【００４３】
ノード（サービス提供ノードＮＣ）によるサービスＳ（資源）の提供の行為（正確性など）を正しく公平に評価するために、サービス利用ノードＮＡは、所定のアルゴリズムに従って決定されるノード（ＮＢ，ＮＤ等）を経由して、サービス提供ノードＮＣによるサービスＳを利用する。
【００４４】
本実施の形態では、評価主体として、当該所定のノード（ＮＢ，ＮＤ等）を用いて、最終的なサービス提供ノードＮＣ（そのアイデンティティ）を評価対象として、当該サービス提供ノードＮＣによるサービス（資源）の提供に係わる評価（評価処理）を行う。特に、第１の評価方式では、サービス実行ノードＮＢにより評価処理を行い、第２の評価方式では、サービス評価ノードＮＤにより評価処理を行う。
【００４５】
評価（評価処理）の対象は、ノード（グループの複数の各ノード）によるサービスＳ（資源）の提供の行為における正確性などである。この正確性の評価については、簡単には例えば、ノードＮＢ−ＮＣ間における正確な応答の有無を２値的に判断することによる。また２値に限らず、上記提供（応答）の品質を多値で評価してもよい。例えば、応答時間（要求−応答に要した時間）の判断や、応答データの内容を正確な応答データと比較した場合の相違の程度の判断などによる。
【００４６】
また、評価処理としては、評価主体のノード（ＮＢ）は、サービスＳ（例えばストレージサービス）に応じたグループの複数のノードＮＣによる応答結果（例えばデータＤ）を、相互比較して、多数決的に、正確性などを判断、評価する。即ち例えば、一番多数の応答結果を正しい応答とみなし、他（少数）の応答結果を誤った応答とみなす、等である。
【００４７】
そして、上記応答結果に応じて、例えば、当該正しい応答のノード（ＮＣ）の評価値（ポイント）を上げる（または維持する）。また、当該誤った応答のノード（ＮＣ）の評価値（ポイント）を維持する（または下げる）。評価方式としては、正しい応答のノードの評価値を上げる形態（それに応じてサービス利用の権限やポイントが上がる形態）としてもよいし、誤った応答のノードの評価値を下げる形態（それに応じてサービス利用の権限やポイントが下がる形態）としてもよい。
【００４８】
また、評価方式（評価情報Ｐの形態及びサービス利用・実行の制御の形態）としては、上記サービス（資源）の提供の評価によるポイントまたはそのレベル等を評価情報Ｐとして保存し、当該ポイントやレベル等の高低に応じて、サービス（資源）の利用の権限（他には例えば品質）を与える方式とする（サービス利用に応じてポイントは増減しない）。即ち、単純には例えば、通常時、当該ポイントが閾値以上であればサービス利用を許可し、（評価の低下により）閾値未満であればサービス利用を不許可にする制御が考えられる。また例えば、当該ポイントやレベル等に応じて、サービス利用のレベル（提供の品質、優先度など）などを変える制御も考えられる。
【００４９】
また、他の評価方式として、上記サービス（資源）の提供の評価によるポイント（評価値）を、サービス（資源）の利用に関するポイント（ポイントサービスのような方式）とも捉える方式としてもよい。即ち、サービス提供単位（評価の向上）毎に当該ポイントを増やし、サービス利用毎に当該ポイントを減らす（消費する）ような方式である。
【００５０】
また、自ノード内に自ノードに関する評価情報（ポイント）Ｐを保持しない仕組みにより、例えば悪意ある参加者が当該ポイントを改ざん等してサービス利用すること等が防止される。なお、上記改ざん等の情報セキュリティ上の問題が解決できるのであれば、自ノード内に自ノードに関する評価情報Ｐを保持して参照可能にする形態としてもよい。
【００５１】
＜ネットワーク＞
上記に基づき、詳細な実施の形態について以下に説明する。図１において、本システムにおける、参加者（ユーザＵ−アイデンティティ）のノードＮ（群）によるネットワーク１００を示している。いくつかのノードＮ（例：Ｎ１〜Ｎ８）のみを概略的に示す。Ｎ１に限らず、各ノードＮｉ毎に、ユーザＵｉ（アイデンティティ、証明書）、ＩＰアドレスＡｉ、そのハッシュ値Ｂｉ，評価情報（ポイント）Ｐｉ、管理情報Ｍｉ、等が対応付けられるとする。なおノードＮｉ毎の評価情報（ポイント）Ｐｉは、自ノードＮｉ内ではなく、他ノード（後述のＮＤ）内に保持・管理され、必要に応じてその情報が参照される。
【００５２】
ネットワーク１００は、ＩＰネットワーク等により、ノードＮ間が通信リンク（破線）により直接的または間接的に接続され相互に通信可能である。本システムへの参加者となるユーザＵ（そのアイデンティティ）は、１つ以上のノードＮを配置（参加）させることができる。単純な場合としては、１アイデンティティ−１ノードとして考えればよい。
【００５３】
＜ノード、モジュール＞
図２において、ノードＮの構成例を示す。各参加者（ユーザＵ）のノードＮは、本システムの仕組みを実現するモジュール１０がインストールされる、例えばＰＣなどのコンピュータである。モジュール１０は、プログラム等による構成であり、ノードＮにより実行される。ユーザは、ノードＮ（モジュール１０）を稼働させた状態（ネットワーク１００に接続した状態）において、外部（他ノードＮ）にクラウド的なサービス（資源）を提供し、また、外部（他ノードＮ）のクラウド的なサービス（資源）を利用する。その提供と利用は、その都度、ユーザにより選択や設定ができる。
【００５４】
ノードＮは、ＩＰアドレスＡとポートのセットを持ち、その値により識別可能であり、ノード間で通信可能である。
【００５５】
ノードＮは、ハードウェア１０１（ＣＰＵ、メモリ、ディスク、ＩＯ（周辺機器）など）、及びソフトウェア１０２（ＯＳ、ミドルウェア、サーバ、ブラウザ、アプリケーションなど）を備える。これらが記憶資源１０３や計算資源１０４に相当する。
【００５６】
モジュール１０は、証明機能１１、ハッシュ処理機能１２、サービス機能１３、資源供出機能（設定機能）１４、情報管理機能１５などを有する。また、モジュール１０は、各ノード状態（後述のＮＡ〜ＮＤ等）に応じた処理機能として、サービス利用機能（ＮＡ機能）２１、サービス実行機能（ＮＢ機能）２２、サービス提供機能（ＮＣ機能）２３、サービス評価機能（ＮＤ機能）２４などを備える。また、ノードＮは、管理情報テーブル（Ｍ）５０、証明書（アイデンティティ／ノード証明書）５１、ログ情報（Ｌ）５３、評価情報（Ｐ）５４、等の情報データを保持する。
【００５７】
証明機能１１は、ノードＮ及びそのアイデンティティに関する証明（認証）に係わる処理機能であり、自ノード証明機能１１ａ、他ノード証明機能１１ｂなどを有する。自ノード証明機能１１ａは、自ノードの証明書５１を発行する処理等を行う（他ノードからの要求に対して自ノードを証明する場合）。他ノード証明機能１１ｂは、他ノードの証明書５１を認証（確認）する処理等を行う（自ノードから要求して他ノードを証明させる場合）。なお、証明書５１における秘密鍵情報は、自ノード内に秘匿される。
【００５８】
証明機能１１は、ノードがユーザのアイデンティティとそれに纏わる権利を継承することができる機能を構成する一部である。ノード（例えば新規参加ノード）は、証明機能１１を用いることにより、自ノードに関連付けられるアイデンティティとその権利（評価情報Ｐ、それに基づくサービス利用の権限など）を継承することができる。
【００５９】
ハッシュ処理機能１２は、各種のサービスＳ（そのサービスタイプＴ）と、その処理主体（アクセス先）となるノードＮのグループとの対応付け等のためのハッシュ処理（ハッシュ関数を用いた処理）を行う。
【００６０】
サービス機能１３は、基本的なストレージサービス１３ａ（サービスタイプＴ１）の処理や、コンピューティングサービス１３ｂ（サービスタイプＴ２）の処理や、それらを用いた応用的なサービス１３ｃ（サービスタイプＴｘ）の処理を、供出資源（記憶資源４３、計算資源４４等）を用いて行う。例えば、記憶資源４３におけるストレージサービス（Ｔ１）１３ａの処理では、外部のノードＮとの通信（要求−応答）が行われ（ａ）、キーＫで識別されるデータＤ（コンテンツ）に対して読み書き等の操作が行われる。例えば、計算資源４４における計算サービス（Ｔ２）１３ｂの処理では、外部のノードＮとの通信（要求−応答）が行われ（ｂ）、キーＫで識別されるデータＤ（コンテンツ）に対する操作（オペレーションＯ）が行われ、その結果のデータＤ’が返される。
【００６１】
資源供出機能１４は、自ノードＮのハードウェア１０１及びソフトウェア１０２による資源（記憶資源１０３、計算資源１０４等）をもとに、サービスＳの提供のために供出する資源（記憶資源４３、計算資源４４など）を設定する処理などを行う。例えば参加者（ユーザＵ）は、どの程度まで当該資源を供出するか、資源の量や稼働時間などを、自由に設定することができる。
【００６２】
情報管理機能１５は、本システムの仕組みを管理するための管理情報（Ｍ）５０などを作成、管理する。また、情報管理機能１５は、外部のノードＮと通信して管理情報（Ｍ）５０の情報データを授受する（ｃ）。
【００６３】
また、サービス実行機能２２やサービス評価機能２４は、ログ情報（Ｌ）５３や評価情報（Ｐ）５４を、外部のノードと通信して授受する（ｄ）。
【００６４】
＜クラウドコンピューティングサービス＞
本システムにおいて、基本的なクラウドコンピューティングサービス（クラウド的なサービスＳ）の機能について説明する。このサービスＳ自体の仕組みは、既存技術と基本的に同様である。
【００６５】
本サービスＳは、基本的なものとして、ストレージサービス１３ａと、コンピューティングサービス（計算サービス）１３ｂと、を含む。それぞれ識別のためのサービスタイプＴを、Ｔ１，Ｔ２とする。サービス毎に異なるサービスタイプＴ等の情報が設定され管理情報Ｍに管理される。
【００６６】
（１）ストレージサービス１３ａ（Ｔ１）：  対象となるコンテンツ（データＤ）（それを一意に識別するキーＫ）に対して、読み書き等（作成・参照・更新・削除等）の操作を行うことができるサービスである。対象データＤは、サービス提供ノードＮＣの供出する記憶資源４３を利用して保存される。同じグループ内の複数のノードＮＣに対象データＤ（複製）が保存される。
【００６７】
（２）コンピューティングサービス１３ｂ（Ｔ２）：  サービス提供ノードＮＣ（その供出する計算資源４４）に対して、対象のコンテンツ（データＤ）と操作（オペレーションＯ）の組（計算要求）が与えられ、当該ノードで当該データＤに対し当該オペレーションＯを適用した結果（計算結果）を新しいコンテンツ（データＤ’）として応答するサービスである。
【００６８】
参加者のノード（ＩＰアドレス＋ポート）において、資源を供出することにより、少なくとも上記基本的なサービス（Ｔ１，Ｔ２）を提供する。また、上記基本的なサービス（Ｔ１，Ｔ２）を組み合わせて用いることにより、応用的なサービス１３ｃ（Ｔｘ）を構成し提供することが可能である。これらのサービス（資源）の提供における正確性などが評価対象となる。
【００６９】
また、本システムにおける各種のサービスや処理は、クラウドコンピューティングにより実現されるサービスＳである。即ち、いずれのサービスＳにおいても、アクセス先となる範囲／グループにおける複数（３つ以上）のノードにおいて当該サービスに係わる同様の処理が行われる。当該グループ／範囲は、後述の所定のアルゴリズム（ハッシュ処理）によって決定される。本システムで特徴的な、評価機能などの処理についても、特定のサービスＳ（サービスタイプＴ）の形で処理する。
【００７０】
上記サービスＳの利用の際は、サービスタイプＴや対象データＤ（そのキーＫ）やその操作等を指定して要求することにより可能である。なお具体的なサービス提供ノードＮＣのＩＰアドレスＡ等を指定、意識する必要は無い（管理情報Ｍで管理されており、自動的にアクセス先のグループのノードが判断、決定される）。
【００７１】
＜モデル、処理の流れ＞
図３，図４を用いて、本システム（ネットワーク１００）におけるノード群によるサービスＳの実行時（利用（要求）、提供（応答）、評価等）における一連の処理の流れやモデルについて説明する。図３，図４では、ユーザＵ１のノードＮ１（ＮＡ）から、サービスＳ（例えばストレージサービス（Ｔ１））を利用する場合における、各状態のノード（ＮＡ，ＮＢ，ＮＣ，ＮＤ）の接続関係の例を示している。図３は特にサービス提供ノードＮＣとなるグループＧ１を示す。図４は特にサービス評価ノードＮＤとなるグループＧ２を示す。
【００７２】
ノードＮＡ（例えばＮ１）は、ＮＡ機能２１により、クラウド的なサービスＳを要求して利用するノードであり、「サービス利用ノード」と称する。ノードＮＣ（例えばＮ３（ＮＣ１），Ｎ４（ＮＣ２），Ｎ５（ＮＣ３））は、ＮＣ機能２３により、クラウド的なサービスＳを提供するノードであり、「サービス提供ノード」と称する。
【００７３】
ノードＮＢ（例えばＮ２）は、ノードＮＡによるサービスＳの利用と、ノードＮＣによる当該サービスＳの提供との間に介在（経由）するノードであり、「サービス実行ノード」と称する。ノードＮＢは、ＮＢ機能２２により、サービスＳの実行を制御し、ノードＮＣによるサービスＳの提供を把握してログ情報Ｌとして記録すると共に、当該提供（応答）を評価処理して評価情報Ｐとして記録し、これらの情報をノードＮＤに送信して保存させる。
【００７４】
ノードＮＤ（ＮＤａ，ＮＤｃ）は、ＮＤ機能２３により、サービス提供ノードＮＣに関する評価情報Ｐ等を保持し、またノードＮＢからの要求（参照）に応じて当該評価情報Ｐ等を確認または提供するノードであり、「サービス評価ノード」と称する。ノードＮＤｃ（例えばＮ６）は、図３のノードＮＣ（グループＧ１）に関するログ情報Ｌ（Ｌｃ）及び評価情報Ｐ（Ｐｃ）を保持するノードである。評価情報Ｐｃの中には、グループＧ１の各ノード（Ｎ３〜Ｎ５）の評価情報（ポイント）（Ｐ３〜Ｐ５）が含まれている。同様に、ノードＮＤａ（例えばＮ８）は、図３のノードＮＡ（Ｎ１）（当該ノードがＮＣ状態の時）に関するログ情報Ｌ（Ｌａ）及び評価情報Ｐ（Ｐａ）を保持するノードである。評価情報Ｐａの中には、当該ノードＮ１の評価情報（ポイント）Ｐ１が含まれている。
【００７５】
例として、以下、ストレージサービス（Ｔ１）の実行の場合の流れ（２０１〜２０４）を説明する。対象データ（コンテンツ）をＤａ，そのキーをＫａとする。操作は、対象データＤａの保存（書き込み）や参照（読み出し）等、いずれの場合も同様である。キーＫａのデータＤａ（複製）を保有する複数（例えば３つ）のノードＮＣ（例：Ｎ３〜Ｎ５）を有する。また評価方式としては、ノードＮＢで評価処理を行う場合であり、ノードＮＤに評価情報Ｐを保存して参照可能とする場合である。また、ノードＮＡ，ＮＢは１つの場合であり、ノードＮＣ，ＮＤは複数（３つ以上）の場合である。なお各ノードの証明（認証）は前述の証明機能１１を用いて随時行われるが説明は省略する。
【００７６】
第１に、２０１（ａ１，ａ４），２０３（ａ２（ａ２−１〜３），ａ３（ａ３−１〜３））の流れは、ＮＡ−ＮＢ−ＮＣ間でのサービスＳの要求−実行−応答の処理を示す。一方、第２に、２０２（ｂ１，ｂ２），２０４（ｂ３（ｂ３−１〜３））の流れは、上記第１の処理に伴う、ＮＢ−ＮＤ（ＮＤａ，ＮＤｃ）間における評価に関する処理を示す。ＮＤａはＮＡ（Ｎ１）に関する評価情報（Ｐａ）の確認（参照）の処理に係わり、ＮＤｃはＮＣ（Ｇ１）に関する評価情報（Ｐｃ）等の保存の処理に係わる。処理順序の例としては、｛ａ１，ｂ１，ｂ２，ａ２，ａ３，ａ４，ｂ３｝である。
【００７７】
（１）（ａ１：サービス要求）：  サービス利用ノードＮＡ（Ｎ１）（そのＮＡ機能２１）から、サービス実行ノードＮＢ（Ｎ２）（そのＮＢ機能２２）へ、サービスＳの利用要求を発行・送信する。この要求には、［サービスタイプ（Ｔ１）＋キー（Ｋａ）］等の情報（その他、適宜、書き込みデータ、操作の指示等の情報）が含まれる。例えば、ＮＡ（Ｎ１）は、管理情報Ｍ（Ｍ１）の参照に基づき、アクセス先となるＮＢを決定してアクセスする。
【００７８】
（２）（ｂ１，ｂ２：評価情報確認）：  サービス実行ノードＮＢ（Ｎ２）は、ＮＡからのアクセス（ａ１）に対し、管理情報Ｍ（Ｍ２）の参照に基づき、まず、ノードＮＤ（ＮＤａ：ＮＡ（Ｎ１）に関する評価情報Ｐａ（Ｐ１）を保持しているノード）に対して、当該ＮＡ（Ｎ１）に関する評価情報Ｐａ（Ｐ１）の確認（参照）のためのアクセス・要求（ｂ１）を行う。本実施の形態では、ノードＮＢのＮＢ機能２２（またはＮＤ機能２４）は、ノードＮＤａ（ＮＤ機能２４）にアクセスし、当該ノードＮＡの評価情報Ｐａを確認し、当該サービスＳの実行を制御する。なお当該評価情報Ｐの確認の処理についても所定のサービスとして実現され、アクセス先は所定のグループＧ３の複数のノードＮＤａとなる。
【００７９】
上記アクセス（ｂ１）に対し、例えば、ＮＤａ（Ｎ８）は、管理情報Ｍ（Ｍ８）及び評価情報Ｐａ（Ｐ１）の参照に基づき、当該ノードＮＡ（Ｎ１）（そのアイデンティティ）が現在のポイントＰ１等に応じて当該サービスＳの利用（実行）が許可されるか否か（権限）等を確認する。あるいは、他の方式では、ＮＤａは、当該サービスＳの利用のために当該ノードＮＡ（Ｎ１）のポイントＰａ（Ｐ１）を消費（減少）する処理などを行う。
【００８０】
そして、ＮＤａからＮＢへ、その確認の結果（例えばＯＫ（許可）／ＮＧ（不許可））を送信する（ｂ２）。ＯＫ（許可）であれば、それ以降の処理（ａ２以降）が行われる。なおＮＤａでの確認は、ｂ２（Ｐａを取得する）の後にＮＢで行ってもよい。
【００８１】
（３）（Ｇ１（ＮＣ）の決定）：  次にノードＮＢ（Ｎ２）（そのＮＢ機能２２）は、管理情報Ｍ２の参照に基づき、当該サービスＳ（Ｔ１）（対象データＤａ）を提供する、アクセス先となる複数のノードＮＣのグループＧ１を、ハッシュ処理（入力値［Ｔ１＋Ｋａ］）により決定（確認）する。これはハッシュ処理機能１２を利用する（詳しくは後述）。これによりアクセス先となる各ノードＮＣ（例：ＮＣ１〜ＮＣ３）のＩＰアドレスＡ（Ａ３〜Ａ５）等が認識される。
【００８２】
上記処理の際にＮＢ（Ｎ２）が参照する管理情報Ｍ２では、例えば、［Ｔ１＋Ｋａ］を含む情報を入力値としたハッシュ処理により、複数のノードＮＣのグループＧ１が対応付けられ、各ＩＰアドレスＡ（Ａ３〜Ａ５）が得られる。
【００８３】
（４）（ａ２：サービス実行（要求））：  ＮＢ（ＮＢ機能２２）は、アクセス先のグループＧ１の複数（３つ）の各ノードＮＣ（ＮＣ１〜ＮＣ３）（キーＫａのデータＤａを保有するノード）に対し、並列的に、サービスＳの提供の要求を送信する（ａ２−１〜３）。当該要求には、サービスタイプＴ１，キーＫａ，操作指示等の情報が含まれる。例えばデータＤａ自体の参照（読み出し）の要求である。
【００８４】
なお上記並列的なアクセスは、サービスタイプＴに応じて、同時実行の場合、順次実行の場合などが可能である。またサービス自体は、１つでも正しい応答がＮＣから得られれば、ＮＡへ応答（ａ４）をすることができる。
【００８５】
（５）（ａ３：サービス提供（応答））：  ＮＢからの要求（ａ２）を受けた各ノードＮＣ（ＮＣ機能２３）は、稼働状態の場合において、自ノードの記憶資源４３における、キーＫａにより指定されるデータＤａに対する指定の操作（例えば読み出し）を行い、その結果（例えばデータＤａ自体）をＮＢへ応答として送信する（ａ３−１〜３）。ＮＢは、各ＮＣ（ＮＣ１〜ＮＣ３）からの応答を受信する。ただし、ＮＣが非稼働状態、高負荷状態、ＮＢ−ＮＣ間の通信リンクが障害状態、などの場合には、正確で迅速な応答は得られない。また、その時点のノードＮＣの状況（例えば非稼働状態）によっては、当該対象データＤａを更新できない場合もあるが、少なくとも１つのノードＮＣで当該データを更新できれば、その後、当該グループＧ１内のノードＮＣ間で当該データを授受（コピー）することにより（２０５）、各ノードＮＣで当該データＤａを保持することができる。
【００８６】
（６）（ａ４：サービス応答）：  ＮＢ（ＮＢ機能２２）は、グループＧ１の各ＮＣ（ＮＣ１〜ＮＣ３）からの応答をもとに、要求元のノードＮＡへ、当該応答（正確な応答データ）を送信する。ＮＡ（ＮＡ機能２１）は、当該応答を受信する。
【００８７】
（７）（評価処理）：  ノードＮＢは、上記処理（ａ３，ａ４）を行うと共に、ノードＮＤ（グループＧ２）との間で、ノードＮＣ（サービスＳの提供）に関する評価に係わる処理を行う。まず、ＮＢ（ＮＢ機能２２）は、Ｇ１の各ＮＣによる応答の状態・結果を含む、当該サービスＳ（Ｔ１）の実行（２０１，２０３）の状態・結果（実績）に関して、ログ情報Ｌ（Ｌｃ）を記録する。また、ＮＢ（ＮＤ機能２４）は、Ｇ１の各ＮＣの応答結果（ａ３−１〜３）について評価処理を行う。詳しくは例えば、ＮＢは、各ＮＣの応答結果を集計し、多数決的な判断に基づいて、各ＮＣの応答の正確性を評価する。例えば各ＮＣからの応答結果が同一であることをもって、正しい応答内容であることが確認できる。またＮＢは、例えば各ＮＣから正確な応答（そのデータ）を正常に（迅速に）受信できたか（ＯＫ）否か（ＮＧ）を２値で判断し、それにより当該ノードＮＣの評価値（ポイント）を増減する。計算サービス（Ｔ２）の場合にも、他の応用的サービス（Ｔｄ）の場合にも、同様な考え方で評価可能である。ＮＢは、上記評価処理の結果により評価情報Ｐ（Ｐｃ）を作成し、例えばログ情報Ｌ（Ｌｃ）と共に、またはその一部として、記録する。
【００８８】
なお並列的な複数のノードＮＣ間での相対的な比較評価に限らず、個別ノードＮＣ単位の応答の絶対的な評価をしてもよい。またサービスＳの内容（サービスタイプＴ）に応じて、そのサービスＳの品質を判定してもよい（例えば動画配信サービスであればその動画データの品質や、応答時間の長短など）。
【００８９】
上記ＮＢによる評価情報Ｐは、評価方式に応じて、例えば、当該ノードＮＣの評価値（ポイント）の増減を表す情報である。例えば応答がＯＫのノードは＋１、等である。
【００９０】
（ｂ３：評価情報の保存）：  ＮＢ（そのＮＤ機能２４）は、上記評価処理に基づき、上記ログ情報Ｌｃ及び評価情報Ｐｃを、所定のグループＧ２の複数の各ノードＮＤ（ＮＤｃ）（そのＮＤ機能２４）へ送信（コピー）して保存させる。なお各ＮＤはｂ３に対する応答をＮＢへ返してもよい。この評価情報Ｐ等の保存の処理についても、所定のサービスＳ（サービスタイプをＴｄとする）として実現され、当該処理の際にアクセス先となる複数のノードＮＤｃによるグループＧ２（例えば図４の３つのノードＮＤ１〜ＮＤ３）についても、前述同様に、所定のハッシュ処理（入力値：例えば［Ｔｄ］を含む）により決定される。なおＮＤとして、ＮＣとは異なるノードが選択、決定される。
【００９１】
グループＧ２の複数の各ノードＮＤｃ（例えばＮ６）（そのＮＤ機能２４）は、内部に、ＮＣ（Ｇ１）に関するログ情報Ｌｃ及び評価情報Ｐｃを保存（登録）する。評価情報Ｐｃには、各ＮＣ（例：Ｎ３〜Ｎ５）に関するポイント（例：Ｐ３〜Ｐ５）が含まれる。なお、その時点のノードＮＤの状況（例えば非稼働状態）によっては、当該ログ情報Ｌｃ及び評価情報Ｐｃを保存できない場合もあるが、少なくとも１つのノードＮＤｃで当該情報を保存できれば、その後、当該グループＧ２内のノードＮＤｃ間で当該情報を授受（コピー）することにより（３０５）、各ノードＮＤｃで当該情報を保持することができる。
【００９２】
上記ＮＤによる評価情報Ｐは、評価方式に応じて、例えば、当該ノードＮＣの評価値（ポイント）の絶対値（現在値）であり、ＮＢからの評価情報Ｐ（増減量）を加算することにより更新される。
【００９３】
図４で、ＮＢからＮＤｃへのアクセス（ｂ３、２０４）として、グループＧ２の各ノードＮＤｃ（例えばＮＤ１（Ｎｘ），ＮＤ２（Ｎｙ），ＮＤ３（Ｎｚ））へのアクセスｂ３−１〜３となる。ＮＤｃ（Ｎｘ〜Ｎｚ）は、それぞれＩＰアドレスＡがＡｘ〜Ａｚ、ハッシュ値ＢがＢｘ〜Ｂｚとする。上記保存の処理（Ｔｄ）の際にＮＢ（Ｎ２）が参照する管理情報Ｍ２では、例えば、所定のサービスタイプ（Ｔｄ）を含む情報を入力値としたハッシュ処理により、複数のノードＮＤｃのグループＧ２が対応付けられ、各ＩＰアドレスＡ（Ａｘ〜Ａｚ）が得られる。
【００９４】
上記ＮＤｃ（Ｇ２）で保持される評価情報Ｐｃは、ＮＣ（Ｎ３等）に関するものであるから、当該ＮＣ（Ｎ３等）がＮＡ機能２１によるＮＡ状態として他のＮＢ（例えばＮ９）を介して何らかのサービスＳを利用する際に（３１１）、前述の２０２と同様に参照される（３１２）。
【００９５】
なお上記例において、他の評価方式では、ＮＢでは評価処理を行わずにログ情報Ｌｃの記録及び保存までを行い、ＮＤｃではそのログ情報Ｌｃをもとに評価処理を行い評価情報Ｐｃを保存する、といった形態となる。
【００９６】
＜ハッシュ処理（サービスとノードのマッピング）＞
次に、図５を用いて、ハッシュ処理について説明する。図５（ａ）は、本システムへのノードの参加・登録時における管理情報Ｍの構成のためのハッシュ処理の例を示す。図５（ｂ）は、上記登録以降のサービス実行（利用・提供）時における管理情報Ｍの参照に基づくハッシュ処理の例を示す。
【００９７】
本実施の形態では、ネットワーク１００上でサービスＳの処理を行う対象（アクセス先）となる複数のノード（範囲／グループ（前述のＧ１，Ｇ２等））を選択・対応付け（マッピング）するための仕組みとして、ハッシュ関数による処理（ハッシュ処理）を用いる。
【００９８】
基本的な制御として、参加ノードのＩＰアドレス値Ａ等を入力値としたハッシュ値Ｂをとり、管理情報Ｍに登録する。また、サービスタイプＴやキーＫ等を入力値としたハッシュ値Ｂを用いて、サービスＳと、それを処理する範囲／グループ（Ｇ）となる複数のノードとを対応付ける。ハッシュ処理を用いることにより、そのハッシュ関数の特性にも依るが、ネットワーク１００上におけるグループの複数のノード（例えばＮＣ）は、概ねランダムでばらばらな分布（配置）になる（なお偶々近くに配置される場合もある）。即ち、ネットワーク１００（ノード群）で処理が分散される。
【００９９】
サービスＳの利用の際には、異なるサービスタイプＴ等の情報をハッシュ関数の入力値とすることにより、異なる出力値が得られる。即ち、サービスＳ毎に異なるアクセス先の範囲／グループ（Ｇ）の複数のノードが選択、決定される。
【０１００】
なお、ハッシュ関数の入力値にする情報として、サービスタイプＴやＩＰアドレスＡ等に限らず、多様な情報を用いることができることは言うまでもない。また、マッピング用に、異なる種類の関数（ハッシュ関数など）を用意すれば、同じ入力値でも異なる出力値を得ることができる。
【０１０１】
＜ハッシュ処理（ａ）＞
図５（ａ）で、ネットワーク１００へ新規に参加するノード（アイデンティティ）を登録（配置）する際、管理情報Ｍに、当該ノードに関する情報が登録される（各ノードが持つ管理情報Ｍを更新する）。
【０１０２】
当該ノードのＩＰアドレス値Ａを、所定のハッシュ関数（Ｈ１）に入力し、その出力のハッシュ値Ｂ（ＩＰアドレスハッシュ値）を得る。Ｈ１によるハッシュ値Ｂは、所定の数値範囲（例えば０≦Ｂ≦１）に正規化される（リングバッファにマッピングされる）。図５（ａ）では、所定の数値範囲のリング（リングバッファ）上の各点がＢ値を示す。ハッシュ（Ｈ１）により、入力値となる、ネットワーク１００上の物理的な遠近を表す連続的なＩＰアドレスＡ（群）は、出力値となる、ばらばら（不連続）なハッシュ値Ｂ（群）に変換（マッピング）される。
【０１０３】
ハッシュ関数Ｈ１は、入力データ値（キー）から、その代表的な数値を出力値（ハッシュ値）として得る、所定の特性の関数である。本実施の形態では、Ｈ１の特性として、連続的な入力値群から不連続的な出力値群を得る不連続性を持つ。また、同じ入力値から同じ出力値を得る決定性を持つ（乱数機能とは異なる）。また、マッピング（出力値の分布）がなるべく出力値範囲の全体に分布するような一様性を持つ。
【０１０４】
なお、他の形態として、ハッシュ関数に限らず、上記のように連続値（Ａ）を不連続値（Ｂ）にマッピングする等の特性を持つ他の所定の関数を適用できる。
【０１０５】
図５（ａ）の例では、ネットワーク１００上のランダムなＩＰアドレス値Ａとして、図３の例の３つのノードＮＣ（Ｎ３〜Ｎ５）の各ＩＰアドレス（Ａ３〜Ａ５）は、それぞれＨ１により、Ｂ３〜Ｂ５（Ｂ４の近隣値）になったとする。逆に言えば、Ｂ値の空間における所定の近隣範囲５０１（例えばＢ４の近隣値であるＢ３〜Ｂ５）をとったとき、その元となる、ばらばらなＩＰアドレスＡ（Ａ３〜Ａ５）が得られる。
【０１０６】
上記ハッシュ処理によるＡ→Ｂのマッピングの情報は、Ａ−Ｂの双方向的なマッピングの情報として管理情報Ｍに登録される（即ちＢからＡを得ることが可能）。各ノードは、ネットワーク１００全体のノード群に関する管理情報Ｍを保持してもよいが、特に全ノードに関する情報を持つ必要は無く、各ノードが自ノードの近隣範囲（グループ）のノードに関する情報を保持し、ノード間で管理情報Ｍを授受する通信を行うことで、適宜最新の情報に更新する形態とすればよい。上記自ノードの近隣範囲（グループ）として、例えば図５（ａ）のようなＢ値の空間での所定の近隣範囲を対応付ける。
【０１０７】
＜ハッシュ処理（ｂ）＞
図５（ｂ）で、上記設定以降におけるサービス実行時におけるハッシュ処理を説明する。例えば前記図３で、ＮＢ（Ｎ２）は、ＮＡ（Ｎ１）からのサービスＳ（Ｔ１）の要求に対し、管理情報Ｍ２を参照し、要求されているサービス（Ｔ１）で対象データＤａ（キーＫａ）を操作（参照等）するためのアクセス先となる複数のサービス提供ノードＮＣ（グループＧ１）を、ハッシュ処理により決定（確認）する。
【０１０８】
ＮＢ（ハッシュ処理機能１２）は、例えば［Ｔ１＋Ｋａ］をハッシュ関数Ｈ１に入力し、その出力値ｈを得る（Ｂと同様に所定の範囲（０≦ｈ≦１）に正規化される）。そのｈ値を、図５（ａ）のリング上のＢ値に対応付ける。そして、そのｈ≒Ｂ値に関する所定の近隣範囲５０２（例えば前後を含む３つの近傍値）をとる。例えば、当該ｈ値に一番近いＢ値がＢ４であり、その前後の一番近い値がＢ３，Ｂ５だったとする。これを所定の範囲／グループ＝Ｇ１として対応付ける。即ちＧ１＝｛Ｂ３（Ａ３），Ｂ４（Ａ４），Ｂ５（Ａ５）｝となる。
【０１０９】
管理情報Ｍの参照により、Ｇ１の複数（３つ）のＢ値に関して、対応するＩＰアドレス値Ａを持つ複数のノード（例えばＮ３〜Ｎ５）が得られる。そして上記Ｇ１は、当該ストレージサービス（Ｔ１）でデータＤａ（キーＫａ）を保有・提供する、アクセス先となる複数のサービス提供ノードＮＣ（ＮＣ１〜ＮＣ３）として対応付けられる。
【０１１０】
なお、上記（Ｔ１，Ｋａ，Ｇ１（ＮＣ）等）の対応付けは、管理情報Ｍに登録しておいて適宜参照する形態（毎回のハッシュ処理の省略）としてもよいし、サービス実行時毎に計算して再現する形態（同じハッシュ入力値などとすることで再現可能）としてもよい。
【０１１１】
ハッシュ関数（Ｈ１）への入力値（例えばサービスタイプＴ）を変えて上記同様に処理することで、異なる複数のノードによる範囲／グループ（Ｇ）を選択、対応付けすることができる。
【０１１２】
＜管理情報の構造及び更新例＞
図６は、各ノードが自ノードの近隣範囲（グループ）のノードに関する管理情報Ｍを持つ場合における管理情報Ｍの更新処理の例を示す。図６（ａ）は、更新前の例、図６（ｂ）は、更新後の例である。管理情報Ｍのデータ構造例として、ハッシュ処理（図５のリングバッファ）に関係する配列（リンクリスト等）を用いる場合である。
【０１１３】
前述のように、各ノードの管理情報Ｍとして、自ノードの近隣範囲（Ｂ値空間における近隣範囲）のいくつかのノードに関する情報を保持する。ノード間で管理情報Ｍを通信する機能（１５）を用いることにより、各ノードの管理情報Ｍの内容を同期（更新）させることができる。簡単に、近隣範囲（グループ）として、Ｂ値空間における自ノードの前後を含む３つのノードの場合とする。各ノードの管理情報Ｍにおけるノード情報の配列として、前ノード、自ノード、後ノードの各ノード情報を持つ。
【０１１４】
例として、図６（ａ）で、ノードＮ４［Ａ４，Ｂ４］は、管理情報Ｍ４として、前後ノードＮ３，Ｎ５を含む近隣範囲｛Ｎ３，Ｎ４，Ｎ５｝の各ノード情報（レコード）を持つ。各ノード情報（レコード）は、ＩＰアドレスＡ及び対応ハッシュ値Ｂ等の情報を含む。例えばＮ４のＭ４で持つＮ３レコードは、他（前）のノードＮ３のＭ３で持つＮ３レコードとの関係のためのリンク（Ａ３等）を含む。同様に、Ｎ５［Ａ５，Ｂ５］は、Ｍ５として、近隣範囲｛Ｎ４，Ｎ５，Ｎｂ｝の各ノード情報を持つ（なおＮｂはＮ５の後ノード）。
【０１１５】
図６（ｂ）で、図６（ａ）の状態に対し、新規参加ノードＮｐとする。Ｎｐの各値［Ａｐ，Ｂｐ］とする。Ｂ値のリング上、Ｎ４のＢ４と、Ｎ５のＢ５との間に、新規のＮｐのＢｐが挿入されたとする。その場合、ノード群における近隣範囲の関係が変化する。よって、新規のＮｐの管理情報Ｍｐを作成すると共に、変化に該当するノード（Ｎ４，Ｎ５）の管理情報Ｍ（Ｍ４，Ｍ５）を更新する。
【０１１６】
即ち更新前後で以下のようになる。Ｎ４のＭ４：｛Ｎ３，Ｎ４，Ｎ５｝→｛Ｎ３，Ｎ４，Ｎｐ｝、ＮｐのＭｐ：｛Ｎ４，Ｎｐ，Ｎ５｝、Ｎ５のＭ５：｛Ｎ４，Ｎ５，Ｎｂ｝→｛Ｎｐ，Ｎ５，Ｎｂ｝。
【０１１７】
＜応用例（Ｘ，Ｙ制御）＞
上記実施の形態では、基本的な制御として、ノードのＩＰアドレスＡのハッシュ値Ｂを用いて、サービスＳと、それを処理する範囲／グループ（Ｇ）の複数のノードとを対応付けている。応用的な形態として、変数Ｘ：ＩＰアドレスＡのハッシュ値Ｂとし、変数Ｙ：ノードのＩＰアドレスＡとし、変数Ｘ（Ｂ）を基本制御として用い、更に変数Ｙ（Ａ）を補助的な制御で用いる。ネットワーク１００上でのグループのノードの配置（分布）に関して、Ｙ（Ａ）を物理的遠近を示す変数と捉え、Ｘ（Ｂ）をランダム性（ばらばらな分布）を示す変数と捉える。Ｘ（Ｂ）に加えてＹ（Ａ）を考慮し、サービス（タイプ、特性など）に応じて、複数のノードのグループ（分布の範囲）の対応付けを変える。Ｙ（Ａ）のネットワーク上の遠近を考慮して決めることで、グループの範囲を制御する。
【０１１８】
制御処理例としては、例えばサービス実行時、ノードＮＢによりアクセス先のノードＮＣ（グループＧ１）を決める際に、Ｘ（Ｂ）だけでなくＹ（Ａ）を考慮して決定する。図７（ａ）のように、まず所定のＸ（Ｂ）空間の近傍値（近隣範囲）を得て、これらを、アクセス先となるノードの選択候補（優先的な選択対象等）とする。そして更に、この選択候補の中から、Ｙ（Ａ）空間の値を用いて、アクセス先となるノードのグループを決定する。サービスタイプＴに応じて、Ｙ（Ａ）空間における、近傍値や、あるいは離れた値などを選択決定する。
【０１１９】
図７（ｂ），（ｃ）は、Ｘ（Ｂ）とＹ（Ａ）の対応付けの例を示す。図７（ｂ）は、あるサービスＳａで、なるべく遠く離れたノードによるグループＧａ（７０１）を対応付け、例えば高信頼性を優先する場合である。図７（ｃ）は、あるサービスＳｂで、なるべく近いノードによるグループＧｂ（７０２）を対応付け、例えば高速性を優先する場合である。
【０１２０】
例えば、ストレージサービスＴ１において、同じデータＤａ（複製）を保持する対象となる複数のノードＮＣ（グループＧ１）を決定する際、ノード間の距離をできるだけ離すことで信頼性（耐障害性）を高くする（例えば災害によるデータ消失のリスクを低くする）ことを優先する場合が考えられる。この場合、図７（ｂ）のように、Ｘ（Ｂ）に加えてＹ（Ａ）を用いる形により、ネットワーク全体（７００）に広がった領域（７０１）でできるだけ遠く離れた複数のノードＮＣによるグループＧａを選択・決定する。
【０１２１】
また例えば、グループのノード間の距離をできるだけ近くすることで、利便性や高速性を高くすることを優先する場合が考えられる。この場合、図７（ｃ）のように、Ｘ（Ｂ）に加えてＹ（Ａ）を用いる形により、ネットワーク全体（７００）のうちできるだけ近く狭い領域（７０２）の複数のノードＮＣによるグループＧｂを選択・決定する。
【０１２２】
また、Ｘ（Ｂ）のみを用いた制御で、使用するハッシュ関数の特性を変えることにより、上記範囲を制御することも考えられる。例えば分布の一様性が高い／低いハッシュ関数を用いる。
【０１２３】
＜実施の形態の効果等＞
本実施の形態のシステムによれば、参加者（ユーザ）のノードでのサービス（資源）の提供（貢献）に応じて評価が高まり、評価に応じてサービス（資源）の利用の権限などが高まるといったように、公平性や参加インセンティブを考慮した仕組みにより、多数・多様なユーザの参加を促すことができ、サービス（資源）の利用と提供のバランスによる効率化をもたらすことでシステム環境全体を良好に発展させることができる。
【０１２４】
また、ストレージサービス等に限らず、応用的なサービス、例えば動画再生サービス等、リアルタイムで大量処理が必要となる場合にも有効に適用できる。
【０１２５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【０１２６】
本発明は、クラウドコンピューティングに利用可能である。
【符号の説明】
【０１２７】
１０…モジュール、１１…証明機能、１１ａ…自ノード証明機能、１１ｂ…他ノード証明機能、１２…ハッシュ処理機能、１３…サービス機能、１４…資源供出機能、１５…情報管理機能、２１…サービス利用機能（ＮＡ機能）、２２…サービス実行機能（ＮＢ機能）、２３…サービス提供機能（ＮＣ機能）、２４…サービス評価機能（ＮＤ機能）、４３…記憶資源、４４…計算資源、５０…管理情報テーブル、５１…証明書、５３…ログ情報、５４…評価情報、１００…ネットワーク、１０１…ハードウェア、１０２…ソフトウェア、１０３…記憶資源、１０４…計算資源、２０１〜２０５，３０５，３１１，３１２…処理、５０１，５０２…近隣範囲、７００…ネットワーク全体、７０１，７０２…グループ。
【図１】
2011059884.tif 000003
【図２】
2011059884.tif 000004
【図３】
2011059884.tif 000005
【図４】
2011059884.tif 000006
【図５】
2011059884.tif 000007
【図６】
2011059884.tif 000008
【図７】
2011059884.tif 000009