クラウドコンピューティングシステム
【課題】クラウドコンピューティングシステムに係わり、特に、ユーザ間での資源の提供(売り)−利用(買い)を円滑化する仕組みを設ける。
【解決手段】本システムでは、各ノードは、クラウド的なサービスの資源を供出する代わりに他者のサービスを利用できる。サービス提供の評価に応じてサービス利用の実行が制御される。そして、資源を他者に提供(売)するエンティティ(E1)と、他者から資源を利用(買)するエンティティ(E2)と、それら(E1,E2)間に介在して、資源等の提供(売)−利用(買)に係る取引の処理を行う所定のエンティティ(E0)と、を含むエンティティ間の関係を設定する機能を有する。本機能は、ユーザのアイデンティティを表明する証明書、鍵、及び署名処理技術を用いて、エンティティ間の関係(#1,#2)を設定する処理を行う。
【解決手段】本システムでは、各ノードは、クラウド的なサービスの資源を供出する代わりに他者のサービスを利用できる。サービス提供の評価に応じてサービス利用の実行が制御される。そして、資源を他者に提供(売)するエンティティ(E1)と、他者から資源を利用(買)するエンティティ(E2)と、それら(E1,E2)間に介在して、資源等の提供(売)−利用(買)に係る取引の処理を行う所定のエンティティ(E0)と、を含むエンティティ間の関係を設定する機能を有する。本機能は、ユーザのアイデンティティを表明する証明書、鍵、及び署名処理技術を用いて、エンティティ間の関係(#1,#2)を設定する処理を行う。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラウドコンピューティングの技術に関する。
【背景技術】
【0002】
ITにおける趨勢としてクラウドコンピューティングがある。本明細書では、クラウドコンピューティング(以下適宜「クラウド」等と略称する)とは、インターネット上で、記憶資源や計算資源などの資源(リソース)を、サービスとして提供ないし利用する形態を指すとする。クラウド的なサービスを実現するシステム(クラウドコンピューティングシステム)では、要素技術として、サーバ仮想化技術や分散処理技術などが用いられる。
【0003】
クラウド的なサービス(以下単に「サービス」ともいう)の例は以下である。ユーザ(クライアント)が使用するWebブラウザ等を備えるPC等のコンピュータ(端末)は、インターネット上のサービス(コンテンツ等)にアクセスする。例えばAmazon(登録商標)等による電子商取引(EC)のサービスや、Google(登録商標)等による情報検索のサービスなどがあり、当該サービスを提供するWebサイト(サーバ)にアクセスする。当該サーバを含むノード群の中では、複数のノード間でサービスの処理(例えば分散処理等)が行われ、その結果がユーザの端末へ応答される。またユーザの端末は、当該ノード群の中でどのように処理が行われたか等について知る必要が無い。
【0004】
また、上記クラウドコンピューティングによるサービスに関する技術として、例えば、Amazon EC2(Amazon Elastic Compute Cloud)(非特許文献1)などがある。
【0005】
また、ネットワーク上でユーザ(ノード)のコンピュータ資源またはそれによるサービスを相互に提供・利用する先行技術例、あるいは当該資源/サービスを売買取引する先行技術例として、特開2004−206273号公報(特許文献1)(コンピュータ資源売買方式)、特開2007−323439号公報(特許文献2)(リソース割当システム)、特開2002−92366号公報(特許文献3)(CPU時間売買方法)、などがある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−206273号公報
【特許文献2】特開2007−323439号公報
【特許文献3】特開2002−92366号公報
【非特許文献】
【0007】
【非特許文献1】“Amazon Elastic Compute Cloud (Amazon EC2)”、amazon web services(登録商標)、[平成21年9月1日検索]、インターネット<URL:http://aws.amazon.com/ec2/>
【発明の概要】
【発明が解決しようとする課題】
【0008】
クラウド的なサービス及びそのシステムの提供は、現状、一部の企業によりリードされている。特に、AmazonやGoogle等の企業は、多数のサーバを含む巨大なインフラ(資源)等によって、クラウド的なサービス・システムを提供している。そのようなインフラ等を持たない多数の中小企業や個人等のユーザは、クラウド的なサービス・システムの利用側に留まる傾向にある。即ち、一部の企業のクラウド的なサービス・システムを、従量課金などの形で使わせてもらうことが多くなる。
【0009】
インターネット上でのECや情報検索などの各種の機能は、社会的・公共的なインフラ等としての影響力が大きい。よって、そのような機能のためのクラウド的なサービス・システムの提供は、少数の企業に限られることなく、多数・多様な企業や個人の参加が望ましいと考える。
【0010】
また、クラウド的なシステムの実装が特定の企業によるものである場合、例えば単一の実装が支配的になることで、その実装の脆弱性がシステム環境全体に悪影響を及ぼす可能性が懸念される。よって、クラウド的なシステムは、多様な実装によって構成が可能であることが望ましいと考える。
【0011】
なお前記特許文献1等の先行技術例では、クラウドコンピューティングシステム上での資源/サービスの提供(売り)−利用(買い)の仕組みやその課題に関しては十分に考慮されていない。
【0012】
以上を鑑み、本発明の主な目的は、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる仕組みを提供することである。特に、上記クラウドコンピューティングシステムにおいて、各ユーザ(ノード)のコンピュータで異なる資源(またはそれによるサービス)を有するが、それらユーザ(ノード)間での資源/サービスの提供(売り)−利用(買い)を円滑化する仕組みを設けることで、システムの構築や発展を効率化できることである。
【課題を解決するための手段】
【0013】
(1) 本発明では、前述の仕組みを実現するために、クラウドコンピューティングシステムの構成のモデルとして、オープン、完全分散型のシステムを考える。即ち、通信ネットワーク上における情報処理システム(ノード(コンピュータ)群のネットワーク)において、例えば一部の企業のノードに限定されることなく、不特定多数のユーザ(参加者)のノードが自由に参加/離脱が可能であり、各ノードが、クラウド的なサービスの提供(構成)のためのコンピュータ資源を提供(供出)すると共に、当該サービスを利用可能であるような仕組みである。サービス提供側のモデルとして、各参加者のノードは、記憶資源や計算資源等を自由に提供し、それらの複数のノードの資源(その結合)により、クラウド的なサービスを構成し提供する。また、サービス利用側のモデルとして、各参加者のノードは、上記によるクラウド的なサービスにアクセス、利用することができる。
【0014】
ここで、上記のように各ノードがサービス(資源)の提供と利用の両方を行うようなシステムでは、上記サービス(資源)の提供と利用のバランスが1つの問題になる。即ち、一方のユーザはサービス(資源)の利用の度合いよりも提供の度合いの方が大き過ぎるのに対し、逆に他方のユーザは利用の度合いが大き過ぎる、といった偏りや、ただ乗り等を許容する仕組みは望ましくない。この点、本システムでは、公平性などの実現のために、サービス(資源)の提供における貢献度や正確性などに応じてサービス(資源)の利用が可能になる仕組みを有する。即ち、各参加者のノードは、サービスの提供のための資源を提供する代わりに、サービス(資源)を利用する権限やポイント等を得る。言い換えれば、サービス(資源)を利用するための条件として、自らもサービス(資源)を提供しなければならない。これにより、適切なノードの参加を促し、不適切なノードの排除を促し、システム環境全体の実装などを効率化する。
【0015】
上記仕組みとして、本システムでは、ある例えば第1のノードによるサービス(資源)の提供の行為における貢献度や正確性などを、別の例えば第2のノード(群)により評価し、その評価結果を、当該サービス(資源)を提供した第1のノードによる別のサービス(資源)の利用(その権限等)に反映する仕組みを有する。例えば、上記評価処理として、評価主体である第2のノードは、評価対象の第1のノード毎のサービスの提供の行為における、正確な応答データの有無などを判断することにより、上記正確性を評価する。当該評価(評価情報)として、例えば、当該第1のノードに関する利用の権限やポイント等を増減する。そして、当該評価結果の反映として、当該評価情報に応じて、当該評価対象の第1のノードによる他者のサービスの利用に関する制御(許可等)をする。
【0016】
本システム形態は、例えば、ユーザのコンピュータによるノード(群)が通信接続されるネットワークを有し、前記ノードは、ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービス(各種のサービス)を提供する処理を行う提供機能と、前記サービスを要求して利用する処理を行う利用機能と、前記利用機能を用いるノード(第1のノード)と前記提供機能を用いるノード(第3のノード)との間に介在して前記サービスの実行を制御する処理等を行う実行機能と、前記提供機能を用いるノード(第3のノード)による前記サービス(その資源)の提供の行為を評価してその評価情報を保持するための評価機能と、を有する。例えば第1のノード(NA)は利用機能、第2のノード(NB)は実行機能及び評価機能、第3のノード(NC)は提供機能、第4のノード(ND)は評価機能を用いた処理を行う。
【0017】
本システムでは、前記サービス(各種サービスのうちいずれでもよい)の実行(利用)時、第1のノードの利用機能は、第2のノードの実行機能を経由して、第1のグループの複数の第3のノードの提供機能にアクセスし、当該提供機能からの応答が、当該第2のノードの実行機能を経由して、当該第1のノードの利用機能へ応答される処理が行われる。また、上記処理(サービスの要求−応答等)に伴い、前記評価機能(第2のノードまたは第4のノード)は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存する。そして、本システムでは、前記評価情報における値の高低に基づいて、前記第3のノードが第1のノードとして他者のサービス(各種サービスのうちいずれでもよい)を利用する際における前記利用機能からの前記サービスの実行時、当該利用の可否などを制御する(前記評価情報の値の高低を前記サービスの利用の条件に反映する)。
【0018】
(2) 更に、本システム形態では、上記のような前提に基づき、ユーザに対応付けられるアイデンティティ(ノード)間で、資源(またはサービス)の提供(売り)−利用(買い)の行為(取引)を可能にする関係を設定する機能を設ける。第1種のエンティティ(E1)となる任意のユーザのノードは、資源(その権利)を他者に対して提供(売)する。第2種のエンティティ(E2)となる任意のユーザのノードは、他者から資源(その権利)を利用(買)する。所定のエンティティ(E0)となる任意のユーザのノードは、第1種及び第2種のエンティティ(E1,E2)の間に介在して、上記資源の提供(売)−利用(買)に係る取引の処理を行う所定のサービス(Sr)を設営する。上記関係を設定する機能は、ユーザのアイデンティティを表明する証明書、鍵、及び署名を含む情報処理技術を用いて、第1種のエンティティ(E1)と所定のエンティティ(E0)との間での第1の関係を設定する処理と、第2種のエンティティ(E2)と所定のエンティティ(E0)との間での第2の関係を設定する処理と、を行う。第1の関係のエンティティ間では、E1の資源をE0へ提供(売)する取引の処理を行い、第2の関係のエンティティ間では、E2からE0の提供する資源を利用(買)する取引の処理を行う。上記取引では、例えば、前記評価情報に基づくポイント(P)を用いて資源(権利)を売買し、更に、当該ポイント(P)と所定の貨幣(円など)との交換を可能とする決済機能を設ける。
【発明の効果】
【0019】
本発明によれば、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる。特に、上記クラウドコンピューティングシステムにおいて、各ユーザ(ノード)のコンピュータで異なる資源(またはそれによるサービス)を有するが、それらユーザ(ノード)間での資源/サービスの提供−利用を円滑化する仕組みを設けることで、システムの構築や発展を効率化できる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施の形態1のシステム(クラウドコンピューティングシステム)における、ノードネットワークの構成例を示す図である。
【図2】本システムにおける、ノードの構成例を示す図である。
【図3】本システムにおける、サービス実行の際のノードの接続関係等の例(その1)(特にサービス提供ノードNCのグループG1)を示す図である。
【図4】本システムにおける、サービス実行の際のノードの接続関係等の例(その2)(特にサービス評価ノードNDのグループG2)を示す図である。
【図5】本システムにおける、ハッシュ処理例を示す図であり、(a)はノード参加・登録時の処理例、(b)はサービス実行時の処理例を示す。
【図6】本発明の実施の形態2のシステム(クラウドコンピューティングシステム)における、ユーザ間の資源の取引の具体例を示す図である。
【図7】実施の形態2のシステムにおける、ノードの構成例などを示す図である。
【図8】実施の形態2のシステムにおける、ユーザ間の資源の取引に関するシステム構成例を示す図である。
【図9】実施の形態2のシステムにおける、エンティティ(E0−E1)間の処理例その1を示す図である。
【図10】実施の形態2のシステムにおける、エンティティ(E0−E1)間の処理例その2を示す図である。
【図11】(a),(b)は、実施の形態1,2のシステムにおける、ポイントPの例を示す図である。
【発明を実施するための形態】
【0021】
図1〜図11を用いて、本発明の一実施の形態のシステム(クラウドコンピューティングシステム)について説明する。説明上の記号として、適宜、ノードをN、ユーザ(参加者)をU、ノードのIPアドレスをA、そのハッシュ値をB、ノードの評価情報(ポイント)をP、クラウド的なサービスをS、サービスを構成する資源(リソース)をR、管理情報をM、アイデンティティ(ノード)の証明書をC、等として表す。
【0022】
(実施の形態1)
図1〜図5を用いて、本発明の実施の形態1のシステムでは、基本的な仕組みを示す。即ち、不特定多数の参加者からの資源Rの供出に基づいてサービスSを提供するオープン・完全分散型のクラウドコンピューティング環境において、サービスSの利用者は、その利用の条件として自身でのサービスSを提供し、サービスSの提供者は、その提供の対価として他者のサービスSが利用可能になり、それらの提供と利用をバランスする仕組みを示す。
【0023】
<概念1−サービスの提供と利用>
まず、本システムの基本的な概念、概要や特徴などについて以下に説明し、その後、詳細な実施の形態について説明する。図1のように、本実施の形態のシステム(クラウドコンピューティングシステム)は、インターネットにおいて、不特定多数の参加者(ユーザ)によるコンピュータのノード群の接続(配置)によりネットワーク100が構成される。本システムでは、ノードでクラウド的なサービスSのための資源R(記憶資源や計算資源)を提供し、ノード間で当該サービスS(資源Rにより構成される)を相互に利用し合う、オープン(参加/離脱が自由)、完全分散型のクラウドコンピューティングの情報処理システムである。完全分散型とは、集中管理ノードなどの特別なノードを持たず、各ノードが同様の機能を持つこと等を指す。
【0024】
本システムでは、参加者のノードによるサービスSの提供の行為を評価し、その評価結果に応じたサービスSの利用を可能にする仕組みを持つ。これにより、ノードによるサービスS(資源R)の提供と利用のバランスをとる。本システムでは、参加者のノードに対し、自身のサービスSの提供の対価として、他者のサービスSの利用を可能とする。逆に言えば、他者のサービスSの利用の条件として、自身のサービスSの提供を要求する。ユーザは、サービスSの提供の評価に応じて、サービスSを利用する権限やポイントなどを得る。
【0025】
また本システムでは、恣意的な評価を回避して公平な評価をするために、ネットワーク100の参加者のノード群から、サービスSに応じて、例えばランダムな配置の複数のノード(それによるグループ)が、評価対象(相互評価対象)として設定(選択)される。例えば、ハッシュ処理を用いて、ノードのIPアドレスA等のハッシュ値Bが近い所定の範囲の複数のノードが1つのグループとされる。また、公平な評価をするために、ネットワーク100の参加者のノード群から、サービスSに応じて、例えば所定のアルゴリズムにより選択されるランダムなノード(後述のNB等)が、評価主体となる。
【0026】
また、ユーザのノードが利用及び提供するサービスS(ストレージサービス等)だけでなく、本システムの仕組みを構成する評価等の各種の処理機能についても、特定のサービスSの処理(複数のノードによるグループを用いて行われる処理)として実現される。
【0027】
サービスSは、基本的なストレージサービスとコンピューティングサービス(計算サービス)とを含む。ストレージサービスは、複数のノード(それらで供出される記憶資源)に保存されるデータ(コンテンツ)に対する読み書き等の操作を行うことができるサービスである。計算サービスは、複数のノード(それらで供出される計算資源)に対して、計算の指示を与え、それによる計算結果データが得られるサービスである。
【0028】
評価機能(評価処理)としては、評価主体のノードは、例えばストレージサービスを提供するグループの各ノード(評価対象のノード)から、正確な応答データを正常に受信できたか否か等の判断により、当該ノードによるサービスSの提供の正確性などを評価する。その評価結果(評価情報P)は、所定のノード(評価処理に係わるグループの複数のノード)に保存され、当該各ノード(評価対象のノード)におけるサービスSの利用の権限やポイントなどに反映される。
【0029】
<概念2−規約>
本システムでは、上記のような、サービスS(資源R)の提供の結果を公平に評価してサービスS(資源R)の利用に反映する仕組みにより、ユーザに対して、資源R供出によるサービスS提供を促す。ユーザ(そのアイデンティティ)は、自ノードでの資源R供出によるサービスS提供の実績や品質を高めるほど、評価が上がり、他ノードのサービスSを利用するための権限やポイント等が向上する。逆に、ユーザ(そのアイデンティティ)は、他ノードのサービスSをより利用したい場合、自ノードでの資源R供出によるサービスS提供の実績や品質を高める必要がある。本システムでは、上記仕組み(公平性やインセンティブの設計)により、適切なノードの参加を促して、不適切なノード(恣意的な、例えば悪意のあるノード)の排除を促すことができる。即ち、本システム環境では、参加者のノードによる自発的な実装の最適化を促進でき、それと共に、ノード群の多様な実装の構成により、単一の実装が支配的になることによって一部の実装の脆弱性が環境全体に悪影響を及ぼすこと等を防ぐことができる。
【0030】
本システム環境において、ノード群のサービスS(資源R)の提供と利用のバランスをとり、公平性などを確保するために、参加者(ノード)が遵守すべき規約(上記概念1を含む)を有する。本規約の目標の1つとして、大多数の参加者のノードが本規約を遵守することにより、本規約を遵守しない参加者のノード(不適切なノード)による実装(群)が本システム環境から自動的に排除されることがある。本システムのノードは、本規約を反映(実装)した構成(図2のモジュール10)を持つ。
【0031】
本システムは、参加者のノードが規約を正しく遵守していることを評価する仕組みを有する。この仕組みとして、特に、ノードによるサービスS(資源R)の提供による貢献を正確性などによって評価するものである。
【0032】
<概念3−アイデンティティ>
本システムの参加者(ユーザU)は、サービスS(資源R)の提供と利用のバランスをとるためのアイデンティティを保有する。1つのアイデンティティに対し、1つ以上(n個)のノードNが所属(配置等)することができる。アイデンティティは、ユーザU、ノードN、資源R、ポイントPなどと関連付けられる。アイデンティティ(それに所属するノードN)は、所定の認証(証明書C)により確認される。認証(証明書C)は、例えば公開鍵を利用した電子証明書の技術による。
【0033】
なお説明上、簡単のため、評価対象やポイントPなどについては、適宜、アイデンティティ単位ではなくノードN単位で考える。例えば、評価対象がノードNであり、ノードNがポイントP(及び証明書C等)を持つ、といったように説明するが、正確には、ノードNの所属するアイデンティティが対象である。
【0034】
本システムは、完全分散型であり、アイデンティティを集中管理する仕組み(特殊なノードなど)を持たない仕組みである。この仕組みにおいて、アイデンティティの乱造等(例えばサービスS利用のみのただ乗り等)を防止するために、アイデンティティは、実社会における何らかの有限な資源と対応付けされる。この有限な資源として、参加者のノードN(コンピュータ)のIPアドレスA及び資源R等を、アイデンティティと結びつける。これにより、アイデンティティの乱造等を防止する。
【0035】
参加者(ユーザU)のアイデンティティ(及びそれに所属するn個のノードN)は、基本的に、参加者自身が発行する証明書C(自己発行方式の証明書)によって識別(認証)される。参加者は、アイデンティティとして、資源Rを提供/利用するn個のノードNを参加(所属)させることができる。n個のノードは、提供のみを行うノード、利用のみを行うノード、両方を行うノード、等を含んでもよい。これらn個のノードNに対して、1つの証明書C(アイデンティティ証明書)を発行する。n個のノードは、それぞれ異なるIPアドレスAが設定される。
【0036】
またノードは、アイデンティティ(当該アイデンティティ(ユーザU)が発行した証明書C)に所属することを証明するための機能(図2の証明機能11)を保有する。例えばある第1のノード(図2の他ノード証明機能11b)から、ある第2のノード(図2の自ノード証明機能11a)に対してアイデンティティ(その証明)を要求すると、当該第2のノード(そのアイデンティティ)の証明書Cの秘密鍵でデジタル署名された署名付きメッセージが第1のノードに返される。この署名付きメッセージは、「このノードの実行者はこの公開鍵(秘密鍵)の所有者である」旨を記載したメッセージである。このメッセージの検証により第1のノードは第2のノードのアイデンティティを確認できる。
【0037】
参加者のアイデンティティ(そのノード)は、事前に公開鍵(証明書Cにより証明される公開鍵)を公開する。また、アイデンティティは、上記公開鍵と鍵ペアになる秘密鍵を秘匿保持する。アイデンティティは、秘密鍵(それによる署名付きメッセージ)を用いて、当該ノードのアイデンティティを証明する。これにより、当該アイデンティティは、他者から同定される。
【0038】
サービスS提供の評価における評価情報P等の情報は、上記証明書Cに基づいて、各ノードN単位及びそれを包含するアイデンティティ単位(ユーザU単位)等で管理される。上記アイデンティティの管理(証明機能11等)により、ノード(ユーザU)は、アイデンティティとそれに纏わる権利などを継承することができる。例えばアイデンティティに所属するノードNのIPアドレスAが変更された後においても、以前のIPアドレスAのノードNでの貢献(評価情報P等)やサービスS(資源R)の提供−利用に係わる権限・ポイント等を引き継ぐことができる。ノードNのアイデンティティの証明書Cは、ノードNのIPアドレスAが変わっても不変である。
【0039】
<概念4−評価方式>
本システムのネットワーク100上、アイデンティティ(ノード)におけるサービスS(資源R)の提供と利用のバランスを確保、管理するための仕組み(評価方式)及びその主体(ノードやその機能)を設ける。
【0040】
本システムでは、図3、図4のように、サービスSに関する、利用(NA)、実行等(NB)、提供(NC)、評価等(ND)といった各ノード状態(機能)のノード間で処理が行われる。各ノードは、その都度の処理・状態に応じて機能(図2の21〜24)を切り替える。例えばノードNBは、サービスの実行の制御の際にはNB機能22を用いた処理を行い、評価に係わる処理の際にはND機能24を用いた処理を行うように切り替える。
【0041】
ノード(サービス提供ノードNC)によるサービスS(資源R)の提供の行為を正しく公平に評価するために、サービス利用ノードNAは、所定のアルゴリズムに従って決定されるノード(NB,ND等)を経由して、サービス提供ノードNCによるサービスSを利用する。
【0042】
本実施の形態では、評価主体として、所定のノード(NB,ND等)を用いて、最終的なサービス提供ノードNC(そのアイデンティティ)を評価対象として、当該ノードNCによるサービスSの提供に係わる評価を行う。特に、第1の評価方式では、サービス実行ノードNBにより評価処理を行い、第2の評価方式では、サービス評価ノードNDにより評価処理を行う。
【0043】
評価処理の対象は、ノード(グループの複数の各ノード)によるサービスSの提供の行為における貢献度(実績)や正確性、品質その他である。正確性の評価については、簡単には例えば、ノードNB−NC間における正確な応答の有無を2値的に判断することによる。また2値に限らず、上記提供(応答)の品質を多値で評価してもよい。例えば、応答時間(要求−応答に要した時間)の判断や、応答データの内容を正確な応答データと比較した場合の相違の程度の判断などによる。
【0044】
また、評価処理としては、評価主体のノード(NB)は、サービスS(例えばストレージサービス)に応じたグループの複数のノードNCによる応答結果(例えばデータD)を、相互比較して、多数決的に、正確性などを判断、評価する。即ち例えば、一番多数の応答結果を正しい応答とみなし、他(少数)の応答結果を誤った応答とみなす、等である。
【0045】
そして、評価情報Pに関し、上記応答結果に応じて、例えば、当該正しい応答のノードNCの評価値(ポイント)を上げる(または維持する)。また、当該誤った応答のノードNCの評価値(ポイント)を維持する(または下げる)。評価方式としては、正しい応答のノードの評価値を上げる形態(それに応じてサービスS利用の権限やポイントが上がる形態)としてもよいし、誤った応答のノードの評価値を下げる形態(それに応じてサービスS利用の権限やポイントが下がる形態)としてもよい。
【0046】
また、評価方式(評価情報Pの形態及びサービスS利用の制御の形態)としては、上記サービスSの提供の評価による評価値またはそのレベル等(提供ポイントpとする)を評価情報Pとして保存し、当該提供ポイントpの高低に応じて、サービスSの利用に関する権限やポイント等(利用ポイントqとする)を与える方式とする(方式A)。例えば利用ポイントqの状態や増減に応じてサービスS利用が制御されるが、サービスS利用に応じて提供ポイントpの方は変動しない。即ち、単純には例えば、通常時、当該利用ポイントpが閾値以上であればサービスS利用を許可し、(評価の低下により)当該利用ポイントpが閾値未満であればサービスS利用を不許可にするといった制御が考えられる。同様に、当該利用ポイントpを減少することで所定単位のサービスS利用を許可する制御などが可能である。また例えば、提供ポイントpに応じて、サービスS利用のレベルなど(例えば提供の品質、優先度など)を変える制御も考えられる。
【0047】
また、他の評価方式として、上記サービスSの提供の評価による提供ポイントpを、サービスSの利用に関する利用ポイントqとしても捉える方式としてもよい(方式B)。即ち、電子貨幣やポイントサービス方式などと同様に、サービスS提供単位(評価の向上)毎に当該ポイントP(p=q)を増やし、サービスS利用単位毎に当該ポイントP(p=q)を減らす(消費する)ような方式である。
【0048】
評価情報(ポイント)Pの形態としては、上記pとqを分けて管理し、pからqを演算等により決定する形としてもよい。
【0049】
また、自ノード内に自ノードに関する評価情報(ポイント)P等の情報を保持しない仕組みにより、例えば悪意ある参加者が当該ポイントを改ざん等してサービス利用すること等が防止される。なお、上記改ざん等の情報セキュリティ上の問題が解決できるのであれば、自ノード内に自ノードに関する評価情報Pを保持して参照可能にする形態としてもよい。
【0050】
<ネットワーク>
上記に基づき詳細な形態について以下に説明する。図1において、本システムにおける、参加者(ユーザU−アイデンティティ)のノードN(群)によるネットワーク100を示している。いくつかのノードN(例:N1〜N8)のみを概略的に示す。N1に限らず、各ノードNi毎に、ユーザUi(アイデンティティ、証明書Ci)、IPアドレスAi、そのハッシュ値Bi,評価情報(ポイント)Pi、管理情報Mi、等が対応付けられるとする。なおノードNi毎の評価情報Pi等の情報は、自ノードNi内ではなく、他ノード(後述のND)内に保持・管理され、必要に応じてその情報が参照される。
【0051】
ネットワーク100は、IPネットワーク等により、ノードN間が通信リンク(破線)により直接的または間接的に接続され相互に通信可能である。本システムへの参加者となるユーザU(そのアイデンティティ)は、n個のノードNを配置(参加)させることができるが、単純な場合としては、1アイデンティティ−1ノードとして考えればよい。
【0052】
<ノード、モジュール>
図2において、ノードNの構成例を示す。各参加者のノードNは、本システムの仕組みを実現するモジュール10がインストールされる、例えばPCなどのコンピュータである。モジュール10は、プログラム等による構成であり、ノードNにより実行される。ユーザUは、ノードN(モジュール10)を稼働させた状態(ネットワーク100に接続した状態)において、外部(他ノードN)にクラウド的なサービスS(その構成のための資源R)を提供し、また、外部(他ノードN)のサービスS(資源R)を利用する。その提供と利用は、その都度、ユーザUにより選択や設定ができる。
【0053】
ノードNは、IPアドレスAとポートのセットを持ち、その値により識別可能であり、ノードN間で通信可能である。ノードNは、ハードウェア101(CPU、メモリ、ディスク、IO(周辺機器)など)、及びソフトウェア102(OS、ミドルウェア、サーバ、ブラウザ、アプリケーションなど)を備える。これらが記憶資源103や計算資源104に相当する。
【0054】
モジュール10は、証明機能11、ハッシュ処理機能12、サービス機能13、資源供出機能(設定機能)14、情報管理機能15などを有する。また、モジュール10は、各ノード状態(後述のNA〜ND等)に応じた処理機能として、サービス利用機能(NA機能)21、サービス実行機能(NB機能)22、サービス提供機能(NC機能)23、サービス評価機能(ND機能)24などを備える。また、ノードNは、管理情報(M)50、証明書(アイデンティティ/ノード証明書)(C)51、ログ情報(L)53、評価情報(P)54、等の情報データを保持する。
【0055】
証明機能11は、ノードN及びそのアイデンティティに関する証明(認証)に係わる処理機能であり、自ノード証明機能11a、他ノード証明機能11bなどを有し、証明書(C)51等を管理する。自ノード証明機能11aは、自ノードの証明書(C)51を発行する処理等を行う(他ノードからの要求に対して自ノードを証明する場合)。他ノード証明機能11bは、他ノードの証明書51を認証(確認)する処理等を行う(自ノードから要求して他ノードを証明させる場合)。なお、証明書(C)51における公開鍵情報は外部に公開され、秘密鍵情報は自ノード内に秘匿される。
【0056】
証明機能11は、前述したノードNがユーザUのアイデンティティとそれに纏わる権利等を継承することができる機能を構成する一部である。ノード(例えば新規参加ノード)は、証明機能11等を用いることにより、自ノードに関連付けられるアイデンティティとその権利等(評価情報P等)を継承することができる。
【0057】
ハッシュ処理機能12は、各種のサービスS(そのサービスタイプT)と、その処理主体(アクセス先)となるノードNのグループとの対応付け等のためのハッシュ処理(ハッシュ関数を用いた処理)を行う。
【0058】
サービス機能13は、基本的なストレージサービス13a(サービスタイプT1)の処理や、コンピューティングサービス13b(サービスタイプT2)の処理や、それらを用いた応用的なサービス13c(サービスタイプTx)の処理を、供出資源R(記憶資源43、計算資源44等)を用いて行う。例えば、記憶資源43におけるストレージサービス(T1)13aの処理では、外部のノードNとの通信(要求−応答)が行われ(a)、ID(識別子)で識別されるデータD(コンテンツ)に対して読み書き等の操作が行われる。例えば、計算資源44における計算サービス(T2)13bの処理では、外部のノードNとの通信(要求−応答)が行われ(b)、IDで識別されるデータD(コンテンツ)に対する操作(オペレーションO)が行われ、その結果のデータD’が返される。
【0059】
資源供出機能14は、自ノードNのハードウェア101及びソフトウェア102による資源R(記憶資源103、計算資源104等)をもとに、サービスSの提供のために供出する資源R(記憶資源43、計算資源44など)を設定する処理などを行う。例えば参加者(ユーザU)は、自分が保有している資源R(利用などの権利を持つ資源R)のうち、どの程度まで当該資源を供出するか、その資源の量や稼働時間などを、自由に設定することができる。
【0060】
情報管理機能15は、本システムの仕組みを管理するための管理情報(M)50などを作成、管理する。また、情報管理機能15は、適宜、外部のノードNと通信して管理情報(M)50や評価情報(P)54等の情報データを授受することができる(c)。
【0061】
また、サービス実行機能22やサービス評価機能24は、ログ情報(L)53や評価情報(P)54を、外部のノードと通信して授受する(d)。
【0062】
またその他、ノードNまたはモジュール10は、本システムの各種機能をユーザUが操作しやすくするためのグラフィカルユーザインタフェース機能を、Webブラウザ等を利用した形で備えてもよい。
【0063】
<クラウドコンピューティングサービス>
本システムにおいて、基本的なクラウドコンピューティングサービス(クラウド的なサービスS)の機能について説明する。このサービスS自体の仕組みは、既存技術と基本的に同様である。本サービスSは、基本的なものとして、ストレージサービス13aとコンピューティングサービス(計算サービス)13bとを含む。それぞれ識別のためのサービスタイプTを、T1,T2とする。サービス毎に異なるサービスタイプT等の情報が設定され管理情報Mに管理される。
【0064】
(1)ストレージサービス13a(T1): 対象となるコンテンツ(データD)(それを一意に識別するID)に対して、読み書き等(作成・参照・更新・削除等)の操作を行うことができるサービスである。対象データDは、サービス提供ノードNCの供出する記憶資源43を利用して保存される。同じグループ内の複数のノードNCに対象データD(複製)が保存される。
【0065】
(2)コンピューティングサービス13b(T2): サービス提供ノードNC(その供出する計算資源44)に対して、対象のコンテンツ(データD)と操作(オペレーションO)の組(計算要求)が与えられ、当該ノードで当該データDに対し当該オペレーションOを適用した結果(計算結果)を新しいコンテンツ(データD’)として応答するサービスである。
【0066】
参加者のノード(IPアドレス+ポート)において、資源Rを供出することにより、少なくとも上記基本的なサービスS(T1,T2)を提供する。またこれら(T1,T2)を組み合わせて用いることにより、応用的なサービス13c(Tx)を構成し提供することが可能である。これらのサービスSの提供における正確性などが評価対象となる。
【0067】
また、本システムにおける各種のサービスや処理は、クラウドコンピューティングにより実現されるサービスSである。即ち、いずれのサービスSにおいても、アクセス先となるグループ/範囲における複数(3つ以上)のノードにおいて当該サービスに係わる同様の処理が行われる。当該グループ/範囲は、後述の所定のアルゴリズム(ハッシュ処理)によって決定される。本システムで特徴的な、評価機能などの処理についても、特定のサービスS(サービスタイプT)の形で処理する。
【0068】
上記サービスSの利用の際は、サービスタイプTや対象データD(そのID)やその操作等を指定して要求することにより可能である。なお具体的なサービス提供ノードNCのIPアドレスA等を指定、意識する必要は無い。
【0069】
<モデル、処理の流れ>
図3,図4を用いて、本システム(ネットワーク100)におけるノード群によるサービスSの実行時(利用(要求)、提供(応答)、評価等)における一連の処理の流れやモデルについて説明する。図3,図4では、ユーザU1のノードN1(NA)から、サービスS(例えばストレージサービス(T1))を利用する場合における、各状態のノード(NA,NB,NC,ND)の接続関係の例を示している。図3は特にサービス提供ノードNCとなるグループG1を示す。図4は特にサービス評価ノードNDとなるグループG2を示す。
【0070】
ノードNA(N1)は、NA機能21により、クラウド的なサービスSを要求して利用するノードであり、「サービス利用ノード」と称する。ノードNC(例えばN3(NC1),N4(NC2),N5(NC3))は、NC機能23により、クラウド的なサービスSを提供するノードであり、「サービス提供ノード」と称する。
【0071】
ノードNB(例えばN2)は、ノードNAによるサービスSの利用と、ノードNCによる当該サービスSの提供との間に介在(経由)するノードであり、「サービス実行ノード」と称する。ノードNBは、NB機能22により、サービスSの実行を制御し、ノードNCによるサービスSの提供を把握してログ情報Lとして記録すると共に、当該提供(応答)を評価処理して評価情報Pとして記録し、これらの情報をノードNDに送信して保存させる。
【0072】
ノードND(NDa,NDc)は、ND機能23により、サービス提供ノードNCに関する評価情報P等を保持し、またノードNBからの要求(参照)に応じて当該評価情報P等を確認または提供するノードであり、「サービス評価ノード」と称する。ノードNDc(例えばN6)は、図3のノードNC(グループG1)に関するログ情報L(Lc)及び評価情報P(Pc)を保持するノードである。評価情報Pcの中には、グループG1の各ノード(N3〜N5)の評価情報(ポイント)(P3〜P5)が含まれている。同様に、ノードNDa(例えばN8)は、図3のノードNA(N1)(当該ノードがNC状態の時)に関するログ情報L(La)及び評価情報P(Pa)を保持するノードである。評価情報Paの中には、当該ノードN1の評価情報(ポイント)P1が含まれている。
【0073】
例として、以下、ストレージサービス(T1)の実行の場合の流れ(201〜204)を説明する。対象データ(コンテンツ)及びそのIDをDaとする。操作は、対象データDaの保存(書き込み)や参照(読み出し)等、いずれの場合も同様である。データDa(複製)を保有する複数(例えば3つ)のノードNC(例:N3〜N5)を有する。また評価方式としては、ノードNBで評価処理を行う場合であり、ノードNDに評価情報Pを保存して参照可能とする場合である。また、ノードNA,NBは1つの場合であり、ノードNC,NDは複数(3つ以上)の場合である。なお各ノードの証明(認証)は前述の証明機能11(証明書C等)を用いて随時行われるが説明は省略する。
【0074】
第1に、201(a1,a4),203(a2(a2−1〜3),a3(a3−1〜3))の流れは、NA−NB−NC間でのサービスSの要求−実行−応答の処理を示す。一方、第2に、202(b1,b2),204(b3(b3−1〜3))の流れは、上記第1の処理に伴う、NB−ND(NDa,NDc)間における評価に関する処理を示す。NDaはNA(N1)に関する評価情報(Pa)等の確認(特に利用ポイントqに関する制御)の処理に係わり、NDcはNC(G1)に関する評価情報(Pc)等の保存(特に提供ポイントpに関する制御)の処理に係わる。処理順序の例としては、{a1,b1,b2,a2,a3,a4,b3}である。
【0075】
(1)(a1:サービス要求): サービス利用ノードNA(N1)(そのNA機能21)から、サービス実行ノードNB(N2)(そのNB機能22)へ、サービスSの利用要求を発行・送信する。この要求には、[サービスタイプ(T1)+ID(Da)]等の情報(その他、適宜、書き込みデータ、操作の指示等の情報)が含まれる。例えば、NA(N1)は、管理情報M(M1)の参照に基づき、アクセス先となるNBを決定してアクセスする。
【0076】
(2)(b1,b2:評価情報確認): サービス実行ノードNB(N2)は、NAからのアクセス(a1)に対し、管理情報M(M2)の参照に基づき、まず、ノードND(NDa:NA(N1)に関する評価情報Pa(P1)を保持しているノード)に対して、当該NA(N1)に関する評価情報Pa(P1)等の確認のためのアクセス・要求(b1)を行う。本実施の形態では、ノードNBのNB機能22(またはND機能24)は、ノードNDa(ND機能24)にアクセスし、当該ノードNAの評価情報Paを確認し、当該サービスSの実行を制御する。なお当該評価情報P等の確認の処理についても所定のサービスSとして実現され、アクセス先は所定のグループG3の複数のノードNDaとなる。
【0077】
上記アクセス(b1)に対し、例えば、NDa(N8)は、管理情報M(M8)及び評価情報Pa(P1)の参照に基づき、当該ノードNA(N1)(そのアイデンティティ)が現在のポイントP1等(利用ポイントq)に応じて当該サービスSの利用が許可されるか否か(権限)等を確認する。あるいは、他の方式では、NDaは、当該サービスSの利用のために当該ノードNA(N1)のポイントPa(P1)(利用ポイントq)を消費する処理などを行う。そして、NDaからNBへ、その確認の結果(例えばOK(許可)/NG(不許可))を送信する(b2)。OK(許可)であれば、それ以降の処理(a2以降)が行われる。なおNDaでの確認は、b2(Paを取得する)の後にNBで行ってもよい。
【0078】
(3)(G1(NC)の決定): 次にノードNB(N2)(そのNB機能22)は、管理情報M2の参照に基づき、当該サービスS(T1)(対象データDa)を提供する、アクセス先となる複数のノードNCのグループG1を、ハッシュ処理(入力値[T1+Da])により決定(確認)する。これはハッシュ処理機能12を利用する(詳しくは後述)。これによりアクセス先となる各ノードNC(例:NC1〜NC3)のIPアドレスA(A3〜A5)等が認識される。上記処理の際にNB(N2)が参照する管理情報M2では、例えば、[T1+Da]を含む情報を入力値としたハッシュ処理により、複数のノードNCのグループG1が対応付けられ、各IPアドレスA(A3〜A5)が得られる。
【0079】
(4)(a2:サービス実行(要求)): NB(NB機能22)は、アクセス先のグループG1の複数(3つ)の各ノードNC(NC1〜NC3)(データDaを保有するノード)に対し、並列的に、サービスSの提供の要求を送信する(a2−1〜3)。当該要求には、サービスタイプT1,ID(Da),操作指示等の情報が含まれる。例えばデータDa自体の参照(読み出し)の要求である。なお上記並列的なアクセスは、サービスタイプTに応じて、同時実行の場合、順次実行の場合などが可能である。またサービス自体は、1つでも正しい応答がNCから得られれば、NAへ応答(a4)をすることができる。
【0080】
(5)(a3:サービス提供(応答)): NBからの要求(a2)を受けた各ノードNC(NC機能23)は、稼働状態の場合において、自ノードの記憶資源43における、IDにより指定されるデータDaに対する指定の操作(例えば読み出し)を行い、その結果(例えばデータDa自体)をNBへ応答として送信する(a3−1〜3)。NBは、各NC(NC1〜NC3)からの応答を受信する。ただし、NCが非稼働状態、高負荷状態、NB−NC間の通信リンクが障害状態、などの場合には、正確で迅速な応答は得られない。また、その時点のノードNCの状況(例えば非稼働状態)によっては、当該対象データDaを更新できない場合もあるが、少なくとも1つのノードNCで当該データを更新できれば、その後、当該グループG1内のノードNC間で当該データを授受(コピー)することにより(205)、各ノードNCで当該データDaを保持することができる。
【0081】
(6)(a4:サービス応答): NB(NB機能22)は、グループG1の各NC(NC1〜NC3)からの応答をもとに、要求元のノードNAへ、当該応答(正確な応答データ)を送信する。NA(NA機能21)は、当該応答を受信する。
【0082】
(7)(評価処理): ノードNBは、上記処理(a3,a4)を行うと共に、ノードND(グループG2)との間で、ノードNC(サービスSの提供)に関する評価に係わる処理を行う。まず、NB(NB機能22)は、G1の各NCによる応答の状態・結果を含む、当該サービスS(T1)の実行(201,203)の状態・結果に関して、ログ情報L(Lc)を記録する。また、NB(ND機能24)は、G1の各NCの応答結果(a3−1〜3)について評価処理を行う。詳しくは例えば、NBは、各NCの応答結果を集計し、多数決的な判断に基づいて、各NCの応答の正確性を評価する。例えば各NCからの応答結果が同一であることをもって、正しい応答内容であることが確認できる。またNBは、例えば各NCから正確な応答(そのデータ)を正常に(迅速に)受信できたか(OK)否か(NG)を2値で判断し、それにより当該ノードNCの評価値(提供ポイントp)を増減する。計算サービス(T2)の場合にも、他の応用的サービス(Tx)の場合にも、同様な考え方で評価可能である。NBは、上記評価処理の結果により評価情報P(Pc)を作成し、例えばログ情報L(Lc)と共に、またはその一部として、記録する。なお並列的な複数のノードNC間での相対的な比較評価に限らず、個別ノードNC単位の応答の絶対的な評価をしてもよい。またサービスSの内容(サービスタイプT)に応じて、そのサービスSの品質を判定してもよい(例えば動画配信サービスであればその動画データの品質や、応答時間の長短など)。上記NBによる評価情報Pは、評価方式に応じて、例えば当該ノードNCの評価値(提供ポイントp)の増減を表す情報である。例えば応答がOKのノードは+1、等である。
【0083】
(b3:評価情報の保存): NB(そのND機能24)は、上記評価処理に基づき、上記ログ情報Lc及び評価情報Pcを、所定のグループG2の複数の各ノードND(NDc)(そのND機能24)へ送信(コピー)して保存させる。なお各NDはb3に対する応答をNBへ返してもよい。この評価情報P等の保存の処理についても、所定のサービスS(サービスタイプをTdとする)として実現され、当該処理の際にアクセス先となる複数のノードNDcによるグループG2(例えば図4の3つのノードND1〜ND3)についても、前述同様に、所定のハッシュ処理(入力値:例えば[Td]を含む)により決定される。なおNDとして、NCとは異なるノードが選択、決定される。
【0084】
グループG2の複数の各ノードNDc(例えばN6)(そのND機能24)は、内部に、NC(G1)に関するログ情報Lc及び評価情報Pcを保存(登録)する。評価情報Pcには、各NC(例:N3〜N5)に関するポイント(例:P3〜P5)が含まれる。なお、その時点のノードNDの状況(例えば非稼働状態)によっては、当該ログ情報Lc及び評価情報Pcを保存できない場合もあるが、少なくとも1つのノードNDcで当該情報を保存できれば、その後、当該グループG2内のノードNDc間で当該情報を授受(コピー)することにより(305)、各ノードNDcで当該情報を保持することができる。上記NDによる評価情報Pは、評価方式に応じて、例えば当該ノードNCの評価値(提供ポイントp)の絶対値(現在値)であり、NBからの評価情報P(増減量)を加算することにより更新される。
【0085】
図4で、NBからNDcへのアクセス(b3、204)として、グループG2の各ノードNDc(例えばND1(Nx),ND2(Ny),ND3(Nz))へのアクセスb3−1〜3となる。NDc(Nx〜Nz)は、それぞれIPアドレスAがAx〜Az、ハッシュ値BがBx〜Bzとする。上記保存の処理(Td)の際にNB(N2)が参照する管理情報M2では、例えば、所定のサービスタイプ(Td)を含む情報を入力値としたハッシュ処理により、複数のノードNDcのグループG2が対応付けられ、各IPアドレスA(Ax〜Az)が得られる。
【0086】
上記NDc(G2)で保持される評価情報Pcは、NC(N3等)に関するものであるから、当該NC(N3等)がNA機能21によるNA状態として他のNB(例えばN9)を介して何らかのサービスSを利用する際に(311)、前述の202と同様に参照される(312)。なお上記例において、他の評価方式では、NBでは評価処理を行わずにログ情報Lcの記録及び保存までを行い、NDcではそのログ情報Lcをもとに評価処理を行い評価情報Pcを保存する、といった形態となる。
【0087】
<ハッシュ処理(サービスとノードのマッピング)>
次に、図5を用いて、ハッシュ処理について説明する。図5(a)は、本システムへのノードの参加・登録時における管理情報Mの構成のためのハッシュ処理の例を示す。図5(b)は、上記登録以降のサービスS実行時における管理情報Mの参照に基づくハッシュ処理の例を示す。本実施の形態では、ネットワーク100上でサービスSの処理を行う対象(アクセス先)となる複数のノード(範囲/グループ(前述のG1,G2等))を選択・マッピングするための仕組みとして、ハッシュ関数による処理(ハッシュ処理)を用いる。
【0088】
基本的な制御として、参加ノードのIPアドレス値A等を入力値としたハッシュ値Bをとり、管理情報Mに登録する。また、サービスタイプTやID等を入力値としたハッシュ値Bを用いて、サービスSと、それを処理する範囲/グループ(G)となる複数のノードとを対応付ける。ハッシュ処理を用いることにより、そのハッシュ関数の特性にも依るが、ネットワーク100上におけるグループの複数のノード(例えばNC)は、概ねランダムでばらばらな分布になる。即ちネットワーク100(ノード群)で処理が分散される。
【0089】
サービスSの利用の際には、異なるサービスタイプT等の情報をハッシュ関数の入力値とすることにより、異なる出力値が得られる。即ち、サービスS毎に異なるアクセス先の範囲/グループ(G)の複数のノードが選択、決定される。なお、ハッシュ関数の入力値にする情報として、サービスタイプTやIPアドレスA等に限らず、多様な情報を用いることができることは言うまでもない。また、マッピング用に、異なる種類の関数(ハッシュ関数など)を用意すれば、同じ入力値でも異なる出力値を得ることができる。
【0090】
<ハッシュ処理(a)>
図5(a)で、ネットワーク100へ新規に参加するノード(アイデンティティ)を登録(配置)する際、管理情報Mに、当該ノードに関する情報が登録される(各ノードが持つ管理情報Mを更新する)。当該ノードのIPアドレス値Aを、所定のハッシュ関数(H1)に入力し、その出力のハッシュ値B(IPアドレスハッシュ値)を得る。H1によるハッシュ値Bは、所定の数値範囲(例えば0≦B≦1)に正規化される。図5(a)では、所定の数値範囲のリング(リングバッファ)上の各点がB値を示す。ハッシュ(H1)により、入力値となる、ネットワーク100上の遠近を表す連続的なIPアドレスA(群)は、出力値となる、ばらばらなハッシュ値B(群)に変換(マッピング)される。
【0091】
ハッシュ関数H1は、入力データ値から、その代表的な数値を出力ハッシュ値として得る、所定の特性の関数である。本実施の形態では、H1の特性として、連続的な入力値群から不連続的な出力値群を得る不連続性を持つ。また、同じ入力値から同じ出力値を得る決定性を持つ。また例えばマッピング(出力値の分布)がなるべく出力値範囲の全体に分布するような一様性を持つ。なお、他の形態として、ハッシュ関数に限らず、上記のように連続値(A)を不連続値(B)にマッピングする等の特性を持つ他の所定の関数を適用できる。
【0092】
図5(a)の例では、ネットワーク100上のランダムなIPアドレス値Aとして、図3の例の3つのノードNC(N3〜N5)の各IPアドレス(A3〜A5)は、それぞれH1により、B3〜B5(B4の近隣値)になったとする。逆に言えば、B値の空間における所定の近隣範囲501(例えばB4の近隣値であるB3〜B5)をとったとき、その元となる、ばらばらなIPアドレスA(A3〜A5)が得られる。
【0093】
上記ハッシュ処理によるA→Bのマッピングの情報は、A−Bの双方向的なマッピングの情報として管理情報Mに登録される。各ノードは、ネットワーク100全体のノード群に関する管理情報Mを保持してもよいが、特に全ノードに関する情報を持つ必要は無く、各ノードが自ノードの近隣範囲(グループ)のノードに関する情報を保持し、ノード間で管理情報Mを授受する通信を行うことで、適宜最新の情報に更新する形態とすればよい。上記自ノードの近隣範囲(グループ)として、例えば図5(a)のようなB値の空間での所定の近隣範囲を対応付ける。
【0094】
<ハッシュ処理(b)>
図5(b)で、上記設定以降におけるサービスS実行時におけるハッシュ処理を説明する。例えば前記図3で、NB(N2)は、NA(N1)からのサービスS(T1)の要求に対し、管理情報M2を参照し、要求されているサービスS(T1)で対象データDaを操作するためのアクセス先となる複数のサービス提供ノードNC(グループG1)を、ハッシュ処理により決定(確認)する。
【0095】
NB(ハッシュ処理機能12)は、例えば[T1+Da]をハッシュ関数H1に入力し、その出力値hを得る(Bと同様に所定の範囲(0≦h≦1)に正規化される)。そのh値を、図5(a)のリング上のB値に対応付ける。そして、そのh≒B値に関する所定の近隣範囲502(例えば前後を含む3つの近傍値)をとる。例えば、当該h値に一番近いB値がB4であり、その前後の一番近い値がB3,B5だったとする。これを所定の範囲/グループ=G1として対応付ける。即ちG1={B3(A3),B4(A4),B5(A5)}となる。
【0096】
管理情報Mの参照により、G1の複数(3つ)のB値に関して、対応するIPアドレス値Aを持つ複数のノード(例えばN3〜N5)が得られる。そして上記G1は、当該ストレージサービス(T1)でデータDaを保有・提供する、アクセス先となる複数のサービス提供ノードNC(NC1〜NC3)として対応付けられる。
【0097】
なお、上記(T1,Da,G1(NC)等)の対応付けは、管理情報Mに登録しておいて適宜参照する形態(毎回のハッシュ処理の省略)としてもよいし、サービス実行時毎に計算して再現する形態(同じハッシュ入力値などとすることで再現可能)としてもよい。また、ハッシュ関数(H1)への入力値(例えばサービスタイプT)を変えて上記同様に処理することで、異なる複数のノードによる範囲/グループ(G)を選択・マッピングすることができる。
【0098】
<効果等>
本実施の形態1のシステムによれば、参加者のノードでのサービスSの提供(貢献度や正確性など)に応じて評価が高まり、評価に応じてサービスSの利用の権限やポイントなどが高まるといったように、公平性や参加インセンティブを考慮した仕組みにより、多数・多様なユーザの参加を促すことができ、サービスS(資源R)の利用と提供のバランスによる効率化をもたらすことでシステム環境全体を良好に発展させることができる。また、ストレージサービス等に限らず、応用的なサービス、例えば動画再生サービス等、リアルタイムで大量処理が必要となる場合にも有効に適用できる。
【0099】
(実施の形態2)
以上を踏まえ、更に、本発明の実施の形態2のシステム(クラウドコンピューティングシステム)について説明する。実施の形態2は、システム構成として、実施の形態1のシステム構成をそのまま基本的な前提とし、その上で動作する仕組みとして追加的な要素が加わる。この要素は、主に、複数の参加者(ユーザU)のアイデンティティ(ノードN)間における、資源R(またはそれによるサービスS)の提供(売り)−利用(買い)の行為(取引)に係る関係の設定、特にその資源Rの売買のサービス(ビジネス)に係る関係の設定、に関する諸機能である。本機能を用いて、参加者のアイデンティティ(ノードN)間に関係(鍵チェーンによる関係)を自由に設定し、売買のビジネス等を自由に可能とする仕組みである。これにより、それぞれ異なるコンピュータ資源・環境を持つユーザ間での資源R等の取引(融通)を可能とし、例えば実施の形態1で説明したポイントP等をユーザ間で取引(移動等)することができる。また、現存の経済と結び付いた売買の取引を可能とし、それにより利益を得ること等も可能となる。
【0100】
実施の形態1では、例えばあるユーザがサービスSを提供して評価情報(ポイント)Pをある程度高めてからでないと、サービスSの利用がしにくいということも考えられる。また正確なサービスS等を提供(公開)していても、評価(ポイントPの増加)に結びつかない場合も考えられる(例えば人気のある一部のユーザのサービスSに集中してそのポイントPが高くなる場合)。この場合、システム内のユーザ間でのポイントPの分布に偏りがある。実施の形態2では、上記関係設定等の仕組みにより、例えばポイントP(提供ポイントp、利用ポイントq)の値が少ないユーザでも、他ユーザとの取引で(自身の資源R等と引き換えに)ポイントPを得ること等ができるので、システムへの参加がしやすい。また実施の形態1で説明したサービスS(資源R)の提供−利用のバランス等の効果についても更に高めることができる。
【0101】
実施の形態2では、ユーザ間の取引で、実施の形態1で扱った評価情報(ポイント)Pを用いる。特に、売買ビジネスを行う形態の場合には、電子貨幣的な売買ポイントとして用い、当該ポイントPを円などの貨幣に交換することができる機能を有する。なお、制御上は、実施の形態1のポイントPから別種のポイントを演算等により決定(対応付け)して用いても構わない。
【0102】
なお説明上の記号として、適宜、エンティティ(アイデンティティと同様の意味)をE、鍵(キー)をk、権利(資源RやサービスSに対応付けられる所定の権利)をK、等とする。また、参加者(ユーザU)、アイデンティティ(エンティティE)、ノードN、証明書Cなど相互に対応関係を持つ要素については適宜それらの一部のみで代表して説明する。
【0103】
<概念1−関係設定>
まず実施の形態2における仕組みや機能(鍵チェーンによる関係の設定、資源売買ビジネス等)の基本的な概念などについて以下である。前述したネットワーク100上で、任意(希望)の参加者(アイデンティティ等)を主体として、任意(希望)の第1種の参加者(資源提供者)から資源Rの提供を受け、また、その資源Rを、任意(希望)の第2種の参加者(資源利用者)に対して提供する、という行為(取引)を自由に可能とする仕組みを有する。上記参加者間での提供−利用の行為(取引)は、無償で行う形としてもよいが、特に、有償(対価有り)で提供(売り)−利用(買い)を行うサービス等の形(ビジネススキーム)を可能とする。
【0104】
説明上、上記の資源提供者を第1種のアイデンティティ(エンティティ:E1)とし、上記の資源利用者を第2種のアイデンティティ(エンティティ:E2)とする。そして上記E1とE2の間に介在してアイデンティティ(ノード)間における資源R(サービスS)の提供(売)−利用(買)の行為(取引)に関する所定のサービス(ビジネス)を提供する所定の参加者を、ビジネスエンティティ(エンティティ:E0)とする。E0,E1,E2に対して、各々対応付けられる証明書CをC0,C1,C2、鍵kをk0,k1,k2、資源RをR0,R1,R2、権利KをK0,K1,K2、等とする(他の記号についても同様)。
【0105】
本仕組みでは、任意の参加者が自分の意思選択に応じて上記各種エンティティ(E0,E1,E2)として参加(及び離脱)が可能である。ビジネスエンティティ(E0)としては、上記アイデンティティ(ノード)間における有償での資源Rの提供(売)−利用(買)の取引に関する情報処理的なサービス(Srとする)を設営することができる(サービスSrの開始や終了は自由に可能)。サービスSrは、E0からみるとE1,E2に対する資源Rの売買であり、E1からみると資源Rの提供(売り)であり、E2からみると資源Rの利用(買い)である。なおサービスSrは前述のクラウド的なサービスSとは意味合いが異なり、例えばクライアントサーバシステムのサービス処理の形(E1,E2がクライアント(要求側)、E0がサーバ(応答側))である。
【0106】
同様に、参加者が自分の意思選択に応じて、資源Rの提供(売り)用のエンティティ(E1)、利用(買い)用のエンティティ(E2)、それら両方を行うエンティティ(E1かつE2)として、参加(及び離脱)が可能である。なお上記E1,E2を分けて説明しているが上記両方を行う1種類のエンティティとして捉えても構わない(情報処理的には同様)。上記E0,E1,E2は、前述の各ノード状態の処理機能(NA〜ND)と同様にその時のノード状態に応じた処理機能になる。
【0107】
上記提供(売)−利用(買)の対象となる資源Rとは、クラウド的なサービスS(実施の形態1)を構成するために用いることができる、ノードNのコンピュータ資源(前述の記憶資源43や計算資源44)である。なお実施の形態1でのサービスSの提供−利用と実施の形態2での資源Rの提供−利用とは意味合いが異なり、例えば実施の形態2での資源Rの提供(売り)とは、第1のユーザの持つ資源R(その権利K)を、対価となるポイントPと引き換えに、別の第2のユーザに与えることである。これにより、第1のユーザは自身のポイントPを増加することができる。また、上記第2のユーザが権利Kを持った資源Rが、実施の形態1のようにサービスSとして利用された場合、その評価により得られるポイントPは、第1のユーザではなく第2のユーザにカウントされることになる。なお実施の形態2では対象を資源Rとして説明しているが、実施の形態1と同様に、資源Rを含んで成るサービスSを対象として捉えても同様である。
【0108】
資源Rは、一般に所定の権利Kと対応付けられ、本システムでは資源Rに対応付けられる権利Kの情報が管理される。ユーザ間での資源Rの提供(売)−利用(買)の行為(その情報処理)は、対応する権利Kの更新や移動(その情報処理)などに対応付けられる。更新とは、権利Kの形態に応じて、例えば資源Rの所有権や利用権などの移動や付与、情報の書き換え等である。資源Rに対応付けられる権利Kの情報は、例えば本システムでの制御のために必要な情報を含む。即ち簡単に言えば本システム中で現在どのアイデンティティ(ノード)がどの資源Rを持つかといった情報を含む。また、権利Kの情報は、例えば、資源Rの所有や利用等の所定の権利・権限に関する、法的な権利の情報に対応した情報処理的な権利管理情報やその制御機構などを含んでもよい。また資源RやサービスS自体に権利Kの情報を持たせる形でもよい。また対象の資源RやサービスSの性質が、他者に対して自由に公開するものである場合などには、権利Kの情報の管理が省略できる。
【0109】
本システム(各ノード)では、複数のユーザにおける上記エンティティ(E0,E1,E2)間の関係(E0−E1の関係、E0−E2の関係)を、後述する鍵チェーンにより自由に設定することができる機能を備える。鍵チェーンは、証明書C及びそれにより証明される鍵k等を用いたデジタル署名などの情報処理技術により実現される。
【0110】
<概念2−サービスSr,決済>
上記資源Rの売買ビジネス等のサービスSrを提供するビジネスエンティティ(E0)は、資源提供者(E1)および資源利用者(E2)に対する決済機能(ないし決済システム)を提供する。即ち、上記サービスSrの処理に係り、現存の経済の貨幣(例えば円)と結びついた決済処理を行うための仕組みを有する。決済処理は、例えば実施の形態2で売買に用いるポイントPと円(¥)との交換の処理や、所定期日での銀行口座引き落とし処理等である。また上記決済機能は、外部の決済機能(例えば本システム専用の決済システムや既存の金融機関等の決済システム)との連携により実現される機能ないしシステムとしてもよい。例えばE0が適宜外部の決済システムと通信して決済処理を実行してもよい。
【0111】
上記決済機能に基づき、サービスSrを提供するエンティティ(E0)は、資源提供者(E1)に対して、提供してもらった資源Rに対する対価を支払う。例えば、E0はE1の資源R1(対応の権利K1)をその時の交換レートに基づく売買ポイントPで買うことにより利用する(即ちE1からE0への権利K1の合算など)。また、E0は、上記E1からの資源R1の利用(買)と共に、資源利用者(E2)から対価の支払いを受けて、E2に資源Rを提供する。例えば、E0はE2に対して自身の利用可能な資源R0(例えばそのうち上記E1から得た資源R1)(対応の権利K0/K1)をその時の交換レートに基づく売買ポイントPで売ることにより提供する(即ちE0からE2への権利K1の分配など)。E2は、上記対価支払いにより得た資源が自身の利用可能な資源R2となる(上記例は図6でも説明)。
【0112】
上記サービスSrでE1からE0へ提供(売)される資源と、E0からE2へ提供(売)される資源とは異なっていてよく、取引のタイミングも別でよい。例えばE0は複数の小さい資源Rを複数のE1から集めて1つの大きい資源RやサービスSを構成してE2へ提供(売)することができ、また逆に、大きい資源R(サービスS)を複数に分割して複数のE2へ提供(売)することができる。
【0113】
これらエンティティ(E1−E0−E2)間における提供(売)−利用(買)のスプレッドによって、E0は利益を得ることができる。E0(Sr)を設けることで、E1は、自身の資源R(例えばストレージ等の遊休資源)をE0へ提供する代わりにポイントP等を得ることができる。E1が得たポイントPは、実施の形態1の評価情報(P)54に対応するので、サービスS(実施の形態1)の利用の条件に反映されることになる。またE1は、そのポイントPを用いて、別途E2として他者の資源Rの利用(買)や、円への交換なども可能である。一方、E2は、自身のポイントP等をE0へ提供する代わりに資源R等を得ることができる。またE2は、その資源Rを用いて、別途E1として他者への資源Rの提供(売)なども可能である。E2が得た資源R2は、その保有元が例えばE1の資源R1であり(図6)、E2は資源R2の権利K2の範囲内でそのE1の資源R1(それによるサービスS等)にアクセス・利用等ができる。またE2はその資源R2(R1)を用いてサービスS(実施の形態1)を構成して提供(公開)することができる。また上記2つの取引をしたビジネスエンティティ(E0)は、上記資源(R1→R0→R2)の売買の交換レートに応じた売買価格差などによって、利益が得られる。
【0114】
上記サービスSrにおける交換レート(時価)は、E0(そのユーザU)が自由に設定・変更等して取引相手などに情報を提示することができる。E1,E2は、E0が提示するレート等を参照して、自身の判断で売買に応じることができる。あるいは、上記レートを自動的に決定してもよい。例えばE0の外部の決済機能等に備えるレート決定機能(プログラム等)が、資源Rの需給の状況などに基づき上記レートを計算により決定し、そのレートの情報をE0が提示してもよい。
【0115】
また、実施の形態2では、上記売買のサービスSrにおける対価の授受は、所定のポイントPでの増減などの情報処理による。例えばE1−E0間の取引で、対象の資源R(権利K)の所定単位を所定のポイントPで売買する。
【0116】
また同じようなサービスSr(売買の対象)を提供する複数のE0が存在する場合、各々レート等の提示が可能であるため、各参加者(E1,E2)は、あるE0の提示レートが不満であれば、別のE0の提示レートで売買ができる。即ち、競争による調整効果(適切な参加者の参入/離脱の促進、価格調整など)が働く。
【0117】
<概念3−鍵チェーン>
実施の形態2では、上記仕組みを実現するための情報処理技術的な手段(実装)として、ユーザ群における各々のアイデンティティを表明する鍵k(証明書Cとそれにより証明される鍵k)に、鍵チェーンによる前述の関係を設定することができる機能を有する。鍵チェーンによる関係を設定する場合、該当エンティティ間で、当該関係に対応した証明書C(及び鍵k)を発行する処理を行う。この処理は、公知のデジタル署名の処理(即ち一方(署名される側)の公開鍵を他方(署名する側)の秘密鍵で署名する処理等)により可能である。上記鍵kは、詳しくは公開鍵(kaとする)と秘密鍵(kbとする)との鍵ペアである。
【0118】
上記資源Rの売買のビジネス(サービスSrの提供)をしたい参加者(そのノード)は、E0として本システムに登録してサービスSrを開設し、E0のサービスSrを利用(取引参加)したい参加者(そのノード)は、E1やE2として本システムに登録する(後述の登録機能81)。資源Rの提供(売り)の場合はE1、利用(買い)の場合はE2、両方の場合はE1かつE2となる。
【0119】
上記登録は、鍵チェーンによる関係の設定(作成)に相当する。鍵チェーンの設定(作成)の処理機能は、技術的には、前述の証明書C(証明機能11)を利用したデジタル署名などにより実現される。一方のエンティティ(E0)が他方のエンティティ(E1,E2)をデジタル署名することにより、鍵k(証明書C)同士に関係を設定する。上記登録に伴い、取引の関係の一方のエンティティE1(E2)は、他方のエンティティE0の証明書C0及び鍵k0によってデジタル署名された証明書C1(C2)及び鍵k1(k2)の発行を受ける。
【0120】
上記鍵チェーンによる関係の設定において、上位の側、即ち署名している側(親と称する)のアイデンティティ(E0)と、下位の側、即ち署名されている側(子と称する)のアイデンティティ(E1またはE2)とを有し、それぞれ証明書C及び鍵kが対応付けられる。例えば、E1(子)の公開鍵ka(対応証明書C1)は、E0(親)の秘密鍵kb(対応証明書C0)によって署名されたものとなる。同様に、E2(子)の公開鍵ka(対応証明書C2)は、E0(親)の秘密鍵kb(対応証明書C0)によって署名されたものとなる。
【0121】
サービスSrにおいて、資源提供者となる下位(子)のアイデンティティ(E1)による資源Rの提供(売)は、そのE1の鍵k1(証明書C1)の鍵チェーンの関係における上位(親)の鍵k0(証明書C0)に対応するアイデンティティ(E0)による資源Rの提供(対応の権利K)に合算される(該当アイデンティティ(E1,E0)の資源R(R1,R0)の権利K(K1,K0)が更新処理される)。
【0122】
同様に、資源利用者となる下位(子)のアイデンティティ(E2)による資源Rの利用(買)は、そのE2の鍵k2(証明書C2)の鍵チェーンの関係における上位(親)の鍵k0(証明書C0)に対応するアイデンティティ(E0)による資源Rの利用(対応の権利K)から分配される(該当アイデンティティ(E2,E0)の資源R(R2,R0)の権利K(K2,K0)が更新処理される)。
【0123】
上記鍵チェーンによる関係の設定は、多数のユーザ間で複数の関係を連鎖的・多重的に設定することが可能である。即ち例えば第1の取引の鍵チェーンの関係で親(E0)であるノードが、他の第2の取引の鍵チェーンの関係で子(E1またはE2)のノードになることができ、逆も可能である。また各取引相手ユーザごとの関係などが設定可能である。
【0124】
設定された関係に応じてユーザ(アイデンティティ)ごとのポイントP等の反映や所属も適切に情報処理(更新処理や決済処理など)がされる。また、上記鍵チェーンによる関係は、特別なノードを持たない性質のネットワーク100における個々のユーザ(アイデンティティ)の相互の信頼性によるものである。署名した側(E0)のアイデンティティの信頼性は、他のノードによる評価(評価情報P等の状況)や、他の鍵チェーンのノード(親)による署名や、当該ノードでのサービスSrの提供の実績などに反映されている。設定した関係の情報や、取引実績などの情報が蓄積されるので、それに応じて当該アイデンティティ(ノード)の信頼性が築かれる。
【0125】
上記鍵チェーンの関係における親(E0)や子(E1,E2)は、それぞれ、実施の形態1で説明したように、外部(他者)の評価ノード群(当該グループで保有される評価情報P等の情報)と対応付けられている。実施の形態2では、評価ノード群には、ポイントPの他、権利Kなどの情報を管理する。サービスSrでの資源Rの売買取引の成約(成立)の際には、それぞれ対応する評価ノード群の保有情報に対する更新処理が行われる。例えば対応エンティティの所持ポイントPの増減、権利Kの更新などである。
【0126】
上記取引の成約の際、例えば、親(E0)は、相手の子(E1またはE2)または対応評価ノード群に対し、自身の証明書C0(鍵k0)による署名付きメッセージによる指示等の送信によって、当該成約を実現させることができる。即ち上記ポイントPや権利Kの情報を更新できる(例えば前述の合算や分配)。指示(署名付きメッセージ)を受けた側は、その検証により、相手が正しいエンティティ(E0)であること等を確認できる。
【0127】
上記鍵チェーン等の仕組みにより、ネットワーク100における参加者のノード(アイデンティティ)間に、資源Rの提供(売)−利用(買)に係る関係を導入することができ、ユーザ間で資源RやポイントPをやりとりすることができる。また特に本機能を用いることで、資源Rの売買のビジネスが、エンティティE0によるサービスSrという形で可能となる。ネットワーク100上のいずれのアイデンティティもE0やE1,E2として参加が自由に可能であり、実施の形態1と同様に、オープン・完全分散型などの性質を有する。
【0128】
<例>
次に、図6を用いて、本システムの形態に関して、わかりやすいように先に例を説明する。E0(親)は、複数の参加者(E1,E2)間における資源Rを売買するサービスSrを設営する。このSrでの売買の情報処理においては、実施の形態1の説明に基づきポイントP(増減可能な情報値)を用いる。Srの情報処理では主にポイントPの単位にて計算や授受がされ、後に、交換する貨幣(円)で決済できる。ユーザに対する表示情報においては例えば円の情報もあわせて表示してよい。
【0129】
本システムへの登録(鍵チェーンの設定)の処理に基づき、E0(親)の証明書C0(鍵k0)に対して、E1(子)の証明書C1(鍵k1)、及びE2(子)の証明書C2(鍵k2)が、それぞれ、鍵チェーンの関係(#1,#2とする)として設定される。
【0130】
また、E0,E1,E2に各々対応付けられる評価ノード群(グループ)では、それぞれ、対応エンティティ(ノード)のポイントP、資源R(R0,R1,R2)の権利K(K0,K1,K2)の情報、等を保有している。なお各自ノード内でも管理情報(M)50内に記憶などの形で一時的に各種情報(P等)が保有され、上記対応グループの保有情報との間で情報更新処理が行われる。
【0131】
ネットワーク100上、E0となる参加者のノードは、登録によりサービスSrを開設する。E0は、開始するサービスSrの情報(売買の対象となる資源Rや、資源R単位とポイントPと円の交換レートなど)を外部に提示する。例えば、E0の決済機能などにより、外部の各ノードからアクセスして参照が可能なWebページ等の形で提示する。あるいは前述したノード間での管理情報Mの授受により上記情報を取得する形などでもよい。
【0132】
E1,E2となる各参加者のノードは、上記提示情報に基づきサービスSrにおける資源Rの提供(売)−利用(買)に参加ができ、参加する場合は、E0(Sr)に対して情報の登録を行う。これにより、E0−E1間、E0−E2間において、前述の鍵チェーンによる親子の関係(#1,#2)を設定する。例えば第1の鍵チェーン(k0−k1)ないし署名による第1の関係#1(E0−E1)、第2の鍵チェーン(k0−k2)ないし署名による第2の関係#2(E0−E2)である。例えばC1(k1)はC0(k0)により署名されている。E0はC0(k0)で自身(アイデンティティ及びノード)を証明する。
【0133】
(1) 第1の取引の例として、E1(資源提供者)のノードの資源R1をE0(E0のノードの資源R0)に提供(売)する場合の処理は以下である。
【0134】
1aは、E1(子)からE0(親)のSr(決済機能など)への、資源R1の提供(売り)の要求などを示す。この取引の時点(例えばt1とする)で、例えば資源Rの1単位の交換レートが「1P=10円」とする。例えば資源R1の価格が10P(=100円)である。1bは、1aに対し、E0のSrからE1へのR1利用(買い)の応答、及びそれに伴うE0からE1への対価(P)の支払い(E1の対価の受け取り)などを示す。1cは、1a,1bに伴い、E1のR1(対応K1)をE0のR0(対応K0)に提供(合算)することを示す。なおE1のR1は資源実体(例えばストレージ)であり(実線で示す)、E0のR0内に入るR1は資源実体ではなくその制御情報(権利Kの情報)等である(破線で示す)。
【0135】
また例として、各資源Rは、対応する権利Kの情報があり、図6中(E1,E2側、E0側も同様)では、その権利Kの情報が対応する管理情報M(M1,M2等)内に管理されている様子を示す。また、ポイントPに関する情報(当該ユーザの現在の所持値や、売買に応じた一時的な増減値など)も、同様に、対応の管理情報M内に一時的な情報として管理されている様子を示す。
【0136】
1a,1bの取引で、E0は、E1からの要求を受領(成約)する場合、E1に対して、3aで示すように、その対価(例えば10P(=100円))を支払う。E1はE0から対価を受け取り、代わりに、E1の資源R1の権利K1がE0の資源R0の権利K0に合算される。実際の対価支払いの決済処理及び情報更新処理は、該当ノード(E0,E1)の決済機能やそれらに対応する評価ノード群との間で実行される。
【0137】
上記取引の結果、各ユーザの取得ポイントP(円)情報として、E1は、+10P(100円)、E0は、−10P(100円)となる。後の決済処理により、上記各ユーザのポイントPの増減は、円の増減に反映される(Pを円に交換する場合)。Pを円に交換しない場合、例えば自身のポイントPの蓄積を目的としているユーザの場合は、決済処理(決済機能)に関するユーザ設定などによりポイントPのままでの蓄積が可能である。
【0138】
また、権利Kの情報の更新処理としては、E1の資源R1(その権利K1)が、E0のSrにおける資源R0(その権利K0)の中に合算されることになる。R0は複数の取引の結果に応じて複数の資源を内包した大きな資源R0を扱うことができる。ここで説明上、R0の中に、R1とは異なる資源R2(権利K2)が含まれているとする(以下の第2の取引でE2の資源R2となるもの)。なお間単にはR0=R2=R1の場合(即ちE0がE1から買った資源R1をそのままE2へ売る場合)を考えても構わない。
【0139】
(2) 第2の取引の例として、E2(資源利用者)のノードが、E0のノードの資源R0(R2)を利用(買)する場合の処理は以下である。
【0140】
E0(親)のSrに対して、資源利用者となるE2(子)は、E0へ対価(P)の支払いをして、E0がSrで提供する例えば資源R2を利用(買)する。即ち、E0の持つ資源R0の権利K0のうちの資源R2の権利K2を、E2の権利K2として分配する。R2の権利K2は、上記のようにR2=R1の場合は保有元のE1の持つR1の権利K1に対応している(資源実体はE1が保有のまま)。
【0141】
2aは、E2(子)からE0(親)のSr(決済機能など)への、資源R2の利用(買い)の要求、及びそれに伴うE2からE0への対価(P)の支払い(E0の対価の受け取り)などを示す。この取引の時点(例えばt2とする)で、例えば資源Rの1単位の交換レートが「1P=11円」とする。例えば資源R2の価格が10P(=110円)である。2bは、2aに対し、E0のSrからE2へのR2提供(売)の応答などを示す。2cは、2a,2bに伴い、E0のR0(対応K0)のうちのR2(対応K2)を、E2のR2(対応K2)として提供(分配)することを示す。
【0142】
2a,2bの取引で、E2はE0のSrに対してR2利用(買)を要求し、E0はそれを受領(成約を了承)し、3bで示す対価(10P(=110円))を受け取る。そして、E2はE0へ対価を支払う代わりに、E0の資源R0のうちの資源R2の権利K2がE2の資源R2の権利K2として分配される(決済処理及び情報更新処理)。上記取引の結果、各ユーザの取得ポイントP(円)情報として、E2は、−10P(110円)、E0は、+10P(110円)となる。
【0143】
上記三者(E1,E0,E2)間における2つの関係#1,#2での売買の取引(その決済等)の結果、E0は、第1の取引による−10P(100円)と、第2の取引による+10P(110円)とを合わせて、それらの差益(3c)である10円(±0P)を得ることができる。E1にとっては、資源R1を他者に提供(売)したことに応じて10P(100円)を得られる。この増分のポイントPは例えば他者のサービスS(実施の形態1)を利用したい時に用いることができる。一方、E2にとっては、10P(100円)の減少に応じて、他者から資源R2を利用(買)することができる。E2はこの利用(買)を可能にするための条件として10P(100円)が必要であり、そのためには例えば自身で資源Rの提供(売り)や前述のサービスS提供評価等によってポイントPを獲得しておく必要がある。E2は、上記の自身で利用可能となった資源R2を用いて、例えば自身でサービスS(実施の形態1)を構成して他者に提供(公開)することができ、それによる評価は自身のポイントPとしてカウントされることになる。
【0144】
<機能>
図7において、実施の形態2でノードNのモジュール10に備える処理機能や情報データ等について示している。参加者となるユーザUのアイデンティティと、エンティティEとが対応付けられる。エンティティEは、証明書Cと関係付けられる。エンティティEに所属するn個のノードNは、証明書Cにより証明される。ノードNは、サービスSrで提供(売)の対象となる資源R(サービスS)を有し、この資源R(サービスS)は権利K(その情報)が対応付けられている。関連する実施の形態1の機能等として、前述(図2)の要素、特に、証明機能11(証明書C、鍵k、等の管理を含む)、供出資源R(記憶資源43等)、情報管理機能15(管理情報(M)50)などがある。証明書Cは、鍵k(例えば公開鍵kaと秘密鍵kbとの鍵ペア)と関係付けられる。
【0145】
実施の形態2のノードNのモジュール10に、関係設定機能30として示す各種機能や情報データ等を有する。関係設定機能30において、E0機能(サービスSr機能)60、E1機能(資源提供(売り)機能)61、E2機能(資源利用(買い)機能)62、E0用の決済機能71、(E1,E2)用の決済機能72、登録機能81、鍵チェーン管理機能82、情報更新機能90、権利管理機能91、ポイント管理機能92、等を有する。情報データとしては、ポイントP情報55、資源R及び権利Kの情報57、提示情報(Sr情報)58、関係情報59等を有し、例えば管理情報50内に記憶される。各機能は例えばプログラム処理により実現される。各機能では、必要に応じて外部のノードの対応する機能との通信処理が行われる。その他、Webブラウザ等を利用してユーザに売買に関する情報などを表示し要求等の操作を可能とするグラフィカルユーザインタフェース機能などを有する。
【0146】
ポイントP情報55は、対応評価ノード群で管理されている自分(アイデンティティ)に関する評価情報(P)54に基づく、自ノード内での一時的な管理情報(現在の所持値や、売買による増減値など)である(決済処理や情報更新処理などで用いる)。また、あるノードが自分に関するポイントP等の情報を確認する場合(例えば制御に必要な場合)は、前述の実行ノードNBの処理例のように、対応評価ノード群に対して情報を照会する処理などにより可能である。あるいは特に、そのための情報照会機能を各ノードに設け、自分のポイントP等(権利K、その他)の情報を持つ対応評価ノード群へ情報を照会し、自分の現状に関する確認などを可能としてもよい。
【0147】
資源R及び権利Kの情報57は、当該アイデンティティ(ノード)で提供する資源R(サービスS)及びその対応する権利Kに関する、対応評価ノード群で管理されている管理情報に基づく、自ノード内での一時的な管理情報である(情報更新処理などで用いる)。資源R及び権利Kの情報57は、例えば前述の権利管理情報などである。
【0148】
なおポイントPの情報や権利Kの情報を、他者(評価ノード群)ではなく自ノード内で管理する形態としてもよいが、その場合は、前述した改ざん防止機能などの対策を設ける。
【0149】
提示情報58は、E0機能60や決済機能71により提示する、前述したサービスSrの情報(売買対象とする資源Rや交換レートなどの情報)などである。
【0150】
関係情報59は、鍵チェーン管理機能82(及び証明機能11等)を用いて設定される関係に関する自ノード内での管理情報である。例えば関係の識別情報、親エンティティ/ノード情報、子エンティティ/ノード情報、対応する証明書Cや鍵kの識別情報、などである。
【0151】
E0機能60は、E0(親、サービスSr提供者)の状態の機能であり、E0のノードにおける子(E1,E2)に対する資源Rの売買のサービスSrを設営・提供する処理を行う。例えば、E1機能61,E2機能62(クライアント機能)からの要求等のアクセスを受け付けて応答の処理を行うサーバ機能の形である。
【0152】
E1機能61は、E1(子、資源提供者)の状態の機能であり、E1のノードにおけるE0(サービスSr)に対する資源Rの提供(売り)の処理を行う。例えば、対応ユーザUの操作に応じて、E1からE0(Sr)の提示情報58を参照し、E0(Sr)に対し、取引の対象となる資源Rについての提供(売り)の要求や注文を送信し、その応答を得る処理などを行う。同様に、E2機能62は、E2(子、資源利用者)の状態の機能であり、E2のノードにおけるE0(サービスSr)に対する資源Rの利用(買い)の処理を行う。
【0153】
E0機能60は、E1(E1機能61)やE2(E2機能62)からの要求に対し、ユーザUの判断等に応じて、成約するかどうかを決め、成約する場合、E1への対価支払いのための応答や、E2への対価受け取りのための応答を送信する処理を行う。
【0154】
サービスSrの開設に応じて、E0機能60(または決済機能71)のうちの情報提示機能は、サービスSrの内容(例えば対象の資源Rや条件など)や交換レート(例えばポイントPと円との交換レート)の情報を、提示情報58として外部に提示する処理を行う。また、E1機能61,E2機能62(または決済機能72)のうちの情報参照機能は、上記提示情報58にアクセスして参照する処理を行う。
【0155】
なおサービスSrにおける売買取引のための詳しい処理や方式など(例えば売買の注文や成約の調整など)については、既存の各種の売買取引システムと同様の技術や方式を適用することができる。
【0156】
また、E0機能60、E1機能61、E2機能62等の機能は、売買取引の実績などの情報(履歴)を記録する。またこの履歴情報は、例えば前述のログ情報(L)53のように、評価ノード群で管理してもよい。
【0157】
E0用の決済機能71は、サービスSrに関する決済処理を行う。E1,E2用の決済機能72は、E0用の決済機能71に対応するクライアント機能であり、E0側の決済機能71に対してアクセスして決済に関する処理を行う。決済機能71は、E0のノードに備える機能とし、更にこのE0の決済機能71から外部の決済システムに対して連携(通信等)して処理を行う機能としてもよい。
【0158】
E0の決済機能71は、詳しくは例えば、レート設定機能や、交換貨幣(円)での決済処理機能などを有する。レート設定機能は、E0のユーザによりSrに関する交換レート(時価)等を自由に設定することができる機能である。あるいは、レート設定機能は、外部の決済システム等(レート決定機能)と連携して当該交換レートを自動的に決定して設定する機能である。交換貨幣での決済処理機能は、ポイントPと交換する円などにおける決済処理を行う。例えば、外部の金融機関と連携した所定の期日での決済処理(銀行口座引き落とし処理など)を行う機能である。
【0159】
レートを自動的に決定する場合の方法としては、例えば、本システムのユーザ(ノード)群における資源R(サービスS)の需要・供給の状況が存在し随時変動しており、その状況の把握(例えば決済機能、あるいはノード間での情報授受などによる)に応じて、その需給の状況に応じたレートを計算する方法などが挙げられる。例えばシステム中で特定の資源Rxを提供できるユーザ(E1)の数が少なく、その資源Rxを欲するユーザ(E2)の数が多い状況であれば、その資源Rxに関するレートが高値になるように決定される、といった具合である。
【0160】
E0−E1間またはE0−E2間で売買取引が成約した場合、情報更新機能90によるポイントPや権利K等に関する更新処理が発生すると共に、対価の支払い−受け取りのための決済処理が発生し、決済機能(71,72)によるポイントPや円に関する決済処理が行われる。この更新処理及び決済処理により、該当ノード内のポイントP情報55で売買の対価に応じたポイントPの増減の情報が記録され、また、対応評価ノード群の保有するポイントPの情報が更新される。また、権利管理機能91等によって、該当ノード内の権利Kの情報57で売買に応じた権利Kの情報が更新(合算、分配など)され、また、対応評価ノード群の保有する権利Kの情報が更新される。
【0161】
登録機能81は、サービスSrの開設、及びサービスSrに関するエンティティ(ノード)の登録の処理などを行う。E0(対応ユーザ)のノードは、登録機能81により、サービスSrの開始や終了を設定できる。開始の場合は前記情報提示機能によりサービスSrの提示情報58を外部へ提示する。また、E1,E2になるノードの登録機能81(対応ユーザ)は、E0の登録機能81(または決済機能71等)に対して、所望のサービスSrへの登録の処理などを行う。前記情報参照機能によりサービスSrの提示情報58を参照して参加が判断される。E0の登録機能81は、当該ノードをサービスSrにおけるE1,E2として登録する処理などを行う。
【0162】
上記登録の際、該当エンティティ(ノード)は、鍵チェーン管理機能82を用いて、該当エンティティ(そのノード)間に、鍵チェーンによる関係を設定する処理を行う。鍵チェーン管理機能82は、その処理を、証明機能11、及び証明書C及び鍵kの情報を用いて行う。鍵チェーン管理機能82は、証明機能11によるデジタル署名処理などを用いて、参加者(アイデンティティ)間の鍵チェーン(それによる関係)の作成やその変更やその削除などの処理、及び当該鍵チェーンに関する情報データ管理などの処理を行う。設定(作成)の場合、E0の鍵チェーン管理機能82が、E0の証明書C0(鍵k0)を用いて、E1,E2の証明書C1,C2(鍵k1,k2)を発行(署名)する処理を行う。設定された鍵チェーン(関係)に関する情報は、関係情報58として記録される。なお前述の証明機能11は、上記鍵チェーンによる関係が設定された証明書C及び鍵kを用いて、前述のノード間の認証などの処理を行うことができる。なお鍵チェーンによる関係の設定は、少なくともSrでの取引(成約)の事前にされている必要がある(実施の形態1でのネットワーク100への参加の時点で設定する必要は無い)。
【0163】
情報更新機能90は、サービスSrでの資源Rの提供(売)−利用(買)に伴う、資源R対応の権利Kや、対価のポイントPに関する、情報更新処理や情報管理などを行う。また情報更新機能90は、前述の管理情報(M)50等を管理する情報管理機能15と関連しているので、その一部として構成してもよい。情報更新処理は、例えば証明機能11や権利管理機能91等と連携した処理となる。
【0164】
権利管理機能91は、自身(アイデンティティ及びノード)の資源Rの情報及びそれに対応する権利Kの情報57を管理する処理などを行う。権利管理機能91は、実施の形態1の資源供出機能14と連携する機能、またはその一部としてもよい。
【0165】
権利Kの更新処理に関しては、例えば、資源R及び権利Kの情報57が、該当ノード内(管理情報M内など)、もしくは対応評価ノード群にて保有され、情報更新機能90(及び権利管理機能91等)により、その情報にアクセスして更新処理するか、または、該当ノードへ更新処理を指示すること等により行われる。
【0166】
ポイントPの更新処理に関しては、情報更新機能90(及び決済機能71,72)を用いて、取引の成約の際の対価のポイントPの支払い−受け取りによって、各エンティティ(ノード)の持つポイントPの値(自ノード内のポイントP情報55または対応評価ノード群にて保有する情報)を増減する処理を行う。
【0167】
ポイント管理機能92は、実施の形態1の評価情報(P)54に関係付けられるポイントP情報55をもとに、実施の形態2で扱うポイントPの情報管理や、その他の種類のポイント等が存在する場合のその生成(演算)や管理、ポイントPと円などとの交換に関するユーザ設定、などの処理を行う。
【0168】
<システム構成>
図8において、サービスSrに係るエンティティ間のシステム構成例を示している。資源Rの売買のサービスSrの提供者であるビジネスエンティティE0(そのノード)、資源R(R1)の提供者であるエンティティE1(そのノード)、資源R(R2)の利用者であるエンティティE2(そのノード)を有する。また、それぞれ対応する評価ノード群(グループG(GE0,GE1,GE2))を有し、その評価ノード(E0−ND等)では、証明書Cで表明されるアイデンティティ(及びノード)単位で、評価情報(ポイント)P、権利K、その他の情報が管理されている。前述の鍵チェーン(関係)#1,#2が設定される場合である。
【0169】
E0は、登録機能81によりサービスSrを開設し、決済機能71(情報提示機能)により、サービスSrの情報(交換レート等)を提示する(提示情報58)。E1またはE2は、1d,2dのように、決済機能72(情報提示機能)によりE0のサービスSrの情報(提示情報59)を参照し、登録機能81によりE0のSr(登録機能81)に対して登録する(例えば参加ノード情報の登録)。登録により、E0の鍵チェーン管理機能82は、証明機能11(C1,k1)を用いて、登録エンティティ(E1またはE2)に対して、証明書C1(鍵k1)またはC2(k2)を発行することにより、鍵チェーンの関係#1または#2を設定する。各エンティティ(E0,E1,E2)の管理情報M(M0,M1,M2)では、前述のポイントP情報55、及び権利Kの情報57(K0,K1,K2)などが管理される。
【0170】
<処理>
図6〜図8に基づき、図9,図10において、処理例として、第1に、図6のE1−E0間の関係#1の資源R1の取引、第2に、図6のE2−E0間の関係#2の資源R2の取引について説明する。主に第1の取引の場合を説明するが、第2の取引の場合でも概略同様に実現される。
【0171】
<処理(1)>
図9において、特にサービスSrへの登録や鍵チェーン設定などの処理例を示す。なお、E0側の各機能と対応するE1側の登録機能などは図示省略する。
【0172】
(1) 任意のE0となるノード(例えばノードN01)のユーザは、登録機能81により、決済機能71等に対して、自身をE0として登録し、E0機能60によるサービスSrを開設する。情報提示機能は、開始するサービスSrの情報を、提示情報58とする。
【0173】
また、4aのように、決済機能71等(ユーザ)により、サービスSrにおけるレートの設定などを行う(後でもよいし適宜変更も可能)。提示情報58には、設定されたレートの情報などが提示される。
【0174】
(2) 任意のE1となるノード(例えばノードN11)のユーザは、情報参照機能により、E0の提示情報58(サービスSr情報)を参照し、Srでの資源提供(売り)に参加する場合は、登録機能81により、E0の登録機能81等にアクセスし(1d)、自身をE1として登録する。E0の登録機能81は、子(資源提供者)となるE1のノードの情報などを関係情報59などに記録する。
【0175】
(3) そして、4cのように、鍵チェーン管理機能82により、上記登録で親(E0)−子(E1)の関係となる鍵チェーンによる関係#1を設定(作成)する処理を行う。E0の鍵チェーン管理機能82は、自身の証明機能11、証明書C0(鍵k0)を用いて、E1の鍵チェーン管理機能82(証明機能11、証明書C1(鍵k1))との間で、E1の証明書C1(鍵k1)を発行(署名)する処理を行う(4d)。E1はE0から発行されたものを証明機能11等により管理する。各鍵チェーン管理機能82は、設定(作成)したE0−E1の鍵チェーン(関係)#1に関する情報を関係情報59に記録する。
【0176】
(4) 上記設定の済みにより、当該E1−E0間で、1a(要求),1b(応答),1c(資源提供、権利更新)のように、サービスSrでの取引の処理を可能な状態とする。取引の成約により、E0機能60及びE1機能61は、それぞれ、対価(支払い−受け取り)のポイントPの増減値などの情報や、売買する資源Rの権利Kの更新に関する情報などを、自身の管理情報M内に記録し、情報更新機能90による更新処理を指示する。
【0177】
<処理(2)>
図10において、図9に続く、特にサービスSrでの売買に応じた情報(ポイントPや権利K)の更新処理、決済処理などの処理例を示す。各エンティティ(E0,E1)の情報更新機能90は、サービスSrでの売買の成約に伴う、ポイントPや権利Kに関する更新処理を、取引相手ノードとの間や、対応する評価ノード群との間で行う。
【0178】
E0(親)のノードは、取引相手(子)であるE1のノードや、当該E1に対応する評価ノード群(グループGE1)に対して、自身の証明書C0(k0)を用いた署名付きメッセージ(その送信)によって、更新処理を指示することができる。この指示は、例えば第1の関係#1の取引の場合、提供(売)の対象である子のE1(C1,k1)の資源R1(対応する権利K1)を、親のE0(C0,k0)の資源R0(R1を含んで成るR0)として提供するように、対応権利Kを合算する指示などである。また第2の関係#2の取引の場合では、利用(買)の対象である親のE0(C0,k0)の資源R0(対応権利K0)のうちの一部の資源R2(対応する権利K2)を、子のE2(C2,k2)の資源R2として利用するように、対応権利Kを分配する指示などである。
【0179】
例えば、E1−E0間の第1の取引が成約した場合(例えばE1からの要求をE0が受領)、E0は、E1に対して成約の旨を応答すると共に、E1に対応する評価ノード群(GE1)に対して通信し、また自身E0に対応する評価ノード群(GE0)に対しても通信し、成約した資源R(R1)に関する権利K(K1)の更新や、ポイントPの増減の指示などを行う。なお、E0から直接GE1へ指示してもよいが、E1を介在してE1からGE1へ指示する形としてもよい。
【0180】
上記ノード間での指示等は、正しいエンティティ(ノード)によるものであることを示すために、鍵チェーンの関係を用いて、署名付きメッセージによるものとする。指示を受け取った側は、その署名付きメッセージを検証することで、指示した側のアイデンティティを確認することができ、不正利用等を防止できる。証明機能11を用いて上記署名や検証の処理が行われる。署名付きメッセージによる指示の送信の際の処理では、送信側(E0)は、指示情報に対してE0の秘密鍵kbによる署名データを添付し、受信側は、その署名データをE0の公開鍵kaで復号化することで検証できる。
【0181】
指示(署名付きメッセージ)を受けたノードでは、検証の後、指示に従った更新処理が遂行される。例えば前述の権利Kに関する合算や分配の処理、及び、E1側のポイントP受け取り分の増加、E0側のポイントP支払い分の減少の処理などである。
【0182】
5bは、上記の指示(署名付きメッセージ)の例であり、E0からE1対応グループGE1(評価ノードE1−ND)へ、上記の合算などの旨の指示を送信する場合である。この際、E0の情報更新機能90(証明機能11を利用)は、自身の証明書C0(鍵k0)を用いて、署名付きメッセージを作成し、GE1へ送信する。指示を受信したGE1の評価ノードは、受信した署名付きメッセージを検証して送信者(E0)を確認した後、指示内容に従い、自身の持つE1対応の権利(KE1)やポイント(PE1)の情報を更新する。また、5aは、5bに関連して、同様に、E0からE0対応グループGE0(評価ノードE0−ND)への指示(署名付きメッセージ)である。E0側の権利(KE0)やポイント(PE0)の情報を更新する処理が行われる。
【0183】
なお上述した更新処理は、E0側を主体(指示する側)とした処理例であるが、取引の形態によっては、E1側を主体とした更新処理とする形としてもよい。また、E0からE1(情報更新機能90)を介在して上記の更新処理を行う形(E0からE1へ指示し、E1からGE1へ指示等)としてもよい。また、E0からGE0へ指示し、GE0とGE1との間で処理する形などとしてもよい。
【0184】
また、上記売買に伴う権利Kの更新に関する処理(指示)において、対応グループで持つ権利Kの情報の更新だけでなく、対応グループで持つポイントPの情報の更新を同様に行うことができる。例えば、E0の情報更新機能90(または決済機能71等)により、上記権利Kの更新に関する指示とあわせて、ポイントPの情報の更新を指示することができる。第1の関係#1の取引の場合、例えば5aのように、E0からE0対応グループGE0へ、支払いによるポイントPの減少の情報(M0の−P:例えば10P減少)を指示で与える。また5bのように、E0からE1対応グループGE1へは、受け取りによるポイントPの増加の情報(M1の+P:例えば10P増加)を指示で与える。各グループ(GE0,GE1)の評価ノードは、指示に従い、保有しているポイントPの情報(PE0,PE1)を更新する。
【0185】
一方、上記売買におけるポイントPの情報の更新に伴い、交換対象である円での決済処理を行う(Pを円に交換する場合)。5gは、E0の決済機能71による円での決済処理を示す。E0の決済機能71は、更新された情報(M0内のポイントPの増減の情報など)をもとに、外部の金融機関などと通信して当該決済処理を行う。図示省略するがE1側でも決済機能72により同様の処理が行われる。
【0186】
<ポイントP>
図11を用いて、ポイントPの例は以下である。まず前述したように、実施の形態1の評価情報(ポイント)Pは、主に、サービスSの提供の評価に関する情報(提供ポイントp)、及びそれに基づくサービスSの利用・実行の制御に関する権限やポイント等の情報(利用ポイントq)である。一方、実施の形態2のポイントPは、サービスSrでの資源Rの売買等の取引で用いるポイントである。例えば、ポイントPを、前述のように、サービスS提供の評価が高いほど当該P値(提供ポイントp)が上がる形とする。例えば最初はp値が小さいが正確なサービスS提供の実績などによりp値が高くなってゆく。また、このp値の高低の状態に応じて、サービスS利用の場合の利用ポイントqの値が高低する形とする。
【0187】
図11(a)は、上記実施の形態1のポイントP(p,q)の例であり、あるアイデンティティ(ノード)によるサービスSの提供の評価に応じて増減するポイントP(提供ポイントp及び利用ポイントq)の変動例である。時間tにおいて、t1では提供ポイントpのアップによりPが0から正の値に増加している(それに伴い例えば利用ポイントqも増加)。同様に、t2ではpのダウンによりPが負の値に減少している(それに伴い例えば利用ポイントqも減少)。t3では再度pのアップによりPが正の値に増加している。また、t4では、上記ポイントP(p,q)を用いて、当該アイデンティティにより他者のサービスSを利用する場合に、当該ポイントP(利用ポイントq)が減少(消費)する場合である。
【0188】
上記ポイントPに応じて、実施の形態2では、例えばエンティティE1は、ポイントPが0以下の状態のときは、サービスSrにおける資源Rの提供(売)によりポイントPを得ることが必要になる。またエンティティE2は、ポイントPが正の状態のときは、ポイントPを減少することで、サービスSrにおける資源Rの利用(買)が可能になる。
【0189】
図11(b)は、実施の形態2でサービスSrでの資源Rの売買に応じたポイントPの変動例である。t4までは同じで、t5では、あるアイデンティティにおいて、E1として資源Rの提供(売)の単位に応じてポイントPが増加した場合であり、t6では、同じアイデンティティにおいて、E2として資源Rの利用(買)の単位に応じてポイントPが減少した場合である。同様にSrを提供するエンティティE0では、E1,E2に対する売買に応じて自身のポイントPが増減する。
【0190】
<効果等>
実施の形態2によれば、クラウドコンピューティングシステムにおいて、各ユーザU(ノードN)で異なる資源R/サービスSを有するが、それらの間での資源R等の提供(売)−利用(買)の行為(取引)を円滑化する仕組み(関係設定機能30等)を設けることで、システムの構築や発展を効率化できる。クラウドコンピューティングシステム上でのユーザ間の資源R/サービスSの取引やその課題(公平性やバランスなど)を考慮した、新しく有用な仕組みを実現している。まず、前述の実施の形態1のシステムで各ユーザUが自由にサービスSの提供や利用を相互にしあうことが可能であり、各ユーザUはその活動に応じた評価情報(ポイント)P等を得る。それを前提として、実施の形態2のシステムで、各ユーザUは、自身のポイントPや資源R等をもとに、資源R等の売買の取引(サービスSr)への参加が自由に可能である。そのため、E0は、サービスSrの運営の結果に応じて利益を得ることが可能である。E1にとっては、自身の資源R(その権利K)を他者(E0)へ売ることにより対価としてのポイントP(または円)を得る(受け取る)ことができる。E1は、得たポイントPにより、他者のサービスS(実施の形態1)を利用しやすくなる。また、E2にとっては、自身のポイントP(または円)を対価として他者(E0)へ与える(支払う)ことにより他者の資源R(その権利K)を買うことができる。E2は、買って得た資源Rを自身で利用できる他、その資源Rを用いることで他者へのサービスS(実施の形態1)の提供もしやすくなる。例えば、E2は自身のコンピュータ環境では実現できない資源Rを他者から得ることができ、それを用いて自身のサービスS(実施の形態1)を構成して提供することもできる。また、上記のように、ユーザ間の相互の資源R等の融通や、現存の経済との連携により、本システム内における資源R/サービスSの提供−利用のバランス(実施の形態1)を高めること、コンピュータ資源の有効活用、新たなサービスの実現、などの効果がある。
【0191】
なお、ポイントPや円を用いた売買をしない形態とすることもできるが、その場合、E0のサービスSrではユーザ(ノード)間での資源R等の提供−利用の行為を仲介する処理機能のように構成することができる。この場合も上記バランス等の効果が得られる。
【0192】
なお、実施の形態2の仕組みは、あくまで実施の形態1の仕組みを前提としている。例えば最初から各ユーザが円などで直接的に資源R(サービスS)を売買可能な仕組みでは、特定のユーザ(企業)に有利になってしまう等、課題がある。
【0193】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【0194】
本発明は、クラウドコンピューティングに利用可能である。
【符号の説明】
【0195】
10…モジュール、11…証明機能、11a…自ノード証明機能、11b…他ノード証明機能、12…ハッシュ処理機能、13…サービス機能、14…資源供出機能、15…情報管理機能、21…サービス利用機能(NA機能)、22…サービス実行機能(NB機能)、23…サービス提供機能(NC機能)、24…サービス評価機能(ND機能)、30…関係設定機能、43…記憶資源、44…計算資源、50…管理情報テーブル、51…証明書、53…ログ情報、54…評価情報、55…ポイント(P)情報、57…資源(R)及び権利(K)の情報、58…提示情報、59…関係情報、60…エンティティ(E0)及びそのE0機能(サービスSr機能)、61…エンティティ(E1)及びそのE1機能(資源提供(売り)機能)、62…エンティティ(E2)及びそのE2機能(資源利用(買い)機能)、71…決済機能(E0用)、72…決済機能(E1,E2用)、81…登録機能、82…鍵チェーン管理機能、90…情報更新機能、91…権利管理機能、92…ポイント管理機能、100…ネットワーク、101…ハードウェア、102…ソフトウェア、103…記憶資源、104…計算資源、201〜205,305,311,312…処理、501,502…近隣範囲。
【技術分野】
【0001】
本発明は、クラウドコンピューティングの技術に関する。
【背景技術】
【0002】
ITにおける趨勢としてクラウドコンピューティングがある。本明細書では、クラウドコンピューティング(以下適宜「クラウド」等と略称する)とは、インターネット上で、記憶資源や計算資源などの資源(リソース)を、サービスとして提供ないし利用する形態を指すとする。クラウド的なサービスを実現するシステム(クラウドコンピューティングシステム)では、要素技術として、サーバ仮想化技術や分散処理技術などが用いられる。
【0003】
クラウド的なサービス(以下単に「サービス」ともいう)の例は以下である。ユーザ(クライアント)が使用するWebブラウザ等を備えるPC等のコンピュータ(端末)は、インターネット上のサービス(コンテンツ等)にアクセスする。例えばAmazon(登録商標)等による電子商取引(EC)のサービスや、Google(登録商標)等による情報検索のサービスなどがあり、当該サービスを提供するWebサイト(サーバ)にアクセスする。当該サーバを含むノード群の中では、複数のノード間でサービスの処理(例えば分散処理等)が行われ、その結果がユーザの端末へ応答される。またユーザの端末は、当該ノード群の中でどのように処理が行われたか等について知る必要が無い。
【0004】
また、上記クラウドコンピューティングによるサービスに関する技術として、例えば、Amazon EC2(Amazon Elastic Compute Cloud)(非特許文献1)などがある。
【0005】
また、ネットワーク上でユーザ(ノード)のコンピュータ資源またはそれによるサービスを相互に提供・利用する先行技術例、あるいは当該資源/サービスを売買取引する先行技術例として、特開2004−206273号公報(特許文献1)(コンピュータ資源売買方式)、特開2007−323439号公報(特許文献2)(リソース割当システム)、特開2002−92366号公報(特許文献3)(CPU時間売買方法)、などがある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2004−206273号公報
【特許文献2】特開2007−323439号公報
【特許文献3】特開2002−92366号公報
【非特許文献】
【0007】
【非特許文献1】“Amazon Elastic Compute Cloud (Amazon EC2)”、amazon web services(登録商標)、[平成21年9月1日検索]、インターネット<URL:http://aws.amazon.com/ec2/>
【発明の概要】
【発明が解決しようとする課題】
【0008】
クラウド的なサービス及びそのシステムの提供は、現状、一部の企業によりリードされている。特に、AmazonやGoogle等の企業は、多数のサーバを含む巨大なインフラ(資源)等によって、クラウド的なサービス・システムを提供している。そのようなインフラ等を持たない多数の中小企業や個人等のユーザは、クラウド的なサービス・システムの利用側に留まる傾向にある。即ち、一部の企業のクラウド的なサービス・システムを、従量課金などの形で使わせてもらうことが多くなる。
【0009】
インターネット上でのECや情報検索などの各種の機能は、社会的・公共的なインフラ等としての影響力が大きい。よって、そのような機能のためのクラウド的なサービス・システムの提供は、少数の企業に限られることなく、多数・多様な企業や個人の参加が望ましいと考える。
【0010】
また、クラウド的なシステムの実装が特定の企業によるものである場合、例えば単一の実装が支配的になることで、その実装の脆弱性がシステム環境全体に悪影響を及ぼす可能性が懸念される。よって、クラウド的なシステムは、多様な実装によって構成が可能であることが望ましいと考える。
【0011】
なお前記特許文献1等の先行技術例では、クラウドコンピューティングシステム上での資源/サービスの提供(売り)−利用(買い)の仕組みやその課題に関しては十分に考慮されていない。
【0012】
以上を鑑み、本発明の主な目的は、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる仕組みを提供することである。特に、上記クラウドコンピューティングシステムにおいて、各ユーザ(ノード)のコンピュータで異なる資源(またはそれによるサービス)を有するが、それらユーザ(ノード)間での資源/サービスの提供(売り)−利用(買い)を円滑化する仕組みを設けることで、システムの構築や発展を効率化できることである。
【課題を解決するための手段】
【0013】
(1) 本発明では、前述の仕組みを実現するために、クラウドコンピューティングシステムの構成のモデルとして、オープン、完全分散型のシステムを考える。即ち、通信ネットワーク上における情報処理システム(ノード(コンピュータ)群のネットワーク)において、例えば一部の企業のノードに限定されることなく、不特定多数のユーザ(参加者)のノードが自由に参加/離脱が可能であり、各ノードが、クラウド的なサービスの提供(構成)のためのコンピュータ資源を提供(供出)すると共に、当該サービスを利用可能であるような仕組みである。サービス提供側のモデルとして、各参加者のノードは、記憶資源や計算資源等を自由に提供し、それらの複数のノードの資源(その結合)により、クラウド的なサービスを構成し提供する。また、サービス利用側のモデルとして、各参加者のノードは、上記によるクラウド的なサービスにアクセス、利用することができる。
【0014】
ここで、上記のように各ノードがサービス(資源)の提供と利用の両方を行うようなシステムでは、上記サービス(資源)の提供と利用のバランスが1つの問題になる。即ち、一方のユーザはサービス(資源)の利用の度合いよりも提供の度合いの方が大き過ぎるのに対し、逆に他方のユーザは利用の度合いが大き過ぎる、といった偏りや、ただ乗り等を許容する仕組みは望ましくない。この点、本システムでは、公平性などの実現のために、サービス(資源)の提供における貢献度や正確性などに応じてサービス(資源)の利用が可能になる仕組みを有する。即ち、各参加者のノードは、サービスの提供のための資源を提供する代わりに、サービス(資源)を利用する権限やポイント等を得る。言い換えれば、サービス(資源)を利用するための条件として、自らもサービス(資源)を提供しなければならない。これにより、適切なノードの参加を促し、不適切なノードの排除を促し、システム環境全体の実装などを効率化する。
【0015】
上記仕組みとして、本システムでは、ある例えば第1のノードによるサービス(資源)の提供の行為における貢献度や正確性などを、別の例えば第2のノード(群)により評価し、その評価結果を、当該サービス(資源)を提供した第1のノードによる別のサービス(資源)の利用(その権限等)に反映する仕組みを有する。例えば、上記評価処理として、評価主体である第2のノードは、評価対象の第1のノード毎のサービスの提供の行為における、正確な応答データの有無などを判断することにより、上記正確性を評価する。当該評価(評価情報)として、例えば、当該第1のノードに関する利用の権限やポイント等を増減する。そして、当該評価結果の反映として、当該評価情報に応じて、当該評価対象の第1のノードによる他者のサービスの利用に関する制御(許可等)をする。
【0016】
本システム形態は、例えば、ユーザのコンピュータによるノード(群)が通信接続されるネットワークを有し、前記ノードは、ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービス(各種のサービス)を提供する処理を行う提供機能と、前記サービスを要求して利用する処理を行う利用機能と、前記利用機能を用いるノード(第1のノード)と前記提供機能を用いるノード(第3のノード)との間に介在して前記サービスの実行を制御する処理等を行う実行機能と、前記提供機能を用いるノード(第3のノード)による前記サービス(その資源)の提供の行為を評価してその評価情報を保持するための評価機能と、を有する。例えば第1のノード(NA)は利用機能、第2のノード(NB)は実行機能及び評価機能、第3のノード(NC)は提供機能、第4のノード(ND)は評価機能を用いた処理を行う。
【0017】
本システムでは、前記サービス(各種サービスのうちいずれでもよい)の実行(利用)時、第1のノードの利用機能は、第2のノードの実行機能を経由して、第1のグループの複数の第3のノードの提供機能にアクセスし、当該提供機能からの応答が、当該第2のノードの実行機能を経由して、当該第1のノードの利用機能へ応答される処理が行われる。また、上記処理(サービスの要求−応答等)に伴い、前記評価機能(第2のノードまたは第4のノード)は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存する。そして、本システムでは、前記評価情報における値の高低に基づいて、前記第3のノードが第1のノードとして他者のサービス(各種サービスのうちいずれでもよい)を利用する際における前記利用機能からの前記サービスの実行時、当該利用の可否などを制御する(前記評価情報の値の高低を前記サービスの利用の条件に反映する)。
【0018】
(2) 更に、本システム形態では、上記のような前提に基づき、ユーザに対応付けられるアイデンティティ(ノード)間で、資源(またはサービス)の提供(売り)−利用(買い)の行為(取引)を可能にする関係を設定する機能を設ける。第1種のエンティティ(E1)となる任意のユーザのノードは、資源(その権利)を他者に対して提供(売)する。第2種のエンティティ(E2)となる任意のユーザのノードは、他者から資源(その権利)を利用(買)する。所定のエンティティ(E0)となる任意のユーザのノードは、第1種及び第2種のエンティティ(E1,E2)の間に介在して、上記資源の提供(売)−利用(買)に係る取引の処理を行う所定のサービス(Sr)を設営する。上記関係を設定する機能は、ユーザのアイデンティティを表明する証明書、鍵、及び署名を含む情報処理技術を用いて、第1種のエンティティ(E1)と所定のエンティティ(E0)との間での第1の関係を設定する処理と、第2種のエンティティ(E2)と所定のエンティティ(E0)との間での第2の関係を設定する処理と、を行う。第1の関係のエンティティ間では、E1の資源をE0へ提供(売)する取引の処理を行い、第2の関係のエンティティ間では、E2からE0の提供する資源を利用(買)する取引の処理を行う。上記取引では、例えば、前記評価情報に基づくポイント(P)を用いて資源(権利)を売買し、更に、当該ポイント(P)と所定の貨幣(円など)との交換を可能とする決済機能を設ける。
【発明の効果】
【0019】
本発明によれば、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる。特に、上記クラウドコンピューティングシステムにおいて、各ユーザ(ノード)のコンピュータで異なる資源(またはそれによるサービス)を有するが、それらユーザ(ノード)間での資源/サービスの提供−利用を円滑化する仕組みを設けることで、システムの構築や発展を効率化できる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施の形態1のシステム(クラウドコンピューティングシステム)における、ノードネットワークの構成例を示す図である。
【図2】本システムにおける、ノードの構成例を示す図である。
【図3】本システムにおける、サービス実行の際のノードの接続関係等の例(その1)(特にサービス提供ノードNCのグループG1)を示す図である。
【図4】本システムにおける、サービス実行の際のノードの接続関係等の例(その2)(特にサービス評価ノードNDのグループG2)を示す図である。
【図5】本システムにおける、ハッシュ処理例を示す図であり、(a)はノード参加・登録時の処理例、(b)はサービス実行時の処理例を示す。
【図6】本発明の実施の形態2のシステム(クラウドコンピューティングシステム)における、ユーザ間の資源の取引の具体例を示す図である。
【図7】実施の形態2のシステムにおける、ノードの構成例などを示す図である。
【図8】実施の形態2のシステムにおける、ユーザ間の資源の取引に関するシステム構成例を示す図である。
【図9】実施の形態2のシステムにおける、エンティティ(E0−E1)間の処理例その1を示す図である。
【図10】実施の形態2のシステムにおける、エンティティ(E0−E1)間の処理例その2を示す図である。
【図11】(a),(b)は、実施の形態1,2のシステムにおける、ポイントPの例を示す図である。
【発明を実施するための形態】
【0021】
図1〜図11を用いて、本発明の一実施の形態のシステム(クラウドコンピューティングシステム)について説明する。説明上の記号として、適宜、ノードをN、ユーザ(参加者)をU、ノードのIPアドレスをA、そのハッシュ値をB、ノードの評価情報(ポイント)をP、クラウド的なサービスをS、サービスを構成する資源(リソース)をR、管理情報をM、アイデンティティ(ノード)の証明書をC、等として表す。
【0022】
(実施の形態1)
図1〜図5を用いて、本発明の実施の形態1のシステムでは、基本的な仕組みを示す。即ち、不特定多数の参加者からの資源Rの供出に基づいてサービスSを提供するオープン・完全分散型のクラウドコンピューティング環境において、サービスSの利用者は、その利用の条件として自身でのサービスSを提供し、サービスSの提供者は、その提供の対価として他者のサービスSが利用可能になり、それらの提供と利用をバランスする仕組みを示す。
【0023】
<概念1−サービスの提供と利用>
まず、本システムの基本的な概念、概要や特徴などについて以下に説明し、その後、詳細な実施の形態について説明する。図1のように、本実施の形態のシステム(クラウドコンピューティングシステム)は、インターネットにおいて、不特定多数の参加者(ユーザ)によるコンピュータのノード群の接続(配置)によりネットワーク100が構成される。本システムでは、ノードでクラウド的なサービスSのための資源R(記憶資源や計算資源)を提供し、ノード間で当該サービスS(資源Rにより構成される)を相互に利用し合う、オープン(参加/離脱が自由)、完全分散型のクラウドコンピューティングの情報処理システムである。完全分散型とは、集中管理ノードなどの特別なノードを持たず、各ノードが同様の機能を持つこと等を指す。
【0024】
本システムでは、参加者のノードによるサービスSの提供の行為を評価し、その評価結果に応じたサービスSの利用を可能にする仕組みを持つ。これにより、ノードによるサービスS(資源R)の提供と利用のバランスをとる。本システムでは、参加者のノードに対し、自身のサービスSの提供の対価として、他者のサービスSの利用を可能とする。逆に言えば、他者のサービスSの利用の条件として、自身のサービスSの提供を要求する。ユーザは、サービスSの提供の評価に応じて、サービスSを利用する権限やポイントなどを得る。
【0025】
また本システムでは、恣意的な評価を回避して公平な評価をするために、ネットワーク100の参加者のノード群から、サービスSに応じて、例えばランダムな配置の複数のノード(それによるグループ)が、評価対象(相互評価対象)として設定(選択)される。例えば、ハッシュ処理を用いて、ノードのIPアドレスA等のハッシュ値Bが近い所定の範囲の複数のノードが1つのグループとされる。また、公平な評価をするために、ネットワーク100の参加者のノード群から、サービスSに応じて、例えば所定のアルゴリズムにより選択されるランダムなノード(後述のNB等)が、評価主体となる。
【0026】
また、ユーザのノードが利用及び提供するサービスS(ストレージサービス等)だけでなく、本システムの仕組みを構成する評価等の各種の処理機能についても、特定のサービスSの処理(複数のノードによるグループを用いて行われる処理)として実現される。
【0027】
サービスSは、基本的なストレージサービスとコンピューティングサービス(計算サービス)とを含む。ストレージサービスは、複数のノード(それらで供出される記憶資源)に保存されるデータ(コンテンツ)に対する読み書き等の操作を行うことができるサービスである。計算サービスは、複数のノード(それらで供出される計算資源)に対して、計算の指示を与え、それによる計算結果データが得られるサービスである。
【0028】
評価機能(評価処理)としては、評価主体のノードは、例えばストレージサービスを提供するグループの各ノード(評価対象のノード)から、正確な応答データを正常に受信できたか否か等の判断により、当該ノードによるサービスSの提供の正確性などを評価する。その評価結果(評価情報P)は、所定のノード(評価処理に係わるグループの複数のノード)に保存され、当該各ノード(評価対象のノード)におけるサービスSの利用の権限やポイントなどに反映される。
【0029】
<概念2−規約>
本システムでは、上記のような、サービスS(資源R)の提供の結果を公平に評価してサービスS(資源R)の利用に反映する仕組みにより、ユーザに対して、資源R供出によるサービスS提供を促す。ユーザ(そのアイデンティティ)は、自ノードでの資源R供出によるサービスS提供の実績や品質を高めるほど、評価が上がり、他ノードのサービスSを利用するための権限やポイント等が向上する。逆に、ユーザ(そのアイデンティティ)は、他ノードのサービスSをより利用したい場合、自ノードでの資源R供出によるサービスS提供の実績や品質を高める必要がある。本システムでは、上記仕組み(公平性やインセンティブの設計)により、適切なノードの参加を促して、不適切なノード(恣意的な、例えば悪意のあるノード)の排除を促すことができる。即ち、本システム環境では、参加者のノードによる自発的な実装の最適化を促進でき、それと共に、ノード群の多様な実装の構成により、単一の実装が支配的になることによって一部の実装の脆弱性が環境全体に悪影響を及ぼすこと等を防ぐことができる。
【0030】
本システム環境において、ノード群のサービスS(資源R)の提供と利用のバランスをとり、公平性などを確保するために、参加者(ノード)が遵守すべき規約(上記概念1を含む)を有する。本規約の目標の1つとして、大多数の参加者のノードが本規約を遵守することにより、本規約を遵守しない参加者のノード(不適切なノード)による実装(群)が本システム環境から自動的に排除されることがある。本システムのノードは、本規約を反映(実装)した構成(図2のモジュール10)を持つ。
【0031】
本システムは、参加者のノードが規約を正しく遵守していることを評価する仕組みを有する。この仕組みとして、特に、ノードによるサービスS(資源R)の提供による貢献を正確性などによって評価するものである。
【0032】
<概念3−アイデンティティ>
本システムの参加者(ユーザU)は、サービスS(資源R)の提供と利用のバランスをとるためのアイデンティティを保有する。1つのアイデンティティに対し、1つ以上(n個)のノードNが所属(配置等)することができる。アイデンティティは、ユーザU、ノードN、資源R、ポイントPなどと関連付けられる。アイデンティティ(それに所属するノードN)は、所定の認証(証明書C)により確認される。認証(証明書C)は、例えば公開鍵を利用した電子証明書の技術による。
【0033】
なお説明上、簡単のため、評価対象やポイントPなどについては、適宜、アイデンティティ単位ではなくノードN単位で考える。例えば、評価対象がノードNであり、ノードNがポイントP(及び証明書C等)を持つ、といったように説明するが、正確には、ノードNの所属するアイデンティティが対象である。
【0034】
本システムは、完全分散型であり、アイデンティティを集中管理する仕組み(特殊なノードなど)を持たない仕組みである。この仕組みにおいて、アイデンティティの乱造等(例えばサービスS利用のみのただ乗り等)を防止するために、アイデンティティは、実社会における何らかの有限な資源と対応付けされる。この有限な資源として、参加者のノードN(コンピュータ)のIPアドレスA及び資源R等を、アイデンティティと結びつける。これにより、アイデンティティの乱造等を防止する。
【0035】
参加者(ユーザU)のアイデンティティ(及びそれに所属するn個のノードN)は、基本的に、参加者自身が発行する証明書C(自己発行方式の証明書)によって識別(認証)される。参加者は、アイデンティティとして、資源Rを提供/利用するn個のノードNを参加(所属)させることができる。n個のノードは、提供のみを行うノード、利用のみを行うノード、両方を行うノード、等を含んでもよい。これらn個のノードNに対して、1つの証明書C(アイデンティティ証明書)を発行する。n個のノードは、それぞれ異なるIPアドレスAが設定される。
【0036】
またノードは、アイデンティティ(当該アイデンティティ(ユーザU)が発行した証明書C)に所属することを証明するための機能(図2の証明機能11)を保有する。例えばある第1のノード(図2の他ノード証明機能11b)から、ある第2のノード(図2の自ノード証明機能11a)に対してアイデンティティ(その証明)を要求すると、当該第2のノード(そのアイデンティティ)の証明書Cの秘密鍵でデジタル署名された署名付きメッセージが第1のノードに返される。この署名付きメッセージは、「このノードの実行者はこの公開鍵(秘密鍵)の所有者である」旨を記載したメッセージである。このメッセージの検証により第1のノードは第2のノードのアイデンティティを確認できる。
【0037】
参加者のアイデンティティ(そのノード)は、事前に公開鍵(証明書Cにより証明される公開鍵)を公開する。また、アイデンティティは、上記公開鍵と鍵ペアになる秘密鍵を秘匿保持する。アイデンティティは、秘密鍵(それによる署名付きメッセージ)を用いて、当該ノードのアイデンティティを証明する。これにより、当該アイデンティティは、他者から同定される。
【0038】
サービスS提供の評価における評価情報P等の情報は、上記証明書Cに基づいて、各ノードN単位及びそれを包含するアイデンティティ単位(ユーザU単位)等で管理される。上記アイデンティティの管理(証明機能11等)により、ノード(ユーザU)は、アイデンティティとそれに纏わる権利などを継承することができる。例えばアイデンティティに所属するノードNのIPアドレスAが変更された後においても、以前のIPアドレスAのノードNでの貢献(評価情報P等)やサービスS(資源R)の提供−利用に係わる権限・ポイント等を引き継ぐことができる。ノードNのアイデンティティの証明書Cは、ノードNのIPアドレスAが変わっても不変である。
【0039】
<概念4−評価方式>
本システムのネットワーク100上、アイデンティティ(ノード)におけるサービスS(資源R)の提供と利用のバランスを確保、管理するための仕組み(評価方式)及びその主体(ノードやその機能)を設ける。
【0040】
本システムでは、図3、図4のように、サービスSに関する、利用(NA)、実行等(NB)、提供(NC)、評価等(ND)といった各ノード状態(機能)のノード間で処理が行われる。各ノードは、その都度の処理・状態に応じて機能(図2の21〜24)を切り替える。例えばノードNBは、サービスの実行の制御の際にはNB機能22を用いた処理を行い、評価に係わる処理の際にはND機能24を用いた処理を行うように切り替える。
【0041】
ノード(サービス提供ノードNC)によるサービスS(資源R)の提供の行為を正しく公平に評価するために、サービス利用ノードNAは、所定のアルゴリズムに従って決定されるノード(NB,ND等)を経由して、サービス提供ノードNCによるサービスSを利用する。
【0042】
本実施の形態では、評価主体として、所定のノード(NB,ND等)を用いて、最終的なサービス提供ノードNC(そのアイデンティティ)を評価対象として、当該ノードNCによるサービスSの提供に係わる評価を行う。特に、第1の評価方式では、サービス実行ノードNBにより評価処理を行い、第2の評価方式では、サービス評価ノードNDにより評価処理を行う。
【0043】
評価処理の対象は、ノード(グループの複数の各ノード)によるサービスSの提供の行為における貢献度(実績)や正確性、品質その他である。正確性の評価については、簡単には例えば、ノードNB−NC間における正確な応答の有無を2値的に判断することによる。また2値に限らず、上記提供(応答)の品質を多値で評価してもよい。例えば、応答時間(要求−応答に要した時間)の判断や、応答データの内容を正確な応答データと比較した場合の相違の程度の判断などによる。
【0044】
また、評価処理としては、評価主体のノード(NB)は、サービスS(例えばストレージサービス)に応じたグループの複数のノードNCによる応答結果(例えばデータD)を、相互比較して、多数決的に、正確性などを判断、評価する。即ち例えば、一番多数の応答結果を正しい応答とみなし、他(少数)の応答結果を誤った応答とみなす、等である。
【0045】
そして、評価情報Pに関し、上記応答結果に応じて、例えば、当該正しい応答のノードNCの評価値(ポイント)を上げる(または維持する)。また、当該誤った応答のノードNCの評価値(ポイント)を維持する(または下げる)。評価方式としては、正しい応答のノードの評価値を上げる形態(それに応じてサービスS利用の権限やポイントが上がる形態)としてもよいし、誤った応答のノードの評価値を下げる形態(それに応じてサービスS利用の権限やポイントが下がる形態)としてもよい。
【0046】
また、評価方式(評価情報Pの形態及びサービスS利用の制御の形態)としては、上記サービスSの提供の評価による評価値またはそのレベル等(提供ポイントpとする)を評価情報Pとして保存し、当該提供ポイントpの高低に応じて、サービスSの利用に関する権限やポイント等(利用ポイントqとする)を与える方式とする(方式A)。例えば利用ポイントqの状態や増減に応じてサービスS利用が制御されるが、サービスS利用に応じて提供ポイントpの方は変動しない。即ち、単純には例えば、通常時、当該利用ポイントpが閾値以上であればサービスS利用を許可し、(評価の低下により)当該利用ポイントpが閾値未満であればサービスS利用を不許可にするといった制御が考えられる。同様に、当該利用ポイントpを減少することで所定単位のサービスS利用を許可する制御などが可能である。また例えば、提供ポイントpに応じて、サービスS利用のレベルなど(例えば提供の品質、優先度など)を変える制御も考えられる。
【0047】
また、他の評価方式として、上記サービスSの提供の評価による提供ポイントpを、サービスSの利用に関する利用ポイントqとしても捉える方式としてもよい(方式B)。即ち、電子貨幣やポイントサービス方式などと同様に、サービスS提供単位(評価の向上)毎に当該ポイントP(p=q)を増やし、サービスS利用単位毎に当該ポイントP(p=q)を減らす(消費する)ような方式である。
【0048】
評価情報(ポイント)Pの形態としては、上記pとqを分けて管理し、pからqを演算等により決定する形としてもよい。
【0049】
また、自ノード内に自ノードに関する評価情報(ポイント)P等の情報を保持しない仕組みにより、例えば悪意ある参加者が当該ポイントを改ざん等してサービス利用すること等が防止される。なお、上記改ざん等の情報セキュリティ上の問題が解決できるのであれば、自ノード内に自ノードに関する評価情報Pを保持して参照可能にする形態としてもよい。
【0050】
<ネットワーク>
上記に基づき詳細な形態について以下に説明する。図1において、本システムにおける、参加者(ユーザU−アイデンティティ)のノードN(群)によるネットワーク100を示している。いくつかのノードN(例:N1〜N8)のみを概略的に示す。N1に限らず、各ノードNi毎に、ユーザUi(アイデンティティ、証明書Ci)、IPアドレスAi、そのハッシュ値Bi,評価情報(ポイント)Pi、管理情報Mi、等が対応付けられるとする。なおノードNi毎の評価情報Pi等の情報は、自ノードNi内ではなく、他ノード(後述のND)内に保持・管理され、必要に応じてその情報が参照される。
【0051】
ネットワーク100は、IPネットワーク等により、ノードN間が通信リンク(破線)により直接的または間接的に接続され相互に通信可能である。本システムへの参加者となるユーザU(そのアイデンティティ)は、n個のノードNを配置(参加)させることができるが、単純な場合としては、1アイデンティティ−1ノードとして考えればよい。
【0052】
<ノード、モジュール>
図2において、ノードNの構成例を示す。各参加者のノードNは、本システムの仕組みを実現するモジュール10がインストールされる、例えばPCなどのコンピュータである。モジュール10は、プログラム等による構成であり、ノードNにより実行される。ユーザUは、ノードN(モジュール10)を稼働させた状態(ネットワーク100に接続した状態)において、外部(他ノードN)にクラウド的なサービスS(その構成のための資源R)を提供し、また、外部(他ノードN)のサービスS(資源R)を利用する。その提供と利用は、その都度、ユーザUにより選択や設定ができる。
【0053】
ノードNは、IPアドレスAとポートのセットを持ち、その値により識別可能であり、ノードN間で通信可能である。ノードNは、ハードウェア101(CPU、メモリ、ディスク、IO(周辺機器)など)、及びソフトウェア102(OS、ミドルウェア、サーバ、ブラウザ、アプリケーションなど)を備える。これらが記憶資源103や計算資源104に相当する。
【0054】
モジュール10は、証明機能11、ハッシュ処理機能12、サービス機能13、資源供出機能(設定機能)14、情報管理機能15などを有する。また、モジュール10は、各ノード状態(後述のNA〜ND等)に応じた処理機能として、サービス利用機能(NA機能)21、サービス実行機能(NB機能)22、サービス提供機能(NC機能)23、サービス評価機能(ND機能)24などを備える。また、ノードNは、管理情報(M)50、証明書(アイデンティティ/ノード証明書)(C)51、ログ情報(L)53、評価情報(P)54、等の情報データを保持する。
【0055】
証明機能11は、ノードN及びそのアイデンティティに関する証明(認証)に係わる処理機能であり、自ノード証明機能11a、他ノード証明機能11bなどを有し、証明書(C)51等を管理する。自ノード証明機能11aは、自ノードの証明書(C)51を発行する処理等を行う(他ノードからの要求に対して自ノードを証明する場合)。他ノード証明機能11bは、他ノードの証明書51を認証(確認)する処理等を行う(自ノードから要求して他ノードを証明させる場合)。なお、証明書(C)51における公開鍵情報は外部に公開され、秘密鍵情報は自ノード内に秘匿される。
【0056】
証明機能11は、前述したノードNがユーザUのアイデンティティとそれに纏わる権利等を継承することができる機能を構成する一部である。ノード(例えば新規参加ノード)は、証明機能11等を用いることにより、自ノードに関連付けられるアイデンティティとその権利等(評価情報P等)を継承することができる。
【0057】
ハッシュ処理機能12は、各種のサービスS(そのサービスタイプT)と、その処理主体(アクセス先)となるノードNのグループとの対応付け等のためのハッシュ処理(ハッシュ関数を用いた処理)を行う。
【0058】
サービス機能13は、基本的なストレージサービス13a(サービスタイプT1)の処理や、コンピューティングサービス13b(サービスタイプT2)の処理や、それらを用いた応用的なサービス13c(サービスタイプTx)の処理を、供出資源R(記憶資源43、計算資源44等)を用いて行う。例えば、記憶資源43におけるストレージサービス(T1)13aの処理では、外部のノードNとの通信(要求−応答)が行われ(a)、ID(識別子)で識別されるデータD(コンテンツ)に対して読み書き等の操作が行われる。例えば、計算資源44における計算サービス(T2)13bの処理では、外部のノードNとの通信(要求−応答)が行われ(b)、IDで識別されるデータD(コンテンツ)に対する操作(オペレーションO)が行われ、その結果のデータD’が返される。
【0059】
資源供出機能14は、自ノードNのハードウェア101及びソフトウェア102による資源R(記憶資源103、計算資源104等)をもとに、サービスSの提供のために供出する資源R(記憶資源43、計算資源44など)を設定する処理などを行う。例えば参加者(ユーザU)は、自分が保有している資源R(利用などの権利を持つ資源R)のうち、どの程度まで当該資源を供出するか、その資源の量や稼働時間などを、自由に設定することができる。
【0060】
情報管理機能15は、本システムの仕組みを管理するための管理情報(M)50などを作成、管理する。また、情報管理機能15は、適宜、外部のノードNと通信して管理情報(M)50や評価情報(P)54等の情報データを授受することができる(c)。
【0061】
また、サービス実行機能22やサービス評価機能24は、ログ情報(L)53や評価情報(P)54を、外部のノードと通信して授受する(d)。
【0062】
またその他、ノードNまたはモジュール10は、本システムの各種機能をユーザUが操作しやすくするためのグラフィカルユーザインタフェース機能を、Webブラウザ等を利用した形で備えてもよい。
【0063】
<クラウドコンピューティングサービス>
本システムにおいて、基本的なクラウドコンピューティングサービス(クラウド的なサービスS)の機能について説明する。このサービスS自体の仕組みは、既存技術と基本的に同様である。本サービスSは、基本的なものとして、ストレージサービス13aとコンピューティングサービス(計算サービス)13bとを含む。それぞれ識別のためのサービスタイプTを、T1,T2とする。サービス毎に異なるサービスタイプT等の情報が設定され管理情報Mに管理される。
【0064】
(1)ストレージサービス13a(T1): 対象となるコンテンツ(データD)(それを一意に識別するID)に対して、読み書き等(作成・参照・更新・削除等)の操作を行うことができるサービスである。対象データDは、サービス提供ノードNCの供出する記憶資源43を利用して保存される。同じグループ内の複数のノードNCに対象データD(複製)が保存される。
【0065】
(2)コンピューティングサービス13b(T2): サービス提供ノードNC(その供出する計算資源44)に対して、対象のコンテンツ(データD)と操作(オペレーションO)の組(計算要求)が与えられ、当該ノードで当該データDに対し当該オペレーションOを適用した結果(計算結果)を新しいコンテンツ(データD’)として応答するサービスである。
【0066】
参加者のノード(IPアドレス+ポート)において、資源Rを供出することにより、少なくとも上記基本的なサービスS(T1,T2)を提供する。またこれら(T1,T2)を組み合わせて用いることにより、応用的なサービス13c(Tx)を構成し提供することが可能である。これらのサービスSの提供における正確性などが評価対象となる。
【0067】
また、本システムにおける各種のサービスや処理は、クラウドコンピューティングにより実現されるサービスSである。即ち、いずれのサービスSにおいても、アクセス先となるグループ/範囲における複数(3つ以上)のノードにおいて当該サービスに係わる同様の処理が行われる。当該グループ/範囲は、後述の所定のアルゴリズム(ハッシュ処理)によって決定される。本システムで特徴的な、評価機能などの処理についても、特定のサービスS(サービスタイプT)の形で処理する。
【0068】
上記サービスSの利用の際は、サービスタイプTや対象データD(そのID)やその操作等を指定して要求することにより可能である。なお具体的なサービス提供ノードNCのIPアドレスA等を指定、意識する必要は無い。
【0069】
<モデル、処理の流れ>
図3,図4を用いて、本システム(ネットワーク100)におけるノード群によるサービスSの実行時(利用(要求)、提供(応答)、評価等)における一連の処理の流れやモデルについて説明する。図3,図4では、ユーザU1のノードN1(NA)から、サービスS(例えばストレージサービス(T1))を利用する場合における、各状態のノード(NA,NB,NC,ND)の接続関係の例を示している。図3は特にサービス提供ノードNCとなるグループG1を示す。図4は特にサービス評価ノードNDとなるグループG2を示す。
【0070】
ノードNA(N1)は、NA機能21により、クラウド的なサービスSを要求して利用するノードであり、「サービス利用ノード」と称する。ノードNC(例えばN3(NC1),N4(NC2),N5(NC3))は、NC機能23により、クラウド的なサービスSを提供するノードであり、「サービス提供ノード」と称する。
【0071】
ノードNB(例えばN2)は、ノードNAによるサービスSの利用と、ノードNCによる当該サービスSの提供との間に介在(経由)するノードであり、「サービス実行ノード」と称する。ノードNBは、NB機能22により、サービスSの実行を制御し、ノードNCによるサービスSの提供を把握してログ情報Lとして記録すると共に、当該提供(応答)を評価処理して評価情報Pとして記録し、これらの情報をノードNDに送信して保存させる。
【0072】
ノードND(NDa,NDc)は、ND機能23により、サービス提供ノードNCに関する評価情報P等を保持し、またノードNBからの要求(参照)に応じて当該評価情報P等を確認または提供するノードであり、「サービス評価ノード」と称する。ノードNDc(例えばN6)は、図3のノードNC(グループG1)に関するログ情報L(Lc)及び評価情報P(Pc)を保持するノードである。評価情報Pcの中には、グループG1の各ノード(N3〜N5)の評価情報(ポイント)(P3〜P5)が含まれている。同様に、ノードNDa(例えばN8)は、図3のノードNA(N1)(当該ノードがNC状態の時)に関するログ情報L(La)及び評価情報P(Pa)を保持するノードである。評価情報Paの中には、当該ノードN1の評価情報(ポイント)P1が含まれている。
【0073】
例として、以下、ストレージサービス(T1)の実行の場合の流れ(201〜204)を説明する。対象データ(コンテンツ)及びそのIDをDaとする。操作は、対象データDaの保存(書き込み)や参照(読み出し)等、いずれの場合も同様である。データDa(複製)を保有する複数(例えば3つ)のノードNC(例:N3〜N5)を有する。また評価方式としては、ノードNBで評価処理を行う場合であり、ノードNDに評価情報Pを保存して参照可能とする場合である。また、ノードNA,NBは1つの場合であり、ノードNC,NDは複数(3つ以上)の場合である。なお各ノードの証明(認証)は前述の証明機能11(証明書C等)を用いて随時行われるが説明は省略する。
【0074】
第1に、201(a1,a4),203(a2(a2−1〜3),a3(a3−1〜3))の流れは、NA−NB−NC間でのサービスSの要求−実行−応答の処理を示す。一方、第2に、202(b1,b2),204(b3(b3−1〜3))の流れは、上記第1の処理に伴う、NB−ND(NDa,NDc)間における評価に関する処理を示す。NDaはNA(N1)に関する評価情報(Pa)等の確認(特に利用ポイントqに関する制御)の処理に係わり、NDcはNC(G1)に関する評価情報(Pc)等の保存(特に提供ポイントpに関する制御)の処理に係わる。処理順序の例としては、{a1,b1,b2,a2,a3,a4,b3}である。
【0075】
(1)(a1:サービス要求): サービス利用ノードNA(N1)(そのNA機能21)から、サービス実行ノードNB(N2)(そのNB機能22)へ、サービスSの利用要求を発行・送信する。この要求には、[サービスタイプ(T1)+ID(Da)]等の情報(その他、適宜、書き込みデータ、操作の指示等の情報)が含まれる。例えば、NA(N1)は、管理情報M(M1)の参照に基づき、アクセス先となるNBを決定してアクセスする。
【0076】
(2)(b1,b2:評価情報確認): サービス実行ノードNB(N2)は、NAからのアクセス(a1)に対し、管理情報M(M2)の参照に基づき、まず、ノードND(NDa:NA(N1)に関する評価情報Pa(P1)を保持しているノード)に対して、当該NA(N1)に関する評価情報Pa(P1)等の確認のためのアクセス・要求(b1)を行う。本実施の形態では、ノードNBのNB機能22(またはND機能24)は、ノードNDa(ND機能24)にアクセスし、当該ノードNAの評価情報Paを確認し、当該サービスSの実行を制御する。なお当該評価情報P等の確認の処理についても所定のサービスSとして実現され、アクセス先は所定のグループG3の複数のノードNDaとなる。
【0077】
上記アクセス(b1)に対し、例えば、NDa(N8)は、管理情報M(M8)及び評価情報Pa(P1)の参照に基づき、当該ノードNA(N1)(そのアイデンティティ)が現在のポイントP1等(利用ポイントq)に応じて当該サービスSの利用が許可されるか否か(権限)等を確認する。あるいは、他の方式では、NDaは、当該サービスSの利用のために当該ノードNA(N1)のポイントPa(P1)(利用ポイントq)を消費する処理などを行う。そして、NDaからNBへ、その確認の結果(例えばOK(許可)/NG(不許可))を送信する(b2)。OK(許可)であれば、それ以降の処理(a2以降)が行われる。なおNDaでの確認は、b2(Paを取得する)の後にNBで行ってもよい。
【0078】
(3)(G1(NC)の決定): 次にノードNB(N2)(そのNB機能22)は、管理情報M2の参照に基づき、当該サービスS(T1)(対象データDa)を提供する、アクセス先となる複数のノードNCのグループG1を、ハッシュ処理(入力値[T1+Da])により決定(確認)する。これはハッシュ処理機能12を利用する(詳しくは後述)。これによりアクセス先となる各ノードNC(例:NC1〜NC3)のIPアドレスA(A3〜A5)等が認識される。上記処理の際にNB(N2)が参照する管理情報M2では、例えば、[T1+Da]を含む情報を入力値としたハッシュ処理により、複数のノードNCのグループG1が対応付けられ、各IPアドレスA(A3〜A5)が得られる。
【0079】
(4)(a2:サービス実行(要求)): NB(NB機能22)は、アクセス先のグループG1の複数(3つ)の各ノードNC(NC1〜NC3)(データDaを保有するノード)に対し、並列的に、サービスSの提供の要求を送信する(a2−1〜3)。当該要求には、サービスタイプT1,ID(Da),操作指示等の情報が含まれる。例えばデータDa自体の参照(読み出し)の要求である。なお上記並列的なアクセスは、サービスタイプTに応じて、同時実行の場合、順次実行の場合などが可能である。またサービス自体は、1つでも正しい応答がNCから得られれば、NAへ応答(a4)をすることができる。
【0080】
(5)(a3:サービス提供(応答)): NBからの要求(a2)を受けた各ノードNC(NC機能23)は、稼働状態の場合において、自ノードの記憶資源43における、IDにより指定されるデータDaに対する指定の操作(例えば読み出し)を行い、その結果(例えばデータDa自体)をNBへ応答として送信する(a3−1〜3)。NBは、各NC(NC1〜NC3)からの応答を受信する。ただし、NCが非稼働状態、高負荷状態、NB−NC間の通信リンクが障害状態、などの場合には、正確で迅速な応答は得られない。また、その時点のノードNCの状況(例えば非稼働状態)によっては、当該対象データDaを更新できない場合もあるが、少なくとも1つのノードNCで当該データを更新できれば、その後、当該グループG1内のノードNC間で当該データを授受(コピー)することにより(205)、各ノードNCで当該データDaを保持することができる。
【0081】
(6)(a4:サービス応答): NB(NB機能22)は、グループG1の各NC(NC1〜NC3)からの応答をもとに、要求元のノードNAへ、当該応答(正確な応答データ)を送信する。NA(NA機能21)は、当該応答を受信する。
【0082】
(7)(評価処理): ノードNBは、上記処理(a3,a4)を行うと共に、ノードND(グループG2)との間で、ノードNC(サービスSの提供)に関する評価に係わる処理を行う。まず、NB(NB機能22)は、G1の各NCによる応答の状態・結果を含む、当該サービスS(T1)の実行(201,203)の状態・結果に関して、ログ情報L(Lc)を記録する。また、NB(ND機能24)は、G1の各NCの応答結果(a3−1〜3)について評価処理を行う。詳しくは例えば、NBは、各NCの応答結果を集計し、多数決的な判断に基づいて、各NCの応答の正確性を評価する。例えば各NCからの応答結果が同一であることをもって、正しい応答内容であることが確認できる。またNBは、例えば各NCから正確な応答(そのデータ)を正常に(迅速に)受信できたか(OK)否か(NG)を2値で判断し、それにより当該ノードNCの評価値(提供ポイントp)を増減する。計算サービス(T2)の場合にも、他の応用的サービス(Tx)の場合にも、同様な考え方で評価可能である。NBは、上記評価処理の結果により評価情報P(Pc)を作成し、例えばログ情報L(Lc)と共に、またはその一部として、記録する。なお並列的な複数のノードNC間での相対的な比較評価に限らず、個別ノードNC単位の応答の絶対的な評価をしてもよい。またサービスSの内容(サービスタイプT)に応じて、そのサービスSの品質を判定してもよい(例えば動画配信サービスであればその動画データの品質や、応答時間の長短など)。上記NBによる評価情報Pは、評価方式に応じて、例えば当該ノードNCの評価値(提供ポイントp)の増減を表す情報である。例えば応答がOKのノードは+1、等である。
【0083】
(b3:評価情報の保存): NB(そのND機能24)は、上記評価処理に基づき、上記ログ情報Lc及び評価情報Pcを、所定のグループG2の複数の各ノードND(NDc)(そのND機能24)へ送信(コピー)して保存させる。なお各NDはb3に対する応答をNBへ返してもよい。この評価情報P等の保存の処理についても、所定のサービスS(サービスタイプをTdとする)として実現され、当該処理の際にアクセス先となる複数のノードNDcによるグループG2(例えば図4の3つのノードND1〜ND3)についても、前述同様に、所定のハッシュ処理(入力値:例えば[Td]を含む)により決定される。なおNDとして、NCとは異なるノードが選択、決定される。
【0084】
グループG2の複数の各ノードNDc(例えばN6)(そのND機能24)は、内部に、NC(G1)に関するログ情報Lc及び評価情報Pcを保存(登録)する。評価情報Pcには、各NC(例:N3〜N5)に関するポイント(例:P3〜P5)が含まれる。なお、その時点のノードNDの状況(例えば非稼働状態)によっては、当該ログ情報Lc及び評価情報Pcを保存できない場合もあるが、少なくとも1つのノードNDcで当該情報を保存できれば、その後、当該グループG2内のノードNDc間で当該情報を授受(コピー)することにより(305)、各ノードNDcで当該情報を保持することができる。上記NDによる評価情報Pは、評価方式に応じて、例えば当該ノードNCの評価値(提供ポイントp)の絶対値(現在値)であり、NBからの評価情報P(増減量)を加算することにより更新される。
【0085】
図4で、NBからNDcへのアクセス(b3、204)として、グループG2の各ノードNDc(例えばND1(Nx),ND2(Ny),ND3(Nz))へのアクセスb3−1〜3となる。NDc(Nx〜Nz)は、それぞれIPアドレスAがAx〜Az、ハッシュ値BがBx〜Bzとする。上記保存の処理(Td)の際にNB(N2)が参照する管理情報M2では、例えば、所定のサービスタイプ(Td)を含む情報を入力値としたハッシュ処理により、複数のノードNDcのグループG2が対応付けられ、各IPアドレスA(Ax〜Az)が得られる。
【0086】
上記NDc(G2)で保持される評価情報Pcは、NC(N3等)に関するものであるから、当該NC(N3等)がNA機能21によるNA状態として他のNB(例えばN9)を介して何らかのサービスSを利用する際に(311)、前述の202と同様に参照される(312)。なお上記例において、他の評価方式では、NBでは評価処理を行わずにログ情報Lcの記録及び保存までを行い、NDcではそのログ情報Lcをもとに評価処理を行い評価情報Pcを保存する、といった形態となる。
【0087】
<ハッシュ処理(サービスとノードのマッピング)>
次に、図5を用いて、ハッシュ処理について説明する。図5(a)は、本システムへのノードの参加・登録時における管理情報Mの構成のためのハッシュ処理の例を示す。図5(b)は、上記登録以降のサービスS実行時における管理情報Mの参照に基づくハッシュ処理の例を示す。本実施の形態では、ネットワーク100上でサービスSの処理を行う対象(アクセス先)となる複数のノード(範囲/グループ(前述のG1,G2等))を選択・マッピングするための仕組みとして、ハッシュ関数による処理(ハッシュ処理)を用いる。
【0088】
基本的な制御として、参加ノードのIPアドレス値A等を入力値としたハッシュ値Bをとり、管理情報Mに登録する。また、サービスタイプTやID等を入力値としたハッシュ値Bを用いて、サービスSと、それを処理する範囲/グループ(G)となる複数のノードとを対応付ける。ハッシュ処理を用いることにより、そのハッシュ関数の特性にも依るが、ネットワーク100上におけるグループの複数のノード(例えばNC)は、概ねランダムでばらばらな分布になる。即ちネットワーク100(ノード群)で処理が分散される。
【0089】
サービスSの利用の際には、異なるサービスタイプT等の情報をハッシュ関数の入力値とすることにより、異なる出力値が得られる。即ち、サービスS毎に異なるアクセス先の範囲/グループ(G)の複数のノードが選択、決定される。なお、ハッシュ関数の入力値にする情報として、サービスタイプTやIPアドレスA等に限らず、多様な情報を用いることができることは言うまでもない。また、マッピング用に、異なる種類の関数(ハッシュ関数など)を用意すれば、同じ入力値でも異なる出力値を得ることができる。
【0090】
<ハッシュ処理(a)>
図5(a)で、ネットワーク100へ新規に参加するノード(アイデンティティ)を登録(配置)する際、管理情報Mに、当該ノードに関する情報が登録される(各ノードが持つ管理情報Mを更新する)。当該ノードのIPアドレス値Aを、所定のハッシュ関数(H1)に入力し、その出力のハッシュ値B(IPアドレスハッシュ値)を得る。H1によるハッシュ値Bは、所定の数値範囲(例えば0≦B≦1)に正規化される。図5(a)では、所定の数値範囲のリング(リングバッファ)上の各点がB値を示す。ハッシュ(H1)により、入力値となる、ネットワーク100上の遠近を表す連続的なIPアドレスA(群)は、出力値となる、ばらばらなハッシュ値B(群)に変換(マッピング)される。
【0091】
ハッシュ関数H1は、入力データ値から、その代表的な数値を出力ハッシュ値として得る、所定の特性の関数である。本実施の形態では、H1の特性として、連続的な入力値群から不連続的な出力値群を得る不連続性を持つ。また、同じ入力値から同じ出力値を得る決定性を持つ。また例えばマッピング(出力値の分布)がなるべく出力値範囲の全体に分布するような一様性を持つ。なお、他の形態として、ハッシュ関数に限らず、上記のように連続値(A)を不連続値(B)にマッピングする等の特性を持つ他の所定の関数を適用できる。
【0092】
図5(a)の例では、ネットワーク100上のランダムなIPアドレス値Aとして、図3の例の3つのノードNC(N3〜N5)の各IPアドレス(A3〜A5)は、それぞれH1により、B3〜B5(B4の近隣値)になったとする。逆に言えば、B値の空間における所定の近隣範囲501(例えばB4の近隣値であるB3〜B5)をとったとき、その元となる、ばらばらなIPアドレスA(A3〜A5)が得られる。
【0093】
上記ハッシュ処理によるA→Bのマッピングの情報は、A−Bの双方向的なマッピングの情報として管理情報Mに登録される。各ノードは、ネットワーク100全体のノード群に関する管理情報Mを保持してもよいが、特に全ノードに関する情報を持つ必要は無く、各ノードが自ノードの近隣範囲(グループ)のノードに関する情報を保持し、ノード間で管理情報Mを授受する通信を行うことで、適宜最新の情報に更新する形態とすればよい。上記自ノードの近隣範囲(グループ)として、例えば図5(a)のようなB値の空間での所定の近隣範囲を対応付ける。
【0094】
<ハッシュ処理(b)>
図5(b)で、上記設定以降におけるサービスS実行時におけるハッシュ処理を説明する。例えば前記図3で、NB(N2)は、NA(N1)からのサービスS(T1)の要求に対し、管理情報M2を参照し、要求されているサービスS(T1)で対象データDaを操作するためのアクセス先となる複数のサービス提供ノードNC(グループG1)を、ハッシュ処理により決定(確認)する。
【0095】
NB(ハッシュ処理機能12)は、例えば[T1+Da]をハッシュ関数H1に入力し、その出力値hを得る(Bと同様に所定の範囲(0≦h≦1)に正規化される)。そのh値を、図5(a)のリング上のB値に対応付ける。そして、そのh≒B値に関する所定の近隣範囲502(例えば前後を含む3つの近傍値)をとる。例えば、当該h値に一番近いB値がB4であり、その前後の一番近い値がB3,B5だったとする。これを所定の範囲/グループ=G1として対応付ける。即ちG1={B3(A3),B4(A4),B5(A5)}となる。
【0096】
管理情報Mの参照により、G1の複数(3つ)のB値に関して、対応するIPアドレス値Aを持つ複数のノード(例えばN3〜N5)が得られる。そして上記G1は、当該ストレージサービス(T1)でデータDaを保有・提供する、アクセス先となる複数のサービス提供ノードNC(NC1〜NC3)として対応付けられる。
【0097】
なお、上記(T1,Da,G1(NC)等)の対応付けは、管理情報Mに登録しておいて適宜参照する形態(毎回のハッシュ処理の省略)としてもよいし、サービス実行時毎に計算して再現する形態(同じハッシュ入力値などとすることで再現可能)としてもよい。また、ハッシュ関数(H1)への入力値(例えばサービスタイプT)を変えて上記同様に処理することで、異なる複数のノードによる範囲/グループ(G)を選択・マッピングすることができる。
【0098】
<効果等>
本実施の形態1のシステムによれば、参加者のノードでのサービスSの提供(貢献度や正確性など)に応じて評価が高まり、評価に応じてサービスSの利用の権限やポイントなどが高まるといったように、公平性や参加インセンティブを考慮した仕組みにより、多数・多様なユーザの参加を促すことができ、サービスS(資源R)の利用と提供のバランスによる効率化をもたらすことでシステム環境全体を良好に発展させることができる。また、ストレージサービス等に限らず、応用的なサービス、例えば動画再生サービス等、リアルタイムで大量処理が必要となる場合にも有効に適用できる。
【0099】
(実施の形態2)
以上を踏まえ、更に、本発明の実施の形態2のシステム(クラウドコンピューティングシステム)について説明する。実施の形態2は、システム構成として、実施の形態1のシステム構成をそのまま基本的な前提とし、その上で動作する仕組みとして追加的な要素が加わる。この要素は、主に、複数の参加者(ユーザU)のアイデンティティ(ノードN)間における、資源R(またはそれによるサービスS)の提供(売り)−利用(買い)の行為(取引)に係る関係の設定、特にその資源Rの売買のサービス(ビジネス)に係る関係の設定、に関する諸機能である。本機能を用いて、参加者のアイデンティティ(ノードN)間に関係(鍵チェーンによる関係)を自由に設定し、売買のビジネス等を自由に可能とする仕組みである。これにより、それぞれ異なるコンピュータ資源・環境を持つユーザ間での資源R等の取引(融通)を可能とし、例えば実施の形態1で説明したポイントP等をユーザ間で取引(移動等)することができる。また、現存の経済と結び付いた売買の取引を可能とし、それにより利益を得ること等も可能となる。
【0100】
実施の形態1では、例えばあるユーザがサービスSを提供して評価情報(ポイント)Pをある程度高めてからでないと、サービスSの利用がしにくいということも考えられる。また正確なサービスS等を提供(公開)していても、評価(ポイントPの増加)に結びつかない場合も考えられる(例えば人気のある一部のユーザのサービスSに集中してそのポイントPが高くなる場合)。この場合、システム内のユーザ間でのポイントPの分布に偏りがある。実施の形態2では、上記関係設定等の仕組みにより、例えばポイントP(提供ポイントp、利用ポイントq)の値が少ないユーザでも、他ユーザとの取引で(自身の資源R等と引き換えに)ポイントPを得ること等ができるので、システムへの参加がしやすい。また実施の形態1で説明したサービスS(資源R)の提供−利用のバランス等の効果についても更に高めることができる。
【0101】
実施の形態2では、ユーザ間の取引で、実施の形態1で扱った評価情報(ポイント)Pを用いる。特に、売買ビジネスを行う形態の場合には、電子貨幣的な売買ポイントとして用い、当該ポイントPを円などの貨幣に交換することができる機能を有する。なお、制御上は、実施の形態1のポイントPから別種のポイントを演算等により決定(対応付け)して用いても構わない。
【0102】
なお説明上の記号として、適宜、エンティティ(アイデンティティと同様の意味)をE、鍵(キー)をk、権利(資源RやサービスSに対応付けられる所定の権利)をK、等とする。また、参加者(ユーザU)、アイデンティティ(エンティティE)、ノードN、証明書Cなど相互に対応関係を持つ要素については適宜それらの一部のみで代表して説明する。
【0103】
<概念1−関係設定>
まず実施の形態2における仕組みや機能(鍵チェーンによる関係の設定、資源売買ビジネス等)の基本的な概念などについて以下である。前述したネットワーク100上で、任意(希望)の参加者(アイデンティティ等)を主体として、任意(希望)の第1種の参加者(資源提供者)から資源Rの提供を受け、また、その資源Rを、任意(希望)の第2種の参加者(資源利用者)に対して提供する、という行為(取引)を自由に可能とする仕組みを有する。上記参加者間での提供−利用の行為(取引)は、無償で行う形としてもよいが、特に、有償(対価有り)で提供(売り)−利用(買い)を行うサービス等の形(ビジネススキーム)を可能とする。
【0104】
説明上、上記の資源提供者を第1種のアイデンティティ(エンティティ:E1)とし、上記の資源利用者を第2種のアイデンティティ(エンティティ:E2)とする。そして上記E1とE2の間に介在してアイデンティティ(ノード)間における資源R(サービスS)の提供(売)−利用(買)の行為(取引)に関する所定のサービス(ビジネス)を提供する所定の参加者を、ビジネスエンティティ(エンティティ:E0)とする。E0,E1,E2に対して、各々対応付けられる証明書CをC0,C1,C2、鍵kをk0,k1,k2、資源RをR0,R1,R2、権利KをK0,K1,K2、等とする(他の記号についても同様)。
【0105】
本仕組みでは、任意の参加者が自分の意思選択に応じて上記各種エンティティ(E0,E1,E2)として参加(及び離脱)が可能である。ビジネスエンティティ(E0)としては、上記アイデンティティ(ノード)間における有償での資源Rの提供(売)−利用(買)の取引に関する情報処理的なサービス(Srとする)を設営することができる(サービスSrの開始や終了は自由に可能)。サービスSrは、E0からみるとE1,E2に対する資源Rの売買であり、E1からみると資源Rの提供(売り)であり、E2からみると資源Rの利用(買い)である。なおサービスSrは前述のクラウド的なサービスSとは意味合いが異なり、例えばクライアントサーバシステムのサービス処理の形(E1,E2がクライアント(要求側)、E0がサーバ(応答側))である。
【0106】
同様に、参加者が自分の意思選択に応じて、資源Rの提供(売り)用のエンティティ(E1)、利用(買い)用のエンティティ(E2)、それら両方を行うエンティティ(E1かつE2)として、参加(及び離脱)が可能である。なお上記E1,E2を分けて説明しているが上記両方を行う1種類のエンティティとして捉えても構わない(情報処理的には同様)。上記E0,E1,E2は、前述の各ノード状態の処理機能(NA〜ND)と同様にその時のノード状態に応じた処理機能になる。
【0107】
上記提供(売)−利用(買)の対象となる資源Rとは、クラウド的なサービスS(実施の形態1)を構成するために用いることができる、ノードNのコンピュータ資源(前述の記憶資源43や計算資源44)である。なお実施の形態1でのサービスSの提供−利用と実施の形態2での資源Rの提供−利用とは意味合いが異なり、例えば実施の形態2での資源Rの提供(売り)とは、第1のユーザの持つ資源R(その権利K)を、対価となるポイントPと引き換えに、別の第2のユーザに与えることである。これにより、第1のユーザは自身のポイントPを増加することができる。また、上記第2のユーザが権利Kを持った資源Rが、実施の形態1のようにサービスSとして利用された場合、その評価により得られるポイントPは、第1のユーザではなく第2のユーザにカウントされることになる。なお実施の形態2では対象を資源Rとして説明しているが、実施の形態1と同様に、資源Rを含んで成るサービスSを対象として捉えても同様である。
【0108】
資源Rは、一般に所定の権利Kと対応付けられ、本システムでは資源Rに対応付けられる権利Kの情報が管理される。ユーザ間での資源Rの提供(売)−利用(買)の行為(その情報処理)は、対応する権利Kの更新や移動(その情報処理)などに対応付けられる。更新とは、権利Kの形態に応じて、例えば資源Rの所有権や利用権などの移動や付与、情報の書き換え等である。資源Rに対応付けられる権利Kの情報は、例えば本システムでの制御のために必要な情報を含む。即ち簡単に言えば本システム中で現在どのアイデンティティ(ノード)がどの資源Rを持つかといった情報を含む。また、権利Kの情報は、例えば、資源Rの所有や利用等の所定の権利・権限に関する、法的な権利の情報に対応した情報処理的な権利管理情報やその制御機構などを含んでもよい。また資源RやサービスS自体に権利Kの情報を持たせる形でもよい。また対象の資源RやサービスSの性質が、他者に対して自由に公開するものである場合などには、権利Kの情報の管理が省略できる。
【0109】
本システム(各ノード)では、複数のユーザにおける上記エンティティ(E0,E1,E2)間の関係(E0−E1の関係、E0−E2の関係)を、後述する鍵チェーンにより自由に設定することができる機能を備える。鍵チェーンは、証明書C及びそれにより証明される鍵k等を用いたデジタル署名などの情報処理技術により実現される。
【0110】
<概念2−サービスSr,決済>
上記資源Rの売買ビジネス等のサービスSrを提供するビジネスエンティティ(E0)は、資源提供者(E1)および資源利用者(E2)に対する決済機能(ないし決済システム)を提供する。即ち、上記サービスSrの処理に係り、現存の経済の貨幣(例えば円)と結びついた決済処理を行うための仕組みを有する。決済処理は、例えば実施の形態2で売買に用いるポイントPと円(¥)との交換の処理や、所定期日での銀行口座引き落とし処理等である。また上記決済機能は、外部の決済機能(例えば本システム専用の決済システムや既存の金融機関等の決済システム)との連携により実現される機能ないしシステムとしてもよい。例えばE0が適宜外部の決済システムと通信して決済処理を実行してもよい。
【0111】
上記決済機能に基づき、サービスSrを提供するエンティティ(E0)は、資源提供者(E1)に対して、提供してもらった資源Rに対する対価を支払う。例えば、E0はE1の資源R1(対応の権利K1)をその時の交換レートに基づく売買ポイントPで買うことにより利用する(即ちE1からE0への権利K1の合算など)。また、E0は、上記E1からの資源R1の利用(買)と共に、資源利用者(E2)から対価の支払いを受けて、E2に資源Rを提供する。例えば、E0はE2に対して自身の利用可能な資源R0(例えばそのうち上記E1から得た資源R1)(対応の権利K0/K1)をその時の交換レートに基づく売買ポイントPで売ることにより提供する(即ちE0からE2への権利K1の分配など)。E2は、上記対価支払いにより得た資源が自身の利用可能な資源R2となる(上記例は図6でも説明)。
【0112】
上記サービスSrでE1からE0へ提供(売)される資源と、E0からE2へ提供(売)される資源とは異なっていてよく、取引のタイミングも別でよい。例えばE0は複数の小さい資源Rを複数のE1から集めて1つの大きい資源RやサービスSを構成してE2へ提供(売)することができ、また逆に、大きい資源R(サービスS)を複数に分割して複数のE2へ提供(売)することができる。
【0113】
これらエンティティ(E1−E0−E2)間における提供(売)−利用(買)のスプレッドによって、E0は利益を得ることができる。E0(Sr)を設けることで、E1は、自身の資源R(例えばストレージ等の遊休資源)をE0へ提供する代わりにポイントP等を得ることができる。E1が得たポイントPは、実施の形態1の評価情報(P)54に対応するので、サービスS(実施の形態1)の利用の条件に反映されることになる。またE1は、そのポイントPを用いて、別途E2として他者の資源Rの利用(買)や、円への交換なども可能である。一方、E2は、自身のポイントP等をE0へ提供する代わりに資源R等を得ることができる。またE2は、その資源Rを用いて、別途E1として他者への資源Rの提供(売)なども可能である。E2が得た資源R2は、その保有元が例えばE1の資源R1であり(図6)、E2は資源R2の権利K2の範囲内でそのE1の資源R1(それによるサービスS等)にアクセス・利用等ができる。またE2はその資源R2(R1)を用いてサービスS(実施の形態1)を構成して提供(公開)することができる。また上記2つの取引をしたビジネスエンティティ(E0)は、上記資源(R1→R0→R2)の売買の交換レートに応じた売買価格差などによって、利益が得られる。
【0114】
上記サービスSrにおける交換レート(時価)は、E0(そのユーザU)が自由に設定・変更等して取引相手などに情報を提示することができる。E1,E2は、E0が提示するレート等を参照して、自身の判断で売買に応じることができる。あるいは、上記レートを自動的に決定してもよい。例えばE0の外部の決済機能等に備えるレート決定機能(プログラム等)が、資源Rの需給の状況などに基づき上記レートを計算により決定し、そのレートの情報をE0が提示してもよい。
【0115】
また、実施の形態2では、上記売買のサービスSrにおける対価の授受は、所定のポイントPでの増減などの情報処理による。例えばE1−E0間の取引で、対象の資源R(権利K)の所定単位を所定のポイントPで売買する。
【0116】
また同じようなサービスSr(売買の対象)を提供する複数のE0が存在する場合、各々レート等の提示が可能であるため、各参加者(E1,E2)は、あるE0の提示レートが不満であれば、別のE0の提示レートで売買ができる。即ち、競争による調整効果(適切な参加者の参入/離脱の促進、価格調整など)が働く。
【0117】
<概念3−鍵チェーン>
実施の形態2では、上記仕組みを実現するための情報処理技術的な手段(実装)として、ユーザ群における各々のアイデンティティを表明する鍵k(証明書Cとそれにより証明される鍵k)に、鍵チェーンによる前述の関係を設定することができる機能を有する。鍵チェーンによる関係を設定する場合、該当エンティティ間で、当該関係に対応した証明書C(及び鍵k)を発行する処理を行う。この処理は、公知のデジタル署名の処理(即ち一方(署名される側)の公開鍵を他方(署名する側)の秘密鍵で署名する処理等)により可能である。上記鍵kは、詳しくは公開鍵(kaとする)と秘密鍵(kbとする)との鍵ペアである。
【0118】
上記資源Rの売買のビジネス(サービスSrの提供)をしたい参加者(そのノード)は、E0として本システムに登録してサービスSrを開設し、E0のサービスSrを利用(取引参加)したい参加者(そのノード)は、E1やE2として本システムに登録する(後述の登録機能81)。資源Rの提供(売り)の場合はE1、利用(買い)の場合はE2、両方の場合はE1かつE2となる。
【0119】
上記登録は、鍵チェーンによる関係の設定(作成)に相当する。鍵チェーンの設定(作成)の処理機能は、技術的には、前述の証明書C(証明機能11)を利用したデジタル署名などにより実現される。一方のエンティティ(E0)が他方のエンティティ(E1,E2)をデジタル署名することにより、鍵k(証明書C)同士に関係を設定する。上記登録に伴い、取引の関係の一方のエンティティE1(E2)は、他方のエンティティE0の証明書C0及び鍵k0によってデジタル署名された証明書C1(C2)及び鍵k1(k2)の発行を受ける。
【0120】
上記鍵チェーンによる関係の設定において、上位の側、即ち署名している側(親と称する)のアイデンティティ(E0)と、下位の側、即ち署名されている側(子と称する)のアイデンティティ(E1またはE2)とを有し、それぞれ証明書C及び鍵kが対応付けられる。例えば、E1(子)の公開鍵ka(対応証明書C1)は、E0(親)の秘密鍵kb(対応証明書C0)によって署名されたものとなる。同様に、E2(子)の公開鍵ka(対応証明書C2)は、E0(親)の秘密鍵kb(対応証明書C0)によって署名されたものとなる。
【0121】
サービスSrにおいて、資源提供者となる下位(子)のアイデンティティ(E1)による資源Rの提供(売)は、そのE1の鍵k1(証明書C1)の鍵チェーンの関係における上位(親)の鍵k0(証明書C0)に対応するアイデンティティ(E0)による資源Rの提供(対応の権利K)に合算される(該当アイデンティティ(E1,E0)の資源R(R1,R0)の権利K(K1,K0)が更新処理される)。
【0122】
同様に、資源利用者となる下位(子)のアイデンティティ(E2)による資源Rの利用(買)は、そのE2の鍵k2(証明書C2)の鍵チェーンの関係における上位(親)の鍵k0(証明書C0)に対応するアイデンティティ(E0)による資源Rの利用(対応の権利K)から分配される(該当アイデンティティ(E2,E0)の資源R(R2,R0)の権利K(K2,K0)が更新処理される)。
【0123】
上記鍵チェーンによる関係の設定は、多数のユーザ間で複数の関係を連鎖的・多重的に設定することが可能である。即ち例えば第1の取引の鍵チェーンの関係で親(E0)であるノードが、他の第2の取引の鍵チェーンの関係で子(E1またはE2)のノードになることができ、逆も可能である。また各取引相手ユーザごとの関係などが設定可能である。
【0124】
設定された関係に応じてユーザ(アイデンティティ)ごとのポイントP等の反映や所属も適切に情報処理(更新処理や決済処理など)がされる。また、上記鍵チェーンによる関係は、特別なノードを持たない性質のネットワーク100における個々のユーザ(アイデンティティ)の相互の信頼性によるものである。署名した側(E0)のアイデンティティの信頼性は、他のノードによる評価(評価情報P等の状況)や、他の鍵チェーンのノード(親)による署名や、当該ノードでのサービスSrの提供の実績などに反映されている。設定した関係の情報や、取引実績などの情報が蓄積されるので、それに応じて当該アイデンティティ(ノード)の信頼性が築かれる。
【0125】
上記鍵チェーンの関係における親(E0)や子(E1,E2)は、それぞれ、実施の形態1で説明したように、外部(他者)の評価ノード群(当該グループで保有される評価情報P等の情報)と対応付けられている。実施の形態2では、評価ノード群には、ポイントPの他、権利Kなどの情報を管理する。サービスSrでの資源Rの売買取引の成約(成立)の際には、それぞれ対応する評価ノード群の保有情報に対する更新処理が行われる。例えば対応エンティティの所持ポイントPの増減、権利Kの更新などである。
【0126】
上記取引の成約の際、例えば、親(E0)は、相手の子(E1またはE2)または対応評価ノード群に対し、自身の証明書C0(鍵k0)による署名付きメッセージによる指示等の送信によって、当該成約を実現させることができる。即ち上記ポイントPや権利Kの情報を更新できる(例えば前述の合算や分配)。指示(署名付きメッセージ)を受けた側は、その検証により、相手が正しいエンティティ(E0)であること等を確認できる。
【0127】
上記鍵チェーン等の仕組みにより、ネットワーク100における参加者のノード(アイデンティティ)間に、資源Rの提供(売)−利用(買)に係る関係を導入することができ、ユーザ間で資源RやポイントPをやりとりすることができる。また特に本機能を用いることで、資源Rの売買のビジネスが、エンティティE0によるサービスSrという形で可能となる。ネットワーク100上のいずれのアイデンティティもE0やE1,E2として参加が自由に可能であり、実施の形態1と同様に、オープン・完全分散型などの性質を有する。
【0128】
<例>
次に、図6を用いて、本システムの形態に関して、わかりやすいように先に例を説明する。E0(親)は、複数の参加者(E1,E2)間における資源Rを売買するサービスSrを設営する。このSrでの売買の情報処理においては、実施の形態1の説明に基づきポイントP(増減可能な情報値)を用いる。Srの情報処理では主にポイントPの単位にて計算や授受がされ、後に、交換する貨幣(円)で決済できる。ユーザに対する表示情報においては例えば円の情報もあわせて表示してよい。
【0129】
本システムへの登録(鍵チェーンの設定)の処理に基づき、E0(親)の証明書C0(鍵k0)に対して、E1(子)の証明書C1(鍵k1)、及びE2(子)の証明書C2(鍵k2)が、それぞれ、鍵チェーンの関係(#1,#2とする)として設定される。
【0130】
また、E0,E1,E2に各々対応付けられる評価ノード群(グループ)では、それぞれ、対応エンティティ(ノード)のポイントP、資源R(R0,R1,R2)の権利K(K0,K1,K2)の情報、等を保有している。なお各自ノード内でも管理情報(M)50内に記憶などの形で一時的に各種情報(P等)が保有され、上記対応グループの保有情報との間で情報更新処理が行われる。
【0131】
ネットワーク100上、E0となる参加者のノードは、登録によりサービスSrを開設する。E0は、開始するサービスSrの情報(売買の対象となる資源Rや、資源R単位とポイントPと円の交換レートなど)を外部に提示する。例えば、E0の決済機能などにより、外部の各ノードからアクセスして参照が可能なWebページ等の形で提示する。あるいは前述したノード間での管理情報Mの授受により上記情報を取得する形などでもよい。
【0132】
E1,E2となる各参加者のノードは、上記提示情報に基づきサービスSrにおける資源Rの提供(売)−利用(買)に参加ができ、参加する場合は、E0(Sr)に対して情報の登録を行う。これにより、E0−E1間、E0−E2間において、前述の鍵チェーンによる親子の関係(#1,#2)を設定する。例えば第1の鍵チェーン(k0−k1)ないし署名による第1の関係#1(E0−E1)、第2の鍵チェーン(k0−k2)ないし署名による第2の関係#2(E0−E2)である。例えばC1(k1)はC0(k0)により署名されている。E0はC0(k0)で自身(アイデンティティ及びノード)を証明する。
【0133】
(1) 第1の取引の例として、E1(資源提供者)のノードの資源R1をE0(E0のノードの資源R0)に提供(売)する場合の処理は以下である。
【0134】
1aは、E1(子)からE0(親)のSr(決済機能など)への、資源R1の提供(売り)の要求などを示す。この取引の時点(例えばt1とする)で、例えば資源Rの1単位の交換レートが「1P=10円」とする。例えば資源R1の価格が10P(=100円)である。1bは、1aに対し、E0のSrからE1へのR1利用(買い)の応答、及びそれに伴うE0からE1への対価(P)の支払い(E1の対価の受け取り)などを示す。1cは、1a,1bに伴い、E1のR1(対応K1)をE0のR0(対応K0)に提供(合算)することを示す。なおE1のR1は資源実体(例えばストレージ)であり(実線で示す)、E0のR0内に入るR1は資源実体ではなくその制御情報(権利Kの情報)等である(破線で示す)。
【0135】
また例として、各資源Rは、対応する権利Kの情報があり、図6中(E1,E2側、E0側も同様)では、その権利Kの情報が対応する管理情報M(M1,M2等)内に管理されている様子を示す。また、ポイントPに関する情報(当該ユーザの現在の所持値や、売買に応じた一時的な増減値など)も、同様に、対応の管理情報M内に一時的な情報として管理されている様子を示す。
【0136】
1a,1bの取引で、E0は、E1からの要求を受領(成約)する場合、E1に対して、3aで示すように、その対価(例えば10P(=100円))を支払う。E1はE0から対価を受け取り、代わりに、E1の資源R1の権利K1がE0の資源R0の権利K0に合算される。実際の対価支払いの決済処理及び情報更新処理は、該当ノード(E0,E1)の決済機能やそれらに対応する評価ノード群との間で実行される。
【0137】
上記取引の結果、各ユーザの取得ポイントP(円)情報として、E1は、+10P(100円)、E0は、−10P(100円)となる。後の決済処理により、上記各ユーザのポイントPの増減は、円の増減に反映される(Pを円に交換する場合)。Pを円に交換しない場合、例えば自身のポイントPの蓄積を目的としているユーザの場合は、決済処理(決済機能)に関するユーザ設定などによりポイントPのままでの蓄積が可能である。
【0138】
また、権利Kの情報の更新処理としては、E1の資源R1(その権利K1)が、E0のSrにおける資源R0(その権利K0)の中に合算されることになる。R0は複数の取引の結果に応じて複数の資源を内包した大きな資源R0を扱うことができる。ここで説明上、R0の中に、R1とは異なる資源R2(権利K2)が含まれているとする(以下の第2の取引でE2の資源R2となるもの)。なお間単にはR0=R2=R1の場合(即ちE0がE1から買った資源R1をそのままE2へ売る場合)を考えても構わない。
【0139】
(2) 第2の取引の例として、E2(資源利用者)のノードが、E0のノードの資源R0(R2)を利用(買)する場合の処理は以下である。
【0140】
E0(親)のSrに対して、資源利用者となるE2(子)は、E0へ対価(P)の支払いをして、E0がSrで提供する例えば資源R2を利用(買)する。即ち、E0の持つ資源R0の権利K0のうちの資源R2の権利K2を、E2の権利K2として分配する。R2の権利K2は、上記のようにR2=R1の場合は保有元のE1の持つR1の権利K1に対応している(資源実体はE1が保有のまま)。
【0141】
2aは、E2(子)からE0(親)のSr(決済機能など)への、資源R2の利用(買い)の要求、及びそれに伴うE2からE0への対価(P)の支払い(E0の対価の受け取り)などを示す。この取引の時点(例えばt2とする)で、例えば資源Rの1単位の交換レートが「1P=11円」とする。例えば資源R2の価格が10P(=110円)である。2bは、2aに対し、E0のSrからE2へのR2提供(売)の応答などを示す。2cは、2a,2bに伴い、E0のR0(対応K0)のうちのR2(対応K2)を、E2のR2(対応K2)として提供(分配)することを示す。
【0142】
2a,2bの取引で、E2はE0のSrに対してR2利用(買)を要求し、E0はそれを受領(成約を了承)し、3bで示す対価(10P(=110円))を受け取る。そして、E2はE0へ対価を支払う代わりに、E0の資源R0のうちの資源R2の権利K2がE2の資源R2の権利K2として分配される(決済処理及び情報更新処理)。上記取引の結果、各ユーザの取得ポイントP(円)情報として、E2は、−10P(110円)、E0は、+10P(110円)となる。
【0143】
上記三者(E1,E0,E2)間における2つの関係#1,#2での売買の取引(その決済等)の結果、E0は、第1の取引による−10P(100円)と、第2の取引による+10P(110円)とを合わせて、それらの差益(3c)である10円(±0P)を得ることができる。E1にとっては、資源R1を他者に提供(売)したことに応じて10P(100円)を得られる。この増分のポイントPは例えば他者のサービスS(実施の形態1)を利用したい時に用いることができる。一方、E2にとっては、10P(100円)の減少に応じて、他者から資源R2を利用(買)することができる。E2はこの利用(買)を可能にするための条件として10P(100円)が必要であり、そのためには例えば自身で資源Rの提供(売り)や前述のサービスS提供評価等によってポイントPを獲得しておく必要がある。E2は、上記の自身で利用可能となった資源R2を用いて、例えば自身でサービスS(実施の形態1)を構成して他者に提供(公開)することができ、それによる評価は自身のポイントPとしてカウントされることになる。
【0144】
<機能>
図7において、実施の形態2でノードNのモジュール10に備える処理機能や情報データ等について示している。参加者となるユーザUのアイデンティティと、エンティティEとが対応付けられる。エンティティEは、証明書Cと関係付けられる。エンティティEに所属するn個のノードNは、証明書Cにより証明される。ノードNは、サービスSrで提供(売)の対象となる資源R(サービスS)を有し、この資源R(サービスS)は権利K(その情報)が対応付けられている。関連する実施の形態1の機能等として、前述(図2)の要素、特に、証明機能11(証明書C、鍵k、等の管理を含む)、供出資源R(記憶資源43等)、情報管理機能15(管理情報(M)50)などがある。証明書Cは、鍵k(例えば公開鍵kaと秘密鍵kbとの鍵ペア)と関係付けられる。
【0145】
実施の形態2のノードNのモジュール10に、関係設定機能30として示す各種機能や情報データ等を有する。関係設定機能30において、E0機能(サービスSr機能)60、E1機能(資源提供(売り)機能)61、E2機能(資源利用(買い)機能)62、E0用の決済機能71、(E1,E2)用の決済機能72、登録機能81、鍵チェーン管理機能82、情報更新機能90、権利管理機能91、ポイント管理機能92、等を有する。情報データとしては、ポイントP情報55、資源R及び権利Kの情報57、提示情報(Sr情報)58、関係情報59等を有し、例えば管理情報50内に記憶される。各機能は例えばプログラム処理により実現される。各機能では、必要に応じて外部のノードの対応する機能との通信処理が行われる。その他、Webブラウザ等を利用してユーザに売買に関する情報などを表示し要求等の操作を可能とするグラフィカルユーザインタフェース機能などを有する。
【0146】
ポイントP情報55は、対応評価ノード群で管理されている自分(アイデンティティ)に関する評価情報(P)54に基づく、自ノード内での一時的な管理情報(現在の所持値や、売買による増減値など)である(決済処理や情報更新処理などで用いる)。また、あるノードが自分に関するポイントP等の情報を確認する場合(例えば制御に必要な場合)は、前述の実行ノードNBの処理例のように、対応評価ノード群に対して情報を照会する処理などにより可能である。あるいは特に、そのための情報照会機能を各ノードに設け、自分のポイントP等(権利K、その他)の情報を持つ対応評価ノード群へ情報を照会し、自分の現状に関する確認などを可能としてもよい。
【0147】
資源R及び権利Kの情報57は、当該アイデンティティ(ノード)で提供する資源R(サービスS)及びその対応する権利Kに関する、対応評価ノード群で管理されている管理情報に基づく、自ノード内での一時的な管理情報である(情報更新処理などで用いる)。資源R及び権利Kの情報57は、例えば前述の権利管理情報などである。
【0148】
なおポイントPの情報や権利Kの情報を、他者(評価ノード群)ではなく自ノード内で管理する形態としてもよいが、その場合は、前述した改ざん防止機能などの対策を設ける。
【0149】
提示情報58は、E0機能60や決済機能71により提示する、前述したサービスSrの情報(売買対象とする資源Rや交換レートなどの情報)などである。
【0150】
関係情報59は、鍵チェーン管理機能82(及び証明機能11等)を用いて設定される関係に関する自ノード内での管理情報である。例えば関係の識別情報、親エンティティ/ノード情報、子エンティティ/ノード情報、対応する証明書Cや鍵kの識別情報、などである。
【0151】
E0機能60は、E0(親、サービスSr提供者)の状態の機能であり、E0のノードにおける子(E1,E2)に対する資源Rの売買のサービスSrを設営・提供する処理を行う。例えば、E1機能61,E2機能62(クライアント機能)からの要求等のアクセスを受け付けて応答の処理を行うサーバ機能の形である。
【0152】
E1機能61は、E1(子、資源提供者)の状態の機能であり、E1のノードにおけるE0(サービスSr)に対する資源Rの提供(売り)の処理を行う。例えば、対応ユーザUの操作に応じて、E1からE0(Sr)の提示情報58を参照し、E0(Sr)に対し、取引の対象となる資源Rについての提供(売り)の要求や注文を送信し、その応答を得る処理などを行う。同様に、E2機能62は、E2(子、資源利用者)の状態の機能であり、E2のノードにおけるE0(サービスSr)に対する資源Rの利用(買い)の処理を行う。
【0153】
E0機能60は、E1(E1機能61)やE2(E2機能62)からの要求に対し、ユーザUの判断等に応じて、成約するかどうかを決め、成約する場合、E1への対価支払いのための応答や、E2への対価受け取りのための応答を送信する処理を行う。
【0154】
サービスSrの開設に応じて、E0機能60(または決済機能71)のうちの情報提示機能は、サービスSrの内容(例えば対象の資源Rや条件など)や交換レート(例えばポイントPと円との交換レート)の情報を、提示情報58として外部に提示する処理を行う。また、E1機能61,E2機能62(または決済機能72)のうちの情報参照機能は、上記提示情報58にアクセスして参照する処理を行う。
【0155】
なおサービスSrにおける売買取引のための詳しい処理や方式など(例えば売買の注文や成約の調整など)については、既存の各種の売買取引システムと同様の技術や方式を適用することができる。
【0156】
また、E0機能60、E1機能61、E2機能62等の機能は、売買取引の実績などの情報(履歴)を記録する。またこの履歴情報は、例えば前述のログ情報(L)53のように、評価ノード群で管理してもよい。
【0157】
E0用の決済機能71は、サービスSrに関する決済処理を行う。E1,E2用の決済機能72は、E0用の決済機能71に対応するクライアント機能であり、E0側の決済機能71に対してアクセスして決済に関する処理を行う。決済機能71は、E0のノードに備える機能とし、更にこのE0の決済機能71から外部の決済システムに対して連携(通信等)して処理を行う機能としてもよい。
【0158】
E0の決済機能71は、詳しくは例えば、レート設定機能や、交換貨幣(円)での決済処理機能などを有する。レート設定機能は、E0のユーザによりSrに関する交換レート(時価)等を自由に設定することができる機能である。あるいは、レート設定機能は、外部の決済システム等(レート決定機能)と連携して当該交換レートを自動的に決定して設定する機能である。交換貨幣での決済処理機能は、ポイントPと交換する円などにおける決済処理を行う。例えば、外部の金融機関と連携した所定の期日での決済処理(銀行口座引き落とし処理など)を行う機能である。
【0159】
レートを自動的に決定する場合の方法としては、例えば、本システムのユーザ(ノード)群における資源R(サービスS)の需要・供給の状況が存在し随時変動しており、その状況の把握(例えば決済機能、あるいはノード間での情報授受などによる)に応じて、その需給の状況に応じたレートを計算する方法などが挙げられる。例えばシステム中で特定の資源Rxを提供できるユーザ(E1)の数が少なく、その資源Rxを欲するユーザ(E2)の数が多い状況であれば、その資源Rxに関するレートが高値になるように決定される、といった具合である。
【0160】
E0−E1間またはE0−E2間で売買取引が成約した場合、情報更新機能90によるポイントPや権利K等に関する更新処理が発生すると共に、対価の支払い−受け取りのための決済処理が発生し、決済機能(71,72)によるポイントPや円に関する決済処理が行われる。この更新処理及び決済処理により、該当ノード内のポイントP情報55で売買の対価に応じたポイントPの増減の情報が記録され、また、対応評価ノード群の保有するポイントPの情報が更新される。また、権利管理機能91等によって、該当ノード内の権利Kの情報57で売買に応じた権利Kの情報が更新(合算、分配など)され、また、対応評価ノード群の保有する権利Kの情報が更新される。
【0161】
登録機能81は、サービスSrの開設、及びサービスSrに関するエンティティ(ノード)の登録の処理などを行う。E0(対応ユーザ)のノードは、登録機能81により、サービスSrの開始や終了を設定できる。開始の場合は前記情報提示機能によりサービスSrの提示情報58を外部へ提示する。また、E1,E2になるノードの登録機能81(対応ユーザ)は、E0の登録機能81(または決済機能71等)に対して、所望のサービスSrへの登録の処理などを行う。前記情報参照機能によりサービスSrの提示情報58を参照して参加が判断される。E0の登録機能81は、当該ノードをサービスSrにおけるE1,E2として登録する処理などを行う。
【0162】
上記登録の際、該当エンティティ(ノード)は、鍵チェーン管理機能82を用いて、該当エンティティ(そのノード)間に、鍵チェーンによる関係を設定する処理を行う。鍵チェーン管理機能82は、その処理を、証明機能11、及び証明書C及び鍵kの情報を用いて行う。鍵チェーン管理機能82は、証明機能11によるデジタル署名処理などを用いて、参加者(アイデンティティ)間の鍵チェーン(それによる関係)の作成やその変更やその削除などの処理、及び当該鍵チェーンに関する情報データ管理などの処理を行う。設定(作成)の場合、E0の鍵チェーン管理機能82が、E0の証明書C0(鍵k0)を用いて、E1,E2の証明書C1,C2(鍵k1,k2)を発行(署名)する処理を行う。設定された鍵チェーン(関係)に関する情報は、関係情報58として記録される。なお前述の証明機能11は、上記鍵チェーンによる関係が設定された証明書C及び鍵kを用いて、前述のノード間の認証などの処理を行うことができる。なお鍵チェーンによる関係の設定は、少なくともSrでの取引(成約)の事前にされている必要がある(実施の形態1でのネットワーク100への参加の時点で設定する必要は無い)。
【0163】
情報更新機能90は、サービスSrでの資源Rの提供(売)−利用(買)に伴う、資源R対応の権利Kや、対価のポイントPに関する、情報更新処理や情報管理などを行う。また情報更新機能90は、前述の管理情報(M)50等を管理する情報管理機能15と関連しているので、その一部として構成してもよい。情報更新処理は、例えば証明機能11や権利管理機能91等と連携した処理となる。
【0164】
権利管理機能91は、自身(アイデンティティ及びノード)の資源Rの情報及びそれに対応する権利Kの情報57を管理する処理などを行う。権利管理機能91は、実施の形態1の資源供出機能14と連携する機能、またはその一部としてもよい。
【0165】
権利Kの更新処理に関しては、例えば、資源R及び権利Kの情報57が、該当ノード内(管理情報M内など)、もしくは対応評価ノード群にて保有され、情報更新機能90(及び権利管理機能91等)により、その情報にアクセスして更新処理するか、または、該当ノードへ更新処理を指示すること等により行われる。
【0166】
ポイントPの更新処理に関しては、情報更新機能90(及び決済機能71,72)を用いて、取引の成約の際の対価のポイントPの支払い−受け取りによって、各エンティティ(ノード)の持つポイントPの値(自ノード内のポイントP情報55または対応評価ノード群にて保有する情報)を増減する処理を行う。
【0167】
ポイント管理機能92は、実施の形態1の評価情報(P)54に関係付けられるポイントP情報55をもとに、実施の形態2で扱うポイントPの情報管理や、その他の種類のポイント等が存在する場合のその生成(演算)や管理、ポイントPと円などとの交換に関するユーザ設定、などの処理を行う。
【0168】
<システム構成>
図8において、サービスSrに係るエンティティ間のシステム構成例を示している。資源Rの売買のサービスSrの提供者であるビジネスエンティティE0(そのノード)、資源R(R1)の提供者であるエンティティE1(そのノード)、資源R(R2)の利用者であるエンティティE2(そのノード)を有する。また、それぞれ対応する評価ノード群(グループG(GE0,GE1,GE2))を有し、その評価ノード(E0−ND等)では、証明書Cで表明されるアイデンティティ(及びノード)単位で、評価情報(ポイント)P、権利K、その他の情報が管理されている。前述の鍵チェーン(関係)#1,#2が設定される場合である。
【0169】
E0は、登録機能81によりサービスSrを開設し、決済機能71(情報提示機能)により、サービスSrの情報(交換レート等)を提示する(提示情報58)。E1またはE2は、1d,2dのように、決済機能72(情報提示機能)によりE0のサービスSrの情報(提示情報59)を参照し、登録機能81によりE0のSr(登録機能81)に対して登録する(例えば参加ノード情報の登録)。登録により、E0の鍵チェーン管理機能82は、証明機能11(C1,k1)を用いて、登録エンティティ(E1またはE2)に対して、証明書C1(鍵k1)またはC2(k2)を発行することにより、鍵チェーンの関係#1または#2を設定する。各エンティティ(E0,E1,E2)の管理情報M(M0,M1,M2)では、前述のポイントP情報55、及び権利Kの情報57(K0,K1,K2)などが管理される。
【0170】
<処理>
図6〜図8に基づき、図9,図10において、処理例として、第1に、図6のE1−E0間の関係#1の資源R1の取引、第2に、図6のE2−E0間の関係#2の資源R2の取引について説明する。主に第1の取引の場合を説明するが、第2の取引の場合でも概略同様に実現される。
【0171】
<処理(1)>
図9において、特にサービスSrへの登録や鍵チェーン設定などの処理例を示す。なお、E0側の各機能と対応するE1側の登録機能などは図示省略する。
【0172】
(1) 任意のE0となるノード(例えばノードN01)のユーザは、登録機能81により、決済機能71等に対して、自身をE0として登録し、E0機能60によるサービスSrを開設する。情報提示機能は、開始するサービスSrの情報を、提示情報58とする。
【0173】
また、4aのように、決済機能71等(ユーザ)により、サービスSrにおけるレートの設定などを行う(後でもよいし適宜変更も可能)。提示情報58には、設定されたレートの情報などが提示される。
【0174】
(2) 任意のE1となるノード(例えばノードN11)のユーザは、情報参照機能により、E0の提示情報58(サービスSr情報)を参照し、Srでの資源提供(売り)に参加する場合は、登録機能81により、E0の登録機能81等にアクセスし(1d)、自身をE1として登録する。E0の登録機能81は、子(資源提供者)となるE1のノードの情報などを関係情報59などに記録する。
【0175】
(3) そして、4cのように、鍵チェーン管理機能82により、上記登録で親(E0)−子(E1)の関係となる鍵チェーンによる関係#1を設定(作成)する処理を行う。E0の鍵チェーン管理機能82は、自身の証明機能11、証明書C0(鍵k0)を用いて、E1の鍵チェーン管理機能82(証明機能11、証明書C1(鍵k1))との間で、E1の証明書C1(鍵k1)を発行(署名)する処理を行う(4d)。E1はE0から発行されたものを証明機能11等により管理する。各鍵チェーン管理機能82は、設定(作成)したE0−E1の鍵チェーン(関係)#1に関する情報を関係情報59に記録する。
【0176】
(4) 上記設定の済みにより、当該E1−E0間で、1a(要求),1b(応答),1c(資源提供、権利更新)のように、サービスSrでの取引の処理を可能な状態とする。取引の成約により、E0機能60及びE1機能61は、それぞれ、対価(支払い−受け取り)のポイントPの増減値などの情報や、売買する資源Rの権利Kの更新に関する情報などを、自身の管理情報M内に記録し、情報更新機能90による更新処理を指示する。
【0177】
<処理(2)>
図10において、図9に続く、特にサービスSrでの売買に応じた情報(ポイントPや権利K)の更新処理、決済処理などの処理例を示す。各エンティティ(E0,E1)の情報更新機能90は、サービスSrでの売買の成約に伴う、ポイントPや権利Kに関する更新処理を、取引相手ノードとの間や、対応する評価ノード群との間で行う。
【0178】
E0(親)のノードは、取引相手(子)であるE1のノードや、当該E1に対応する評価ノード群(グループGE1)に対して、自身の証明書C0(k0)を用いた署名付きメッセージ(その送信)によって、更新処理を指示することができる。この指示は、例えば第1の関係#1の取引の場合、提供(売)の対象である子のE1(C1,k1)の資源R1(対応する権利K1)を、親のE0(C0,k0)の資源R0(R1を含んで成るR0)として提供するように、対応権利Kを合算する指示などである。また第2の関係#2の取引の場合では、利用(買)の対象である親のE0(C0,k0)の資源R0(対応権利K0)のうちの一部の資源R2(対応する権利K2)を、子のE2(C2,k2)の資源R2として利用するように、対応権利Kを分配する指示などである。
【0179】
例えば、E1−E0間の第1の取引が成約した場合(例えばE1からの要求をE0が受領)、E0は、E1に対して成約の旨を応答すると共に、E1に対応する評価ノード群(GE1)に対して通信し、また自身E0に対応する評価ノード群(GE0)に対しても通信し、成約した資源R(R1)に関する権利K(K1)の更新や、ポイントPの増減の指示などを行う。なお、E0から直接GE1へ指示してもよいが、E1を介在してE1からGE1へ指示する形としてもよい。
【0180】
上記ノード間での指示等は、正しいエンティティ(ノード)によるものであることを示すために、鍵チェーンの関係を用いて、署名付きメッセージによるものとする。指示を受け取った側は、その署名付きメッセージを検証することで、指示した側のアイデンティティを確認することができ、不正利用等を防止できる。証明機能11を用いて上記署名や検証の処理が行われる。署名付きメッセージによる指示の送信の際の処理では、送信側(E0)は、指示情報に対してE0の秘密鍵kbによる署名データを添付し、受信側は、その署名データをE0の公開鍵kaで復号化することで検証できる。
【0181】
指示(署名付きメッセージ)を受けたノードでは、検証の後、指示に従った更新処理が遂行される。例えば前述の権利Kに関する合算や分配の処理、及び、E1側のポイントP受け取り分の増加、E0側のポイントP支払い分の減少の処理などである。
【0182】
5bは、上記の指示(署名付きメッセージ)の例であり、E0からE1対応グループGE1(評価ノードE1−ND)へ、上記の合算などの旨の指示を送信する場合である。この際、E0の情報更新機能90(証明機能11を利用)は、自身の証明書C0(鍵k0)を用いて、署名付きメッセージを作成し、GE1へ送信する。指示を受信したGE1の評価ノードは、受信した署名付きメッセージを検証して送信者(E0)を確認した後、指示内容に従い、自身の持つE1対応の権利(KE1)やポイント(PE1)の情報を更新する。また、5aは、5bに関連して、同様に、E0からE0対応グループGE0(評価ノードE0−ND)への指示(署名付きメッセージ)である。E0側の権利(KE0)やポイント(PE0)の情報を更新する処理が行われる。
【0183】
なお上述した更新処理は、E0側を主体(指示する側)とした処理例であるが、取引の形態によっては、E1側を主体とした更新処理とする形としてもよい。また、E0からE1(情報更新機能90)を介在して上記の更新処理を行う形(E0からE1へ指示し、E1からGE1へ指示等)としてもよい。また、E0からGE0へ指示し、GE0とGE1との間で処理する形などとしてもよい。
【0184】
また、上記売買に伴う権利Kの更新に関する処理(指示)において、対応グループで持つ権利Kの情報の更新だけでなく、対応グループで持つポイントPの情報の更新を同様に行うことができる。例えば、E0の情報更新機能90(または決済機能71等)により、上記権利Kの更新に関する指示とあわせて、ポイントPの情報の更新を指示することができる。第1の関係#1の取引の場合、例えば5aのように、E0からE0対応グループGE0へ、支払いによるポイントPの減少の情報(M0の−P:例えば10P減少)を指示で与える。また5bのように、E0からE1対応グループGE1へは、受け取りによるポイントPの増加の情報(M1の+P:例えば10P増加)を指示で与える。各グループ(GE0,GE1)の評価ノードは、指示に従い、保有しているポイントPの情報(PE0,PE1)を更新する。
【0185】
一方、上記売買におけるポイントPの情報の更新に伴い、交換対象である円での決済処理を行う(Pを円に交換する場合)。5gは、E0の決済機能71による円での決済処理を示す。E0の決済機能71は、更新された情報(M0内のポイントPの増減の情報など)をもとに、外部の金融機関などと通信して当該決済処理を行う。図示省略するがE1側でも決済機能72により同様の処理が行われる。
【0186】
<ポイントP>
図11を用いて、ポイントPの例は以下である。まず前述したように、実施の形態1の評価情報(ポイント)Pは、主に、サービスSの提供の評価に関する情報(提供ポイントp)、及びそれに基づくサービスSの利用・実行の制御に関する権限やポイント等の情報(利用ポイントq)である。一方、実施の形態2のポイントPは、サービスSrでの資源Rの売買等の取引で用いるポイントである。例えば、ポイントPを、前述のように、サービスS提供の評価が高いほど当該P値(提供ポイントp)が上がる形とする。例えば最初はp値が小さいが正確なサービスS提供の実績などによりp値が高くなってゆく。また、このp値の高低の状態に応じて、サービスS利用の場合の利用ポイントqの値が高低する形とする。
【0187】
図11(a)は、上記実施の形態1のポイントP(p,q)の例であり、あるアイデンティティ(ノード)によるサービスSの提供の評価に応じて増減するポイントP(提供ポイントp及び利用ポイントq)の変動例である。時間tにおいて、t1では提供ポイントpのアップによりPが0から正の値に増加している(それに伴い例えば利用ポイントqも増加)。同様に、t2ではpのダウンによりPが負の値に減少している(それに伴い例えば利用ポイントqも減少)。t3では再度pのアップによりPが正の値に増加している。また、t4では、上記ポイントP(p,q)を用いて、当該アイデンティティにより他者のサービスSを利用する場合に、当該ポイントP(利用ポイントq)が減少(消費)する場合である。
【0188】
上記ポイントPに応じて、実施の形態2では、例えばエンティティE1は、ポイントPが0以下の状態のときは、サービスSrにおける資源Rの提供(売)によりポイントPを得ることが必要になる。またエンティティE2は、ポイントPが正の状態のときは、ポイントPを減少することで、サービスSrにおける資源Rの利用(買)が可能になる。
【0189】
図11(b)は、実施の形態2でサービスSrでの資源Rの売買に応じたポイントPの変動例である。t4までは同じで、t5では、あるアイデンティティにおいて、E1として資源Rの提供(売)の単位に応じてポイントPが増加した場合であり、t6では、同じアイデンティティにおいて、E2として資源Rの利用(買)の単位に応じてポイントPが減少した場合である。同様にSrを提供するエンティティE0では、E1,E2に対する売買に応じて自身のポイントPが増減する。
【0190】
<効果等>
実施の形態2によれば、クラウドコンピューティングシステムにおいて、各ユーザU(ノードN)で異なる資源R/サービスSを有するが、それらの間での資源R等の提供(売)−利用(買)の行為(取引)を円滑化する仕組み(関係設定機能30等)を設けることで、システムの構築や発展を効率化できる。クラウドコンピューティングシステム上でのユーザ間の資源R/サービスSの取引やその課題(公平性やバランスなど)を考慮した、新しく有用な仕組みを実現している。まず、前述の実施の形態1のシステムで各ユーザUが自由にサービスSの提供や利用を相互にしあうことが可能であり、各ユーザUはその活動に応じた評価情報(ポイント)P等を得る。それを前提として、実施の形態2のシステムで、各ユーザUは、自身のポイントPや資源R等をもとに、資源R等の売買の取引(サービスSr)への参加が自由に可能である。そのため、E0は、サービスSrの運営の結果に応じて利益を得ることが可能である。E1にとっては、自身の資源R(その権利K)を他者(E0)へ売ることにより対価としてのポイントP(または円)を得る(受け取る)ことができる。E1は、得たポイントPにより、他者のサービスS(実施の形態1)を利用しやすくなる。また、E2にとっては、自身のポイントP(または円)を対価として他者(E0)へ与える(支払う)ことにより他者の資源R(その権利K)を買うことができる。E2は、買って得た資源Rを自身で利用できる他、その資源Rを用いることで他者へのサービスS(実施の形態1)の提供もしやすくなる。例えば、E2は自身のコンピュータ環境では実現できない資源Rを他者から得ることができ、それを用いて自身のサービスS(実施の形態1)を構成して提供することもできる。また、上記のように、ユーザ間の相互の資源R等の融通や、現存の経済との連携により、本システム内における資源R/サービスSの提供−利用のバランス(実施の形態1)を高めること、コンピュータ資源の有効活用、新たなサービスの実現、などの効果がある。
【0191】
なお、ポイントPや円を用いた売買をしない形態とすることもできるが、その場合、E0のサービスSrではユーザ(ノード)間での資源R等の提供−利用の行為を仲介する処理機能のように構成することができる。この場合も上記バランス等の効果が得られる。
【0192】
なお、実施の形態2の仕組みは、あくまで実施の形態1の仕組みを前提としている。例えば最初から各ユーザが円などで直接的に資源R(サービスS)を売買可能な仕組みでは、特定のユーザ(企業)に有利になってしまう等、課題がある。
【0193】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【0194】
本発明は、クラウドコンピューティングに利用可能である。
【符号の説明】
【0195】
10…モジュール、11…証明機能、11a…自ノード証明機能、11b…他ノード証明機能、12…ハッシュ処理機能、13…サービス機能、14…資源供出機能、15…情報管理機能、21…サービス利用機能(NA機能)、22…サービス実行機能(NB機能)、23…サービス提供機能(NC機能)、24…サービス評価機能(ND機能)、30…関係設定機能、43…記憶資源、44…計算資源、50…管理情報テーブル、51…証明書、53…ログ情報、54…評価情報、55…ポイント(P)情報、57…資源(R)及び権利(K)の情報、58…提示情報、59…関係情報、60…エンティティ(E0)及びそのE0機能(サービスSr機能)、61…エンティティ(E1)及びそのE1機能(資源提供(売り)機能)、62…エンティティ(E2)及びそのE2機能(資源利用(買い)機能)、71…決済機能(E0用)、72…決済機能(E1,E2用)、81…登録機能、82…鍵チェーン管理機能、90…情報更新機能、91…権利管理機能、92…ポイント管理機能、100…ネットワーク、101…ハードウェア、102…ソフトウェア、103…記憶資源、104…計算資源、201〜205,305,311,312…処理、501,502…近隣範囲。
【特許請求の範囲】
【請求項1】
ユーザのコンピュータによるノード同士が通信接続されて成るネットワークを有し、
(1) 前記ノードは、ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービスを提供する処理を行う提供機能と、前記サービスを要求して利用する処理を行う利用機能と、前記利用機能を用いる第1のノードと前記提供機能を用いる第3のノードとの間に介在して、前記サービスの実行を制御する処理を行う実行機能と、前記提供機能を用いる第3のノードによる前記サービスの提供の行為を評価してその評価情報を保持するための評価機能と、を有し、前記サービスを利用する第1のノードの利用機能は、第2のノードの実行機能を経由して、当該サービスを提供する第1のグループの複数の第3のノードの提供機能にアクセスし、当該提供機能からの応答は、当該第2のノードの実行機能を経由して、当該第1のノードの利用機能へ応答され、上記に伴い、前記第2のノードまたは第4のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存し、前記第2のノードの実行機能または前記第4のノードの評価機能は、前記評価情報の値の高低に基づいて、前記第3のノードが前記利用機能を用いて他のノードの前記提供機能を用いたサービスを利用する際に当該サービスの実行を制御し、
(2) 上記(1)を前提として、前記ノードは、
前記資源またはサービスを他者に対して売る第1種のエンティティとなる任意のユーザのノードと、前記資源またはサービスを他者から買う第2種のエンティティとなる任意のユーザのノードと、前記第1種及び第2種のエンティティの間に介在して、前記資源またはサービスの売り−買いに係る取引の処理を行う所定のエンティティとなる任意のユーザのノードと、を含むエンティティ間の関係を設定する機能を有し、
上記関係を設定する機能は、前記ユーザのアイデンティティを表明する証明書、鍵、及びデジタル署名処理技術を用いて、前記第1種のエンティティと前記所定のエンティティとの間での第1の関係を設定する処理と、前記第2種のエンティティと前記所定のエンティティとの間での第2の関係を設定する処理と、を行い、
前記第1の関係のエンティティ間では、前記第1種のエンティティの資源またはサービスを前記所定のエンティティへ売る取引の処理を行い、
前記第2の関係のエンティティ間では、前記第2種のエンティティから前記所定のエンティティが売る資源またはサービスを買う取引の処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項2】
請求項1記載のクラウドコンピューティングシステムにおいて、
前記ノードの前記関係を設定する機能は、
前記ユーザのアイデンティティを表明する証明書、鍵、及びデジタル署名処理技術を用いて、
前記第1の関係の設定の処理では、前記所定のエンティティを署名する側とし、前記第1種のエンティティを署名される側として、デジタル署名処理により鍵チェーンによる関係を設定する処理を行い、
前記第2の関係の設定の処理では、前記所定のエンティティを署名する側とし、前記第2種のエンティティを署名される側として、デジタル署名処理により鍵チェーンによる関係を設定する処理を行い、
前記第1の関係のエンティティ間の取引及び前記第2の関係のエンティティ間の取引では、それぞれ、取引の成約に伴い、前記証明書、鍵、及びデジタル署名処理技術を用いて、当該アイデンティティを確認する処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項3】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記取引の対象となる前記資源またはサービスに対応付けられる権利の情報を、自ノード内、または対応する他ノードの前記評価機能の少なくとも一方で管理し、
前記ノードの前記関係を設定する機能は、前記証明書、鍵、及びデジタル署名処理技術を用いて、前記取引の成約に伴い、当該エンティティ間で前記資源またはサービスに対応付けられる前記権利の情報を更新する処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項4】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記評価情報に基づいて、前記売買の取引で用いるポイントを設け、
前記ノードの前記関係を設定する機能は、前記証明書、鍵、及びデジタル署名処理技術を用いて、前記取引の成約に伴い、当該エンティティ間で前記ポイントを更新する処理を行い、前記第1の関係のエンティティ間では、前記売りに伴い、前記所定のエンティティから前記第1種のエンティティへ対価となるポイントを支払う処理を行い、前記第2の関係のエンティティ間では、前記買いに伴い、前記所定のエンティティが前記第2種のエンティティから対価となるポイントを受け取る処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項5】
請求項4記載のクラウドコンピューティングシステムにおいて、
前記売買の取引に係り、前記ポイントと所定の貨幣との交換を行うための決済機能またはシステムを有し、
前記ノードは、前記決済機能またはシステムを用いて、前記取引の成約の以降に、前記ポイントを前記所定の貨幣に交換する決済処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項6】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記所定のエンティティは、前記取引に係る処理において、複数の第1種のエンティティから買うことで取得した複数の資源を1つにまとめて1つの第2種のエンティティに売る処理、及び、1つの第1種のエンティティから買うことで取得した1つの資源を複数に分割して複数の第2種のエンティティに売る処理、を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項7】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記ノードの前記関係を設定する機能は、前記取引におけるレートを前記ユーザにより自由に設定する機能を有すること、を特徴とするクラウドコンピューティングシステム。
【請求項8】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記ノードの前記関係を設定する機能は、前記取引におけるレートを、前記ユーザ間における前記資源またはサービスの需給の状況に基づく計算により自動的に決定する機能を有すること、を特徴とするクラウドコンピューティングシステム。
【請求項1】
ユーザのコンピュータによるノード同士が通信接続されて成るネットワークを有し、
(1) 前記ノードは、ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービスを提供する処理を行う提供機能と、前記サービスを要求して利用する処理を行う利用機能と、前記利用機能を用いる第1のノードと前記提供機能を用いる第3のノードとの間に介在して、前記サービスの実行を制御する処理を行う実行機能と、前記提供機能を用いる第3のノードによる前記サービスの提供の行為を評価してその評価情報を保持するための評価機能と、を有し、前記サービスを利用する第1のノードの利用機能は、第2のノードの実行機能を経由して、当該サービスを提供する第1のグループの複数の第3のノードの提供機能にアクセスし、当該提供機能からの応答は、当該第2のノードの実行機能を経由して、当該第1のノードの利用機能へ応答され、上記に伴い、前記第2のノードまたは第4のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存し、前記第2のノードの実行機能または前記第4のノードの評価機能は、前記評価情報の値の高低に基づいて、前記第3のノードが前記利用機能を用いて他のノードの前記提供機能を用いたサービスを利用する際に当該サービスの実行を制御し、
(2) 上記(1)を前提として、前記ノードは、
前記資源またはサービスを他者に対して売る第1種のエンティティとなる任意のユーザのノードと、前記資源またはサービスを他者から買う第2種のエンティティとなる任意のユーザのノードと、前記第1種及び第2種のエンティティの間に介在して、前記資源またはサービスの売り−買いに係る取引の処理を行う所定のエンティティとなる任意のユーザのノードと、を含むエンティティ間の関係を設定する機能を有し、
上記関係を設定する機能は、前記ユーザのアイデンティティを表明する証明書、鍵、及びデジタル署名処理技術を用いて、前記第1種のエンティティと前記所定のエンティティとの間での第1の関係を設定する処理と、前記第2種のエンティティと前記所定のエンティティとの間での第2の関係を設定する処理と、を行い、
前記第1の関係のエンティティ間では、前記第1種のエンティティの資源またはサービスを前記所定のエンティティへ売る取引の処理を行い、
前記第2の関係のエンティティ間では、前記第2種のエンティティから前記所定のエンティティが売る資源またはサービスを買う取引の処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項2】
請求項1記載のクラウドコンピューティングシステムにおいて、
前記ノードの前記関係を設定する機能は、
前記ユーザのアイデンティティを表明する証明書、鍵、及びデジタル署名処理技術を用いて、
前記第1の関係の設定の処理では、前記所定のエンティティを署名する側とし、前記第1種のエンティティを署名される側として、デジタル署名処理により鍵チェーンによる関係を設定する処理を行い、
前記第2の関係の設定の処理では、前記所定のエンティティを署名する側とし、前記第2種のエンティティを署名される側として、デジタル署名処理により鍵チェーンによる関係を設定する処理を行い、
前記第1の関係のエンティティ間の取引及び前記第2の関係のエンティティ間の取引では、それぞれ、取引の成約に伴い、前記証明書、鍵、及びデジタル署名処理技術を用いて、当該アイデンティティを確認する処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項3】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記取引の対象となる前記資源またはサービスに対応付けられる権利の情報を、自ノード内、または対応する他ノードの前記評価機能の少なくとも一方で管理し、
前記ノードの前記関係を設定する機能は、前記証明書、鍵、及びデジタル署名処理技術を用いて、前記取引の成約に伴い、当該エンティティ間で前記資源またはサービスに対応付けられる前記権利の情報を更新する処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項4】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記評価情報に基づいて、前記売買の取引で用いるポイントを設け、
前記ノードの前記関係を設定する機能は、前記証明書、鍵、及びデジタル署名処理技術を用いて、前記取引の成約に伴い、当該エンティティ間で前記ポイントを更新する処理を行い、前記第1の関係のエンティティ間では、前記売りに伴い、前記所定のエンティティから前記第1種のエンティティへ対価となるポイントを支払う処理を行い、前記第2の関係のエンティティ間では、前記買いに伴い、前記所定のエンティティが前記第2種のエンティティから対価となるポイントを受け取る処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項5】
請求項4記載のクラウドコンピューティングシステムにおいて、
前記売買の取引に係り、前記ポイントと所定の貨幣との交換を行うための決済機能またはシステムを有し、
前記ノードは、前記決済機能またはシステムを用いて、前記取引の成約の以降に、前記ポイントを前記所定の貨幣に交換する決済処理を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項6】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記所定のエンティティは、前記取引に係る処理において、複数の第1種のエンティティから買うことで取得した複数の資源を1つにまとめて1つの第2種のエンティティに売る処理、及び、1つの第1種のエンティティから買うことで取得した1つの資源を複数に分割して複数の第2種のエンティティに売る処理、を行うこと、を特徴とするクラウドコンピューティングシステム。
【請求項7】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記ノードの前記関係を設定する機能は、前記取引におけるレートを前記ユーザにより自由に設定する機能を有すること、を特徴とするクラウドコンピューティングシステム。
【請求項8】
請求項1または2に記載のクラウドコンピューティングシステムにおいて、
前記ノードの前記関係を設定する機能は、前記取引におけるレートを、前記ユーザ間における前記資源またはサービスの需給の状況に基づく計算により自動的に決定する機能を有すること、を特徴とするクラウドコンピューティングシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−154532(P2011−154532A)
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願番号】特願2010−15568(P2010−15568)
【出願日】平成22年1月27日(2010.1.27)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願日】平成22年1月27日(2010.1.27)
【出願人】(000155469)株式会社野村総合研究所 (1,067)
【Fターム(参考)】
[ Back to top ]