JP4780075B2 - Peer-to-peer communication system, node device, and program - Google Patents

Peer-to-peer communication system, node device, and program Download PDF

Info

Publication number
JP4780075B2
JP4780075B2 JP2007245072A JP2007245072A JP4780075B2 JP 4780075 B2 JP4780075 B2 JP 4780075B2 JP 2007245072 A JP2007245072 A JP 2007245072A JP 2007245072 A JP2007245072 A JP 2007245072A JP 4780075 B2 JP4780075 B2 JP 4780075B2
Authority
JP
Japan
Prior art keywords
node
monitoring
survival confirmation
network
node device
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
JP2007245072A
Other languages
Japanese (ja)
Other versions
JP2009077216A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2007245072A priority Critical patent/JP4780075B2/en
Publication of JP2009077216A publication Critical patent/JP2009077216A/en
Application granted granted Critical
Publication of JP4780075B2 publication Critical patent/JP4780075B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して互いに接続された複数のノード装置とそれらノード装置に前記ネットワークを介して接続されたサーバとを有するピアツーピア通信システムおよび前記ノード装置に関するものである。   The present invention provides a peer-to-peer communication system having a plurality of node devices connected to each other via a network in a peer-to-peer manner using a routing table, and a server connected to the node devices via the network The present invention relates to the node device.

複数のノード装置(例えば、複数のパーソナルコンピュータ)間でコンテンツ(例えば、視聴覚コンテンツ)等の情報を共有するために、複数のノード装置の参加によってオーバレイネットワークを論理的に構築し、そのオーバレイネットワーク上で前記複数のノード装置が相互に通信を行うことを可能にする技術が既に実用化されている。   In order to share information such as contents (for example, audiovisual contents) among a plurality of node devices (for example, a plurality of personal computers), an overlay network is logically constructed by the participation of the plurality of node devices, and Thus, a technology that enables the plurality of node devices to communicate with each other has already been put into practical use.

そのような通信システムの一例が特許文献1にピアツーピア通信システムとして開示されている。この通信システムにおいては、複数のノード装置に、オーバレイネットワーク上における複数の論理的位置がそれぞれ割り当てられる。複数のノード装置にそれぞれ割り当てられる複数の論理的位置を、オーバレイネットワーク上において分散して記憶させるために、例えば、分散ハッシュテーブルDHT(Distributed Hash Table)が用いられる。   An example of such a communication system is disclosed in Patent Document 1 as a peer-to-peer communication system. In this communication system, a plurality of node devices are assigned a plurality of logical positions on the overlay network. For example, a distributed hash table (DHT) is used in order to distribute and store a plurality of logical positions respectively assigned to a plurality of node devices on the overlay network.

以上説明したピアツーピア通信システムにおいては、各ノード装置がオーバレイネットワーク上に実際に生存しているか否かという情報を他のノード装置が正しく取得することが、ノード装置間での正常な情報交換を維持するために重要である。   In the peer-to-peer communication system described above, it is possible for other node devices to correctly acquire information on whether or not each node device is actually alive on the overlay network, so that normal information exchange between the node devices is maintained. Is important to do.

一方、各ノード装置がオーバレイネットワークから正常に脱退する場合、すなわち、正規の終了手続を行った後に、ネットワークとの接続を終了する場合には問題はないが、正規の終了手続を経ることなく異常に終了する可能性がある。例えば、そのノード装置内のソフトウエアの不具合や、そのノード装置とネットワークとの物理的な接続を実現するケーブルの切断や離脱があると、ノード装置が、他のノード装置への事前の通知なしで、ネットワークから脱退する可能性がある。   On the other hand, there is no problem when each node device normally leaves the overlay network, that is, when the connection with the network is terminated after performing the regular termination procedure. May end. For example, if there is a software defect in the node device or a cable that disconnects or disconnects a physical connection between the node device and the network, the node device does not notify other node devices in advance. There is a possibility of leaving the network.

このような可能性があることから、ピアツーピア通信システムにおいては、従来、いずれのノード装置も、それらノード装置を集中的に監視するサーバと接続され、それにより、各ノード装置ごとに、サーバ−クライアント系システムが構築されていた。そのサーバ−クライアント系システムにおいては、いずれのノード装置も、サーバとの間で予め取り決めたKeep Aliveメッセージをサーバへ定期的に通知し、それにより、サーバは、いずれのノード装置についても、各ノード装置がオーバレイネットワーク上に生存するか否かを監視することができるようになっていた。具体的には、サーバは、あるノード装置からのKeep Aliveメッセージの受信が途切れて一定時間経過したら、そのノード装置に異常が発生した旨のアラームを、ピアツーピア通信システムの管理者に対して発する。
特開2006−197400号公報
Because of this possibility, in a peer-to-peer communication system, conventionally, any node device is connected to a server that centrally monitors the node devices, whereby each node device has a server-client. A system was built. In the server-client system, any node device periodically notifies the server of a Keep Alive message that is negotiated in advance with the server. It has become possible to monitor whether a device is alive on the overlay network. Specifically, the server issues an alarm to the administrator of the peer-to-peer communication system that an abnormality has occurred in the node device when reception of the keep alive message from a certain node device is interrupted and a certain time has elapsed.
JP 2006-197400 A

しかしながら、この従来のノード監視手法では、同じサーバによって監視されるべきノード装置の数が増えると、サーバの負荷が増加する。そのため、ノード監視のためにサーバに課される負担をできる限り軽減することが必要である場合には、その従来のノード監視手法では対応することが困難である。   However, in this conventional node monitoring method, when the number of node devices to be monitored by the same server increases, the load on the server increases. Therefore, when it is necessary to reduce the burden imposed on the server for node monitoring as much as possible, it is difficult to cope with the conventional node monitoring method.

以上説明した事情を背景として、本発明は、ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して互いに接続された複数のノード装置とそれらノード装置に前記ネットワークを介して接続されたサーバとを有するピアツーピア通信システムおよび前記ノード装置において、各ノード装置がネットワーク上に生存しているか否かの監視を行うためにサーバに課される負担を完全にまたは部分的に省略することを可能とするためになされたものである。   Against the background described above, the present invention is connected to a plurality of node devices connected to each other via a network in a state where communication can be performed in a peer-to-peer manner using a routing table, and to the node devices via the network. In a peer-to-peer communication system having a server and the node device, it is possible to completely or partially omit the burden imposed on the server to monitor whether each node device is alive on the network. It was made to do.

本発明によって下記の各態様が得られる。各態様は、項に区分し、各項には番号を付し、必要に応じて他の項の番号を引用する形式で記載する。これは、本発明が採用し得る技術的特徴の一部およびそれの組合せの理解を容易にするためであり、本発明が採用し得る技術的特徴およびそれの組合せが以下の態様に限定されると解釈すべきではない。すなわち、下記の態様には記載されていないが本明細書には記載されている技術的特徴を本発明の技術的特徴として適宜抽出して採用することは妨げられないと解釈すべきなのである。   The following aspects are obtained by the present invention. Each aspect is divided into sections, each section is given a number, and is described in a form that cites other section numbers as necessary. This is to facilitate understanding of some of the technical features that the present invention can employ and combinations thereof, and the technical features that can be employed by the present invention and combinations thereof are limited to the following embodiments. Should not be interpreted. That is, it should be construed that it is not impeded to appropriately extract and employ the technical features described in the present specification as technical features of the present invention although they are not described in the following embodiments.

さらに、各項を他の項の番号を引用する形式で記載することが必ずしも、各項に記載の技術的特徴を他の項に記載の技術的特徴から分離させて独立させることを妨げることを意味するわけではなく、各項に記載の技術的特徴をその性質に応じて適宜独立させることが可能であると解釈すべきである。   Further, describing each section in the form of quoting the numbers of the other sections does not necessarily prevent the technical features described in each section from being separated from the technical features described in the other sections. It should not be construed as meaning, but it should be construed that the technical features described in each section can be appropriately made independent depending on the nature.

(1) ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して互いに接続された複数のノード装置とそれらノード装置に前記ネットワークを介して接続されたサーバとを有するピアツーピア通信システムであって、
各ノード装置は、自ノード装置が前記ネットワーク上に生存するか否かの監視を他ノード装置に依頼する生存確認依頼ノードとしての機能と、他ノード装置が前記ネットワーク上に生存するか否かを監視する監視ノードとしての機能とを有し、
各ノード装置は、
前記生存確認依頼ノードとして機能するとき、自ノード装置のための前記ルーティングテーブルに記憶されている他ノード装置のうちの少なくとも一つを、自ノード装置を監視すべき監視ノードとして選択する監視ノード選択手段を含み、
各ノード装置は、
前記監視ノードとして機能するとき、前記生存確認依頼ノードとしての他ノード装置が前記ネットワーク上に生存するか否かを判定する生存判定手段と、
その生存判定手段により、前記生存確認依頼ノードが前記ネットワーク上に生存しないと判定された場合に、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを前記サーバに通知する通知手段と
を含むピアツーピア通信システム。
(1) A peer-to-peer communication system having a plurality of node devices connected to each other via a network in a state where communication can be performed in a peer-to-peer manner using a routing table, and servers connected to the node devices via the network. And
Each node device has a function as a survival confirmation requesting node for requesting other node devices to monitor whether or not the own node device is alive on the network, and whether or not the other node device is alive on the network. Function as a monitoring node to monitor,
Each node device
Monitoring node selection that, when functioning as the existence confirmation request node, selects at least one of the other node devices stored in the routing table for the own node device as a monitoring node that should monitor the own node device Including means,
Each node device
When functioning as the monitoring node, survival determination means for determining whether other node devices as the survival confirmation request node survive on the network,
A peer-to-peer notifying means for notifying the server that the survival confirmation requesting node does not survive on the network when the survival determining means determines that the survival confirmation requesting node does not survive on the network. Communications system.

このピアツーピア通信システムにおいては、複数のノード装置が、各ノード装置のためのルーティングテーブルの内容を利用することにより、相互に、各ノード装置がネットワーク上に生存しているか否かを判定する。そして、あるノード装置が、他のノード装置により、ネットワーク上に生存しないと判定された場合にはじめて、サーバに、あるノード装置がネットワーク上に生存しないことが通知される。   In this peer-to-peer communication system, a plurality of node devices use the contents of the routing table for each node device to determine whether or not each node device is alive on the network. Only when it is determined by another node device that the node device does not survive on the network, the server is notified that the node device does not survive on the network.

したがって、このピアツーピア通信システムによれば、サーバが、すべてのノード装置を、個別に、しかも、定期的に監視することが不可欠ではなくなり、よって、各ノード装置を監視するためにサーバに課される負担が軽減される。すなわち、ネットワーク上に生存するはずであるいずれのノード装置もネットワーク上に実際に生存する正常時に、複数のノード装置とサーバとの間における大量のトラフィックが発生せずに済み、いずれかのノード装置がネットワーク上に実際に生存しない異常時のみ、そのノード装置とサーバとの間におけるトラフィックが発生するのみで済むため、サーバの負荷が軽減されるのである。   Thus, according to this peer-to-peer communication system, it is no longer necessary for the server to monitor all the node devices individually and regularly, and thus is imposed on the server to monitor each node device. The burden is reduced. In other words, any node device that should survive on the network does not generate a large amount of traffic between the plurality of node devices and the server at the normal time when the node device actually survives on the network. Since only traffic between the node device and the server needs to be generated only when there is an abnormality that does not actually survive on the network, the load on the server is reduced.

(2) 前記サーバは、
前記ネットワークに参加している複数のノード装置の設置位置をノードIDに関連付けて予め記憶している記憶手段と、
前記監視ノードとして機能する各ノード装置から、前記生存確認依頼ノードが前記ネットワーク上に生存しないことが通知された場合に、前記記憶手段にアクセスすることにより、前記生存確認依頼ノードの前記ネットワーク上における設置位置を特定する位置特定手段と
を含む(1)項に記載のピアツーピア通信システム。
(2) The server
Storage means for storing in advance the installation positions of a plurality of node devices participating in the network in association with node IDs;
When each node device functioning as the monitoring node is notified that the survival confirmation request node does not survive on the network, the access to the storage unit is performed to access the survival confirmation request node on the network. The peer-to-peer communication system according to item (1), further including: a position specifying unit that specifies an installation position.

このピアツーピア通信システムにおいては、あるノード装置がネットワーク上に生存しないと判定された場合に、そのノード装置の、ネットワーク上における設置位置が特定される。   In this peer-to-peer communication system, when it is determined that a certain node device does not survive on the network, the installation position of the node device on the network is specified.

したがって、このピアツーピア通信システムによれば、ネットワークの管理者は、そのネットワーク上に生存しないノード装置に対して、必要な情報の提供やサービスの提供(例えば、復旧作業を含む)を迅速に行うことが可能となる。   Therefore, according to this peer-to-peer communication system, a network administrator can quickly provide necessary information and services (including recovery work) to node devices that do not survive on the network. Is possible.

(3) ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して他の複数のノード装置に接続されるとともに前記ネットワークを介してサーバに接続されたノード装置であって、
前記ネットワーク上に生存するか否かの監視を当該ノード装置に依頼した生存確認依頼ノードが前記ネットワーク上に生存するか否かを監視する監視手段と、
その監視手段による監視結果に基づき、前記生存確認依頼ノードが前記ネットワーク上に生存するか否かを判定する生存判定手段と、
その生存判定手段により、前記生存確認依頼ノードが前記ネットワーク上に生存しないと判定された場合に、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを前記サーバに通知する通知手段と
を含むノード装置。
(3) A node device connected to a plurality of other node devices via a network in a state in which communication can be performed in a peer-to-peer manner using a routing table, and connected to a server via the network,
Monitoring means for monitoring whether or not the survival confirmation requesting node that requested the node device to monitor whether or not to survive on the network survives on the network;
Based on the monitoring result by the monitoring means, a survival determination means for determining whether or not the survival confirmation request node is alive on the network,
A node that includes notification means for notifying the server that the survival confirmation request node does not survive on the network when it is determined by the survival determination means that the survival confirmation request node does not survive on the network. apparatus.

このノード装置は、同じネットワークに接続されている他のノード装置がネットワーク上に生存するか否かの監視の依頼を受諾すると、他のノード装置を監視することにより、他のノード装置がネットワーク上に生存するか否かを判定する。さらに、このノード装置は、他のノード装置がネットワーク上に生存しないと判定した場合、そのことをサーバに通知する。   When this node device accepts a request to monitor whether or not another node device connected to the same network is alive on the network, the other node device monitors the other node device, thereby Determine whether to survive. Further, when it is determined that another node device does not survive on the network, this node device notifies the server of that fact.

したがって、このノード装置によれば、サーバに依存することなく、他のノード装置がネットワーク上に生存するか否かを監視することが可能となり、よって、他のノード装置を監視するためにサーバに課される負担が軽減される。   Therefore, according to this node device, it is possible to monitor whether or not another node device is alive on the network without depending on the server. Therefore, the server can be used to monitor another node device. The burden imposed is reduced.

(4) 前記監視手段は、指定時刻が到来すると、前記生存確認依頼ノードを監視する時限的監視手段を含む(3)項に記載のノード装置。 (4) The node device according to (3), wherein the monitoring unit includes a time-limited monitoring unit that monitors the survival confirmation requesting node when a designated time arrives.

(5) 前記監視手段は、前記生存確認依頼ノードに特定のリクエストを送信する送信手段を含み、
前記生存判定手段は、そのリクエストの送信に応答して前記生存確認依頼ノードがレスポンスを当該ノード装置に返信しない場合に、その生存確認依頼ノードが前記ネットワーク上に生存しないと判定する判定手段を含む(3)または(4)項に記載のノード装置。
(5) The monitoring unit includes a transmission unit that transmits a specific request to the survival confirmation requesting node,
The survival determination unit includes a determination unit that determines that the survival confirmation request node does not survive on the network when the survival confirmation request node does not return a response to the node device in response to the transmission of the request. The node device according to (3) or (4).

(6) 同じ生存確認依頼ノードを監視する他の監視ノードを記憶する監視ノード記憶手段を含み、
前記通知手段は、前記生存判定手段により、前記生存確認依頼ノードが前記ネットワーク上に生存しないと判定された場合に、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを、前記監視ノード記憶手段に記憶されている他の監視ノードに通知する他監視ノード通知手段を含む(3)ないし(5)項のいずれかに記載のノード装置。
(6) including monitoring node storage means for storing other monitoring nodes that monitor the same survival confirmation requesting node;
The monitoring node storage means that the notification means determines that the survival confirmation request node does not survive on the network when the survival judgment means determines that the survival confirmation request node does not survive on the network. The node device according to any one of (3) to (5), including other monitoring node notification means for notifying other monitoring nodes stored in the node.

このノード装置によれば、同じ生存確認依頼ノードが複数の監視ノードによって監視される場合に、自ノード装置が、その生存確認依頼ノードがネットワーク上に生存しないと判定すると、そのことが複数の監視ノードによって共有される。   According to this node device, when the same existence confirmation requesting node is monitored by a plurality of monitoring nodes, if the own node device determines that the existence confirmation requesting node does not survive on the network, that is the case. Shared by nodes.

したがって、同じ生存確認依頼ノードが、複数の監視ノードによって予定外に冗長的に監視される可能性を軽減することが可能となり、その結果、各監視ノードに課される監視負担を軽減することが可能となる。   Therefore, it is possible to reduce the possibility that the same survival confirmation request node is redundantly monitored unscheduled by a plurality of monitoring nodes, and as a result, the monitoring burden imposed on each monitoring node can be reduced. It becomes possible.

(7) 前記ネットワークから脱退する際に、脱退することを前記生存確認依頼ノードに通知する脱退通知手段を含む(3)ないし(6)項のいずれかに記載のノード装置。 (7) The node device according to any one of (3) to (6), including withdrawal notification means for notifying the survival confirmation requesting node of withdrawal when leaving the network.

このノード装置によれば、生存確認依頼ノードを監視すべき監視ノードがネットワークから脱退した場合に、そのことが生存確認依頼ノードに通知されるため、ある監視ノードがネットワークから脱退することが原因で、生存確認依頼ノードが監視されなくなってしまう事態の発生を回避することが可能となる。   According to this node device, when a monitoring node that should monitor the survival confirmation request node leaves the network, this is notified to the survival confirmation request node. Therefore, it is possible to avoid a situation where the survival confirmation request node is not monitored.

(8) 監視対象の前記生存確認依頼ノードを記憶する生存確認依頼ノード記憶手段と、
生存確認の依頼を受信した場合に、前記生存確認依頼ノード記憶手段に記憶されている前記生存確認依頼ノードの数が所定値を超えているか否かを判定するノード数判定手段と、
そのノード数判定手段により、前記生存確認依頼ノードの数が前記所定値以下であると判定された場合には、生存確認の依頼を受諾し、前記所定値を超えていると判定された場合には、生存確認の依頼を拒否する依頼受諾・拒否手段と
を含む(3)ないし(7)項のいずれかに記載のノード装置。
(8) A survival confirmation request node storage unit that stores the survival confirmation request node to be monitored;
A node number determination means for determining whether or not the number of the survival confirmation request nodes stored in the survival confirmation request node storage means exceeds a predetermined value when a survival confirmation request is received;
When it is determined by the node number determination means that the number of the survival confirmation request nodes is equal to or less than the predetermined value, the request for survival confirmation is accepted, and when it is determined that the number exceeds the predetermined value The node device according to any one of (3) to (7), including request acceptance / rejection means for rejecting a request for confirmation of existence.

このノード装置によれば、同じ監視ノードが複数の生存確認依頼ノードを監視することが許容される態様で実施される場合に、同じ監視ノードによって監視されるべき生存確認依頼ノードの数が過大であるために、その監視ノードの監視負担が過大化することを防止することが可能となる。   According to this node device, when the same monitoring node is allowed to monitor a plurality of survival confirmation request nodes, the number of survival confirmation request nodes to be monitored by the same monitoring node is excessive. For this reason, it is possible to prevent an excessive monitoring burden on the monitoring node.

(9) 同じ生存確認依頼ノードを監視する他の監視ノードを記憶する監視ノード記憶手段を含み、
前記通知手段は、前記サーバへの通信に失敗した場合に、前記監視ノード記憶手段に記憶されている他の監視ノードに、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを前記サーバに通知するように依頼する代行通知手段を含む(3)ないし(8)項のいずれかに記載のノード装置。
(9) including monitoring node storage means for storing other monitoring nodes that monitor the same survival confirmation requesting node;
When the communication to the server fails, the notification means notifies the other monitoring nodes stored in the monitoring node storage means that the survival confirmation request node does not survive on the network. The node device according to any one of items (3) to (8), including proxy notification means for requesting to do so.

このノード装置によれば、ある監視ノードが、ある生存確認依頼ノードがネットワーク上に生存しないと判定したために、そのことをサーバに通知しようとしたが、それに失敗した場合であっても、他の監視ノードを利用することにより、そのサーバへの通知が試行される。したがって、このノード装置によれば、ある生存確認依頼ノードがネットワーク上に生存しないという情報がもれなくサーバに通知され、それにより、もれなくネットワーク管理者にも通知される。   According to this node device, since a certain monitoring node has determined that a certain survival confirmation request node does not survive on the network, an attempt was made to notify the server. By using the monitoring node, notification to the server is attempted. Therefore, according to this node device, information indicating that a certain survival confirmation request node does not survive on the network is notified to the server without fail, and accordingly, it is also notified to the network administrator.

(10) ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して他の複数のノード装置に接続されるとともに前記ネットワークを介してサーバに接続されたノード装置であって、
自ノード装置のための前記ルーティングテーブルに記憶されている他のノード装置のうちの少なくとも一つを、自ノード装置を監視すべき監視ノードとして選択する監視ノード選択手段と、
自ノード装置が前記ネットワーク上に生存するか否かの監視を、前記監視ノード選択手段によって選択された監視ノードに依頼する生存確認依頼手段と
を含むノード装置。
(10) A node device connected to a plurality of other node devices via a network and capable of communicating in a peer-to-peer manner using a routing table, and connected to a server via the network,
Monitoring node selection means for selecting at least one of the other node devices stored in the routing table for the own node device as a monitoring node to be monitored;
A node device comprising: a survival confirmation requesting unit that requests the monitoring node selected by the monitoring node selecting unit to monitor whether or not the own node device is alive on the network.

このノード装置によれば、自ノード装置を監視可能な他のノード装置が複数存在する場合に、自ノード装置のためのルーティングテーブルを参照することにより、それらノード装置のうちの少なくとも1つが監視ノードとして自動的に選択される。さらに、その選択された監視ノードにより、自ノード装置がネットワーク上に生存するか否かが判定される。   According to this node device, when there are a plurality of other node devices capable of monitoring the node device, at least one of the node devices is monitored by referring to the routing table for the node device. Automatically selected as. Further, it is determined by the selected monitoring node whether or not the own node device survives on the network.

(11) 前記監視ノードが、自ノード装置の生存を確認したか否かを判定する監視ノード判定手段と、
その監視ノード判定手段により、前記監視ノードが自ノード装置の生存を確認していないと判定された場合に、前記監視ノードとは別のノード装置を新たな監視ノードとして選択する監視ノード変更手段と
を含む(10)項に記載のノード装置。
(11) monitoring node determination means for determining whether or not the monitoring node has confirmed the existence of the own node device;
A monitoring node changing unit for selecting a node device different from the monitoring node as a new monitoring node when the monitoring node determining unit determines that the monitoring node has not confirmed the existence of the own node device; The node device according to item (10), including:

このノード装置によれば、自ノード装置を監視すべき監視ノードが、何らかの理由により、自ノード装置を監視しないことが判明した場合に、別のノード装置が新たな監視ノードとして自動的に選択される。よって、このノード装置によれば、最初に選択された監視ノードが異常であっても、自ノード装置がネットワーク上に生存するか否かを監視することが可能となる。   According to this node device, when it is found that the monitoring node that should monitor the own node device does not monitor the own node device for some reason, another node device is automatically selected as a new monitoring node. The Therefore, according to this node device, it is possible to monitor whether or not the own node device survives on the network even if the monitoring node selected first is abnormal.

(12) 前記監視ノード判定手段は、指定時刻に、前記監視ノードから特定のリクエストを受信しない場合に、その監視ノードが自ノード装置の生存を確認していないと判定する生存未確認判定手段を含む(11)項に記載のノード装置。 (12) The monitoring node determination unit includes a non-survival determination unit that determines that the monitoring node has not confirmed the existence of the own node device when a specific request is not received from the monitoring node at a specified time. The node device according to item (11).

(13) 前記監視ノードが前記ネットワークから脱退するメッセージを受信した場合に、前記監視ノードとは別のノード装置を新たな監視ノードとして選択する監視ノード変更手段を含む(11)または(12)項に記載のノード装置。 (13) Item (11) or (12) including a monitoring node changing unit that selects a node device different from the monitoring node as a new monitoring node when the monitoring node receives a message to leave the network. The node device described in 1.

このノード装置によれば、自ノード装置を監視すべき監視ノードがネットワークから脱退すると、自ノード装置が別の監視ノードによって監視されるため、監視ノードがネットワークから脱退することが原因で、自ノード装置が監視されなくなるという事態の発生が回避される。   According to this node device, when a monitoring node that should monitor the local node device leaves the network, the local node device is monitored by another monitoring node, so that the local node is disconnected from the network. Occurrence of a situation where the device is no longer monitored is avoided.

(14) (3)ないし(13)項のいずれかに記載のノード装置の各手段としてコンピュータを機能させるために実行されるプログラム。 (14) A program executed to cause a computer to function as each unit of the node device according to any one of (3) to (13).

このプログラムがコンピュータにより実行されれば、前記(3)ないし(13)項のいずれかに係る装置と基本的に同じ原理に従い、同様な作用効果が実現され得る。   If this program is executed by a computer, the same operational effects can be realized in accordance with basically the same principle as that of the device according to any one of the above items (3) to (13).

本項に係るプログラムは、それの機能を果たすためにコンピュータにより実行される指令の組合せのみならず、各指令に従って処理されるファイルやデータをも含むように解釈することが可能である。   The program according to this section can be interpreted so as to include not only a combination of instructions executed by a computer to fulfill its function, but also files and data processed in accordance with each instruction.

また、このプログラムは、それ単独でコンピュータにより実行されることにより、所期の目的を達するものとしたり、他のプログラムと共にコンピュータにより実行されることにより、所期の目的を達するものとすることができる。後者の場合、本項に係るプログラムは、データを主体とするものとすることができる。   In addition, this program may achieve its intended purpose by being executed by a computer alone, or may be intended to achieve its intended purpose by being executed by a computer together with other programs. it can. In the latter case, the program according to this section can be mainly composed of data.

(15) (14)項に記載のプログラムをコンピュータ読取り可能に記録した記録媒体。 (15) A recording medium on which the program according to item (14) is recorded in a computer-readable manner.

この記録媒体に記録されているプログラムがコンピュータにより実行されれば、前記(3)ないし(13)項のいずれかに係る方法と同じ作用効果が実現され得る。   If the program recorded on the recording medium is executed by a computer, the same operational effects as those of the method according to any one of (3) to (13) can be realized.

この記録媒体は種々な形式を採用可能であり、例えば、フレキシブル・ディスク等の磁気記録媒体、CD、CD−ROM等の光記録媒体、MO等の光磁気記録媒体、ROM等のアンリムーバブル・ストレージ等のいずれかを採用し得る。   This recording medium can adopt various formats, for example, a magnetic recording medium such as a flexible disk, an optical recording medium such as a CD and a CD-ROM, a magneto-optical recording medium such as an MO, and an unremovable storage such as a ROM. Any of these may be adopted.

以下、本発明のさらに具体的な実施の形態のうちの一つを図面に基づいて詳細に説明する。本実施形態は、DHTを用いてオーバレイネットワークを構成して複数のノード装置間においてコンテンツ等の情報を共有しつつピアツーピア通信を行うことを可能にする情報通信システムSに本発明を適用する場合の一例である。   Hereinafter, one of more specific embodiments of the present invention will be described in detail with reference to the drawings. In the present embodiment, when the present invention is applied to an information communication system S that makes it possible to perform peer-to-peer communication while sharing information such as content among a plurality of node devices by configuring an overlay network using DHT. It is an example.

図1には、この情報通信システムSの接続構成が系統的に示されている。この情報通信システムSにおいては、各ノード装置が、時間的に変化する役割の種類に応じて種々の処理を選択的に行う。   FIG. 1 systematically shows the connection configuration of the information communication system S. In this information communication system S, each node device selectively performs various processes according to the type of role that changes over time.

概略的には、各ノード装置(図1においては、白丸で表す。)は、よく知られているように、ノードIDの計算、ルーティングテーブルの作成、他のノード装置から受信したメッセージの、次のノード装置への転送、他のノード装置から受信したメッセージに応じた処理等を行う。この情報通信システムSの基本的な動作が特開2006−197400号公報に開示されており、その開示内容はそれ全体として、その公報が引用されることによって本明細書に合体させられる。   Schematically, each node device (represented by a white circle in FIG. 1) calculates a node ID, creates a routing table, and receives messages from other node devices, as is well known. To the node device, processing according to the message received from the other node device, and the like. The basic operation of the information communication system S is disclosed in Japanese Patent Application Laid-Open No. 2006-197400, and the disclosure content thereof is incorporated into the present specification by quoting the official gazette as a whole.

次に、図1を参照することにより、この情報通信システムSの物理的構成および論理的構成を説明する。図1において符号100が付された上枠内には、論理的存在としてのオーバレイネットワーク9が系統的に示され、一方、同図において符号101が付された下枠内には、物理的存在としてのネットワーク(例えば、インターネット,LAN,WAN)8が系統的に示されている。   Next, the physical configuration and logical configuration of the information communication system S will be described with reference to FIG. In FIG. 1, the overlay network 9 as a logical entity is systematically shown in the upper frame denoted by reference numeral 100, while the physical existence is present in the lower frame denoted by reference numeral 101 in FIG. 1. The network (for example, the Internet, LAN, WAN) 8 is systematically shown.

下枠101内に示すように、物理的なネットワーク(現実世界のネットワーク)8を構築するために、IX(Internet eXchange)3、ISP(Internet Service Provider)4、DSL(Digital Subscriber Line)回線事業者用の装置5、FTTH(Fiber To The Home)回線事業者用の装置6、通信回線(例えば、電話回線や光ケーブル等)7等が用いられる。   As shown in the lower frame 101, an IX (Internet eXchange) 3, an ISP (Internet Service Provider) 4, a DSL (Digital Subscriber Line) line provider is used to construct a physical network (real-world network) 8. Apparatus 5, apparatus 6 for FTTH (Fiber To The Home) line operators, communication line (for example, telephone line, optical cable, etc.) 7, etc. are used.

情報通信システムSは、このようなネットワーク8を介して相互に接続された複数のノード装置1a,1b,1c,・・・,1x,1y,1z,・・・を含むように構成され、それにより、ピアツーピア方式のネットワークシステムが実現される。   The information communication system S is configured to include a plurality of node devices 1a, 1b, 1c,..., 1x, 1y, 1z,. Thus, a peer-to-peer network system is realized.

各ノード装置1a,1b,1c,・・・,1x,1y,1z,・・・には、各ノード装置1の同一性を表す情報(デバイスID)として、各ノード装置1に固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。各ノード装置1の製造番号およびIPアドレスは、複数のノード装置1間で重複しないように設定される。   Each node device 1a, 1b, 1c,..., 1x, 1y, 1z,... Has a serial number unique to each node device 1 as information (device ID) indicating the identity of each node device 1. And an IP (Internet Protocol) address. The serial number and IP address of each node device 1 are set so as not to overlap among the plurality of node devices 1.

以下、説明の便宜上、ノード装置1a,1b,1c,・・・,1x,1y,1z,・・・のうちいずれかに言及するために、単に、ノード装置1ということがある。   Hereinafter, for convenience of explanation, the node device 1a, 1b, 1c,..., 1x, 1y, 1z,.

情報通信システムSは、分散ハッシュテーブルDHT(Distributed Hash Table)を利用してノードIDを計算する。具体的には、この情報通信システムSは、DHTを利用したアルゴリズムにより、図1の上部枠100内に示すようにオーバレイネットワーク9を構築する。このオーバレイネットワーク9は、既存のネットワーク8を用いて形成された、仮想リンクより成るネットワークを意味する。   The information communication system S calculates a node ID using a distributed hash table DHT (Distributed Hash Table). Specifically, the information communication system S constructs the overlay network 9 as shown in the upper frame 100 of FIG. 1 by an algorithm using DHT. The overlay network 9 means a network composed of virtual links formed using the existing network 8.

次に、図2を参照することにより、各ノード装置1の構成および機能を説明する。複数の各ノード装置1の構成は互いに共通するため、1つのノード装置1のみを代表的に説明する。図2は、その代表的なノード装置1の構成の一例を概略的に示している。   Next, the configuration and function of each node device 1 will be described with reference to FIG. Since the configuration of each of the plurality of node devices 1 is common to each other, only one node device 1 will be representatively described. FIG. 2 schematically shows an example of the configuration of the representative node device 1.

図2に示すように、ノード装置1は、制御部11と記憶部12とを備えている。制御部1は、演算機能を有するCPU,作業用RAM,各種データおよびプログラムを記憶するROM等から構成されたコンピュータを備えている。記憶部12は、コンテンツデータ、インデックス情報、上記DHT,プログラム等を記憶保存(格納)するためのHD等から構成されている。ただし、複数のノード装置1の中には、コンテンツデータを保存していないノード装置1もある。   As illustrated in FIG. 2, the node device 1 includes a control unit 11 and a storage unit 12. The control unit 1 includes a computer including a CPU having a calculation function, a working RAM, a ROM that stores various data and programs, and the like. The storage unit 12 includes an HD for storing and storing (stores) content data, index information, the DHT, the program, and the like. However, among the plurality of node devices 1, there is also a node device 1 that does not store content data.

ノード装置1は、さらに、受信されたコンテンツデータ等を一時蓄積するバッファメモリ13と、コンテンツデータに含まれるエンコードされたビデオデータ(映像情報)、オーディオデータ(音声情報)等をデコード(データ伸張や復号化等)するデコーダ部14とを備えている。ノード装置1は、さらに、デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部15と、その映像処理部15から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部16とを備えている。   The node device 1 further decodes the encoded video data (video information), audio data (sound information), etc. included in the content memory and the buffer memory 13 for temporarily storing the received content data, etc. And a decoder unit 14 for decoding and the like. The node device 1 further performs a predetermined drawing process on the decoded video data or the like and outputs it as a video signal, and a CRT that displays a video based on the video signal output from the video processing unit 15 And a display unit 16 such as a liquid crystal display.

ノード装置1は、さらに、デコードされたオーディオデータをアナログオーディオ信号にD(Digital)/A(Analog)変換した後、その信号をアンプにより増幅して出力する音声処理部17と、その音声処理部17から出力されたオーディオ信号を音波として出力するスピーカ18とを備えている。   The node device 1 further converts the decoded audio data into an analog audio signal by D (Digital) / A (Analog) conversion, amplifies the signal by an amplifier, and outputs the signal, and the audio processing unit The speaker 18 which outputs the audio signal output from 17 as a sound wave is provided.

ノード装置1は、さらに、ネットワーク8を通じて他のノード装置1との間の情報の通信制御を行うための通信部20と、ユーザからの指示を受け付けるとともにその指示に応じた指示信号を制御部11に対して与える入力部(例えば、キーボード、マウス、操作パネル等)21とを備えている。   The node device 1 further receives a command from the user and performs an instruction signal in accordance with the instruction from the communication unit 20 for performing communication control of information with the other node device 1 through the network 8. An input unit (for example, a keyboard, a mouse, an operation panel, etc.) 21 is provided.

図2に示すように、制御部11、記憶部12、バッファメモリ13、デコーダ部14および通信部20はバス22を介して相互に接続されている。   As shown in FIG. 2, the control unit 11, the storage unit 12, the buffer memory 13, the decoder unit 14, and the communication unit 20 are connected to each other via a bus 22.

ノード装置1においては、制御部11におけるCPUが記憶部12等に記憶された各種プログラムを実行し、それにより、ノード装置1全体が統括制御される。また、入力部21からの指示信号に応じて、コンテンツデータの登録処理等が行われる。   In the node device 1, the CPU in the control unit 11 executes various programs stored in the storage unit 12 and the like, whereby the entire node device 1 is controlled in an integrated manner. Further, content data registration processing or the like is performed in response to an instruction signal from the input unit 21.

各ノード装置1は、よく知られているように、上記オーバレイネットワークに参加するために、図3に表で表す如きルーティングテーブルを作成する。さらに、各ノード装置1は、実行されるプログラムの種類に応じて、果たす役割が変化し、具体的には、情報を送信(転送)するノード装置として機能したり、情報を受信するノード装置として機能する。   As is well known, each node device 1 creates a routing table as shown in the table of FIG. 3 in order to participate in the overlay network. Further, each node device 1 changes its role depending on the type of program to be executed. Specifically, each node device 1 functions as a node device that transmits (transfers) information, or as a node device that receives information. Function.

この情報通信システムSにおいては、各ノード装置1が正規の終了手続を経ずに停止したか否か、すなわち、異常であるか否かが、上述のルーティングテーブルを利用してノード装置1相互の通信を行うことによって判定される。   In this information communication system S, whether or not each node device 1 has stopped without undergoing a normal termination procedure, that is, whether or not it is abnormal, is determined by using the above routing table. It is determined by performing communication.

この異常検出技術を、図4(a)および(b)を参照してさらに具体的に説明する。まず、自ノードXは、それのルーティングテーブルに記憶されているIPアドレスのノード群{A(1),A(2),...,A(N)}から、一部のノード群{A(1),A(2),...,A(k)}に、自ノードXがネットワーク8上に生存していることを確認することを依頼する(以下、「生存確認を依頼する」という。)。生存確認を依頼された他のノード装置1は、自ノードXを監視する役目を有することから、以下、監視ノードという。   This abnormality detection technique will be described more specifically with reference to FIGS. 4 (a) and 4 (b). First, the own node X has a group of nodes {A (1), A (2),. . . , A (N)} from some nodes {A (1), A (2),. . . , A (k)} is requested to confirm that the own node X is alive on the network 8 (hereinafter referred to as “request for alive confirmation”). Since the other node device 1 that has been requested to confirm the existence of the node has a role of monitoring the own node X, it is hereinafter referred to as a monitoring node.

この依頼に際し、各監視ノードが自ノードXにアクセスすべき時刻(すなわち、監視時刻)が自ノードXによって指定されるが、その指定方法はこれに限定されず、例えば、各監視ノードが自ら指定してもよい。それにより、自ノードXは、それぞれ監視ノードである複数のノードA(1)〜A(k)(図4に示す例においては、k=3)に、1ノードずつ順に自ノードXの生存を確認することを依頼する(図4(a)においては、「確認依頼」で示す。)。   At the time of this request, the time at which each monitoring node should access its own node X (that is, the monitoring time) is designated by its own node X, but the designation method is not limited to this. For example, each monitoring node designates itself. May be. As a result, the own node X makes its own node X live in order one by one in a plurality of nodes A (1) to A (k) (k = 3 in the example shown in FIG. 4), which are monitoring nodes. Confirmation is requested (indicated as “confirmation request” in FIG. 4A).

自ノードXは、それが正常にネットワーク8上に生存する場合には、図4(a)に示すように、各監視ノードからのアクセスに応答して、生存する旨のレスポンス(図4(a)においては、「OK」で示す。)を各監視ノードに返信する。   When the own node X normally survives on the network 8, as shown in FIG. 4A, in response to the access from each monitoring node, the response indicating that it survives (FIG. 4A ) Is sent back to each monitoring node.

これに対し、自ノードXは、正規の終了手続きを経て停止しようとする際には、図4(a)に示すように、ネットワーク8から脱退する前に、監視ノード群{A(1),A(2),...,A(k)}にそれぞれ脱退メッセージ(図4(a)においては、「NG」で示す。)を送信する。脱退メッセージを受信したノード群{A(1),A(2),...,A(k)}は、以後、自ノードXについての生存確認を行わない。   On the other hand, when the own node X intends to stop through the normal termination procedure, as shown in FIG. 4A, before leaving the network 8, the monitoring node group {A (1), A (2),. . . , A (k)} respectively, a withdrawal message (indicated as “NG” in FIG. 4A) is transmitted. Node groups {A (1), A (2),. . . , A (k)} thereafter does not check the existence of the own node X.

自ノードXから脱退メッセージを受信しておらず、しかも、ネットワーク8に生存すらしていないためにいずれかの監視ノードが自ノードXに対してその生存を確認するためのメッセージを送信してもそれに対して自ノードXが何ら応答しない場合には(図4(b)においては、「応答なし」で示す。)、その監視ノードは、自ノードXの異常をサーバ200に通知し、さらに、他の監視ノードにも通知する。   Even if any monitoring node transmits a message for confirming its existence to its own node X because it has not received a withdrawal message from its own node X and is not even alive in the network 8. On the other hand, when the own node X does not respond at all (indicated by “no response” in FIG. 4B), the monitoring node notifies the server 200 of the abnormality of the own node X, and Notify other monitoring nodes.

図5には、サーバ200の構成が概念的にブロック図で表されている。このサーバ200は、図2に示すノード装置1と基本的に共通する構成を有している。具体的には、このサーバ200においては、プロセッサ202と記憶部204とがバス205によって互いに接続され、それにより、コンピュータが構成されている。   FIG. 5 conceptually shows the configuration of the server 200 in a block diagram. This server 200 has a configuration that is basically in common with the node device 1 shown in FIG. Specifically, in the server 200, the processor 202 and the storage unit 204 are connected to each other via a bus 205, thereby configuring a computer.

バス205には、さらに、入出力コントローラ206が接続され、その入出力コントローラ206には、マウス等、入力装置210と、液晶ディスプレイ、プリンタ等、出力装置212とが接続されている。バス205には、さらに、通信部220が接続され、サーバ200は、その通信部220を介して、ネットワーク8上の任意の端末(複数のノード装置1およびサーバ200に関連付けられたクライアントを含む)と通信可能となっている。   An input / output controller 206 is further connected to the bus 205, and an input device 210 such as a mouse and an output device 212 such as a liquid crystal display and a printer are connected to the input / output controller 206. A communication unit 220 is further connected to the bus 205, and the server 200 is connected to any terminal on the network 8 (including a plurality of node devices 1 and clients associated with the server 200) via the communication unit 220. It is possible to communicate with.

概略的に説明するに、サーバ200は、情報通信システムSを構成する複数のノード装置1を集中的に保守管理する管理者によって使用される。さらに、このサーバ200には、ネットワーク8に参加しているノードの設置場所が予め登録されている。   Briefly described, the server 200 is used by an administrator who centrally maintains and manages a plurality of node devices 1 constituting the information communication system S. Further, in this server 200, the installation locations of the nodes participating in the network 8 are registered in advance.

このサーバ200は、いずれかの監視ノードから、自ノードXが生存していないこと、すなわち、異常であることの通知を受けると、異常が発生した自ノードXの場所をサーバ200の画面上に表示すること、および/または、そのサーバ200に接続されたクライアント(図示しない)に送信してそのクライアントの画面上に表示する。したがって、自ノードXに異常が発生した場合には、サーバ200は、そのことを情報通信システムSの管理者にいち早く通知することが可能であり、よって、その管理者は、自ノードXの障害にいち早く対応するなど、必要な対策を講ずることが可能となる。   When this server 200 receives notification from one of the monitoring nodes that the own node X is not alive, that is, an abnormality, the server 200 displays the location of the own node X where the abnormality has occurred on the screen of the server 200. Displaying and / or transmitting to a client (not shown) connected to the server 200 and displaying it on the screen of the client. Therefore, when an abnormality occurs in the own node X, the server 200 can promptly notify the administrator of the information communication system S of this, so that the administrator can detect the failure of the own node X. It is possible to take necessary measures such as responding quickly.

次に、フローチャートを参照することにより、各ノード装置1において実行される処理を具体的に説明する。図6には、制御部11によって実行されるメインプログラムがフローチャートで概念的に表されている。このメインプログラムは、各ノード装置1の電源ONに応答して起動し、まず、ステップS1において、ピアツーピア型のネットワーク8に参加するために、ルーティングテーブルが作成される。   Next, processing executed in each node device 1 will be specifically described with reference to a flowchart. In FIG. 6, the main program executed by the control unit 11 is conceptually represented by a flowchart. This main program is activated in response to power-on of each node device 1, and first, in step S1, a routing table is created in order to participate in the peer-to-peer network 8.

次に、ステップS2において、生存確認依頼ノードとしての機能が開始され、また、ステップS3において、監視ノードとしての機能が開始される。ステップS2およびS3は、いずれもスレッドとして、事実上、互いに並行的に実行される。   Next, in step S2, a function as a survival confirmation request node is started, and in step S3, a function as a monitoring node is started. Steps S2 and S3 are both executed in parallel as a thread.

具体的には、ステップS2においては、自ノード装置1が、監視ノードに対して自ノード装置の生存の確認を依頼する生存確認依頼ノードとして機能する場合に、監視を依頼すべき他のノード装置を特定する生存確認依頼リスト(図3に示す例については、図7(a)参照)に対するノード装置の追加・削除が行われる。このステップS2の詳細は、生存確認依頼ルーチンとして、後に、それをフローチャートで概念的に表す図8を参照して説明する。   Specifically, in step S2, when the own node device 1 functions as a survival confirmation requesting node that requests the monitoring node to confirm the existence of the own node device, another node device to which monitoring is requested Node devices are added to or deleted from the survival confirmation request list (see FIG. 7A for the example shown in FIG. 3). Details of this step S2 will be described later as a survival confirmation request routine with reference to FIG.

これに対し、ステップS3においては、自ノード装置1が、他のノード装置にとっての監視ノードとして機能する場合に、監視されるべき他のノード装置を特定する監視リスト(図3に示す例については、図7(b)参照)に対するノード装置の追加・削除が行われる。このステップS3の詳細は、後に、監視ルーチンとして、それをフローチャートで概念的に表す図9を参照して説明する。   On the other hand, in step S3, when the own node device 1 functions as a monitoring node for other node devices, a monitoring list for specifying other node devices to be monitored (for the example shown in FIG. 3). , (See FIG. 7B), node devices are added / deleted. The details of this step S3 will be described later with reference to FIG. 9 which conceptually shows it as a monitoring routine in a flowchart.

図6に戻ると、ステップS4において、自ノード装置1が他のノード装置1からメッセージを受信するのが待たれる。受信したなら、ステップS5において、その受信したメッセージが、それに適合する手法で処理される。続いて、ステップS6において、自ノード装置1に対し、ユーザからのシャットダウン要求があったか否かが判定される。シャットダウン要求がなければ、ステップS4に戻るが、シャットダウン要求があれば、ステップS7において、生存確認依頼ノードとしての機能と、監視ノードとしての機能とがいずれも終了することが待たれる。終了したならば、このメインプログラムの実行が終了する。   Returning to FIG. 6, in step S <b> 4, the local node device 1 waits to receive a message from another node device 1. If received, in step S5, the received message is processed in a manner suitable for it. Subsequently, in step S6, it is determined whether or not there has been a shutdown request from the user to the node device 1. If there is no shutdown request, the process returns to step S4. If there is a shutdown request, in step S7, it is waited for both the function as the survival confirmation requesting node and the function as the monitoring node to end. If completed, the execution of this main program ends.

ここで、図6に示すステップS2の詳細を、図8のフローチャートを参照して説明する。まず、ステップS101において、生存確認依頼リストを作成するために、図10にフローチャートで概念的に表されている生存確認依頼リスト作成ルーチンが実行される。   Here, the details of step S2 shown in FIG. 6 will be described with reference to the flowchart of FIG. First, in step S101, in order to create a survival confirmation request list, a survival confirmation request list creation routine conceptually shown in the flowchart of FIG. 10 is executed.

この生存確認依頼リスト作成ルーチンの実行により、自ノード装置1を監視すべき他のノード装置1すなわち監視ノードが決定される。その監視ノード決定技術の概略を説明する。   By executing this survival confirmation request list creation routine, another node device 1, that is, a monitoring node that should monitor the own node device 1 is determined. An outline of the monitoring node determination technique will be described.

前述のように、自ノード装置1は、ネットワーク8への参加時にルーティングテーブルを作成する。ノードIDが128bitである場合には、最大で256(=16x16)台のノード装置1がルーティングテーブルに存在することになる。   As described above, the own node device 1 creates a routing table when participating in the network 8. When the node ID is 128 bits, a maximum of 256 (= 16 × 16) node devices 1 exist in the routing table.

自ノード装置1が生存確認依頼ノードとして機能する場合には、自ノード装置1のルーティングテーブルに記憶されている他のノード装置1に生存確認を依頼するが、256台のノード装置1のすべてに生存確認を依頼する場合には、自ノード装置1に異常が発生すると、256台のノード装置1が自ノード装置1の異常を検知する必要があるため、効率的ではない。したがって、ルーティングテーブルに記憶されているノード装置1の中から、自ノード装置1の生存を確認すべきノード群{A(1),A(2),…,A(k)}を適当な方法で選択して監視ノードとして決定することが望ましい。   When the own node device 1 functions as a survival confirmation request node, the other node devices 1 stored in the routing table of the own node device 1 are requested to confirm the existence, but all of the 256 node devices 1 are requested. When requesting the existence confirmation, if an abnormality occurs in the own node device 1, it is not efficient because 256 node devices 1 need to detect the abnormality of the own node device 1. Therefore, the node group {A (1), A (2),..., A (k)} that should confirm the existence of the own node device 1 is appropriately selected from the node devices 1 stored in the routing table. It is desirable to select it as a monitoring node.

具体的には、本実施形態においては、例えば、図3に示すルーティングテーブルが、レベル1の行を左端から右端へ移動し、右端に到達したら次のレベルの行の左端へ戻るという順序でスキャンされ、それにより、それぞれのノード装置1が順次、監視ノードとして決定される。   Specifically, in this embodiment, for example, the routing table shown in FIG. 3 scans the level 1 row from the left end to the right end, and when reaching the right end, returns to the left end of the next level row. Thereby, each node device 1 is sequentially determined as a monitoring node.

例えば、自ノード装置1の生存を15分間隔で確認することが必要である場合は、4台(=60(分)/15(分))のノード装置1がそれぞれ監視ノードとして決定され、この場合、各監視ノードの監視回数は、1回/時間となる。例えば、図3に示すルーティングテーブルを用いる場合には、まず、最初の4回のノード装置A〜Dがそれぞれ監視ノードとして決定され、ノード装置Eが、次の監視ノード候補となる。   For example, when it is necessary to check the existence of the own node device 1 at intervals of 15 minutes, four (= 60 (minutes) / 15 (minutes)) node devices 1 are determined as monitoring nodes, respectively. In this case, the monitoring frequency of each monitoring node is 1 time / hour. For example, when the routing table shown in FIG. 3 is used, first, the first four node devices A to D are determined as monitoring nodes, and the node device E becomes the next monitoring node candidate.

さらに、この生存確認依頼リスト作成ルーチンの実行により、自ノード装置1から監視ノードに対して、生存確認の依頼が行われる。その生存確認依頼技術の概略を説明する。   Furthermore, by executing this survival confirmation request list creation routine, a request for survival confirmation is made from the own node device 1 to the monitoring node. The outline of the survival confirmation request technology will be described.

自ノード装置1は、監視ノードが自ノード装置2の生存を確認すべき時刻(以下、「生存確認時刻」という。)を指定する。図3に示す例においては、例えば、生存確認の開始時刻を14:00とすると、ノードAには14:00、ノードBには14:15、ノードCには14:30、ノードDには14:45がそれぞれ、生存確認時刻として指示される。   The own node device 1 designates the time at which the monitoring node should confirm the existence of the own node device 2 (hereinafter referred to as “survival confirmation time”). In the example shown in FIG. 3, for example, if the start time of the survival confirmation is 14:00, node A is 14:00, node B is 14:15, node C is 14:30, and node D is 14:45 is indicated as the survival confirmation time.

自ノード装置1は、監視ノードのノードIDおよびIPアドレスと、前述の生存確認依頼リスト(図7(a)に示すように、監視ノードと生存確認時刻とが互いに関連付けられて記憶される)を記憶する。各監視ノードは、自ノード装置1のノードID、IPアドレス、生存確認時刻および自ノード装置1の生存確認依頼リストを、自ノード装置1から受信して記憶する。   The own node device 1 stores the node ID and IP address of the monitoring node and the above-mentioned survival confirmation request list (the monitoring node and the survival confirmation time are stored in association with each other as shown in FIG. 7A). Remember. Each monitoring node receives the node ID, IP address, survival confirmation time, and survival confirmation request list of the own node device 1 from the own node device 1 and stores them.

また、例えば、図3に示す例においては、自ノード装置1は、14:00にノードAによって生存確認されるメッセージを受信すると、自ノード装置1は、それに対する応答に、次回の生存確認時刻が15:00である情報を含める。なぜなら、15分間隔で自ノード装置1の生存を確認する場合には、最後のノードDの生存確認時刻が14:45であるため、その時刻から15分経過した時刻が次回の生存確認時刻となるからである。自ノード装置1がこのようにして生存確認時刻を更新すると、それに合わせて監視ノードも生存確認時刻を更新する。   For example, in the example illustrated in FIG. 3, when the own node device 1 receives a message for which the existence of the node A is confirmed by the node A at 14:00, the own node device 1 responds with a response to the next existence confirmation time. Includes information that is 15:00. This is because when the existence of the own node device 1 is confirmed at intervals of 15 minutes, the survival confirmation time of the last node D is 14:45, and the time after 15 minutes from that time is the next survival confirmation time. Because it becomes. When the own node device 1 updates the survival confirmation time in this way, the monitoring node also updates the survival confirmation time accordingly.

なお、同じ監視ノードは、既に他のノード装置を監視している可能性がある。同じ監視ノードについての監視数が多くなってしまう場合には、新たな生存確認の依頼を拒否することができる。   The same monitoring node may already be monitoring other node devices. If the number of monitoring for the same monitoring node increases, a new request for confirmation of survival can be rejected.

以上、図10に示す生存確認依頼リスト作成ルーチンの概略を説明したが、以下、図10を参照することにより、詳細に説明する。   The outline of the survival confirmation request list creation routine shown in FIG. 10 has been described above, but will be described in detail below with reference to FIG.

まず、ステップS301において、初期設定が行われる。具体的には、自ノード装置1(=ノードX)を監視すべき監視ノードの数(生存確認依頼リストに登録されている監視ノードの数)がNに設定され、他のノード装置1が監視ノードとして決定されるごとに1ずつインクリメントされる整数としての監視ノード決定数kの値が0に設定され、生存確認を順次行う際の時間間隔がΔt(指定値)に設定され、生存確認開始時刻(自ノード装置1を監視すべき最初の時刻)がT(指定値)に設定される。さらに、ルーティングテーブル上における監視ノード候補の位置(i,j)(i:行の番号、j:列の番号)が(0,0)に設定される。   First, in step S301, initial setting is performed. Specifically, the number of monitoring nodes that should monitor the own node device 1 (= node X) (the number of monitoring nodes registered in the survival confirmation request list) is set to N, and other node devices 1 monitor The value of the monitoring node determination number k as an integer that is incremented by 1 every time it is determined as a node is set to 0, the time interval for sequentially performing the survival check is set to Δt (specified value), and the survival check starts The time (first time at which the own node device 1 should be monitored) is set to T (specified value). Furthermore, the position (i, j) (i: row number, j: column number) of the monitoring node candidate on the routing table is set to (0, 0).

次に、ステップS302において、生存確認依頼リストがクリアされる。続いて、ステップS303において、ルーティングテーブル上における位置(i,j)に何らかのノード装置1が登録されているか否かが判定される。いずれのノ−ド装置1も登録されていない場合には、ステップS304において、列番号jが1だけインクリメントされ、その後、ステップS305において、列番号jの現在値がルーティングテーブルの列数に一致するか否かが判定される。一致しない場合には、ステップS303に戻るが、一致する場合には、ステップS306において、行番号iが1だけインクリメントされるとともに、列番号jが「0」に戻される。   Next, in step S302, the survival confirmation request list is cleared. Subsequently, in step S303, it is determined whether or not any node device 1 is registered at the position (i, j) on the routing table. If no node device 1 is registered, the column number j is incremented by 1 in step S304, and then the current value of the column number j matches the number of columns in the routing table in step S305. It is determined whether or not. If they do not match, the process returns to step S303. If they match, in step S306, the row number i is incremented by 1, and the column number j is returned to “0”.

続いて、ステップS307において、行番号iの現在値がルーティングテーブルのレベル数(図3に示す例においては、「4」)に一致するか否かが判定される。一致しない場合には、ステップS303に戻るが、一致する場合には、ステップS308において、行番号iが「0」に戻された後にステップS303に戻る。   Subsequently, in step S307, it is determined whether or not the current value of the line number i matches the number of levels in the routing table (“4” in the example shown in FIG. 3). If they do not match, the process returns to step S303. If they match, the line number i is returned to “0” in step S308, and then the process returns to step S303.

これに対し、ルーティングテーブル上における位置(i,j)に何らかのノード装置1が登録されている場合には、ステップS303の判定がYESとなり、ステップS309において、ルーティングテーブル上における位置(i,j)に登録されているノード装置1が自ノード装置1であるか否かが判定される。そうであれば、ステップS304に移行するが、そうでなければ、ステップS310において、いずれのノ−ド装置1も登録されていない場合には、ステップS304において、列番号jが1だけインクリメントされ、その後、ステップS310に移行する。   On the other hand, when any node device 1 is registered at the position (i, j) on the routing table, the determination at step S303 is YES, and at step S309, the position (i, j) on the routing table. It is determined whether or not the node device 1 registered in is the own node device 1. If so, the process proceeds to step S304. Otherwise, if no node device 1 is registered in step S310, the column number j is incremented by 1 in step S304. Thereafter, the process proceeds to step S310.

このステップS310においては、ルーティングテーブル上における位置(i,j)に登録されているノード装置1が監視ノードとして決定されるとともに、その監視ノードに対し、生存確認開始時刻Tが到来したときに自ノード装置1の生存を確認することが依頼される。続いて、ステップS311において、ルーティングテーブル上における位置(i,j)に登録されているノード装置1(監視ノード)から、生存確認依頼を肯定する応答があったか否かが判定される。肯定応答がなかった場合には、ステップS304に移行するが、あった場合には、ステップS312に移行する。   In step S310, the node device 1 registered at the position (i, j) on the routing table is determined as the monitoring node, and when the survival confirmation start time T has arrived for the monitoring node, It is requested to confirm the existence of the node device 1. Subsequently, in step S311, it is determined whether or not there is a response from the node device 1 (monitoring node) registered at the position (i, j) on the routing table to affirm the survival confirmation request. If there is no affirmative response, the process proceeds to step S304. If there is, the process proceeds to step S312.

このステップS312においては、自ノード装置1の生存確認依頼リストに、ルーティングテーブル上における位置(i,j)に登録されているノード装置1(監視ノード)のノードID、IPアドレスおよび生存確認時刻t(今回は、生存確認開始時刻Tに一致する)が記憶される。   In this step S312, the node ID, IP address, and survival confirmation time t of the node device 1 (monitoring node) registered at the position (i, j) on the routing table in the survival confirmation request list of the own node device 1. (This time coincides with the survival confirmation start time T) is stored.

その後、ステップS313において、監視ノード決定数kが1だけインクリメントされる。続いて、ステップS314において、監視ノード決定数kの現在値が監視ノード数Nに一致するか否かが判定される。一致しない場合には、ステップS315において、次の生存確認時刻tが、今回の生存開始時刻t(今回は、生存確認開始時刻Tに一致する)に時間間隔Δtを加算されたものとして求められる。続いて、ステップS304に移行する。   Thereafter, in step S313, the monitoring node determination number k is incremented by one. Subsequently, in step S314, it is determined whether or not the current value of the monitoring node determination number k matches the monitoring node number N. If they do not match, the next survival confirmation time t is determined in step S315 as the current survival start time t (this time coincides with the survival confirmation start time T) plus the time interval Δt. Subsequently, the process proceeds to step S304.

これに対して、監視ノード決定数kの現在値が監視ノード数Nに一致する場合には、ステップS316において、必要な監視ノードのすべてが決定された後、それら監視ノードのすべてに対して、自ノード装置1のノードID、IPアドレス、生存確認時刻tおよび生存確認依頼リストが送信される。以上で、この生存確認依頼リスト作成ルーチンの実行が終了し、その後、図8に示すステップS102に移行する。   On the other hand, if the current value of the monitoring node determination number k matches the monitoring node number N, after all the necessary monitoring nodes are determined in step S316, The node ID, IP address, survival confirmation time t, and survival confirmation request list of the own node device 1 are transmitted. This is the end of the execution of the survival confirmation request list creation routine, and then the process proceeds to step S102 shown in FIG.

図11には、図4に示される例についてこの生存確認依頼リスト作成ルーチンが実行された場合に行われる手続がシーケンス図で表されている。   FIG. 11 is a sequence diagram showing a procedure performed when the survival confirmation request list creation routine is executed for the example shown in FIG.

図8に示すステップS102においては、自ノード装置1が監視ノードの異常を検知するために、図12にフローチャートで概念的に表されている監視ノード異常検知ルーチンが実行される。この監視ノード異常検知ルーチンは、スレッドとして実行され、その結果、他のステップと事実上、並行して実行される。   In step S102 shown in FIG. 8, in order for the node device 1 to detect an abnormality of the monitoring node, a monitoring node abnormality detection routine conceptually shown in the flowchart of FIG. 12 is executed. This monitoring node abnormality detection routine is executed as a thread, and as a result, is executed in parallel with other steps.

概略的に説明するに、この監視ノード異常検知ルーチンが実行されると、注目する監視ノードが、それに関連付けられた生存確認時刻tが経過しても、自ノード装置1の生存の確認を行わないために、生存確認依頼リストから削除されずに残存している場合に、自ノード装置1は、その監視ノードが異常停止したものと判定する。この場合、自ノード装置1は、前述の監視ノード選択手順に従って、その異常の監視ノードが行うはずであった生存確認を、次の監視ノード候補に依頼する。   Briefly, when this monitoring node abnormality detection routine is executed, the monitoring node of interest does not confirm the existence of the own node device 1 even if the survival confirmation time t associated therewith has elapsed. Therefore, if the node device 1 remains without being deleted from the survival confirmation request list, the node device 1 determines that the monitoring node has stopped abnormally. In this case, the own node device 1 requests the next monitoring node candidate to confirm the existence that the abnormal monitoring node should have performed according to the above-described monitoring node selection procedure.

具体的に説明するに、この監視ノード異常検知ルーチンが起動すると、まず、ステップS401において、監視ノード数、すなわち、自ノード装置1の生存確認依頼リストに登録されている監視ノードの数がNに設定され、さらに、注目すべき監視ノードを特定するための番号iが「1」に設定される。   Specifically, when this monitoring node abnormality detection routine is started, first, in step S401, the number of monitoring nodes, that is, the number of monitoring nodes registered in the survival confirmation request list of the own node device 1 is set to N. In addition, a number i for specifying a monitoring node to be noted is set to “1”.

次に、ステップS402において、複数の監視ノードのうち今回注目されるもの(番号iの現在値を有する監視ノードであって、以下、「今回の監視ノードA(i)」という。)に関連付けられた生存確認時刻tが経過したか否かが判定される。   Next, in step S402, among the plurality of monitoring nodes, it is associated with the one that is noticed this time (the monitoring node having the current value of the number i, hereinafter referred to as “current monitoring node A (i)”). It is determined whether the survival confirmation time t has elapsed.

本実施形態においては、今回の監視ノードA(i)は、本来であれば、生存確認時刻tが到来したときに、生存確認依頼ノードを監視し、その結果、生存確認依頼ノードの監視リストから削除されるはずである。一方、生存確認依頼ノードは、生存確認時刻tが経過したにもかかわらず、該当する各監視ノードAから何ら特定のリクエストを受信しない場合に、各監視ノードAは、生存確認依頼ノードの生存を正常に確認しなかったと判定するように設計されている。   In the present embodiment, the current monitoring node A (i) originally monitors the survival confirmation request node when the survival confirmation time t arrives, and as a result, from the monitoring list of the survival confirmation request node. Should be deleted. On the other hand, if the survival confirmation request node does not receive any specific request from the corresponding monitoring node A even though the survival confirmation time t has elapsed, each monitoring node A It is designed to determine that it has not been confirmed normally.

したがって、生存確認時刻tが経過した後にも、今回の監視ノードA(i)が監視リストに存在するということは、今回の監視ノードA(i)が生存確認時刻tに生存確認を行わなかったことを意味する。よって、このステップS402においては、結局、今回の監視ノードA(i)が生存確認時刻tに生存確認を行わなかったか否かが判定されることになる。   Therefore, even if the survival confirmation time t has elapsed, the fact that the current monitoring node A (i) exists in the monitoring list means that the current monitoring node A (i) did not perform the survival confirmation at the survival confirmation time t. Means that. Therefore, in this step S402, it is finally determined whether or not the current monitoring node A (i) has not confirmed the survival at the survival confirmation time t.

今回の監視ノードA(i)に関連付けられた生存確認時刻tが経過していない場合には、ステップS403において、番号iが1だけインクリメントされ、その後、ステップS404において、番号iの現在値が監視ノード数Nより大きいか否かが判定される。番号iの現在値が監視ノード数Nより大きくはない場合には、直ちにステップS402に戻るが、大きい場合は、ステップS405において番号iの現在値が「1」に戻された後、ステップS402に戻る。   If the survival confirmation time t associated with the current monitoring node A (i) has not elapsed, the number i is incremented by 1 in step S403, and then the current value of the number i is monitored in step S404. It is determined whether the number of nodes is greater than N. If the current value of the number i is not greater than the number N of monitoring nodes, the process immediately returns to step S402. If it is greater, the current value of the number i is returned to “1” in step S405, and then the process returns to step S402. Return.

これに対して、今回の監視ノードA(i)に関連付けられた生存確認時刻tが経過した場合(すなわち、今回の監視ノードA(i)が生存確認時刻tに生存確認を行わなかった場合)には、ステップS402の判定がYESとなり、ステップS406において、次の監視ノード候補(例えば、図3に示す例においては、ノードB)に、今回の監視ノードA(i)に関連付けられた生存確認時刻tから時間間隔Pが経過した次回の生存確認時刻tに自ノード装置1の生存を確認することが依頼される。   On the other hand, when the survival confirmation time t associated with the current monitoring node A (i) has elapsed (that is, when the current monitoring node A (i) has not performed the survival confirmation at the survival confirmation time t). In step S402, the determination in step S402 is YES. In step S406, the next monitoring node candidate (for example, node B in the example shown in FIG. 3) is confirmed to be alive in association with the current monitoring node A (i). It is requested to confirm the existence of the own node device 1 at the next survival confirmation time t when the time interval P has elapsed from the time t.

続いて、ステップS407において、その依頼を受けたノード装置が、新たな監視ノードA(i)とされ、自ノード装置1の生存確認依頼リストに、その新たな監視ノードA(i)のノードID、IPアドレスおよび生存確認時刻tが記憶される。これにより、自ノード装置1の生存確認依頼リストが更新される。   Subsequently, in step S407, the node device that has received the request is set as a new monitoring node A (i), and the node ID of the new monitoring node A (i) is displayed in the survival confirmation request list of the own node device 1. , The IP address and the survival confirmation time t are stored. Thereby, the survival confirmation request list of the own node device 1 is updated.

続いて、ステップS408において、番号iが「1」に戻される。その後、ステップS409において、今回の監視ノードA(i)に対し、更新された生存確認依頼リストが通知される。続いて、ステップS410において、番号iが1だけインクリメントされ、その後、ステップS411において、番号iの現在値が監視ノード数Nより大きいか否かが判定される。番号iの現在値が監視ノード数Nより大きくはない場合には、ステップS409に戻るが、大きい場合には、ステップS401に戻る。   Subsequently, in step S408, the number i is returned to “1”. Thereafter, in step S409, the updated survival confirmation request list is notified to the current monitoring node A (i). Subsequently, in step S410, the number i is incremented by 1. Thereafter, in step S411, it is determined whether or not the current value of the number i is larger than the number N of monitoring nodes. If the current value of the number i is not larger than the number N of monitoring nodes, the process returns to step S409, but if larger, the process returns to step S401.

図8に戻ると、ステップS103において、自ノード装置1が監視ノードから脱退メッセージを受信したか否かが判定される。受信した場合には、ステップS104において、自ノード装置1の生存確認依頼リストから、その脱退した監視ノードを削除するために、図13にフローチャートで概念的に表されている監視ノード削除ルーチンが実行される。   Returning to FIG. 8, in step S <b> 103, it is determined whether or not the own node apparatus 1 has received a withdrawal message from the monitoring node. If received, in step S104, the monitoring node deletion routine conceptually shown in the flowchart of FIG. 13 is executed to delete the withdrawn monitoring node from the survival confirmation request list of the own node device 1. Is done.

この監視ノード削除ルーチンにおいては、まず、ステップS451において、監視ノード数、すなわち、自ノード装置1の生存確認依頼リストに登録されている監視ノードの数がNに設定され、さらに、注目すべき監視ノードを特定するための番号iが「1」に設定される。   In this monitoring node deletion routine, first, in step S451, the number of monitoring nodes, that is, the number of monitoring nodes registered in the survival confirmation request list of the own node device 1 is set to N. The number i for specifying the node is set to “1”.

次に、ステップS452において、脱退メッセージを送信した監視ノード(図3に示す例においては、例えば、ノードAが該当する可能性があるため、以下、説明の便宜上、「脱退メッセージを送信したノードA」という。)のノードIDと、今回の監視ノードA(i)のノードIDとが互いに一致するか否かが判定される。一致しない場合には、ステップS453において、番号iが1だけインクリメントされる。   Next, in step S452, the monitoring node that has transmitted the withdrawal message (in the example illustrated in FIG. 3, for example, node A may be applicable. It is determined whether or not the node ID of the monitoring node A (i) of this time and the node ID of the current monitoring node A (i) match. If they do not match, the number i is incremented by 1 in step S453.

その後、ステップS454において、番号iの現在値が監視ノード数Nより大きいか否かが判定される。大きくはない場合には、ステップS452に戻るが、大きい場合には、ステップS456に移行する。脱退メッセージを送信したノードAのノードIDと、今回の監視ノードA(i)のノードIDとが互いに一致する場合には、ステップS455において、生存確認依頼リストから今回の監視ノードA(i)が削除された後、ステップS456に移行する。   Thereafter, in step S454, it is determined whether or not the current value of the number i is larger than the number N of monitoring nodes. If it is not larger, the process returns to step S452. If it is larger, the process proceeds to step S456. If the node ID of the node A that transmitted the withdrawal message and the node ID of the current monitoring node A (i) match each other, in step S455, the current monitoring node A (i) After being deleted, the process proceeds to step S456.

いずれにしても、ステップS456においては、脱退メッセージを送信したノードAに対して、脱退メッセージを受信した旨の応答が行われる。続いて、ステップS457において、次の監視ノード候補(例えば、図3に示す例においては、ノードB)に、今回の監視ノードA(i)に関連付けられた生存確認時刻tから時間間隔Pが経過した次回の生存確認時刻tに自ノード装置1の生存を確認することが依頼される。   In any case, in step S456, a response indicating that the withdrawal message has been received is sent to the node A that has transmitted the withdrawal message. Subsequently, in step S457, the time interval P has elapsed from the survival confirmation time t associated with the current monitoring node A (i) to the next monitoring node candidate (for example, node B in the example shown in FIG. 3). It is requested to confirm the existence of the node device 1 at the next existence confirmation time t.

続いて、ステップS458において、その依頼を受けたノード装置が、新たな監視ノードA(i)とされ、自ノード装置1の生存確認依頼リストに、その新たな監視ノードA(i)のノードID、IPアドレスおよび生存確認時刻tが記憶される。これにより、自ノード装置1の生存確認依頼リストが更新される。   Subsequently, in step S458, the node device that has received the request is set as a new monitoring node A (i), and the node ID of the new monitoring node A (i) is added to the survival confirmation request list of the own node device 1. , The IP address and the survival confirmation time t are stored. Thereby, the survival confirmation request list of the own node device 1 is updated.

続いて、ステップS459において、番号iが1に戻される。その後、ステップS460において、今回の監視ノードA(i)に対し、更新された生存確認依頼リストが通知される。続いて、ステップS461において、番号iが1だけインクリメントされ、その後、ステップS462において、番号iの現在値が監視ノード数Nより大きいか否かが判定される。番号iの現在値が監視ノード数Nより大きくはない場合には、ステップS460に戻るが、大きい場合には、この監視ノード削除ルーチンの実行が終了する。   Subsequently, in step S459, the number i is returned to 1. Thereafter, in step S460, the updated survival confirmation request list is notified to the current monitoring node A (i). Subsequently, in step S461, the number i is incremented by 1. Thereafter, in step S462, it is determined whether or not the current value of the number i is greater than the number N of monitoring nodes. If the current value of the number i is not larger than the number N of monitoring nodes, the process returns to step S460. If it is larger, the execution of this monitoring node deletion routine ends.

その後、図8に示すステップS105において、自ノード装置1に対してユーザがシャットダウン要求を出したか否かが判定される。シャットダウン要求が出されていない場合には、ステップS103に戻るが、出された場合には、ステップS106において、自ノード装置1がネットワーク8から脱退するために、図14にフローチャートで概念的に表されているノード脱退通知ルーチンが実行される。   Thereafter, in step S105 shown in FIG. 8, it is determined whether or not the user has issued a shutdown request to the node device 1. If a shutdown request has not been issued, the process returns to step S103. If a shutdown request has been issued, the node apparatus 1 withdraws from the network 8 in step S106. The node withdrawal notification routine is executed.

概略的に説明するに、このノード脱退通知ルーチンが実行されると、自ノード装置1は、ネットワーク8から脱退しようとする際に、すべての監視ノードに対して脱退メッセージを送信する。その脱退メッセージを受信した各監視ノードは、以後、自ノード装置1の生存確認を行わない。   Briefly described, when this node withdrawal notification routine is executed, the own node device 1 transmits a withdrawal message to all the monitoring nodes when attempting to leave the network 8. Each monitoring node that has received the withdrawal message does not confirm the existence of its own node device 1 thereafter.

具体的に説明するに、このノード脱退通知ルーチンが実行されると、まず、ステップS501において、監視ノード数、すなわち、自ノード装置1の生存確認依頼リストに登録されている監視ノードの数がNに設定され、さらに、生存確認を依頼すべき複数の監視ノードにそれぞれ付された番号iが「1」に設定される。   Specifically, when this node withdrawal notification routine is executed, first, in step S501, the number of monitoring nodes, that is, the number of monitoring nodes registered in the survival confirmation request list of the own node device 1 is N. In addition, the number i assigned to each of the plurality of monitoring nodes to which the survival confirmation is requested is set to “1”.

次に、ステップS502において、今回の監視ノードA(i)に対して脱退メッセージが送信される。続いて、ステップS503において、今回の監視ノードA(i)からの応答を受け取るのが待たれる。応答を受けたなら、ステップS504において、番号iが1だけインクリメントされ、続いて、ステップS505において、番号iの現在値が監視ノード数Nより大きいか否かが判定される。番号iの現在値が監視ノード数Nより大きくはない場合には、ステップS502に戻るが、大きい場合には、このノード脱退通知ルーチンの実行が終了する。   Next, in step S502, a withdrawal message is transmitted to the current monitoring node A (i). Subsequently, in step S503, it is awaited to receive a response from the current monitoring node A (i). If a response is received, in step S504, the number i is incremented by 1. Subsequently, in step S505, it is determined whether or not the current value of the number i is greater than the number N of monitoring nodes. If the current value of the number i is not greater than the number N of monitoring nodes, the process returns to step S502. If it is greater, the execution of this node withdrawal notification routine is terminated.

図15には、図4(b)に示される例についてこのノード脱退通知ルーチンが実行された場合に行われる手続がシーケンス図で表されている。この例においては、監視ノードA(1)が、ノードXからの脱退メッセージがないにもかかわらず、ノードXの生存確認の応答がなければ、ノードXが異常停止したことをサーバ200へ通知する。監視ノードA(1)は、サーバ200への通知に失敗したら、同じ生存確認依頼ノードを監視する他の監視ノードA(2)へ代行通知を依頼する。監視ノードA(2)は、サーバ200への通知に成功したら、ノードXが異常停止したことを、同じ生存確認依頼ノードを監視するすべての監視ノード(ここではA(3)のみ)に通知する。   FIG. 15 is a sequence diagram showing a procedure performed when this node withdrawal notification routine is executed for the example shown in FIG. In this example, the monitoring node A (1) notifies the server 200 that the node X has stopped abnormally if there is no response to the existence confirmation of the node X even though there is no withdrawal message from the node X. . If the monitoring node A (1) fails to notify the server 200, the monitoring node A (1) requests an alternate notification to the other monitoring node A (2) that monitors the same survival confirmation requesting node. If the monitoring node A (2) succeeds in notifying the server 200, the monitoring node A (2) notifies all monitoring nodes (here, only A (3)) that monitor the same survival confirmation request node that the node X has stopped abnormally. .

ここで、図6に示すステップS3の詳細を、図9のフローチャートを参照して説明する。前述のように、ステップS3は、自ノード装置1が監視ノードとして、すなわち、生存確認依頼ノード装置を監視するノードとして機能するために実行される。   Here, details of step S3 shown in FIG. 6 will be described with reference to the flowchart of FIG. As described above, step S3 is executed in order for the own node device 1 to function as a monitoring node, that is, as a node that monitors the survival confirmation requesting node device.

図9に示すように、ステップS3においては、まず、ステップS201が実行される。このステップS201においては、自ノード装置1が、監視ノードとして、自ノード装置1に対して生存確認を依頼したノード装置の異常を検知するために、図16にフローチャートで概念的に表されている生存確認依頼ノード異常検知ルーチンが実行される。この生存確認依頼ノード異常検知ルーチンは、スレッドとして実行され、その結果、他のステップと事実上、並行して実行される。   As shown in FIG. 9, in step S3, first, step S201 is executed. In this step S201, the own node apparatus 1 is conceptually represented by a flowchart in FIG. 16 in order to detect an abnormality of the node apparatus that has requested the existence confirmation to the own node apparatus 1 as a monitoring node. A survival confirmation request node abnormality detection routine is executed. This survival confirmation request node abnormality detection routine is executed as a thread, and as a result, is executed substantially in parallel with other steps.

概略的に説明するに、この生存確認依頼ノード異常検知ルーチンが実行されると、自ノード装置1(今回は、監視ノードとして機能する)が生存確認依頼ノード(図4に示す例においては、ノードX)から脱退メッセージを受信しておらず、しかも、生存確認依頼ノードに対して、その生存を確認するためのメッセージを送信しても、その生存確認依頼ノードから何ら応答がなかった場合には、生存確認依頼ノードが異常停止したと判定し、そのことをサーバ200に通知する。   To explain briefly, when this survival confirmation request node abnormality detection routine is executed, the own node device 1 (which functions as a monitoring node this time) is connected to the survival confirmation request node (in the example shown in FIG. X) If no withdrawal message has been received from the existence confirmation request node, and there is no response from the existence confirmation request node even if a confirmation message is sent to the existence confirmation request node. Then, it is determined that the survival confirmation request node has stopped abnormally, and this is notified to the server 200.

この場合、自ノード装置1は、サーバ200への通知に失敗すると、同じ生存確認依頼ノードを監視すべき他の複数の監視ノードのちのいずれかを代行監視ノードとして選択し、その代行監視ノードに、生存確認依頼ノードが異常停止したことをサーバ200に通知することを依頼する。   In this case, if the node device 1 fails to notify the server 200, the node device 1 selects one of the other plurality of monitoring nodes that should monitor the same survival confirmation request node as the proxy monitoring node, and sets it as the proxy monitoring node. The server 200 is requested to notify the server 200 that the survival confirmation requesting node has stopped abnormally.

具体的に説明するに、この生存確認依頼ノード異常検知ルーチンが実行されると、まず、ステップS601において、生存確認依頼ノード数、すなわち、自ノード装置1の監視リストに登録されている複数の生存確認依頼ノードの数がMとして設定され、注目すべき生存確認依頼ノードを特定するための番号iが「1」として設定され、生存確認のリトライ回数がR(指定値)として設定され、生存確認がリトライされるごとに1ずつインクリメントされる生存確認試行回数rが「0」として設定される。   More specifically, when this survival confirmation request node abnormality detection routine is executed, first, in step S601, the number of survival confirmation request nodes, that is, a plurality of survival registrations registered in the monitoring list of the own node device 1 are first obtained. The number of confirmation request nodes is set as M, the number i for specifying a noticeable survival confirmation request node is set as “1”, the number of retries for survival confirmation is set as R (specified value), and the survival confirmation is performed. The survival confirmation trial count r incremented by 1 each time is retried is set as “0”.

次に、ステップS602において、今回の生存確認依頼ノードX(i)に関連付けられた生存確認時刻tが経過したか否かが判定される。経過していない場合には、ステップS603において、番号iが1だけインクリメントされ、続いて、ステップS604において、番号iの現在値が生存確認依頼ノード数Mより大きいか否かが判定される。大きくはない場合には、直ちにステップS602に戻るが、大きい場合には、ステップS605において番号iの現在値が「1」に戻された後、ステップS602に戻る。   Next, in step S602, it is determined whether or not the survival confirmation time t associated with the current survival confirmation request node X (i) has elapsed. If not, in step S603, the number i is incremented by 1. Subsequently, in step S604, it is determined whether or not the current value of the number i is greater than the number M of survival confirmation request nodes. If it is not larger, the process immediately returns to step S602. If it is larger, the current value of the number i is returned to “1” in step S605, and then the process returns to step S602.

今回の生存確認依頼ノードX(i)に関連付けられた生存確認時刻tが経過した場合には、ステップS602の判定がYESとなり、ステップS606において、生存確認試行回数rが「0」に戻され、続いて、ステップS607において、今回の生存確認依頼ノードX(i)に対して、その生存を確認するためのメッセージが送信される。その後、ステップS608において、今回の生存確認依頼ノードX(i)から、自ノード装置1に対して応答があったか否かが判定される。応答があった場合には、直ちにステップS603に移行するが、応答がなかった場合には、ステップS609において、生存確認試行回数rが1だけインクリメントされる。   When the survival confirmation time t associated with the current survival confirmation request node X (i) has elapsed, the determination in step S602 is YES, and in step S606, the survival confirmation trial count r is returned to “0”. Subsequently, in step S607, a message for confirming the survival is transmitted to the current survival confirmation request node X (i). Thereafter, in step S608, it is determined whether or not there is a response from the current survival confirmation requesting node X (i) to the own node device 1. If there is a response, the process immediately proceeds to step S603. If there is no response, the survival confirmation trial count r is incremented by 1 in step S609.

その後、ステップS610において、生存確認試行回数rの現在値がリトライ回数Rに一致するか否かが判定される。一致しない場合には、ステップS607に戻るが、一致する場合には、ステップS610aに移行する。このステップS610aにおいては、今回の生存確認依頼ノードX(i)がネットワーク8上に生存しない、すなわち、異常であると判定される。その後、ステップS611において、今回の生存確認依頼ノードX(i)が異常であることをサーバ200に通知することが試行される。   Thereafter, in step S610, it is determined whether or not the current value of the survival confirmation trial count r matches the retry count R. If they do not match, the process returns to step S607, but if they match, the process proceeds to step S610a. In step S610a, it is determined that the current survival confirmation request node X (i) does not survive on the network 8, that is, is abnormal. Thereafter, in step S611, an attempt is made to notify the server 200 that the current survival confirmation request node X (i) is abnormal.

続いて、ステップS612において、その試行が成功したか否かが判定される。成功した場合には、ステップS619において、自ノード装置1が、今回の生存確認依頼ノードX(i)に対して生存確認を続行することを停止させるために、自ノード装置1の監視リストから今回の生存確認依頼ノードX(i)が削除される。   Subsequently, in step S612, it is determined whether or not the trial is successful. If successful, in step S619, the current node device 1 is checked from the monitoring list of the current node device 1 to stop continuing the life check for the current life check request node X (i). The survival confirmation request node X (i) is deleted.

その後、ステップS620において、今回の生存確認依頼ノードX(i)の生存確認依頼リストに登録されているすべての監視ノードA(k)(k=1,...N)に対して、今回の生存確認依頼ノードX(i)が異常であることが通知される。これは、それら監視ノードA(k)が、今回の生存確認依頼ノードX(i)に対して生存確認を行うことを停止させるためである。続いて、ステップS621において、生存確認依頼ノード数Mが1だけデクリメントされ、その後、ステップS603に戻る。   Thereafter, in step S620, for all monitoring nodes A (k) (k = 1,... N) registered in the survival confirmation request list of the current survival confirmation request node X (i), It is notified that the survival confirmation request node X (i) is abnormal. This is because the monitoring nodes A (k) stop performing the survival check for the current survival check request node X (i). Subsequently, in step S621, the survival confirmation requesting node number M is decremented by 1, and then the process returns to step S603.

これに対し、今回は、今回の生存確認依頼ノードX(i)が異常であることをサーバ200に通知するための試行が失敗したと仮定すると、ステップS612の判定がNOとなり、ステップS613において、監視モード数、すなわち、今回の生存確認依頼ノードX(i)の生存確認依頼リストに登録されている監視ノードA(j)の数がNとして設定され、さらに、番号jが「1」として設定される。   On the other hand, assuming that the attempt to notify the server 200 that the current survival confirmation request node X (i) is abnormal has failed this time, the determination in step S612 is NO, and in step S613, The number of monitoring modes, that is, the number of monitoring nodes A (j) registered in the survival confirmation request list of the current survival confirmation request node X (i) is set as N, and the number j is set as “1”. Is done.

続いて、ステップS614において、今回の生存確認依頼ノードX(i)の生存確認依頼リストに登録されている監視ノードAのうち今回の監視ノードA(j)に、今回の生存確認依頼ノードX(i)が異常であることをサーバ200に通知するための試行が依頼される。すなわち、今回の監視ノードA(j)が、前述の代行監視ノードなのである。   Subsequently, in step S614, among the monitoring nodes A registered in the survival confirmation request list of the current survival confirmation request node X (i), the current survival confirmation request node X ( An attempt is made to notify server 200 that i) is abnormal. That is, the current monitoring node A (j) is the aforementioned proxy monitoring node.

その後、ステップS615において、サーバ200に通知するための試行が成功したか否かが判定される。成功した場合には、ステップS619に移行するが、失敗した場合には、ステップS616において、番号jの現在値が1だけインクリメントされ、続いて、ステップS617において、番号jの現在値が監視ノード数Nより大きいか否かが判定される。大きくはない場合には、直ちにステップS614に移行するが、大きい場合には、ステップS618において番号jの現在値が「1」に戻された後に、ステップS614に戻る。   Thereafter, in step S615, it is determined whether or not the attempt to notify the server 200 is successful. If successful, the process proceeds to step S619. If unsuccessful, the current value of number j is incremented by 1 in step S616. Subsequently, in step S617, the current value of number j is changed to the number of monitoring nodes. It is determined whether or not it is greater than N. If it is not larger, the process immediately proceeds to step S614. If it is larger, the current value of the number j is returned to “1” in step S618, and then the process returns to step S614.

図17には、図4(a)に示される例についてこの生存確認依頼ノード異常検知ルーチンが実行された場合に行われる手続がシーケンス図で表されている。   FIG. 17 is a sequence diagram showing a procedure performed when this survival confirmation request node abnormality detection routine is executed for the example shown in FIG.

図18には、サーバ200によって実行されるプログラムがフローチャートで概念的に表されている。このプログラムが起動すると、まず、ステップS651において、いずれかの監視ノードから、いずれかのノード装置1(生存確認依頼ノード)がネットワーク8上に生存しないこと、すなわち、異常ノードが存在することを表す通知を受け取ることが待たれる。   FIG. 18 conceptually shows a program executed by the server 200 in a flowchart. When this program is started, first, in step S651, from any monitoring node, any node device 1 (survival confirmation request node) does not survive on the network 8, that is, an abnormal node exists. Wait for notification.

異常ノードが存在することを表す通知をサーバ200が受け取ると、ステップS652において、その異常ノードの、ネットワーク8上における設置位置を特定するために、記憶部204へのアクセスが行われる。その記憶部204には、ネットワーク8に参加している複数のノード装置1の設置位置が、各ノード装置1に固有のノードIDに関連付けて予め記憶されている。   When the server 200 receives a notification indicating that an abnormal node exists, in step S652, the storage unit 204 is accessed to identify the installation position of the abnormal node on the network 8. In the storage unit 204, the installation positions of the plurality of node devices 1 participating in the network 8 are stored in advance in association with the node ID unique to each node device 1.

したがって、このステップS652においては、今回の異常ノードに固有のノードIDをキーワードとして記憶部204を検索することにより、その異常ノードの設置場所を特定するためのデータが記憶部204から取得される。   Accordingly, in step S652, data for specifying the location of the abnormal node is acquired from the storage unit 204 by searching the storage unit 204 using the node ID unique to the current abnormal node as a keyword.

続いて、ステップS653において、その取得されたデータに基づき、今回の異常ノードの設置位置が特定され、その後、ステップS654において、今回の異常ノードが、その特定された設置位置に存在することを表す情報が出力装置212の画面上に表示される。続いて、ステップS655において、サーバ200に接続された前述のクライアントが存在する場合には、そのクライアントに、ネットワーク8を通じて、今回の異常ノードが、その特定された設置位置に存在することを表す情報が送信される。その後、ステップS651に戻る。   Subsequently, in step S653, the installation position of the current abnormal node is specified based on the acquired data, and then, in step S654, the current abnormal node is present at the specified installation position. Information is displayed on the screen of the output device 212. Subsequently, in step S655, if the above-described client connected to the server 200 exists, information indicating that the current abnormal node exists at the specified installation position via the network 8 in the client. Is sent. Thereafter, the process returns to step S651.

図9に戻ると、ステップS202において、自ノード装置1が、いずれかの生存確認依頼ノードから、生存確認依頼を受信したか否かが判定される。受信した場合には、ステップS203において、自ノード装置1が自己の監視リストを作成するために、図19にフローチャートで概念的に表されている監視リスト作成ルーチンが実行される。   Returning to FIG. 9, in step S <b> 202, it is determined whether or not the own node apparatus 1 has received a survival confirmation request from any of the survival confirmation request nodes. If received, in step S203, in order for the node device 1 to create its own monitoring list, a monitoring list creation routine conceptually shown in the flowchart in FIG. 19 is executed.

この監視リスト作成ルーチンが実行されると、まず、ステップS701において、生存確認依頼ノード数、すなわち、自ノード装置1の監視リストに登録されている生存確認依頼ノードの数がMに設定される。   When this monitoring list creation routine is executed, first, in step S701, the number of survival confirmation request nodes, that is, the number of survival confirmation request nodes registered in the monitoring list of the own node device 1 is set to M.

次に、ステップS702において、生存確認依頼ノード数Mが、自ノード装置1が監視可能であるノード数の上限値Mmax以下であるか否かが判定される。生存確認依頼ノード数Mが上限値Mmax以下であれば、ステップS703において、図10におけるステップS310において生存確認依頼を出した生存確認依頼ノードに対して肯定応答が行われるが、生存確認依頼ノード数Mが上限値Mmaxを超えていれば、ステップS706において、否定応答が行われる。このステップS706の実行が終了すると、この監視リスト作成ルーチンの実行も終了する。   Next, in step S702, it is determined whether or not the survival confirmation requesting node number M is equal to or less than the upper limit value Mmax of the number of nodes that can be monitored by the own node device 1. If the number M of survival confirmation request nodes is less than or equal to the upper limit value Mmax, in step S703, an affirmative response is made to the survival confirmation request node that issued the survival confirmation request in step S310 in FIG. If M exceeds the upper limit Mmax, a negative response is made in step S706. When the execution of step S706 ends, the execution of the monitoring list creation routine also ends.

ステップS703において肯定応答が行われた場合には、その後、ステップS704において、監視ノード数Mが1だけインクリメントされる。その後、ステップS705において、追加されたM番目の生存確認依頼ノードX(M)のノードID、IPアドレスおよび生存確認時刻tが、自ノード装置1の監視リストに記憶される。以上で、この監視リスト作成ルーチンの実行が終了する。   If an affirmative response is made in step S703, then the number M of monitoring nodes is incremented by 1 in step S704. Thereafter, in step S705, the node ID, IP address, and survival confirmation time t of the added Mth survival confirmation requesting node X (M) are stored in the monitoring list of the own node device 1. This completes the execution of the monitoring list creation routine.

図9に戻ると、ステップS202の判定がNOである場合には直ちに、YESである場合にはステップS203の実行を経た後に、ステップS204が実行される。このステップS204においては、生存確認の対象であるノード(すなわち、監視されている最中である生存確認依頼ノード)から、自ノード装置1が脱退メッセージを受信したか否かが判定される。自ノード装置1が脱退メッセージを受信した場合には、ステップS205において、その脱退しようとしている生存確認依頼ノードを監視リストから削除するために、図20にフローチャートで概念的に表されている脱退ノード削除ルーチンが実行される。   Returning to FIG. 9, if the determination in step S202 is NO, step S204 is executed immediately after the execution of step S203 if YES. In this step S204, it is determined whether or not the own node device 1 has received a withdrawal message from the node that is the subject of survival confirmation (that is, the survival confirmation requesting node that is being monitored). When the own node apparatus 1 receives the withdrawal message, in step S205, in order to delete the survival confirmation requesting node to be withdrawn from the monitoring list, the withdrawal node conceptually represented in the flowchart in FIG. A delete routine is executed.

この脱退ノード削除ルーチンが実行されると、まず、ステップS801において、生存確認依頼ノード数、すなわち、自ノード装置1の監視リストに登録されている生存確認依頼ノードの数がMに設定され、さらに、注目すべき生存確認依頼ノードを特定するための番号iが「1」に設定される。   When this withdrawal node deletion routine is executed, first, in step S801, the number of survival confirmation request nodes, that is, the number of survival confirmation request nodes registered in the monitoring list of the own node device 1 is set to M. The number i for identifying the notable survival confirmation request node is set to “1”.

次に、ステップS802において、脱退メッセージを送信した生存確認依頼ノード(図3に示す例においては、例えば、ノードXが該当する可能性があるため、以下、説明の便宜上、「脱退メッセージを送信したノードX」という。)のノードIDと、今回の生存確認依頼ノードX(i)のノードIDとが互いに一致するか否かが判定される。一致しない場合には、ステップS803において、番号iが1だけインクリメントされる。   Next, in step S802, the existence confirmation requesting node that transmitted the withdrawal message (in the example shown in FIG. 3, for example, node X may be applicable. It is determined whether or not the node ID of the node “X” and the node ID of the current survival confirmation request node X (i) match each other. If they do not match, the number i is incremented by 1 in step S803.

その後、ステップS804において、番号iの現在値が生存確認依頼ノード数Mより大きいか否かが判定される。大きくはない場合には、ステップS802に戻るが、大きい場合には、ステップS806に移行する。脱退メッセージを送信したノードXのノードIDと、今回の生存確認依頼ノードX(i)のノードIDとが互いに一致する場合には、ステップS805において、監視リストから今回の生存確認依頼ノードX(i)が削除された後、ステップS806に移行する。   Thereafter, in step S804, it is determined whether or not the current value of the number i is greater than the number M of survival confirmation request nodes. If it is not larger, the process returns to step S802. If it is larger, the process proceeds to step S806. If the node ID of the node X that transmitted the withdrawal message matches the node ID of the current survival confirmation request node X (i), in step S805, the current survival confirmation request node X (i ) Is deleted, the process proceeds to step S806.

いずれにしても、ステップS806においては、脱退メッセージを送信したノードXに対し、脱退メッセージを受信した旨の応答が行われる。以上で、この脱退ノード削除ルーチンの実行が終了する。   In any case, in step S806, a response indicating that the withdrawal message has been received is sent to the node X that has transmitted the withdrawal message. This is the end of the execution of the leaving node deletion routine.

図9に戻ると、ステップS204の判定がNOである場合には直ちに、YESである場合には、ステップS205を経た後に、ステップS206が実行される。このステップS206においては、本来の監視ノードではない別の監視ノードが、生存確認依頼ノードが異常であることをサーバ200に通知させることを代行させられる。すなわち、代行監視ノードによるサーバ200への通知が行われるのである。その代行通知のために、図21にフローチャートで概念的に表されている代行通知ルーチンが実行される。   Returning to FIG. 9, if the determination in step S204 is NO, immediately, if yes, step S206 is executed after step S205. In this step S206, another monitoring node that is not the original monitoring node is allowed to notify the server 200 that the survival confirmation request node is abnormal. In other words, the server 200 is notified by the proxy monitoring node. For the proxy notification, a proxy notification routine conceptually shown in the flowchart of FIG. 21 is executed.

概略的に説明するに、この代行通知ルーチンが実行されると、自ノード装置1は、他の監視ノードによるサーバ200への通知を代行する代行監視ノードとして、生存確認依頼ノードが異常停止したことをサーバ200に通知することを試行する。自ノード装置1は、その試行に成功すると、同じ生存確認依頼ノードを監視すべき他の監視ノードに対し、生存確認依頼ノードが異常停止したことを通知する。   Briefly, when this proxy notification routine is executed, the own node device 1 has abnormally stopped the survival confirmation request node as a proxy monitoring node that proxy notification to the server 200 by other monitoring nodes. Is notified to the server 200. If the node device 1 succeeds in the trial, the node device 1 notifies the other monitoring nodes that should monitor the same survival confirmation request node that the survival confirmation request node has stopped abnormally.

具体的に説明するに、この代行通知ルーチンが実行されると、まず、ステップS901において、他の監視ノードから、監視対象である生存確認依頼ノードが生存していないこと(すなわち、異常であること)が通知されたか否かが判定される。通知された場合には、ステップS902において、自ノード装置1の監視リストから、その生存しない生存確認依頼ノードが削除され、その後、ステップS903に移行する。これに対し、他の監視ノードから、監視されつつある生存確認依頼ノードが生存していないことが通知されなかった場合には、直ちにステップS903に移行する。   Specifically, when this proxy notification routine is executed, first, in step S901, the survival confirmation requesting node to be monitored is not alive from another monitoring node (that is, it is abnormal). ) Is determined. If notified, in step S902, the non-existent survival confirmation request node is deleted from the monitoring list of the node device 1, and then the process proceeds to step S903. On the other hand, when it is not notified from other monitoring nodes that the survival confirmation requesting node being monitored is not alive, the process immediately proceeds to step S903.

いずれの場合にも、ステップS903においては、他の監視ノードから、自ノード装置1が代行監視ノードとして、サーバ200への通知を試行することを依頼されたか否かが判定される。代行通知が依頼されなかった場合には、直ちにこの代行通知ルーチンの実行が終了する。これに対し、代行通知が依頼された場合には、ステップS904において、生存しない生存確認依頼ノードの存在、すなわち、特定の生存確認依頼ノードが異常であることをサーバ200に通知することが試行される。   In any case, in step S903, it is determined whether or not another monitoring node has requested that the local node device 1 try to notify the server 200 as a proxy monitoring node. When the proxy notification is not requested, the execution of this proxy notification routine is immediately terminated. On the other hand, when a proxy notification is requested, an attempt is made in step S904 to notify the server 200 of the existence of a survival confirmation request node that does not survive, that is, that a specific survival confirmation request node is abnormal. The

その後、ステップS905において、その試行が成功したか否かが判定される。成功した場合には、ステップS906において、自ノード装置1の監視リストから、生存しない生存確認依頼ノードが削除される。その後、ステップS907に移行する。これに対し、生存しない生存確認依頼ノードの存在をサーバ200に通知するための試行が失敗した場合には、直ちにステップS907に移行する。   Thereafter, in step S905, it is determined whether or not the trial is successful. If successful, in step S906, the survival confirmation requesting node that does not survive is deleted from the monitoring list of the own node device 1. Thereafter, the process proceeds to step S907. On the other hand, if the attempt to notify the server 200 of the existence of the survival confirmation request node that does not survive fails, the process immediately proceeds to step S907.

いずれの場合にも、ステップS907においては、サーバ200への通知の成否が、前記他の監視ノードに対して回答される。以上で、この代行通知ルーチンの実行が終了する。   In any case, in step S907, the success or failure of the notification to the server 200 is answered to the other monitoring node. This is the end of the execution of this proxy notification routine.

その後、図9に示すステップS207において、自ノード装置1に対し、ユーザからシャットダウン要求が出されたか否かが判定される。出されなかった場合には、ステップS202に戻るが、出された場合には、ステップS208に移行する。   Thereafter, in step S207 shown in FIG. 9, it is determined whether or not a shutdown request is issued from the user to the own node device 1. If not issued, the process returns to step S202. If issued, the process proceeds to step S208.

このステップS208においては、監視ノードがネットワーク8から脱退するために、図22にフローチャートで概念的に表されている監視ノード脱退ルーチンが実行される。   In step S208, in order for the monitoring node to leave the network 8, a monitoring node withdrawal routine conceptually represented in the flowchart in FIG. 22 is executed.

概略的に説明するに、この監視ノード脱退ルーチンが実行されると、生存確認依頼ノードXより先に監視ノードがネットワーク8から脱退しようとする場合には、その監視ノードは、それの監視対象であるノードXに、ネットワーク8からの脱退を通知する。監視ノードの脱退を通知されたノードXは、図8に示すステップS104の実行により、その監視ノードを生存確認依頼リストから削除する。ある監視ノードが生存確認依頼リストから削除されると、それに代わり、別のノード装置1が新たな監視ノードとして選択される。   Briefly, when this monitoring node withdrawal routine is executed, if the monitoring node tries to leave the network 8 before the survival confirmation requesting node X, the monitoring node is the monitoring target of the monitoring node. A certain node X is notified of withdrawal from the network 8. The node X notified of the withdrawal of the monitoring node deletes the monitoring node from the survival confirmation request list by executing step S104 shown in FIG. When a certain monitoring node is deleted from the survival confirmation request list, another node device 1 is selected as a new monitoring node instead.

具体的に説明するに、この監視ノード脱退ルーチンが実行されると、まず、ステップS1001において、生存確認依頼ノード数、すなわち、自ノード装置1の監視リストに登録されている生存確認依頼ノードの数がMに設定され、さらに、注目すべき生存確認依頼ノードを特定するための番号iが「1」に設定される。   Specifically, when this monitoring node withdrawal routine is executed, first, in step S1001, the number of survival confirmation request nodes, that is, the number of survival confirmation request nodes registered in the monitoring list of the own node device 1 Is set to M, and the number i for identifying the survival confirmation request node to be noted is set to “1”.

次に、ステップS1002において、番号iの現在値が生存確認依頼ノード数M以下であるか否かが判定される。そうであれば、ステップS1003において、今回の生存確認依頼ノードX(i)に対して、自ノード装置1がネットワーク8から脱退することを表す脱退メッセージが送信される。続いて、ステップS1004において、今回の生存確認依頼ノードX(i)から、その脱退メッセージを受信したことを表す応答を受け取るのが待たれる。受け取ったならば、ステップS1005において、番号iの現在値が1だけインクリメントされる。その後、ステップS1002に戻る。   Next, in step S1002, it is determined whether or not the current value of the number i is equal to or less than the number M of survival confirmation request nodes. If so, in step S1003, a withdrawal message indicating that the node device 1 is withdrawing from the network 8 is transmitted to the current survival confirmation request node X (i). In step S1004, a response indicating that the withdrawal message has been received is awaited from the current survival confirmation request node X (i). If received, the current value of number i is incremented by 1 in step S1005. Thereafter, the process returns to step S1002.

番号iの現在値が生存確認依頼ノード数Mより大きい場合には、ステップS1002の判定がNOとなり、ステップS1006に移行する。このステップS1006においては、図14に示すノード脱退通知ルーチンが実行されることにより、監視ノードとしての自ノード装置1がネットワーク8から脱退することが他の監視ノードに通知される。以上で、この監視ノード脱退ルーチンの実行が終了する。これにより、図9に示すステップS3の実行が終了する。   If the current value of the number i is larger than the survival confirmation requesting node number M, the determination in step S1002 is NO and the process proceeds to step S1006. In step S1006, the node withdrawal notification routine shown in FIG. 14 is executed, so that other monitoring nodes are notified that the own node device 1 as the monitoring node is leaving the network 8. This is the end of the execution of this monitoring node withdrawal routine. Thereby, the execution of step S3 shown in FIG. 9 ends.

図23には、図4(a)に示される例についてこの監視ノード脱退ルーチンが実行された場合に行われる手続がシーケンス図で表されている。   FIG. 23 is a sequence diagram showing a procedure performed when this monitoring node withdrawal routine is executed for the example shown in FIG.

以上の説明から明らかなように、本実施形態においては、説明の便宜上、各ノード装置1のうち、図10に示すステップS101を実行する部分が前記(1)項における「監視ノード選択手段」の一例を構成し、図16に示すステップS610aを実行する部分が同項における「生存判定手段」の一例を構成し、同図に示すステップS611が同項における「通知手段」の一例を構成していると考えることが可能である。   As is clear from the above description, in the present embodiment, for the sake of convenience of explanation, the part that executes step S101 shown in FIG. 10 in each node device 1 is the “monitoring node selection means” in the section (1). The part that executes step S610a shown in FIG. 16 constitutes an example of “survival determination means” in the same paragraph, and step S611 shown in FIG. 16 constitutes an example of “notification means” in the same paragraph. It is possible to think that

さらに、本実施形態においては、説明の便宜上、サーバ200の記憶部204が前記(2)項における「記憶手段」の一例を構成し、サーバ200のうち、図18に示すプログラムを実行する部分が同項における「位置特定手段」の一例を構成していると考えることが可能である。   Furthermore, in this embodiment, for convenience of explanation, the storage unit 204 of the server 200 constitutes an example of the “storage unit” in the item (2), and the part of the server 200 that executes the program shown in FIG. It can be considered that it constitutes an example of the “position specifying means” in the same section.

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図16に示すステップS607を実行する部分が、前記(3)項における「監視手段」の一例を構成し、同図に示すステップS608、S609、S610およびS610aを実行する部分が、同項における「生存判定手段」の一例を構成し、同図に示すステップS611を実行する部分が、同項における「通知手段」の一例を構成していると考えることが可能である。   Furthermore, in the present embodiment, for the sake of convenience of explanation, the part that executes step S607 shown in FIG. 16 in each node device 1 constitutes an example of the “monitoring means” in the section (3), and is shown in FIG. The portions that execute steps S608, S609, S610, and S610a shown constitute an example of the “survival determination means” in the same paragraph, and the portions that execute step S611 shown in FIG. It is possible to think that it constitutes.

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図16に示すステップS602ないしS607、S609およびS610を実行する部分が、前記(4)項における「時限的監視手段」の一例を構成していると考えることが可能である。   Further, in the present embodiment, for the sake of convenience of explanation, the portion of each node device 1 that executes steps S602 to S607, S609, and S610 shown in FIG. 16 is the “timed monitoring means” in the section (4). It can be considered as an example.

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図16に示すステップS607を実行する部分が、前記(5)項における「送信手段」の一例を構成し、同図に示すステップS610aを実行する部分が、同項における「判定手段」の一例を構成していると考えることが可能である。   Further, in the present embodiment, for the sake of convenience of explanation, a portion of each node device 1 that executes step S607 shown in FIG. 16 constitutes an example of “transmission means” in the above section (5), and is shown in FIG. It can be considered that the part that executes Step S610a shown constitutes an example of the “determination means” in the same section.

さらに、本実施形態においては、説明の便宜上、各ノード装置1の記憶部12のうち、生存確認依頼リストを記憶する部分が、前記(6)項における「監視ノード記憶手段」の一例を構成し、図16に示すステップS620を実行する部分が、同項における「他監視ノード通知手段」の一例を構成していると考えることが可能である。   Further, in the present embodiment, for convenience of explanation, a part of the storage unit 12 of each node device 1 that stores the survival confirmation request list constitutes an example of the “monitoring node storage unit” in the above section (6). 16 can be considered to constitute an example of “another monitoring node notification unit” in the same section.

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図9に示すステップS208を実行する部分が、前記(7)項における「脱退通知手段」の一例を構成していると考えることが可能である。   Furthermore, in the present embodiment, for convenience of explanation, it is assumed that a part of each node device 1 that executes step S208 shown in FIG. 9 constitutes an example of the “withdrawal notification unit” in the above section (7). It is possible to think.

さらに、本実施形態においては、説明の便宜上、各ノード装置1の記憶部12のうち、監視リストを記憶する部分が、前記(8)項における「生存確認依頼ノード記憶手段」の一例を構成し、各ノード装置1のうち、図19に示すステップS702を実行する部分が、同項における「ノード数判定手段」の一例を構成し、同図に示すステップS703およびS706を実行する部分が、同項における「依頼受諾・拒否手段」の一例を構成していると考えることが可能である。   Further, in the present embodiment, for convenience of explanation, the portion of the storage unit 12 of each node device 1 that stores the monitoring list constitutes an example of the “survival confirmation request node storage unit” in the section (8). Of the respective node devices 1, the part that executes step S702 shown in FIG. 19 constitutes an example of the “node number determination means” in the same paragraph, and the part that executes steps S703 and S706 shown in FIG. It can be considered that it constitutes an example of “request acceptance / rejection means” in the section.

さらに、本実施形態においては、説明の便宜上、各ノード装置1の記憶部12のうち、生存確認依頼リストを記憶する部分が、前記(9)項における「監視ノード記憶手段」の一例を構成し、図16に示すステップS613ないしS618を実行する部分が、同項における「代行通知手段」の一例を構成していると考えることが可能である。   Further, in the present embodiment, for convenience of explanation, a part of the storage unit 12 of each node device 1 that stores the survival confirmation request list constitutes an example of the “monitoring node storage unit” in the above section (9). It can be considered that the part that executes steps S613 to S618 shown in FIG. 16 constitutes an example of the “proxy notification means” in the same section.

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図8に示すステップS101を実行する部分が、前記(10)項における「監視ノード選択手段」の一例を構成し、図10に示すステップS310を実行する部分が、同項における「生存確認依頼手段」の一例を構成していると考えることが可能である。   Further, in the present embodiment, for the sake of convenience of explanation, the part of step S101 shown in FIG. 8 in each node device 1 constitutes an example of the “monitoring node selection means” in the section (10). It can be considered that the part that executes step S310 shown in FIG. 10 constitutes an example of the “survival confirmation requesting unit” in the same section.

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図12に示すステップS402を実行する部分が、前記(11)項における「監視ノード判定手段」の一例を構成し、同図に示すステップS406を実行する部分が、同項における「監視ノード変更手段」の一例を構成していると考えることが可能である。   Furthermore, in the present embodiment, for convenience of explanation, the portion of each node device 1 that executes step S402 shown in FIG. 12 constitutes an example of “monitoring node determination means” in the above-mentioned item (11). It can be considered that the part that executes step S406 shown in the drawing constitutes an example of “monitoring node changing means” in the same section.

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図12に示すステップS402を実行する部分が、前記(12)項における「未生存確認判定手段」の一例を構成していると考えることが可能である。   Furthermore, in the present embodiment, for convenience of explanation, a part of each node device 1 that executes step S402 shown in FIG. 12 constitutes an example of the “non-survival confirmation determination unit” in the above (12). It is possible to think that

さらに、本実施形態においては、説明の便宜上、各ノード装置1のうち、図13に示すステップS452ないしS457を実行する部分が、前記(13)項における「監視ノード変更手段」の一例を構成していると考えることが可能である。   Furthermore, in the present embodiment, for the convenience of explanation, the portion that executes steps S452 to S457 shown in FIG. 13 in each node device 1 constitutes an example of the “monitoring node changing means” in the section (13). It is possible to think that

さらに、本実施形態においては、説明の便宜上、図6に示すメインプログラムが、前記(14)項に係る「プログラム」の一例を構成していると考えることが可能である。   Furthermore, in this embodiment, for convenience of explanation, it can be considered that the main program shown in FIG. 6 constitutes an example of the “program” according to the item (14).

以上、本発明の実施の形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の開示]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。   As described above, some of the embodiments of the present invention have been described in detail with reference to the drawings. However, these are exemplifications, and are based on the knowledge of those skilled in the art including the aspects described in the section of [Disclosure of the Invention]. The present invention can be implemented in other forms with various modifications and improvements.

本発明の一実施形態に従う情報通信システムにおけるネットワークの物理的構成と論理的構成とを概念的に表す系統図である。1 is a system diagram conceptually showing a physical configuration and a logical configuration of a network in an information communication system according to an embodiment of the present invention. 図1に示す各ノード装置の概略的なハードウエア構成の一例を概念的に表すブロック図である。FIG. 2 is a block diagram conceptually illustrating an example of a schematic hardware configuration of each node device illustrated in FIG. 1. 図1に示す情報通信システムにおいて各ノード装置がネットワークに参加するために作成されるルーティングテーブルの一例を示す図である。It is a figure which shows an example of the routing table produced in order for each node apparatus to participate in a network in the information communication system shown in FIG. 図1に示す情報通信システムにおいてノードXの異常がルーティングテーブルを利用して他のノードAによって検知されてサーバ200に通知される様子を説明するための図である。FIG. 3 is a diagram for explaining a state in which an abnormality of a node X is detected by another node A using a routing table and notified to a server 200 in the information communication system illustrated in FIG. 1. 図4に示すサーバの構成を概念的に表すブロック図である。FIG. 5 is a block diagram conceptually showing the configuration of a server shown in FIG. 4. 図1に示す各ノード装置のコンピュータによって実行されるメインプログラムを概念的に表すフローチャートである。2 is a flowchart conceptually showing a main program executed by a computer of each node device shown in FIG. 1. 図7(a)は、図1に示す各ノード装置が使用する生存確認依頼リストの一例を説明するための図であり、図7(b)は、図1に示す各ノード装置が使用する監視リストの一例を説明するための図である。FIG. 7A is a diagram for explaining an example of a survival confirmation request list used by each node device shown in FIG. 1, and FIG. 7B is a monitor used by each node device shown in FIG. It is a figure for demonstrating an example of a list. 図6に示すステップS2の詳細を生存確認依頼ルーチンとして概念的に表すフローチャートである。7 is a flowchart conceptually showing details of step S2 shown in FIG. 6 as a survival confirmation request routine. 図6に示すステップS3の詳細を監視ルーチンとして概念的に表すフローチャートである。7 is a flowchart conceptually showing details of step S3 shown in FIG. 6 as a monitoring routine. 図8に示すステップS101の詳細を生存確認依頼リスト作成ルーチンとして概念的に表すフローチャートである。9 is a flowchart conceptually showing details of step S101 shown in FIG. 8 as a survival confirmation request list creation routine. 図10に示す生存確認依頼リスト作成ルーチンの一実行例を説明するためのシーケンス図である。It is a sequence diagram for demonstrating one execution example of the survival confirmation request list creation routine shown in FIG. 図8に示すステップS102の詳細を監視ノード異常検知ルーチンとして概念的に表すフローチャートである。9 is a flowchart conceptually showing details of step S102 shown in FIG. 8 as a monitoring node abnormality detection routine. 図8に示すステップS104の詳細を監視ノード削除ルーチンとして概念的に表すフローチャートである。9 is a flowchart conceptually showing details of step S104 shown in FIG. 8 as a monitoring node deletion routine. 図8に示すステップS106の詳細をノード脱退通知ルーチンとして概念的に表すフローチャートである。9 is a flowchart conceptually showing details of step S106 shown in FIG. 8 as a node withdrawal notification routine. 図14に示すノード脱退通知ルーチンの一実行例を説明するためのシーケンス図である。FIG. 15 is a sequence diagram for explaining an example of execution of a node withdrawal notification routine shown in FIG. 14. 図9に示すステップS201の詳細を生存確認依頼ノード異常検知ルーチンとして概念的に表すフローチャートである。10 is a flowchart conceptually showing details of step S201 shown in FIG. 9 as a survival confirmation request node abnormality detection routine. 図16に示す生存確認依頼ノード異常検知ルーチンの一実行例を説明するためのシーケンス図である。FIG. 17 is a sequence diagram for explaining an example of execution of a survival confirmation request node abnormality detection routine shown in FIG. 16. 図5に示すサーバのコンピュータによって実行されるプログラムを概念的に表すフローチャートである。6 is a flowchart conceptually showing a program executed by the computer of the server shown in FIG. 図9に示すステップS203の詳細を監視リスト作成ルーチンとして概念的に表すフローチャートである。10 is a flowchart conceptually showing details of step S203 shown in FIG. 9 as a monitoring list creation routine. 図9に示すステップS205の詳細を脱退ノード削除ルーチンとして概念的に表すフローチャートである。10 is a flowchart conceptually showing details of step S205 shown in FIG. 9 as a withdrawal node deletion routine. 図9に示すステップS206の詳細を代行通知ルーチンとして概念的に表すフローチャートである。10 is a flowchart conceptually showing details of step S206 shown in FIG. 9 as a proxy notification routine. 図9に示すステップS208の詳細を監視ノード脱退ルーチンとして概念的に表すフローチャートである。10 is a flowchart conceptually showing details of step S208 shown in FIG. 9 as a monitoring node withdrawal routine. 図22に示す監視ノード脱退ルーチンの一実行例を説明するためのシーケンス図である。FIG. 23 is a sequence diagram for explaining an example of execution of a monitoring node withdrawal routine shown in FIG. 22.

符号の説明Explanation of symbols

1 ノード装置
8 ネットワーク
9 オーバレイネットワーク
11 制御部
12 記憶部
13 バッファメモリ
14 デコーダ部
15 映像処理部
16 表示部
17 音声処理部
18 スピーカ
20 通信部
21 入力部
22 バス
200 サーバ
S 情報通信システム
DESCRIPTION OF SYMBOLS 1 Node apparatus 8 Network 9 Overlay network 11 Control part 12 Memory | storage part 13 Buffer memory 14 Decoder part 15 Image | video processing part 16 Display part 17 Audio | voice processing part 18 Speaker 20 Communication part 21 Input part 22 Bus 200 Server S Information communication system

Claims (14)

ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して互いに接続された複数のノード装置とそれらノード装置に前記ネットワークを介して接続されたサーバとを有するピアツーピア通信システムであって、
各ノード装置は、自ノード装置が前記ネットワーク上に生存するか否かの監視を他ノード装置に依頼する生存確認依頼ノードとしての機能と、他ノード装置が前記ネットワーク上に生存するか否かを監視する監視ノードとしての機能とを有し、
各ノード装置は、
前記生存確認依頼ノードとして機能するとき、自ノード装置のための前記ルーティングテーブルに記憶されている他ノード装置のうちの少なくとも一つを、自ノード装置を監視すべき監視ノードとして選択する監視ノード選択手段を含み、
各ノード装置は、
前記監視ノードとして機能するとき、前記生存確認依頼ノードとしての他ノード装置が前記ネットワーク上に生存するか否かを判定する生存判定手段と、
その生存判定手段により、前記生存確認依頼ノードが前記ネットワーク上に生存しないと判定された場合に、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを前記サーバに通知する通知手段と
を含むピアツーピア通信システム。
A peer-to-peer communication system comprising a plurality of node devices connected to each other via a network in a state where communication can be performed in a peer-to-peer manner using a routing table, and a server connected to the node devices via the network,
Each node device has a function as a survival confirmation requesting node for requesting other node devices to monitor whether or not the own node device is alive on the network, and whether or not the other node device is alive on the network. Function as a monitoring node to monitor,
Each node device
Monitoring node selection that, when functioning as the existence confirmation request node, selects at least one of the other node devices stored in the routing table for the own node device as a monitoring node that should monitor the own node device Including means,
Each node device
When functioning as the monitoring node, survival determination means for determining whether other node devices as the survival confirmation request node survive on the network,
A peer-to-peer notifying means for notifying the server that the survival confirmation requesting node does not survive on the network when the survival determining means determines that the survival confirmation requesting node does not survive on the network. Communications system.
前記サーバは、
前記ネットワークに参加している複数のノード装置の設置位置をノードIDに関連付けて予め記憶している記憶手段と、
前記監視ノードとして機能する各ノード装置から、前記生存確認依頼ノードが前記ネットワーク上に生存しないことが通知された場合に、前記記憶手段にアクセスすることにより、前記生存確認依頼ノードの前記ネットワーク上における設置位置を特定する位置特定手段と
を含む請求項1に記載のピアツーピア通信システム。
The server
Storage means for storing in advance the installation positions of a plurality of node devices participating in the network in association with node IDs;
When each node device functioning as the monitoring node is notified that the survival confirmation request node does not survive on the network, the access to the storage unit is performed to access the survival confirmation request node on the network. The peer-to-peer communication system according to claim 1, further comprising: a position specifying unit that specifies an installation position.
ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して他の複数のノード装置に接続されるとともに前記ネットワークを介してサーバに接続されたノード装置であって、
前記ネットワーク上に生存するか否かの監視を当該ノード装置に依頼した生存確認依頼ノードが前記ネットワーク上に生存するか否かを監視する監視手段と、
その監視手段による監視結果に基づき、前記生存確認依頼ノードが前記ネットワーク上に生存するか否かを判定する生存判定手段と、
その生存判定手段により、前記生存確認依頼ノードが前記ネットワーク上に生存しないと判定された場合に、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを前記サーバに通知する通知手段と
を含むノード装置。
A node device connected to a plurality of other node devices via a network and capable of communicating in a peer-to-peer manner using a routing table, and connected to a server via the network;
Monitoring means for monitoring whether or not the survival confirmation requesting node that requested the node device to monitor whether or not to survive on the network survives on the network;
Based on the monitoring result by the monitoring means, a survival determination means for determining whether or not the survival confirmation request node is alive on the network,
A node that includes notification means for notifying the server that the survival confirmation request node does not survive on the network when it is determined by the survival determination means that the survival confirmation request node does not survive on the network. apparatus.
前記監視手段は、指定時刻が到来すると、前記生存確認依頼ノードを監視する時限的監視手段を含む請求項3に記載のノード装置。   The node device according to claim 3, wherein the monitoring unit includes a timed monitoring unit that monitors the survival confirmation requesting node when a designated time arrives. 前記監視手段は、前記生存確認依頼ノードに特定のリクエストを送信する送信手段を含み、
前記生存判定手段は、そのリクエストの送信に応答して前記生存確認依頼ノードがレスポンスを当該ノード装置に返信しない場合に、その生存確認依頼ノードが前記ネットワーク上に生存しないと判定する判定手段を含む請求項3または4に記載のノード装置。
The monitoring means includes a transmission means for transmitting a specific request to the survival confirmation request node,
The survival determination unit includes a determination unit that determines that the survival confirmation request node does not survive on the network when the survival confirmation request node does not return a response to the node device in response to the transmission of the request. The node device according to claim 3 or 4.
同じ生存確認依頼ノードを監視する他の監視ノードを記憶する監視ノード記憶手段を含み、
前記通知手段は、前記生存判定手段により、前記生存確認依頼ノードが前記ネットワーク上に生存しないと判定された場合に、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを、前記監視ノード記憶手段に記憶されている他の監視ノードに通知する他監視ノード通知手段を含む請求項3ないし5のいずれかに記載のノード装置。
Including monitoring node storage means for storing other monitoring nodes that monitor the same survival confirmation requesting node;
The monitoring node storage means that the notification means determines that the survival confirmation request node does not survive on the network when the survival judgment means determines that the survival confirmation request node does not survive on the network. 6. The node device according to claim 3, further comprising other monitoring node notification means for notifying other monitoring nodes stored in the node.
前記ネットワークから脱退する際に、脱退することを前記生存確認依頼ノードに通知する脱退通知手段を含む請求項3ないし6のいずれかに記載のノード装置。   The node device according to any one of claims 3 to 6, further comprising withdrawal notification means for notifying the survival confirmation requesting node of withdrawal when leaving the network. 監視対象の前記生存確認依頼ノードを記憶する生存確認依頼ノード記憶手段と、
生存確認の依頼を受信した場合に、前記生存確認依頼ノード記憶手段に記憶されている前記生存確認依頼ノードの数が所定値を超えているか否かを判定するノード数判定手段と、
そのノード数判定手段により、前記生存確認依頼ノードの数が前記所定値以下であると判定された場合には、生存確認の依頼を受諾し、前記所定値を超えていると判定された場合には、生存確認の依頼を拒否する依頼受諾・拒否手段と
を含む請求項3ないし7のいずれかに記載のノード装置。
A survival confirmation request node storage unit for storing the survival confirmation request node to be monitored;
A node number determination means for determining whether or not the number of the survival confirmation request nodes stored in the survival confirmation request node storage means exceeds a predetermined value when a survival confirmation request is received;
When it is determined by the node number determination means that the number of the survival confirmation request nodes is equal to or less than the predetermined value, the request for survival confirmation is accepted, and when it is determined that the number exceeds the predetermined value The node apparatus according to claim 3, further comprising: a request acceptance / rejection unit that rejects the request for existence confirmation.
同じ生存確認依頼ノードを監視する他の監視ノードを記憶する監視ノード記憶手段を含み、
前記通知手段は、前記サーバへの通信に失敗した場合に、前記監視ノード記憶手段に記憶されている他の監視ノードに、前記生存確認依頼ノードが前記ネットワーク上に生存しないことを前記サーバに通知するように依頼する代行通知手段を含む請求項3ないし8のいずれかに記載のノード装置。
Including monitoring node storage means for storing other monitoring nodes that monitor the same survival confirmation requesting node;
When the communication to the server fails, the notification means notifies the other monitoring nodes stored in the monitoring node storage means that the survival confirmation request node does not survive on the network. 9. The node device according to claim 3, further comprising proxy notification means for requesting to do so.
ルーティングテーブルを用いてピアツーピア方式で通信可能な状態でネットワークを介して他の複数のノード装置に接続されるとともに前記ネットワークを介してサーバに接続されたノード装置であって、
自ノード装置のための前記ルーティングテーブルに記憶されている他のノード装置のうちの少なくとも一つを、自ノード装置を監視すべき監視ノードとして選択する監視ノード選択手段と、
自ノード装置が前記ネットワーク上に生存するか否かの監視を、前記監視ノード選択手段によって選択された監視ノードに依頼する生存確認依頼手段と
を含むノード装置。
A node device connected to a plurality of other node devices via a network and capable of communicating in a peer-to-peer manner using a routing table, and connected to a server via the network;
Monitoring node selection means for selecting at least one of the other node devices stored in the routing table for the own node device as a monitoring node to be monitored;
A node device comprising: a survival confirmation requesting unit that requests the monitoring node selected by the monitoring node selecting unit to monitor whether or not the own node device is alive on the network.
前記監視ノードが、自ノード装置の生存を確認したか否かを判定する監視ノード判定手段と、
その監視ノード判定手段により、前記監視ノードが自ノード装置の生存を確認していないと判定された場合に、前記監視ノードとは別のノード装置を新たな監視ノードとして選択する監視ノード変更手段と
を含む請求項10に記載のノード装置。
Monitoring node determination means for determining whether or not the monitoring node has confirmed the existence of the own node device;
A monitoring node changing unit for selecting a node device different from the monitoring node as a new monitoring node when the monitoring node determining unit determines that the monitoring node has not confirmed the existence of the own node device; The node device according to claim 10, comprising:
前記監視ノード判定手段は、指定時刻に、前記監視ノードから特定のリクエストを受信しない場合に、その監視ノードが自ノード装置の生存を確認していないと判定する生存未確認判定手段を含む請求項11に記載のノード装置。   The monitoring node determination unit includes a non-survival determination unit that determines that the monitoring node has not confirmed the existence of the own node device when a specific request is not received from the monitoring node at a specified time. The node device described in 1. 前記監視ノードが前記ネットワークから脱退するメッセージを受信した場合に、前記監視ノードとは別のノード装置を新たな監視ノードとして選択する監視ノード変更手段を含む請求項11または12に記載のノード装置。   13. The node device according to claim 11 or 12, further comprising monitoring node changing means for selecting a node device different from the monitoring node as a new monitoring node when the monitoring node receives a message for leaving the network. 請求項3ないし13のいずれかに記載のノード装置の各手段としてコンピュータを機能させるために実行されるプログラム。   14. A program executed to cause a computer to function as each means of the node device according to claim 3.
JP2007245072A 2007-09-21 2007-09-21 Peer-to-peer communication system, node device, and program Expired - Fee Related JP4780075B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007245072A JP4780075B2 (en) 2007-09-21 2007-09-21 Peer-to-peer communication system, node device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007245072A JP4780075B2 (en) 2007-09-21 2007-09-21 Peer-to-peer communication system, node device, and program

Publications (2)

Publication Number Publication Date
JP2009077216A JP2009077216A (en) 2009-04-09
JP4780075B2 true JP4780075B2 (en) 2011-09-28

Family

ID=40611760

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007245072A Expired - Fee Related JP4780075B2 (en) 2007-09-21 2007-09-21 Peer-to-peer communication system, node device, and program

Country Status (1)

Country Link
JP (1) JP4780075B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2010137229A1 (en) * 2009-05-26 2012-11-12 日本電気株式会社 Periodic process execution system, periodic process execution method, and periodic process execution program
JP5212292B2 (en) * 2009-07-16 2013-06-19 ブラザー工業株式会社 Information communication system, node device, node device confirmation method and program
WO2012070155A1 (en) 2010-11-26 2012-05-31 富士通株式会社 Management system, management device, management method and management program

Also Published As

Publication number Publication date
JP2009077216A (en) 2009-04-09

Similar Documents

Publication Publication Date Title
US8321586B2 (en) Distributed storage system, node device, recording medium in which node processing program is recorded, and address information change notifying method
CN106911728A (en) The choosing method and device of host node in distributed system
JP5115437B2 (en) Network system, information processing apparatus, information processing method, and program for information processing apparatus
JP5255035B2 (en) Failover system, storage processing apparatus, and failover control method
US9967412B2 (en) Information processing apparatus, system, and control method for information processing apparatus
JP2008152471A (en) Server, information processing method, server program and server system
JP4780075B2 (en) Peer-to-peer communication system, node device, and program
EP3570169B1 (en) Method and system for processing device failure
JP5176835B2 (en) Monitoring device, information processing device, information processing method, and program
JP5351448B2 (en) Server client system and server switching method
JP4877107B2 (en) Terminal device and information processing program in information distribution system, and information processing method of terminal device
JP4622755B2 (en) Information communication system, information communication method, node device included in information communication system, and information processing program
JP2008092236A (en) Terminal in content distribution system, information processing method and program therefor
JP5212292B2 (en) Information communication system, node device, node device confirmation method and program
JP2009187101A (en) Content distribution storage system, evaluation value addition method, server device, node device and node processing program
JP4770804B2 (en) Overlay network type communication system, overlay network type node device and program
JP2006172296A (en) Cache deletion method and content relay server
JP5157770B2 (en) Node device, program, and storage instruction method
JP2011172056A (en) Subscriber accommodation change method, transition destination session control server device and management server
US9185464B2 (en) Service alert messages for customer premises communication devices
JP2008250571A (en) Node device included in information communication system and information processing program
JP2016033739A (en) Server device, information processing device, method for controlling server device, method for controlling information processing device, and program
JP5107836B2 (en) Connection server device and server system
JP2009187056A (en) Content distribution storage system, evaluation value addition method, server device, node device and node processing program
CN114138736A (en) Method, device, equipment and readable medium for selecting members of distributed file system PG

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110526

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

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

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4780075

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees