JP5061167B2 - Cloud computing system - Google Patents

Cloud computing system Download PDF

Info

Publication number
JP5061167B2
JP5061167B2 JP2009207335A JP2009207335A JP5061167B2 JP 5061167 B2 JP5061167 B2 JP 5061167B2 JP 2009207335 A JP2009207335 A JP 2009207335A JP 2009207335 A JP2009207335 A JP 2009207335A JP 5061167 B2 JP5061167 B2 JP 5061167B2
Authority
JP
Japan
Prior art keywords
node
service
function
evaluation
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009207335A
Other languages
Japanese (ja)
Other versions
JP2011059884A (en
Inventor
慎 溝西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2009207335A priority Critical patent/JP5061167B2/en
Publication of JP2011059884A publication Critical patent/JP2011059884A/en
Application granted granted Critical
Publication of JP5061167B2 publication Critical patent/JP5061167B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、クラウドコンピューティングの技術に関する。   The present invention relates to a cloud computing technology.

ITにおける趨勢としてクラウドコンピューティングがある。本明細書では、クラウドコンピューティング(以下適宜「クラウド」等と略称する)とは、インターネット上で、記憶資源や計算資源などの資源(リソース)を、サービスとして提供ないし利用する形態を指すとする。クラウド的なサービスを実現するシステム(クラウドコンピューティングシステム)では、要素技術としては、サーバ仮想化技術(1つの物理的なサーバ上で複数の仮想サーバを稼働させる技術等)や、分散処理技術(1つの計算を複数のノード(コンピュータ)で分散させて処理する技術等)などが用いられる。   The trend in IT is cloud computing. In this specification, cloud computing (hereinafter abbreviated as “cloud” as appropriate) refers to a form in which resources (resources) such as storage resources and computing resources are provided or used as services on the Internet. . In a system (cloud computing system) that realizes a cloud-like service, elemental technologies include server virtualization technology (technology that operates multiple virtual servers on one physical server), distributed processing technology ( For example, a technique that distributes and processes one calculation by a plurality of nodes (computers) is used.

クラウド的なサービス(以下単に「サービス」ともいう)の例は以下である。ユーザ(クライアント)が使用するWebブラウザ等を備えるPC等のコンピュータ(端末)は、インターネット上のサービス(コンテンツ等)にアクセスする。例えばAmazon(登録商標)等による電子商取引(EC)のサービスや、Google(登録商標)等による情報検索のサービスなどがあり、当該サービスを提供するWebサイト(サーバ)にアクセスする。当該サーバを含むノード群の中では、複数のノード間でサービスの処理(例えば分散処理等)が行われ、その結果がユーザの端末へ応答される。またユーザの端末は、当該ノード群の中でどのように処理が行われたか等について知る必要が無い。   Examples of cloud services (hereinafter also simply referred to as “services”) are as follows. A computer (terminal) such as a PC provided with a Web browser used by a user (client) accesses a service (content etc.) on the Internet. For example, there are electronic commerce (EC) services such as Amazon (registered trademark), information retrieval services such as Google (registered trademark), and the like, and a Web site (server) that provides the service is accessed. In the node group including the server, service processing (for example, distributed processing) is performed between a plurality of nodes, and the result is returned to the user terminal. Further, the user terminal does not need to know how the processing is performed in the node group.

また、上記クラウドコンピューティングによるサービスに関する技術として、例えば、Amazon EC2(Amazon Elastic Compute Cloud)(非特許文献1)などがある。   Further, as a technology related to the service by the cloud computing, for example, Amazon EC2 (Amazon Elastic Compute Cloud) (Non-Patent Document 1) is available.

“Amazon Elastic Compute Cloud (Amazon EC2)”、amazon web services(登録商標)、[平成21年9月1日検索]、インターネット<URL:http://aws.amazon.com/ec2/>“Amazon Elastic Compute Cloud (Amazon EC2)”, amazon web services (registered trademark), [Search September 1, 2009], Internet <URL: http://aws.amazon.com/ec2/>

クラウド的なサービス及びそのシステムの提供は、現状、一部の企業によりリードされている。特に、AmazonやGoogle等の企業は、多数のサーバを含む巨大なインフラ(資源)等によって、クラウド的なサービス・システムを提供している。そのようなインフラ(資源)等を持たない多数の中小企業や個人等のユーザは、クラウド的なサービス・システムの利用側に留まる傾向にある。即ち、一部の企業のクラウド的なサービス・システムを、従量課金などの形で使わせてもらうことが多くなる。   The provision of cloud services and systems is currently being led by some companies. In particular, companies such as Amazon and Google provide a cloud-like service system with a huge infrastructure (resources) including a large number of servers. A large number of users such as SMEs and individuals who do not have such infrastructure (resources) tend to remain on the cloud-side service system usage side. In other words, some companies' cloud-like service systems are often used in the form of pay-per-use.

インターネット上でのECや情報検索などの各種の機能は、社会的・公共的なインフラ等としての影響力が大きい。よって、そのような機能のためのクラウド的なサービス・システムの提供は、少数の企業に限られることなく、多数・多様な企業や個人の参加が望ましいと考える。   Various functions such as EC and information retrieval on the Internet have great influence as social and public infrastructure. Therefore, the provision of a cloud-like service system for such functions is not limited to a small number of companies, and it is desirable that a large number of diverse companies and individuals participate.

また、クラウド的なシステムの実装が特定の企業によるものである場合、例えば単一の実装が支配的になることで、その実装の脆弱性がシステム環境全体に悪影響を及ぼす可能性が懸念される。よって、クラウド的なシステムは、多様な実装によって構成が可能であることが望ましいと考える。   In addition, when the implementation of a cloud system is by a specific company, there is a concern that the vulnerability of that implementation may adversely affect the entire system environment, for example, because a single implementation becomes dominant . Therefore, it is desirable that a cloud system can be configured by various implementations.

以上を鑑み、本発明の主な目的は、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる仕組みを提供することである。   In view of the above, a main object of the present invention is to provide a mechanism related to a cloud computing system, in which a large number of diverse users can participate, and the entire system environment can be developed satisfactorily.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。本発明では、前述の仕組みを実現するために、クラウドコンピューティングシステムの構成のモデルとして、オープン、完全分散型のシステムを考える。即ち、通信ネットワーク上における情報処理システム(ノード(コンピュータ)群のネットワーク)において、例えば一部の企業のノードに限定されることなく、不特定多数のユーザ(参加者)のノードが自由に参加/離脱が可能であり、各ノードが、クラウド的なサービスの提供(構成)のためのコンピュータ資源を提供(供出)すると共に、当該サービスを利用可能であるような仕組みである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows. In the present invention, in order to realize the above-described mechanism, an open and completely distributed system is considered as a configuration model of a cloud computing system. That is, in an information processing system (a network of nodes (computers) group) on a communication network, for example, the nodes of an unspecified number of users (participants) can freely participate / This is a mechanism in which each node can provide (deliver) computer resources for provision (configuration) of a cloud-like service, and the service can be used.

サービス提供側のモデルとして、各参加者のノードは、記憶資源や計算資源等を自由に提供し、それらの複数のノードの資源(その結合)により、クラウド的なサービスを構成し提供する。また、サービス利用側のモデルとして、各参加者のノードは、上記によるクラウド的なサービスにアクセス、利用することができる。   As a model on the service providing side, each participant's node freely provides storage resources, computing resources, and the like, and configures and provides a cloud-like service by using resources (a combination thereof) of the plurality of nodes. Further, as a model on the service use side, each participant's node can access and use the cloud service described above.

ここで、上記のように各ノードがサービス(資源)の提供と利用の両方を行うようなシステムでは、上記サービス(その資源)の提供と利用のバランスが1つの問題になる。即ち、一方のユーザはサービス(資源)の利用の度合いよりも提供の度合いの方が大き過ぎるのに対し、逆に他方のユーザは利用の度合いが大き過ぎる、といった偏りや、ただ乗り等を許容する仕組みは望ましくない。   Here, in a system in which each node provides and uses a service (resource) as described above, the balance between the provision and use of the service (its resource) becomes one problem. In other words, it is acceptable for one user to be biased or free riding, etc., while the degree of provision is too large for the service (resource) usage, whereas the other user is too much for usage. A mechanism to do this is not desirable.

この点、本システムでは、公平性などの実現のために、サービス(資源)の提供(供出)における貢献度(実績など)に応じてサービス(資源)の利用が可能になる仕組みを有する。即ち、各参加者のノードは、サービスの提供のための資源を提供(供出)する代わりに、サービス(資源)を利用する権限等を得る。言い換えれば、サービス(資源)を利用するための条件として、自らもサービス(資源)を供出しなければならない。これにより、適切なノードの参加を促し、不適切なノードの排除を促し、システム環境全体の実装などを効率化する。   In this respect, the present system has a mechanism that enables the use of services (resources) according to the degree of contribution (results, etc.) in the provision (delivery) of services (resources) in order to achieve fairness and the like. That is, each participant node obtains authority to use a service (resource) instead of providing (delivering) a resource for providing the service. In other words, as a condition for using the service (resource), the service (resource) itself must be provided. As a result, participation of appropriate nodes is encouraged, removal of inappropriate nodes is promoted, and implementation of the entire system environment is made efficient.

上記仕組みとして、本システムでは、あるノードによるサービス(資源)の提供の行為における正確性などを、別のノードにより評価し、その評価結果を、当該サービス(資源)を提供したノードによる別のサービス(資源)の利用(その権限等)に反映する仕組みを有する。   As the above mechanism, in this system, the accuracy of the act of providing a service (resource) by a node is evaluated by another node, and the evaluation result is obtained by another service by the node that provided the service (resource). It has a mechanism for reflecting (resources) usage (resources).

例えば、上記評価処理として、評価主体のノードは、評価対象のノード毎のサービス(資源)の提供の行為における、正確な応答データの有無などを判断することにより、上記正確性を評価する。当該評価(評価情報)として、例えば、当該ノードに関する利用の権限やポイント等を増減する。そして、当該評価結果の反映として、当該評価情報に応じて、当該評価対象のノードによるサービス(資源)の利用に関する制御(許可等)を実行する。   For example, as the evaluation process, the evaluation subject node evaluates the accuracy by determining the presence / absence of accurate response data in the act of providing the service (resource) for each node to be evaluated. As the evaluation (evaluation information), for example, the authority or points of use related to the node are increased or decreased. Then, as a reflection of the evaluation result, control (permission, etc.) relating to the use of the service (resource) by the node to be evaluated is executed according to the evaluation information.

本システム形態は、例えば、ユーザのコンピュータによるノード(群)が通信接続されるネットワークを有し、前記ノードは、ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービス(各種のサービス)を提供する処理を行う提供機能と、前記サービスを要求して利用する処理を行う利用機能と、前記利用機能を用いるノード(第1のノード)と前記提供機能を用いるノード(第3のノード)との間に介在して前記サービスを実行(制御等)する処理を行う実行機能と、前記提供機能を用いるノード(第3のノード)による前記サービス(その資源)の提供の行為を評価してその評価情報を保持するための評価機能と、を有する。例えば第1のノード(NA)は利用機能、第2のノード(NB)は実行機能及び評価機能、第3のノード(NC)は提供機能、第4のノード(ND)は評価機能を用いた処理を行う。   This system form includes, for example, a network to which a node (group) by a user's computer is communicatively connected, and the node provides a resource by hardware and software, thereby providing a cloud computing service (various services). ) Providing a function for providing a service, a use function for performing a process of requesting and using the service, a node using the use function (first node), and a node using the provision function (third node) And an execution function for executing (controlling, etc.) the service, and an operation of providing the service (its resource) by a node (third node) using the providing function. And an evaluation function for holding the evaluation information. For example, the first node (NA) uses a use function, the second node (NB) uses an execution function and an evaluation function, the third node (NC) uses a providing function, and the fourth node (ND) uses an evaluation function. Process.

本システムでは、前記サービス(各種サービスのうちいずれのサービスでもよい)の実行(利用)時、第1のノードの利用機能は、第2のノードの実行機能を経由して、第1のグループの複数の第3のノードの提供機能にアクセスし、当該提供機能からの応答が、当該第2のノードの実行機能を経由して、当該第1のノードの利用機能へ応答される処理が行われる。また、上記処理に伴い、前記第2のノードまたは第4のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存する。そして、本システムでは、前記評価情報における評価の高低に基づいて、前記第3のノードが前記サービス(各種サービスのうちいずれのサービスでもよい)を利用する際における前記利用機能(即ち前記第1のノードの利用機能と同じ)からの前記サービスの利用(実行)時、当該利用の可否などを制御する(前記評価の高低を、前記サービスの利用の条件に反映する)。   In this system, when the service (any of the various services) is executed (used), the usage function of the first node is passed through the execution function of the second node to the first group. A process is performed in which a provision function of a plurality of third nodes is accessed, and a response from the provision function is returned to a use function of the first node via an execution function of the second node. . Further, in accordance with the above processing, the evaluation function of the second node or the fourth node evaluates a response from each of the provision functions of the plurality of third nodes of the first group, and the evaluation information Save. In this system, based on the level of evaluation in the evaluation information, the third node uses the service (ie, the first service) when using the service (any service among various services). When the service is used (executed) from the same node use function), the availability of the service is controlled (the level of the evaluation is reflected in the condition for using the service).

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。本発明によれば、クラウドコンピューティングシステムに係わり、多数・多様なユーザが参加することができ、システム環境全体を良好に発展させることができる。   The effects obtained by typical ones of the inventions disclosed in the present application will be briefly described as follows. According to the present invention, it is related to a cloud computing system, a large number of various users can participate, and the entire system environment can be developed well.

本発明の一実施の形態のシステム(クラウドコンピューティングシステム)における、ノードネットワークの構成例を示す図である。It is a figure which shows the structural example of a node network in the system (cloud computing system) of one embodiment of this invention. 本システムにおける、ノードの構成例を示す図である。It is a figure which shows the structural example of a node in this system. 本システムにおける、サービス実行の際のノードの接続関係等の例(その1)(特にサービス提供ノードNCのグループG1)を示す図である。It is a figure which shows the example (the 1) (particularly group G1 of the service provision node NC) of the connection relation etc. of the node at the time of service execution in this system. 本システムにおける、サービス実行の際のノードの接続関係等の例(その2)(特にサービス評価ノードNDのグループG2)を示す図である。It is a figure which shows the example (the 2) (particularly group G2 of the service evaluation node ND) of the connection relation of the node in the case of service execution in this system. 本システムにおける、ハッシュ処理例を示す図であり、(a)はノード参加・登録時の処理例、(b)はサービス実行時の処理例を示す。It is a figure which shows the example of a hash process in this system, (a) shows the process example at the time of node participation and registration, (b) shows the process example at the time of service execution. 本システムにおける、ノードの持つ管理情報(M)の構成例を示す図であり、(a)は更新前の例、(b)は更新後の例を示す。It is a figure which shows the structural example of the management information (M) which a node has in this system, (a) shows the example before update, (b) shows the example after update. 本システムにおける、応用例として、変数X(A)と変数Y(B)を用いた制御例を示す図であり、(a)は処理例、(b)はサービスとグループの対応付けの例(その1)、(c)はサービスとグループの対応付けの例(その2)を示す。It is a figure which shows the example of control using the variable X (A) and the variable Y (B) as an application example in this system, (a) is a processing example, (b) is the example of matching of a service and a group ( (1) and (c) show an example (part 2) of association between services and groups.

図1〜図7を用いて、本発明の一実施の形態のシステム(クラウドコンピューティングシステム)について説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。なお説明上の記号として、ノードをN、ユーザ(参加者)をU、ノードのIPアドレスをA、そのハッシュ値をB、ノードの評価情報(ポイント)をP、クラウド的なサービスをS、管理情報をM、等として表す。   A system (cloud computing system) according to an embodiment of the present invention will be described with reference to FIGS. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted. As explanatory symbols, node N, user (participant) U, node IP address A, hash value B, node evaluation information (point) P, cloud service S, management Information is represented as M, etc.

<概念1−サービスの提供と利用>
まず、本システムの基本的な概念、概要や特徴などについて以下に説明し、その後、詳細な実施の形態について説明する。
<Concept 1-Provision and use of services>
First, the basic concept, outline, and features of the system will be described below, and then detailed embodiments will be described.

図1のように、本実施の形態のシステム(クラウドコンピューティングシステム)は、インターネットにおいて、不特定多数の参加者(ユーザU)によるコンピュータのノードN群の接続(配置)によりネットワーク100が構成される。本システムでは、ノードNでクラウド的なサービスSのための資源(記憶資源や計算資源)を提供(供出)し、ノードN間で当該サービスS(資源)を相互に利用し合う、オープン(参加/離脱が自由)、完全分散型のクラウドコンピューティングの情報処理システムである。完全分散型とは、集中管理ノードなどの特別なノードを持たず、各ノードが同様の機能を持つこと等を指す。   As shown in FIG. 1, in the system (cloud computing system) of the present embodiment, a network 100 is configured by connection (arrangement) of node N groups of computers by an unspecified number of participants (users U) on the Internet. The In this system, the resources (storage resources and computing resources) for the cloud-like service S are provided (delivered) at the node N, and the service S (resource) is mutually used between the nodes N. This is a fully distributed cloud computing information processing system. The fully distributed type means that each node has a similar function without having a special node such as a centralized management node.

本システムでは、参加者のノードによるサービス(資源)の提供の行為(貢献度)を評価し、その評価結果に応じたサービス(資源)の利用を可能にする仕組みを持つ。これにより、ノードによるサービス(資源)の提供と利用のバランスをとる。本システムでは、参加者のノードに対し、サービス(資源)の提供(供出)の対価として、サービス(資源)の利用を可能とする。逆に言えば、サービス(資源)の利用の条件として、サービス(資源)の提供(供出)を要求(強制)する。ユーザは、サービス(資源)の提供の評価に応じて、サービス(資源)を利用する権限やポイントなどを得る。   In this system, a service (resource) providing action (contribution) by a participant node is evaluated, and a service (resource) according to the evaluation result can be used. This balances the provision and use of services (resources) by nodes. In this system, it is possible to use services (resources) as consideration for the provision (delivery) of services (resources) to participants' nodes. In other words, as a condition for using the service (resource), the provision (delivery) of the service (resource) is requested (forced). The user obtains authority or points to use the service (resource) according to the evaluation of the service (resource) provision.

また本システムでは、恣意的な評価を回避して公平な評価をするために、ネットワーク100の参加者のノード群から、サービスSに応じて、例えばランダムな配置の複数のノード(それによるグループ)が、評価対象(相互評価対象)として設定(選択)される。例えば、ハッシュ処理を用いて、ノードのIPアドレスA等のハッシュ値Bが近い所定の範囲の複数のノードが1つのグループとされる。   Further, in this system, in order to avoid arbitrary evaluation and perform fair evaluation, from the node group of the participants of the network 100, for example, a plurality of nodes (groups based thereon) randomly arranged according to the service S Are set (selected) as evaluation targets (mutual evaluation targets). For example, using a hash process, a plurality of nodes in a predetermined range in which the hash value B such as the IP address A of the node is close to each other are set as one group.

また、公平な評価をするために、ネットワーク100の参加者のノード群から、サービスSに応じて、例えば所定のアルゴリズムにより選択されるランダムなノード(後述のNB)が、評価主体となる。   Further, in order to make a fair evaluation, a random node (an NB described later) selected by a predetermined algorithm, for example, according to the service S from the node group of the participants of the network 100 becomes the evaluation subject.

また、ユーザのノードが利用及び提供するサービスS(ストレージサービス等)だけでなく、本システムの仕組みを構成する評価等の各種の処理機能についても、特定のサービスSの処理(複数のノードによるグループを用いて行われる処理)として実現される。   In addition to the services S (storage services, etc.) used and provided by the user's node, the processing of specific services S (groups by a plurality of nodes) is also used for various processing functions such as evaluation constituting the system mechanism. This is realized as a process performed using

サービスSは、基本的な、ストレージサービスと、コンピューティングサービス(計算サービス)と、を含む。ストレージサービスは、複数のノード(それらで供出される記憶資源)に保存されるデータ(コンテンツ)に対する読み書き等の操作を行うことができるサービスである。計算サービスは、複数のノード(それらで供出される計算資源)に対して、データ(コンテンツ)と操作(オペレーション)の組を与え、当該ノードで当該データに対し当該操作を適用した結果を新しいデータとして返すことができるサービスである。   The service S includes a basic storage service and a computing service (calculation service). The storage service is a service that can perform operations such as reading and writing on data (content) stored in a plurality of nodes (storage resources provided by them). The calculation service gives a set of data (content) and operation (operation) to a plurality of nodes (computation resources provided by them), and the result of applying the operation to the data at the node is new data. It can be returned as a service.

評価機能(評価処理)としては、評価主体のノードは、例えばストレージサービスを提供するグループの各ノード(評価対象のノード)から、正確な応答データを正常に受信できたか否か等の判断により、当該ノードによるサービス(資源)の提供の正確性などを評価する。その評価結果(評価情報P)は、所定のノード(評価処理に係わるグループの複数のノード)に保存され、当該各ノード(評価対象のノード)におけるサービス(資源)の利用の権限やポイントなどに反映される。   As an evaluation function (evaluation process), for example, an evaluation subject node can determine whether or not correct response data has been normally received from each node (evaluation target node) of a group that provides storage services. Evaluate the accuracy of service (resource) provision by the node. The evaluation result (evaluation information P) is stored in a predetermined node (a plurality of nodes of the group related to the evaluation process), and is used for authority or points for using the service (resource) in each node (evaluation target node). Reflected.

本システムでは、上記のような、サービス(資源)の提供の結果を公平に評価してサービス(資源)の利用に反映する仕組みにより、ユーザ(参加者)に対して、資源供出によるサービス提供を促す。ユーザ(そのアイデンティティ)は、自ノードでの資源供出によるサービス提供の実績や品質を高めるほど、評価が上がり、他ノードのサービス(資源)を利用するための権限やポイントが向上する。逆に、ユーザ(そのアイデンティティ)は、他ノードのサービス(資源)をより利用したい場合、自ノードでの資源供出によるサービス提供の実績や品質を高める必要がある。本システムでは、上記仕組み(公平性やインセンティブの設計)により、適切なノードの参加を促して、不適切なノード(恣意的な、例えば悪意のあるノード)の排除(離脱)を促すことができる。即ち、本システム環境では、参加者のノードによる自発的な実装の最適化を促進でき、それと共に、ノード群の多様な実装の構成により、単一の実装が支配的になることによって一部の実装の脆弱性が環境全体に悪影響を及ぼすこと等を防ぐことができる。   In this system, services (resources) are provided to users (participants) by providing resources by using a mechanism that fairly evaluates the results of providing services (resources) and reflects the results in the use of services (resources). Prompt. As the user (its identity) increases the performance and quality of service provision by providing resources at his / her node, the evaluation increases and the authority and points for using the service (resource) of other nodes improve. On the other hand, when the user (its identity) wants to use the service (resource) of another node more, it is necessary to improve the performance and quality of the service provision by providing the resource at the own node. With this system (fairness and incentive design), it is possible to encourage the participation of appropriate nodes and to promote the removal (withdrawal) of inappropriate nodes (arbitrary, for example, malicious nodes). . In other words, in this system environment, it is possible to promote the optimization of voluntary implementation by the nodes of the participants, and at the same time, a single implementation becomes dominant due to the configuration of various implementations of the node group. Implementation vulnerabilities can prevent the entire environment from being adversely affected.

<概念2−規約>
本システム環境において、ノード群のサービス(資源)の提供と利用のバランスをとり、公平性などを確保するために、参加者(ノード)が遵守すべき規約を有する。本規約の目標の1つとして、大多数の参加者のノードが本規約を遵守することにより、本規約を遵守しない参加者のノード(不適切なノード)による実装(群)が本システム環境から自動的に排除されることがある。本システムのノードは、本規約を反映(実装)した構成(図2のモジュール10)を持つ。
<Concept 2-Rules>
In this system environment, in order to balance the provision and use of services (resources) of nodes, and to ensure fairness, etc., there are rules that must be observed by participants (nodes). As one of the goals of this agreement, the implementation (group) of participants 'nodes that do not comply with this agreement (inappropriate nodes) will be removed from this system environment when the majority of the participants' nodes comply with this agreement. May be automatically excluded. The node of this system has a configuration (module 10 in FIG. 2) reflecting (implementing) this agreement.

本システムは、参加者のノードが規約を正しく遵守していることを評価する仕組みを有する。この仕組みとして、特に、ノードによるサービス(資源)の提供による貢献を正確性などによって評価するものである。   This system has a mechanism for evaluating that a participant's node correctly observes the rules. As this mechanism, in particular, the contribution by the provision of services (resources) by nodes is evaluated by accuracy or the like.

<概念3−アイデンティティ>
本システムの参加者(ユーザ)は、サービス(資源)の提供と利用のバランスをとるためのアイデンティティを保有する。アイデンティティに対し、1つ以上のノードが所属する(1アイデンティティに対して複数のノードNを配置することも可能である)。アイデンティティは、ユーザ、ノード、供出資源、ポイント(P)などと関連付けられる。アイデンティティ(それに所属するノード)は、所定の認証(証明書)により確認される。認証(証明書)は、例えば公開鍵認証方式による。
<Concept 3-Identity>
Participants (users) of this system possess identities for balancing the provision and use of services (resources). One or more nodes belong to an identity (a plurality of nodes N can be arranged for one identity). An identity is associated with a user, node, offering resource, point (P), and so on. The identity (node belonging to it) is confirmed by predetermined authentication (certificate). Authentication (certificate) is based on, for example, a public key authentication method.

なお説明上、簡単のため、評価対象やポイントPなどについては、アイデンティティ単位ではなくノード単位で考える(1アイデンティティ−1ノードと考える)。例えば、評価対象がノードであり、ノードがポイントP(及び証明書等)を持つ、といったように説明するが、正確には、ノードの上位のアイデンティティが対象である。   For the sake of explanation, for the sake of simplicity, the evaluation target, the point P, and the like are considered in units of nodes, not in units of identities (considered as 1 identity-1 node). For example, the evaluation target is a node, and the node has a point P (and a certificate, etc.), but to be precise, the identity above the node is the target.

本システムは、完全分散型であり、アイデンティティを集中管理する仕組みを持たない仕組みである。この仕組みにおいて、アイデンティティの乱造等(例えばサービス利用のみのただ乗り等)を防止するために、アイデンティティは、実社会における何らかの有限な資源と対応付けされる。この有限な資源として、参加者のノード(コンピュータ)のIPアドレスA及び資源(記憶資源、計算資源)等を、アイデンティティと結びつける。これにより、アイデンティティの乱造等を防止する。   This system is completely decentralized and does not have a mechanism for centrally managing identities. In this mechanism, the identity is associated with some finite resource in the real world in order to prevent forgery of identity or the like (for example, free riding only for service use). As this finite resource, the IP address A and the resource (storage resource, calculation resource) of the participant's node (computer) are associated with the identity. This prevents identity forgery and the like.

参加者(ユーザ)のアイデンティティは、参加者自身が発行する例えば公開鍵方式の証明書によって識別(認証)される。アイデンティティに所属する1つ以上のノードも、その証明書によって識別(認証)される。参加者は、アイデンティティとして、資源を供出するn個(1つ以上)のノードを参加(所属)させることができる。これらn個のノードに対して、1つの証明書(アイデンティティ証明書)を発行する。n個のノードは、それぞれ異なるIPアドレスAが設定される。   The identity of the participant (user) is identified (authenticated) by, for example, a public key certificate issued by the participant. One or more nodes belonging to the identity are also identified (authenticated) by the certificate. A participant can join (belongs to) n (one or more) nodes that provide resources as an identity. One certificate (identity certificate) is issued to these n nodes. A different IP address A is set for each of the n nodes.

またノードは、アイデンティティ(当該アイデンティティが発行した証明書)に所属することを証明するための機能を保有(提供)する(図2の証明機能11)。   The node also has (provides) a function for proving that it belongs to an identity (certificate issued by the identity) (certification function 11 in FIG. 2).

サービスを利用する参加者(ノード)のアイデンティティは、参加者の証明書によって電子署名された証明書(メッセージ)として発行される。あるノード(他ノード証明機能)からあるノード(自ノード証明機能)に対してアイデンティティ(その証明)を要求すると、当該ノード(そのアイデンティティ)の証明書の秘密鍵で電子署名された署名付きメッセージが返される。この署名付きメッセージは、「このノードの実行者はこの公開鍵(秘密鍵)の所有者である」旨を記載したメッセージである。これにより、例えばアイデンティティに所属するノードのIPアドレスAが変更された後においても、以前のIPアドレスAのノードでの貢献(評価情報Pなど)を引き継ぐことができる。ノードのアイデンティティの証明書は、ノードのIPアドレスAが変わっても不変である。   The identity of the participant (node) using the service is issued as a certificate (message) electronically signed by the participant's certificate. When an identity (its proof) is requested from a certain node (other node certification function) to a certain node (own node certification function), a signed message digitally signed with the private key of the certificate of that node (its identity) returned. This signed message is a message describing that “the executor of this node is the owner of this public key (private key)”. Thereby, for example, even after the IP address A of the node belonging to the identity is changed, the contribution (evaluation information P or the like) at the node of the previous IP address A can be taken over. The node identity certificate remains unchanged even if the node IP address A changes.

参加者のアイデンティティ(そのノード)は、事前に公開鍵を公開する。また、アイデンティティ(そのノード)は、秘密鍵(証明書の秘密鍵)を秘匿保持する。アイデンティティ(そのノード)は、秘密鍵(それによる署名付きメッセージ)を用いて、ノードのアイデンティティを証明する。これにより、当該アイデンティティ(そのノード)は、他者から同定(正しいノードであることが認証)される。   The participant's identity (its node) publishes the public key in advance. The identity (the node) keeps the secret key (the certificate secret key) secret. The identity (that node) uses the private key (the resulting signed message) to prove the identity of the node. Thereby, the identity (the node) is identified (authenticated as a correct node) from others.

サービス提供の評価における評価情報(ポイント)Pは、上記証明書に基づいて、アイデンティティ(そのノード)単位に管理される。   Evaluation information (points) P in the evaluation of service provision is managed in units of identities (its nodes) based on the certificate.

アイデンティティの管理(証明機能11)により、ノードは、ユーザのアイデンティティとそれに纏わる権利を継承することができる。   By managing the identity (certification function 11), the node can inherit the identity of the user and the rights associated therewith.

<概念4−評価方式>
本システムのネットワーク100上、アイデンティティ(それに対応付けられるノード)におけるサービス(資源)の提供と利用のバランスを確保、管理するための仕組み(評価方式)及びその主体(ノードやその機能)を設ける。
<Concept 4-Evaluation Method>
On the network 100 of this system, a mechanism (evaluation method) and its subject (node and its function) are provided to ensure and manage the balance between the provision and use of services (resources) in the identity (nodes associated therewith).

本システムでは、図3、図4のように、サービスSに関する、利用(NA)、実行等(NB)、提供(NC)、評価等(ND)といった各ノード状態(機能)のノード間で処理が行われる。各ノードは、その都度の処理・状態に応じて機能(図2の21〜24)を切り替える。例えばノードNBは、サービスの実行の制御の際にはNB機能22を用いた処理を行い、評価に係わる処理の際にはND機能24を用いた処理を行うように切り替える。   In this system, as shown in FIG. 3 and FIG. 4, processing is performed between nodes in each node state (function) such as use (NA), execution, etc. (NB), provision (NC), evaluation, etc. (ND) related to the service S. Is done. Each node switches functions (21 to 24 in FIG. 2) according to the processing / state of each time. For example, the node NB switches to perform processing using the NB function 22 when controlling execution of the service, and to perform processing using the ND function 24 when performing processing related to evaluation.

ノード(サービス提供ノードNC)によるサービスS(資源)の提供の行為(正確性など)を正しく公平に評価するために、サービス利用ノードNAは、所定のアルゴリズムに従って決定されるノード(NB,ND等)を経由して、サービス提供ノードNCによるサービスSを利用する。   In order to correctly and fairly evaluate the act (accuracy, etc.) of providing the service S (resource) by the node (service providing node NC), the service using node NA is determined according to a predetermined algorithm (NB, ND, etc.) ) To use the service S by the service providing node NC.

本実施の形態では、評価主体として、当該所定のノード(NB,ND等)を用いて、最終的なサービス提供ノードNC(そのアイデンティティ)を評価対象として、当該サービス提供ノードNCによるサービス(資源)の提供に係わる評価(評価処理)を行う。特に、第1の評価方式では、サービス実行ノードNBにより評価処理を行い、第2の評価方式では、サービス評価ノードNDにより評価処理を行う。   In the present embodiment, using the predetermined node (NB, ND, etc.) as an evaluation subject, the service (resource) provided by the service providing node NC with the final service providing node NC (its identity) as an evaluation target Evaluation (evaluation process) related to provision of In particular, in the first evaluation method, evaluation processing is performed by the service execution node NB, and in the second evaluation method, evaluation processing is performed by the service evaluation node ND.

評価(評価処理)の対象は、ノード(グループの複数の各ノード)によるサービスS(資源)の提供の行為における正確性などである。この正確性の評価については、簡単には例えば、ノードNB−NC間における正確な応答の有無を2値的に判断することによる。また2値に限らず、上記提供(応答)の品質を多値で評価してもよい。例えば、応答時間(要求−応答に要した時間)の判断や、応答データの内容を正確な応答データと比較した場合の相違の程度の判断などによる。   The object of the evaluation (evaluation process) is the accuracy in the act of providing the service S (resource) by the node (each node of the group). This evaluation of accuracy is simply based on, for example, binary determination of the presence or absence of an accurate response between the nodes NB and NC. Moreover, you may evaluate the quality of the said provision (response) not only with binary but with multiple values. For example, it is based on determination of response time (time required for request-response) or determination of the degree of difference when the content of response data is compared with accurate response data.

また、評価処理としては、評価主体のノード(NB)は、サービスS(例えばストレージサービス)に応じたグループの複数のノードNCによる応答結果(例えばデータD)を、相互比較して、多数決的に、正確性などを判断、評価する。即ち例えば、一番多数の応答結果を正しい応答とみなし、他(少数)の応答結果を誤った応答とみなす、等である。   In the evaluation process, the evaluation subject node (NB) determines the majority by comparing the response results (for example, data D) by the plurality of nodes NC of the group corresponding to the service S (for example, storage service). Judge and evaluate accuracy. That is, for example, the largest number of response results are regarded as correct responses, and the other (small number) response results are regarded as incorrect responses.

そして、上記応答結果に応じて、例えば、当該正しい応答のノード(NC)の評価値(ポイント)を上げる(または維持する)。また、当該誤った応答のノード(NC)の評価値(ポイント)を維持する(または下げる)。評価方式としては、正しい応答のノードの評価値を上げる形態(それに応じてサービス利用の権限やポイントが上がる形態)としてもよいし、誤った応答のノードの評価値を下げる形態(それに応じてサービス利用の権限やポイントが下がる形態)としてもよい。   Then, according to the response result, for example, the evaluation value (point) of the node (NC) of the correct response is increased (or maintained). Further, the evaluation value (point) of the node (NC) of the erroneous response is maintained (or lowered). The evaluation method may be a mode in which the evaluation value of a node with a correct response is increased (a mode in which authority or points for using a service is increased accordingly), or a mode in which an evaluation value of a node with an incorrect response is decreased (a service in accordance therewith) It is also possible to use a form in which authority and points for use are lowered.

また、評価方式(評価情報Pの形態及びサービス利用・実行の制御の形態)としては、上記サービス(資源)の提供の評価によるポイントまたはそのレベル等を評価情報Pとして保存し、当該ポイントやレベル等の高低に応じて、サービス(資源)の利用の権限(他には例えば品質)を与える方式とする(サービス利用に応じてポイントは増減しない)。即ち、単純には例えば、通常時、当該ポイントが閾値以上であればサービス利用を許可し、(評価の低下により)閾値未満であればサービス利用を不許可にする制御が考えられる。また例えば、当該ポイントやレベル等に応じて、サービス利用のレベル(提供の品質、優先度など)などを変える制御も考えられる。   Further, as an evaluation method (a form of evaluation information P and a form of control of service use / execution), the points or levels of the service (resource) provided by the evaluation are stored as evaluation information P, and the points and levels The authority to use the service (resource) (others, for example, quality) is given according to the level of the service (points are not increased or decreased according to the service usage). In other words, for example, in normal times, it is conceivable to control the use of the service if the point is equal to or greater than a threshold, and to disallow the use of the service if the point is less than the threshold (due to a decrease in evaluation). In addition, for example, control of changing the level of service use (provided quality, priority, etc.) according to the point and level is also conceivable.

また、他の評価方式として、上記サービス(資源)の提供の評価によるポイント(評価値)を、サービス(資源)の利用に関するポイント(ポイントサービスのような方式)とも捉える方式としてもよい。即ち、サービス提供単位(評価の向上)毎に当該ポイントを増やし、サービス利用毎に当該ポイントを減らす(消費する)ような方式である。   As another evaluation method, a point (evaluation value) based on evaluation of the service (resource) provision may be regarded as a point (method like a point service) related to use of the service (resource). That is, the points are increased for each service provision unit (improvement of evaluation), and the points are decreased (consumed) for each service use.

また、自ノード内に自ノードに関する評価情報(ポイント)Pを保持しない仕組みにより、例えば悪意ある参加者が当該ポイントを改ざん等してサービス利用すること等が防止される。なお、上記改ざん等の情報セキュリティ上の問題が解決できるのであれば、自ノード内に自ノードに関する評価情報Pを保持して参照可能にする形態としてもよい。   Further, the mechanism that does not hold evaluation information (points) P related to the own node in the own node prevents, for example, malicious participants from tampering with the point and using the service. If information security problems such as tampering can be solved, the evaluation information P related to the own node may be held and referred to in the own node.

<ネットワーク>
上記に基づき、詳細な実施の形態について以下に説明する。図1において、本システムにおける、参加者(ユーザU−アイデンティティ)のノードN(群)によるネットワーク100を示している。いくつかのノードN(例:N1〜N8)のみを概略的に示す。N1に限らず、各ノードNi毎に、ユーザUi(アイデンティティ、証明書)、IPアドレスAi、そのハッシュ値Bi,評価情報(ポイント)Pi、管理情報Mi、等が対応付けられるとする。なおノードNi毎の評価情報(ポイント)Piは、自ノードNi内ではなく、他ノード(後述のND)内に保持・管理され、必要に応じてその情報が参照される。
<Network>
Based on the above, detailed embodiments will be described below. FIG. 1 shows a network 100 according to node N (group) of participants (user U-identity) in the present system. Only a few nodes N (eg N1-N8) are shown schematically. It is assumed that the user Ui (identity, certificate), IP address Ai, its hash value Bi, evaluation information (point) Pi, management information Mi, and the like are associated with each node Ni, not limited to N1. Note that the evaluation information (point) Pi for each node Ni is held and managed not in the node Ni but in another node (ND described later), and the information is referred to as necessary.

ネットワーク100は、IPネットワーク等により、ノードN間が通信リンク(破線)により直接的または間接的に接続され相互に通信可能である。本システムへの参加者となるユーザU(そのアイデンティティ)は、1つ以上のノードNを配置(参加)させることができる。単純な場合としては、1アイデンティティ−1ノードとして考えればよい。   The network 100 can communicate with each other by directly or indirectly connecting the nodes N with a communication link (broken line) through an IP network or the like. A user U (its identity) who is a participant in the system can place (participate) one or more nodes N. In a simple case, it can be considered as 1 identity-1 node.

<ノード、モジュール>
図2において、ノードNの構成例を示す。各参加者(ユーザU)のノードNは、本システムの仕組みを実現するモジュール10がインストールされる、例えばPCなどのコンピュータである。モジュール10は、プログラム等による構成であり、ノードNにより実行される。ユーザは、ノードN(モジュール10)を稼働させた状態(ネットワーク100に接続した状態)において、外部(他ノードN)にクラウド的なサービス(資源)を提供し、また、外部(他ノードN)のクラウド的なサービス(資源)を利用する。その提供と利用は、その都度、ユーザにより選択や設定ができる。
<Node, Module>
In FIG. 2, a configuration example of the node N is shown. The node N of each participant (user U) is a computer such as a PC in which the module 10 that implements the mechanism of the present system is installed. The module 10 is configured by a program or the like, and is executed by the node N. The user provides a cloud-like service (resource) to the outside (another node N) in a state where the node N (module 10) is operating (a state connected to the network 100), and the outside (another node N) Using cloud services (resources). Its provision and use can be selected and set by the user each time.

ノードNは、IPアドレスAとポートのセットを持ち、その値により識別可能であり、ノード間で通信可能である。   The node N has a set of an IP address A and a port, can be identified by the value, and can communicate between the nodes.

ノードNは、ハードウェア101(CPU、メモリ、ディスク、IO(周辺機器)など)、及びソフトウェア102(OS、ミドルウェア、サーバ、ブラウザ、アプリケーションなど)を備える。これらが記憶資源103や計算資源104に相当する。   The node N includes hardware 101 (CPU, memory, disk, IO (peripheral device), etc.) and software 102 (OS, middleware, server, browser, application, etc.). These correspond to the storage resource 103 and the calculation resource 104.

モジュール10は、証明機能11、ハッシュ処理機能12、サービス機能13、資源供出機能(設定機能)14、情報管理機能15などを有する。また、モジュール10は、各ノード状態(後述のNA〜ND等)に応じた処理機能として、サービス利用機能(NA機能)21、サービス実行機能(NB機能)22、サービス提供機能(NC機能)23、サービス評価機能(ND機能)24などを備える。また、ノードNは、管理情報テーブル(M)50、証明書(アイデンティティ/ノード証明書)51、ログ情報(L)53、評価情報(P)54、等の情報データを保持する。   The module 10 has a certification function 11, a hash processing function 12, a service function 13, a resource delivery function (setting function) 14, an information management function 15, and the like. The module 10 includes a service use function (NA function) 21, a service execution function (NB function) 22, and a service provision function (NC function) 23 as processing functions corresponding to each node state (NA to ND described later). Service evaluation function (ND function) 24 and the like. The node N also holds information data such as a management information table (M) 50, a certificate (identity / node certificate) 51, log information (L) 53, evaluation information (P) 54, and the like.

証明機能11は、ノードN及びそのアイデンティティに関する証明(認証)に係わる処理機能であり、自ノード証明機能11a、他ノード証明機能11bなどを有する。自ノード証明機能11aは、自ノードの証明書51を発行する処理等を行う(他ノードからの要求に対して自ノードを証明する場合)。他ノード証明機能11bは、他ノードの証明書51を認証(確認)する処理等を行う(自ノードから要求して他ノードを証明させる場合)。なお、証明書51における秘密鍵情報は、自ノード内に秘匿される。   The certification function 11 is a processing function related to certification (authentication) related to the node N and its identity, and includes a local node certification function 11a, another node certification function 11b, and the like. The own node certification function 11a performs a process of issuing the own node certificate 51 (when the own node is certified in response to a request from another node). The other node certification function 11b performs a process of authenticating (confirming) the certificate 51 of the other node (when requesting from the own node to prove the other node). Note that the private key information in the certificate 51 is concealed within its own node.

証明機能11は、ノードがユーザのアイデンティティとそれに纏わる権利を継承することができる機能を構成する一部である。ノード(例えば新規参加ノード)は、証明機能11を用いることにより、自ノードに関連付けられるアイデンティティとその権利(評価情報P、それに基づくサービス利用の権限など)を継承することができる。   The certification function 11 is a part that constitutes a function that allows the node to inherit the user's identity and the rights associated therewith. By using the certification function 11, a node (for example, a new participating node) can inherit the identity associated with the node and its right (evaluation information P, authority to use a service based thereon).

ハッシュ処理機能12は、各種のサービスS(そのサービスタイプT)と、その処理主体(アクセス先)となるノードNのグループとの対応付け等のためのハッシュ処理(ハッシュ関数を用いた処理)を行う。   The hash processing function 12 performs hash processing (processing using a hash function) for associating various services S (its service type T) with the group of the node N that is the processing subject (access destination). Do.

サービス機能13は、基本的なストレージサービス13a(サービスタイプT1)の処理や、コンピューティングサービス13b(サービスタイプT2)の処理や、それらを用いた応用的なサービス13c(サービスタイプTx)の処理を、供出資源(記憶資源43、計算資源44等)を用いて行う。例えば、記憶資源43におけるストレージサービス(T1)13aの処理では、外部のノードNとの通信(要求−応答)が行われ(a)、キーKで識別されるデータD(コンテンツ)に対して読み書き等の操作が行われる。例えば、計算資源44における計算サービス(T2)13bの処理では、外部のノードNとの通信(要求−応答)が行われ(b)、キーKで識別されるデータD(コンテンツ)に対する操作(オペレーションO)が行われ、その結果のデータD’が返される。   The service function 13 performs basic storage service 13a (service type T1) processing, computing service 13b (service type T2) processing, and applied service 13c (service type Tx) processing using them. , Using the provided resources (storage resources 43, computing resources 44, etc.). For example, in the processing of the storage service (T1) 13a in the storage resource 43, communication (request-response) with an external node N is performed (a), and data D (content) identified by the key K is read / written. Etc. are performed. For example, in the processing of the calculation service (T2) 13b in the calculation resource 44, communication (request-response) with an external node N is performed (b), and an operation (operation) on the data D (content) identified by the key K is performed. O) is performed and the resulting data D ′ is returned.

資源供出機能14は、自ノードNのハードウェア101及びソフトウェア102による資源(記憶資源103、計算資源104等)をもとに、サービスSの提供のために供出する資源(記憶資源43、計算資源44など)を設定する処理などを行う。例えば参加者(ユーザU)は、どの程度まで当該資源を供出するか、資源の量や稼働時間などを、自由に設定することができる。   The resource supply function 14 is a resource (storage resource 43, calculation resource) provided for providing the service S based on the resource (storage resource 103, calculation resource 104, etc.) by the hardware 101 and software 102 of the own node N. 44) is set. For example, the participant (user U) can freely set the amount of the resource to be delivered, the amount of resources, the operation time, and the like.

情報管理機能15は、本システムの仕組みを管理するための管理情報(M)50などを作成、管理する。また、情報管理機能15は、外部のノードNと通信して管理情報(M)50の情報データを授受する(c)。   The information management function 15 creates and manages management information (M) 50 and the like for managing the system mechanism. Further, the information management function 15 communicates with an external node N to exchange information data of the management information (M) 50 (c).

また、サービス実行機能22やサービス評価機能24は、ログ情報(L)53や評価情報(P)54を、外部のノードと通信して授受する(d)。   Further, the service execution function 22 and the service evaluation function 24 exchange log information (L) 53 and evaluation information (P) 54 by communicating with external nodes (d).

<クラウドコンピューティングサービス>
本システムにおいて、基本的なクラウドコンピューティングサービス(クラウド的なサービスS)の機能について説明する。このサービスS自体の仕組みは、既存技術と基本的に同様である。
<Cloud computing service>
In this system, functions of a basic cloud computing service (cloud service S) will be described. The mechanism of the service S itself is basically the same as that of the existing technology.

本サービスSは、基本的なものとして、ストレージサービス13aと、コンピューティングサービス(計算サービス)13bと、を含む。それぞれ識別のためのサービスタイプTを、T1,T2とする。サービス毎に異なるサービスタイプT等の情報が設定され管理情報Mに管理される。   The service S basically includes a storage service 13a and a computing service (calculation service) 13b. The service types T for identification are T1 and T2. Information such as service type T that is different for each service is set and managed in management information M.

(1)ストレージサービス13a(T1): 対象となるコンテンツ(データD)(それを一意に識別するキーK)に対して、読み書き等(作成・参照・更新・削除等)の操作を行うことができるサービスである。対象データDは、サービス提供ノードNCの供出する記憶資源43を利用して保存される。同じグループ内の複数のノードNCに対象データD(複製)が保存される。   (1) Storage service 13a (T1): To perform operations such as reading / writing (creation / reference / update / deletion, etc.) on the target content (data D) (key K uniquely identifying it). It is a service that can be done. The target data D is stored using the storage resource 43 provided by the service providing node NC. The target data D (replication) is stored in a plurality of nodes NC in the same group.

(2)コンピューティングサービス13b(T2): サービス提供ノードNC(その供出する計算資源44)に対して、対象のコンテンツ(データD)と操作(オペレーションO)の組(計算要求)が与えられ、当該ノードで当該データDに対し当該オペレーションOを適用した結果(計算結果)を新しいコンテンツ(データD’)として応答するサービスである。   (2) Computing service 13b (T2): A set (calculation request) of the target content (data D) and operation (operation O) is given to the service providing node NC (the computing resource 44 to be delivered), In this service, the result (calculation result) of applying the operation O to the data D at the node is returned as new content (data D ′).

参加者のノード(IPアドレス+ポート)において、資源を供出することにより、少なくとも上記基本的なサービス(T1,T2)を提供する。また、上記基本的なサービス(T1,T2)を組み合わせて用いることにより、応用的なサービス13c(Tx)を構成し提供することが可能である。これらのサービス(資源)の提供における正確性などが評価対象となる。   At least the basic services (T1, T2) are provided by providing resources at the node (IP address + port) of the participant. Further, by using a combination of the basic services (T1, T2), it is possible to configure and provide an applied service 13c (Tx). The accuracy of the provision of these services (resources) is subject to evaluation.

また、本システムにおける各種のサービスや処理は、クラウドコンピューティングにより実現されるサービスSである。即ち、いずれのサービスSにおいても、アクセス先となる範囲/グループにおける複数(3つ以上)のノードにおいて当該サービスに係わる同様の処理が行われる。当該グループ/範囲は、後述の所定のアルゴリズム(ハッシュ処理)によって決定される。本システムで特徴的な、評価機能などの処理についても、特定のサービスS(サービスタイプT)の形で処理する。   Various services and processes in this system are services S realized by cloud computing. That is, in any service S, the same processing relating to the service is performed in a plurality (three or more) of nodes in the range / group to be accessed. The group / range is determined by a predetermined algorithm (hash process) described later. Processing such as an evaluation function, which is characteristic in this system, is also processed in the form of a specific service S (service type T).

上記サービスSの利用の際は、サービスタイプTや対象データD(そのキーK)やその操作等を指定して要求することにより可能である。なお具体的なサービス提供ノードNCのIPアドレスA等を指定、意識する必要は無い(管理情報Mで管理されており、自動的にアクセス先のグループのノードが判断、決定される)。   When using the service S, it is possible to specify and request the service type T, the target data D (its key K), its operation, and the like. It is not necessary to designate and be aware of the specific IP address A of the service providing node NC (managed by the management information M, and the node of the access destination group is automatically determined and determined).

<モデル、処理の流れ>
図3,図4を用いて、本システム(ネットワーク100)におけるノード群によるサービスSの実行時(利用(要求)、提供(応答)、評価等)における一連の処理の流れやモデルについて説明する。図3,図4では、ユーザU1のノードN1(NA)から、サービスS(例えばストレージサービス(T1))を利用する場合における、各状態のノード(NA,NB,NC,ND)の接続関係の例を示している。図3は特にサービス提供ノードNCとなるグループG1を示す。図4は特にサービス評価ノードNDとなるグループG2を示す。
<Model and process flow>
A series of processing flows and models at the time of execution (use (request), provision (response), evaluation, etc.) of the service S by the nodes in the system (network 100) will be described with reference to FIGS. 3 and 4, the connection relationship of the nodes (NA, NB, NC, ND) in each state when the service S (for example, the storage service (T1)) is used from the node N1 (NA) of the user U1. An example is shown. FIG. 3 shows a group G1 that serves as the service providing node NC. FIG. 4 particularly shows a group G2 which is a service evaluation node ND.

ノードNA(例えばN1)は、NA機能21により、クラウド的なサービスSを要求して利用するノードであり、「サービス利用ノード」と称する。ノードNC(例えばN3(NC1),N4(NC2),N5(NC3))は、NC機能23により、クラウド的なサービスSを提供するノードであり、「サービス提供ノード」と称する。   The node NA (for example, N1) is a node that requests and uses the cloud service S by the NA function 21, and is referred to as a “service use node”. The nodes NC (for example, N3 (NC1), N4 (NC2), N5 (NC3)) are nodes that provide the cloud-like service S by the NC function 23, and are referred to as “service providing nodes”.

ノードNB(例えばN2)は、ノードNAによるサービスSの利用と、ノードNCによる当該サービスSの提供との間に介在(経由)するノードであり、「サービス実行ノード」と称する。ノードNBは、NB機能22により、サービスSの実行を制御し、ノードNCによるサービスSの提供を把握してログ情報Lとして記録すると共に、当該提供(応答)を評価処理して評価情報Pとして記録し、これらの情報をノードNDに送信して保存させる。   The node NB (for example, N2) is a node that is interposed between the use of the service S by the node NA and the provision of the service S by the node NC, and is referred to as a “service execution node”. The node NB controls the execution of the service S by the NB function 22, grasps the provision of the service S by the node NC, records it as log information L, evaluates the provision (response), and evaluates it as the evaluation information P. Record and send this information to the node ND for storage.

ノード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が含まれている。   The node ND (NDa, NDc) holds the evaluation information P related to the service providing node NC by the ND function 23 and confirms or provides the evaluation information P according to a request (reference) from the node NB And is referred to as a “service evaluation node”. The node NDc (for example, N6) is a node that holds log information L (Lc) and evaluation information P (Pc) regarding the node NC (group G1) in FIG. The evaluation information Pc includes evaluation information (points) (P3 to P5) of each node (N3 to N5) of the group G1. Similarly, the node NDa (for example, N8) is a node that holds log information L (La) and evaluation information P (Pa) regarding the node NA (N1) in FIG. 3 (when the node is in the NC state). The evaluation information Pa includes evaluation information (points) P1 of the node N1.

例として、以下、ストレージサービス(T1)の実行の場合の流れ(201〜204)を説明する。対象データ(コンテンツ)をDa,そのキーをKaとする。操作は、対象データDaの保存(書き込み)や参照(読み出し)等、いずれの場合も同様である。キーKaのデータDa(複製)を保有する複数(例えば3つ)のノードNC(例:N3〜N5)を有する。また評価方式としては、ノードNBで評価処理を行う場合であり、ノードNDに評価情報Pを保存して参照可能とする場合である。また、ノードNA,NBは1つの場合であり、ノードNC,NDは複数(3つ以上)の場合である。なお各ノードの証明(認証)は前述の証明機能11を用いて随時行われるが説明は省略する。   As an example, the flow (201 to 204) in the case of executing the storage service (T1) will be described below. The target data (content) is Da, and its key is Ka. The operation is the same in any case, such as storage (writing) or reference (reading) of the target data Da. It has a plurality (for example, three) of node NCs (for example, N3 to N5) that hold data Da (replication) of the key Ka. The evaluation method is a case where the evaluation process is performed at the node NB, and the evaluation information P is stored in the node ND and can be referred to. Further, there is one node NA, NB, and there are a plurality (three or more) nodes NC, ND. In addition, although certification (authentication) of each node is performed at any time using the above-described certification function 11, description thereof is omitted.

第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)の確認(参照)の処理に係わり、NDcはNC(G1)に関する評価情報(Pc)等の保存の処理に係わる。処理順序の例としては、{a1,b1,b2,a2,a3,a4,b3}である。   First, the flow of 201 (a1, a4), 203 (a2 (a2-1 to 3), a3 (a3-1 to 3)) is a request-execution of service S between NA-NB-NCs. Indicates response processing. On the other hand, secondly, the flow of 202 (b1, b2), 204 (b3 (b3-1 to 3)) is a process related to the evaluation between NB-ND (NDa, NDc) associated with the first process. Show. NDa is related to the process of confirming (referring to) evaluation information (Pa) related to NA (N1), and NDc is related to the process of storing evaluation information (Pc) related to NC (G1). An example of the processing order is {a1, b1, b2, a2, a3, a4, b3}.

(1)(a1:サービス要求): サービス利用ノードNA(N1)(そのNA機能21)から、サービス実行ノードNB(N2)(そのNB機能22)へ、サービスSの利用要求を発行・送信する。この要求には、[サービスタイプ(T1)+キー(Ka)]等の情報(その他、適宜、書き込みデータ、操作の指示等の情報)が含まれる。例えば、NA(N1)は、管理情報M(M1)の参照に基づき、アクセス先となるNBを決定してアクセスする。   (1) (a1: Service request): The service use node NA (N1) (its NA function 21) issues and transmits a service S use request to the service execution node NB (N2) (its NB function 22). . This request includes information such as [service type (T1) + key (Ka)] (and other information such as write data and operation instructions as appropriate). For example, NA (N1) determines and accesses an NB as an access destination based on reference to management information M (M1).

(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の確認の処理についても所定のサービスとして実現され、アクセス先は所定のグループG3の複数のノードNDaとなる。   (2) (b1, b2: Evaluation information confirmation): The service execution node NB (N2) first determines the node ND (NDa: ND) based on the management information M (M2) reference to the access (a1) from the NA. An access / request (b1) for confirming (referring to) the evaluation information Pa (P1) related to the NA (N1) is performed on the node holding the evaluation information Pa (P1) related to the NA (N1). . In the present embodiment, the NB function 22 (or ND function 24) of the node NB accesses the node NDa (ND function 24), confirms the evaluation information Pa of the node NA, and controls the execution of the service S. . Note that the process of checking the evaluation information P is also realized as a predetermined service, and the access destination is a plurality of nodes NDa of the predetermined group G3.

上記アクセス(b1)に対し、例えば、NDa(N8)は、管理情報M(M8)及び評価情報Pa(P1)の参照に基づき、当該ノードNA(N1)(そのアイデンティティ)が現在のポイントP1等に応じて当該サービスSの利用(実行)が許可されるか否か(権限)等を確認する。あるいは、他の方式では、NDaは、当該サービスSの利用のために当該ノードNA(N1)のポイントPa(P1)を消費(減少)する処理などを行う。   For the access (b1), for example, the NDa (N8) determines that the node NA (N1) (its identity) is the current point P1 based on the reference to the management information M (M8) and the evaluation information Pa (P1). Whether or not the use (execution) of the service S is permitted is confirmed. Alternatively, in another method, the NDa performs a process of consuming (decreasing) the point Pa (P1) of the node NA (N1) in order to use the service S.

そして、NDaからNBへ、その確認の結果(例えばOK(許可)/NG(不許可))を送信する(b2)。OK(許可)であれば、それ以降の処理(a2以降)が行われる。なおNDaでの確認は、b2(Paを取得する)の後にNBで行ってもよい。   Then, the confirmation result (for example, OK (permitted) / NG (not permitted)) is transmitted from NDa to NB (b2). If OK (permitted), the subsequent processing (after a2) is performed. The confirmation with NDa may be performed with NB after b2 (obtains Pa).

(3)(G1(NC)の決定): 次にノードNB(N2)(そのNB機能22)は、管理情報M2の参照に基づき、当該サービスS(T1)(対象データDa)を提供する、アクセス先となる複数のノードNCのグループG1を、ハッシュ処理(入力値[T1+Ka])により決定(確認)する。これはハッシュ処理機能12を利用する(詳しくは後述)。これによりアクセス先となる各ノードNC(例:NC1〜NC3)のIPアドレスA(A3〜A5)等が認識される。   (3) (Determination of G1 (NC)): Next, the node NB (N2) (its NB function 22) provides the service S (T1) (target data Da) based on the reference of the management information M2. A group G1 of a plurality of node NCs to be accessed is determined (confirmed) by hash processing (input value [T1 + Ka]). This uses the hash processing function 12 (details will be described later). As a result, the IP address A (A3 to A5) of each node NC (eg, NC1 to NC3) to be accessed is recognized.

上記処理の際にNB(N2)が参照する管理情報M2では、例えば、[T1+Ka]を含む情報を入力値としたハッシュ処理により、複数のノードNCのグループG1が対応付けられ、各IPアドレスA(A3〜A5)が得られる。   In the management information M2 referred to by the NB (N2) in the above process, for example, a group G1 of a plurality of nodes NC is associated with each IP address A by hash processing using information including [T1 + Ka] as an input value. (A3 to A5) are obtained.

(4)(a2:サービス実行(要求)): NB(NB機能22)は、アクセス先のグループG1の複数(3つ)の各ノードNC(NC1〜NC3)(キーKaのデータDaを保有するノード)に対し、並列的に、サービスSの提供の要求を送信する(a2−1〜3)。当該要求には、サービスタイプT1,キーKa,操作指示等の情報が含まれる。例えばデータDa自体の参照(読み出し)の要求である。   (4) (a2: Service execution (request)): The NB (NB function 22) holds a plurality of (three) nodes NC (NC1 to NC3) (data Ka of the key Ka) of the access destination group G1. A request for providing the service S is transmitted in parallel to the node (a2-1 to 3). The request includes information such as service type T1, key Ka, and operation instruction. For example, it is a request for reference (reading) of the data Da itself.

なお上記並列的なアクセスは、サービスタイプTに応じて、同時実行の場合、順次実行の場合などが可能である。またサービス自体は、1つでも正しい応答がNCから得られれば、NAへ応答(a4)をすることができる。   The parallel access can be executed simultaneously or sequentially depending on the service type T. The service itself can send a response (a4) to the NA if at least one correct response is obtained from the NC.

(5)(a3:サービス提供(応答)): NBからの要求(a2)を受けた各ノードNC(NC機能23)は、稼働状態の場合において、自ノードの記憶資源43における、キーKaにより指定されるデータDaに対する指定の操作(例えば読み出し)を行い、その結果(例えばデータDa自体)をNBへ応答として送信する(a3−1〜3)。NBは、各NC(NC1〜NC3)からの応答を受信する。ただし、NCが非稼働状態、高負荷状態、NB−NC間の通信リンクが障害状態、などの場合には、正確で迅速な応答は得られない。また、その時点のノードNCの状況(例えば非稼働状態)によっては、当該対象データDaを更新できない場合もあるが、少なくとも1つのノードNCで当該データを更新できれば、その後、当該グループG1内のノードNC間で当該データを授受(コピー)することにより(205)、各ノードNCで当該データDaを保持することができる。   (5) (a3: Service provision (response)): Each node NC (NC function 23) that has received the request (a2) from the NB, in the operating state, uses the key Ka in the storage resource 43 of its own node. A designated operation (eg, reading) is performed on the designated data Da, and the result (eg, data Da itself) is transmitted as a response to the NB (a3-1 to 3). The NB receives a response from each NC (NC1 to NC3). However, an accurate and quick response cannot be obtained when the NC is not operating, the load is high, or the communication link between the NB and the NC is in a failure state. In addition, depending on the state of the node NC at that time (for example, the non-operating state), the target data Da may not be updated. However, if the data can be updated by at least one node NC, then the nodes in the group G1 By transferring (copying) the data between the NCs (205), the data Da can be held in each node NC.

(6)(a4:サービス応答): NB(NB機能22)は、グループG1の各NC(NC1〜NC3)からの応答をもとに、要求元のノードNAへ、当該応答(正確な応答データ)を送信する。NA(NA機能21)は、当該応答を受信する。   (6) (a4: Service response): The NB (NB function 22) sends the response (accurate response data) to the requesting node NA based on the response from each NC (NC1 to NC3) of the group G1. ). The NA (NA function 21) receives the response.

(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の評価値(ポイント)を増減する。計算サービス(T2)の場合にも、他の応用的サービス(Td)の場合にも、同様な考え方で評価可能である。NBは、上記評価処理の結果により評価情報P(Pc)を作成し、例えばログ情報L(Lc)と共に、またはその一部として、記録する。   (7) (Evaluation Process): The node NB performs the above processes (a3, a4), and also performs a process related to the evaluation regarding the node NC (providing the service S) with the node ND (group G2). First, the NB (NB function 22) logs information L (Lc) on the status / result (actual) of execution (201, 203) of the service S (T1) including the status / result of response by each NC of G1. ). Moreover, NB (ND function 24) performs an evaluation process about the response result (a3-1 to 3) of each NC of G1. Specifically, for example, the NB aggregates the response results of each NC and evaluates the accuracy of the response of each NC based on a majority decision. For example, it can be confirmed that the response contents are correct when the response results from the NCs are the same. Also, the NB determines, for example, whether or not an accurate response (its data) from each NC has been received normally (rapidly) (OK) or not (NG) by binary, and thereby the evaluation value (points) of the node NC ) In the case of the calculation service (T2) and in the case of other applied services (Td), evaluation can be made in the same way. The NB creates evaluation information P (Pc) based on the result of the evaluation process, and records it, for example, with or as part of the log information L (Lc).

なお並列的な複数のノードNC間での相対的な比較評価に限らず、個別ノードNC単位の応答の絶対的な評価をしてもよい。またサービスSの内容(サービスタイプT)に応じて、そのサービスSの品質を判定してもよい(例えば動画配信サービスであればその動画データの品質や、応答時間の長短など)。   It should be noted that not only relative comparison and evaluation among a plurality of nodes NC in parallel, but also absolute evaluation of responses in units of individual nodes NC may be performed. Further, the quality of the service S may be determined according to the content of the service S (service type T) (for example, in the case of a moving image distribution service, the quality of the moving image data, the length of response time, etc.).

上記NBによる評価情報Pは、評価方式に応じて、例えば、当該ノードNCの評価値(ポイント)の増減を表す情報である。例えば応答がOKのノードは+1、等である。   The evaluation information P by the NB is information indicating increase / decrease in the evaluation value (point) of the node NC, for example, according to the evaluation method. For example, the node whose response is OK is +1.

(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とは異なるノードが選択、決定される。   (B3: Storage of evaluation information): Based on the evaluation process, the NB (the ND function 24) converts the log information Lc and the evaluation information Pc into a plurality of nodes ND (NDc) (the ND of the predetermined group G2). Send (copy) to function 24) and save. Each ND may return a response to b3 to the NB. The process of storing the evaluation information P and the like is also realized as a predetermined service S (service type is Td), and a group G2 (for example, 3 in FIG. 4) by a plurality of nodes NDc to be accessed at the time of the process. The two nodes ND1 to ND3) are determined by a predetermined hash process (input value: including [Td], for example) as described above. Note that a node different from the NC is selected and determined as the ND.

グループG2の複数の各ノードNDc(例えばN6)(そのND機能24)は、内部に、NC(G1)に関するログ情報Lc及び評価情報Pcを保存(登録)する。評価情報Pcには、各NC(例:N3〜N5)に関するポイント(例:P3〜P5)が含まれる。なお、その時点のノードNDの状況(例えば非稼働状態)によっては、当該ログ情報Lc及び評価情報Pcを保存できない場合もあるが、少なくとも1つのノードNDcで当該情報を保存できれば、その後、当該グループG2内のノードNDc間で当該情報を授受(コピー)することにより(305)、各ノードNDcで当該情報を保持することができる。   Each node NDc (for example, N6) (the ND function 24) of the group G2 stores (registers) log information Lc and evaluation information Pc related to NC (G1) therein. The evaluation information Pc includes points (for example, P3 to P5) regarding each NC (for example, N3 to N5). The log information Lc and the evaluation information Pc may not be stored depending on the status of the node ND at that time (for example, the non-operating state). However, if the information can be stored in at least one node NDc, then the group By exchanging (copying) the information between the nodes NDc in G2 (305), the information can be held at each node NDc.

上記NDによる評価情報Pは、評価方式に応じて、例えば、当該ノードNCの評価値(ポイント)の絶対値(現在値)であり、NBからの評価情報P(増減量)を加算することにより更新される。   The evaluation information P by the ND is, for example, the absolute value (current value) of the evaluation value (point) of the node NC according to the evaluation method, and by adding the evaluation information P (increase / decrease amount) from the NB. Updated.

図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)が得られる。   In FIG. 4, the access (b3, 204) from the NB to the NDc is the access b3-1 to b3-1 to each node NDc (for example, ND1 (Nx), ND2 (Ny), ND3 (Nz)) of the group G2. . In NDc (Nx to Nz), IP address A is Ax to Az and hash value B is Bx to Bz, respectively. In the management information M2 referred to by the NB (N2) during the storage process (Td), for example, a group G2 of a plurality of nodes NDc is obtained by hash processing using information including a predetermined service type (Td) as an input value. Are associated with each other, and each IP address A (Ax to Az) is obtained.

上記NDc(G2)で保持される評価情報Pcは、NC(N3等)に関するものであるから、当該NC(N3等)がNA機能21によるNA状態として他のNB(例えばN9)を介して何らかのサービスSを利用する際に(311)、前述の202と同様に参照される(312)。   Since the evaluation information Pc held in the NDc (G2) is related to the NC (N3 etc.), the NC (N3 etc.) is in the NA state by the NA function 21 as a NA state through another NB (eg N9). When the service S is used (311), the service S is referred to in the same manner as 202 (312).

なお上記例において、他の評価方式では、NBでは評価処理を行わずにログ情報Lcの記録及び保存までを行い、NDcではそのログ情報Lcをもとに評価処理を行い評価情報Pcを保存する、といった形態となる。   In the above example, in the other evaluation methods, the NB does not perform the evaluation process but records and stores the log information Lc, and the NDc performs the evaluation process based on the log information Lc and stores the evaluation information Pc. It becomes the form.

<ハッシュ処理(サービスとノードのマッピング)>
次に、図5を用いて、ハッシュ処理について説明する。図5(a)は、本システムへのノードの参加・登録時における管理情報Mの構成のためのハッシュ処理の例を示す。図5(b)は、上記登録以降のサービス実行(利用・提供)時における管理情報Mの参照に基づくハッシュ処理の例を示す。
<Hash processing (service and node mapping)>
Next, the hash process will be described with reference to FIG. FIG. 5A shows an example of hash processing for the configuration of the management information M at the time of participation / registration of a node in this system. FIG. 5B shows an example of hash processing based on reference to the management information M at the time of service execution (use / provision) after the registration.

本実施の形態では、ネットワーク100上でサービスSの処理を行う対象(アクセス先)となる複数のノード(範囲/グループ(前述のG1,G2等))を選択・対応付け(マッピング)するための仕組みとして、ハッシュ関数による処理(ハッシュ処理)を用いる。   In the present embodiment, a plurality of nodes (ranges / groups (G1, G2, etc.) described above) that are targets (access destinations) for processing the service S on the network 100 are selected and associated (mapped). As a mechanism, processing using a hash function (hash processing) is used.

基本的な制御として、参加ノードのIPアドレス値A等を入力値としたハッシュ値Bをとり、管理情報Mに登録する。また、サービスタイプTやキーK等を入力値としたハッシュ値Bを用いて、サービスSと、それを処理する範囲/グループ(G)となる複数のノードとを対応付ける。ハッシュ処理を用いることにより、そのハッシュ関数の特性にも依るが、ネットワーク100上におけるグループの複数のノード(例えばNC)は、概ねランダムでばらばらな分布(配置)になる(なお偶々近くに配置される場合もある)。即ち、ネットワーク100(ノード群)で処理が分散される。   As basic control, a hash value B with the IP address value A or the like of the participating node as an input value is taken and registered in the management information M. Further, using the hash value B with the service type T, the key K, and the like as input values, the service S is associated with a plurality of nodes that are the range / group (G) for processing the service S. By using the hash processing, depending on the characteristics of the hash function, a plurality of nodes (for example, NCs) of the group on the network 100 have a generally random and distributed distribution (arrangement) (still arranged near by chance). Sometimes). That is, processing is distributed in the network 100 (node group).

サービスSの利用の際には、異なるサービスタイプT等の情報をハッシュ関数の入力値とすることにより、異なる出力値が得られる。即ち、サービスS毎に異なるアクセス先の範囲/グループ(G)の複数のノードが選択、決定される。   When using the service S, different output values can be obtained by using information such as different service types T as input values of the hash function. That is, a plurality of nodes in different access destination ranges / groups (G) for each service S are selected and determined.

なお、ハッシュ関数の入力値にする情報として、サービスタイプTやIPアドレスA等に限らず、多様な情報を用いることができることは言うまでもない。また、マッピング用に、異なる種類の関数(ハッシュ関数など)を用意すれば、同じ入力値でも異なる出力値を得ることができる。   Needless to say, the information used as the input value of the hash function is not limited to the service type T, the IP address A, or the like, and various information can be used. Also, if different types of functions (such as hash functions) are prepared for mapping, different output values can be obtained even with the same input value.

<ハッシュ処理(a)>
図5(a)で、ネットワーク100へ新規に参加するノード(アイデンティティ)を登録(配置)する際、管理情報Mに、当該ノードに関する情報が登録される(各ノードが持つ管理情報Mを更新する)。
<Hash processing (a)>
In FIG. 5A, when a node (identity) that newly participates in the network 100 is registered (arranged), information related to the node is registered in the management information M (the management information M of each node is updated). ).

当該ノードのIPアドレス値Aを、所定のハッシュ関数(H1)に入力し、その出力のハッシュ値B(IPアドレスハッシュ値)を得る。H1によるハッシュ値Bは、所定の数値範囲(例えば0≦B≦1)に正規化される(リングバッファにマッピングされる)。図5(a)では、所定の数値範囲のリング(リングバッファ)上の各点がB値を示す。ハッシュ(H1)により、入力値となる、ネットワーク100上の物理的な遠近を表す連続的なIPアドレスA(群)は、出力値となる、ばらばら(不連続)なハッシュ値B(群)に変換(マッピング)される。   The IP address value A of the node is input to a predetermined hash function (H1), and the output hash value B (IP address hash value) is obtained. The hash value B by H1 is normalized to a predetermined numerical range (for example, 0 ≦ B ≦ 1) (mapped to the ring buffer). In FIG. 5A, each point on a ring (ring buffer) in a predetermined numerical range indicates a B value. A continuous IP address A (group) representing physical perspective on the network 100, which is an input value by the hash (H1), is converted into a discrete (discontinuous) hash value B (group) which is an output value. Converted (mapped).

ハッシュ関数H1は、入力データ値(キー)から、その代表的な数値を出力値(ハッシュ値)として得る、所定の特性の関数である。本実施の形態では、H1の特性として、連続的な入力値群から不連続的な出力値群を得る不連続性を持つ。また、同じ入力値から同じ出力値を得る決定性を持つ(乱数機能とは異なる)。また、マッピング(出力値の分布)がなるべく出力値範囲の全体に分布するような一様性を持つ。   The hash function H1 is a function having a predetermined characteristic that obtains a representative numerical value as an output value (hash value) from an input data value (key). In the present embodiment, as a characteristic of H1, there is discontinuity that obtains a discontinuous output value group from a continuous input value group. Also, it has determinism to obtain the same output value from the same input value (different from the random number function). In addition, the mapping (distribution of output values) is uniform so that it is distributed over the entire output value range as much as possible.

なお、他の形態として、ハッシュ関数に限らず、上記のように連続値(A)を不連続値(B)にマッピングする等の特性を持つ他の所定の関数を適用できる。   As another form, not only a hash function but also other predetermined functions having characteristics such as mapping a continuous value (A) to a discontinuous value (B) as described above can be applied.

図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)が得られる。   In the example of FIG. 5A, as the random IP address value A on the network 100, the IP addresses (A3 to A5) of the three nodes NC (N3 to N5) in the example of FIG. Assume that B3 to B5 (neighbor values of B4) are reached. In other words, when a predetermined neighborhood range 501 in the B value space (for example, B3 to B5, which are neighbor values of B4) is taken, disjoint IP addresses A (A3 to A5) are obtained. .

上記ハッシュ処理によるA→Bのマッピングの情報は、A−Bの双方向的なマッピングの情報として管理情報Mに登録される(即ちBからAを得ることが可能)。各ノードは、ネットワーク100全体のノード群に関する管理情報Mを保持してもよいが、特に全ノードに関する情報を持つ必要は無く、各ノードが自ノードの近隣範囲(グループ)のノードに関する情報を保持し、ノード間で管理情報Mを授受する通信を行うことで、適宜最新の情報に更新する形態とすればよい。上記自ノードの近隣範囲(グループ)として、例えば図5(a)のようなB値の空間での所定の近隣範囲を対応付ける。   The information of the A → B mapping by the hash processing is registered in the management information M as the information of the bi-directional mapping of AB (that is, A can be obtained from B). Each node may hold management information M relating to the entire node group of the network 100, but it is not necessary to have information relating to all nodes in particular, and each node holds information relating to nodes in the neighborhood range (group) of the own node. Then, it may be configured to update to the latest information as appropriate by performing communication for exchanging the management information M between the nodes. As the neighborhood range (group) of the own node, for example, a predetermined neighborhood range in a B-value space as shown in FIG.

<ハッシュ処理(b)>
図5(b)で、上記設定以降におけるサービス実行時におけるハッシュ処理を説明する。例えば前記図3で、NB(N2)は、NA(N1)からのサービスS(T1)の要求に対し、管理情報M2を参照し、要求されているサービス(T1)で対象データDa(キーKa)を操作(参照等)するためのアクセス先となる複数のサービス提供ノードNC(グループG1)を、ハッシュ処理により決定(確認)する。
<Hash processing (b)>
With reference to FIG. 5B, the hash processing at the time of service execution after the above setting will be described. For example, in FIG. 3, the NB (N2) refers to the management information M2 in response to the request for the service S (T1) from the NA (N1), and the target data Da (key Ka) in the requested service (T1). A plurality of service providing nodes NC (group G1) as access destinations for operating (referring to) are determined (confirmed) by hash processing.

NB(ハッシュ処理機能12)は、例えば[T1+Ka]をハッシュ関数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)}となる。   The NB (hash processing function 12), for example, inputs [T1 + Ka] to the hash function H1 and obtains its output value h (normalized to a predetermined range (0 ≦ h ≦ 1) similarly to B). The h value is associated with the B value on the ring in FIG. Then, a predetermined neighborhood range 502 (for example, three neighborhood values including front and rear) regarding the h≈B value is taken. For example, it is assumed that the B value closest to the h value is B4 and the closest values before and after that are B3 and B5. This is associated as a predetermined range / group = G1. That is, G1 = {B3 (A3), B4 (A4), B5 (A5)}.

管理情報Mの参照により、G1の複数(3つ)のB値に関して、対応するIPアドレス値Aを持つ複数のノード(例えばN3〜N5)が得られる。そして上記G1は、当該ストレージサービス(T1)でデータDa(キーKa)を保有・提供する、アクセス先となる複数のサービス提供ノードNC(NC1〜NC3)として対応付けられる。   By referring to the management information M, a plurality of nodes (for example, N3 to N5) having corresponding IP address values A are obtained for a plurality (three) of B values of G1. The G1 is associated as a plurality of service providing nodes NC (NC1 to NC3) serving as access destinations that hold and provide the data Da (key Ka) with the storage service (T1).

なお、上記(T1,Ka,G1(NC)等)の対応付けは、管理情報Mに登録しておいて適宜参照する形態(毎回のハッシュ処理の省略)としてもよいし、サービス実行時毎に計算して再現する形態(同じハッシュ入力値などとすることで再現可能)としてもよい。   The association (T1, Ka, G1 (NC), etc.) may be registered in the management information M and referred to as appropriate (the omission of each hash process), or every time the service is executed. It is good also as a form (it can reproduce by making it the same hash input value etc.) reproduced by calculating.

ハッシュ関数(H1)への入力値(例えばサービスタイプT)を変えて上記同様に処理することで、異なる複数のノードによる範囲/グループ(G)を選択、対応付けすることができる。   By changing the input value (for example, service type T) to the hash function (H1) and processing in the same manner as described above, it is possible to select and associate ranges / groups (G) with different nodes.

<管理情報の構造及び更新例>
図6は、各ノードが自ノードの近隣範囲(グループ)のノードに関する管理情報Mを持つ場合における管理情報Mの更新処理の例を示す。図6(a)は、更新前の例、図6(b)は、更新後の例である。管理情報Mのデータ構造例として、ハッシュ処理(図5のリングバッファ)に関係する配列(リンクリスト等)を用いる場合である。
<Management information structure and update example>
FIG. 6 shows an example of management information M update processing when each node has management information M related to nodes in the neighborhood range (group) of the node. FIG. 6A shows an example before update, and FIG. 6B shows an example after update. As an example of the data structure of the management information M, an array (link list or the like) related to hash processing (ring buffer in FIG. 5) is used.

前述のように、各ノードの管理情報Mとして、自ノードの近隣範囲(B値空間における近隣範囲)のいくつかのノードに関する情報を保持する。ノード間で管理情報Mを通信する機能(15)を用いることにより、各ノードの管理情報Mの内容を同期(更新)させることができる。簡単に、近隣範囲(グループ)として、B値空間における自ノードの前後を含む3つのノードの場合とする。各ノードの管理情報Mにおけるノード情報の配列として、前ノード、自ノード、後ノードの各ノード情報を持つ。   As described above, as the management information M of each node, information on several nodes in the neighborhood range of the own node (neighboring range in the B-value space) is held. By using the function (15) for communicating the management information M between the nodes, the contents of the management information M of each node can be synchronized (updated). For simplicity, assume that the neighborhood range (group) is three nodes including before and after the own node in the B-value space. As an array of node information in the management information M of each node, each node information of the previous node, the own node, and the subsequent node is included.

例として、図6(a)で、ノードN4[A4,B4]は、管理情報M4として、前後ノードN3,N5を含む近隣範囲{N3,N4,N5}の各ノード情報(レコード)を持つ。各ノード情報(レコード)は、IPアドレスA及び対応ハッシュ値B等の情報を含む。例えばN4のM4で持つN3レコードは、他(前)のノードN3のM3で持つN3レコードとの関係のためのリンク(A3等)を含む。同様に、N5[A5,B5]は、M5として、近隣範囲{N4,N5,Nb}の各ノード情報を持つ(なおNbはN5の後ノード)。   As an example, in FIG. 6A, the node N4 [A4, B4] has, as management information M4, each node information (record) of the neighborhood range {N3, N4, N5} including the preceding and following nodes N3, N5. Each node information (record) includes information such as an IP address A and a corresponding hash value B. For example, the N3 record held by M4 of N4 includes a link (A3, etc.) for the relationship with the N3 record held by M3 of the other (previous) node N3. Similarly, N5 [A5, B5] has each node information of the neighborhood range {N4, N5, Nb} as M5 (Nb is a subsequent node of N5).

図6(b)で、図6(a)の状態に対し、新規参加ノードNpとする。Npの各値[Ap,Bp]とする。B値のリング上、N4のB4と、N5のB5との間に、新規のNpのBpが挿入されたとする。その場合、ノード群における近隣範囲の関係が変化する。よって、新規のNpの管理情報Mpを作成すると共に、変化に該当するノード(N4,N5)の管理情報M(M4,M5)を更新する。   In FIG. 6B, a new participating node Np is assumed for the state of FIG. Let each value of Np be [Ap, Bp]. Assume that a new Np Bp is inserted between B4 of N4 and B5 of N5 on the ring of B values. In that case, the relationship between neighboring ranges in the node group changes. Therefore, new Np management information Mp is created, and management information M (M4, M5) of the node (N4, N5) corresponding to the change is updated.

即ち更新前後で以下のようになる。N4のM4:{N3,N4,N5}→{N3,N4,Np}、NpのMp:{N4,Np,N5}、N5のM5:{N4,N5,Nb}→{Np,N5,Nb}。   That is, it is as follows before and after the update. M4 of N4: {N3, N4, N5} → {N3, N4, Np}, Mp of Np: {N4, Np, N5}, M5 of N5: {N4, N5, Nb} → {Np, N5, Nb }.

<応用例(X,Y制御)>
上記実施の形態では、基本的な制御として、ノードのIPアドレスAのハッシュ値Bを用いて、サービスSと、それを処理する範囲/グループ(G)の複数のノードとを対応付けている。応用的な形態として、変数X:IPアドレスAのハッシュ値Bとし、変数Y:ノードのIPアドレスAとし、変数X(B)を基本制御として用い、更に変数Y(A)を補助的な制御で用いる。ネットワーク100上でのグループのノードの配置(分布)に関して、Y(A)を物理的遠近を示す変数と捉え、X(B)をランダム性(ばらばらな分布)を示す変数と捉える。X(B)に加えてY(A)を考慮し、サービス(タイプ、特性など)に応じて、複数のノードのグループ(分布の範囲)の対応付けを変える。Y(A)のネットワーク上の遠近を考慮して決めることで、グループの範囲を制御する。
<Application example (X, Y control)>
In the above embodiment, as a basic control, the hash value B of the IP address A of the node is used to associate the service S with a plurality of nodes in the range / group (G) for processing it. As an applied form, variable X: hash value B of IP address A, variable Y: node IP address A, variable X (B) is used as basic control, and variable Y (A) is further controlled Used in. Regarding the arrangement (distribution) of the nodes of the group on the network 100, Y (A) is regarded as a variable indicating physical perspective, and X (B) is regarded as a variable indicating randomness (various distribution). Considering Y (A) in addition to X (B), the association of a plurality of node groups (distribution ranges) is changed according to the service (type, characteristics, etc.) The range of the group is controlled by determining in consideration of the perspective of Y (A) on the network.

制御処理例としては、例えばサービス実行時、ノードNBによりアクセス先のノードNC(グループG1)を決める際に、X(B)だけでなくY(A)を考慮して決定する。図7(a)のように、まず所定のX(B)空間の近傍値(近隣範囲)を得て、これらを、アクセス先となるノードの選択候補(優先的な選択対象等)とする。そして更に、この選択候補の中から、Y(A)空間の値を用いて、アクセス先となるノードのグループを決定する。サービスタイプTに応じて、Y(A)空間における、近傍値や、あるいは離れた値などを選択決定する。   As an example of the control process, for example, when determining the access destination node NC (group G1) by the node NB at the time of service execution, it is determined in consideration of not only X (B) but also Y (A). As shown in FIG. 7A, first, neighborhood values (neighboring ranges) in a predetermined X (B) space are obtained, and these are set as selection candidates (priority selection targets, etc.) of nodes to be accessed. Further, a group of nodes to be accessed is determined from the selection candidates using the value of the Y (A) space. Depending on the service type T, a neighborhood value or a distant value in the Y (A) space is selected and determined.

図7(b),(c)は、X(B)とY(A)の対応付けの例を示す。図7(b)は、あるサービスSaで、なるべく遠く離れたノードによるグループGa(701)を対応付け、例えば高信頼性を優先する場合である。図7(c)は、あるサービスSbで、なるべく近いノードによるグループGb(702)を対応付け、例えば高速性を優先する場合である。   FIGS. 7B and 7C show examples of correspondence between X (B) and Y (A). FIG. 7B shows a case where a group Ga (701) by nodes as far away as possible is associated with a certain service Sa, and priority is given to, for example, high reliability. FIG. 7C shows a case where a group Gb (702) by nodes as close as possible is associated with a certain service Sb, and for example, high speed is prioritized.

例えば、ストレージサービスT1において、同じデータDa(複製)を保持する対象となる複数のノードNC(グループG1)を決定する際、ノード間の距離をできるだけ離すことで信頼性(耐障害性)を高くする(例えば災害によるデータ消失のリスクを低くする)ことを優先する場合が考えられる。この場合、図7(b)のように、X(B)に加えてY(A)を用いる形により、ネットワーク全体(700)に広がった領域(701)でできるだけ遠く離れた複数のノードNCによるグループGaを選択・決定する。   For example, in the storage service T1, when determining a plurality of nodes NC (group G1) that are to hold the same data Da (replication), the reliability (fault tolerance) is increased by increasing the distance between the nodes as much as possible. It is conceivable that priority is given to (for example, reducing the risk of data loss due to a disaster). In this case, as shown in FIG. 7B, by using Y (A) in addition to X (B), a plurality of nodes NC separated as far as possible in the area (701) extending over the entire network (700). Group Ga is selected and determined.

また例えば、グループのノード間の距離をできるだけ近くすることで、利便性や高速性を高くすることを優先する場合が考えられる。この場合、図7(c)のように、X(B)に加えてY(A)を用いる形により、ネットワーク全体(700)のうちできるだけ近く狭い領域(702)の複数のノードNCによるグループGbを選択・決定する。   Further, for example, there may be a case where priority is given to improving convenience and high speed by making the distance between the nodes of the group as close as possible. In this case, as shown in FIG. 7C, by using Y (A) in addition to X (B), a group Gb composed of a plurality of nodes NC in a narrow area (702) as close as possible to the entire network (700). Select and confirm.

また、X(B)のみを用いた制御で、使用するハッシュ関数の特性を変えることにより、上記範囲を制御することも考えられる。例えば分布の一様性が高い/低いハッシュ関数を用いる。   It is also conceivable to control the above range by changing the characteristics of the hash function to be used in the control using only X (B). For example, a hash function with high / low distribution uniformity is used.

<実施の形態の効果等>
本実施の形態のシステムによれば、参加者(ユーザ)のノードでのサービス(資源)の提供(貢献)に応じて評価が高まり、評価に応じてサービス(資源)の利用の権限などが高まるといったように、公平性や参加インセンティブを考慮した仕組みにより、多数・多様なユーザの参加を促すことができ、サービス(資源)の利用と提供のバランスによる効率化をもたらすことでシステム環境全体を良好に発展させることができる。
<Effects of the embodiment>
According to the system of the present embodiment, the evaluation increases according to the provision (contribution) of the service (resource) at the node of the participant (user), and the authority to use the service (resource) increases according to the evaluation. As mentioned above, a system that considers fairness and participation incentives can encourage the participation of a large number of diverse users and improve efficiency by balancing the use and provision of services (resources). Can be developed.

また、ストレージサービス等に限らず、応用的なサービス、例えば動画再生サービス等、リアルタイムで大量処理が必要となる場合にも有効に適用できる。   Further, the present invention is not limited to the storage service and can be effectively applied to a case where a large amount of processing is required in real time, such as an applied service such as a moving image reproduction service.

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。   As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明は、クラウドコンピューティングに利用可能である。   The present invention can be used for cloud computing.

10…モジュール、11…証明機能、11a…自ノード証明機能、11b…他ノード証明機能、12…ハッシュ処理機能、13…サービス機能、14…資源供出機能、15…情報管理機能、21…サービス利用機能(NA機能)、22…サービス実行機能(NB機能)、23…サービス提供機能(NC機能)、24…サービス評価機能(ND機能)、43…記憶資源、44…計算資源、50…管理情報テーブル、51…証明書、53…ログ情報、54…評価情報、100…ネットワーク、101…ハードウェア、102…ソフトウェア、103…記憶資源、104…計算資源、201〜205,305,311,312…処理、501,502…近隣範囲、700…ネットワーク全体、701,702…グループ。   DESCRIPTION OF SYMBOLS 10 ... Module, 11 ... Proof function, 11a ... Own node proof function, 11b ... Other node proof function, 12 ... Hash processing function, 13 ... Service function, 14 ... Resource supply function, 15 ... Information management function, 21 ... Service use Function (NA function), 22 ... Service execution function (NB function), 23 ... Service providing function (NC function), 24 ... Service evaluation function (ND function), 43 ... Storage resource, 44 ... Calculation resource, 50 ... Management information Table ... 51 ... Certificate 53 ... Log information 54 ... Evaluation information 100 ... Network 101 ... Hardware 102 ... Software 103 ... Storage resource 104 ... Computation resource 201-205,305,311,312 ... Processing, 501, 502 ... Neighborhood range, 700 ... Entire network, 701, 702 ... Group.

Claims (13)

ユーザのコンピュータによるノード同士が通信接続されて成るネットワークを有し、
前記ノードは、
ハードウェア及びソフトウェアによる資源を提供することにより、クラウドコンピューティングによるサービスを提供する処理を行う提供機能と、
前記サービスを要求して利用する処理を行う利用機能と、
前記利用機能を用いる第1のノードと前記提供機能を用いる第3のノードとの間に介在して、前記サービスを実行する処理を行う実行機能と、
前記提供機能を用いる第3のノードによる前記サービスの提供の行為を評価してその評価情報を保持するための評価機能と、を有し、
前記サービスを利用する第1のノードの利用機能は、第2のノードの実行機能を経由して、当該サービスを提供する第1のグループの複数の第3のノードの提供機能にアクセスし、当該提供機能からの応答は、当該第2のノードの実行機能を経由して、当該第1のノードの利用機能へ応答され、
上記に伴い、前記第2のノードまたは第4のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を保存し、
前記第2のノードの実行機能または前記第4のノードの評価機能は、前記評価情報における評価の高低に基づいて、前記第3のノードが前記利用機能を用いて前記サービスを利用する際に当該サービスの実行を制御し、
前記ノードは、所定のハッシュ関数によるハッシュ処理を行う機能を有し、
前記ノードは、当該ノードのIPアドレス値と、それを入力値とした前記ハッシュ処理の出力値であるハッシュ値と、の双方向の対応付けを含む管理情報を保持し、
前記ノードは、前記サービスに対応付けられる前記第1のグループの複数の第3のノードを決定する際、当該サービスに応じた入力値による前記ハッシュ関数の出力値であるハッシュ値を用いて、当該ハッシュ値を含む所定の範囲を候補とし、当該候補の中から、前記管理情報において当該ハッシュ値に対応付けられるIPアドレス値を用いて、ネットワーク上の遠近による所定の範囲を前記第1のグループとして決定し、
前記サービスとして高速性を優先する場合、前記ハッシュ値の範囲の候補の中から前記IPアドレス値が近い範囲を前記第1のグループとして決定すること、を特徴とするクラウドコンピューティングシステム。
It has a network in which nodes of user computers are connected by communication,
The node is
A providing function for performing a process of providing a service by cloud computing by providing resources by hardware and software;
A use function for performing processing to request and use the service;
An execution function for performing a process of executing the service, interposed between a first node using the use function and a third node using the provision function;
An evaluation function for evaluating the act of providing the service by a third node using the providing function and holding the evaluation information;
The use function of the first node that uses the service accesses the provision function of the plurality of third nodes of the first group that provides the service via the execution function of the second node, and The response from the providing function is returned to the use function of the first node via the execution function of the second node,
Accordingly, the evaluation function of the second node or the fourth node evaluates a response from each of the provision functions of the plurality of third nodes in the first group, and stores the evaluation information. ,
The execution function of the second node or the evaluation function of the fourth node is performed when the third node uses the service using the use function based on the evaluation level in the evaluation information. Control the execution of the service ,
The node has a function of performing a hash process using a predetermined hash function,
The node holds management information including a bidirectional association between the IP address value of the node and a hash value that is an output value of the hash process using the IP address value as an input value;
When determining a plurality of third nodes of the first group associated with the service, the node uses a hash value that is an output value of the hash function according to an input value corresponding to the service, and Using a predetermined range including a hash value as a candidate, and using the IP address value associated with the hash value in the management information as the candidate, the predetermined range according to the distance on the network is defined as the first group. Decide
When priority is given to high speed as the service , a cloud computing system is characterized in that a range in which the IP address value is close among the hash value range candidates is determined as the first group .
請求項1記載のクラウドコンピューティングシステムにおいて、The cloud computing system according to claim 1,
前記サービスとして信頼性を優先する場合、前記ハッシュ値の範囲の候補の中から前記IPアドレス値が遠い範囲を前記第1のグループとして決定すること、を特徴とするクラウドコンピューティングシステム。When reliability is given priority as the service, a range in which the IP address value is far from the hash value range candidates is determined as the first group.
請求項1記載のクラウドコンピューティングシステムにおいて、
前記第2のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を、第2のグループの複数の第4のノードの評価機能にアクセスして保存すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
The evaluation function of the second node evaluates a response from each of the provision functions of the plurality of third nodes of the first group, and uses the evaluation information as a plurality of fourth groups of the second group. A cloud computing system characterized by accessing and storing a node evaluation function.
請求項1記載のクラウドコンピューティングシステムにおいて、
前記第2のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答の結果を含むログ情報を記録し、そのログ情報を、第2のグループの複数の第4のノードの評価機能にアクセスして保存し、
前記第2のグループの複数の第4のノードの評価機能は、前記ログ情報に基づき、前記第1のグループの複数の第3のノードの提供機能の各々からの応答を評価処理し、その評価情報を保持すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
The evaluation function of the second node records log information including a result of a response from each of the provision functions of the plurality of third nodes of the first group, and the log information is recorded in the second group. Access and save multiple fourth node evaluation functions,
The evaluation function of the plurality of fourth nodes in the second group evaluates responses from each of the provision functions of the plurality of third nodes in the first group based on the log information, and the evaluation A cloud computing system characterized by retaining information.
請求項またはに記載のクラウドコンピューティングシステムにおいて、
前記第1のノードの利用機能からの前記サービスの利用の際には、前記第2のノードの実行機能から、当該第1のノードに関する評価情報を保持している、前記第2のグループの第4のノードの評価機能にアクセスして当該評価情報を確認し、その結果に基づいて当該サービスの利用及び実行を制御すること、を特徴とするクラウドコンピューティングシステム。
In the cloud computing system according to claim 3 or 4 ,
When using the service from the use function of the first node, the execution function of the second node holds evaluation information on the first node from the execution function of the second node. 4. A cloud computing system comprising: accessing an evaluation function of the node 4 to confirm the evaluation information, and controlling use and execution of the service based on the result.
請求項1記載のクラウドコンピューティングシステムにおいて、
前記提供機能は、ハードウェア及びソフトウェアによる記憶資源及び計算資源を含む資源を提供することにより、クラウドコンピューティングによるサービスとして、少なくとも、データを格納するストレージサービスと、データに対するオペレーションによる計算処理を行うコンピューティングサービスと、を提供する処理を行うこと、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
The providing function provides resources including storage resources and calculation resources by hardware and software, thereby providing at least a storage service for storing data as a service by cloud computing and a computer for performing calculation processing by operations on the data. A cloud computing system characterized by performing a process of providing an operating service.
請求項1記載のクラウドコンピューティングシステムにおいて、
前記ノードは、前記ユーザにより前記提供する資源の量や稼働時間の設定を行う機能を有すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
The node has a function of setting the amount of resources and operating time provided by the user, and a cloud computing system.
請求項1記載のクラウドコンピューティングシステムにおいて、
前記ノードは、参加者となる前記ユーザのアイデンティティ及びそれに属する1つ以上のノードについての証明を行うための証明機能を有し、
前記証明機能は、自ノードの証明書を発行する機能と、他ノードの証明書を認証する機能と、を有すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
The node has a proof function for proof of the identity of the user to be a participant and one or more nodes belonging to the user,
The cloud computing system characterized in that the certification function has a function of issuing a certificate of its own node and a function of authenticating a certificate of another node.
請求項1記載のクラウドコンピューティングシステムにおいて、
前記第2のノードまたは第4のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答について、正確な応答データの有無を2値的に判断することにより、当該第3のノードによる当該サービスの提供の正確性を評価すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
The evaluation function of the second node or the fourth node binaryly determines whether or not there is accurate response data with respect to responses from each of the provision functions of the plurality of third nodes in the first group. A cloud computing system characterized by evaluating the accuracy of provision of the service by the third node.
請求項1記載のクラウドコンピューティングシステムにおいて、
前記第2のノードまたは第4のノードの評価機能は、前記第1のグループの複数の第3のノードの提供機能の各々からの応答について、集計し、多数決的に相互比較評価すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
The evaluation function of the second node or the fourth node is to aggregate responses from each of the provision functions of the plurality of third nodes in the first group, and to perform a comparative evaluation by majority decision. A featured cloud computing system.
請求項1記載のクラウドコンピューティングシステムにおいて、
記ノードは、前記ネットワークへの参加に伴い、当該ノードのIPアドレス値と、それを入力値とした前記ハッシュ処理の出力値であるハッシュ値との双方向の対応付けを含む管理情報を保持し、
前記サービスの実行の際、前記第2のノードの実行機能は、当該サービスのタイプに応じた入力値による前記ハッシュ処理の出力値であるハッシュ値を含む所定範囲を求め、当該ハッシュ値の所定範囲に対して前記管理情報の双方向の対応付けによるIPアドレス値を求めることにより、アクセス先となる前記第1のグループの複数の第3のノードを決定し、
前記評価の際、前記第2のノードの評価機能は、当該評価の処理のタイプに応じた入力値による前記ハッシュ処理の出力値であるハッシュ値を含む所定範囲を求め、当該ハッシュ値の所定範囲に対して前記管理情報の双方向の対応付けによるIPアドレス値を求めることにより、アクセス先となる前記第2のグループの複数の第4のノードを決定すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1,
Before Symbol nodes, along with participation in the network, the IP address value of the node, the hash value as the output value of the hash processing an input value to it, the management information including a two-way correspondence Hold and
When the service is executed, the execution function of the second node obtains a predetermined range including a hash value that is an output value of the hash process based on an input value corresponding to the type of the service, and the predetermined range of the hash value Determining a plurality of third nodes of the first group to be an access destination by obtaining an IP address value by bidirectional association of the management information with respect to
At the time of the evaluation, the evaluation function of the second node obtains a predetermined range including a hash value that is an output value of the hash process based on an input value corresponding to the type of the process of the evaluation, and the predetermined range of the hash value A plurality of fourth nodes of the second group to be accessed by determining an IP address value based on bidirectional association of the management information with respect to the cloud computing system .
請求項記載のクラウドコンピューティングシステムにおいて、
前記ノードは、自ノードを含む所定の範囲の複数のノードに関する情報を前記管理情報として保持し、当該管理情報を他のノードとの間で通信して授受する機能を有すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 1 ,
The node has information regarding a plurality of nodes within a predetermined range including its own node as the management information, and has a function of communicating and exchanging the management information with other nodes. Cloud computing system.
請求項記載のクラウドコンピューティングシステムにおいて、
前記ノードは、前記証明機能を用いることにより、当該ノードに関連付けられる当該ユーザのアイデンティティと、当該アイデンティティに属するノードに関する前記評価情報または当該評価情報に基づく権利と、を継承すること、を特徴とするクラウドコンピューティングシステム。
The cloud computing system according to claim 8 .
The node, by using the certification function, that inherits the identity of the user associated with the node, and the right based on the evaluation information or the evaluation information about nodes belonging to the identity, and characterized by Cloud computing system.
JP2009207335A 2009-09-08 2009-09-08 Cloud computing system Expired - Fee Related JP5061167B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009207335A JP5061167B2 (en) 2009-09-08 2009-09-08 Cloud computing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009207335A JP5061167B2 (en) 2009-09-08 2009-09-08 Cloud computing system

Publications (2)

Publication Number Publication Date
JP2011059884A JP2011059884A (en) 2011-03-24
JP5061167B2 true JP5061167B2 (en) 2012-10-31

Family

ID=43947453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009207335A Expired - Fee Related JP5061167B2 (en) 2009-09-08 2009-09-08 Cloud computing system

Country Status (1)

Country Link
JP (1) JP5061167B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140181309A1 (en) * 2011-06-14 2014-06-26 Zte Usa Inc. Method and system for cloud-based identity management (c-idm) implementation
JP2017134535A (en) * 2016-01-26 2017-08-03 キヤノン株式会社 System and control method for the same system
KR101994455B1 (en) * 2018-07-27 2019-06-28 박기업 distributed network system operating a group for the nodes included in the system
CN111404743A (en) * 2020-03-13 2020-07-10 黄东 General evaluation system for cloud resource service capability

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3966375B2 (en) * 2001-06-21 2007-08-29 独立行政法人農業・食品産業技術総合研究機構 Parallel processing computation commission system via the Internet
EP1694027B1 (en) * 2005-02-22 2009-01-28 Microsoft Corporation Peer-to-peer network information
JP4926774B2 (en) * 2007-03-20 2012-05-09 株式会社エヌ・ティ・ティ・データ Grid system, grid processing method, and computer program
JP4899990B2 (en) * 2007-03-29 2012-03-21 ブラザー工業株式会社 Node device included in information communication system and information processing program thereof

Also Published As

Publication number Publication date
JP2011059884A (en) 2011-03-24

Similar Documents

Publication Publication Date Title
US10740733B2 (en) Sharded permissioned distributed ledgers
US11386405B2 (en) Dynamic blockchain transactional policy management
JP5260567B2 (en) Cloud computing system
TW201946016A (en) Partitioning a blockchain network
JP7319961B2 (en) Computer-implemented systems and methods related to binary blockchains forming a pair of coupled blockchains
Huang et al. Resource allocation and consensus of blockchains in pervasive edge computing environments
EP3777022B1 (en) Distributed access control
US20210352077A1 (en) Low trust privileged access management
US10805294B1 (en) Systems and methods for validating device permissions of computing devices to execute code on a decentralized database
JP5061167B2 (en) Cloud computing system
KR20210096619A (en) An intelligent, decentralized and autonomous marketplace for distributed computing and storage
WO2020112914A1 (en) Systems and methods for distributed resource allocation
JP2023525973A (en) Multilayer communication network
Liu et al. The barriers to overthrowing internet feudalism
Spathoulas et al. Can Blockchain Technology Enhance Security and Privacy in the Internet of Things?
Canedo et al. Trust model for file sharing in cloud computing
JP5260566B2 (en) Cloud computing system
KR102253506B1 (en) Apparatus and method for managing distributed ledger based on block chain
EP4097931A1 (en) Adapting connections of a layered network
García-Martínez et al. Design and implementation of inblock—a distributed ip address registration system
US20230267220A1 (en) Privacy preserving asset token exchange
US20240126911A1 (en) Systems and methods for controlling permissions in blockchains
US20230267457A1 (en) Privacy preserving asset transfer between networks
US20230409400A1 (en) System for resource allocation and monitoring
Liu et al. A Robust Blockchain-Based Distribution Master For Distributing Root Zone Data In DNS

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120710

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120806

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees