JP5008075B2 - Web service system - Google Patents

Web service system Download PDF

Info

Publication number
JP5008075B2
JP5008075B2 JP2007180874A JP2007180874A JP5008075B2 JP 5008075 B2 JP5008075 B2 JP 5008075B2 JP 2007180874 A JP2007180874 A JP 2007180874A JP 2007180874 A JP2007180874 A JP 2007180874A JP 5008075 B2 JP5008075 B2 JP 5008075B2
Authority
JP
Japan
Prior art keywords
link
component
information
node
unit
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
JP2007180874A
Other languages
Japanese (ja)
Other versions
JP2009020574A (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.)
Osaka University NUC
Original Assignee
Osaka University NUC
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 Osaka University NUC filed Critical Osaka University NUC
Priority to JP2007180874A priority Critical patent/JP5008075B2/en
Publication of JP2009020574A publication Critical patent/JP2009020574A/en
Application granted granted Critical
Publication of JP5008075B2 publication Critical patent/JP5008075B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、複数のコンポーネントを利用したWebサービスを提供するWebサービスシステムに関し、特に、Webサービスで利用しているコンポーネントの代替コンポーネントをオーバレイネットワークに分散されて配置されている複数のコンポーネントの中から探索するWebサービスシステムに関する。   The present invention relates to a web service system that provides a web service using a plurality of components, and in particular, from among a plurality of components that are distributed and arranged in an overlay network as alternative components for components used in the web service. The present invention relates to a Web service system to be searched.

近年、インターネットの利用者が爆発的に増加している。この背景として、インターネットを利用する環境が整ってきていることが挙げられる。例えば、WWW(World Wide Web)や電子メールなどのような通信サービスが一般的に利用されている。また、ADSL(Asymmetric Digital Subscriber Line)、CATVインターネット、FTTH(Fiber To The Home)などのような高速アクセス回線が一般的に利用されている。   In recent years, the number of Internet users has increased explosively. This is because the environment for using the Internet has been established. For example, communication services such as WWW (World Wide Web) and electronic mail are generally used. High-speed access lines such as ADSL (Asymmetric Digital Subscriber Line), CATV Internet, FTTH (Fiber To The Home), etc. are generally used.

そして、インターネットの利用者が増加するに伴い、インターネットを利用して享受することができるサービスの充実に対する期待が高まってきている。これに対して、インターネットを利用したサービスを提供することができる技術として、分散オブジェクト技術が提案されている。例えば、CORBA(Common Object Request Broker Architecture)やDCOM(Distributed Component Object Model)などが挙げられる。これらの分散オブジェクト技術では、分散オブジェクト技術のアーキテクチャが異なれば、アーキテクチャが異なるシステム間での相互接続が容易ではない。例えば、CORBAとDCOMとの間で通信を行うためには、両者のプロトコルを変換して両者を橋渡しするための仕組みが必要となる。   As the number of Internet users increases, there is an increasing expectation for enhancement of services that can be enjoyed using the Internet. On the other hand, a distributed object technique has been proposed as a technique capable of providing a service using the Internet. Examples include CORBA (Common Object Request Broker Architecture) and DCOM (Distributed Component Object Model). In these distributed object technologies, if the architecture of the distributed object technology is different, interconnection between systems having different architectures is not easy. For example, in order to perform communication between CORBA and DCOM, a mechanism for converting both protocols and bridging them is required.

また、同じ分散オブジェクト技術で構築されたシステム間であっても、インターネットを経由してメッセージ交換を行うので、ファイアウォールの設定を変更しなければならない。例えば、CORBAでは、IIOP(Internet Inter-ORB Protocol)というプロトコルが使用されている。IIOPが使用できるように、ファイアウォールの設定を変更しなければならない。このため、これらの分散オブジェクト技術では、イントラネットやLAN(Local Area Network)などの閉じたネットワークで使用することは容易である。ただし、インターネット上のさまざまな通信プロトコルやプログラムに対応することは困難である。それにも係わらず、分散オブジェクト技術が普及するに伴い、特定の技術にしばられることなく、さまざまなプラットフォーム上で稼動するオブジェクトを利用できる技術に対する期待が高まってきている。このような状況の中で、プラットフォームが異なるシステム間でも利用できる技術として、汎用性のある通信手段を利用したWebサービスが提案されている(例えば、非特許文献1参照。)。   Also, even between systems built with the same distributed object technology, messages are exchanged via the Internet, so the firewall settings must be changed. For example, CORBA uses a protocol called IIOP (Internet Inter-ORB Protocol). The firewall settings must be changed so that IIOP can be used. Therefore, these distributed object technologies are easy to use in a closed network such as an intranet or a LAN (Local Area Network). However, it is difficult to support various communication protocols and programs on the Internet. Nevertheless, with the spread of distributed object technology, there is an increasing expectation for a technology that can use objects operating on various platforms without being bound by a specific technology. In such a situation, as a technology that can be used between systems with different platforms, a web service using a versatile communication means has been proposed (for example, see Non-Patent Document 1).

Webサービスでは、インターネットの標準技術であるXML(eXtensible Markup Language)を基盤としたSOAP(Simple Object Access Protocol)やWSDL(Web Services Description Language)といった技術が標準仕様として利用されている。このため、プラットフォームの壁を越えて分散オブジェクトを利用することができる。また、既存のWebサービスをコンポーネントとして利用することで、新規のWebサービスを構築することもできる。さらに、既存のコンポーネントを組み合わせてWebサービスを構築するので、Webサービスの構築が容易になり、また、サービスの構築にかかる時間やコストなどを削減することもできる。   In Web services, technologies such as SOAP (Simple Object Access Protocol) and WSDL (Web Services Description Language) based on XML (eXtensible Markup Language), which are Internet standard technologies, are used as standard specifications. For this reason, distributed objects can be used across platform walls. A new Web service can also be constructed by using an existing Web service as a component. Furthermore, since the web service is constructed by combining existing components, it is easy to construct the web service, and it is possible to reduce the time and cost required for constructing the service.

ただし、Webサービスでは、Webサービスの利用者が増加するに伴い、Webサービスに利用されているコンポーネントが配置されているノードの負荷が増大し、コンポーネントの処理能力が低下する。また、コンポーネントに障害が発生すると、障害が発生したコンポーネントを利用したサービスを提供することができない。これに対して、ネットワーク上に分散されて配置された同一の機能を有する複数のコンポーネントを利用することで、1つのコンポーネントにかかる負荷を軽減し、Webサービスのスケーラビリティを向上させることができる。また、コンポーネントに障害が発生すると、複数のノードに分散されて配置されている複数のコンポーネントの中から、障害が発生したコンポーネントと同一の機能を有するコンポーネントを探索して利用することで、サービスを再開することができる。ここでは、ネットワーク上に分散されて配置された同一の機能を有する複数のコンポーネントを利用するWebサービスを、特に、分散Webサービスと呼ぶこととする。   However, in the Web service, as the number of users of the Web service increases, the load on the node where the component used for the Web service is increased, and the processing capacity of the component decreases. Further, when a failure occurs in a component, a service using the component in which the failure has occurred cannot be provided. On the other hand, by using a plurality of components having the same function distributed and arranged on the network, the load on one component can be reduced and the scalability of the Web service can be improved. In addition, when a failure occurs in a component, the service is searched by searching for and using a component having the same function as that of the component in which the failure has occurred among a plurality of components distributed and arranged in a plurality of nodes. You can resume. Here, a Web service that uses a plurality of components having the same function distributed and arranged on a network is particularly referred to as a distributed Web service.

ただし、分散Webサービスにおいて、代替コンポーネントの探索手法については、現状では明確な手法が確立されている訳ではない。一般的に、代替コンポーネントの探索手法として、リアクティブな探索手法やプロアクティブな探索手法などが挙げられる。ここで、リアクティブな探索手法としてフラッディングによる探索手法などがある。プロアクティブな探索手法としてデータベース管理による探索手法などがある。   However, in the distributed Web service, no clear method has been established for the alternative component search method at present. Generally, as a search method for alternative components, a reactive search method, a proactive search method, and the like can be given. Here, as a reactive search method, there is a search method based on flooding. Proactive search techniques include database management search techniques.

ここで、フラッディングによる探索手法とは、代替コンポーネントを探索するときに、探索メッセージをブロードキャストし、応答メッセージに含まれた情報から代替コンポーネントを選択する手法である(例えば、非特許文献2参照。)。   Here, the search method based on flooding is a method of broadcasting a search message and selecting an alternative component from information included in a response message when searching for an alternative component (see, for example, Non-Patent Document 2). .

一方、データベース管理による探索手法とは、データベースを備えるノードが定期的に制御メッセージを送ることで代替コンポーネントに関する情報を維持し、データベースに登録されている情報から代替コンポーネントを選択する手法である。
島本正、柿本彰、西本進ほか、“Webサービス完全構築ガイド”、日経BP社、2001 岡崎高久、鎌田英朗、木下和彦、戸出英樹、村上孝三、“複数要求を考慮に入れた高効率フラッディング制御”、電子情報通信学会技術研究報告、IN2005−59、July 2005
On the other hand, the search method based on database management is a method in which a node having a database periodically sends a control message to maintain information on the substitute component, and selects the substitute component from information registered in the database.
Masaru Shimamoto, Akira Enomoto, Susumu Nishimoto, etc., “Web Service Complete Construction Guide”, Nikkei Business Publications, 2001 Takahisa Okazaki, Hideo Kamada, Kazuhiko Kinoshita, Hideki Tode, Kozo Murakami, “Highly efficient flooding control considering multiple requirements”, IEICE Technical Report, IN2005-59, July 2005

しかしながら、フラッディングによる探索手法については、この探索手法を利用して得られる情報の信頼性が高く、動的に変化する情報を得るには適しているが、障害発生後にはじめて探索を開始するため、代替コンポーネントの発見が遅くなるという問題がある。   However, for the search method by flooding, the reliability of the information obtained by using this search method is high and suitable for obtaining dynamically changing information. There is a problem that the discovery of alternative components is slow.

一方、データベース管理による探索手法については、多くの候補の中から最適な代替コンポーネントを即座に発見することができるが、代替コンポーネントの情報を保持しているデータベースに障害が発生すると代替コンポーネントの探索が不可能になるという問題がある。   On the other hand, for the search method based on database management, the optimal alternative component can be found immediately from many candidates. However, if a failure occurs in the database holding the alternative component information, the alternative component search is performed. There is a problem of becoming impossible.

そこで、本発明は、上記問題に鑑みてなされたものであり、コンポーネントに障害が発生したときに、ネットワーク上に分散されて配置されている複数のコンポーネントの中から、最適な代替コンポーネントを短時間で探索する探索手法を利用したWebサービスシステムを提供することを目的とする。   Therefore, the present invention has been made in view of the above problems, and when a failure occurs in a component, an optimal substitute component is quickly selected from a plurality of components distributed and arranged on the network. An object of the present invention is to provide a Web service system that uses a search method for searching with the Internet.

上記の目的を達成するために、本発明に係わるWebサービスシステムは、下記に示す特徴を備える。   In order to achieve the above object, a Web service system according to the present invention has the following features.

(a)複数のコンポーネントを利用してWebサービスを提供するアプリケーションサーバと、物理ネットワークを介して前記アプリケーションサーバと接続されており前記複数のコンポーネントが分散されて配置されている複数のノードとを備えるWebサービスシステムであって、前記複数のノードの各々は、(a1)自ノードに配置されている1以上のコンポーネントと、他ノードに配置されている1以上のコンポーネントとの間で形成された論理ネットワークのリンクを示すリンク情報が登録されているリンクデータベースと、(a2)前記Webサービスで利用されている所定のコンポーネントと同一の機能を有するコンポーネントの探索について前記アプリケーションサーバから要求されると、前記リンクデータベースに登録されているリンク情報に基づいて、前記論理ネットワークを形成する1以上のコンポーネントを探索し、前記所定のコンポーネントの代わりとして最適なコンポーネントを選出する代替コンポーネント探索処理手段とを備える。   (A) An application server that provides a Web service using a plurality of components, and a plurality of nodes that are connected to the application server via a physical network and in which the plurality of components are distributed. In the Web service system, each of the plurality of nodes includes: (a1) logic formed between one or more components arranged in the own node and one or more components arranged in another node A link database in which link information indicating a link of a network is registered; and (a2) when requested by the application server to search for a component having the same function as a predetermined component used in the Web service, Registered in the link database And based on the link information and the searching one or more components which form a logical network, and a substitute component search processing unit selects the optimum components as a replacement for the given component.

これによって、各ノードが備えるリンクデータベースで、自ノードに配置されている1以上のコンポーネントと論理ネットワークを形成する1以上のコンポーネントが管理される。探索時には、リンクデータベースに基づいて、論理ネットワークを形成するコンポーネントの中から、最適な代替コンポーネントを早期に発見することができる。   As a result, one or more components forming a logical network are managed with one or more components arranged in the own node in the link database provided in each node. At the time of search, an optimal alternative component can be found early among the components forming the logical network based on the link database.

さらに、(b)前記複数のノードの各々は、(b1)自ノードに配置されている1以上のコンポーネントの中で、前記Webサービスで利用されているコンポーネントを実行する実行処理手段と、(b2)前記実行処理手段で実行されているコンポーネントの処理能力を計測し、計測して得られた結果を使用して、コンポーネントの実行によって得られる効用の指標となる効用情報を生成する効用情報生成処理手段とを備え、(b3)前記複数のノードの中で、前記最適なコンポーネントを探索するノードを探索代理ノードとし、前記所定のコンポーネントと同一の機能を有するコンポーネントが配置されているノードを探索対象ノードとした場合において、前記探索代理ノードにおける前記代替コンポーネント探索処理手段は、前記探索対象ノードにおける前記効用情報生成処理手段で生成された効用情報に基づいて、前記効用が最も高いコンポーネントを前記最適なコンポーネントとして選出するとしてもよい。   Further, (b) each of the plurality of nodes includes (b1) execution processing means for executing a component used in the Web service among one or more components arranged in the own node; ) Utility information generation processing for measuring the processing capability of the component being executed by the execution processing means, and using the result obtained by the measurement to generate utility information that is an index of utility obtained by executing the component (B3) Among the plurality of nodes, a node that searches for the optimum component is set as a search proxy node, and a node in which a component having the same function as the predetermined component is arranged is searched In the case of a node, the alternative component search processing means in the search proxy node is the search pair. On the basis of the utility information utility information generated by the generating means in the node, the highest component the utility may be elect as the best components.

これによって、論理ネットワークを形成するコンポーネントの処理能力などに関する効用情報が生成される。探索時には、効用情報に基づいて、論理ネットワークを形成するコンポーネントの中から、最適な代替コンポーネントを早期に発見することができる。   As a result, utility information relating to the processing capability of the components forming the logical network is generated. At the time of searching, an optimal substitute component can be found at an early stage from the components forming the logical network based on the utility information.

または、(c)前記複数のノードの各々は、自ノードに配置されている第1のコンポーネントと、他ノードに配置されている1以上のコンポーネントの中で前記第1のコンポーネントと同一の機能を有する第2のコンポーネントとの間で論理ネットワークを形成し、形成した論理ネットワークのリンクを示すリンク情報を前記リンクデータベースに登録するオーバレイネットワーク構築処理手段を備えるとしてもよい。   Or (c) each of the plurality of nodes has the same function as the first component among the first component arranged in its own node and one or more components arranged in other nodes. An overlay network construction processing unit that forms a logical network with the second component and registers link information indicating the link of the formed logical network in the link database may be provided.

これによって、同一機能を有する1以上のコンポーネントの間で論理ネットワークが形成される。探索時には、論理ネットワークを形成するコンポーネントの中から、最適な代替コンポーネントを早期に発見することができる。   As a result, a logical network is formed between one or more components having the same function. At the time of search, an optimal alternative component can be found at an early stage from among the components forming the logical network.

なお、本発明は、Webサービスシステムとして実現されるだけではなく、Webサービスシステムを制御するWebサービス制御方法、Webサービス制御方法を1以上のコンピュータシステムなどに実行させるWebサービス制御プログラム、Webサービス制御プログラムを記録した記録媒体などとして実現されるとしてもよい。   The present invention is not only realized as a web service system, but also a web service control method for controlling the web service system, a web service control program for causing one or more computer systems to execute the web service control method, and web service control It may be realized as a recording medium on which a program is recorded.

また、Webサービスシステムを構成するアプリケーションサーバ、アプリケーションサーバを制御するアプリケーションサーバ制御方法、アプリケーションサーバ制御方法をコンピュータシステムなどに実行させるアプリケーションサーバ制御プログラム、アプリケーションサーバ制御プログラムを記録した記録媒体などとして実現されるとしてもよい。   Further, the present invention is realized as an application server constituting a Web service system, an application server control method for controlling the application server, an application server control program for causing a computer system to execute the application server control method, a recording medium on which the application server control program is recorded, and the like. It may be.

また、Webサービスシステムを構成するノード、ノードを制御するノード制御方法、ノード制御方法をコンピュータシステムなどに実行させるノード制御プログラム、ノード制御プログラムを記録した記録媒体などとして実現されるとしてもよい。   Further, it may be realized as a node constituting the Web service system, a node control method for controlling the node, a node control program for causing the computer system to execute the node control method, a recording medium on which the node control program is recorded, and the like.

本発明では、オーバレイネットワークを利用することで、代替コンポーネントの探索範囲を限定する。さらに、効用情報を利用することで、限定した探索範囲内で、性能の高いコンポーネントを選出する。これによって、高性能な代替コンポーネントを高速に探索することができる。また、ノード間での負荷分散が図られ、スケーラブルなシステムを構成することができる。   In the present invention, the search range of alternative components is limited by using an overlay network. Furthermore, by using the utility information, a high-performance component is selected within a limited search range. As a result, a high-performance alternative component can be searched at high speed. In addition, the load can be distributed among the nodes, and a scalable system can be configured.

さらに、障害復旧にあたって、特定のコンポーネント、または特定のノードに配置されているコンポーネントが代替コンポーネントとして偏って選出されることを回避することができ、コンポーネント間、またはノード間での公平性を高めることができる。   Furthermore, it is possible to avoid the biased election of a specific component or a component placed on a specific node as an alternative component during disaster recovery, and improve fairness between components or between nodes. Can do.

また、自律分散処理を基本とするため、単一故障点が存在せず、複数の障害に対する耐性を有している。   Moreover, since it is based on autonomous distributed processing, there is no single point of failure and it has resistance against a plurality of failures.

(実施の形態1)
以下、本発明に係わる実施の形態1について図面を参照しながら説明する。
(Embodiment 1)
Embodiment 1 of the present invention will be described below with reference to the drawings.

本実施の形態におけるWebサービスシステムは、下記(a),(b)に示される特徴を備える。   The Web service system in the present embodiment has the features shown in the following (a) and (b).

(a)複数のコンポーネントを利用してWebサービスを提供するアプリケーションサーバと、物理ネットワークを介してアプリケーションサーバと接続されており複数のコンポーネントが分散されて配置されている複数のノードとを備えるWebサービスシステムであって、複数のノードの各々は、(a1)自ノードに配置されている1以上のコンポーネントと、他ノードに配置されている1以上のコンポーネントとの間で形成された論理ネットワークのリンクを示すリンク情報が登録されているリンクデータベースと、(a2)Webサービスで利用されている所定のコンポーネントと同一の機能を有するコンポーネントの探索についてアプリケーションサーバから要求されると、リンクデータベースに登録されているリンク情報に基づいて、論理ネットワークを形成する1以上のコンポーネントを探索し、所定のコンポーネントの代わりとして最適なコンポーネントを選出する代替コンポーネント探索処理部とを備える。   (A) A web service comprising an application server that provides a web service using a plurality of components, and a plurality of nodes that are connected to the application server via a physical network and in which a plurality of components are distributed. Each of the plurality of nodes is a link of a logical network formed between (a1) one or more components arranged in its own node and one or more components arranged in another node When the application server requests for a link database in which link information indicating the link information is registered and (a2) search for a component having the same function as a predetermined component used in the Web service, the link database is registered in the link database. Based on link information Te searches one or more components which form a logical network, and a alternate component search processing unit for selecting the optimum components as an alternative to the given component.

(b)複数のノードの各々は、(b1)自ノードに配置されている1以上のコンポーネントの中で、Webサービスで利用されているコンポーネントを実行する実行処理部と、(b2)実行処理部で実行されているコンポーネントの処理能力を計測し、計測して得られた結果を使用して、コンポーネントの実行によって得られる効用の指標となる効用情報を生成する効用情報生成処理部とを備え、(b3)複数のノードの中で、最適なコンポーネントを探索するノードを探索代理ノードとし、所定のコンポーネントと同一の機能を有するコンポーネントが配置されているノードを探索対象ノードとした場合において、探索代理ノードにおける代替コンポーネント探索処理部は、探索対象ノードにおける効用情報生成処理部で生成された効用情報に基づいて、効用が最も高いコンポーネントを最適なコンポーネントとして選出する。   (B) Each of the plurality of nodes includes: (b1) an execution processing unit that executes a component used in the Web service among one or more components arranged in the own node; and (b2) an execution processing unit. A utility information generation processing unit that measures the processing capacity of the component being executed in step (b), generates utility information that is an index of utility obtained by executing the component, using a result obtained by the measurement, (B3) In the case where a node that searches for an optimum component among a plurality of nodes is set as a search proxy node, and a node in which a component having the same function as a predetermined component is arranged as a search target node, the search proxy The alternative component search processing unit in the node uses the utility information generated by the utility information generation processing unit in the search target node. Based on, selects utility the highest component as the best components.

以上の点を踏まえて本実施の形態におけるWebサービスシステムについて説明する。   Based on the above points, the Web service system in the present embodiment will be described.

<概要>
まず、本実施の形態におけるWebサービスシステムの概要について説明する。
<Overview>
First, an outline of the Web service system in the present embodiment will be described.

図1は、本実施の形態におけるWebサービスシステムの概要を示す図である。図1に示されるように、Webサービスシステム100は、下記の条件(1),(2)の下で分散されて管理されている効用情報を利用して代替コンポーネントを探索する。   FIG. 1 is a diagram showing an outline of a Web service system according to the present embodiment. As shown in FIG. 1, the Web service system 100 searches for alternative components using utility information distributed and managed under the following conditions (1) and (2).

(1)同一の機能を有する複数のコンポーネントの間でオーバレイネットワークが構築される。   (1) An overlay network is constructed among a plurality of components having the same function.

ここで、コンポーネントとは、インターフェースを有するソフトウェア部品である。オーバレイネットワークとは、物理ネットワークにおけるリンクを利用して仮想的なリンクを形成した論理ネットワークである。   Here, the component is a software part having an interface. An overlay network is a logical network in which virtual links are formed using links in a physical network.

(2)オーバレイネットワークにおいて隣接するコンポーネント同士でコンポーネントに関する効用情報が交換される。ただし、オーバレイネットワーク上でリンクが形成されているコンポーネント間でのみ効用情報が交換される。   (2) Utility information regarding components is exchanged between adjacent components in the overlay network. However, utility information is exchanged only between components having links formed on the overlay network.

ここで、効用情報とは、代替コンポーネントが配置されているノードの処理能力、そのノードに対するネットワーク上における遅延、そのコンポーネントを使用しているアプリケーションサーバの数などによって、0から1の間で変動する値(以下、「効用値」と呼称する。)を含む情報である。ノードとは、ハードウェアなどのように、コンピュータシステムの物理的なリソースである。   Here, the utility information varies between 0 and 1 depending on the processing capability of the node in which the alternative component is arranged, the delay on the network with respect to the node, the number of application servers using the component, and the like. Information including a value (hereinafter referred to as “utility value”). A node is a physical resource of a computer system, such as hardware.

また、以下、Webサービスとは、XML(eXtensible Markup Language)やHTTP(Hyper Text Transfer Protocol)などを使用して、URI(Uniform Resource Identifier)によって特定されるコンポーネントを組み合わせて構成されるアプリケーションサービスとする。   Hereinafter, the Web service is an application service configured by combining components specified by a URI (Uniform Resource Identifier) using XML (eXtensible Markup Language), HTTP (Hyper Text Transfer Protocol), or the like. .

なお、ノード101〜105、アプリケーションサーバ106、ユーザ端末107などは、物理ネットワークを介して相互に接続され、TCP/IP(Transmission Control Protocol/Internet Protocol)、UDP/IP(User Datagram Protocol/Internet Protocol)などの通信プロトコルに基づいて、パケット単位でデータが送受信される。   The nodes 101 to 105, the application server 106, the user terminal 107, and the like are connected to each other via a physical network, and are TCP / IP (Transmission Control Protocol / Internet Protocol), UDP / IP (User Datagram Protocol / Internet Protocol). Data is transmitted and received in packet units based on a communication protocol such as.

なお、代替コンポーネントの探索において、サービスの再開までの時間と、再開後のサービスの質とを考慮することが重要である。ここでは、後者の指標となる値として効用値を使用する。   In searching for an alternative component, it is important to consider the time until service restart and the quality of service after restart. Here, the utility value is used as the latter index value.

また、サービス再開までの時間は、代替コンポーネントを発見するまでの時間と、発見した代替コンポーネントに利用することを通知するメッセージのRTT(Round Trip Time)とを加算した値とする。   The time until the service is restarted is a value obtained by adding the time until the replacement component is discovered and the RTT (Round Trip Time) of the message notifying that the replacement component is used.

さらに、効用値と、サービス再開までの時間とは、トレードオフの関係にある。これは、次の点からも窺える。例えば、高い効用のコンポーネント、すなわち、効用値が1に近いコンポーネントを代替コンポーネントとして利用するには、複数のコンポーネントの効用値を取得して比較する必要がある。しかし、複数のコンポーネントの効用値を取得して比較するためには、探索に時間がかかり、サービスの再開までの時間が増大する。   Further, the utility value and the time until service restart are in a trade-off relationship. This can be seen from the following points. For example, in order to use a high utility component, that is, a component having a utility value close to 1, as a substitute component, it is necessary to obtain and compare utility values of a plurality of components. However, in order to obtain and compare the utility values of a plurality of components, it takes time to search, and the time until service restarts increases.

<代替コンポーネント探索手法>
次に、本実施の形態におけるWebサービスシステムにおいて利用される代替コンポーネントの探索手法について説明する。
<Alternative component search method>
Next, an alternative component search method used in the Web service system according to this embodiment will be described.

なお、アプリケーションサーバは、1以上のコンポーネントを利用してWebサービスを提供しているとする。また、あらかじめ、Webサービスに利用されているコンポーネントからは、コンポーネントに対する探索代理ノードのアドレスが伝達されている。アプリケーションサーバに備わるデータベースには、コンポーネントから伝達された探索代理ノードのアドレスが登録されている。   It is assumed that the application server provides a web service using one or more components. In addition, the address of the search proxy node for the component is transmitted in advance from the component used for the Web service. In the database provided in the application server, the address of the search proxy node transmitted from the component is registered.

ここで、探索代理ノードとは、Webサービスで利用されているコンポーネントに対してオーバレイネットワークにおいて隣接する1以上のコンポーネントの中でリンク数が最多のコンポーネントが配置されているノードである。   Here, the search proxy node is a node in which a component having the largest number of links among one or more components adjacent to the component used in the Web service in the overlay network is arranged.

アプリケーションサーバは、サービスを提供するにあたって利用しているコンポーネントのいずれかにおいて障害が発生した場合は、サービスの提供を停止する。データベースに登録されている複数のアドレスに基づいて、障害が発生したコンポーネントに対する探索代理ノードを特定する。特定した探索代理ノードに、障害が発生したコンポーネントと同一の機能を有するコンポーネントを探索させる探索要求を送信する。   The application server stops providing the service if a failure occurs in any of the components used to provide the service. Based on a plurality of addresses registered in the database, a search proxy node for a component in which a failure has occurred is specified. A search request for causing the identified search proxy node to search for a component having the same function as the component in which the failure has occurred is transmitted.

探索代理ノードは、アプリケーションサーバから送信された探索要求に基づいて、探索代理ノードに配置されている1以上のコンポーネントの中から、障害が発生したコンポーネントと同一の機能を有するコンポーネントを特定する。特定したコンポーネントに隣接するコンポーネントを、オーバレイネットワークを形成する複数のコンポーネントの中から選出する。選出したコンポーネント(以下、「探索対象コンポーネント」と呼称する。)が配置されているノード(以下、「探索対象ノード」と呼称する。)に、探索対象コンポーネントの効用値やアドレスなどに関する情報を照会する効用情報照会要求を送信する。このとき、複数のコンポーネントが選出された場合は、複数の探索対象ノードに対して効用情報照会要求が個別に送信される。   Based on the search request transmitted from the application server, the search proxy node specifies a component having the same function as the component in which the failure has occurred from one or more components arranged in the search proxy node. A component adjacent to the identified component is selected from a plurality of components forming the overlay network. Queries the node (hereinafter referred to as “search target node”) where the selected component (hereinafter referred to as “search target component”) is arranged for information on the utility value and address of the search target component. A utility information inquiry request is sent. At this time, when a plurality of components are selected, utility information inquiry requests are individually transmitted to the plurality of search target nodes.

探索対象ノードは、探索代理ノードから送信された効用情報照会要求に基づいて、探索対象ノードで管理されている情報の中から、探索対象コンポーネントの効用値やアドレスなどに関する情報を特定する。特定した情報を、効用情報照会要求に対する応答として探索代理ノードに送信する。   The search target node specifies information related to the utility value and address of the search target component from the information managed by the search target node based on the utility information inquiry request transmitted from the search proxy node. The identified information is transmitted to the search proxy node as a response to the utility information inquiry request.

探索代理ノードは、探索対象ノードから送信された情報に基づいて、1以上の探索対象コンポーネントの中から、障害が発生したコンポーネントの代替として最適なコンポーネントとして効用値が1に近いコンポーネントを選択する。選択したコンポーネントが特定されるコンポーネント情報を、探索要求に対する応答としてアプリケーションサーバに送信する。   Based on the information transmitted from the search target node, the search proxy node selects a component having a utility value close to 1 as an optimum component as a substitute for the component in which the failure has occurred from one or more search target components. Component information for identifying the selected component is transmitted to the application server as a response to the search request.

アプリケーションサーバは、探索代理ノードから送信されたコンポーネント情報に基づいて、障害が発生したコンポーネントから、コンポーネント情報によって特定されるコンポーネントに切り替えてWebサービスの提供を再開する。   Based on the component information transmitted from the search proxy node, the application server switches from the component in which the failure has occurred to the component specified by the component information and resumes providing the web service.

<利用時>
例えば、図2に示されるように、アプリケーションサーバ106は、コンポーネントb1,c4,e3を利用するWebサービスを提供している。なお、各コンポーネントからは、オーバレイネットワークにおいて各コンポーネントに隣接する1以上のコンポーネントの中でリンク数が最多のコンポーネントが配置されているノードのアドレスが探索代理ノードのアドレスとして伝達されている。アプリケーションサーバ106に備わるデータベースには、各コンポーネントから伝達された探索代理ノードのアドレスが登録されている。
<When using>
For example, as shown in FIG. 2, the application server 106 provides a Web service that uses the components b1, c4, and e3. Note that from each component, the address of the node where the component having the largest number of links among one or more components adjacent to each component in the overlay network is transmitted as the address of the search proxy node. In the database provided in the application server 106, the address of the search proxy node transmitted from each component is registered.

ここでは、一例として、コンポーネントb1からは、コンポーネントb3が配置されているノード103のアドレスが伝達されている。データベースには、コンポーネントb1に対する探索代理ノードのアドレスとしてノード103のアドレスが登録されている。コンポーネントc4からは、コンポーネントc5が配置されているノード105のアドレスが伝達されている。データベースには、コンポーネントc4に対する探索代理ノードのアドレスとしてノード105のアドレスが登録されている。コンポーネントe3からは、コンポーネントe5が配置されているノード105のアドレスが伝達されている。データベースには、コンポーネントe3に対する探索代理ノードのアドレスとしてノード105のアドレスが登録されている。   Here, as an example, the address of the node 103 where the component b3 is arranged is transmitted from the component b1. In the database, the address of the node 103 is registered as the address of the search proxy node for the component b1. From the component c4, the address of the node 105 where the component c5 is arranged is transmitted. In the database, the address of the node 105 is registered as the address of the search proxy node for the component c4. From the component e3, the address of the node 105 where the component e5 is arranged is transmitted. In the database, the address of the node 105 is registered as the address of the search proxy node for the component e3.

<障害時>
次に、図3に示されるように、アプリケーションサーバ106は、コンポーネントc4に障害が発生した場合は、コンポーネントc4を利用するWebサービスの提供を停止する。
<In case of failure>
Next, as illustrated in FIG. 3, when a failure occurs in the component c4, the application server 106 stops providing a web service that uses the component c4.

<探索時>
このとき、図4に示されるように、アプリケーションサーバ106は、データベースに登録されているアドレスに基づいて、コンポーネントc4に対する探索代理ノードとしてノード105を特定する。特定したノード105に、コンポーネントc4の代替コンポーネントとして最適なコンポーネントを探索させる要求を送信する。
<When searching>
At this time, as shown in FIG. 4, the application server 106 identifies the node 105 as a search proxy node for the component c4 based on the address registered in the database. A request is sent to the identified node 105 to search for an optimum component as an alternative component of the component c4.

これに伴い、ノード105は、オーバレイネットワークを形成する複数のコンポーネントの中で、コンポーネントc4と同一の機能を有するコンポーネントc5に隣接するコンポーネントc2,c3を選出する。選出したコンポーネントc2,c3の効用情報を、選出したコンポーネントc2,c3が配置されているノード102,103から個別に取得する。個別に取得した2つの効用情報に基づいて、最も効用の高いコンポーネント、すなわち、効用値が1に近いコンポーネントとしてコンポーネントc2を選択する。   Accordingly, the node 105 selects components c2 and c3 adjacent to the component c5 having the same function as that of the component c4 among the plurality of components forming the overlay network. The utility information of the selected components c2 and c3 is individually acquired from the nodes 102 and 103 where the selected components c2 and c3 are arranged. Based on the two pieces of utility information acquired individually, the component c2 is selected as the component having the highest utility, that is, the component having a utility value close to 1.

<再開時>
そして、図5に示されるように、ノード105は、要求に対する応答として、選択したコンポーネントc2が特定されるコンポーネント情報をアプリケーションサーバ106に送信する。
<When resuming>
Then, as illustrated in FIG. 5, the node 105 transmits component information for specifying the selected component c2 to the application server 106 as a response to the request.

アプリケーションサーバ106は、ノード105から送信されたコンポーネント情報に基づいて、障害が発生したコンポーネントc4の代替としてコンポーネントc2を利用してWebサービスの提供を再開する。   Based on the component information transmitted from the node 105, the application server 106 resumes the provision of the Web service using the component c2 as an alternative to the component c4 in which the failure has occurred.

<オーバレイネットワーク構築手法>
次に、本実施の形態におけるWebサービスシステムにおいて利用されるオーバレイネットワークの構築手法について説明する。
<Overlay network construction method>
Next, an overlay network construction method used in the Web service system according to this embodiment will be described.

上記で説明した代替コンポーネントの探索手法は、オーバレイネットワークのトポロジによって、性能が大きく左右される。   The performance of the alternative component search method described above depends greatly on the topology of the overlay network.

例えば、探索代理ノードが効用の高いコンポーネントを探索するためには、より多くのコンポーネントとリンクを形成することが望ましい。しかし、リンク数の増加にともない管理しなければならない効用情報も増加する。このため、大規模ネットワークにおいて、管理負荷の観点から、各ノードに配置されている1以上のコンポーネントのリンク数の総和に上限を設けることが望ましい。また、一般的に、1つのノードには、1以上のコンポーネントが配置されている。   For example, in order for a search proxy node to search for a component with high utility, it is desirable to form links with more components. However, utility information that must be managed increases as the number of links increases. For this reason, in a large-scale network, it is desirable to set an upper limit on the total number of links of one or more components arranged in each node from the viewpoint of management load. In general, one or more components are arranged in one node.

そこで、各コンポーネント間の負荷分散を図りながら、効率的に探索することが実現できるトポロジの作成が望まれる。このため、ここでは、下記の仕様が満たされるように、オーバレイネットワークが構築される。   Therefore, it is desired to create a topology that can be efficiently searched while achieving load distribution among the components. For this reason, an overlay network is constructed here so that the following specifications are satisfied.

具体的には、オーバレイネットワークにおいて、ノードiに配置されているコンポーネントaiのリンク数をdiaとしたとき、ノードiの総リンク数diに対して、下記の式(1)で示される制限を設ける。ここで、constはノードの処理能力などで決定される定数である。しかし、ここでは、話を簡潔にするために、全ノードで一定の値とする。   Specifically, in the overlay network, when the number of links of the component ai arranged in the node i is dia, the restriction expressed by the following formula (1) is provided for the total number of links di of the node i. . Here, const is a constant determined by the processing capability of the node. However, here, in order to simplify the story, a constant value is assumed for all nodes.

(1)di=dia+dib+dic+・・・≦const   (1) di = dia + dib + dic +... ≦ const

また、各コンポーネントについては、オーバレイネットワークにおいて、少なくとも2本のリンクが形成されているとする。これは、1本のリンクしか形成されていない場合において、リンク先のコンポーネントに障害が発生すると、リンク元のコンポーネントがオーバレイネットワークにおいて孤立する。探索時に、探索対象コンポーネントでありながら、探索対象コンポーネントの効用値やアドレスなどに関する情報が照会されなくなるためである。   For each component, it is assumed that at least two links are formed in the overlay network. This is because, when only one link is formed, if a failure occurs in a link destination component, the link source component is isolated in the overlay network. This is because information regarding the utility value, address, etc. of the search target component is not queried at the time of search although it is the search target component.

また、探索に要する時間や物理ネットワーク上に流れるトラヒック量は、物理ネットワークのノード間のホップ数と関連があると考えられる。従って、オーバレイネットワークを構築するにあたって、物理ネットワークにおいてホップ数が小さいノードに配置された1以上のコンポーネントとの間で順次リンクを形成することを試みる。   Further, it is considered that the time required for the search and the traffic amount flowing on the physical network are related to the number of hops between the nodes of the physical network. Therefore, when constructing an overlay network, an attempt is made to sequentially form a link with one or more components arranged in a node having a small number of hops in the physical network.

そして、リンク形成時に、ノードの総リンク数の上限に達した場合は、ノードに配置されているコンポーネントのいずれかのリンクを削除する。これにより、ノードに配置されている1以上のコンポーネントの間で、公平性が維持される。ここで、公平性とは、代替コンポーネントの探索時に、いずれのコンポーネントにおいても、同程度に、代替コンポーネントを発見することができることとする。   When the upper limit of the total number of links of the node is reached at the time of link formation, any link of the components arranged in the node is deleted. Thereby, fairness is maintained between one or more components arranged in the node. Here, the fairness means that, when searching for an alternative component, the alternative component can be found to the same extent in any component.

<構築手法の手順>
次に、上記の仕様が満たすオーバレイネットワークの構築手法の手順について説明する。
<Construction procedure>
Next, the procedure of an overlay network construction method that satisfies the above specifications will be described.

図6、図7は、本実施の形態におけるオーバレイネットワークの構築手法の手順を示す図である。図6に示されるように、ここでは、一例として、新たにコンポーネントaiがノードiに配置されたとする。この場合において、まず、コンポーネントのリンク数の下限としてLLN(Least Link Number)を設定する。ノードiの総リンク数diの上限としてMLN(Max Link Number)を設定する。ノードiにコンポーネントaが配置されることで、ノードiに配置されているコンポーネントの平均リンク数の期待値E(dia)を下記の式(2)に基づいて算出する。   6 and 7 are diagrams showing the procedure of the overlay network construction method in the present embodiment. As illustrated in FIG. 6, here, as an example, it is assumed that a component ai is newly arranged in the node i. In this case, first, LLN (Least Link Number) is set as the lower limit of the number of links of the component. MLN (Max Link Number) is set as the upper limit of the total link number di of the node i. By arranging the component a at the node i, the expected value E (dia) of the average number of links of the components arranged at the node i is calculated based on the following equation (2).

(2)E(dia)=di/(ノードiに配置されているコンポーネント数)   (2) E (dia) = di / (number of components arranged in node i)

次に、ノードiの総リンク数diがMLN以上でない限り(S101:No)、オーバレイネットワークを構成する複数のコンポーネントのいずれかと新たなリンクを形成することが試みられる。このとき、下記の手順(1)〜(3)でリンク先のコンポーネントが選出される(S102)。   Next, as long as the total number of links di of the node i is not greater than or equal to the MLN (S101: No), an attempt is made to form a new link with any one of a plurality of components constituting the overlay network. At this time, the link destination component is selected by the following procedures (1) to (3) (S102).

(1)オーバレイネットワークを構成する複数のコンポーネントの中で、コンポーネントaiと同一の機能を有するコンポーネントを選出する。   (1) A component having the same function as that of the component ai is selected from among a plurality of components constituting the overlay network.

(2)手順1で選出したコンポーネントの中で、コンポーネントaiとリンクが形成されていないコンポーネントを選出する。   (2) Among the components selected in step 1, select components that are not linked to component ai.

(3)手順2で選出したコンポーネントの中で、オーバレイネットワークを形成する物理ネットワークにおいてノードiに最隣接するノードに配置されているコンポーネントを選出する。   (3) Among the components selected in the procedure 2, the component arranged in the node nearest to the node i in the physical network forming the overlay network is selected.

ここでは、一例として、ノードiに隣接するノードjに配置されているコンポーネントajがリンク先のコンポーネントとして選出されたとする。   Here, as an example, it is assumed that the component aj arranged in the node j adjacent to the node i is selected as the link destination component.

次に、ノードjの総リンク数djがノードjに設定されたMLN以上である場合は(S103:Yes)、ノードjに配置されている1以上のコンポーネントのいずれかのリンクを1本削除する(S104)。このとき、図7に示されるように、下記の手順(1)〜(3)で削除対象となるリンクを選出し(S111,S112)、選出したリンクを削除する(S113)。   Next, when the total link number dj of the node j is greater than or equal to the MLN set in the node j (S103: Yes), one of the links of one or more components arranged in the node j is deleted. (S104). At this time, as shown in FIG. 7, a link to be deleted is selected in the following procedures (1) to (3) (S111, S112), and the selected link is deleted (S113).

(1)ノードjに配置されている1以上のコンポーネントの中で、リンク数が最多のコンポーネントを選出する(S111)。   (1) Among the one or more components arranged at the node j, the component having the largest number of links is selected (S111).

(2)選出したリンク元のコンポーネントとリンクを形成する1以上のコンポーネントの中で、リンク数が最多のコンポーネントを選出する(S112)。   (2) Among the one or more components that form a link with the selected link source component, the component with the largest number of links is selected (S112).

(3)ノードjに配置されている1以上のコンポーネントによって形成されている1以上のリンクの中で、手順1で選出したコンポーネントと、手順2で選出したコンポーネントとによって形成されているリンクを削除する(S113)。   (3) Deletes the link formed by the component selected in step 1 and the component selected in step 2 among the one or more links formed by one or more components arranged in node j. (S113).

例えば、手順1において、ノードjに配置されている1以上のコンポーネントの中で、リンク数が最多のコンポーネントとしてコンポーネントbjが選出されたとする。手順2において、コンポーネントbjとリンクを形成する1以上のコンポーネントの中で、リンク数が最多のコンポーネントとしてコンポーネントbkが選出されたとする。この場合において、コンポーネントbjとコンポーネントbkとによって形成されているリンクolb(j,k)が手順3において選出される。   For example, it is assumed that in the procedure 1, the component bj is selected as the component having the largest number of links among one or more components arranged in the node j. Assume that component bk is selected as the component with the largest number of links among the one or more components that form links with component bj in procedure 2. In this case, the link olb (j, k) formed by the component bj and the component bk is selected in the procedure 3.

そして、コンポーネントaiとコンポーネントajとの間でリンクを形成する(S105)。   Then, a link is formed between the component ai and the component aj (S105).

ただし、リンクolb(j,k)を削除することによって、コンポーネントbkのリンク数dkbがLNNより小さくなる場合は、削除対象となるリンクは、リンクolb(j,k)を除いて再選出される。   However, if the link number dkb of the component bk is smaller than the LNN by deleting the link olb (j, k), the link to be deleted is re-selected except for the link olb (j, k). .

なお、削除対象となるリンクが存在しない場合は、コンポーネントaiは、コンポーネントajとリンクを形成することを断念する。コンポーネントaiとリンクが形成されていないコンポーネントの中から、コンポーネントajを除く。   If there is no link to be deleted, the component ai gives up forming a link with the component aj. The component aj is excluded from the components that are not linked to the component ai.

また、ノードiの総リンク数diがMLN以上になり(S101:Yes)、コンポーネントaiのリンク数diaが期待値E(dia)より小さい場合は(S106:No)、上記(1)〜(3)の手順と同様に、下記の手順(1)〜(3)で削除対象となるリンクを選出し、選出したリンクを削除する(S107)。これによって、コンポーネントaiは、新たなリンクを形成することができる。   Further, when the total link number di of the node i becomes greater than or equal to MLN (S101: Yes) and the link number dia of the component ai is smaller than the expected value E (dia) (S106: No), the above (1) to (3 In the same manner as in the procedure), the links to be deleted are selected in the following procedures (1) to (3), and the selected links are deleted (S107). As a result, the component ai can form a new link.

(1)ノードiに配置されている1以上のコンポーネントの中で、リンク数が最多のコンポーネントを選出する(S111)。   (1) A component having the largest number of links is selected from one or more components arranged in the node i (S111).

(2)選出したリンク元のコンポーネントとリンクを形成する1以上のコンポーネントの中で、リンク数が最多のコンポーネントを選出する(S112)。   (2) Among the one or more components that form a link with the selected link source component, the component with the largest number of links is selected (S112).

(3)ノードiに配置されている1以上のコンポーネントによって形成されている1以上のリンクの中で、手順1で選出したコンポーネントと、手順2で選出したコンポーネントとによって形成されているリンクを削除する(S113)。   (3) Delete the link formed by the component selected in step 1 and the component selected in step 2 among the one or more links formed by one or more components arranged in node i. (S113).

具体的には、図8に示されるように、新たにコンポーネントb4がノード104に配置されたとする。この場合において、図9に示されるように、コンポーネントb4は、オーバレイネットワークを形成する物理ネットワークにおいて隣接するノードnに配置された1以上のコンポーネントから、リンクolb(4,n)を形成することを試みる。このとき、コンポーネントb5とリンクを形成するにあたり、ノード105の総リンク数d5がノード105に設定されたMLN以上になる。そこで、図10に示されるように、ノード105に配置されているコンポーネントの中でリンク数が1番多いコンポーネントb5を選択する。さらに、コンポーネントb5とリンクを形成しているコンポーネントの中で、リンク数が1番多いコンポーネントb1を選択する。コンポーネントb5とコンポーネントb1とのリンクolb(1,5)を削除してから、コンポーネントb4とコンポーネントb5とのリンクolb(4,5)を追加する。   Specifically, it is assumed that a component b4 is newly arranged in the node 104 as shown in FIG. In this case, as shown in FIG. 9, the component b4 forms a link olb (4, n) from one or more components arranged in the adjacent node n in the physical network forming the overlay network. Try. At this time, in forming a link with the component b5, the total number of links d5 of the node 105 is equal to or greater than the MLN set in the node 105. Therefore, as shown in FIG. 10, the component b5 having the largest number of links among the components arranged in the node 105 is selected. Further, the component b1 having the largest number of links is selected from the components that form links with the component b5. The link olb (1, 5) between the component b5 and the component b1 is deleted, and then the link olb (4, 5) between the component b4 and the component b5 is added.

なお、ノード104の総リンク数d4がノード104に設定されたMLN以上でないので、他のコンポーネントとリンクを形成することを続ける。このようにして、図11に示されるように、新たなオーバレイネットワークのトポロジが形成される。   Since the total link number d4 of the node 104 is not equal to or greater than the MLN set in the node 104, the link with other components is continuously formed. In this way, a new overlay network topology is formed as shown in FIG.

<構成>
次に、本実施の形態におけるWebサービスシステムの構成について説明する。
<Configuration>
Next, the configuration of the Web service system in the present embodiment will be described.

図12は、本実施の形態におけるWebサービスシステムの構成を示す図である。図12に示されるように、ここでは、一例として、Webサービスシステム100は、ノード101〜105、アプリケーションサーバ106などを備える。   FIG. 12 is a diagram showing a configuration of the Web service system in the present embodiment. As shown in FIG. 12, here, as an example, the Web service system 100 includes nodes 101 to 105, an application server 106, and the like.

ノード101〜105の各ノードは、各ノードに配置されている複数のコンポーネントの各機能を、物理ネットワークを介して、例えば、アプリケーションサーバ106などのような他のノードに提供するコンピュータシステムである。ここでは、一例として、ノード101には、コンポーネントa1,b1,c1が配置されている。ノード102には、コンポーネントa2,c2,d2が配置されている。ノード103には、b3,c3,e3が配置されている。ノード104には、コンポーネントa4,c4,d4が配置されている。ノード105には、コンポーネントc5,d5,e5が配置されている。   Each of the nodes 101 to 105 is a computer system that provides each function of a plurality of components arranged in each node to another node such as the application server 106 via a physical network. Here, as an example, the nodes 101 are arranged with components a1, b1, and c1. In the node 102, components a2, c2, and d2 are arranged. In the node 103, b3, c3, and e3 are arranged. In the node 104, components a4, c4, and d4 are arranged. In the node 105, components c5, d5, and e5 are arranged.

なお、コンポーネントa1,a2,a4の各コンポーネントは、同一の機能を有するコンポーネントである。コンポーネントb1,b3の各コンポーネントは、同一の機能を有するコンポーネントである。コンポーネントc1,c2,c3,c4の各コンポーネントは、同一の機能を有するコンポーネントである。コンポーネントd2,d4,d5の各コンポーネントは、同一の機能を有するコンポーネントである。   The components a1, a2, and a4 are components having the same function. The components b1 and b3 are components having the same function. The components c1, c2, c3, and c4 are components having the same function. The components d2, d4, and d5 are components having the same function.

アプリケーションサーバ106は、コンポーネントb1,c4,e3の各機能を組み合わせたWebサービスを、物理ネットワークを介して、例えば、ユーザ端末107などのような他のノードに提供するコンピュータシステムである。   The application server 106 is a computer system that provides a Web service that combines the functions of the components b1, c4, and e3 to another node such as the user terminal 107 via a physical network.

また、アプリケーションサーバ106は、Webサービスで利用されているコンポーネント(以下、「使用コンポーネント」と呼称する。)が利用できなくなったときは、使用コンポーネントの代わりとなるコンポーネント(以下、「代替コンポーネント」と呼称する。)を、オーバレイネットワークに分散されて配置されている複数のコンポーネントの中から探索する。   When the component used in the Web service (hereinafter referred to as “used component”) becomes unavailable, the application server 106 replaces the component used (hereinafter referred to as “alternative component”). Is searched from among a plurality of components distributed in the overlay network.

<ノード>
次に、本実施の形態におけるノード101〜105の構成について説明する。なお、ノード101〜105については、構成が同一であり、ここでは、ノード101についてのみ説明し、ノード102〜105については、説明を省略する。
<Node>
Next, the configuration of the nodes 101 to 105 in the present embodiment will be described. The nodes 101 to 105 have the same configuration, and only the node 101 will be described here, and the description of the nodes 102 to 105 will be omitted.

図13は、本実施の形態におけるノード101の構成を示す図である。図13に示されるように、ノード101は、コンポーネント保持部111、コンポーネントデータベース112、ノードデータベース113、リンクデータベース114、自ノード効用情報記憶部115、他ノード効用情報記憶部116、コンポーネント実行処理部120、効用情報生成処理部130、代替コンポーネント探索処理部140、効用情報伝達処理部150などを備える。   FIG. 13 is a diagram illustrating a configuration of the node 101 in the present embodiment. As illustrated in FIG. 13, the node 101 includes a component holding unit 111, a component database 112, a node database 113, a link database 114, a local node utility information storage unit 115, another node utility information storage unit 116, and a component execution processing unit 120. , Utility information generation processing unit 130, alternative component search processing unit 140, utility information transmission processing unit 150, and the like.

なお、コンポーネント実行処理部120、代替コンポーネント探索処理部140、効用情報伝達処理部150などは、CORBA、DCOM、SOAPなどの分散オブジェクト技術を利用してコンピュータシステム上に実現されているとしてもよいし、これら以外の分散オブジェクト技術を利用してコンピュータシステム上に実現されているとしてもよい。ここでは、一例として、SOAPを利用してコンピュータシステム上に実現されているとする。   The component execution processing unit 120, the alternative component search processing unit 140, the utility information transmission processing unit 150, and the like may be realized on a computer system using a distributed object technology such as CORBA, DCOM, or SOAP. It may be realized on a computer system using a distributed object technology other than these. Here, as an example, it is assumed that it is realized on a computer system using SOAP.

<コンポーネント保持部111>
コンポーネント保持部111は、自ノードに配置されている1以上のコンポーネントを保持している。
<Component holding unit 111>
The component holding unit 111 holds one or more components arranged in its own node.

<コンポーネントデータベース112>
コンポーネントデータベース112には、自ノードに配置されているコンポーネントに関するコンポーネント情報が登録されている。
<Component database 112>
In the component database 112, component information related to components arranged in the own node is registered.

図14は、コンポーネントデータベース112で管理されているコンポーネント情報のデータ構造を示す図である。図14に示されるように、ここでは、一例として、コンポーネントデータベース112には、コンポーネント識別情報(フィールドF111)、ノード識別情報(実行ノード)(フィールドF112)、ノード識別情報(探索代理ノード)(フィールドF113)などが含まれるコンポーネント情報(レコードR111)が登録されている(テーブルT111)。   FIG. 14 is a diagram showing a data structure of component information managed in the component database 112. As shown in FIG. As shown in FIG. 14, here, as an example, the component database 112 includes component identification information (field F111), node identification information (execution node) (field F112), node identification information (search proxy node) (field F113) and the like component information (record R111) is registered (table T111).

コンポーネント識別情報(フィールドF111)は、例えば、コンポーネント名のように、オーバレイネットワークを構成する1以上のコンポーネントの中でコンポーネントが識別される情報である。   The component identification information (field F111) is information for identifying a component among one or more components constituting the overlay network, such as a component name.

ノード識別情報(実行ノード)(フィールドF112)は、コンポーネント識別情報によって特定されるコンポーネントが実行されたノードが識別される情報である。   The node identification information (execution node) (field F112) is information for identifying the node on which the component specified by the component identification information is executed.

ノード識別情報(探索代理ノード)(フィールドF113)は、コンポーネント識別情報によって特定されるコンポーネントと同一の機能を有するコンポーネントを探索するノードが識別される情報である。   The node identification information (search proxy node) (field F113) is information for identifying a node that searches for a component having the same function as the component specified by the component identification information.

<ノードデータベース113>
ノードデータベース113には、自ノードに隣接する他ノードに関するノード情報が登録されている。
<Node database 113>
In the node database 113, node information related to other nodes adjacent to the own node is registered.

図15は、ノードデータベース113で管理されているノード情報のデータ構造を示す図である。図15に示されるように、ここでは、一例として、ノードデータベース113には、ノード識別情報(フィールドF121)、ホップ数(フィールドF122)、RTT(フィールドF123)などが含まれるノード情報(レコードR121)が登録されている(テーブルT121)。   FIG. 15 is a diagram showing a data structure of node information managed in the node database 113. As shown in FIG. 15, here, as an example, the node database 113 includes node information (record R121) including node identification information (field F121), the number of hops (field F122), RTT (field F123), and the like. Is registered (table T121).

ノード識別情報(フィールドF121)は、例えば、ホスト名、IPアドレスのように、物理ネットワークを構成する1以上のノード中で各ノードが識別される情報である。   The node identification information (field F121) is information for identifying each node among one or more nodes constituting the physical network, such as a host name and an IP address.

ホップ数(フィールドF122)は、自ノードから、ノード識別情報によって特定されるノードまでの間に経由するルータなどの数である。   The number of hops (field F122) is the number of routers or the like that pass between the own node and the node specified by the node identification information.

RTT(フィールドF123)は、自ノードと、ノード識別情報によって特定されるノードとの間における往復伝送時間である。   RTT (field F123) is a round trip transmission time between the own node and the node specified by the node identification information.

<リンクデータベース114>
リンクデータベース114には、自ノードに配置されているコンポーネント(以下、「リンク元コンポーネント」と呼称する。)と、他ノードに配置されているコンポーネント(以下、「リンク先コンポーネント」と呼称する。)との間で形成されているリンクに関するリンク情報が登録されている。
<Link database 114>
In the link database 114, a component (hereinafter referred to as “link source component”) arranged in the own node and a component (hereinafter referred to as “link destination component”) arranged in another node. Link information related to the link formed between and is registered.

図16は、リンクデータベース114で管理されているリンク情報のデータ構造を示す図である。図16に示されるように、ここでは、一例として、リンクデータベース114には、リンク元情報(フィールドF131)、リンク先情報(フィールドF132)などが含まれるリンク情報(レコードR131)が登録されている(テーブルT131)。   FIG. 16 is a diagram showing a data structure of link information managed by the link database 114. As shown in FIG. 16, here, as an example, link information (record R131) including link source information (field F131), link destination information (field F132), and the like is registered in the link database 114. (Table T131).

リンク元情報(フィールドF131)には、リンク元のコンポーネント識別情報、リンク元のノード識別情報などが含まれる。リンク先情報(フィールドF132)には、リンク先のコンポーネント識別情報、リンク先のノード識別情報などが含まれる。   The link source information (field F131) includes link source component identification information, link source node identification information, and the like. The link destination information (field F132) includes link destination component identification information, link destination node identification information, and the like.

なお、本実施の形態では、あらかじめ、コンピュータシステムを使用して、上記のオーバレイネットワークの構築手法に基づいたシミュレーションを実行する。実行して得られた結果に基づいて生成されたリンク情報が、リンクデータベース114に登録されているとする。   In this embodiment, a computer system is used in advance to execute a simulation based on the above overlay network construction technique. Assume that link information generated based on a result obtained by execution is registered in the link database 114.

<自ノード効用情報記憶部115>
自ノード効用情報記憶部115は、自ノードで実行されたコンポーネントごとに効用情報を記憶する。
<Own node utility information storage unit 115>
The own node utility information storage unit 115 stores utility information for each component executed in the own node.

図17は、本実施の形態における自ノード効用情報記憶部115に記憶されている効用情報のデータ構造を示す図である。図17に示されるように、自ノード効用情報記憶部115は、自ノードで実行されたコンポーネントごとに効用情報(レコードR141)を記憶する(テーブルT141)。効用情報(レコードR141)には、自ノードで実行されたコンポーネントのコンポーネント識別情報(フィールドF141)、そのコンポーネントの効用値(フィールドF142)などが含まれる。   FIG. 17 is a diagram showing a data structure of utility information stored in the own node utility information storage unit 115 in the present embodiment. As shown in FIG. 17, the own node utility information storage unit 115 stores utility information (record R141) for each component executed in the own node (table T141). The utility information (record R141) includes the component identification information (field F141) of the component executed in the own node, the utility value (field F142) of the component, and the like.

<他ノード効用情報記憶部116>
他ノード効用情報記憶部116は、他ノードで実行されたコンポーネントごとに効用情報を記憶する。
<Other node utility information storage unit 116>
The other node utility information storage unit 116 stores utility information for each component executed in the other node.

図18は、本実施の形態における他ノード効用情報記憶部116に記憶されている効用情報のデータ構造を示す図である。図18に示されるように、他ノード効用情報記憶部116は、他ノードで実行されたコンポーネントごとに効用情報(レコードR151)を記憶する(テーブルT151)。効用情報(レコードR151)には、他ノードで実行されたコンポーネントのコンポーネント識別情報(フィールドF151)、そのコンポーネントの効用値(フィールドF152)などが含まれる。   FIG. 18 is a diagram showing a data structure of utility information stored in the other node utility information storage unit 116 in the present embodiment. As shown in FIG. 18, the other-node utility information storage unit 116 stores utility information (record R151) for each component executed in the other node (table T151). The utility information (record R151) includes component identification information (field F151) of a component executed by another node, utility value (field F152) of the component, and the like.

<詳細構成>
図19は、本実施の形態におけるノード101の詳細な構成を示す図である。図19に示されるように、ノード101は、下記の構成要素などを備える。
<Detailed configuration>
FIG. 19 is a diagram showing a detailed configuration of the node 101 in the present embodiment. As illustrated in FIG. 19, the node 101 includes the following components and the like.

<コンポーネント実行処理部120>
コンポーネント実行処理部120は、コンポーネント実行部121、実行要求受信部122、実行応答送信部123などを備える。
<Component execution processing unit 120>
The component execution processing unit 120 includes a component execution unit 121, an execution request reception unit 122, an execution response transmission unit 123, and the like.

<コンポーネント実行部121>
コンポーネント実行部121は、実行要求受信部122からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報によって特定されるコンポーネントをコンポーネント保持部111から読み出す。読み出したコンポーネントを実行する。実行して得られた実行結果を実行応答送信部123に渡す。
<Component execution unit 121>
The component execution unit 121 receives component identification information from the execution request reception unit 122. The component specified by the received component identification information is read from the component holding unit 111. Executes the read component. The execution result obtained by execution is passed to the execution response transmission unit 123.

<実行要求受信部122>
実行要求受信部122は、アプリケーションサーバ106などの送信元から送信された実行要求メッセージを受信する。受信した実行要求メッセージの送信元が特定されるノード識別情報を実行応答送信部123に渡す。受信した実行要求メッセージを解析する。解析した実行要求メッセージから、実行対象となるコンポーネントが特定されるコンポーネント識別情報を抽出する。抽出したコンポーネント識別情報をコンポーネント実行部121に渡す。
<Execution request receiving unit 122>
The execution request receiving unit 122 receives an execution request message transmitted from a transmission source such as the application server 106. The node identification information for identifying the transmission source of the received execution request message is passed to the execution response transmission unit 123. Analyze the received execution request message. Component identification information for identifying the component to be executed is extracted from the analyzed execution request message. The extracted component identification information is passed to the component execution unit 121.

<実行応答送信部123>
実行応答送信部123は、実行要求受信部122からノード識別情報を受け取る。コンポーネント実行部121から実行結果を受け取る。受け取った実行結果を含む応答メッセージ(以下、「実行応答メッセージ」と呼称する。)を生成する。生成した実行応答メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Execution response transmitter 123>
The execution response transmission unit 123 receives the node identification information from the execution request reception unit 122. An execution result is received from the component execution unit 121. A response message including the received execution result (hereinafter referred to as “execution response message”) is generated. The generated execution response message is transmitted to the transmission destination specified by the received node identification information.

<効用情報生成処理部130>
効用情報生成処理部130は、計測部131、効用情報生成部132などを備える。
<Utility information generation processing unit 130>
The utility information generation processing unit 130 includes a measurement unit 131, a utility information generation unit 132, and the like.

<計測部131>
計測部131は、コンポーネント実行部121でコンポーネントが実行されると、そのコンポーネントの実行に伴うパフォーマンスを計測する。そのコンポーネントが識別されるコンポーネント識別情報と、計測して得られた計測結果とを効用情報生成部132に渡す。
<Measurement unit 131>
When the component is executed by the component execution unit 121, the measurement unit 131 measures the performance associated with the execution of the component. The component identification information for identifying the component and the measurement result obtained by measurement are passed to the utility information generation unit 132.

<効用情報生成部132>
効用情報生成部132は、計測部131からコンポーネント識別情報と計測結果とを受け取る。受け取った計測結果を使用して効用値を算出する。算出して得られた効用値を、受け取ったコンポーネント識別情報と対応付けて、受け取ったコンポーネント識別情報と、算出して得られた効用値とを含む効用情報を生成する。生成した効用情報を自ノード効用情報記憶部115に書き込む。
<Utility information generation unit 132>
The utility information generation unit 132 receives component identification information and measurement results from the measurement unit 131. The utility value is calculated using the received measurement result. The utility value obtained by calculation is associated with the received component identification information, and utility information including the received component identification information and the utility value obtained by calculation is generated. The generated utility information is written in the own node utility information storage unit 115.

<代替コンポーネント探索処理部140>
代替コンポーネント探索処理部140は、代替コンポーネント探索部141、探索対象選出部142、効用情報書込部143、探索要求受信部144、探索応答送信部145、効用情報照会要求送信部146、効用情報照会応答受信部147などを備える。
<Alternative component search processing unit 140>
The alternative component search processing unit 140 includes an alternative component search unit 141, a search target selection unit 142, a utility information writing unit 143, a search request reception unit 144, a search response transmission unit 145, a utility information inquiry request transmission unit 146, and a utility information inquiry. A response receiving unit 147 and the like are provided.

<代替コンポーネント探索部141>
代替コンポーネント探索部141は、探索要求受信部144からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報を探索対象選出部142に渡す。探索対象選出部142から選出終了通知を受け取る。1以上のコンポーネントにおいて効用値の高いコンポーネントが識別されるコンポーネント識別情報を、他ノード効用情報記憶部116に記憶されている複数の効用情報の中から選出する。選出したコンポーネント識別情報によって特定されるコンポーネント情報を、コンポーネントデータベース112に登録されている1以上のコンポーネント情報の中から選択する。選択したコンポーネント情報を探索応答送信部145に渡す。
<Alternative component search unit 141>
The alternative component search unit 141 receives component identification information from the search request reception unit 144. The received component identification information is passed to the search target selection unit 142. A selection completion notification is received from the search target selection unit 142. Component identification information for identifying a component having a high utility value among one or more components is selected from a plurality of utility information stored in the other node utility information storage unit 116. Component information specified by the selected component identification information is selected from one or more component information registered in the component database 112. The selected component information is passed to the search response transmission unit 145.

<探索対象選出部142>
探索対象選出部142は、代替コンポーネント探索部141からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報によって特定されるコンポーネントと同一の機能を有するコンポーネントのコンポーネント情報を、コンポーネントデータベース112に登録されている1以上のコンポーネント情報の中から選出する。選出したコンポーネント情報をリンク元情報に含むリンク情報を、リンクデータベース114に登録されている1以上のリンク情報の中から全て選出する。選出した1以上のリンク情報の各々に対して、下記の処理(1)を実行する。
<Search target selection unit 142>
The search target selection unit 142 receives component identification information from the alternative component search unit 141. Component information of a component having the same function as the component specified by the received component identification information is selected from one or more component information registered in the component database 112. All of the link information including the selected component information in the link source information is selected from one or more link information registered in the link database 114. The following process (1) is executed for each of the selected one or more link information.

(1)探索対象選出部142は、リンク情報のリンク先情報に含まれるノード識別情報とコンポーネント識別情報とを効用情報照会要求送信部146に渡す。   (1) The search target selection unit 142 passes the node identification information and component identification information included in the link destination information of the link information to the utility information inquiry request transmission unit 146.

探索対象選出部142は、選出した1以上のリンク情報の全てに対して、上記の処理(1)を実行すると、選出終了通知を代替コンポーネント探索部141に渡す。   When the search target selection unit 142 executes the above process (1) for all the selected one or more link information, the search target selection unit 142 passes a selection end notification to the alternative component search unit 141.

なお、探索対象選出部142は、所定の時間間隔で、リンクデータベース114に登録されている1以上のリンク情報の各々に対して、上記の処理(1)を実行し、他ノードと効用情報を定期的に遣り取りするとしてもよい。また、この場合において、代替コンポーネント探索部141からコンポーネント識別情報を受け取ると、上記(1)までの処理を省略して、即時に、選出終了通知を代替コンポーネント探索部141に渡すとしてもよい。   Note that the search target selection unit 142 performs the above process (1) for each of one or more link information registered in the link database 114 at predetermined time intervals, and obtains utility information from other nodes. You may exchange regularly. In this case, when the component identification information is received from the alternative component search unit 141, the processing up to the above (1) may be omitted and the selection end notification may be immediately passed to the alternative component search unit 141.

<効用情報書込部143>
効用情報書込部143は、効用情報照会応答受信部147から効用情報を受け取る。受け取った効用情報を他ノード効用情報記憶部116に書き込む。
<Utility information writing unit 143>
The utility information writing unit 143 receives the utility information from the utility information inquiry response receiving unit 147. The received utility information is written in the other node utility information storage unit 116.

<探索要求受信部144>
探索要求受信部144は、アプリケーションサーバ106などの送信元から送信された探索要求メッセージを受信する。受信した探索要求メッセージの送信元が特定されるノード識別情報を探索応答送信部145に渡す。受信した探索要求メッセージを解析する。解析した探索要求メッセージから、探索対象となるコンポーネントが特定されるコンポーネント識別情報を抽出する。抽出したコンポーネント識別情報を代替コンポーネント探索部141に渡す。
<Search request receiving unit 144>
The search request receiving unit 144 receives a search request message transmitted from a transmission source such as the application server 106. The node identification information that identifies the transmission source of the received search request message is passed to the search response transmission unit 145. Analyze the received search request message. Component identification information for identifying a component to be searched is extracted from the analyzed search request message. The extracted component identification information is passed to the alternative component search unit 141.

<探索応答送信部145>
探索応答送信部145は、探索要求受信部144からノード識別情報を受け取る。代替コンポーネント探索部141からコンポーネント情報を受け取る。受け取ったコンポーネント情報を含む応答メッセージ(以下、「探索応答メッセージ」と呼称する。)を生成する。生成した探索応答メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Search response transmission unit 145>
The search response transmission unit 145 receives node identification information from the search request reception unit 144. Component information is received from the alternative component search unit 141. A response message including the received component information (hereinafter referred to as “search response message”) is generated. The generated search response message is transmitted to the transmission destination specified by the received node identification information.

<効用情報照会要求送信部146>
効用情報照会要求送信部146は、探索対象選出部142からノード識別情報とコンポーネント識別情報とを受け取る。受け取ったコンポーネント識別情報を含む要求メッセージ(以下、「効用情報照会要求メッセージ」と呼称する。)を生成する。生成した効用情報照会要求メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Utility information inquiry request transmission unit 146>
The utility information inquiry request transmission unit 146 receives node identification information and component identification information from the search target selection unit 142. A request message including the received component identification information (hereinafter referred to as “utility information inquiry request message”) is generated. The generated utility information inquiry request message is transmitted to the transmission destination specified by the received node identification information.

<効用情報照会応答受信部147>
効用情報照会応答受信部147は、効用情報照会要求送信部146から送信された効用情報照会要求メッセージに対する応答メッセージ(以下、「効用情報照会応答メッセージ」と呼称する。)を受信する。受信した効用情報照会応答メッセージを解析する。解析した効用情報照会応答メッセージから、取得された効用情報を抽出する。抽出した効用情報を効用情報書込部143に渡す。
<Utility information inquiry response receiving unit 147>
The utility information inquiry response receiving unit 147 receives a response message to the utility information query request message transmitted from the utility information query request transmitting unit 146 (hereinafter referred to as “utility information query response message”). Analyze the received utility information inquiry response message. The obtained utility information is extracted from the analyzed utility information inquiry response message. The extracted utility information is passed to the utility information writing unit 143.

<効用情報伝達処理部150>
効用情報伝達処理部150は、効用情報読出部151、効用情報照会要求受信部152、効用情報照会応答送信部153などを備える。
<Utility information transmission processing unit 150>
The utility information transmission processing unit 150 includes a utility information reading unit 151, a utility information query request receiving unit 152, a utility information query response transmitting unit 153, and the like.

<効用情報読出部151>
効用情報読出部151は、効用情報照会要求受信部152からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報によって特定される効用情報を、自ノード効用情報記憶部115から読み出す。読み出した効用情報を効用情報照会応答送信部153に渡す。
<Utility information reading unit 151>
The utility information reading unit 151 receives component identification information from the utility information inquiry request receiving unit 152. The utility information specified by the received component identification information is read from the own node utility information storage unit 115. The read utility information is passed to the utility information inquiry response transmission unit 153.

<効用情報照会要求受信部152>
効用情報照会要求受信部152は、他ノードなどの送信元から送信された効用情報照会要求メッセージを受信する。受信した効用情報照会要求メッセージの送信元が特定されるノード識別情報を効用情報照会応答送信部153に渡す。受信した効用情報照会要求メッセージを解析する。解析した効用情報照会要求メッセージから、取得対象となる効用情報が特定されるコンポーネント識別情報を抽出する。抽出したコンポーネント識別情報を効用情報読出部151に渡す。
<Utility information inquiry request receiving unit 152>
The utility information query request receiving unit 152 receives a utility information query request message transmitted from a transmission source such as another node. The node identification information specifying the transmission source of the received utility information inquiry request message is passed to the utility information inquiry response transmission unit 153. Analyze the received utility information query request message. Component identification information for identifying the utility information to be acquired is extracted from the analyzed utility information inquiry request message. The extracted component identification information is passed to the utility information reading unit 151.

<効用情報照会応答送信部153>
効用情報照会応答送信部153は、効用情報照会要求受信部152からノード識別情報を受け取る。効用情報取得部から効用情報を受け取る。受け取った効用情報を含む効用情報照会応答メッセージを生成する。生成した効用情報照会応答メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Utility information inquiry response transmission unit 153>
The utility information inquiry response transmission unit 153 receives the node identification information from the utility information inquiry request reception unit 152. Receives utility information from the utility information acquisition unit. A utility information inquiry response message including the received utility information is generated. The generated utility information inquiry response message is transmitted to the transmission destination specified by the received node identification information.

<アプリケーションサーバ>
次に、本実施の形態におけるアプリケーションサーバ106の構成について説明する。
<Application server>
Next, the configuration of the application server 106 in the present embodiment will be described.

図20は、本実施の形態におけるアプリケーションサーバ106の構成を示す図である。図20に示されるように、アプリケーションサーバ106は、実行対象コンポーネントデータベース161、実行結果記憶部162、サービス処理部170、探索処理部180などを備える。   FIG. 20 is a diagram showing a configuration of the application server 106 in the present embodiment. As shown in FIG. 20, the application server 106 includes an execution target component database 161, an execution result storage unit 162, a service processing unit 170, a search processing unit 180, and the like.

<実行対象コンポーネントデータベース161>
実行対象コンポーネントデータベース161は、実行対象となるコンポーネントのコンポーネント情報が登録されている。
<Execution target component database 161>
In the execution target component database 161, component information of components to be executed is registered.

図21は、実行対象コンポーネントデータベース161で管理されているコンポーネント情報のデータ構造を示す図である。図21に示されるように、コンポーネントデータベース112で登録されているコンポーネント情報と同様のデータ構造である。   FIG. 21 is a diagram illustrating a data structure of component information managed in the execution target component database 161. As shown in FIG. 21, the data structure is the same as the component information registered in the component database 112.

コンポーネント識別情報(フィールドF161)は、実行対象となるコンポーネントが識別されるコンポーネント識別情報である。   The component identification information (field F161) is component identification information for identifying a component to be executed.

ノード識別情報(実行ノード)(フィールドF162)は、コンポーネント識別情報によって特定されるコンポーネントを実行するノードが識別されるノード識別情報である。   The node identification information (execution node) (field F162) is node identification information for identifying a node that executes the component specified by the component identification information.

ノード識別情報(探索代理ノード)(フィールドF163)は、コンポーネント識別情報によって特定されるコンポーネントと同一の機能を有するコンポーネントを探索するノードが識別されるノード識別情報である。   The node identification information (search proxy node) (field F163) is node identification information for identifying a node that searches for a component having the same function as the component specified by the component identification information.

<実行結果記憶部162>
実行結果記憶部162は、実行されたコンポーネントごとに実行結果情報を記憶する。
<Execution result storage unit 162>
The execution result storage unit 162 stores execution result information for each executed component.

<サービス処理部170>
図20に戻り、サービス処理部170は、実行対象選出部171、実行結果書込部172、サービス要求受信部173、サービス応答送信部174、実行要求送信部175、実行応答受信部176などを備える。
<Service processing unit 170>
20, the service processing unit 170 includes an execution target selection unit 171, an execution result writing unit 172, a service request reception unit 173, a service response transmission unit 174, an execution request transmission unit 175, an execution response reception unit 176, and the like. .

<実行対象選出部171>
実行対象選出部171は、サービス要求受信部173から1以上のコンポーネント識別情報を受け取る。受け取った1以上のコンポーネント識別情報の各々に対して、下記の処理(1)を実行する。
<Execution Target Selection Unit 171>
The execution target selection unit 171 receives one or more component identification information from the service request reception unit 173. The following process (1) is executed for each of the received one or more component identification information.

(1)実行対象選出部171は、受け取ったコンポーネント識別情報によって特定されるノード識別情報を、コンポーネントデータベース112に登録されている1以上のコンポーネント情報の中から選出する。受け取ったコンポーネント識別情報と、選出したノード識別情報とを実行要求送信部175に渡す。   (1) The execution target selection unit 171 selects node identification information specified by the received component identification information from one or more component information registered in the component database 112. The received component identification information and the selected node identification information are passed to the execution request transmission unit 175.

実行対象選出部171は、受け取った1以上のコンポーネント識別情報の全てに対して、上記(1)の処理を実行すると、応答通知と、受け取った1以上のコンポーネント識別情報とをサービス応答送信部174に渡す。   When the execution target selection unit 171 executes the process (1) for all of the received one or more component identification information, the service response transmission unit 174 sends a response notification and the received one or more component identification information. To pass.

なお、実行対象選出部171は、実行応答受信部176から、エラー通知とコンポーネント識別情報とを受け取ると、上記の処理を停止し、停止通知をサービス応答送信部174に渡す。さらに、探索通知と、エラー通知と一緒に受け取ったコンポーネント識別情報とを探索要求送信部182に渡す。そして、コンポーネント情報登録部181から探索完了通知を受け取ると、再開通知をサービス応答送信部174に渡し、上記の処理を再開する。   When the execution target selection unit 171 receives the error notification and the component identification information from the execution response reception unit 176, the execution target selection unit 171 stops the above processing and passes the stop notification to the service response transmission unit 174. Further, the search notification and the component identification information received together with the error notification are passed to the search request transmission unit 182. When a search completion notification is received from the component information registration unit 181, a restart notification is passed to the service response transmission unit 174, and the above process is restarted.

<実行結果書込部172>
実行結果書込部172は、実行応答受信部176から実行結果情報を受け取る。受け取った実行結果情報を実行結果記憶部162に書き込む。
<Execution result writing unit 172>
The execution result writing unit 172 receives the execution result information from the execution response receiving unit 176. The received execution result information is written into the execution result storage unit 162.

<サービス要求受信部173>
サービス要求受信部173は、ユーザ端末107などの送信元から送信されたサービス要求メッセージを受信する。受信したサービス要求メッセージの送信元が特定されるノード識別情報をサービス応答送信部174に渡す。受信したサービス要求メッセージを解析する。解析したサービス要求メッセージから、実行対象となる1以上のコンポーネントを特定する。特定した1以上のコンポーネントが個別に識別される1以上のコンポーネント識別情報を実行対象選出部171に渡す。
<Service request receiving unit 173>
The service request reception unit 173 receives a service request message transmitted from a transmission source such as the user terminal 107. The node identification information that identifies the transmission source of the received service request message is passed to the service response transmission unit 174. Parses the received service request message. One or more components to be executed are identified from the analyzed service request message. One or more component identification information for individually identifying the identified one or more components is passed to the execution target selection unit 171.

<サービス応答送信部174>
サービス応答送信部174は、サービス要求受信部173からノード識別情報を受け取る。実行対象選出部171から、応答通知と、1以上のコンポーネント識別情報とを受け取る。受け取った1以上のコンポーネント識別情報によって特定される1以上の実行結果を実行結果記憶部162から読み出す。読み出した1以上の実行結果を含む応答メッセージ(以下、「サービス応答メッセージ」と呼称する。)を生成する。生成したサービス応答メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Service response transmission unit 174>
The service response transmission unit 174 receives node identification information from the service request reception unit 173. A response notification and one or more component identification information are received from the execution target selection unit 171. One or more execution results specified by the received one or more component identification information are read from the execution result storage unit 162. A response message including one or more read execution results (hereinafter referred to as “service response message”) is generated. The generated service response message is transmitted to the transmission destination specified by the received node identification information.

なお、サービス応答送信部174は、実行対象選出部171から停止通知を受け取ると、実行対象選出部171から再開通知を受け取るまで、サービスが停止していることを通知するメッセージをサービス応答メッセージとして生成する。生成したサービス応答メッセージを送信する。   When receiving a stop notification from the execution target selection unit 171, the service response transmission unit 174 generates a message notifying that the service is stopped as a service response message until receiving a restart notification from the execution target selection unit 171. To do. Send the generated service response message.

<実行要求送信部175>
実行要求送信部175は、実行対象選出部171からノード識別情報とコンポーネント識別情報とを受け取る。受け取ったコンポーネント識別情報を含む要求メッセージ(以下、「実行要求メッセージ」と呼称する。)を生成する。生成した実行要求メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Execution Request Transmitter 175>
The execution request transmission unit 175 receives node identification information and component identification information from the execution target selection unit 171. A request message including the received component identification information (hereinafter referred to as “execution request message”) is generated. The generated execution request message is transmitted to the transmission destination specified by the received node identification information.

<実行応答受信部176>
実行応答受信部176は、実行要求送信部175から送信された実行要求メッセージに対する応答メッセージ(以下、「実行応答メッセージ」と呼称する。)を受信する。受信した実行応答メッセージを解析する。解析した実行応答メッセージから、実行されたコンポーネントに対する実行結果情報を抽出する。抽出した実行結果情報を実行結果書込部172に渡す。
<Execution response receiver 176>
The execution response receiving unit 176 receives a response message to the execution request message transmitted from the execution request transmitting unit 175 (hereinafter referred to as “execution response message”). Analyze the received execution response message. The execution result information for the executed component is extracted from the analyzed execution response message. The extracted execution result information is passed to the execution result writing unit 172.

なお、実行応答受信部176は、実行応答メッセージがエラーメッセージである場合は、エラー通知と、特定したコンポーネントが識別されるコンポーネント識別情報とを実行対象選出部171に渡す。   When the execution response message is an error message, the execution response reception unit 176 passes the error notification and component identification information for identifying the identified component to the execution target selection unit 171.

<探索処理部180>
探索処理部180は、コンポーネント情報登録部181、探索要求送信部182、探索応答受信部183などを備える。
<Search processing unit 180>
The search processing unit 180 includes a component information registration unit 181, a search request transmission unit 182, a search response reception unit 183, and the like.

<コンポーネント情報登録部181>
コンポーネント情報登録部181は、探索応答受信部183からコンポーネント情報を受け取る。受け取ったコンポーネント情報を実行対象コンポーネントデータベース161に登録する。探索完了通知を実行対象選出部171に渡す。
<Component information registration unit 181>
The component information registration unit 181 receives component information from the search response reception unit 183. The received component information is registered in the execution target component database 161. The search completion notification is passed to the execution target selection unit 171.

なお、図21に示されるように、ここでは、一例として、実行対象コンポーネントデータベース161には、コンポーネントc4の代替コンポーネントを探索する前は、コンポーネントc4のコンポーネント情報が登録されているとする(T161)。この場合において、コンポーネントc4の代替コンポーネントとしてコンポーネントc2が選出されると、コンポーネント情報登録部181は、コンポーネントc2のコンポーネント情報を受け取る。コンポーネントc4のコンポーネント情報の代わりに、受け取ったコンポーネントc2のコンポーネント情報を、実行対象コンポーネントデータベース161に登録する(T162)。   As shown in FIG. 21, here, as an example, it is assumed that component information of the component c4 is registered in the execution target component database 161 before searching for an alternative component of the component c4 (T161). . In this case, when the component c2 is selected as an alternative component of the component c4, the component information registration unit 181 receives the component information of the component c2. Instead of the component information of the component c4, the received component information of the component c2 is registered in the execution target component database 161 (T162).

<探索要求送信部182>
探索要求送信部182は、実行対象選出部171からノード識別情報とコンポーネント識別情報とを受け取る。受け取ったコンポーネント識別情報を含む要求メッセージ(以下、「探索要求メッセージ」と呼称する。)を生成する。生成した探索要求メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Search request transmission unit 182>
The search request transmission unit 182 receives node identification information and component identification information from the execution target selection unit 171. A request message including the received component identification information (hereinafter referred to as “search request message”) is generated. The generated search request message is transmitted to the transmission destination specified by the received node identification information.

<探索応答受信部183>
探索応答受信部183は、探索要求送信部182から送信された探索要求メッセージに対する応答メッセージ(以下、「探索応答メッセージ」と呼称する。)を受信する。受信した探索応答メッセージを解析する。解析した探索応答メッセージから、代替コンポーネントに関するコンポーネント情報を抽出する。抽出したコンポーネント情報をコンポーネント情報登録部181に渡す。
<Search response receiving unit 183>
The search response receiving unit 183 receives a response message to the search request message transmitted from the search request transmitting unit 182 (hereinafter referred to as “search response message”). Analyze the received search response message. Component information related to the alternative component is extracted from the analyzed search response message. The extracted component information is passed to the component information registration unit 181.

<動作>
次に、本実施の形態におけるWebサービスシステムにおいて代替コンポーネント探索時における処理について説明する。
<Operation>
Next, processing when searching for an alternative component in the Web service system according to the present embodiment will be described.

<利用時>
図22は、本実施の形態におけるWebサービスシステムにおいてWebサービスの利用時におけるシーケンスを示す図である。図22に示されるように、ユーザ端末107は、アプリケーションサーバ106で提供されているWebサービスの利用に関するサービス要求をアプリケーションサーバ106に送信する(S121)。
<When using>
FIG. 22 is a diagram showing a sequence when the Web service is used in the Web service system according to the present embodiment. As shown in FIG. 22, the user terminal 107 transmits a service request regarding the use of the Web service provided by the application server 106 to the application server 106 (S121).

ここでは、アプリケーションサーバ106で提供されているWebサービスに、コンポーネントb1、コンポーネントc4、コンポーネントe4が利用されているとする。この場合において、アプリケーションサーバ106は、ユーザ端末107からサービス要求を受信すると、下記の処理(1)〜(3)を個別に実行する。   Here, it is assumed that the component b1, the component c4, and the component e4 are used for the Web service provided by the application server 106. In this case, when receiving the service request from the user terminal 107, the application server 106 individually executes the following processes (1) to (3).

(1)アプリケーションサーバ106は、コンポーネントb1が配置されているノード101に、コンポーネントb1の実行を要求する実行要求メッセージを送信する(S122)。これに対して、ノード101は、コンポーネントb1の実行を要求する実行要求メッセージをアプリケーションサーバ106から受信すると、コンポーネントb1を実行し、コンポーネントb1の実行結果を含む実行応答メッセージをアプリケーションサーバ106に送信する(S125)。アプリケーションサーバ106は、コンポーネントb1の実行結果を含む実行応答メッセージをノード101から受信する。   (1) The application server 106 transmits an execution request message for requesting execution of the component b1 to the node 101 where the component b1 is arranged (S122). In response to this, when the node 101 receives an execution request message requesting execution of the component b1 from the application server 106, the node 101 executes the component b1 and transmits an execution response message including the execution result of the component b1 to the application server 106. (S125). The application server 106 receives an execution response message including the execution result of the component b1 from the node 101.

(2)アプリケーションサーバ106は、コンポーネントc4が配置されているノード104に、コンポーネントc4の実行を要求する実行要求メッセージを送信する(S123)。これに対して、ノード104は、コンポーネントc4の実行を要求する実行要求メッセージをアプリケーションサーバ106から受信すると、コンポーネントc4を実行し、コンポーネントc4の実行結果を含む実行応答メッセージをアプリケーションサーバ106に送信する(S126)。アプリケーションサーバ106は、コンポーネントc4の実行結果を含む実行応答メッセージをノード104から受信する。   (2) The application server 106 transmits an execution request message for requesting execution of the component c4 to the node 104 where the component c4 is arranged (S123). On the other hand, when the node 104 receives an execution request message requesting execution of the component c4 from the application server 106, the node 104 executes the component c4 and transmits an execution response message including the execution result of the component c4 to the application server 106. (S126). The application server 106 receives an execution response message including the execution result of the component c4 from the node 104.

(3)アプリケーションサーバ106は、コンポーネントe3が配置されているノード103に、コンポーネントe3の実行を要求する実行要求メッセージを送信する(S124)。これに対して、ノード103は、コンポーネントe3の実行を要求する実行要求メッセージをアプリケーションサーバ106から受信すると、コンポーネントe3を実行し、コンポーネントe3の実行結果を含む実行応答メッセージをアプリケーションサーバ106に送信する(S127)。アプリケーションサーバ106は、コンポーネントe3の実行結果を含む実行応答メッセージをノード103から受信する。   (3) The application server 106 transmits an execution request message for requesting execution of the component e3 to the node 103 where the component e3 is arranged (S124). On the other hand, when the node 103 receives an execution request message requesting execution of the component e3 from the application server 106, the node 103 executes the component e3 and transmits an execution response message including the execution result of the component e3 to the application server 106. (S127). The application server 106 receives an execution response message including the execution result of the component e3 from the node 103.

そして、アプリケーションサーバ106は、コンポーネントb1の実行結果、コンポーネントc4の実行結果、コンポーネントe3の実行結果を利用して生成したサービス応答メッセージをユーザ端末107に送信する(S128)。   Then, the application server 106 transmits a service response message generated using the execution result of the component b1, the execution result of the component c4, and the execution result of the component e3 to the user terminal 107 (S128).

ユーザ端末107は、アプリケーションサーバ106から送信されたサービス応答メッセージを受信する。   The user terminal 107 receives the service response message transmitted from the application server 106.

<探索時>
図23は、本実施の形態におけるWebサービスシステムにおいて代替コンポーネントの探索時におけるシーケンスを示す図である。図23に示されるように、アプリケーションサーバ106は、Webサービスで利用されている1以上のコンポーネントのいずれかが利用できなくなった場合は、サービスを停止する。
<When searching>
FIG. 23 is a diagram showing a sequence when searching for an alternative component in the Web service system according to the present embodiment. As shown in FIG. 23, the application server 106 stops the service when any one or more components used in the Web service becomes unavailable.

ここでは、コンポーネントc4が利用できなくなったとする。この場合において、アプリケーションサーバ106は、コンポーネントc4と対応付けられているノード105に、コンポーネントc4の代替コンポーネントの探索を要求する探索要求メッセージを送信する(S131)。これに対して、ノード105は、アプリケーションサーバ106から探索要求メッセージを受信すると、コンポーネントc4と同一の機能を有するコンポーネントc5とオーバレイネットワークにおいてリンクされているコンポーネントc2とコンポーネントc3との中から、コンポーネントc4の代替コンポーネントとして最適なコンポーネントを選択する。このとき、下記の処理(1),(2)を個別に実行する。   Here, it is assumed that the component c4 cannot be used. In this case, the application server 106 transmits a search request message for requesting a search for an alternative component of the component c4 to the node 105 associated with the component c4 (S131). On the other hand, when the node 105 receives the search request message from the application server 106, the component c4 is selected from the component c5 having the same function as the component c4 and the component c2 and the component c3 linked in the overlay network. Select the best component as an alternative component. At this time, the following processes (1) and (2) are executed individually.

(1)ノード105は、コンポーネントc4と同一の機能を有するコンポーネントc2が配置されているノード102に、コンポーネントc2の効用情報を照会する照会要求メッセージを送信する(S132)。これに対して、ノード102は、コンポーネントc2の効用情報を照会する照会要求メッセージを受信すると、コンポーネントc2の効用情報を含む取得応答メッセージをノード105に送信する(S134)。ノード105は、コンポーネントc2の効用情報を含む取得応答メッセージを受信する。   (1) The node 105 transmits an inquiry request message for inquiring the utility information of the component c2 to the node 102 in which the component c2 having the same function as the component c4 is arranged (S132). In response to this, when receiving the inquiry request message for inquiring the utility information of the component c2, the node 102 transmits an acquisition response message including the utility information of the component c2 to the node 105 (S134). The node 105 receives the acquisition response message including the utility information of the component c2.

(2)ノード105は、コンポーネントc4と同一の機能を有するコンポーネントc3が配置されているノード103に、コンポーネントc3の効用情報を照会する照会要求メッセージを送信する(S133)。これに対して、ノード103は、コンポーネントc3の効用情報を照会する照会要求メッセージを受信すると、コンポーネントc3の効用情報を含む取得応答メッセージをノード105に送信する(S135)。ノード105は、コンポーネントc3の効用情報を含む取得応答メッセージを受信する。   (2) The node 105 transmits an inquiry request message for inquiring the utility information of the component c3 to the node 103 where the component c3 having the same function as the component c4 is arranged (S133). On the other hand, when the node 103 receives the inquiry request message for inquiring the utility information of the component c3, the node 103 transmits an acquisition response message including the utility information of the component c3 to the node 105 (S135). The node 105 receives the acquisition response message including the utility information of the component c3.

そして、ノード105は、コンポーネントc2の効用情報と、コンポーネントc3の効用情報とに基づいて、コンポーネントc2とコンポーネントc3との中から、効用値の高いコンポーネントc2を、コンポーネントc4の代替コンポーネントとして選択する。コンポーネントc2の識別情報を含む探索応答メッセージを送信する(S136)。   Then, the node 105 selects the component c2 having a higher utility value as the alternative component of the component c4 from the components c2 and c3 based on the utility information of the component c2 and the utility information of the component c3. A search response message including the identification information of the component c2 is transmitted (S136).

アプリケーションサーバ106は、ノード105からコンポーネントc2の識別情報を含む探索応答メッセージを受信すると、コンポーネントc4の代わりに、コンポーネントc2を利用して、サービスを再開する。   When the application server 106 receives the search response message including the identification information of the component c2 from the node 105, the application server 106 resumes the service using the component c2 instead of the component c4.

<再開時>
図24は、本実施の形態におけるWebサービスシステムにおいてWebサービスの再開時におけるシーケンスを示す図である。図24に示されるように、ユーザ端末107は、アプリケーションサーバ106で提供されているWebサービスの利用に関するサービス要求をアプリケーションサーバ106に送信する(S141)。
<When resuming>
FIG. 24 is a diagram showing a sequence when the Web service is restarted in the Web service system according to the present embodiment. As shown in FIG. 24, the user terminal 107 transmits a service request regarding the use of the Web service provided by the application server 106 to the application server 106 (S141).

ここでは、アプリケーションサーバ106で提供されているWebサービスに、コンポーネントb1、コンポーネントe4が利用されているとする。また、コンポーネントc4の代わりに、コンポーネントc2が利用されているとする。この場合において、アプリケーションサーバ106は、ユーザ端末107からサービス要求を受信すると、下記の処理(1)〜(3)を個別に実行する。   Here, it is assumed that the component b1 and the component e4 are used in the Web service provided by the application server 106. Further, it is assumed that the component c2 is used instead of the component c4. In this case, when receiving the service request from the user terminal 107, the application server 106 individually executes the following processes (1) to (3).

(1)アプリケーションサーバ106は、コンポーネントb1が配置されているノード101に、コンポーネントb1の実行を要求する実行要求メッセージを送信する(S142)。これに対して、ノード101は、コンポーネントb1の実行を要求する実行要求メッセージをアプリケーションサーバ106から受信すると、コンポーネントb1を実行し、コンポーネントb1の実行結果を含む実行応答メッセージをアプリケーションサーバ106に送信する(S145)。アプリケーションサーバ106は、コンポーネントb1の実行結果を含む実行応答メッセージをノード101から受信する。   (1) The application server 106 transmits an execution request message for requesting execution of the component b1 to the node 101 where the component b1 is arranged (S142). In response to this, when the node 101 receives an execution request message requesting execution of the component b1 from the application server 106, the node 101 executes the component b1 and transmits an execution response message including the execution result of the component b1 to the application server 106. (S145). The application server 106 receives an execution response message including the execution result of the component b1 from the node 101.

(2)アプリケーションサーバ106は、コンポーネントc2が配置されているノード102に、コンポーネントc2の実行を要求する実行要求メッセージを送信する(S143)。これに対して、ノード102は、コンポーネントc2の実行を要求する実行要求メッセージをアプリケーションサーバ106から受信すると、コンポーネントc2を実行し、コンポーネントc2の実行結果を含む実行応答メッセージをアプリケーションサーバ106に送信する(S146)。アプリケーションサーバ106は、コンポーネントc2の実行結果を含む実行応答メッセージをノード102から受信する。   (2) The application server 106 transmits an execution request message for requesting execution of the component c2 to the node 102 where the component c2 is arranged (S143). On the other hand, when the node 102 receives an execution request message requesting execution of the component c2 from the application server 106, the node 102 executes the component c2 and transmits an execution response message including the execution result of the component c2 to the application server 106. (S146). The application server 106 receives an execution response message including the execution result of the component c2 from the node 102.

(3)アプリケーションサーバ106は、コンポーネントe3が配置されているノード103に、コンポーネントe3の実行を要求する実行要求メッセージを送信する(S144)。これに対して、ノード103は、コンポーネントe3の実行を要求する実行要求メッセージをアプリケーションサーバ106から受信すると、コンポーネントe3を実行し、コンポーネントe3の実行結果を含む実行応答メッセージをアプリケーションサーバ106に送信する(S147)。アプリケーションサーバ106は、コンポーネントe3の実行結果を含む実行応答メッセージをノード103から受信する。   (3) The application server 106 transmits an execution request message for requesting execution of the component e3 to the node 103 where the component e3 is arranged (S144). On the other hand, when the node 103 receives an execution request message requesting execution of the component e3 from the application server 106, the node 103 executes the component e3 and transmits an execution response message including the execution result of the component e3 to the application server 106. (S147). The application server 106 receives an execution response message including the execution result of the component e3 from the node 103.

そして、アプリケーションサーバ106は、コンポーネントb1の実行結果、コンポーネントc2の実行結果、コンポーネントe3の実行結果を利用して生成したサービス応答メッセージをユーザ端末107に送信する(S148)。   Then, the application server 106 transmits a service response message generated using the execution result of the component b1, the execution result of the component c2, and the execution result of the component e3 to the user terminal 107 (S148).

ユーザ端末107は、アプリケーションサーバ106から送信されたサービス応答メッセージを受信する。   The user terminal 107 receives the service response message transmitted from the application server 106.

<まとめ>
以上、本実施の形態におけるWebサービスシステム100によれば、Webサービスで使用している1以上のコンポーネントのいずれかが使用できなくなっても、代わりのコンポーネントを即時に発見することができ、早期にWebサービスを再開することができる。このとき、探索代理ノードは、オーバレイネットワークを構成するコンポーネントを探索し、使用できなくなったコンポーネントと同一の機能を有するコンポーネントの効用情報に基づいて、効用の高いコンポーネントを選出する。これによって、即時に、使用できなくなったコンポーネントの代わりとなるコンポーネントを効率的に選出することができる。また、選出したコンポーネントのコンポーネント情報をアプリケーションサーバ106に通知することによって、アプリケーションサーバ106は、使用できなくなったコンポーネントの代わりとして最適なコンポーネントを特定することができ、早期にWebサービスを再開することができる。
<Summary>
As described above, according to the Web service system 100 according to the present embodiment, even if one of one or more components used in the Web service cannot be used, a replacement component can be found immediately, and early. The web service can be resumed. At this time, the search proxy node searches for a component constituting the overlay network, and selects a component having high utility based on the utility information of the component having the same function as the component that cannot be used. As a result, it is possible to efficiently select a component that replaces a component that cannot be used immediately. Further, by notifying the application server 106 of the component information of the selected component, the application server 106 can identify the optimum component instead of the component that can no longer be used, and can restart the Web service at an early stage. it can.

(実施の形態2)
以下、本発明に係わる実施の形態2について図面を参照しながら説明する。
(Embodiment 2)
Embodiment 2 according to the present invention will be described below with reference to the drawings.

<概要>
本実施の形態におけるWebサービスシステムは、下記(c)に示される特徴を備える。
<Overview>
The Web service system in the present embodiment has the characteristics shown in (c) below.

(c)複数のノードの各々は、自ノードに配置されている第1のコンポーネントと、他ノードに配置されている1以上のコンポーネントの中で第1のコンポーネントと同一の機能を有する第2のコンポーネントとの間で論理ネットワークを形成し、形成した論理ネットワークのリンクを示すリンク情報をリンクデータベースに登録するオーバレイネットワーク構築処理部を備える。   (C) Each of the plurality of nodes is a second component having the same function as the first component among the first component arranged in the own node and one or more components arranged in the other nodes. An overlay network construction processing unit is provided that forms a logical network with a component and registers link information indicating a link of the formed logical network in a link database.

以上の点を踏まえて本実施の形態におけるWebサービスシステムについて説明する。なお、実施の形態1におけるWebサービスシステムと同一の構成要素については、同一の参照符号を付して説明を省略する。   Based on the above points, the Web service system in the present embodiment will be described. Note that the same components as those of the Web service system according to the first embodiment are denoted by the same reference numerals and description thereof is omitted.

<構成>
まず、本実施の形態におけるWebサービスシステムの構成について説明する。
<Configuration>
First, the configuration of the Web service system in the present embodiment will be described.

本実施の形態におけるWebサービスシステムは、実施の形態1におけるWebサービスシステム100と比べて、新たにオーバレイネットワークを構築する機能がノード101〜105に備わる点が異なる。ここでは、新たにオーバレイネットワークを構築する機能がノード101に備わった場合を例にして、本実施の形態におけるノードについてのみ説明する。   The Web service system according to the present embodiment is different from the Web service system 100 according to the first embodiment in that the nodes 101 to 105 have a function for constructing a new overlay network. Here, only the node in the present embodiment will be described by taking as an example a case where the node 101 has a function of newly constructing an overlay network.

次に、本実施の形態におけるノードの構成について説明する。   Next, the configuration of the node in the present embodiment will be described.

図25は、本実施の形態におけるノードの構成を示す図である。図25に示されるように、ノード201は、実施の形態1におけるノード101と比べて、オーバレイネットワーク構築処理部210を新たに備える点が異なる。   FIG. 25 is a diagram illustrating a configuration of a node in the present embodiment. As shown in FIG. 25, the node 201 is different from the node 101 in the first embodiment in that an overlay network construction processing unit 210 is newly provided.

なお、オーバレイネットワーク構築処理部210は、CORBA、DCOM、SOAPなどの分散オブジェクト技術を利用してコンピュータシステム上に実現されているとしてもよいし、これら以外の分散オブジェクト技術を利用してコンピュータシステム上に実現されているとしてもよい。ここでは、一例として、SOAPを利用してコンピュータシステム上に実現されているとする。   The overlay network construction processing unit 210 may be realized on a computer system using a distributed object technology such as CORBA, DCOM, or SOAP, or may be realized on a computer system using a distributed object technology other than these. It may be realized as follows. Here, as an example, it is assumed that it is realized on a computer system using SOAP.

<オーバレイネットワーク構築処理部>
図26は、本実施の形態におけるノードの詳細な構成を示す図である。図26に示されるように、オーバレイネットワーク構築処理部210は、MLN保持部211、LLN保持部212、リンク数情報記憶部213、リンク数順位記憶部214、ネットワーク距離順位記憶部215、期待値算出部216、オーバレイネットワーク構築部217などを備える。
<Overlay network construction processor>
FIG. 26 is a diagram showing a detailed configuration of a node in the present embodiment. As shown in FIG. 26, the overlay network construction processing unit 210 includes an MLN holding unit 211, an LLN holding unit 212, a link number information storage unit 213, a link number rank storage unit 214, a network distance rank storage unit 215, and an expected value calculation. Unit 216, overlay network construction unit 217, and the like.

さらに、オーバレイネットワーク構築処理部210は、削除対象選出部231、削除対象リンク元選出部232、リンク元コンポーネント選出部233、削除対象リンク先選出部234などを備える。   Furthermore, the overlay network construction processing unit 210 includes a deletion target selection unit 231, a deletion target link source selection unit 232, a link source component selection unit 233, a deletion target link destination selection unit 234, and the like.

さらに、オーバレイネットワーク構築処理部210は、リンク元削除部241、リンク先削除部242、リンク削除確定部243、リンク削除要求送信部244、リンク削除応答受信部245、リンク削除要求受信部246、リンク削除応答送信部247などを備える。   Furthermore, the overlay network construction processing unit 210 includes a link source deletion unit 241, a link destination deletion unit 242, a link deletion determination unit 243, a link deletion request transmission unit 244, a link deletion response reception unit 245, a link deletion request reception unit 246, a link A deletion response transmission unit 247 and the like are provided.

さらに、オーバレイネットワーク構築処理部210は、追加対象選出部251、追加対象リンク先選出部252、リンク先ノード選出部253などを備える。   Furthermore, the overlay network construction processing unit 210 includes an addition target selection unit 251, an addition target link destination selection unit 252, a link destination node selection unit 253, and the like.

さらに、オーバレイネットワーク構築処理部210は、リンク元追加部261、リンク先追加部262、リンク追加確定部263、リンク追加要求送信部264、リンク追加応答受信部265、リンク追加要求受信部266、リンク追加応答送信部267などを備える。   Furthermore, the overlay network construction processing unit 210 includes a link source addition unit 261, a link destination addition unit 262, a link addition determination unit 263, a link addition request transmission unit 264, a link addition response reception unit 265, a link addition request reception unit 266, and a link. An additional response transmission unit 267 and the like are provided.

さらに、オーバレイネットワーク構築処理部210は、リンク数情報読出部271、リンク数情報書込部272、リンク数情報照会要求送信部273、リンク数情報照会応答受信部274、リンク数情報照会要求受信部275、リンク数情報照会応答送信部276などを備える。   Furthermore, the overlay network construction processing unit 210 includes a link number information reading unit 271, a link number information writing unit 272, a link number information inquiry request transmission unit 273, a link number information inquiry response reception unit 274, and a link number information inquiry request reception unit. 275, a link number information inquiry response transmission unit 276, and the like.

<MLN保持部211>
MLN保持部211は、自ノードに配置されている1以上のコンポーネントの総リンク数の最大値となるMLNを保持する。
<MLN holding unit 211>
The MLN holding unit 211 holds an MLN that is the maximum value of the total number of links of one or more components arranged in its own node.

<LLN保持部212>
LLN保持部212は、自ノードに配置されている1以上のコンポーネントの各リンク数の最小値となるLLNを保持する。
<LLN holding unit 212>
The LLN holding unit 212 holds an LLN that is the minimum value of the number of links of one or more components arranged in the own node.

<リンク数情報記憶部213>
リンク数情報記憶部213は、リンク先ごとにリンク数情報を個別に記憶する。
<Link Number Information Storage Unit 213>
The link number information storage unit 213 stores link number information individually for each link destination.

<リンク数順位記憶部214>
リンク数順位記憶部214は、自ノードに配置されている1以上のコンポーネントをリンク数が多い順に並べたときの順位が特定されるリンク数順位情報を記憶する。
<Link number rank storage unit 214>
The link number rank storage unit 214 stores link number rank information that specifies the rank when one or more components arranged in the own node are arranged in descending order of the number of links.

<ネットワーク距離順位記憶部215>
ネットワーク距離順位記憶部215は、ネットワークを構成する1以上の他ノードを自ノードから近い順に並べたときの順位が特定されるネットワーク距離順位情報を記憶する。
<Network Distance Order Storage Unit 215>
The network distance rank storage unit 215 stores network distance rank information in which the rank is specified when one or more other nodes constituting the network are arranged in order from the own node.

<期待値算出部216>
期待値算出部216は、自ノードに配置されているコンポーネントの平均リンク数の期待値を算出する。
<Expected value calculation unit 216>
The expected value calculation unit 216 calculates an expected value of the average number of links of components arranged in the own node.

<オーバレイネットワーク構築部217>
オーバレイネットワーク構築部217は、ノードに新たにコンポーネントが配置されると、ネットワーク距離順位情報を「1番近い」が示される値に設定する。リンク数順位情報を「1番多い」が示される値に設定する。下記のリンク形成処理を実行する。
<Overlay network construction unit 217>
When a new component is placed at a node, the overlay network construction unit 217 sets the network distance rank information to a value indicating “closest to the first”. The link number rank information is set to a value indicating “most frequently”. The following link formation process is executed.

オーバレイネットワーク構築部217は、MLN保持部211で保持されているMLNと、リンクデータベース114に登録されている1以上のリンク情報とに基づいて、ノードの総リンク数がMLN以上であるか否かを判定する。判定した結果に応じて、下記の処理(1),(2)のいずれかを実行する。   Based on the MLN held by the MLN holding unit 211 and one or more link information registered in the link database 114, the overlay network construction unit 217 determines whether the total number of links of the node is greater than or equal to the MLN. Determine. One of the following processes (1) and (2) is executed according to the determined result.

(1)ノードの総リンク数がMLN以上である場合は、オーバレイネットワーク構築部217は、ノードに新たに配置されたコンポーネントが特定されるコンポーネント識別情報を削除対象選出部231に渡す。削除対象選出部231から削除対象リンク情報を受け取る。受け取った削除対象リンク情報に応じて、下記の処理(1a),(1b)のいずれかを実行する。   (1) When the total number of links of the node is greater than or equal to MLN, the overlay network construction unit 217 passes the component identification information for identifying the component newly arranged in the node to the deletion target selection unit 231. The deletion target link information is received from the deletion target selection unit 231. One of the following processes (1a) and (1b) is executed according to the received deletion target link information.

(1a)受け取った削除対象リンク情報がヌル情報である場合、すなわち、削除対象となるリンクが存在しない場合は、リンク形成処理を終了する。   (1a) When the received deletion target link information is null information, that is, when there is no link to be deleted, the link formation process is terminated.

(1b)受け取った削除対象リンク情報がヌル情報でない場合、すなわち、削除対象となるリンクが存在する場合は、オーバレイネットワーク構築部217は、受け取った削除対象リンク情報をリンク元削除部241に渡す。リンク元削除部241から削除失敗通知を受け取ると、リンク形成処理を終了する。リンク元削除部241から削除成功通知を受け取ると、リンク形成処理を再度実行する。   (1b) When the received deletion target link information is not null information, that is, when there is a link to be deleted, the overlay network construction unit 217 passes the received deletion target link information to the link source deletion unit 241. When a deletion failure notification is received from the link source deletion unit 241, the link formation process is terminated. When a deletion success notification is received from the link source deletion unit 241, the link formation process is executed again.

(2)ノードの総リンク数がMLN以上でない場合は、オーバレイネットワーク構築部217は、ノードに新たに配置されたコンポーネントが特定されるコンポーネント識別情報を追加対象選出部251に渡す。追加対象選出部251から追加対象リンク情報を受け取る。受け取った追加対象リンク情報に応じて、下記の処理(2a),(2b)のいずれかを実行する。   (2) When the total number of links of the node is not equal to or greater than MLN, the overlay network construction unit 217 passes component identification information for identifying the component newly arranged at the node to the addition target selection unit 251. The addition target link information is received from the addition target selection unit 251. One of the following processes (2a) and (2b) is executed according to the received addition target link information.

(2a)受け取った追加対象リンク情報がヌル情報である場合、すなわち、追加対象となるリンクが存在しない場合は、リンク形成処理を終了する。   (2a) When the received addition target link information is null information, that is, when there is no link to be added, the link formation process is terminated.

(2b)受け取った追加対象リンク情報がヌル情報でない場合、すなわち、追加対象となるリンクが存在する場合は、オーバレイネットワーク構築部217は、受け取った追加対象リンク情報をリンク元追加部261に渡す。リンク元追加部261から追加失敗通知を受け取ると、リンク形成処理を終了する。リンク元追加部261から追加成功通知を受け取ると、リンク形成処理を再度実行する。   (2b) When the received addition target link information is not null information, that is, when there is a link to be added, the overlay network construction unit 217 passes the received addition target link information to the link source adding unit 261. When an addition failure notification is received from the link source adding unit 261, the link forming process is terminated. When an addition success notification is received from the link source adding unit 261, the link formation process is executed again.

<削除対象選出部231>
削除対象選出部231は、オーバレイネットワーク構築部217からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報がリンク元情報に含まれるリンク情報を、リンクデータベース114に登録されている1以上のリンク情報の中から全て選出する。選出した1以上のリンク情報と、期待値算出部216で算出された期待値とに基づいて、受け取ったコンポーネント識別情報によって特定されるコンポーネントのリンク数が期待値以上であるか否かを判定する。判定した結果、リンク数が期待値以上である場合は、ヌル情報を削除対象リンク情報としてオーバレイネットワーク構築部217に渡す。一方、期待値以上でない場合は、下記の削除対象リンク選出処理を実行する。
<Delete Target Selection Unit 231>
The deletion target selection unit 231 receives component identification information from the overlay network construction unit 217. All the link information in which the received component identification information is included in the link source information is selected from one or more link information registered in the link database 114. Based on the selected one or more link information and the expected value calculated by the expected value calculation unit 216, it is determined whether or not the number of links of the component specified by the received component identification information is greater than or equal to the expected value. . As a result of the determination, if the number of links is greater than or equal to the expected value, null information is passed to the overlay network construction unit 217 as deletion target link information. On the other hand, if the expected value is not exceeded, the following deletion target link selection process is executed.

削除対象選出部231は、自ノードが特定されるノード識別情報を削除対象リンク元選出部232に渡す。削除対象リンク元選出部232からリンク元情報を受け取る。受け取ったコンポーネント識別情報を削除対象リンク先選出部234に渡す。削除対象リンク先選出部234からリンク先情報を受け取る。受け取ったリンク元情報と、受け取ったリンク先情報とを含むリンク情報を生成する。受け取ったリンク元情報に応じて、下記の処理(1),(2)のいずれかを実行する。   The deletion target selection unit 231 passes the node identification information for identifying the own node to the deletion target link source selection unit 232. The link source information is received from the deletion target link source selection unit 232. The received component identification information is passed to the deletion target link destination selection unit 234. Link destination information is received from the deletion target link destination selection unit 234. Link information including the received link source information and the received link destination information is generated. Depending on the received link source information, one of the following processes (1) and (2) is executed.

(1)受け取ったリンク元情報がヌル情報である場合、すなわち、リンク元が存在しない場合は、削除対象選出部231は、リンク数順位情報を「1番多い」が示される値に設定する。ヌル情報を削除対象リンク情報としてオーバレイネットワーク構築部217に渡す。   (1) When the received link source information is null information, that is, when there is no link source, the deletion target selection unit 231 sets the link number rank information to a value indicating “most frequently”. The null information is passed to the overlay network construction unit 217 as deletion target link information.

(2)受け取ったリンク元情報がヌル情報でない場合、すなわち、リンク元が存在する場合は、削除対象選出部231は、リンク数順位情報を「次に多い」が示される値に設定する。受け取ったリンク先情報に応じて、下記の処理(2a),(2b)のいずれかを実行する。   (2) If the received link source information is not null information, that is, if there is a link source, the deletion target selection unit 231 sets the link number rank information to a value indicating “next highest”. One of the following processes (2a) and (2b) is executed according to the received link destination information.

(2a)受け取ったリンク先情報がヌル情報である場合、すなわち、リンク先が存在しない場合は、削除対象選出部231は、上記の削除対象リンク選出処理から再度実行する。   (2a) When the received link destination information is null information, that is, when there is no link destination, the deletion target selection unit 231 executes again from the deletion target link selection process.

(2b)受け取ったリンク先情報がヌル情報でない場合、すなわち、リンク先が存在する場合は、削除対象選出部231は、生成したリンク情報を削除対象リンク情報としてオーバレイネットワーク構築部217に渡す。   (2b) If the received link destination information is not null information, that is, if there is a link destination, the deletion target selection unit 231 passes the generated link information to the overlay network construction unit 217 as deletion target link information.

なお、削除対象選出部231は、リンク先追加部262からコンポーネント識別情報を受け取ると、上記の処理と同様の処理を実行して、削除対象リンク情報をリンク先追加部262に渡す。   When receiving the component identification information from the link destination adding unit 262, the deletion target selecting unit 231 performs the same process as the above process, and passes the deletion target link information to the link destination adding unit 262.

<削除対象リンク元選出部232>
削除対象リンク元選出部232は、削除対象選出部231からノード識別情報を受け取る。選出通知をリンク元コンポーネント選出部233に渡す。リンク元コンポーネント選出部233からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報がヌル情報である場合は、ヌル情報をリンク元情報として削除対象選出部231に渡す。一方、受け取ったコンポーネント識別情報がヌル情報でない場合は、受け取ったコンポーネント識別情報と、受け取ったノード識別情報とを含むリンク元情報を生成する。生成したリンク元情報を削除対象選出部231に渡す。
<Deleted Link Source Selection Unit 232>
The deletion target link source selection unit 232 receives node identification information from the deletion target selection unit 231. The selection notification is passed to the link source component selection unit 233. Component identification information is received from the link source component selection unit 233. When the received component identification information is null information, the null information is passed to the deletion target selection unit 231 as link source information. On the other hand, if the received component identification information is not null information, link source information including the received component identification information and the received node identification information is generated. The generated link source information is passed to the deletion target selection unit 231.

<リンク元コンポーネント選出部233>
リンク元コンポーネント選出部233は、削除対象リンク元選出部232から選出通知を受け取る。リンクデータベース114に登録されている1以上のリンク情報に基づいて、リンク元における各コンポーネントのリンク数を算出する。算出して得られた結果に基づいて、リンク数順位記憶部214に記憶されているリンク数順位情報によって特定される順位のコンポーネントを特定する。特定したコンポーネントが識別されるコンポーネント識別情報を削除対象リンク元選出部232に渡す。
<Link source component selection unit 233>
The link source component selection unit 233 receives the selection notification from the deletion target link source selection unit 232. Based on one or more pieces of link information registered in the link database 114, the number of links of each component at the link source is calculated. Based on the result obtained by the calculation, the component of the rank specified by the link number rank information stored in the link number rank storage unit 214 is specified. The component identification information for identifying the identified component is passed to the deletion target link source selection unit 232.

<削除対象リンク先選出部234>
削除対象リンク先選出部234は、削除対象選出部231からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報がリンク元情報に含まれるリンク情報を、リンクデータベース114に登録されている1以上のリンク情報の中から全て選出する。選出した1以上のリンク情報の各々に対して、下記の処理(1)を実行する。
<Deleted Link Target Selection Unit 234>
The deletion target link destination selection unit 234 receives the component identification information from the deletion target selection unit 231. All the link information in which the received component identification information is included in the link source information is selected from one or more link information registered in the link database 114. The following process (1) is executed for each of the selected one or more link information.

(1)削除対象リンク先選出部234は、選出したリンク情報のリンク先情報に含まれるノード識別情報とコンポーネント識別情報とをリンク数情報照会要求送信部273に渡す。   (1) The deletion target link destination selection unit 234 passes the node identification information and component identification information included in the link destination information of the selected link information to the link number information inquiry request transmission unit 273.

削除対象リンク先選出部234は、選出した1以上のリンク情報の全てに対して、上記(1)の処理を実行し、リンク数情報記憶部213にリンク数情報が存在する場合は、リンク数情報記憶部213に記憶されている1以上のリンク数情報に基づいて、選出した1以上のリンク情報によって特定される1以上のリンク先の中から、リンク数が最多のリンク先を選出する。選出したリンク先が特定されるリンク先情報を削除対象選出部231に渡す。   The deletion target link destination selection unit 234 executes the process (1) for all of the selected one or more link information, and if the link number information is present in the link number information storage unit 213, the number of links Based on the one or more link number information stored in the information storage unit 213, the link destination having the largest number of links is selected from one or more link destinations specified by the selected one or more link information. The link destination information for specifying the selected link destination is passed to the deletion target selection unit 231.

一方、削除対象リンク先選出部234は、リンク数情報記憶部213にリンク数情報が存在しない場合は、ヌル情報をリンク先情報として削除対象選出部231に渡す。   On the other hand, when the link number information does not exist in the link number information storage unit 213, the deletion target link destination selection unit 234 passes null information as link destination information to the deletion target selection unit 231.

<リンク元削除部241>
リンク元削除部241は、オーバレイネットワーク構築部217から削除対象リンク情報を受け取る。受け取った削除対象リンク情報のリンク先情報に含まれるノード識別情報と、受け取った削除対象リンク情報とをリンク削除要求送信部244に渡す。リンク削除応答受信部245から削除確定リンク情報を受け取る。受け取った削除確定リンク情報に応じて、下記の処理(1),(2)のいずれかを実行する。
<Link source deletion unit 241>
The link source deletion unit 241 receives the deletion target link information from the overlay network construction unit 217. The node identification information included in the link destination information of the received deletion target link information and the received deletion target link information are passed to the link deletion request transmission unit 244. The deletion confirmation link information is received from the link deletion response receiving unit 245. Depending on the received deletion confirmation link information, one of the following processes (1) and (2) is executed.

(1)受け取った削除確定リンク情報がヌル情報である場合、すなわち、削除対象となるリンクが存在しない場合は、リンク元削除部241は、削除失敗通知をオーバレイネットワーク構築部217に渡す。   (1) When the received deletion confirmation link information is null information, that is, when there is no link to be deleted, the link source deletion unit 241 passes a deletion failure notification to the overlay network construction unit 217.

(2)受け取った削除確定リンク情報がヌル情報でない場合、すなわち、削除対象となるリンクが存在する場合は、リンク元削除部241は、受け取った削除確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報から削除する。削除成功通知をオーバレイネットワーク構築部217に渡す。   (2) If the received deletion confirmation link information is not null information, that is, if there is a link to be deleted, the link source deletion unit 241 registers the received deletion confirmation link information in the link database 114. Delete one or more existing link information. A deletion success notification is passed to the overlay network construction unit 217.

なお、リンク元削除部241は、リンク先追加部262かた削除対象リンク情報を受け取ると、上記の処理と同様の処理を実行して、削除失敗通知および削除成功通知のいずれかをリンク先追加部262に渡す。   When the link source deletion unit 241 receives the deletion target link information from the link destination addition unit 262, the link source deletion unit 241 executes the same processing as the above processing, and adds either the deletion failure notification or the deletion success notification to the link destination. To the unit 262.

<リンク先削除部242>
リンク先削除部242は、リンク削除要求受信部246から削除対象リンク情報を受け取る。受け取った削除対象リンク情報をリンク削除確定部243に渡す。リンク削除確定部243から削除確定リンク情報を受け取る。受け取った削除確定リンク情報がヌル情報である場合は、受け取った削除確定リンク情報をリンク削除応答送信部247に渡す。一方、受け取った削除確定リンク情報がヌル情報でない場合は、受け取った削除確定リンク情報のリンク先情報に含まれるコンポーネント識別情報に基づいて、リンク先のノードに配置されている1以上のコンポーネントの中から、リンク元のコンポーネントと同一の機能を有するリンク先のコンポーネントを特定する。LLN保持部212で保持されているLLNと、リンクデータベース114に登録されている1以上のリンク情報とに基づいて、特定したリンク先のコンポーネントのリンク数がLLN以下であるか否かを判定する。判定した結果に応じて、下記の処理(1),(2)のいずれかを実行する。
<Link destination deletion unit 242>
The link destination deletion unit 242 receives the deletion target link information from the link deletion request reception unit 246. The received deletion target link information is passed to the link deletion confirmation unit 243. Deletion confirmation link information is received from the link deletion confirmation unit 243. When the received deletion confirmation link information is null information, the received deletion confirmation link information is passed to the link deletion response transmission unit 247. On the other hand, if the received deletion confirmation link information is not null information, one of one or more components arranged in the link destination node based on the component identification information included in the link destination information of the received deletion confirmation link information. From this, a link destination component having the same function as the link source component is specified. Based on the LLN held in the LLN holding unit 212 and one or more link information registered in the link database 114, it is determined whether or not the number of links of the identified link destination component is LLN or less. . One of the following processes (1) and (2) is executed according to the determined result.

(1)特定したリンク先のコンポーネントのリンク数がLLN以下である場合は、リンク先削除部242は、ヌル情報を削除確定リンク情報としてリンク削除応答送信部247に渡す。   (1) When the number of links of the identified link destination component is LLN or less, the link destination deletion unit 242 passes null information to the link deletion response transmission unit 247 as deletion confirmed link information.

(2)特定したリンク先のコンポーネントのリンク数がLLN以下でない場合は、リンク先削除部242は、受け取った削除確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報から削除する。受け取った削除確定リンク情報をリンク削除応答送信部247に渡す。   (2) If the number of links of the identified link destination component is not less than or equal to LLN, the link destination deletion unit 242 deletes the received deletion confirmation link information from one or more link information registered in the link database 114. . The received deletion confirmation link information is passed to the link deletion response transmission unit 247.

<リンク削除確定部243>
リンク削除確定部243は、リンク先削除部242から削除対象リンク情報を受け取る。受け取った削除対象リンク情報のリンク元情報に含まれるコンポーネント識別情報によって特定されるコンポーネントと同一の機能を有するコンポーネントのコンポーネント情報を、コンポーネントデータベース112に登録されている1以上のコンポーネント情報の中から選出する。選出したコンポーネント情報に応じて、下記の処理(1),(2)のいずれかを実行する。
<Link deletion confirmation unit 243>
The link deletion confirmation unit 243 receives the deletion target link information from the link destination deletion unit 242. Component information of a component having the same function as the component specified by the component identification information included in the link source information of the received link information to be deleted is selected from one or more component information registered in the component database 112 To do. One of the following processes (1) and (2) is executed according to the selected component information.

(1)選出したコンポーネント情報がヌル情報である場合は、リンク削除確定部243は、ヌル情報を削除確定リンク情報としてリンク先削除部242に渡す。   (1) If the selected component information is null information, the link deletion confirmation unit 243 passes the null information to the link destination deletion unit 242 as deletion confirmation link information.

(2)選出したコンポーネント情報がヌル情報でない場合は、リンク削除確定部243は、選出したコンポーネント情報におけるコンポーネント識別情報とノード識別情報(実行ノード)とを含むリンク先情報を生成する。受け取った削除対象リンク情報に含まれるリンク元情報と、生成したリンク先情報とを含むリンク情報を生成する。生成したリンク情報を削除確定リンク情報としてリンク先削除部242に渡す。   (2) If the selected component information is not null information, the link deletion confirmation unit 243 generates link destination information including the component identification information and the node identification information (execution node) in the selected component information. Link information including link source information included in the received deletion target link information and the generated link destination information is generated. The generated link information is transferred to the link destination deleting unit 242 as deletion confirmed link information.

<リンク削除要求送信部244>
リンク削除要求送信部244は、リンク元削除部241からノード識別情報と削除対象リンク情報とを受け取る。受け取った削除対象リンク情報を含む要求メッセージ(以下、「リンク削除要求メッセージ」と呼称する。)を生成する。生成したリンク削除要求メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Link deletion request transmission unit 244>
The link deletion request transmission unit 244 receives node identification information and deletion target link information from the link source deletion unit 241. A request message including the received deletion target link information (hereinafter referred to as “link deletion request message”) is generated. The generated link deletion request message is transmitted to the transmission destination specified by the received node identification information.

<リンク削除応答受信部245>
リンク削除応答受信部245は、リンク削除要求送信部244から送信されたリンク削除要求メッセージに対する応答メッセージ(以下、「リンク削除応答メッセージ」と呼称する。)を受信する。受信したリンク削除応答メッセージを解析する。解析したリンク削除応答メッセージから削除確定リンク情報を抽出する。抽出した削除確定リンク情報をリンク元削除部241に渡す。
<Link deletion response receiver 245>
The link deletion response receiving unit 245 receives a response message to the link deletion request message transmitted from the link deletion request transmitting unit 244 (hereinafter referred to as “link deletion response message”). Analyze the received link deletion response message. Delete confirmed link information is extracted from the analyzed link deletion response message. The extracted deletion confirmation link information is passed to the link source deletion unit 241.

<リンク削除要求受信部246>
リンク削除要求受信部246は、他ノードのような送信元からリンク削除要求メッセージを受信する。受信したリンク削除要求メッセージの送信元が特定されるノード識別情報をリンク削除応答送信部247に渡す。受信したリンク削除要求メッセージを解析する。解析したリンク削除要求メッセージから削除対象リンク情報を抽出する。抽出した削除対象リンク情報をリンク先削除部242に渡す。
<Link deletion request receiving unit 246>
The link deletion request receiving unit 246 receives a link deletion request message from a transmission source such as another node. The node identification information for identifying the transmission source of the received link deletion request message is passed to the link deletion response transmission unit 247. Analyzes the received link deletion request message. The deletion target link information is extracted from the analyzed link deletion request message. The extracted deletion target link information is passed to the link destination deletion unit 242.

<リンク削除応答送信部247>
リンク削除応答送信部247は、リンク削除要求受信部246からノード識別情報を受け取る。リンク先削除部242から削除確定リンク情報を受け取る。受け取った削除確定リンク情報を含むリンク削除応答メッセージを生成する。生成したリンク削除応答メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Link deletion response transmission unit 247>
The link deletion response transmission unit 247 receives node identification information from the link deletion request reception unit 246. Deletion confirmation link information is received from the link destination deletion unit 242. A link deletion response message including the received deletion confirmation link information is generated. The generated link deletion response message is transmitted to the transmission destination specified by the received node identification information.

<追加対象選出部251>
追加対象選出部251は、オーバレイネットワーク構築部217からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報と、自ノードが特定されるノード識別情報とを含むリンク元情報を生成する。受け取ったコンポーネント識別情報を追加対象リンク先選出部252に渡す。追加対象リンク先選出部252からリンク先情報を受け取る。生成したリンク元情報と、受け取ったリンク先情報とを含むリンク情報を生成する。受け取ったリンク先情報に応じて、下記の処理(1),(2)のいずれかを実行する。
<Additional selection section 251>
The addition target selection unit 251 receives component identification information from the overlay network construction unit 217. Link source information including the received component identification information and node identification information for identifying the own node is generated. The received component identification information is passed to the addition target link destination selection unit 252. Link destination information is received from the addition target link destination selection unit 252. Link information including the generated link source information and the received link destination information is generated. Depending on the received link destination information, one of the following processes (1) and (2) is executed.

(1)受け取ったリンク先情報がヌル情報である場合、すなわち、リンク先が存在しない場合は、追加対象選出部251は、ネットワーク距離順位情報を「1番近い」が示される値に設定する。ヌル情報を追加対象リンク情報としてオーバレイネットワーク構築部217に渡す。   (1) When the received link destination information is null information, that is, when there is no link destination, the addition target selection unit 251 sets the network distance rank information to a value indicating “closest to the first”. Null information is passed to the overlay network construction unit 217 as additional target link information.

(2)受け取ったリンク先情報がヌル情報でない場合、すなわち、リンク先が存在する場合は、追加対象選出部251は、ネットワーク距離順位情報を「次に近い」が示される値に設定する。生成したリンク情報を追加対象リンク情報としてオーバレイネットワーク構築部217に渡す。   (2) When the received link destination information is not null information, that is, when a link destination exists, the addition target selection unit 251 sets the network distance rank information to a value indicating “closest to next”. The generated link information is passed to the overlay network construction unit 217 as addition target link information.

<追加対象リンク先選出部252>
追加対象リンク先選出部252は、追加対象選出部251からコンポーネント識別情報を受け取る。選出通知をリンク先ノード選出部253に渡す。リンク先ノード選出部253からノード識別情報を受け取る。受け取ったノード識別情報がヌル情報である場合は、ヌル情報をリンク先情報として追加対象選出部251に渡す。
<Additional link destination selection unit 252>
The addition target link destination selection unit 252 receives component identification information from the addition target selection unit 251. The selection notification is passed to the link destination node selection unit 253. Node identification information is received from the link destination node selection unit 253. When the received node identification information is null information, the null information is passed to the addition target selection unit 251 as link destination information.

一方、受け取ったノード識別情報がヌル情報でない場合は、追加対象リンク先選出部252は、受け取ったコンポーネント識別情報をリンク先のコンポーネント識別情報として設定する。設定したリンク先のコンポーネント識別情報と、受け取ったノード識別情報とを含むリンク先情報を生成する。生成したリンク先情報を追加対象選出部251に渡す。   On the other hand, if the received node identification information is not null information, the addition target link destination selection unit 252 sets the received component identification information as the link destination component identification information. Link destination information including the set link destination component identification information and the received node identification information is generated. The generated link destination information is passed to the addition target selection unit 251.

<リンク先ノード選出部253>
リンク先ノード選出部253は、追加対象リンク先選出部252から選出通知を受け取る。ノードデータベース113に登録されている1以上のノード情報に基づいて、リンク先における各ノードのネットワーク距離を算出する。算出して得られた結果に基づいて、ネットワーク距離順位記憶部215に記憶されているネットワーク距離順位情報によって特定される順位のノードを特定する。特定したノードが識別されるノード識別情報を追加対象リンク先選出部252に渡す。
<Link destination node selection unit 253>
The link destination node selection unit 253 receives the selection notification from the addition target link destination selection unit 252. Based on one or more pieces of node information registered in the node database 113, the network distance of each node at the link destination is calculated. Based on the result obtained by the calculation, the node having the rank specified by the network distance rank information stored in the network distance rank storage unit 215 is specified. The node identification information for identifying the identified node is passed to the addition target link destination selection unit 252.

なお、ここでは、話を簡潔にするために、ノード情報のRTTをネットワーク距離とする。RTTの値が大きければ、ネットワーク距離も長いとし、RTTの値が小さければ、ネットワーク距離も短いとする。   Here, in order to simplify the story, RTT of the node information is a network distance. If the RTT value is large, the network distance is long. If the RTT value is small, the network distance is short.

<リンク元追加部261>
リンク元追加部261は、オーバレイネットワーク構築部217から追加対象リンク情報を受け取る。受け取った追加対象リンク情報のリンク先情報に含まれるノード識別情報と、受け取った追加対象リンク情報とをリンク追加要求送信部264に渡す。リンク追加応答受信部265から追加確定リンク情報を受け取る。受け取った追加確定リンク情報に応じて、下記の処理(1),(2)のいずれかを実行する。
<Link source addition unit 261>
The link source addition unit 261 receives the addition target link information from the overlay network construction unit 217. The node identification information included in the link destination information of the received addition target link information and the received addition target link information are passed to the link addition request transmission unit 264. The addition confirmed link information is received from the link addition response receiving unit 265. One of the following processes (1) and (2) is executed according to the received additional confirmation link information.

(1)受け取った追加確定リンク情報がヌル情報である場合、すなわち、追加対象となるリンクが存在しない場合は、リンク元追加部261は、追加失敗通知をオーバレイネットワーク構築部217に渡す。   (1) When the received addition confirmed link information is null information, that is, when there is no link to be added, the link source adding unit 261 passes an addition failure notification to the overlay network construction unit 217.

(2)受け取った追加確定リンク情報がヌル情報でない場合、すなわち、追加対象となるリンクが存在する場合は、リンク元追加部261は、受け取った追加確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報に追加する。追加成功通知をオーバレイネットワーク構築部217に渡す。   (2) When the received additional confirmed link information is not null information, that is, when there is a link to be added, the link source adding unit 261 registers the received additional confirmed link information in the link database 114. To one or more existing link information. An addition success notification is passed to the overlay network construction unit 217.

<リンク先追加部262>
リンク先追加部262は、リンク追加要求受信部266から追加対象リンク情報を受け取る。受け取った追加対象リンク情報をリンク追加確定部263に渡す。リンク追加確定部263から追加確定リンク情報を受け取る。受け取った追加確定リンク情報がヌル情報である場合は、受け取った追加確定リンク情報をリンク追加応答送信部267に渡す。一方、受け取った追加確定リンク情報がヌル情報でない場合は、MLN保持部211で保持されているMLNと、リンクデータベース114に登録されている1以上のリンク情報とに基づいて、ノードの総リンク数がMLN以上であるか否かを判定する。判定した結果に応じて、下記の処理(1),(2)のいずれかを実行する。
<Link destination adding unit 262>
The link destination adding unit 262 receives the addition target link information from the link addition request receiving unit 266. The received addition target link information is passed to the link addition confirmation unit 263. The addition confirmation link information is received from the link addition confirmation unit 263. If the received additional confirmed link information is null information, the received additional confirmed link information is passed to the link addition response transmission unit 267. On the other hand, if the received additional confirmed link information is not null information, the total number of links of the node based on the MLN held in the MLN holding unit 211 and one or more link information registered in the link database 114 Is determined to be greater than or equal to MLN. One of the following processes (1) and (2) is executed according to the determined result.

(1)ノードの総リンク数がMLN以上である場合は、リンク先追加部262は、受け取った追加確定リンク情報のリンク先情報に含まれるコンポーネント識別情報を削除対象選出部231に渡す。削除対象選出部231から削除対象リンク情報を受け取る。受け取った削除対象リンク情報に応じて、下記の処理(1a),(1b)のいずれかを実行する。   (1) When the total number of links of the node is greater than or equal to MLN, the link destination adding unit 262 passes the component identification information included in the link destination information of the received addition confirmed link information to the deletion target selecting unit 231. The deletion target link information is received from the deletion target selection unit 231. One of the following processes (1a) and (1b) is executed according to the received deletion target link information.

(1a)受け取った削除対象リンク情報がヌル情報である場合は、リンク先追加部262は、ヌル情報を追加確定リンク情報としてリンク追加応答送信部267に渡す。   (1a) When the received deletion target link information is null information, the link destination adding unit 262 passes the null information to the link addition response transmitting unit 267 as additional confirmed link information.

(1b)受け取った削除対象リンク情報がヌル情報でない場合は、リンク先追加部262は、受け取った削除対象リンク情報をリンク元削除部241に渡す。リンク元削除部241から削除失敗通知を受け取ると、ヌル情報を追加確定リンク情報としてリンク追加応答送信部267に渡す。リンク元削除部241から削除成功通知を受け取ると、受け取った追加確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報に追加する。受け取った追加確定リンク情報をリンク追加応答送信部267に渡す。   (1b) If the received deletion target link information is not null information, the link destination adding unit 262 passes the received deletion target link information to the link source deleting unit 241. When a deletion failure notification is received from the link source deletion unit 241, null information is passed to the link addition response transmission unit 267 as additional confirmed link information. When a deletion success notification is received from the link source deletion unit 241, the received addition confirmation link information is added to one or more link information registered in the link database 114. The received addition confirmation link information is passed to the link addition response transmission unit 267.

(2)ノードの総リンク数がMLN以上でない場合は、リンク先追加部262は、受け取った追加確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報に追加する。受け取った追加確定リンク情報をリンク追加応答送信部267に渡す。   (2) When the total number of links of the node is not equal to or greater than MLN, the link destination adding unit 262 adds the received addition confirmed link information to one or more link information registered in the link database 114. The received addition confirmation link information is passed to the link addition response transmission unit 267.

<リンク追加確定部263>
リンク追加確定部263は、リンク先追加部262から追加対象リンク情報を受け取る。受け取った追加対象リンク情報のリンク元情報に含まれるコンポーネント識別情報によって特定されるコンポーネントと同一の機能を有するコンポーネントのコンポーネント情報を、コンポーネントデータベース112に登録されている1以上のコンポーネント情報の中から選出する。選出したコンポーネント情報に応じて、下記の処理(1),(2)のいずれかを実行する。
<Link addition confirmation unit 263>
The link addition confirmation unit 263 receives the addition target link information from the link destination addition unit 262. The component information of the component having the same function as the component specified by the component identification information included in the link source information of the received addition target link information is selected from one or more component information registered in the component database 112 To do. One of the following processes (1) and (2) is executed according to the selected component information.

(1)選出したコンポーネント情報がヌル情報である場合は、リンク追加確定部263は、ヌル情報を追加確定リンク情報としてリンク先追加部262に渡す。   (1) When the selected component information is null information, the link addition confirmation unit 263 passes the null information to the link destination addition unit 262 as addition confirmation link information.

(2)選出したコンポーネント情報がヌル情報でない場合は、リンク追加確定部263は、選出したコンポーネント情報におけるコンポーネント識別情報とノード識別情報(実行ノード)とを含むリンク先情報を生成する。受け取った追加対象リンク情報に含まれるリンク元情報と、生成したリンク先情報とを含むリンク情報を生成する。生成したリンク情報を追加確定リンク情報としてリンク先追加部262に渡す。   (2) When the selected component information is not null information, the link addition determination unit 263 generates link destination information including the component identification information and the node identification information (execution node) in the selected component information. Link information including link source information included in the received addition target link information and the generated link destination information is generated. The generated link information is passed to the link destination adding unit 262 as additional confirmed link information.

<リンク追加要求送信部264>
リンク追加要求送信部264は、リンク元追加部261からノード識別情報と追加対象リンク情報とを受け取る。受け取った追加対象リンク情報を含む要求メッセージ(以下、「リンク追加要求メッセージ」と呼称する。)を生成する。生成したリンク追加要求メッセージを、受け取った追加対象リンク情報のリンク先情報に含まれるノード識別情報によって特定される送信先に送信する。
<Link addition request transmission unit 264>
The link addition request transmission unit 264 receives node identification information and addition target link information from the link source addition unit 261. A request message including the received addition target link information (hereinafter referred to as “link addition request message”) is generated. The generated link addition request message is transmitted to the transmission destination specified by the node identification information included in the link destination information of the received addition target link information.

<リンク追加応答受信部265>
リンク追加応答受信部265は、リンク追加要求送信部264から送信されたリンク追加要求メッセージに対する応答メッセージ(以下、「リンク追加応答メッセージ」と呼称する。)を受信する。受信したリンク追加応答メッセージを解析する。解析したリンク追加応答メッセージから追加確定リンク情報を抽出する。抽出した追加確定リンク情報をリンク元追加部261に渡す。
<Link addition response receiving unit 265>
The link addition response receiving unit 265 receives a response message to the link addition request message transmitted from the link addition request transmitting unit 264 (hereinafter referred to as “link addition response message”). Analyze the received link addition response message. Add confirmed link information is extracted from the analyzed link addition response message. The extracted addition confirmed link information is passed to the link source adding unit 261.

<リンク追加要求受信部266>
リンク追加要求受信部266は、他ノードのような送信元からリンク追加要求メッセージを受信する。受信したリンク追加要求メッセージの送信元が特定されるノード識別情報をリンク追加応答送信部267に渡す。受信したリンク追加要求メッセージを解析する。解析したリンク追加要求メッセージから追加対象リンク情報を抽出する。抽出した追加対象リンク情報をリンク先追加部262に渡す。
<Link addition request receiving unit 266>
The link addition request receiving unit 266 receives a link addition request message from a transmission source such as another node. The node identification information for identifying the transmission source of the received link addition request message is passed to the link addition response transmission unit 267. Analyze the received link addition request message. Add target link information from the analyzed link addition request message. The extracted addition target link information is passed to the link destination adding unit 262.

<リンク追加応答送信部267>
リンク追加応答送信部267は、リンク追加要求受信部266からノード識別情報を受け取る。リンク先追加部262から追加確定リンク情報を受け取る。受け取った追加確定リンク情報を含むリンク追加応答メッセージを生成する。生成したリンク追加応答メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Link addition response transmission unit 267>
The link addition response transmission unit 267 receives node identification information from the link addition request reception unit 266. The addition confirmed link information is received from the link destination adding unit 262. A link addition response message including the received additional confirmed link information is generated. The generated link addition response message is transmitted to the transmission destination specified by the received node identification information.

<リンク数情報読出部271>
リンク数情報読出部271は、リンク数情報照会要求受信部275からコンポーネント識別情報を受け取る。コンポーネントデータベース112に登録されている1以上のコンポーネント情報に基づいて、自ノードに配置されている1以上のコンポーネントの中から、受け取ったコンポーネント識別情報によって特定されるコンポーネントと同一の機能を有するコンポーネントを特定する。リンクデータベース114に登録されている1以上のリンク情報に基づいて、特定したコンポーネントのリンク数を算出する。算出したコンポーネントが識別されるコンポーネント識別情報と、自ノードが特定されるノード識別情報と、特定したリンク数とを含むリンク数情報を生成する。生成したリンク数情報をリンク数情報照会応答送信部276に渡す。
<Link Number Information Reading Unit 271>
The link number information reading unit 271 receives component identification information from the link number information inquiry request receiving unit 275. Based on one or more component information registered in the component database 112, a component having the same function as the component specified by the received component identification information is selected from the one or more components arranged in the own node. Identify. Based on one or more pieces of link information registered in the link database 114, the number of links of the specified component is calculated. Link number information including component identification information for identifying the calculated component, node identification information for identifying the own node, and the identified number of links is generated. The generated link number information is passed to the link number information inquiry response transmission unit 276.

<リンク数情報書込部272>
リンク数情報書込部272は、リンク数情報照会応答受信部274からリンク数情報を受け取る。受け取ったリンク数情報をリンク数情報記憶部213に書き込む。
<Link number information writing unit 272>
The link number information writing unit 272 receives the link number information from the link number information inquiry response receiving unit 274. The received link number information is written into the link number information storage unit 213.

<リンク数情報照会要求送信部273>
リンク数情報照会要求送信部273は、削除対象リンク先選出部234からノード識別情報とコンポーネント識別情報とを受け取る。受け取ったコンポーネント識別情報を含む要求メッセージ(以下、「リンク数照会要求メッセージ」と呼称する。)を生成する。生成したリンク数照会要求メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Link Number Information Inquiry Request Transmitter 273>
The link number information inquiry request transmission unit 273 receives node identification information and component identification information from the deletion target link destination selection unit 234. A request message including the received component identification information (hereinafter referred to as “link number inquiry request message”) is generated. The generated link number inquiry request message is transmitted to the transmission destination specified by the received node identification information.

<リンク数情報照会応答受信部274>
リンク数情報照会応答受信部274は、リンク数情報照会要求送信部273から送信されたリンク数照会要求メッセージに対する応答メッセージ(以下、「リンク数照会応答メッセージ」と呼称する。)を受信する。受信したリンク数照会応答メッセージを解析する。解析したリンク数照会応答メッセージからリンク数情報を抽出する。抽出したリンク数情報をリンク数情報書込部272に渡す。
<Link Number Information Query Response Reception Unit 274>
The link number information inquiry response reception unit 274 receives a response message to the link number inquiry request message transmitted from the link number information inquiry request transmission unit 273 (hereinafter referred to as “link number inquiry response message”). Analyze the received link count inquiry response message. Link number information is extracted from the analyzed link number inquiry response message. The extracted link number information is passed to the link number information writing unit 272.

<リンク数情報照会要求受信部275>
リンク数情報照会要求受信部275は、他ノードのような送信元からリンク数照会要求メッセージを受信する。受信したリンク数照会要求メッセージの送信元が特定されるノード識別情報をリンク数情報照会応答送信部276に渡す。受信したリンク数照会要求メッセージを解析する。解析したリンク数照会要求メッセージからコンポーネント識別情報を抽出する。抽出したコンポーネント識別情報をリンク数情報読出部271に渡す。
<Link Number Information Inquiry Request Receiving Unit 275>
The link number information inquiry request receiving unit 275 receives a link number inquiry request message from a transmission source such as another node. The node identification information for identifying the transmission source of the received link number inquiry request message is passed to the link number information inquiry response transmission unit 276. Analyzes the received link count query request message. Component identification information is extracted from the analyzed link number inquiry request message. The extracted component identification information is passed to the link number information reading unit 271.

<リンク数情報照会応答送信部276>
リンク数情報照会応答送信部276は、リンク数情報照会要求受信部275からノード識別情報を受け取る。リンク数情報読出部271からリンク数情報を受け取る。受け取ったリンク数情報を含むリンク数照会応答メッセージを生成する。生成したリンク数照会応答メッセージを、受け取ったノード識別情報によって特定される送信先に送信する。
<Link Number Information Query Response Transmitter 276>
The link number information inquiry response transmission unit 276 receives node identification information from the link number information inquiry request reception unit 275. Link number information is received from the link number information reading unit 271. A link number inquiry response message including the received link number information is generated. The generated link number inquiry response message is transmitted to the transmission destination specified by the received node identification information.

<動作>
次に、本実施の形態におけるWebサービスシステムの動作について説明する。
<Operation>
Next, the operation of the Web service system in this embodiment will be described.

<オーバレイネットワーク構築処理>
図27は、本実施の形態におけるオーバレイネットワーク構築処理を示す図である。図27に示されるように、オーバレイネットワーク構築部217は、ノードに新たにコンポーネントが配置されると(S201:Yes)、ネットワーク距離順位情報を「1番近い」が示される値に設定する(S202)。リンク数順位情報を「1番多い」が示される値に設定する(S203)。下記のリンク形成処理(S204)〜(S212)を実行する。
<Overlay network construction processing>
FIG. 27 is a diagram showing overlay network construction processing in the present embodiment. As shown in FIG. 27, when a new component is placed at a node (S201: Yes), the overlay network construction unit 217 sets the network distance rank information to a value indicating “closest to 1” (S202). ). The link number order information is set to a value indicating "most" (S203). The following link formation processing (S204) to (S212) is executed.

オーバレイネットワーク構築部217は、MLN保持部211で保持されているMLNと、リンクデータベース114に登録されている1以上のリンク情報とに基づいて、ノードの総リンク数がMLN以上であるか否かを判定する。判定した結果に応じて、下記の処理(1),(2)のいずれかを実行する(S204)。   Based on the MLN held by the MLN holding unit 211 and one or more link information registered in the link database 114, the overlay network construction unit 217 determines whether the total number of links of the node is greater than or equal to the MLN. Determine. Depending on the result of the determination, one of the following processes (1) and (2) is executed (S204).

(1)ノードの総リンク数がMLN以上である場合は(S204:Yes)、オーバレイネットワーク構築部217は、ノードに新たに配置されたコンポーネントが特定されるコンポーネント識別情報を削除対象選出部231に渡し、削除対象選出処理を実行する(S205)。削除対象選出部231から削除対象リンク情報を受け取る。受け取った削除対象リンク情報に応じて、下記の処理(1a),(1b)のいずれかを実行する(S206)。   (1) When the total number of links of the node is greater than or equal to MLN (S204: Yes), the overlay network construction unit 217 sends the component identification information for identifying the component newly arranged in the node to the deletion target selection unit 231. The deletion target selection process is executed (S205). The deletion target link information is received from the deletion target selection unit 231. Depending on the received deletion target link information, one of the following processes (1a) and (1b) is executed (S206).

(1a)受け取った削除対象リンク情報がヌル情報である場合、すなわち、削除対象となるリンクが存在しない場合は(S206:Yes)、リンク形成処理を終了する。   (1a) When the received deletion target link information is null information, that is, when there is no deletion target link (S206: Yes), the link formation process is terminated.

(1b)受け取った削除対象リンク情報がヌル情報でない場合、すなわち、削除対象となるリンクが存在する場合は(S206:No)、オーバレイネットワーク構築部217は、受け取った削除対象リンク情報をリンク元削除部241に渡し、リンク元削除処理を実行する(S207)。リンク元削除部241から削除失敗通知を受け取ると(S208:Yes)、リンク形成処理を終了する。リンク元削除部241から削除成功通知を受け取ると(S208:No)、リンク形成処理を再度実行する(S204)。   (1b) If the received deletion target link information is not null information, that is, if there is a link to be deleted (S206: No), the overlay network construction unit 217 deletes the received deletion target link information as the link source deletion Then, the link source deletion process is executed (S207). When a deletion failure notification is received from the link source deletion unit 241 (S208: Yes), the link formation process is terminated. When a deletion success notification is received from the link source deletion unit 241 (S208: No), the link formation process is executed again (S204).

(2)ノードの総リンク数がMLN以上でない場合は(S204:No)、オーバレイネットワーク構築部217は、ノードに新たに配置されたコンポーネントが特定されるコンポーネント識別情報を追加対象選出部251に渡し、追加対象選出処理を実行する(S209)。追加対象選出部251から追加対象リンク情報を受け取る。受け取った追加対象リンク情報に応じて、下記の処理(2a),(2b)のいずれかを実行する(S210)。   (2) When the total link number of the node is not equal to or greater than MLN (S204: No), the overlay network construction unit 217 passes the component identification information for identifying the component newly arranged in the node to the addition target selection unit 251 Then, the addition target selection process is executed (S209). The addition target link information is received from the addition target selection unit 251. One of the following processes (2a) and (2b) is executed according to the received addition target link information (S210).

(2a)受け取った追加対象リンク情報がヌル情報である場合、すなわち、追加対象となるリンクが存在しない場合は(S210:Yes)、リンク形成処理を終了する。   (2a) When the received addition target link information is null information, that is, when there is no link to be added (S210: Yes), the link formation process is terminated.

(2b)受け取った追加対象リンク情報がヌル情報でない場合、すなわち、追加対象となるリンクが存在する場合は(S210:No)、オーバレイネットワーク構築部217は、受け取った追加対象リンク情報をリンク元追加部261に渡し、リンク元追加処理を実行する(S211)。リンク元追加部261から追加失敗通知を受け取ると(S212:Yes)、リンク形成処理を終了する。リンク元追加部261から追加成功通知を受け取ると(S212:No)、リンク形成処理を再度実行する(S204)。   (2b) When the received addition target link information is not null information, that is, when there is a link to be added (S210: No), the overlay network construction unit 217 adds the received addition target link information to the link source. Then, the link source addition process is executed (S211). When an addition failure notification is received from the link source adding unit 261 (S212: Yes), the link formation process is terminated. When an addition success notification is received from the link source adding unit 261 (S212: No), the link formation process is executed again (S204).

<削除対象選出処理>
次に、本実施の形態におけるリンク元のノードで実行される削除対象選出処理について説明する。
<Selection process for deletion>
Next, the deletion target selection process executed in the link source node in the present embodiment will be described.

図28は、本実施の形態におけるリンク元のノードで実行される削除対象選出処理を示す図である。図28に示されるように、削除対象選出部231は、オーバレイネットワーク構築部217からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報がリンク元情報に含まれるリンク情報を、リンクデータベース114に登録されている1以上のリンク情報の中から全て選出する(S221)。選出した1以上のリンク情報と、期待値算出部216で算出された期待値とに基づいて、受け取ったコンポーネント識別情報によって特定されるコンポーネントのリンク数が期待値以上であるか否かを判定する(S222)。判定した結果、リンク数が期待値以上である場合は(S222:Yes)、ヌル情報を削除対象リンク情報としてオーバレイネットワーク構築部217に渡す(S223)。一方、期待値以上でない場合は(S222:No)、下記の削除対象リンク選出処理(S224)〜(S231)を実行する。   FIG. 28 is a diagram showing a deletion target selection process executed at the link source node in the present embodiment. As illustrated in FIG. 28, the deletion target selection unit 231 receives component identification information from the overlay network construction unit 217. All the link information in which the received component identification information is included in the link source information is selected from one or more link information registered in the link database 114 (S221). Based on the selected one or more link information and the expected value calculated by the expected value calculation unit 216, it is determined whether or not the number of links of the component specified by the received component identification information is greater than or equal to the expected value. (S222). As a result of the determination, if the number of links is greater than or equal to the expected value (S222: Yes), the null information is passed to the overlay network construction unit 217 as deletion target link information (S223). On the other hand, if the expected value is not exceeded (S222: No), the following deletion target link selection processing (S224) to (S231) is executed.

削除対象選出部231は、自ノードが特定されるノード識別情報を削除対象リンク元選出部232に渡し、削除対象となるリンク元を選出する(S224)。削除対象リンク元選出部232からリンク元情報を受け取る。受け取ったコンポーネント識別情報を削除対象リンク先選出部234に渡し、削除対象となるリンク先を選出する(S225)。削除対象リンク先選出部234からリンク先情報を受け取る。受け取ったリンク元情報と、受け取ったリンク先情報とを含むリンク情報を生成する(S226)。受け取ったリンク元情報に応じて、下記の処理(1),(2)のいずれかを実行する(S227)。   The deletion target selection unit 231 passes the node identification information for identifying the own node to the deletion target link source selection unit 232, and selects a link source to be deleted (S224). The link source information is received from the deletion target link source selection unit 232. The received component identification information is transferred to the deletion target link destination selection unit 234, and a link destination to be deleted is selected (S225). Link destination information is received from the deletion target link destination selection unit 234. Link information including the received link source information and the received link destination information is generated (S226). Depending on the received link source information, one of the following processes (1) and (2) is executed (S227).

(1)受け取ったリンク元情報がヌル情報である場合、すなわち、リンク元が存在しない場合は(S227:Yes)、削除対象選出部231は、リンク数順位情報を「1番多い」が示される値に設定する(S228)。ヌル情報を削除対象リンク情報としてオーバレイネットワーク構築部217に渡す(S223)。   (1) When the received link source information is null information, that is, when the link source does not exist (S227: Yes), the deletion target selection unit 231 indicates that the number-of-links rank information is “the most”. A value is set (S228). Null information is transferred to the overlay network construction unit 217 as deletion target link information (S223).

(2)受け取ったリンク元情報がヌル情報でない場合、すなわち、リンク元が存在する場合は(S227:No)、削除対象選出部231は、リンク数順位情報を「次に多い」が示される値に設定する(S229)。受け取ったリンク先情報に応じて、下記の処理(2a),(2b)のいずれかを実行する(S230)。   (2) When the received link source information is not null information, that is, when there is a link source (S227: No), the deletion target selection unit 231 indicates that the link number rank information is “next highest”. (S229). Depending on the received link destination information, one of the following processes (2a) and (2b) is executed (S230).

(2a)受け取ったリンク先情報がヌル情報である場合、すなわち、リンク先が存在しない場合は(S230:Yes)、削除対象選出部231は、上記の削除対象リンク選出処理から再度実行する(S224)。   (2a) When the received link destination information is null information, that is, when there is no link destination (S230: Yes), the deletion target selection unit 231 executes again from the deletion target link selection process (S224). ).

(2b)受け取ったリンク先情報がヌル情報でない場合、すなわち、リンク先が存在する場合は(S230:No)、削除対象選出部231は、生成したリンク情報を削除対象リンク情報としてオーバレイネットワーク構築部217に渡す(S231)。   (2b) When the received link destination information is not null information, that is, when there is a link destination (S230: No), the deletion target selection unit 231 uses the generated link information as the deletion target link information as an overlay network construction unit. It is passed to 217 (S231).

<リンク元削除処理>
次に、本実施の形態におけるリンク元のノードで実行されるリンク元削除処理について説明する。
<Link source deletion processing>
Next, the link source deletion process executed in the link source node in the present embodiment will be described.

図29は、本実施の形態におけるリンク元のノードで実行されるリンク元削除処理を示す図である。図29に示されるように、リンク元削除部241は、オーバレイネットワーク構築部217から削除対象リンク情報を受け取る。受け取った削除対象リンク情報をリンク削除要求送信部244に渡し、削除対象となるリンク先のノードにリンク先削除処理を実行させる(S241)。リンク削除応答受信部245から削除確定リンク情報を受け取る。受け取った削除確定リンク情報に応じて、下記の処理(1),(2)のいずれかを実行する(S242)。   FIG. 29 is a diagram showing link source deletion processing executed at the link source node in the present embodiment. As illustrated in FIG. 29, the link source deletion unit 241 receives deletion target link information from the overlay network construction unit 217. The received deletion target link information is passed to the link deletion request transmission unit 244, and the link destination deletion process is executed by the link destination node to be deleted (S241). The deletion confirmation link information is received from the link deletion response receiving unit 245. Depending on the received deletion confirmation link information, one of the following processes (1) and (2) is executed (S242).

(1)受け取った削除確定リンク情報がヌル情報である場合、すなわち、削除対象となるリンクが存在しない場合は(S242:Yes)、リンク元削除部241は、削除失敗通知をオーバレイネットワーク構築部217に渡す(S243)。   (1) When the received deletion confirmation link information is null information, that is, when there is no link to be deleted (S242: Yes), the link source deletion unit 241 sends a deletion failure notification to the overlay network construction unit 217. (S243).

(2)受け取った削除確定リンク情報がヌル情報でない場合、すなわち、削除対象となるリンクが存在する場合は(S242:No)、リンク元削除部241は、受け取った削除確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報から削除する(S244)。削除成功通知をオーバレイネットワーク構築部217に渡す(S245)。   (2) When the received deletion confirmation link information is not null information, that is, when there is a link to be deleted (S242: No), the link source deletion unit 241 stores the received deletion confirmation link information in the link database. It deletes from one or more link information registered into 114 (S244). A deletion success notification is passed to the overlay network construction unit 217 (S245).

<リンク先削除処理>
次に、本実施の形態におけるリンク先のノードで実行されるリンク先削除処理について説明する。
<Link destination deletion processing>
Next, the link destination deletion process executed at the link destination node in the present embodiment will be described.

図30は、本実施の形態におけるリンク先のノードで実行されるリンク先削除処理を示す図である。図30に示されるように、リンク先削除部242は、リンク削除要求受信部246から削除対象リンク情報を受け取る。受け取った削除対象リンク情報をリンク削除確定部243に渡し、削除対象となるリンクを確定する(S251)。リンク削除確定部243から削除確定リンク情報を受け取る。受け取った削除確定リンク情報がヌル情報である場合は(S252:Yes)、受け取った削除確定リンク情報をリンク削除応答送信部247に渡す(S253)。一方、受け取った削除確定リンク情報がヌル情報でない場合は(S252:No)、受け取った削除確定リンク情報のリンク先情報に含まれるコンポーネント識別情報に基づいて、リンク先のノードに配置されている1以上のコンポーネントの中から、リンク元のコンポーネントと同一の機能を有するリンク先のコンポーネントを特定する(S254)。LLN保持部212で保持されているLLNと、リンクデータベース114に登録されている1以上のリンク情報とに基づいて、特定したリンク先のコンポーネントのリンク数がLLN以下であるか否かを判定する。判定した結果に応じて、下記の処理(1),(2)のいずれかを実行する(S255)。   FIG. 30 is a diagram showing link destination deletion processing executed at the link destination node in the present embodiment. As illustrated in FIG. 30, the link destination deletion unit 242 receives the deletion target link information from the link deletion request reception unit 246. The received deletion target link information is passed to the link deletion determination unit 243, and the link to be deleted is determined (S251). Deletion confirmation link information is received from the link deletion confirmation unit 243. When the received deletion confirmation link information is null information (S252: Yes), the received deletion confirmation link information is passed to the link deletion response transmission unit 247 (S253). On the other hand, if the received deletion confirmation link information is not null information (S252: No), 1 is arranged in the link destination node based on the component identification information included in the link destination information of the received deletion confirmation link information. Among the above components, a link destination component having the same function as the link source component is specified (S254). Based on the LLN held in the LLN holding unit 212 and one or more link information registered in the link database 114, it is determined whether or not the number of links of the identified link destination component is LLN or less. . One of the following processes (1) and (2) is executed according to the determined result (S255).

(1)特定したリンク先のコンポーネントのリンク数がLLN以下である場合は(S255:Yes)、リンク先削除部242は、ヌル情報を削除確定リンク情報としてリンク削除応答送信部247に渡す(S253)。   (1) When the number of links of the identified link destination component is LLN or less (S255: Yes), the link destination deletion unit 242 passes the null information to the link deletion response transmission unit 247 as deletion confirmed link information (S253). ).

(2)特定したリンク先のコンポーネントのリンク数がLLN以下でない場合は(S255:No)、リンク先削除部242は、受け取った削除確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報から削除する(S256)。受け取った削除確定リンク情報をリンク削除応答送信部247に渡す(S257)。   (2) When the number of links of the identified link destination component is not less than or equal to LLN (S255: No), the link destination deletion unit 242 uses the received deletion confirmation link information as one or more registered in the link database 114. It deletes from link information (S256). The received deletion confirmation link information is transferred to the link deletion response transmission unit 247 (S257).

<追加対象選出処理>
次に、本実施の形態におけるリンク元のノードで実行される追加対象選出処理について説明する。
<Additional selection process>
Next, an addition target selection process executed at the link source node in the present embodiment will be described.

図31は、本実施の形態におけるリンク元のノードで実行される追加対象選出処理を示す図である。図31に示されるように、追加対象選出部251は、オーバレイネットワーク構築部217からコンポーネント識別情報を受け取る。受け取ったコンポーネント識別情報と、自ノードが特定されるノード識別情報とを含むリンク元情報を生成し、追加対象となるリンク元を設定する(S261)。受け取ったコンポーネント識別情報を追加対象リンク先選出部252に渡し、追加対象となるリンク先を選出する(S262)。追加対象リンク先選出部252からリンク先情報を受け取る。生成したリンク元情報と、受け取ったリンク先情報とを含むリンク情報を生成する(S263)。受け取ったリンク先情報に応じて、下記の処理(1),(2)のいずれかを実行する(S264)。   FIG. 31 is a diagram showing an addition target selection process executed by the link source node in the present embodiment. As illustrated in FIG. 31, the addition target selection unit 251 receives component identification information from the overlay network construction unit 217. Link source information including the received component identification information and node identification information for identifying the own node is generated, and a link source to be added is set (S261). The received component identification information is passed to the addition target link destination selection unit 252 to select a link target to be added (S262). Link destination information is received from the addition target link destination selection unit 252. Link information including the generated link source information and the received link destination information is generated (S263). Depending on the received link destination information, one of the following processes (1) and (2) is executed (S264).

(1)受け取ったリンク先情報がヌル情報である場合、すなわち、リンク先が存在しない場合は(S264:Yes)、追加対象選出部251は、ネットワーク距離順位情報を「1番近い」が示される値に設定する(S265)。ヌル情報を追加対象リンク情報としてオーバレイネットワーク構築部217に渡す(S266)。   (1) When the received link destination information is null information, that is, when there is no link destination (S264: Yes), the addition target selection unit 251 indicates that the network distance rank information is “closest to the first”. A value is set (S265). Null information is passed to the overlay network construction unit 217 as additional target link information (S266).

(2)受け取ったリンク先情報がヌル情報でない場合、すなわち、リンク先が存在する場合は(S264:No)、追加対象選出部251は、ネットワーク距離順位情報を「次に近い」が示される値に設定する(S267)。生成したリンク情報を追加対象リンク情報としてオーバレイネットワーク構築部217に渡す(S268)。   (2) When the received link destination information is not null information, that is, when a link destination exists (S264: No), the addition target selection unit 251 indicates that the network distance rank information is “closest next”. (S267). The generated link information is transferred as addition target link information to the overlay network construction unit 217 (S268).

<リンク元追加処理>
次に、本実施の形態におけるリンク元のノードで実行されるリンク元追加処理について説明する。
<Link source addition processing>
Next, the link source addition process executed at the link source node in the present embodiment will be described.

図32は、本実施の形態におけるリンク元のノードで実行されるリンク元追加処理を示す図である。図32に示されるように、リンク元追加部261は、オーバレイネットワーク構築部217から追加対象リンク情報を受け取る。受け取った追加対象リンク情報をリンク追加要求送信部264に渡し、追加対象となるリンク先のノードにリンク先追加処理を実行させる(S281)。リンク追加応答受信部265から追加確定リンク情報を受け取る。受け取った追加確定リンク情報に応じて、下記の処理(1),(2)のいずれかを実行する(S282)。   FIG. 32 is a diagram showing link source addition processing executed at the link source node in the present embodiment. As illustrated in FIG. 32, the link source adding unit 261 receives the addition target link information from the overlay network construction unit 217. The received addition target link information is passed to the link addition request transmission unit 264, and the link destination node to be added is caused to execute link destination addition processing (S281). The addition confirmed link information is received from the link addition response receiving unit 265. One of the following processes (1) and (2) is executed according to the received additional confirmation link information (S282).

(1)受け取った追加確定リンク情報がヌル情報である場合、すなわち、追加対象となるリンクが存在しない場合は(S282:Yes)、追加失敗通知をオーバレイネットワーク構築部217に渡す(S283)。   (1) When the received addition confirmation link information is null information, that is, when there is no link to be added (S282: Yes), an addition failure notification is passed to the overlay network construction unit 217 (S283).

(2)受け取った追加確定リンク情報がヌル情報でない場合、すなわち、追加対象となるリンクが存在する場合は(S282:No)、受け取った追加確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報に追加する(S284)。追加成功通知をオーバレイネットワーク構築部217に渡す(S285)。   (2) When the received additional confirmed link information is not null information, that is, when there is a link to be added (S282: No), the received additional confirmed link information is registered in the link database 114 1 It adds to the above link information (S284). The addition success notification is passed to the overlay network construction unit 217 (S285).

<リンク先追加処理>
次に、本実施の形態におけるリンク先のノードで実行されるリンク先追加処理について説明する。
<Link destination addition processing>
Next, link destination addition processing executed at the link destination node in the present embodiment will be described.

図33は、本実施の形態におけるリンク先のノードで実行されるリンク先追加処理を示す図である。図33に示されるように、リンク先追加部262は、リンク追加要求受信部266から追加対象リンク情報を受け取る。受け取った追加対象リンク情報をリンク追加確定部263に渡し、追加対象となるリンクを確定する(S291)。リンク追加確定部263から追加確定リンク情報を受け取る。受け取った追加確定リンク情報がヌル情報である場合、すなわち、追加対象となるリンクが存在しない場合は(S292:Yes)、ヌル情報を追加確定リンク情報としてリンク追加応答送信部267に渡す(S293)。一方、受け取った追加確定リンク情報がヌル情報でない場合、すなわち、追加対象となるリンクが存在する場合は(S292:No)、MLN保持部211で保持されているMLNと、リンクデータベース114に登録されている1以上のリンク情報とに基づいて、ノードの総リンク数がMLN以上であるか否かを判定する。判定した結果に応じて、下記の処理(1),(2)のいずれかを実行する(S294)。   FIG. 33 is a diagram showing link destination addition processing executed at the link destination node in the present embodiment. As illustrated in FIG. 33, the link destination adding unit 262 receives the addition target link information from the link addition request receiving unit 266. The received addition target link information is passed to the link addition confirmation unit 263, and the link to be added is confirmed (S291). The addition confirmation link information is received from the link addition confirmation unit 263. When the received additional confirmed link information is null information, that is, when there is no link to be added (S292: Yes), the null information is passed to the link addition response transmission unit 267 as additional confirmed link information (S293). . On the other hand, when the received addition confirmed link information is not null information, that is, when there is a link to be added (S292: No), the MLN held in the MLN holding unit 211 and the link database 114 are registered. Whether or not the total number of links of the node is greater than or equal to MLN is determined based on the one or more link information. One of the following processes (1) and (2) is executed according to the determined result (S294).

(1)ノードの総リンク数がMLN以上である場合は(S294:Yes)、リンク先追加部262は、受け取った追加確定リンク情報のリンク先情報に含まれるコンポーネント識別情報を削除対象選出部231に渡し、削除対象選出処理を実行する(S295)。削除対象選出部231から削除対象リンク情報を受け取る。受け取った削除対象リンク情報に応じて、下記の処理(1a),(1b)のいずれかを実行する(S296)。   (1) When the total number of links of the node is greater than or equal to MLN (S294: Yes), the link destination adding unit 262 deletes the component identification information included in the link destination information of the received addition confirmed link information as the deletion target selecting unit 231. The deletion target selection process is executed (S295). The deletion target link information is received from the deletion target selection unit 231. Depending on the received deletion target link information, one of the following processes (1a) and (1b) is executed (S296).

(1a)受け取った削除対象リンク情報がヌル情報である場合、すなわち、削除対象となるリンクが存在しない場合は(S296:Yes)、リンク先追加部262は、ヌル情報を追加確定リンク情報としてリンク追加応答送信部267に渡す(S293)。   (1a) When the received deletion target link information is null information, that is, when there is no link to be deleted (S296: Yes), the link destination adding unit 262 links the null information as additional confirmed link information. It passes to the additional response transmission part 267 (S293).

(1b)受け取った削除対象リンク情報がヌル情報でない場合、すなわち、削除対象となるリンクが存在する場合は(S296:No)、リンク先追加部262は、受け取った削除対象リンク情報をリンク元削除部241に渡し、リンク元削除処理を実行する(S297)。リンク元削除部241から削除失敗通知を受け取ると(S298:Yes)、ヌル情報を追加確定リンク情報としてリンク追加応答送信部267に渡す(S293)。リンク元削除部241から削除成功通知を受け取ると(S298:No)、受け取った追加確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報に追加する(S299)。受け取った追加確定リンク情報をリンク追加応答送信部267に渡す(S300)。   (1b) When the received deletion target link information is not null information, that is, when there is a link to be deleted (S296: No), the link destination adding unit 262 deletes the received deletion target link information as the link source deletion The link source deletion process is executed (S297). When a deletion failure notification is received from the link source deletion unit 241 (S298: Yes), null information is passed to the link addition response transmission unit 267 as additional confirmed link information (S293). When a deletion success notification is received from the link source deletion unit 241 (S298: No), the received addition confirmation link information is added to one or more link information registered in the link database 114 (S299). The received addition confirmation link information is passed to the link addition response transmission unit 267 (S300).

(2)ノードの総リンク数がMLN以上でない場合は(S294:No)、リンク先追加部262は、受け取った追加確定リンク情報を、リンクデータベース114に登録されている1以上のリンク情報に追加する(S299)。受け取った追加確定リンク情報をリンク追加応答送信部267に渡す(S300)。   (2) When the total number of links of the node is not greater than or equal to MLN (S294: No), the link destination adding unit 262 adds the received addition confirmed link information to one or more link information registered in the link database 114 (S299). The received addition confirmation link information is passed to the link addition response transmission unit 267 (S300).

<シーケンス>
次に、本実施の形態におけるオーバレイネットワークの構築時におけるノード間のシーケンスについて説明する。ここでは、一例として、図8〜図11に示されるように、新たにコンポーネントb4がノード4に配置された場合について、ノード間の相互作用について説明する。
<Sequence>
Next, the sequence between nodes at the time of construction of the overlay network in the present embodiment will be described. Here, as an example, the interaction between nodes will be described in the case where a component b4 is newly arranged in the node 4 as shown in FIGS.

なお、物理ネットワークにおいて、ノード4から近い順で、ノード1、ノード2、ノード5、ノード3が配置されているものとする。   In the physical network, it is assumed that node 1, node 2, node 5, and node 3 are arranged in the order closer to node 4.

図34〜図36は、本実施の形態におけるオーバレイネットワークの構築時におけるノード間のシーケンスを示す図である。図34に示されるように、この場合において、ノード104は、リンク追加処理時に、下記の処理(1)〜(4)を実行する。   34 to 36 are diagrams showing a sequence between nodes at the time of constructing the overlay network in the present embodiment. As shown in FIG. 34, in this case, the node 104 executes the following processes (1) to (4) during the link addition process.

(1)ノード104は、コンポーネントb1が配置されているノード101に、コンポーネントb4とコンポーネントb1との間でリンクを形成することを要求するリンク追加要求メッセージを送信する(S311)。これに対して、ノード101は、リンク追加要求メッセージをノード104から受信すると、リンク先追加処理を実行する。実行した結果、ノード101に設定された総リンク数の上限値を上回らないことから、コンポーネントb4とコンポーネントb1との間でリンクを形成したことが示されるリンク追加応答メッセージをノード104に送信する(S312)。ノード104は、リンク追加応答メッセージをノード101から受信する。   (1) The node 104 transmits a link addition request message for requesting to form a link between the component b4 and the component b1 to the node 101 where the component b1 is arranged (S311). In contrast, when the node 101 receives the link addition request message from the node 104, the node 101 executes link destination addition processing. As a result of the execution, since the upper limit value of the total number of links set in the node 101 is not exceeded, a link addition response message indicating that a link is formed between the component b4 and the component b1 is transmitted to the node 104 ( S312). The node 104 receives the link addition response message from the node 101.

(2)ノード104は、コンポーネントb2が配置されているノード102に、コンポーネントb4とコンポーネントb2との間でリンクを形成することを要求するリンク追加要求メッセージを送信する(S313)。これに対して、ノード102は、リンク追加要求メッセージをノード104から受信すると、リンク先追加処理を実行する。実行した結果、ノード102に設定された総リンク数の上限値を上回らないことから、コンポーネントb4とコンポーネントb2との間でリンクを形成したことが示されるリンク追加応答メッセージをノード104に送信する(S314)。ノード104は、リンク追加応答メッセージをノード102から受信する。   (2) The node 104 transmits a link addition request message requesting to form a link between the component b4 and the component b2 to the node 102 where the component b2 is arranged (S313). In contrast, when the node 102 receives the link addition request message from the node 104, the node 102 executes link destination addition processing. As a result of the execution, since the upper limit value of the total number of links set in the node 102 is not exceeded, a link addition response message indicating that a link has been formed between the component b4 and the component b2 is transmitted to the node 104 ( S314). The node 104 receives the link addition response message from the node 102.

(3)ノード104は、コンポーネントb5が配置されているノード105に、コンポーネントb4とコンポーネントb5との間でリンクを形成することを要求するリンク追加要求メッセージを送信する(S315)。これに対して、ノード105は、リンク追加要求メッセージをノード104から受信すると、リンク先追加処理を実行する。実行した結果、ノード105に設定された総リンク数の上限値を上回ることから、他のリンクを削除することを試みる。   (3) The node 104 transmits a link addition request message for requesting to form a link between the component b4 and the component b5 to the node 105 where the component b5 is arranged (S315). On the other hand, when the node 105 receives the link addition request message from the node 104, the node 105 executes link destination addition processing. As a result of the execution, the upper limit of the total number of links set in the node 105 is exceeded, so an attempt is made to delete another link.

このとき、図35に示されるように、ノード105は、削除対象選出処理時に、下記の処理(3a)〜(3c)を個別に実行する。   At this time, as shown in FIG. 35, the node 105 individually executes the following processes (3a) to (3c) during the deletion target selection process.

(3a)ノード105は、コンポーネントb1が配置されているノード101に、コンポーネントb1のリンク数の照会を要求するリンク数情報照会要求メッセージを送信する(S321)。これに対して、ノード101は、リンク数情報照会要求メッセージをノード105から受信すると、コンポーネントb1のリンク数を算出し、算出したリンク数(4本)を含むリンク数情報照会応答メッセージをノード105に送信する(S324)。ノード105は、リンク数情報照会応答メッセージをノード101から受信する。   (3a) The node 105 transmits a link number information inquiry request message for requesting an inquiry about the number of links of the component b1 to the node 101 where the component b1 is arranged (S321). On the other hand, when the node 101 receives the link number information inquiry request message from the node 105, the node 101 calculates the link number of the component b1, and sends a link number information inquiry response message including the calculated link number (four) to the node 105. (S324). The node 105 receives the link number information inquiry response message from the node 101.

(3b)ノード105は、コンポーネントb2が配置されているノード102に、コンポーネントb2のリンク数の照会を要求するリンク数情報照会要求メッセージを送信する(S322)。これに対して、ノード102は、リンク数情報照会要求メッセージをノード105から受信すると、コンポーネントb2のリンク数を算出し、算出したリンク数(3本)を含むリンク数情報照会応答メッセージをノード105に送信する(S325)。ノード105は、リンク数情報照会応答メッセージをノード102から受信する。   (3b) The node 105 transmits a link number information inquiry request message for requesting an inquiry about the number of links of the component b2 to the node 102 in which the component b2 is arranged (S322). On the other hand, when the node 102 receives the link number information inquiry request message from the node 105, the node 102 calculates the link number of the component b2, and sends a link number information inquiry response message including the calculated link number (three) to the node 105. (S325). The node 105 receives the link number information inquiry response message from the node 102.

(3c)ノード105は、コンポーネントb3が配置されているノード103に、コンポーネントb3のリンク数の照会を要求するリンク数情報照会要求メッセージを送信する(S323)。これに対して、ノード103は、リンク数情報照会要求メッセージをノード105から受信すると、コンポーネントb3のリンク数を算出し、算出したリンク数(2本)を含むリンク数情報照会応答メッセージをノード105に送信する(S326)。ノード105は、リンク数情報照会応答メッセージをノード103から受信する。   (3c) The node 105 transmits a link number information inquiry request message for requesting an inquiry about the number of links of the component b3 to the node 103 where the component b3 is arranged (S323). On the other hand, when the node 103 receives the link number information inquiry request message from the node 105, the node 103 calculates the link number of the component b3, and sends a link number information inquiry response message including the calculated link number (two) to the node 105. (S326). The node 105 receives the link number information inquiry response message from the node 103.

そして、ノード105は、コンポーネントb1のリンク数(4本)、コンポーネントb2のリンク数(3本)、コンポーネントb3のリンク数(2本)をリンク数情報記憶部213にリンク先ごとに記憶する。削除対象としてリンク数が1番多いコンポーネントb1を選出する。   The node 105 stores the number of links of the component b1 (4), the number of links of the component b2 (3), and the number of links of the component b3 (2) in the link number information storage unit 213 for each link destination. The component b1 with the largest number of links is selected as a deletion target.

さらに、図36に示されるように、ノード105は、コンポーネントb1が配置されているノード101に、コンポーネントb5とコンポーネントb1との間で形成されたリンクを削除することを要求するリンク削除要求メッセージを送信する(S331)。これに対して、ノード101は、リンク削除要求メッセージをノード105から受信すると、リンク先削除処理を実行する。実行した結果、ノード101に設定されたリンク数の下限値を下回らないことから、コンポーネントb5とコンポーネントb1との間で形成されたリンクを削除したことを示すリンク削除応答メッセージをノード105に送信する(S332)。ノード105は、リンク削除応答メッセージを101から受信する。   Further, as shown in FIG. 36, the node 105 sends a link deletion request message requesting the node 101 where the component b1 is arranged to delete the link formed between the component b5 and the component b1. Transmit (S331). In contrast, when the node 101 receives a link deletion request message from the node 105, the node 101 executes link destination deletion processing. As a result of the execution, the link deletion response message indicating that the link formed between the component b5 and the component b1 has been deleted is transmitted to the node 105 because it does not fall below the lower limit of the number of links set in the node 101. (S332). The node 105 receives the link deletion response message from 101.

これに伴い、ノード105は、ノード105に設定された総リンク数の上限値を上回らないことから、コンポーネントb4とコンポーネントb5との間でリンクを形成したことが示されるリンク追加応答メッセージをノード104に送信する(S316)。ノード104は、リンク追加応答メッセージをノード105から受信する。   Accordingly, since the node 105 does not exceed the upper limit value of the total number of links set in the node 105, a link addition response message indicating that a link is formed between the component b4 and the component b5 is sent to the node 104. (S316). The node 104 receives the link addition response message from the node 105.

(4)ノード104は、コンポーネントb3が配置されているノード103に、コンポーネントb1とコンポーネントb3との間でリンクを形成することを要求するリンク追加要求メッセージを送信する(S317)。これに対して、ノード103は、リンク追加要求メッセージをノード104から受信すると、リンク先追加処理を実行する。実行した結果、ノード103に設定された総リンク数の上限値を上回らないことから、コンポーネントb4とコンポーネントb3との間でリンクを形成したことが示されるリンク追加応答メッセージをノード104に送信する(S318)。ノード104は、リンク追加応答メッセージをノード103から受信する。   (4) The node 104 transmits a link addition request message requesting to form a link between the component b1 and the component b3 to the node 103 where the component b3 is arranged (S317). On the other hand, when the node 103 receives the link addition request message from the node 104, the node 103 executes link destination addition processing. As a result of the execution, since the upper limit value of the total number of links set in the node 103 is not exceeded, a link addition response message indicating that a link has been formed between the component b4 and the component b3 is transmitted to the node 104 ( S318). The node 104 receives the link addition response message from the node 103.

<まとめ>
以上、本実施の形態におけるWebサービスシステムによれば、コンポーネントが追加されたり、削除されたりしても、各ノードが連携して動的にオーバレイネットワークを構築することができる。また、自律分散処理を基本とするため、単一故障点が存在せず、複数の障害に対する耐性を有している。
<Summary>
As described above, according to the Web service system in the present embodiment, even if components are added or deleted, an overlay network can be dynamically constructed in cooperation with each node. Moreover, since it is based on autonomous distributed processing, there is no single point of failure and it has resistance against a plurality of failures.

(その他)
なお、ノード101、またはノード201などは、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、ネットワークアダプタなどを備えるとしてもよい。さらに、HDDなどに、ノード101、またはノード201などを制御するプログラム(以下、「ノード制御プログラム」と呼称する。)がインストールされており、ノード制御プログラムが実行されることによって、ノード101、またはノード201などの各機能が実現されるとしてもよい。
(Other)
The node 101 or the node 201 may include a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), a HDD (Hard Disk Drive), a network adapter, and the like. Further, a program for controlling the node 101 or the node 201 (hereinafter referred to as “node control program”) is installed in the HDD or the like, and the node 101 or the Each function such as the node 201 may be realized.

なお、ノード101、またはノード201などは、デジタルビデオカメラ、デジタルレコーダ、デジタルテレビ、ゲーム機、ホームサーバ、IP電話機、携帯電話機などのような組み込みシステムとしてもよい。   Note that the node 101, the node 201, or the like may be an embedded system such as a digital video camera, a digital recorder, a digital television, a game machine, a home server, an IP phone, or a mobile phone.

また、ノード101、またはノード201などは、複数のコンピュータシステムによって構成されているとしてもよい。この場合において、CORBA、DCOM、SOAPなどに基づいて、複数のコンピュータシステムに分散されたノード101、またはノード201などの各機能間でメッセージ通信が行われるとしてもよい。   In addition, the node 101, the node 201, or the like may be configured by a plurality of computer systems. In this case, message communication may be performed between each function such as the node 101 or the node 201 distributed in a plurality of computer systems based on CORBA, DCOM, SOAP, and the like.

また、ノード101、またはノード201などは、Webサーバとデータベースサーバとから構成されているとしてもよい。この場合において、少なくともコンポーネント実行処理部120、効用情報生成処理部130、代替コンポーネント探索処理部140、効用情報伝達処理部150、オーバレイネットワーク構築処理部210などがWebサーバにおいて実現されるとしてもよい。また、コンポーネントデータベース112、ノードデータベース113、リンクデータベース114などがデータベースサーバにおいて実現されるとしてもよい。さらに、WebサーバからデータベースサーバへのアクセスにODBC(Open DataBase Connectivity)やJDBC(Java(登録商標) DataBase Connectivity)などを用いるとしてもよい。   Further, the node 101, the node 201, or the like may be configured by a Web server and a database server. In this case, at least the component execution processing unit 120, the utility information generation processing unit 130, the alternative component search processing unit 140, the utility information transmission processing unit 150, the overlay network construction processing unit 210, and the like may be realized in the Web server. Further, the component database 112, the node database 113, the link database 114, and the like may be realized in the database server. Further, an ODBC (Open DataBase Connectivity) or a JDBC (Java (registered trademark) DataBase Connectivity) may be used for accessing the database server from the Web server.

また、RFC(Request for Comments)2246において規定されているTLS(Transport Layer Security)に基づいて、ノード101、またはノード201などと各アプリケーションサーバ間とでセキュリティ通信が行われるとしてもよい。また、XML暗号化(http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/)に基づいて、データを暗号化し、暗号化したデータを送受信することで、セキュリティ通信が行われるとしてもよい。   Further, based on TLS (Transport Layer Security) defined in RFC (Request for Comments) 2246, security communication may be performed between the node 101 or the node 201 and each application server. In addition, based on XML encryption (http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/), data is encrypted, and the encrypted data is sent and received for security communication. May be performed.

なお、アプリケーションサーバ106は、CPU、RAM、ROM、HDD、ネットワークアダプタなどを備えるとしてもよい。さらに、HDDなどに、アプリケーションサーバ106を制御するプログラム(以下、「アプリケーションサーバ制御プログラム」と呼称する。)がインストールされており、アプリケーションサーバ制御プログラムが実行されることによって、アプリケーションサーバ106の各機能が実現されるとしてもよい。   The application server 106 may include a CPU, RAM, ROM, HDD, network adapter, and the like. Further, a program for controlling the application server 106 (hereinafter referred to as “application server control program”) is installed in the HDD or the like, and each function of the application server 106 is executed by executing the application server control program. May be realized.

なお、アプリケーションサーバ106は、デジタルビデオカメラ、デジタルレコーダ、デジタルテレビ、ゲーム機、ホームサーバ、IP電話機、携帯電話機などのような組み込みシステムとしてもよい。   Note that the application server 106 may be an embedded system such as a digital video camera, a digital recorder, a digital TV, a game machine, a home server, an IP phone, a mobile phone, or the like.

また、アプリケーションサーバ106は、複数のコンピュータシステムによって構成されているとしてもよい。この場合において、CORBA、DCOM、SOAPなどに基づいて、複数のコンピュータシステムに分散されたアプリケーションサーバ106の各機能間でメッセージ通信が行われるとしてもよい。   The application server 106 may be configured by a plurality of computer systems. In this case, message communication may be performed between the functions of the application server 106 distributed in a plurality of computer systems based on CORBA, DCOM, SOAP, and the like.

また、アプリケーションサーバ106は、Webサーバとデータベースサーバとから構成されているとしてもよい。この場合において、少なくともサービス処理部170、探索処理部180などがWebサーバにおいて実現されるとしてもよい。また、実行対象コンポーネントデータベース161がデータベースサーバにおいて実現されるとしてもよい。さらに、WEbサーバからデータベースサーバへのアクセスにODBCやJDBCなどを用いるとしてもよい。   Further, the application server 106 may be composed of a Web server and a database server. In this case, at least the service processing unit 170, the search processing unit 180, and the like may be realized on the Web server. Moreover, the execution target component database 161 may be realized in a database server. Furthermore, ODBC or JDBC may be used for accessing the database server from the WEB server.

また、RFC2246において規定されているTLS(Transport Layer Security)に基づいて、アプリケーションサーバ106と各ユーザ端末間とでセキュリティ通信が行われるとしてもよい。また、XML暗号化(http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/)に基づいて、データを暗号化し、暗号化したデータを送受信することで、セキュリティ通信が行われるとしてもよい。   Further, security communication may be performed between the application server 106 and each user terminal based on TLS (Transport Layer Security) defined in RFC2246. In addition, based on XML encryption (http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/), data is encrypted, and the encrypted data is sent and received for security communication. May be performed.

なお、ノード制御プログラムやアプリケーションサーバ制御プログラムは、コンピュータシステム、組み込みシステムなどのようなハードウェアシステムに読み取り可能な記録媒体に記録されているとしてもよい。さらに、記録媒体を介して他のハードウェアシステムに読み出されて実行されるとしてもよい。これによって、ノード101、またはノード201などの各機能やアプリケーションサーバ106の各機能を他のハードウェアシステムに実現することができる。ここで、コンピュータシステム読み取り可能な記録媒体として、光学記録媒体(例えば、CD−ROMなど。)、磁気記録媒体(例えば、ハードディスクなど。)、光磁気記録媒体(例えば、MOなど。)、半導体メモリ(例えば、メモリカードなど。)などがある。   Note that the node control program and the application server control program may be recorded on a recording medium readable by a hardware system such as a computer system or an embedded system. Furthermore, the program may be read and executed by another hardware system via the recording medium. Thereby, each function of the node 101 or the node 201 or each function of the application server 106 can be realized in another hardware system. Here, as a computer system-readable recording medium, an optical recording medium (for example, a CD-ROM), a magnetic recording medium (for example, a hard disk), a magneto-optical recording medium (for example, an MO), or a semiconductor memory. (For example, a memory card).

また、ノード制御プログラムやアプリケーションサーバ制御プログラムは、インターネット、ローカルエリアネットワークなどのようなネットワークに接続されているハードウェアシステムに保持されているとしてもよい。さらに、ネットワークを介して他のハードウェアシステムにダウンロードされて実行されるとしてもよい。これによって、ノード101、またはノード201の各機能やアプリケーションサーバ106の各機能を他のハードウェアシステムに実現することができる。ここで、ネットワークとして、地上放送網、衛星放送網、PLC(Power Line Communication)、移動電話網、有線通信網(例えば、IEEE802.3など。)、無線通信網(例えば、IEEE802.11など。)がある。   Further, the node control program and the application server control program may be held in a hardware system connected to a network such as the Internet or a local area network. Furthermore, it may be downloaded to another hardware system via a network and executed. Thereby, each function of the node 101 or the node 201 and each function of the application server 106 can be realized in another hardware system. Here, as a network, a terrestrial broadcasting network, a satellite broadcasting network, a PLC (Power Line Communication), a mobile telephone network, a wired communication network (for example, IEEE802.3), and a wireless communication network (for example, IEEE802.11). There is.

(付録1)
以下、Webサービスと分散Webサービスとについての説明を補足する。なお、Webサービスには、主に、XML、SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)、UDDI(Universal Description,Discovery,and Integration)のような要素技術が存在する。しかし、これらの要素技術については、広く知れ渡っていることから、ここでは、説明を省略する。
(Appendix 1)
In the following, supplementary explanations of Web services and distributed Web services will be provided. Web services mainly include elemental technologies such as XML, SOAP (Simple Object Access Protocol), WSDL (Web Services Description Language), and UDDI (Universal Description, Discovery, and Integration). However, since these elemental technologies are widely known, description thereof is omitted here.

<Webサービス>
Webサービスとは、URI(Uniform Resource Identifier)で識別でき、インターフェースとバインディングとがXML(eXtensible Markup Language)で定義されて記述されているソフトウェアシステムである。インターネットプロトコルによって伝送されるXMLベースのメッセージを利用することによって、他のソフトウェアシステムとの間で相互通信することができるソフトウェアシステムである。また、SOA(Service Oriented Architecture)を実現する重要な技術の1つでもある。
<Web service>
A web service is a software system that can be identified by a URI (Uniform Resource Identifier), and whose interface and binding are defined and described in XML (eXtensible Markup Language). It is a software system that can communicate with other software systems by using XML-based messages transmitted by the Internet protocol. It is also one of the important technologies for realizing SOA (Service Oriented Architecture).

Webサービスでは、サービスの提供者がサービスディレクトリにサービスを登録して公開する。そして、サービスの利用者がサービスを受けるときに、アプリケーションサーバがサービスディレクトリを検索し、サービスの場所を取得し、サービスを提供しているサーバに接続する。これに対して、従来のInternetを利用したサービスでは、サービスの利用者がWebブラウザなどを使用してサービスを探索し、探索したサービスを利用する。   In the Web service, a service provider registers and publishes a service in a service directory. When the service user receives the service, the application server searches the service directory, obtains the location of the service, and connects to the server providing the service. On the other hand, in a service using the conventional Internet, a service user searches for a service using a Web browser or the like, and uses the searched service.

SOAとは、ハードウェアやOS、言語に依存せず、共通のインターフェースを介して、自由に、連携したり利用したりすることができるシステムの構造を既定するソフトウェアアーキテクチャのことである。   The SOA is a software architecture that defines a system structure that can be freely linked and used through a common interface without depending on hardware, OS, or language.

SOAでは、情報システム全体をサービスの集まりとしてとらえる。   In the SOA, the entire information system is regarded as a collection of services.

SOAを実現する従来の方法として、OMG(Object Management Group)のCORBA(Common Object Request Broker Architecture)やMicrosoftのDCOM(Distributed Component Object Model)が挙げられる。これらの方法では、コンポーネントが密結合しているので、交換や改良が困難である。   Conventional methods for realizing the SOA include CORBA (Common Object Request Broker Architecture) of OMG (Object Management Group) and DCOM (Distributed Component Object Model) of Microsoft. These methods are difficult to replace and improve because the components are tightly coupled.

これに対して、Webサービスでは、アーキテクチャが疎結合であるので、コンポーネント同士が、互いに連携しても、互いに依存することが少なく、それぞれのコンポーネントの交換や改良が容易であり、変化に対して順応性が高い。さらに、既存のサービスをコンポーネントとして利用することができ、コンポーネントを組み合わせてサービスを構築することも可能である。このため、従来のように自身でサービスを一から構築する必要がなく、サービスを構築するために掛かる費用を削減することができる。また、既存のWebサービスよりも、さらに、高度なサービスを構築することも容易である。   On the other hand, since the architecture of Web services is loosely coupled, even if components cooperate with each other, they are less dependent on each other, and each component can be easily exchanged and improved. High adaptability. Furthermore, an existing service can be used as a component, and a service can be constructed by combining components. For this reason, it is not necessary to construct a service from scratch as in the prior art, and the cost required for constructing the service can be reduced. It is also easier to build a more advanced service than existing Web services.

<分散Webサービス>
一方、分散Webサービスとは、正式に定義されているものではない。そこで、ここでは、特に、コンポーネントが1種につき1つであるものをWebサービスとし、コンポーネント1種につき複数の複製コンポーネントが存在するものを分散Webサービスとする。
<Distributed Web Service>
On the other hand, a distributed Web service is not officially defined. Therefore, in this case, in particular, a component having one component per type is a Web service, and a component having a plurality of duplicate components per component is a distributed Web service.

Webサービスでは、同一機能を有するコンポーネントが存在しない。このため、同一のコンポーネントを利用するサービスの提供者が増加することで、コンポーネントにかかる負荷が増大する。コンポーネントを利用したサービスの処理速度の低下などにより、サービスの利用者の満足度が低下する。   In the Web service, there are no components having the same function. For this reason, the load concerning a component increases because the provider of the service using the same component increases. The user satisfaction of the service decreases due to a decrease in the processing speed of the service using the component.

これに対して、分散Webサービスでは、コンポーネントを複製して分散配置しているので、同一の機能を有するコンポーネントが複数存在する。それらのコンポーネントを利用してサービスを提供することで、1つのコンポーネントにかかる負荷を分散することができる。そのため、特定機能のコンポーネントを利用したサービスを提供する時でも、サービスの処理速度の低下を抑えることができ、サービスの利用者に対して満足のいくサービスを提供することができる。   On the other hand, in the distributed Web service, since components are duplicated and distributed, there are a plurality of components having the same function. By providing services using these components, the load on one component can be distributed. Therefore, even when a service using a component having a specific function is provided, a decrease in service processing speed can be suppressed, and a satisfactory service can be provided to service users.

Webサービスでは、あるコンポーネントに障害が発生すると、複数のアプリケーションサーバが当該コンポーネントを利用したサービスの提供を停止してしまう。   In the Web service, when a failure occurs in a certain component, a plurality of application servers stop providing services using the component.

これに対して、分散Webサービスでは、障害が発生したコンポーネントと同一の機能を有するコンポーネントが存在する。このため、分散されて配置されている複数のコンポーネントの中で同一の機能を有するコンポーネントを代替コンポーネントとして探し出し、その代替コンポーネントにコンポーネントを瞬時に切り替えることでサービスを再開することが望まれる。   On the other hand, in the distributed Web service, there is a component having the same function as the component in which the failure has occurred. Therefore, it is desirable to restart a service by searching for a component having the same function among a plurality of components arranged in a distributed manner as an alternative component and instantaneously switching the component to the alternative component.

(付録2)
以下、背景技術で説明した代替コンポーネント探索についての説明を補足する。
(Appendix 2)
In the following, the explanation of the alternative component search described in the background art will be supplemented.

<代替コンポーネント探索>
分散Webサービスでは、Webサービスで使用されているコンポーネントが使用できなくなったときに、代替となるコンポーネントを発見し、その代替コンポーネントを使用してサービスの提供を続けることが可能である。しかし、その探索手法については、規定されていない。そこで、ここでは、探索手法に関してリアクティブな探索手法とプロアクティブな探索手法について説明する。
<Search alternative components>
In the distributed Web service, when a component used in the Web service becomes unusable, it is possible to find an alternative component and continue providing the service using the alternative component. However, the search method is not defined. Therefore, here, a reactive search method and a proactive search method will be described.

<リアクティブな探索手法>
リアクティブな探索手法とは、コンポーネントに障害が発生してから代替となるコンポーネントを探索する手法である。
<Reactive search method>
The reactive search method is a method of searching for an alternative component after a failure occurs in the component.

リアクティブな探索手法では、あらかじめ代替コンポーネントの位置情報を保持していない。このため、障害発生時における代替コンポーネントの探索には、フラッディングを使用する。フラッディングは、同一メッセージを順次複製してネットワーク全体に伝達する手法である。このため、効用の高い代替コンポーネントを確実に発見することが可能である。しかし、メッセージ数が増加するため、ネットワークへの負荷が大きくなる。従って、リアクティブな探索手法では、障害が発生するまでは、メッセージのやり取りを行わないので、ネットワークに負荷をかけない。しかし、障害が発生すると、フラッディングによる多数の探索メッセージの交換を行うことで、ネットワークへの負荷が短期間で増大する。また、障害が発生してから探索を開始するため、代替コンポーネントを発見するまでに時間がかかる。   The reactive search method does not hold the position information of the alternative component in advance. For this reason, flooding is used to search for an alternative component when a failure occurs. Flooding is a technique for sequentially copying the same message and transmitting it to the entire network. For this reason, it is possible to surely find a substitute component with high utility. However, since the number of messages increases, the load on the network increases. Therefore, in the reactive search method, messages are not exchanged until a failure occurs, so that no load is applied to the network. However, when a failure occurs, the load on the network increases in a short period of time by exchanging a large number of search messages by flooding. In addition, since the search is started after a failure occurs, it takes time to find an alternative component.

フラッディングによる代替コンポーネントの探索手法には、大きく分けて2つの手法が考えられる。1つ目は、First−Replyであり、2つ目は、Best−Replyである。   There are roughly two methods for searching for alternative components by flooding. The first is First-Reply, and the second is Best-Reply.

<First−Reply>
First−Replyとは、障害が発生したコンポーネントと同一機能を有する複数のコンポーネントの中で、最初に発見したコンポーネントを代替コンポーネントとする手法である。
<First-Reply>
First-Reply is a method in which a component first found among a plurality of components having the same function as a component in which a failure has occurred is used as an alternative component.

First−Replyでは、最初に発見した代替候補であるコンポーネントを利用するため、探索自体はすぐに終了し、探索時間を短縮することができる。サービス再開までの遅延は短くて済む。しかし、最初に発見された代替コンポーネントよりも効用の高いコンポーネントがネットワーク上に存在する場合でも、それを選択することができない。また、効用の低いコンポーネントは、他のアプリケーションサーバに使用されている可能性があり、最悪の場合は、新たに当該コンポーネントを利用するアプリケーションサーバがそのコンポーネントを使用することで過負荷によりサービスを受けられなくなる可能性がある。   In First-Reply, since the component that is the first alternative candidate discovered is used, the search itself is completed immediately, and the search time can be shortened. The delay before service restart is short. However, even if there is a component on the network that is more effective than the first discovered alternative component, it cannot be selected. In addition, a component with low utility may be used by another application server. In the worst case, an application server that newly uses the component receives the service due to overload by using the component. It may not be possible.

<Best Reply>
Best−Replyとは、障害が発生したコンポーネントと同一機能を有する複数のコンポーネントの中で、一定時間内に返答があって効用の高いコンポーネントを代替コンポーネントとする手法である。
<Best Reply>
Best-Reply is a technique in which a component that has a response within a predetermined time and has high utility among a plurality of components having the same function as the component in which a failure has occurred is used as a substitute component.

Best−Replyでは、フラッディングにより代替コンポーネントの候補を探索していき、アプリケーションサーバに一定時間内に返答のあった代替候補コンポーネントの中から効用が高いコンポーネントを選択することで効用の高いコンポーネントを利用できる手法である。ここでは、全てのノードに代替コンポーネント候補があるかどうか調べられるように十分な時間代替候補コンポーネントからの返答を待つものとする。また、返答を待つ時間(返答待機時間)が長すぎると最初に得た代替候補コンポーネントの効用の情報が返答してから返答待機時間の間に別のアプリケーションサーバが、そのコンポーネントを利用することで変化する可能性があり、情報の信頼性が低下するという短所も持っている。このため、大規模なネットワークにおいて全ての代替候補コンポーネントからの返答を待つというのは適しておらず、どこに代替候補コンポーネントがあるか解らないときに返答待機時間の設定することも困難である。しかし、返答待機時間をメッセージの生存時間とすることで探索終了時にネットワーク上に探索メッセージが残ることはない。   Best-Reply searches for alternative component candidates by flooding, and can select high-utility components from the alternative candidate components that have responded to the application server within a certain period of time. It is a technique. Here, it is assumed that a response from the alternative candidate component is waited for a sufficient period of time so that it can be checked whether there are alternative component candidates in all nodes. Also, if the time for waiting for a response (response waiting time) is too long, another application server uses the component during the response waiting time after the utility information of the alternative candidate component obtained first is returned. It has the disadvantages that it may change and the reliability of information will be reduced. For this reason, it is not suitable to wait for responses from all the alternative candidate components in a large-scale network, and it is difficult to set a response waiting time when it is not known where the alternative candidate components are. However, the search message does not remain on the network at the end of the search by setting the message waiting time as the response waiting time.

<プロアクティブな代替コンポーネント探索手法>
プロアクティブな探索手法とは、障害が発生する前にどのコンポーネントを使用するか決定しておく手法である。プロアクティブな探索手法では、あらかじめ代替コンポーネントの位置情報や効用情報をデータベース上に保持する。また、常にメッセージの交換を行うことにより情報を更新し、情報の信頼性の低下を抑えている。
<Proactive alternative component search method>
The proactive search method is a method for determining which component to use before a failure occurs. In the proactive search method, the position information and utility information of alternative components are stored in the database in advance. In addition, information is updated by constantly exchanging messages, and a decrease in reliability of information is suppressed.

プロアクティブな探索手法では、障害発生時に即座に最適な代替となるコンポーネントの探索が可能である。しかし、常にメッセージの交換を行っているので、ネットワークに定常的な負荷を与えることになる。   In the proactive search method, it is possible to search for an optimal substitute component immediately when a failure occurs. However, since messages are always exchanged, a constant load is applied to the network.

なお、データベース管理の手法としては、全てのデータを1箇所のデータベースで一括管理する統合データベース管理と、全てのデータを分散配置された複数のデータベースで分割して管理する分散データベース管理とが考えられる。   Note that database management methods include integrated database management in which all data is collectively managed in one database, and distributed database management in which all data is divided and managed in a plurality of distributed databases. .

<統合データベース管理>
統合データベース管理とは、全てのコンポーネントの位置や効用等の情報を1箇所のデータベースにおいて一括管理する手法である。この手法を用いることでデータベースにアクセスすれば即座に最適なデータベースの位置情報を取得することができる。
<Integrated database management>
Integrated database management is a technique for collectively managing information such as the positions and utilities of all components in one database. By using this method, if the database is accessed, the optimum location information of the database can be obtained immediately.

しかし、統合データベースでは、大規模なネットワークにおいては、管理する情報の量が膨大になる。また、動的に変化する情報をリアルタイムに把握するには多数の制御メッセージを頻繁に交換する必要があり、ネットワーク上のトラヒックが増大する。このため、大規模なネットワークにおいて、動的な情報を常に把握しておくことは困難である。また、全ての情報をデータベースで一括管理しているため、データベースへの問い合わせが集中することで、データベースが過負荷になり、情報の提供が不可能になる可能性がある。このような場合において、統合データベース管理では、代替コンポーネントの探索が不可能になる。さらに、障害が発生したコンポーネントを利用していたアプリケーションサーバは、サービスを停止しなければならなくなる。   However, in the integrated database, the amount of information to be managed becomes enormous in a large-scale network. In addition, in order to grasp dynamically changing information in real time, it is necessary to frequently exchange a large number of control messages, and traffic on the network increases. For this reason, it is difficult to always grasp dynamic information in a large-scale network. In addition, since all information is collectively managed in the database, the inquiries to the database are concentrated, which may overload the database and make it impossible to provide information. In such a case, integrated database management makes it impossible to search for alternative components. Furthermore, the application server that has used the component in which the failure has occurred must stop the service.

<分散データベース管理>
分散データベース管理とは、統合データベースで管理されていた情報を複数の場所に分散配置された複数のデータベースに分割して管理する手法である。
<Distributed database management>
Distributed database management is a technique for managing information that has been managed in an integrated database by dividing it into a plurality of databases that are distributed in a plurality of locations.

分散データベース管理では、全てのデータを管理しているわけではない。このため、統合データベースと比較して必ずしも最適な代替コンポーネントの情報が得られるとは限らない。しかし、統合データベースにおいて存在したデータベースの障害に対する脆弱性を緩和することができ、周辺のネットワークのトラヒックの増加を抑えることができる。また、分散データベース管理では、各ノードが全ての代替コンポーネントの情報を保持する必要がないため、統合データベース管理に比べて、制御メッセージの削減が可能となる。ただし、分散データベース管理ではデータベースの場所とそのデータベースに管理させる情報の種類や数が重要な要素になる。このため、それらの要素を適切に決定することで、探索に要する時間を短縮し、代替コンポーネントを効率よく探索することが可能となると考えられる。   In distributed database management, not all data is managed. For this reason, the information of the optimal alternative component is not necessarily obtained as compared with the integrated database. However, the vulnerability to the failure of the database existing in the integrated database can be alleviated, and an increase in traffic in the surrounding network can be suppressed. In distributed database management, since each node does not need to hold information on all alternative components, control messages can be reduced compared to integrated database management. However, in distributed database management, the location of the database and the type and number of information managed by the database are important factors. For this reason, it is considered that by appropriately determining these elements, it is possible to reduce the time required for searching and to efficiently search for alternative components.

本発明は、複数のコンポーネントを利用したWebサービスを提供するWebサービスシステムなどとして、特に、Webサービスで利用しているコンポーネントの代替コンポーネントをオーバレイネットワークに分散されて配置されている複数のコンポーネントの中から探索するWebサービスシステムなどとして、利用することができる。   The present invention is a Web service system that provides a Web service that uses a plurality of components, and in particular, among the plurality of components that are distributed and arranged in an overlay network as alternative components for the components that are used in the Web service. It can be used as a Web service system that searches from the Internet.

本発明に係わる実施の形態1におけるWebサービスシステムの概要を示す図The figure which shows the outline | summary of the Web service system in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1における代替コンポーネント探索手法において利用時の概要を示す図The figure which shows the outline | summary at the time of utilization in the alternative component search method in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1における代替コンポーネント探索手法において障害時の概要を示す図The figure which shows the outline | summary at the time of a failure in the alternative component search method in Embodiment 1 concerning this invention 本発明に係わる実施の形態1における代替コンポーネント探索手法において探索時の概要を示す図The figure which shows the outline | summary at the time of a search in the alternative component search method in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1における代替コンポーネント探索手法において再開時の概要を示す図The figure which shows the outline | summary at the time of restart in the alternative component search method in Embodiment 1 concerning this invention 本発明に係わる実施の形態1におけるオーバレイネットワークの構築手法の手順を示す第1の図FIG. 1 is a first diagram showing the procedure of an overlay network construction method according to the first embodiment of the present invention; 本発明に係わる実施の形態1におけるオーバレイネットワークの構築手法の手順を示す第2の図FIG. 2 is a second diagram showing the procedure of the overlay network construction method according to the first embodiment of the present invention. 本発明に係わる実施の形態1におけるオーバレイネットワーク構築手法において構築前の概要を示す図The figure which shows the outline | summary before construction in the overlay network construction method in Embodiment 1 concerning this invention 本発明に係わる実施の形態1におけるオーバレイネットワーク構築手法において追加時の概要を示す図The figure which shows the outline | summary at the time of addition in the overlay network construction method in Embodiment 1 concerning this invention 本発明に係わる実施の形態1におけるオーバレイネットワーク構築手法において削除時の概要を示す図The figure which shows the outline | summary at the time of deletion in the overlay network construction method in Embodiment 1 concerning this invention 本発明に係わる実施の形態1におけるオーバレイネットワーク構築手法において構築後の概要を示す図The figure which shows the outline | summary after construction | assembly in the overlay network construction method in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるWebサービスシステムの構成を示す図The figure which shows the structure of the Web service system in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるノードの構成を示す図The figure which shows the structure of the node in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるコンポーネントデータベースで管理されているコンポーネント情報のデータ構造を示す図The figure which shows the data structure of the component information managed by the component database in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるノードデータベースで管理されているノード情報のデータ構造を示す図The figure which shows the data structure of the node information managed by the node database in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるリンクデータベースで管理されているリンク情報のデータ構造を示す図The figure which shows the data structure of the link information managed by the link database in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1における自ノード効用情報記憶部に記憶されている効用情報のデータ構造を示す図The figure which shows the data structure of the utility information memorize | stored in the own node utility information storage part in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1における他ノード効用情報記憶部に記憶されている効用情報のデータ構造を示す図The figure which shows the data structure of the utility information memorize | stored in the other node utility information storage part in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるノードの詳細な構成を示す図The figure which shows the detailed structure of the node in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるアプリケーションサーバの構成を示す図The figure which shows the structure of the application server in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1における実行対象コンポーネントデータベースで管理されているコンポーネント情報のデータ構造を示す図The figure which shows the data structure of the component information managed by the execution object component database in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるWebサービスシステムにおいてWebサービスの利用時におけるシーケンスを示す図The figure which shows the sequence at the time of utilization of a web service in the web service system in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるWebサービスシステムにおいて代替コンポーネントの探索時におけるシーケンスを示す図The figure which shows the sequence at the time of the search of an alternative component in the Web service system in Embodiment 1 concerning this invention. 本発明に係わる実施の形態1におけるWebサービスシステムにおいてWebサービスの再開時におけるシーケンスを示す図The figure which shows the sequence at the time of resumption of a web service in the web service system in Embodiment 1 concerning this invention. 本発明に係わる実施の形態2におけるノードの構成を示す図The figure which shows the structure of the node in Embodiment 2 concerning this invention. 本発明に係わる実施の形態2におけるノードの詳細な構成を示す図The figure which shows the detailed structure of the node in Embodiment 2 concerning this invention. 本発明に係わる実施の形態2におけるオーバレイネットワーク構築処理を示す図The figure which shows the overlay network construction process in Embodiment 2 concerning this invention. 本発明に係わる実施の形態2におけるリンク元のノードで実行される削除対象選出処理を示す図The figure which shows the deletion object selection process performed in the node of the link origin in Embodiment 2 concerning this invention 本発明に係わる実施の形態2におけるリンク元のノードで実行されるリンク元削除処理を示す図The figure which shows the link origin deletion process performed in the node of the link origin in Embodiment 2 concerning this invention 本発明に係わる実施の形態2におけるリンク先のノードで実行されるリンク先削除処理を示す図The figure which shows the link destination deletion process performed in the link destination node in Embodiment 2 concerning this invention. 本発明に係わる実施の形態2におけるリンク元のノードで実行される追加対象選出処理を示す図The figure which shows the addition object selection process performed in the node of the link origin in Embodiment 2 concerning this invention 本発明に係わる実施の形態2におけるリンク元のノードで実行されるリンク元追加処理を示す図The figure which shows the link source addition process performed in the node of the link source in Embodiment 2 concerning this invention 本発明に係わる実施の形態2におけるリンク先のノードで実行されるリンク先追加処理を示す図The figure which shows the link destination addition process performed in the link destination node in Embodiment 2 concerning this invention. 本発明に係わる実施の形態2におけるオーバレイネットワークの構築時におけるノード間のシーケンスを示す第1の図First diagram showing a sequence between nodes at the time of construction of an overlay network according to the second embodiment of the present invention. 本発明に係わる実施の形態2におけるオーバレイネットワークの構築時におけるノード間のシーケンスを示す第2の図2nd figure which shows the sequence between nodes at the time of construction of the overlay network in Embodiment 2 concerning this invention 本発明に係わる実施の形態2におけるオーバレイネットワークの構築時におけるノード間のシーケンスを示す第3の図3rd figure which shows the sequence between nodes at the time of construction of the overlay network in Embodiment 2 concerning this invention

符号の説明Explanation of symbols

100 Webサービスシステム
101〜105,201 ノード
106 アプリケーションサーバ
111 コンポーネント保持部
112 コンポーネントデータベース
113 ノードデータベース
114 リンクデータベース
115 自ノード効用情報記憶部
116 他ノード効用情報記憶部
120 コンポーネント実行処理部
121 コンポーネント実行部
122 実行要求受信部
123 実行応答送信部
130 効用情報生成処理部
131 計測部
132 効用情報生成部
140 代替コンポーネント探索処理部
141 代替コンポーネント探索部
142 探索対象選出部
143 効用情報書込部
144 探索要求受信部
145 探索応答送信部
146 効用情報照会要求送信部
147 効用情報照会応答受信部
150 効用情報伝達処理部
151 効用情報読出部
152 効用情報照会要求受信部
153 効用情報照会応答送信部
161 実行対象コンポーネントデータベース
162 実行結果記憶部
170 サービス処理部
171 実行対象選出部
172 実行結果書込部
173 サービス要求受信部
174 サービス応答送信部
175 実行要求送信部
176 実行応答受信部
180 探索処理部
181 コンポーネント情報登録部
182 探索要求送信部
183 探索応答受信部
210 オーバレイネットワーク構築処理部
211 MLN保持部
212 LLN保持部
213 リンク数情報記憶部
214 リンク数順位記憶部
215 ネットワーク距離順位記憶部
216 期待値算出部
217 オーバレイネットワーク構築部
231 削除対象選出部
232 削除対象リンク元選出部
233 リンク元コンポーネント選出部
234 削除対象リンク先選出部
241 リンク元削除部
242 リンク先削除部
243 リンク削除確定部
244 リンク削除要求送信部
245 リンク削除応答受信部
246 リンク削除要求受信部
247 リンク削除応答送信部
251 追加対象選出部
252 追加対象リンク先選出部
253 リンク先ノード選出部
261 リンク元追加部
262 リンク先追加部
263 リンク追加確定部
264 リンク追加要求送信部
265 リンク追加応答受信部
266 リンク追加要求受信部
267 リンク追加応答送信部
271 リンク数情報読出部
272 リンク数情報書込部
273 リンク数情報照会要求送信部
274 リンク数情報照会応答受信部
275 リンク数情報照会要求受信部
276 リンク数情報照会応答送信部
100 Web service systems 101 to 105, 201 Node 106 Application server 111 Component holding unit 112 Component database 113 Node database 114 Link database 115 Local node utility information storage unit 116 Other node utility information storage unit 120 Component execution processing unit 121 Component execution unit 122 Execution request reception unit 123 Execution response transmission unit 130 Utility information generation processing unit 131 Measurement unit 132 Utility information generation unit 140 Alternative component search processing unit 141 Alternative component search unit 142 Search target selection unit 143 Utility information writing unit 144 Search request reception unit 145 Search response transmission unit 146 Utility information inquiry request transmission unit 147 Utility information inquiry response reception unit 150 Utility information transmission processing unit 151 Utility information reading unit 152 Information query request receiving unit 153 Utility information query response sending unit 161 Execution target component database 162 Execution result storage unit 170 Service processing unit 171 Execution target selection unit 172 Execution result writing unit 173 Service request receiving unit 174 Service response sending unit 175 Execution Request transmission unit 176 Execution response reception unit 180 Search processing unit 181 Component information registration unit 182 Search request transmission unit 183 Search response reception unit 210 Overlay network construction processing unit 211 MLN storage unit 212 LLN storage unit 213 Link number information storage unit 214 Number of links Rank storage unit 215 Network distance rank storage unit 216 Expected value calculation unit 217 Overlay network construction unit 231 Deletion target selection unit 232 Deletion target link source selection unit 233 Link source component selection unit 234 Deletion target phosphorus Destination selection unit 241 link source deletion unit 242 link destination deletion unit 243 link deletion confirmation unit 244 link deletion request transmission unit 245 link deletion response reception unit 246 link deletion request reception unit 247 link deletion response transmission unit 251 addition target selection unit 252 addition Target link destination selection unit 253 Link destination node selection unit 261 Link source addition unit 262 Link destination addition unit 263 Link addition confirmation unit 264 Link addition request transmission unit 265 Link addition response reception unit 266 Link addition request reception unit 267 Link addition response transmission unit 271 Link number information reading unit 272 Link number information writing unit 273 Link number information inquiry request transmission unit 274 Link number information inquiry response reception unit 275 Link number information inquiry request reception unit 276 Link number information inquiry response transmission unit

Claims (3)

複数のコンポーネントを利用してWebサービスを提供するアプリケーションサーバと、物理ネットワークを介して前記アプリケーションサーバと接続されており前記複数のコンポーネントが分散されて配置されている複数のノードとを備えるWebサービスシステムであって、
前記複数のノードの各々は、
自ノードに配置されている1以上のコンポーネントと、他ノードに配置されている1以上のコンポーネントとの間で形成された論理ネットワークのリンクを示すリンク情報が登録されているリンクデータベースと、
前記Webサービスで利用されている所定のコンポーネントと同一の機能を有するコンポーネントの探索について前記アプリケーションサーバから要求されると、前記リンクデータベースに登録されているリンク情報に基づいて、前記論理ネットワークを形成する1以上のコンポーネントを探索し、前記所定のコンポーネントの代わりとして最適なコンポーネントを選出する代替コンポーネント探索処理手段とを備える
ことを特徴とするWebサービスシステム。
A web service system comprising: an application server that provides a web service using a plurality of components; and a plurality of nodes that are connected to the application server via a physical network and in which the plurality of components are distributed. Because
Each of the plurality of nodes is
A link database in which link information indicating a link of a logical network formed between one or more components arranged in the own node and one or more components arranged in another node is registered;
When requested by the application server to search for a component having the same function as a predetermined component used in the Web service, the logical network is formed based on link information registered in the link database. An alternative component search processing unit that searches for one or more components and selects an optimum component instead of the predetermined component. A Web service system, comprising:
前記複数のノードの各々は、
自ノードに配置されている1以上のコンポーネントの中で、前記Webサービスで利用されているコンポーネントを実行する実行処理手段と、
前記実行処理手段で実行されているコンポーネントの処理能力を計測し、計測して得られた結果を使用して、コンポーネントの実行によって得られる効用の指標となる効用情報を生成する効用情報生成処理手段とを備え、
前記複数のノードの中で、前記最適なコンポーネントを探索するノードを探索代理ノードとし、前記所定のコンポーネントと同一の機能を有するコンポーネントが配置されているノードを探索対象ノードとした場合において、前記探索代理ノードにおける前記代替コンポーネント探索処理手段は、前記探索対象ノードにおける前記効用情報生成処理手段で生成された効用情報に基づいて、前記効用が最も高いコンポーネントを前記最適なコンポーネントとして選出する
ことを特徴とする請求項1に記載のWebサービスシステム。
Each of the plurality of nodes is
Execution processing means for executing a component used in the Web service among one or more components arranged in the own node;
Utility information generation processing means for measuring the processing capability of a component being executed by the execution processing means and generating utility information that is an index of utility obtained by executing the component using a result obtained by measurement. And
In the case where a node that searches for the optimum component among the plurality of nodes is a search proxy node, and a node in which a component having the same function as the predetermined component is arranged is a search target node, the search The substitute component search processing means in the proxy node selects the component having the highest utility as the optimum component based on the utility information generated by the utility information generation processing means in the search target node. The web service system according to claim 1.
前記複数のノードの各々は、自ノードに配置されている第1のコンポーネントと、他ノードに配置されている1以上のコンポーネントの中で前記第1のコンポーネントと同一の機能を有する第2のコンポーネントとの間で論理ネットワークを形成し、形成した論理ネットワークのリンクを示すリンク情報を前記リンクデータベースに登録するオーバレイネットワーク構築処理手段を備える
ことを特徴とする請求項1に記載のWebサービスシステム。
Each of the plurality of nodes includes a first component arranged in its own node and a second component having the same function as the first component among one or more components arranged in other nodes. The web service system according to claim 1, further comprising: an overlay network construction processing unit that forms a logical network with the link database and registers link information indicating a link of the formed logical network in the link database.
JP2007180874A 2007-07-10 2007-07-10 Web service system Expired - Fee Related JP5008075B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007180874A JP5008075B2 (en) 2007-07-10 2007-07-10 Web service system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007180874A JP5008075B2 (en) 2007-07-10 2007-07-10 Web service system

Publications (2)

Publication Number Publication Date
JP2009020574A JP2009020574A (en) 2009-01-29
JP5008075B2 true JP5008075B2 (en) 2012-08-22

Family

ID=40360187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007180874A Expired - Fee Related JP5008075B2 (en) 2007-07-10 2007-07-10 Web service system

Country Status (1)

Country Link
JP (1) JP5008075B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250021A (en) * 1998-03-05 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> Distribution processing method and its system on network, and medium recorded with distribution processing program
JP2002007368A (en) * 2000-06-23 2002-01-11 Mitsubishi Electric Corp Server, system and method for managing job assignment for distributed processing system
WO2005107218A1 (en) * 2004-04-30 2005-11-10 Ntt Docomo, Inc. Zone-based peer-to-peer
US7451347B2 (en) * 2004-10-08 2008-11-11 Microsoft Corporation Failover scopes for nodes of a computer cluster
JP2007164264A (en) * 2005-12-09 2007-06-28 Fuji Xerox Co Ltd Load distribution program, load distribution device and service system

Also Published As

Publication number Publication date
JP2009020574A (en) 2009-01-29

Similar Documents

Publication Publication Date Title
US7174382B2 (en) Interest-based connections in peer-to-peer networks
JP4806203B2 (en) Routing in peer-to-peer networks
US7644182B2 (en) Reconfiguring a multicast tree
KR101438982B1 (en) System and method of utilizing a framework for information routing in large-scale distributed systems using swarm intelligence
US6748416B2 (en) Client-side method and apparatus for improving the availability and performance of network mediated services
JP4679584B2 (en) Routing service queries in overlay networks
Friedman et al. Gossiping on MANETs: the Beauty and the Beast
CN111464611A (en) Method for efficiently accessing service between fixed cloud and edge node in dynamic complex scene
WO2003026220A1 (en) Parallel information delivery method based on peer-to-peer enabled distributed computing technology and the system thereof
WO2010077379A1 (en) Systems and methods for peer-to-peer bandwidth allocation
Huang et al. Network-aware P2P file sharing over the wireless mobile networks
JP2004509381A (en) Self-published network directory
JP2009193250A (en) Distributed directory server, distributed directory system, distributed directory method, and program
Tigelaar et al. Peer-to-peer information retrieval: An overview
Sacha et al. Decentralising a service-oriented architecture
Talia et al. Peer-to-peer protocols and grid services for resource discovery on grids
Yang et al. A reinforcement learning based data storage and traffic management in information-centric data center networks
US9544371B1 (en) Method to discover multiple paths to disk devices cluster wide
JP5008075B2 (en) Web service system
CN102017568B (en) For sending the system of the autonomous content play
JP4146373B2 (en) Service selection method and service selection system in dynamic network
JP2004511835A (en) Active Directory for content objects
CN115883657A (en) Cloud disk service accelerated scheduling method and system
Shukla et al. Towards software defined low maintenance structured peer-to-peer overlays
JP2008521083A (en) Configuration providing method, server, software, apparatus and signal

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120418

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: 20120501

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: 20120524

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150608

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees