JP2008118274A - Network communication apparatus and communication program for ring type network - Google Patents

Network communication apparatus and communication program for ring type network Download PDF

Info

Publication number
JP2008118274A
JP2008118274A JP2006297791A JP2006297791A JP2008118274A JP 2008118274 A JP2008118274 A JP 2008118274A JP 2006297791 A JP2006297791 A JP 2006297791A JP 2006297791 A JP2006297791 A JP 2006297791A JP 2008118274 A JP2008118274 A JP 2008118274A
Authority
JP
Japan
Prior art keywords
node
message
ring
transfer
identification information
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.)
Granted
Application number
JP2006297791A
Other languages
Japanese (ja)
Other versions
JP3965202B1 (en
Inventor
Yuichiro Hayashi
雄一郎 林
Masatoshi Kamagasako
正俊 鎌ヶ迫
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.)
YOSHIDA KAMAGASAKO Inc
Original Assignee
YOSHIDA KAMAGASAKO Inc
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 YOSHIDA KAMAGASAKO Inc filed Critical YOSHIDA KAMAGASAKO Inc
Priority to JP2006297791A priority Critical patent/JP3965202B1/en
Application granted granted Critical
Publication of JP3965202B1 publication Critical patent/JP3965202B1/en
Publication of JP2008118274A publication Critical patent/JP2008118274A/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To enable management information needed to maintain a ring to be shared in the entire ring. <P>SOLUTION: A plurality of nodes are constituted in a ring shape and a communication program multicasts a message, transmitted from an arbitrary node as an origin, in the ring by transferring the message in the ring. When the message does not reach a node at a transmission destination, a message indicating that the node enters a disconnected state is generated and transmitted forward and backward in the ring except this transmission destination. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、複数のノードがリング状に構成されており、任意のノードを起点として送信されたメッセージをリング内で転送することによって、リング内でメッセージをマルチキャストするリング型ネットワークに関する。   The present invention relates to a ring network in which a plurality of nodes are configured in a ring shape, and a message transmitted from an arbitrary node is transferred within the ring to multicast a message within the ring.

例えば、特許文献1,2に開示されているように、複数のノードをリング状に構成し、リング内でメッセージを単方向に転送することで、メッセージをマルチキャストするリング型ネットワークが従来より知られている。また、特許文献3には、アドホックネットワークにおける通信経路の障害対策について開示されている。具体的には、ある通信端末が、メッセージの上流側となる通信経路の切断兆候を検出し、これを切断前触れ状態として上流側の通信端末に通知する。この通知を受けた上流側の通信端末は、切断前触れ状態に該当する経路以外の経路で、送信先に対してメッセージを送信する。   For example, as disclosed in Patent Documents 1 and 2, a ring network that multicasts a message by configuring a plurality of nodes in a ring shape and transferring the message unidirectionally in the ring has been conventionally known. ing. Japanese Patent Application Laid-Open No. H10-228688 discloses a countermeasure against a communication path failure in an ad hoc network. Specifically, a certain communication terminal detects a disconnection sign of the communication path on the upstream side of the message, and notifies this to the upstream communication terminal as a pre-disconnection state. Upon receiving this notification, the upstream communication terminal transmits a message to the transmission destination through a route other than the route corresponding to the pre-disconnection state.

特開平5−219084号公報Japanese Patent Laid-Open No. 5-219084 特開2000−4246号公報JP 2000-4246 A 特開2005−64723号公報JP 2005-64723 A

ところで、リング型ネットワークの中には、リングの通信経路を構成するノードに切断が生じた場合、その情報をリング内で共有していることが前提になっているものがある。この場合、あるノードの切断を検知したノードは、自己が起点となって、その旨の通知メッセージを各ノードに通知する。しかしながら、この通知メッセージをリング内において単方向で転送する場合、以下のような2つの問題が生じる。第1に、リング内でのメッセージ共有に要する通信時間に関する問題である。リング内のノード数がn(n≧3)の場合、隣接したノード間でメッセージを一方向で順次転送すると、その転送回数はn回となる。ノード間のメッセージ到達時間がすべてのノード間で等しいと仮定した場合、通信時間は転送回数に比例する。そのため、メッセージをリアルタイムで共有する必要があるアプリケーション(例えば、リアルタイム対戦型ネットワークゲーム)への適用を想定した場合、これがリアルタイム性を損なうオーバーヘットになる可能性がある。第2に、通信経路の信頼性に関する問題である。単方向でのメッセージ転送では、通信経路の一部に切断が生じると、これ以降の下流ノードに対するメッセージ転送が滞ってしまう。固定端末と比較して通信経路の切断が生じる可能性が高い移動体端末(例えば携帯電話)において、これは大きな問題となる。   By the way, some ring networks are premised on sharing information in a ring when a node constituting the communication path of the ring is disconnected. In this case, the node that detects the disconnection of a certain node starts from itself and notifies each node of a notification message to that effect. However, when this notification message is transferred unidirectionally within the ring, the following two problems arise. First, there is a problem regarding communication time required for message sharing in the ring. When the number of nodes in the ring is n (n ≧ 3), when messages are sequentially transferred in one direction between adjacent nodes, the number of transfers is n. Assuming that the message arrival time between nodes is the same among all nodes, the communication time is proportional to the number of transfers. Therefore, when application to an application (for example, a real-time competitive network game) that needs to share a message in real time is assumed, this may be an overhead that impairs real-time performance. Second, there is a problem regarding the reliability of the communication path. In message transfer in one direction, if a part of the communication path is disconnected, subsequent message transfer to downstream nodes is delayed. This is a big problem in a mobile terminal (for example, a mobile phone) that is more likely to cause a communication path disconnection than a fixed terminal.

そこで、本発明の目的は、リングを維持する上で必要な管理情報をリング全体で迅速かつ確実に共有することである。   Accordingly, an object of the present invention is to share management information necessary for maintaining a ring quickly and reliably throughout the ring.

かかる課題を解決するために、第1の発明は、複数のノードがリング状に構成されているとともに、任意のノードを起点として送信されたメッセージをリング内で転送することによって、リング内でメッセージをマルチキャストするリング型ネットワークで、ノードとして用いられるネットワーク通信機器を提供する。このネットワーク通信機器は、通信部と、第1のノード管理部と、到達確認部と、起点制御部とを有する。通信部は、他のノードとの間でメッセージの送受信を行う。第1のノード管理部は、リング内の通信経路においてノードが接続されているか否かを示すステータスをノード毎に管理する。到達確認部は、通信部を介して、自己のノードより送信された第1のメッセージが送信先のノードに到達したか否かを判定する。起点制御部は、到達確認部によって、送信先のノードに第1のメッセージが到達していないと判定された場合、ノード管理部にアクセスして、このノードに関するステータスを切断状態に更新する。それとともに、起点制御部は、このノードが切断状態に更新された旨の第2のメッセージを、通信部を介して、この送信先を除いたリング内で順方向および逆方向に送信することによって、リング内の各ノードに対してステータスの更新内容を通知する。   In order to solve this problem, according to a first aspect of the present invention, a plurality of nodes are configured in a ring shape, and a message transmitted from an arbitrary node is transferred in the ring to thereby generate a message in the ring. A network communication device that is used as a node in a ring network that multicasts. The network communication device includes a communication unit, a first node management unit, an arrival confirmation unit, and a starting point control unit. The communication unit transmits and receives messages to and from other nodes. The first node management unit manages, for each node, a status indicating whether or not the node is connected in the communication path in the ring. The arrival confirmation unit determines whether or not the first message transmitted from its own node has reached the destination node via the communication unit. When the arrival confirmation unit determines that the first message has not reached the destination node, the starting point control unit accesses the node management unit and updates the status regarding this node to a disconnected state. At the same time, the origin control unit transmits a second message indicating that the node has been updated to the disconnected state in the forward direction and the reverse direction in the ring excluding the transmission destination via the communication unit. The status update content is notified to each node in the ring.

ここで、第1の発明において、第2のノード管理部と、転送判定部と、転送制御部とをさらに設けてもよい。第2のノード管理部は、リング内での転送によって自己のノードが受信したメッセージを、メッセージの起点となったノード毎に管理する。転送判定部は、ある起点によって送信された第3のメッセージが通信部によって順方向および逆方向のいずれかの転送方向で受信された場合、第2のノード管理部にアクセスして、第3のメッセージの起点となったノードに関して、第3のメッセージが受信済みであるか否かを判定する。転送制御部は、第3のメッセージが受信済みでないと判定された場合、第1のノード管理部にアクセスして、第3のメッセージによって通知を受けたノードに関するステータスを切断状態に更新するとともに、第2のノード管理部にアクセスして、第3のメッセージの起点となったノードに関する識別情報を更新した上で、通信部を介して、第3のメッセージをリング内で転送方向に送信する。また、転送制御部は、第3のメッセージが受信済みと判定された場合、第3のメッセージを送信せずに、転送方向における第3のメッセージの転送を自己のノードにて終端させる。   Here, in the first invention, a second node management unit, a transfer determination unit, and a transfer control unit may be further provided. The second node management unit manages the message received by its own node by forwarding within the ring for each node that is the starting point of the message. When the third message transmitted from a certain starting point is received by the communication unit in either the forward direction or the reverse direction, the transfer determination unit accesses the second node management unit to It is determined whether or not the third message has been received for the node that is the starting point of the message. When it is determined that the third message has not been received, the transfer control unit accesses the first node management unit, updates the status regarding the node notified by the third message to a disconnected state, After accessing the second node management unit and updating the identification information regarding the node that is the starting point of the third message, the third message is transmitted in the transfer direction in the ring via the communication unit. Further, when it is determined that the third message has been received, the transfer control unit terminates the transfer of the third message in the transfer direction at its own node without transmitting the third message.

第1の発明において、第2のノード管理部は、リング内で転送されるメッセージを識別するための識別情報を、メッセージの起点となったノード毎に管理してもよい。この場合、起点制御部は、第2のメッセージに付与するための第1の識別情報を採番し、この第1の識別情報を付与した第2のメッセージを順方向および逆方向に送信する。また、転送判定部は、第3のメッセージより抽出された第2の識別情報と、ノード管理部における第3のメッセージの起点となったノードに関する識別情報とを比較することによって、第3のメッセージが受信済みであるか否かを判定する。   In the first invention, the second node management unit may manage the identification information for identifying the message transferred in the ring for each node that is the starting point of the message. In this case, the starting point control unit numbers the first identification information to be given to the second message, and transmits the second message to which the first identification information is given in the forward direction and the reverse direction. In addition, the transfer determination unit compares the second identification information extracted from the third message with the identification information about the node that is the starting point of the third message in the node management unit. It is determined whether or not has been received.

第1の発明において、識別情報は、個々のメッセージに対してノード単位で採番されるメッセージIDと、ノード固有のノードIDとを含んでいてもよい。この場合、起点制御部は、識別情報をとして、新たに採番したメッセージIDと、自己が起点であることを示す自己のノードIDとを第2のメッセージに付与する。また、転送判定部は、第3のメッセージより抽出されたノードIDに基づいて、第3のメッセージの起点となったノードを特定する。   In the first invention, the identification information may include a message ID assigned to each message in node units and a node ID unique to the node. In this case, the starting point control unit assigns a newly assigned message ID and its own node ID indicating that it is the starting point to the second message using the identification information. Further, the transfer determination unit specifies the node that is the starting point of the third message based on the node ID extracted from the third message.

第2の発明は、複数のノードがリング状に構成されているとともに、任意のノードを起点として送信されたメッセージをリング内で転送することによって、リング内でメッセージをマルチキャストするリング型ネットワークで、ノードとして用いられるネットワーク通信機器にインストールされる通信プログラムを提供する。このリング型ネットワーク用通信プログラムは、以下のステップを有する方法をネットワーク通信機器に実行させる。   A second invention is a ring network in which a plurality of nodes are configured in a ring shape, and a message transmitted from an arbitrary node is transferred in the ring to multicast a message in the ring. Provided is a communication program installed in a network communication device used as a node. This ring network communication program causes a network communication device to execute a method including the following steps.

(1)ステップ1
リング内の通信経路においてノードが接続されているか否かを示すステータスをノード毎に管理するノードリストを用意する。
(2)ステップ2
自己のノードより送信された第1のメッセージが送信先のノードに到達したか否かを判定する。
(3)ステップ3
送信先のノードに第1のメッセージが到達していないと判定された場合、ノードリストにおけるこのノードに関するステータスを切断状態に更新する。
(4)ステップ4
このノードが切断状態に更新された旨の第2のメッセージを、リング内で順方向および逆方向に送信することによって、このノードを除いたリング内の各ノードに対してステータスの更新内容を通知する。
(1) Step 1
A node list is prepared for managing, for each node, a status indicating whether or not a node is connected on a communication path in the ring.
(2) Step 2
It is determined whether or not the first message transmitted from its own node has reached the destination node.
(3) Step 3
When it is determined that the first message has not arrived at the destination node, the status regarding this node in the node list is updated to a disconnected state.
(4) Step 4
By sending a second message indicating that this node has been updated to the disconnected state in the forward and backward directions within the ring, the status update content is notified to each node in the ring except this node. To do.

ここで、第2の発明において、ノードリストは、リング内での転送によって自己のノードが受信したメッセージを、メッセージの起点となったノード毎に管理してもよい。この場合、第2の発明は、以下のステップをさらに有する方法をネットワーク機器に実行させる。   Here, in the second invention, the node list may manage the message received by its own node by the transfer in the ring for each node that is the starting point of the message. In this case, 2nd invention makes a network apparatus perform the method which further has the following steps.

(5)ステップ5
ある起点によって送信された第3のメッセージを順方向および逆方向のいずれかの転送方向で受信した場合、ノードリストにおける第3のメッセージの起点となったノードに関して、第3のメッセージが受信済みであるか否かを判定する。
(6)ステップ6
第3のメッセージが受信済みでないと判定された場合、ノードリストにおける第3のメッセージによって通知を受けたノードに関するステータスを切断状態に更新するとともに、ノードリストにおける第3のメッセージの起点となったノードに関する識別情報を更新した上で、第3のメッセージをリング内で転送方向に送信する。
(7)ステップ7
第3のメッセージが受信済みと判定された場合、第3のメッセージを送信せずに、転送方向における第3のメッセージの転送を自己のノードにて終端させる。
(5) Step 5
When a third message transmitted from a certain origin is received in either the forward or reverse transfer direction, the third message has been received for the node that originated the third message in the node list. It is determined whether or not there is.
(6) Step 6
When it is determined that the third message has not been received, the status regarding the node notified by the third message in the node list is updated to the disconnected state, and the node that is the starting point of the third message in the node list The third message is transmitted in the transfer direction within the ring.
(7) Step 7
If it is determined that the third message has been received, the third message transfer in the transfer direction is terminated at its own node without transmitting the third message.

第2の発明において、ノードリストは、リング内で転送されるメッセージを識別するための識別情報を、メッセージの起点となったノード毎に管理していることが好ましい。この場合、第4のステップは、第2のメッセージに付与するための第1の識別情報を採番するステップと、この第1の識別情報を付与した第2のメッセージを順方向および逆方向に送信するステップとを含む。また、第5のステップでは、第3のメッセージより抽出された第2の識別情報と、ノードリストにおける第3のメッセージの起点となったノードに関する識別情報とを比較することによって、第3のメッセージが受信済みであるか否かを判定する。   In the second invention, it is preferable that the node list manages identification information for identifying a message transferred in the ring for each node that is a starting point of the message. In this case, the fourth step is the step of numbering the first identification information to be given to the second message, and the second message to which the first identification information is given are forward and backward. Transmitting. In the fifth step, the third message is compared by comparing the second identification information extracted from the third message with the identification information on the node that is the starting point of the third message in the node list. It is determined whether or not has been received.

第2の発明において、識別情報は、個々のメッセージに対してノード単位で採番されるメッセージIDと、ノード固有のノードIDとを含んでいてもよい。この場合、第4のステップは、識別情報として、新たに採番したメッセージIDと、自己が起点であることを示す自己のノードIDとを第2のメッセージに付与するステップを含むことが好ましい。また、第5のステップは、第3のメッセージより抽出されたノードIDに基づいて、第3のメッセージの起点となったノードを特定するステップを含むことが好ましい。   In the second invention, the identification information may include a message ID assigned to each message in node units and a node ID unique to the node. In this case, it is preferable that the fourth step includes a step of adding, to the second message, a newly-numbered message ID and its own node ID indicating that it is the starting point as identification information. Moreover, it is preferable that a 5th step includes the step which specifies the node used as the starting point of the 3rd message based on node ID extracted from the 3rd message.

第1または第2の発明によれば、リング内の通信経路においてノードが接続されているか否かを示すステータスがノード毎に管理されている。第1のメッセージが送信先のノードに到達しなかった場合、これを検出した自己のノードは、他のノードにその旨を通知すべく、第2のメッセージを送信する。この第2のメッセージは双方向で送信・転送されるので、一方の転送方向における通信経路の一部が切断されたとしても、他方の転送方向における通信経路が維持されている限り、リング全体にメッセージが確実に行き渡る。したがって、リング内における通信経路の信頼性を高めることができる。それとともに、リング内におけるメッセージの転送効率が向上し、リング内でのメッセージ共有に要する全体的な通信時間の短縮を図ることが可能になる。その結果、リングを維持する上で必要な管理情報をリング全体で迅速かつ確実に共有することができる。   According to the first or second invention, the status indicating whether or not the node is connected in the communication path in the ring is managed for each node. When the first message does not reach the destination node, the node that has detected the first message transmits the second message to notify the other nodes of the fact. Since this second message is transmitted and transferred in both directions, even if a part of the communication path in one transfer direction is disconnected, as long as the communication path in the other transfer direction is maintained, the entire message is transmitted to the entire ring. The message is surely distributed. Therefore, the reliability of the communication path in the ring can be improved. At the same time, the transfer efficiency of messages in the ring is improved, and the overall communication time required for message sharing in the ring can be reduced. As a result, management information necessary for maintaining the ring can be quickly and reliably shared throughout the ring.

図1は、本実施形態にかかる双方向リング型ネットワークの構成図である。このネットワークは、n(n≧3)個のノード1(1)〜1(n)がリング状に構成されている。個々のノードは、単一のネットワーク通信機器に相当し、本実施形態では、TCP/IPによるP2P(Peer to Peer)通信機能を備えた携帯電話を用いている。このネットワークの特徴は、あるノードの切断を検出したノードがメッセージの発信源(以下、「起点」という)となって、その旨のメッセージをリング内で双方向で、すなわち、順方向および逆方向でリレー転送することによって、リング内でメッセージをマルチキャストする点にある。なお、以下の説明では、「順方向」を時計回りの方向とし、「逆方向」を反時計回りの方向と呼ぶが、順逆に本質的な意味はなく、説明の便宜上定めたものに過ぎない(したがって、順逆を反対の意味で定めてもよい)。   FIG. 1 is a configuration diagram of a bidirectional ring network according to the present embodiment. In this network, n (n ≧ 3) nodes 1 (1) to 1 (n) are configured in a ring shape. Each node corresponds to a single network communication device, and in this embodiment, a cellular phone having a P2P (Peer to Peer) communication function based on TCP / IP is used. A characteristic of this network is that a node that detects the disconnection of a node becomes a message source (hereinafter referred to as “origin”), and that message is bidirectional in the ring, that is, forward and reverse. The point is to multicast the message in the ring by relaying on. In the following description, the “forward direction” is referred to as a clockwise direction, and the “reverse direction” is referred to as a counterclockwise direction. However, there is no essential meaning in the reverse direction, and this is merely determined for convenience of description. (Thus, the reverse order may be defined in the opposite sense).

このリング型ネットワークでは、任意のノード1(1)〜1(n)が起点となって、通知メッセージ(あるノードが切断状態に更新された旨を示す)の起点送信が行われるが、一例として、ノード1(1)を起点とした通知メッセージ転送手順について、図2から図5を参照しながら概略的に説明する。まず、図2に示すように、何らかのメッセージの送信元となるノード1(1)は、このメッセージの送信に際して、送信先のノード1(2)にメッセージが到達したか否かの到達確認を行う。そして、メッセージが到達していないと判定されたノード1(2)が、切断状態とみなされる。ノード1(1)は、ノード1(2)が切断状態になった旨をリング内の各ノード(ノード1(2)を除く)に通知すべく、その旨の通知メッセージを生成する。   In this ring network, an arbitrary node 1 (1) to 1 (n) is the starting point, and a notification message (indicating that a certain node has been updated to a disconnected state) is sent as a starting point. The notification message transfer procedure starting from the node 1 (1) will be schematically described with reference to FIGS. First, as shown in FIG. 2, the node 1 (1), which is the source of some message, confirms whether or not the message has arrived at the destination node 1 (2) when transmitting this message. . Then, the node 1 (2) determined that the message has not arrived is regarded as a disconnected state. The node 1 (1) generates a notification message to that effect in order to notify each node in the ring (except for the node 1 (2)) that the node 1 (2) has been disconnected.

つぎに、図3に示すように、起点ノード1(1)は、未到達とされたノード1(2)をスキップして、リング内の転送経路におけるノード1(2)以降で直近のノード1(3)に対して、通知メッセージを順方向に送信する。それとともに、ノード1(1)は、これと同じ通知メッセージを逆方向で隣接したノード1(n)に対しても同時に送信する。これにより、リング内において、順方向にて送信された通知メッセージの転送と、逆方向にて転送された通知メッセージの転送とが併存することになる。   Next, as shown in FIG. 3, the origin node 1 (1) skips the node 1 (2) that has not been reached, and the nearest node 1 after the node 1 (2) in the forwarding path in the ring. In response to (3), a notification message is transmitted in the forward direction. At the same time, the node 1 (1) transmits the same notification message to the adjacent node 1 (n) in the reverse direction at the same time. As a result, the transfer of the notification message transmitted in the forward direction and the transfer of the notification message transferred in the reverse direction coexist in the ring.

順方向送信された通知メッセージは、図4に示すような通信経路を経て順次転送される。まず、起点ノード1(1)からの通知メッセージを受信したノード1(3)は、これを次ノード、すなわち、メッセージ転送での下流側ノードに転送するか否かを判定する(転送判定)。通知メッセージの順方向転送は、自己のノードが逆方向から同一メッセージを未だ受信していないことを条件として行われ、受信済みの場合には、自己のノードにて順方向転送が終了する。ノード1(3)に関して、自己が順方向の通知メッセージを受信した時点では、逆方向からの通知メッセージを未だ受信していない。したがって、ノード1(3)は、受信した通知メッセージによってノード1(2)が切断状態になった旨を把握にした上で、順方向で隣接したノード1(4)に対して通知メッセージを転送する。それ以降、通知メッセージは、各ノード1(4)〜1(6)の判定結果が逆方向未受信である限り、ノード1(4)→1(5)→1(6)→1(7)の通信経路で順次転送されていく。このような順方向転送の推移と同時に、これとは別の通信経路で逆方向転送も推移している。そのため、いずれかのノードにおいて、自己が順方向からの通知メッセージを受信するよりも前に、逆方向から同一メッセージを受信している状態(転送判定=逆方向受信済み)が生じる。この受信済ノードに該当するノード1(7)は、受信した通知メッセージの送信は行わないので、一連の順方向転送はノード1(7)を以て終端することになる。   The notification messages transmitted in the forward direction are sequentially transferred through a communication path as shown in FIG. First, the node 1 (3) that has received the notification message from the origin node 1 (1) determines whether or not to transfer it to the next node, that is, the downstream node in message transfer (transfer determination). The forward transfer of the notification message is performed on the condition that the own node has not yet received the same message from the reverse direction. When the notification message has been received, the forward transfer ends at the own node. Regarding node 1 (3), at the time when the node 1 (3) has received the forward notification message, it has not yet received the reverse notification message. Therefore, node 1 (3) knows that node 1 (2) has been disconnected by the received notification message, and forwards the notification message to node 1 (4) adjacent in the forward direction. To do. Thereafter, as long as the determination results of the nodes 1 (4) to 1 (6) are not received in the reverse direction, the notification message is sent to the node 1 (4) → 1 (5) → 1 (6) → 1 (7). Are sequentially transferred through the communication path. Simultaneously with the transition of such forward transfer, the reverse transfer also shifts through a different communication path. Therefore, before any node receives the notification message from the forward direction, a state in which the same message is received from the reverse direction (transfer determination = reception received in the reverse direction) occurs. Since the node 1 (7) corresponding to the received node does not transmit the received notification message, the series of forward transfers terminates at the node 1 (7).

一方、逆方向送信された通知メッセージは、図5に示すような通信経路を経て順次転送される。まず、起点ノード1(1)からの通知メッセージを受信したノード1(n)は、これを次ノードに転送するか否かを判定する。通知メッセージの逆方向転送は、自己のノードが順方向から同一メッセージを未だ受信していないことを条件として行われ、受信済みの場合には、自己のノードにて逆方向転送が終了する。ノード1(n)に関して、自己が逆方向から通知メッセージを受信した時点では、順方向からの通知メッセージを未だ受信していない。したがって、ノード1(n)は、受信した通知メッセージよってノード1(2)が切断状態になった旨を把握した上で、逆方向で隣接したノード1(n-1)に対して通知メッセージを転送する。それ以降、通知メッセージは、各ノード1(n-1)〜1(n-4)の判定結果が順方向未受信である限り、ノード1(n-1)→1(n-2)→1(n-3)→1(n-4)の通信経路で順次転送されていく。この逆方向転送は、順方向転送にて同一の通知メッセージを受信済みのノード1(n-4)に至った時点で終端する。   On the other hand, the notification messages transmitted in the reverse direction are sequentially transferred through a communication path as shown in FIG. First, the node 1 (n) that has received the notification message from the origin node 1 (1) determines whether or not to transfer it to the next node. The reverse transfer of the notification message is performed on the condition that the own node has not yet received the same message from the forward direction. If the notification message has been received, the reverse transfer is completed at the own node. Regarding node 1 (n), when it has received a notification message from the reverse direction, it has not yet received the notification message from the forward direction. Therefore, the node 1 (n) knows that the node 1 (2) has been disconnected by the received notification message, and then sends a notification message to the adjacent node 1 (n-1) in the reverse direction. Forward. Thereafter, as long as the determination results of the nodes 1 (n-1) to 1 (n-4) are not received in the forward direction, the notification message is sent from the node 1 (n-1) → 1 (n-2) → 1. The data is sequentially transferred through the communication path of (n-3) → 1 (n-4). This reverse transfer terminates when it reaches the node 1 (n-4) that has received the same notification message in the forward transfer.

順方向転送の終端となるノード1(6)以降については、逆方向にて通知メッセージが行き渡っていることが保証されているので、順方向転送を継続する必要はない。また、逆方向転送の終端となるノード1(n-4)以降については、順方向にて通知メッセージが行き渡っていることが保証されているので、逆方向転送を継続する必要はない。つまり、切断状態の送信先のノード1(2)を除いたリング内において、順方向転送および逆方向転送の双方が終端に至った時点で、リング全体に通知メッセージが行き渡ったということになる。このような双方向転送では、順方向転送および逆方向転送が同時並行的に行われるので、単方向転送と比較して通知メッセージの転送回数が半分程度で済む。   Since it is guaranteed that the notification message is distributed in the reverse direction after node 1 (6), which is the end of the forward transfer, there is no need to continue the forward transfer. Further, since it is guaranteed that the notification message is distributed in the forward direction after node 1 (n-4), which is the end of the reverse transfer, there is no need to continue the reverse transfer. That is, in the ring excluding the destination node 1 (2) in the disconnected state, the notification message is distributed throughout the ring when both forward transfer and reverse transfer reach the end. In such bi-directional transfer, forward transfer and reverse transfer are performed in parallel, so that the number of notification message transfers can be halved compared to unidirectional transfer.

図6は、個々のノードに相当する単一のネットワーク通信機器1の構成図であり、すべてのノード1(1)〜1(n)で共通の構成となっている。このネットワーク通信機器1は、通信部に相当する4つの送受信部2〜5と、通信制御部6と、ノード管理部7と、起点制御部8と、到達確認部9と、転送判定部10と、転送制御部11とで構成される。また、ネットワーク通信機器1には、これらと連係して動作するアプリケーション12が予めインストールされている。アプリケーション12としては、例えば、リアルタイムでメッセージを共有する必要がある対戦型ネットワークゲーム等を用いることができる。このネットワーク通信機器1は、通常のメッセージの通信を行う機能と、ノード切断時に送信される通知メッセージの起点としての機能と、通知メッセージを転送する機能(転送終端機能を含む)とを備えている。   FIG. 6 is a configuration diagram of a single network communication device 1 corresponding to each node, and all the nodes 1 (1) to 1 (n) have a common configuration. The network communication device 1 includes four transmission / reception units 2 to 5 corresponding to a communication unit, a communication control unit 6, a node management unit 7, a starting point control unit 8, an arrival confirmation unit 9, and a transfer determination unit 10. And the transfer control unit 11. The network communication device 1 is preinstalled with an application 12 that operates in conjunction with these. As the application 12, for example, a battle network game or the like that needs to share a message in real time can be used. The network communication device 1 has a function of performing normal message communication, a function as a starting point of a notification message transmitted when a node is disconnected, and a function of transferring a notification message (including a transfer termination function). .

順方向受信部2は、リング内での順方向のメッセージ転送時にメッセージの転送元となるノードからメッセージを受信する。順方向送信部3は、順方向転送時にメッセージの転送先となるノードにメッセージを送信する。一方、逆方向受信部4は、リング内での逆方向のメッセージ転送時にメッセージの転送元となるノードからメッセージを受信する。逆方向送信部5は、逆方向転送時にメッセージの転送先となるノードにメッセージを送信する。他のノードに送信すべきメッセージは、送信部3,5によってTCP/IP準拠のフォーマットにパケット化した上で送信されるが、メッセージとパケットとが必ずしも1対1の関係になるとは限らず、複数のメッセージが1パケット化されることもある。同様に、他のノードから受信したパケットからメッセージを抽出する処理は、受信部2,4によって行われるが、1つのパケットから複数のメッセージが抽出される場合もある。なお、これらの送受信部2〜5は、ハードウェア的には、他のノードとの間でメッセージの送受信を行う通信ユニット(通信部)の一機能として実現される。   The forward receiving unit 2 receives a message from a node that is a message transfer source when a forward message is transferred in the ring. The forward transmission unit 3 transmits a message to a node that is a message transfer destination during forward transfer. On the other hand, the reverse direction receiving unit 4 receives a message from a node that is a message transfer source when a reverse message is transferred in the ring. The reverse transmission unit 5 transmits a message to a node that is a transfer destination of the message at the time of reverse transfer. A message to be transmitted to another node is transmitted after being packetized into a TCP / IP-compliant format by the transmission units 3 and 5, but the message and the packet are not necessarily in a one-to-one relationship. A plurality of messages may be made into one packet. Similarly, the process of extracting a message from a packet received from another node is performed by the receiving units 2 and 4, but a plurality of messages may be extracted from one packet. In addition, these transmission / reception parts 2-5 are implement | achieved as one function of the communication unit (communication part) which transmits / receives a message between other nodes in hardware.

通信制御部6は、他のノードとの間で通常メッセージ(通知メッセージとは異なり、主としてアプリケーション12からの要求によるもの)の送受信を行う。通常メッセージの通信形態はどのようなものであってもよく、例えば、単方向リング通信や双方向リング通信によるマルチキャスト、または、リング内の特定のノード間で通信するユニキャスト(典型的には、リング内でのリレー転送が用いられる)などが挙げられる。通信制御部6は、アプリケーション12から発信要求に応じて他のノードに通常メッセージを送信する場合、または、他のノードから受信した通常メッセージを転送する場合に動作する。   The communication control unit 6 transmits / receives a normal message (in contrast to the notification message, mainly due to a request from the application 12) to / from other nodes. The communication form of the normal message may be any form, for example, multicast by unidirectional ring communication or bidirectional ring communication, or unicast (typically, communication between specific nodes in the ring) Relay transfer in the ring is used). The communication control unit 6 operates when a normal message is transmitted from the application 12 to another node in response to a call origination request, or when a normal message received from another node is transferred.

ノード管理部7は、リング内での転送によって自己のノードが受信したメッセージを、メッセージの起点となったノード毎に管理する。具体的には、リング内で転送されるメッセージを識別するための固有の識別情報が、メッセージの起点毎に記憶・管理されている。ノード管理部7は、上述した転送判定、すなわち、自己のノードが受信メッセージと同一のものを受信済みであるか否かを判定する上で重要な役割を担っており、以下に述べるノードリストを有している。なお、本実施形態では、受信メッセージ以外に、自己のノードが起点となって送信するメッセージについてもノード管理部7にて管理しているが、本発明の主たる特徴に鑑みたとき、これは必須ではない。   The node management unit 7 manages the message received by its own node by forwarding within the ring for each node that is the starting point of the message. Specifically, unique identification information for identifying a message transferred in the ring is stored and managed for each starting point of the message. The node management unit 7 plays an important role in determining the transfer described above, that is, whether or not its own node has already received the same message as the received message. Have. In this embodiment, in addition to the received message, a message transmitted from its own node is also managed by the node management unit 7, but this is indispensable when considering the main features of the present invention. is not.

図7は、一例としてのノードリストの説明図である。このノードリストは、ノードIDに関連づけて、リスト順位と、IPアドレスと、ステータスと、シーケンス番号とが記述されている。ここで、「ノードID」とは、リング内の個々のノードを識別するために、個々のノードに割り当てられたノード固有の情報である。「IPアドレス」には、個々のノードに相当するネットワーク通信機器1がTCP/IPネットワーク上で通信する際に用いられるアドレスが記述される。ネットワーク通信機器1の移動等によってIPアドレスが変更された場合、これに応じて「IPアドレス」の記述内容も変更される。「リスト順位」は、リング内におけるノード間の通信経路を規定しており、リスト順位が隣り合ったもの同士で通信が行われることを示す。例えば、リスト順位”1”であるノードID”100001”は、リスト順位”2”であるノードID”100002”と通信するといった如くである。なお、リスト順位が最下位のノードについては、最上位のノードと通信するものとして取り扱われる。このようなノード間の通信経路の集合によって、リングが定義される。「ステータス」は、該当欄のノードの接続状態を示しており、現在接続されているノードについては”接続”にセットされ、何らかの理由で切断されてしまったノードについては”切断”にセットされる。「シーケンス番号」には、該当欄のノードが起点となって送信した最新メッセージに関するシーケンス番号が記述される。シーケンス番号は、個々のメッセージに対してノード単位で個別に採番されるメッセージIDの一つであって、番号が連続するように昇順で採番される。この採番はノード単位で独立して行われるので、複数のノードで同一番号の重複採番が許容されている。本実施形態では、識別情報として、メッセージIDとしてのシーケンス番号と、起点となるノードIDを特定する起点ノードIDとのセットを用いており、これによって、起点ノードの特定と、メッセージの識別とが可能になっている。   FIG. 7 is an explanatory diagram of a node list as an example. In this node list, a list order, an IP address, a status, and a sequence number are described in association with the node ID. Here, the “node ID” is node-specific information assigned to each node in order to identify each node in the ring. The “IP address” describes an address used when the network communication device 1 corresponding to each node communicates on the TCP / IP network. When the IP address is changed due to movement of the network communication device 1 or the like, the description content of the “IP address” is also changed accordingly. The “list order” defines a communication path between nodes in the ring, and indicates that communication is performed between the adjacent list orders. For example, the node ID “100001” with the list order “1” communicates with the node ID “100002” with the list order “2”. Note that the node with the lowest list order is handled as communicating with the highest node. A ring is defined by a set of communication paths between such nodes. “Status” indicates the connection status of the node in the corresponding column. The currently connected node is set to “connected”, and the node that has been disconnected for some reason is set to “disconnected”. . In “sequence number”, a sequence number related to the latest message transmitted from the node in the corresponding column is described. The sequence number is one of message IDs that are individually assigned to individual messages in units of nodes, and is assigned in ascending order so that the numbers are continuous. Since this numbering is performed independently for each node, duplicate numbering of the same number is allowed in a plurality of nodes. In this embodiment, a set of a sequence number as a message ID and a start node ID that specifies a start node ID is used as the identification information, whereby the start node identification and message identification are performed. It is possible.

ノードリストは、リング型ネットワークに参加する全ノードが確定した際、図示しないマッチングサーバによって、全ノードに配布・共有される。初期状態では、全ノードの「ステータス」が”接続”にセットされており、ノードの切断が事後的に生じた際にこれが”切断”に変更される。また、初期状態では、すべての「シーケンス番号」が”0”(如何なるメッセージも起点送信していないことを示す)にセットされており、メッセージの起点送信毎にインクリメントされる。また、転送によるメッセージ受信時においても、必要に応じて、メッセージより抽出されたシーケンス番号に随時更新される。「IPアドレス」についても同様であり、ノードのエリア移動等によりノードのIPアドレスが変更された際に随時変更される。これらの記述内容の変更を検出したノードは、他のすべてのノードに対して、ノードリストの変更内容を示す更新情報をメッセージ形式で通知する。これにより、リング内において、リンクを維持するために必要な情報(ステータス等)が共有される。なお、マッチングサーバは、当初のマッチングのみ関与し、ノードリストの配布後におけるリング内通信には関与しない。   The node list is distributed and shared to all nodes by a matching server (not shown) when all nodes participating in the ring network are determined. In the initial state, the “status” of all the nodes is set to “connected”, and this is changed to “disconnected” when the disconnection of the node occurs after the fact. In the initial state, all “sequence numbers” are set to “0” (indicating that no message is transmitted from the origin), and are incremented every time the message is transmitted from the origin. In addition, even when a message is received by forwarding, it is updated as necessary with the sequence number extracted from the message as necessary. The same applies to the “IP address”, and is changed as needed when the IP address of the node is changed due to movement of the area of the node or the like. The node that detects the change in the description contents notifies update information indicating the change contents of the node list in a message format to all other nodes. Thereby, information (status etc.) required in order to maintain a link is shared within a ring. Note that the matching server is involved only in the initial matching, and is not involved in intra-ring communication after distribution of the node list.

到達確認部8は、通信制御部6によって通常メッセージが送信された場合、あるいは、起点制御部9または転送制御部11によって通知メッセージが送信された場合に動作し、送信対象となったメッセージが送信先に到達したか否かを判定する(到達確認)。この送信先に送信対象メッセージが到達しなかった場合には、当該送信先のステータス更新(”接続”→”切断”)を行った上で、当該送信先をスキップして、リング内の転送経路における当該送信先以降のノードに対して、送信対象メッセージの送信が試みられる。それとともに、切断された送信先に関するステータスが更新された旨の通知メッセージが、自己のノードを起点としてリング内で双方向に転送される。   The arrival confirmation unit 8 operates when a normal message is transmitted by the communication control unit 6, or when a notification message is transmitted by the origin control unit 9 or the transfer control unit 11, and the message to be transmitted is transmitted. It is determined whether or not the destination has been reached (arrival confirmation). If the message to be sent does not arrive at this destination, update the status of the destination ("Connect" → "Disconnect"), skip the destination, and transfer routes in the ring An attempt is made to transmit the message to be transmitted to the nodes after the transmission destination. At the same time, a notification message to the effect that the status relating to the disconnected transmission destination has been updated is transferred in both directions within the ring from its own node.

起点制御部9は、起点送信時、すなわち、自己のノードが起点となって、あるノードのステータスが”切断”に変更された旨の通知メッセージを送信する場合に動作する。この場合、ノード管理部7における自己のノードに関する識別情報(管理内容)が、通知メッセージに付与すべく採番された識別情報に更新される。そして、順方向送信部3および逆方向送信部5が起点制御部9によって制御され、識別情報を伴う通知メッセージが双方向に送信される。   The starting point control unit 9 operates when transmitting a starting point, that is, when a notification message indicating that the status of a certain node has been changed to “disconnected” starts from its own node. In this case, the identification information (management contents) regarding the node itself in the node management unit 7 is updated to the identification information numbered to be added to the notification message. Then, the forward direction transmission unit 3 and the reverse direction transmission unit 5 are controlled by the origin control unit 9, and a notification message with identification information is transmitted in both directions.

転送判定部10および転送制御部11は、転送受信時、すなわち、自己のノードが通知メッセージを受信した場合に動作する。この場合、転送判定部10によって、ある起点からの通知メッセージより抽出された識別情報が、ノード管理部7におけるこの起点に関する識別情報の管理内容と比較され、通知メッセージが受信済みであるか否かが判定される。そして、この判定結果に応じて、順方向送信部3および逆方向送信部5のうちの転送方向に対応する一方が転送制御部11によって制御される。具体的には、通知メッセージが受信済みでないと判定された場合(未だ受信していない新しい通知メッセージの場合)、ノード管理部7にアクセスされ、この通知メッセージを送信した起点に関する識別情報が、今回受信した通知メッセージの識別情報に更新される。これにより、この通知メッセージは、以後、自己のノードにおいて受信済みとして取り扱われる。それとともに、ノード管理部7において、通知メッセージによって通知を受けたノードに関するステータスが切断状態に更新される。そして、この転送方向における当該通知メッセージの転送が許可される。これに対して、同一の通知メッセージが受信済みと判定された場合(同一メッセージの重複受信時)、この転送方向における当該通知メッセージの転送が禁止される。この場合、ノード管理部7における識別情報の更新およびステータスの更新は行われない。   The transfer determination unit 10 and the transfer control unit 11 operate at the time of transfer reception, that is, when the own node receives a notification message. In this case, the transfer determination unit 10 compares the identification information extracted from the notification message from a certain starting point with the management content of the identification information related to this starting point in the node management unit 7, and whether or not the notification message has been received. Is determined. Then, according to the determination result, one of the forward transmission unit 3 and the backward transmission unit 5 corresponding to the transfer direction is controlled by the transfer control unit 11. Specifically, when it is determined that the notification message has not been received (in the case of a new notification message that has not yet been received), the node management unit 7 is accessed, and the identification information regarding the origin from which this notification message was transmitted is Updated to the identification information of the received notification message. As a result, the notification message is handled as having been received in its own node thereafter. At the same time, the node management unit 7 updates the status regarding the node notified by the notification message to the disconnected state. Then, the transfer of the notification message in this transfer direction is permitted. On the other hand, when it is determined that the same notification message has been received (when the same message is received repeatedly), transfer of the notification message in this transfer direction is prohibited. In this case, the node management unit 7 does not update the identification information and the status.

図8は、ネットワーク通信機器1において実行される通信制御のフローチャートである。まず、ステップ1において、到達確認部8は、自己のノードより送信(または転送)されたメッセージ(通常メッセージ、通知メッセージの双方を含む)が送信先(または転送先)に到達したか否かの到達確認を行う。到達確認の手法については様々なものが知られており、その内容については詳述しないが、典型的には、以下の手法が周知である。なお、起点制御の場合、順方向の送信先および逆方向の送信先のそれぞれに対して、到達確認が別個に行われる。   FIG. 8 is a flowchart of communication control executed in the network communication device 1. First, in Step 1, the arrival confirmation unit 8 determines whether or not a message (including both a normal message and a notification message) transmitted (or forwarded) from its own node has reached the destination (or forwarding destination). Confirm arrival. Various methods of arrival confirmation are known, and the contents thereof are not described in detail, but typically the following methods are well known. In the starting point control, arrival confirmation is separately performed for each of the forward transmission destination and the reverse transmission destination.

(1)TCPプロトコルの送信情報を取得する方法
制御部6,9,11からの通知(送信部3,5からの通知でも可)をトリガとして時間をカウントし、所定時間内にTCPプロトコルの送信情報を自己のノードが取得できなかった場合、パケットが送信先に到達しなかったものとみなす。
(2)PPP(Point to Point Protocol)等のデータリンク層プロトコルの送信情報を取得する方法
上記所定時間内に、PPP等のデータリンク層プロトコルの送信情報を自己のノードが取得できなかった場合、パケットが送信先に到達しなかったものとみなす。
(3)定期的に送信先から送信されている生存確認PING(Packet INternet Groper)を用いる方法
上記所定時間内に生存確認ができなかった場合に、パケットが送信先に到達しなかったものとみなす。
(1) Method for Acquiring Transmission Information of TCP Protocol Counting time triggered by notification from control units 6, 9, and 11 (notification from transmission units 3 and 5), and transmission of TCP protocol within a predetermined time If the node cannot acquire the information, it is considered that the packet has not reached the destination.
(2) Method for Acquiring Transmission Information of Data Link Layer Protocol such as PPP (Point to Point Protocol) When the node cannot acquire transmission information of data link layer protocol such as PPP within the predetermined time, It is assumed that the packet did not reach the destination.
(3) Method of using survival confirmation PING (Packet Internet Groper) periodically transmitted from the destination When the survival confirmation is not completed within the predetermined time, it is considered that the packet has not reached the destination. .

送信メッセージが未到達の場合には、リングを維持する上で必要な管理情報(ノードリストの更新情報)をリング内で共有すべく、ステップ1の分岐を経てステップ2の起点制御が実行される。一方、通知メッセージを受信した場合には、ステップ1,3の分岐を経てステップ4の例外付転送制御が実行される。ここで、例外付転送制御の「例外」とは、転送判定の結果によってメッセージ転送が行われないケース(転送終端となる場合)が存在することを意味する。   If the transmission message has not yet arrived, the starting point control of step 2 is executed via the branch of step 1 in order to share management information (node list update information) necessary for maintaining the ring within the ring. . On the other hand, when the notification message is received, the transfer control with exception of step 4 is executed through the branch of steps 1 and 3. Here, “exception” in transfer control with exception means that there is a case where message transfer is not performed (when transfer is terminated) depending on the result of transfer determination.

(起点制御)
図9は、図8のステップ2、すなわち、通知メッセージの起点送信時に実行される起点制御の詳細なフローチャートである。まず、ステップ10において、起点制御部9は、ノードリストにアクセスして、メッセージが到達しなかった送信先のノード(未到達ノード)に関するステータスを”接続”から”切断”に変更する。それとともに、起点制御部9は、未到達ノードのステータスが変更された旨の更新情報を含む通知メッセージを生成する。
(Starting point control)
FIG. 9 is a detailed flowchart of step 2 in FIG. 8, that is, the starting point control executed when the starting point of the notification message is transmitted. First, in step 10, the origin control unit 9 accesses the node list and changes the status regarding the destination node (unreachable node) to which the message has not arrived from “connected” to “disconnected”. At the same time, the starting point control unit 9 generates a notification message including update information indicating that the status of the unreached node has been changed.

続くステップ11において、起点制御部9は、今回、送信対象となる新たな通知メッセージに付与するためのシーケンス番号を昇順にて採番する。自己のノードにおけるシーケンス番号の採番は、他のノードの採番状況と無関係に行われる。続くステップ12において、起点制御部9は、ノードリストにおける自己のノードに関するシーケンス番号(記述内容)を、ステップ11で採番されたシーケンス番号に更新する。例えば図6において、ノードID”100003”が起点送信を行う場合、このノードIDに対応するシーケンス番号”1123”に、新たに採番された”1124”が上書きされる。   In subsequent step 11, the starting point control unit 9 assigns a sequence number to be assigned to a new notification message to be transmitted this time in ascending order. Numbering of sequence numbers in its own node is performed regardless of the numbering status of other nodes. In subsequent step 12, the starting point control unit 9 updates the sequence number (description content) related to its own node in the node list to the sequence number assigned in step 11. For example, in FIG. 6, when the node ID “100003” performs the origin transmission, the newly assigned “1124” is overwritten on the sequence number “1123” corresponding to this node ID.

ステップ13において、起点制御部9は、ノードリストを参照して、メッセージの送信先を双方向で特定する。すなわち、順方向の送信先として、リスト順位の昇順側で自己のノードに最も近く、かつ、ステータスが”接続”であるノードが特定される。それとともに、逆方向の送信先として、リスト順位の降順側で自己のノードに最も近く、かつ、ステータスが”接続”であるノードが特定される。例えば、リスト順位”3”のノードID”100003”が図7に示したノードリストを保有しており、ノードID”100002”が未到達とされた場合(このIDのステータスは”切断”に変更済み)、順方向の送信先は、リスト順位”4”のノードID”100004”となり、逆方向の送信先は、リスト順位”1”のノードID”100001”となる(リスト順位”2”のノードID”100002”は切断状態なのでスキップされる)。そして、メッセージは、所定のフォーマットに変換された上で、順方向送信部3および逆方向送信部5に出力される。このメッセージは、図10において太線で囲まれたデータセットに相当する。メッセージのヘッダは、ステップ11で採番されたシーケンス番号、メッセージ種別(アプリケションメッセージ/リング管理用メッセージの区別)、起点ノードID(自己のノードID)、宛先ノードID(全ノードを宛先とする場合にはその旨の指定)等を含む。また、ペイロードは、ノードリストの更新情報(未到達ノード=”切断”)に相当する。   In step 13, the starting point control unit 9 refers to the node list and specifies the message transmission destination in both directions. That is, as the forward transmission destination, a node closest to the self node on the ascending order of the list order and having a status of “connected” is specified. At the same time, as the transmission destination in the reverse direction, the node closest to the self node on the descending order of the list order and having the status of “connected” is specified. For example, when the node ID “100003” of the list rank “3” has the node list shown in FIG. 7 and the node ID “100002” is not yet reached (the status of this ID is changed to “disconnected”) The transmission destination in the forward direction is the node ID “100004” in the list order “4”, and the transmission destination in the reverse direction is the node ID “100001” in the list order “1” (list order “2”). Since node ID “100002” is in a disconnected state, it is skipped). Then, the message is converted into a predetermined format and then output to the forward transmission unit 3 and the reverse transmission unit 5. This message corresponds to a data set surrounded by a thick line in FIG. The header of the message includes the sequence number assigned in step 11, the message type (application message / ring management message distinction), the origin node ID (own node ID), and the destination node ID (all nodes as destinations). In such cases, the designation) is included. The payload corresponds to node list update information (unreachable node = “disconnect”).

なお、本実施形態では、TCP/IPを前提としているが、TCPにおいて接続先を特定する必要が生じるのは、実際には、以下の2つのタイミングのみである。これら以外の送信時には、既に確立されたTCPストリーム(通信路)に対して読み書きを行うだけなので、ノードリストの都度参照を行う必要はない。   In the present embodiment, TCP / IP is assumed, but it is actually only the following two timings that the connection destination needs to be specified in TCP. At the time of transmission other than these, it is only necessary to read / write from / to the already established TCP stream (communication path), so it is not necessary to refer to the node list every time.

(1)初回接続のとき(リング構築時)
(2)前後のノードが切断されたとき
(1) When connecting for the first time (when building a ring)
(2) When previous or next node is disconnected

ステップ14において、順方向送信部3および逆方向送信部5は、図10に示したTCP/IPに準拠したパケットを生成する。具体的には、起点制御部9から受けたメッセージをペイロードとし、これにIPヘッダ、TCPヘッダ等のヘッダが付加される。そして、順方向送信部3は、起点制御部9によって指定された順方向の送信先に対して、TCP/IPパケットを送信する。それとともに、逆方向送信部5は、起点制御部9によって指定された逆方向の送信先に対して、TCP/IPパケットを送信する。   In step 14, the forward transmission unit 3 and the reverse transmission unit 5 generate a packet that conforms to the TCP / IP shown in FIG. Specifically, a message received from the origin control unit 9 is used as a payload, and a header such as an IP header or a TCP header is added thereto. Then, the forward transmission unit 3 transmits a TCP / IP packet to the transmission destination in the forward direction specified by the origin control unit 9. At the same time, the reverse transmission unit 5 transmits the TCP / IP packet to the transmission destination in the reverse direction designated by the origin control unit 9.

ステップ15において、到達確認部8は、上述した到達確認方法を用いて、起点制御部9(送信部3,5からの通知でも可)をトリガとして、パケットが送信先に到達したか否かを判定する。ステップ15で肯定判定された場合、すなわち、パケットが送信先に到達した場合には、今回の送信対象であるメッセージに関する一連の起点制御が終了する。これに対して、ステップ15で否定判定された場合、すなわち、パケットが送信先に到達しなかった場合にはステップ16に進む。起点制御部9は、到達確認部8からの判定結果を受けて、ノードリストにおける未到達の送信先に関するステータスを”接続”から”切断”に変更する。そして、ステップ13に戻り、起点制御部9は、ノードリストを参照して、未到達とされた方向に関して新たな送信先を選択・特定した上で、この新たな送信先に対するメッセージの送信を試みる。先のステップ16でのステータス更新によって、当初の送信先は切断状態として取り扱われるので、当初の送信先はスキップされ、これ以降でステータスが”接続”となっているノードが新たな送信先として選択される。   In step 15, the arrival confirmation unit 8 uses the arrival confirmation method described above to determine whether or not the packet has arrived at the transmission destination using the origin control unit 9 (notification from the transmission units 3 and 5 is also possible) as a trigger. judge. If the determination in step 15 is affirmative, that is, if the packet reaches the transmission destination, a series of starting point control for the message that is the current transmission target ends. On the other hand, if a negative determination is made in step 15, that is, if the packet does not reach the transmission destination, the process proceeds to step 16. In response to the determination result from the arrival confirmation unit 8, the starting point control unit 9 changes the status regarding the unreachable transmission destination in the node list from “connected” to “disconnected”. Then, returning to step 13, the origin control unit 9 refers to the node list, selects and specifies a new transmission destination for the unreachable direction, and then attempts to transmit a message to the new transmission destination. . By updating the status in the previous step 16, the initial transmission destination is handled as a disconnected state, so the initial transmission destination is skipped, and the node whose status is “connected” after that is selected as the new transmission destination. Is done.

(例外付転送制御)
図11は、図8のステップ4、すなわち、通知メッセージの転送受信時に実行される例外付転送制御の詳細なフローチャートである。まず、ステップ21において、転送判定部10は、今回受信した通知メッセージが受信済みであるか否かを判定する。具体的には、受信メッセージより抽出されたシーケンス番号が、受信メッセージより抽出されたノードIDに関するノードリストの記述内容(シーケンス番号)と比較される。両者が一致するということは、今回、ある転送方向で受信したメッセージは、これとは逆の転送方向にて受信済みであることを意味する。したがって、ステップ21の判定結果が肯定の場合(同一メッセージの重複受信時)、重複転送を避けるべく、受信メッセージの送信を行うことなく処理を終了する。これに対して、ステップ21の判定結果が否定の場合(未受信メッセージの初回受信時)、受信メッセージの転送を行うべく、ステップ22に進む。
(Transfer control with exception)
FIG. 11 is a detailed flowchart of step 4 in FIG. 8, that is, the transfer control with exception executed when receiving the notification message. First, in step 21, the transfer determination unit 10 determines whether or not the notification message received this time has been received. Specifically, the sequence number extracted from the received message is compared with the description content (sequence number) of the node list regarding the node ID extracted from the received message. If both match, this means that a message received this time in a certain transfer direction has already been received in the opposite transfer direction. Therefore, if the determination result in step 21 is affirmative (when the same message is received in duplicate), the process ends without transmitting the received message to avoid duplicate transfer. On the other hand, if the determination result in step 21 is negative (when an unreceived message is received for the first time), the process proceeds to step 22 to transfer the received message.

ステップ22において、転送制御部11は、今回受信した通知メッセージに基づいて、自己のノードのノードリストを更新する。具体的には、第1に、ノードリストにおいて、起点ノードに関するシーケンス番号の記述内容が受信メッセージより抽出されたシーケンス番号に更新される。例えば図7において、ノードID”100003”が受信したメッセージより抽出された起点ノードIDが”100001”で、シーケンス番号が”920”の場合、このノードIDに対応するシーケンス番号”919”に”920”が上書きされる。これによって、ノードID”100003”では、以後、起点ノードID”100001”からのメッセージに関して”920”までが受信済みとして取り扱われる。第2に、通知メッセージによって通知を受けたノード(未到達ノード)に関するステータスが”切断"に変更される。これによって、起点ノードより送信された更新情報がこのノードにおいて反映される。   In step 22, the transfer control unit 11 updates the node list of its own node based on the notification message received this time. Specifically, first, in the node list, the description content of the sequence number related to the origin node is updated to the sequence number extracted from the received message. For example, in FIG. 7, when the origin node ID extracted from the message received by the node ID “100003” is “100001” and the sequence number is “920”, the sequence number “919” corresponding to this node ID is set to “920”. "Is overwritten. As a result, the node ID “100003” is handled as “already received” up to “920” with respect to the message from the origin node ID “100001”. Secondly, the status regarding the node (unreachable node) notified by the notification message is changed to “disconnected”. Thereby, the update information transmitted from the origin node is reflected in this node.

ステップ23において、転送制御部11は、ノードリストを参照して、メッセージの転送先(送信先)を特定する。メッセージ転送では、受信メッセージの転送方向がそのまま維持される。順方向転送の場合には、順方向の転送先として、リスト順位の昇順側で自己のノードに最も近く、かつ、ステータスが”接続”であるノードが特定される。これに対して、逆方向転送の場合には、逆方向の転送先として、リスト順位の降順側で自己のノードに最も近く、かつ、ステータスが”接続”であるノードが特定される。そして、メッセージは、所定のフォーマットに変換された上で、順方向送信部3および逆方向送信部5のうちの転送方向に対応する一方に出力される。このメッセージのフォーマットは、起点制御部9が生成するそれと同様である。そして、ステップ24において、順方向送信部3および逆方向送信部5の一方(転送方向に対応する方)は、TCP/IPに準拠したパケットを生成し、このTCP/IPパケットを送信する。   In step 23, the transfer control unit 11 refers to the node list and specifies a message transfer destination (transmission destination). In the message transfer, the transfer direction of the received message is maintained as it is. In the case of forward transfer, a node that is closest to its own node on the ascending order of the list order and has a status of “connected” is specified as a forward transfer destination. On the other hand, in the case of reverse transfer, a node closest to the self node on the descending order of the list order and having a status of “connected” is specified as the transfer destination in the reverse direction. Then, the message is converted into a predetermined format and output to one of the forward transmission unit 3 and the reverse transmission unit 5 corresponding to the transfer direction. The format of this message is the same as that generated by the origin control unit 9. In step 24, one of the forward transmission unit 3 and the reverse transmission unit 5 (one corresponding to the transfer direction) generates a TCP / IP-compliant packet and transmits the TCP / IP packet.

ステップ25において、到達確認部8は、上述した到達確認手法を用いて、パケットが転送先に到達したか否かを判定する。ステップ25で肯定判定された場合、すなわち、パケットが転送先に到達した場合には、今回の送信対象である通知メッセージに関する一連の転送制御が終了する。これに対して、ステップ25で否定判定された場合、すなわち、パケットが転送先に到達しなかった場合にはステップ26に進む。転送制御部11は、到達確認部8からの判定結果を受けて、ノードリストにおける未到達の転送元に関するステータスを”接続”から”切断”に変更する。そして、ステップ23に戻って、ステップ23〜25の手順が再度実行される。これにより、未到達とされた転送方向に関して、新たな転送先が選択・特定され、この転送先に対するメッセージの送信を試みられる。この新たな転送先は、当初の転送先ではなく、これ以降でステータスが”接続”となっているノードである。   In step 25, the arrival confirmation unit 8 determines whether or not the packet has reached the transfer destination using the above-described arrival confirmation method. If the determination in step 25 is affirmative, that is, if the packet has reached the transfer destination, a series of transfer controls relating to the notification message that is the current transmission target ends. On the other hand, if a negative determination is made in step 25, that is, if the packet does not reach the transfer destination, the process proceeds to step 26. In response to the determination result from the arrival confirmation unit 8, the transfer control unit 11 changes the status regarding the unreachable transfer source in the node list from “connected” to “disconnected”. And it returns to step 23 and the procedure of steps 23-25 is performed again. As a result, a new transfer destination is selected and specified for the transfer direction that has not been reached, and transmission of a message to this transfer destination is attempted. This new transfer destination is not the original transfer destination but a node whose status is “connected” after this.

このように、本実施形態では、リング内の通信経路においてノードが接続されているか否かを示すステータスをノード毎に管理し、これに基づいて、順方向および逆方向の一方で受信したメッセージ(あるノードが切断されたことを示す)の転送を行うか否かを判断している。これにより、あるメッセージに関する順方向転送および逆方向転送は、同一メッセージを受信済みのノードにおいて終端し、それ以降のノードに対しては重複して転送されない。したがって、リング内におけるメッセージの転送効率が向上し、リング内でのメッセージ共有に要する全体的な通信時間の短縮を図ることが可能になる。それとともに、リング内における通信経路の信頼性を高めることができる。なぜなら、メッセージが双方向でリレー転送されるので、一方の転送方向における通信経路の一部が切断された場合でも、他方の転送方向における通信経路が維持されている限り、リング全体にメッセージが確実に行き渡るからである。その結果、本発明によれば、リングを維持する上で必要な管理情報をリング全体で迅速かつ確実に共有することが可能になる。   As described above, in this embodiment, the status indicating whether or not the node is connected in the communication path in the ring is managed for each node, and based on this, the message received in one of the forward direction and the reverse direction ( It is determined whether or not to transfer (indicating that a certain node is disconnected). As a result, the forward transfer and the reverse transfer related to a certain message are terminated at a node that has received the same message, and are not transferred redundantly to subsequent nodes. Accordingly, the transfer efficiency of messages in the ring is improved, and the overall communication time required for message sharing in the ring can be reduced. At the same time, the reliability of the communication path in the ring can be improved. Because the message is relayed in both directions, even if a part of the communication path in one transfer direction is disconnected, the message is surely transmitted to the entire ring as long as the communication path in the other transfer direction is maintained. It is because it goes around. As a result, according to the present invention, management information necessary for maintaining the ring can be quickly and reliably shared throughout the ring.

なお、上述した実施形態では、ネットワーク通信機器として、P2P通信可能な携帯電話を例に説明した。携帯電話のキャリアが現在提供しているサービスでは、単位時間当たりの送信回数に制約があり、これがマルチキャストを行う上でのボトルネックになっている。本発明は、このような制約を伴う携帯電話でマルチキャストを容易に実現できる有効な技術の一つである。しかしながら、本発明の適用対象は、携帯電話に限定されるものではなく、各種の移動体端末、さらには一般的なコンピュータ(通常は固定的に設置される)に対しても広く適用可能である。   In the embodiment described above, a mobile phone capable of P2P communication has been described as an example of the network communication device. In the services currently provided by mobile phone carriers, there are restrictions on the number of transmissions per unit time, which is a bottleneck for multicasting. The present invention is one of effective techniques that can easily realize multicast on a mobile phone with such restrictions. However, the application target of the present invention is not limited to a mobile phone, and can be widely applied to various mobile terminals and even general computers (usually fixedly installed). .

また、上述した実施形態では、単一のノード管理部(ノードリスト)を用いて、各ノードの接続状態の管理と、受信済メッセージの管理とを行うケースについて説明した。しかしながら、これらを一元的に管理する必要はなく、例えば、用途毎にリストを用意することによって、両者を別個に管理してもよい。   In the above-described embodiment, a case has been described in which a single node management unit (node list) is used to manage the connection state of each node and manage received messages. However, it is not necessary to manage them centrally. For example, both may be managed separately by preparing a list for each application.

また、上述した実施形態では、リング内で転送されるメッセージを識別するための識別情報として、シーケンス番号とノードIDとのセットを用いるケースについて説明した。このシーケンス番号は、以下の2つの性格を有している。   In the above-described embodiment, a case has been described in which a set of a sequence number and a node ID is used as identification information for identifying a message transferred in the ring. This sequence number has the following two characteristics.

(1)個々のメッセージに対してノード単位で採番
(2)番号が連続するように採番(シーケンシャル採番)
(1) Numbering for each message in node units (2) Numbering so that numbers are consecutive (sequential numbering)

上記(1)に関して、ノード単位とした理由は、リング単位とした場合に必要となる、採番状況を照会するための通信をなくすためである。リング内で一意となるように番号を採番する場合(複数ノードで重複番号の採番を認めない場合)、新規に採番しようとするノードは、他のノードにおける現在の採番状況を照会しなければならない。この照会のための通信は、通信リソースに大きな制約を伴う携帯電話において大きなボトルネックになる。これに対して、ノード単位として場合には、各ノードが他のノードの採番状況とは無関係に任意に採番できるので、このような通信をなくすことができる。もちろん、通信リソースの制約が殆ど問題にならないのであれば、リング単位で採番してもよく、本発明は、このような形態を排除するものではない。   Regarding (1) above, the reason for the node unit is to eliminate the communication for inquiring the numbering status, which is necessary when the unit is a ring. When assigning numbers so that they are unique within the ring (when multiple nodes do not allow duplicate numbers), the node that is about to assign a new number inquires about the current numbering status at other nodes. Must. Communication for this inquiry becomes a big bottleneck in a mobile phone with a large restriction on communication resources. On the other hand, in the case of a node unit, each node can arbitrarily assign a number regardless of the numbering situation of other nodes, so that such communication can be eliminated. Of course, if the restriction of communication resources hardly becomes a problem, numbering may be performed in units of rings, and the present invention does not exclude such a form.

ノード単位で採番する場合には、メッセージを受信したノードが起点ノードを特定することができる仕組みを取り入れる必要がある。この仕組みとしては、上述した実施形態のように、メッセージに起点ノードIDも付加する手法もあるが、それ以外に、シーケンス番号の採番自体に一定の規則を設けることで、起点ノードを特定できるようにしてもよい。例えば、シーケンス番号の剰余と、起点ノードとを対応付けるといった如くである。具体的には、リングのノード数が4の場合、リスト順位”1”のノードは、1,5,9,13,・・・といった如く、剰余1の昇順でシーケンス番号を採番する。同様に、リスト順位”2”のノードは剰余2、リスト順位”3”のノードは剰余3、リスト順位”4”のノードは剰余0で、シーケンス番号をそれぞれ採番する。これにより、各ノードは、メッセージから抽出されたシーケンス番号の剰余から起点ノードを特定できる。また、別の手法として、ノードリストのリスト順位をシーケンス番号の適当な数ビットにセットすることにより、ノードを識別するようにしてもよい。   In the case of numbering in units of nodes, it is necessary to adopt a mechanism that allows the node that received the message to identify the starting node. As this mechanism, there is a method of adding a starting node ID to a message as in the above-described embodiment, but in addition to this, the starting node can be specified by providing a fixed rule for sequence numbering itself. You may do it. For example, the remainder of the sequence number is associated with the starting node. Specifically, when the number of nodes in the ring is 4, the nodes in the list order “1” are assigned sequence numbers in ascending order of remainder 1, such as 1, 5, 9, 13,. Similarly, the node with the list rank “2” is the remainder 2, the node with the list rank “3” is the remainder 3, the node with the list rank “4” is the remainder 0, and each is assigned a sequence number. Thereby, each node can identify the starting node from the remainder of the sequence number extracted from the message. As another method, the node order may be identified by setting the list order of the node list to an appropriate number of bits of the sequence number.

また、上記(2)に関して、シーケンシャルで採番する理由は、ノードリストのデータ量を抑制するためである。本実施形態のようにシーケンシャル採番を採用した場合、ノードリストにおけるメッセージの進捗状況は、最新のシーケンス番号の記述のみで管理でき、過去のすべてのシーケンス番号を履歴(起点送信履歴・受信済み履歴)として記述しておく必要はない(それゆえに、上書きしてしまっても構わない)。最新のシーケンス番号以前のメッセージは、受信済みとして取り扱うことができるからである。もちろん、ノードリストのデータ量を考慮しないのであれば、すべてのシーケンス番号を履歴として管理することも可能であり、本発明は、このような形態を排除するものではない。なお、履歴形式で管理する場合には、シーケンス番号にする必要はなく、メッセージ固有の単なるメッセージIDを用いれば足りる(このメッセージIDはノード単位またはリング単位で採番される)。   In addition, regarding (2) above, the reason for sequential numbering is to suppress the data amount of the node list. When sequential numbering is adopted as in this embodiment, the progress of messages in the node list can be managed only by the description of the latest sequence number, and all past sequence numbers are recorded in history (starting transmission history / received history). ) Is not necessary (and therefore can be overwritten). This is because messages before the latest sequence number can be handled as received. Of course, if the data amount of the node list is not taken into consideration, all sequence numbers can be managed as history, and the present invention does not exclude such a form. In the case of management in a history format, it is not necessary to use a sequence number, and it is sufficient to use a simple message ID unique to the message (this message ID is assigned in units of nodes or rings).

さらに、上述した実施形態では、ネットワーク通信機器1の機能的な構成および動作を中心に説明したが、ネットワーク通信機器1にこのような機能を実現させるための双方向リング型ネットワーク用通信プログラムも本発明の別の形態を構成するものである。この通信プログラムをインストールすることで、概略的には、ネットワーク通信機器1は以下のようなステップを実行可能となる(詳細は、上述した実施形態の説明と重複するので省略)。なお、これらのステップは、時系列的な順序を示すものではなく、機能別に並べたものに過ぎない点に留意されたい。   Furthermore, in the above-described embodiment, the description has focused on the functional configuration and operation of the network communication device 1. However, a bidirectional ring network communication program for causing the network communication device 1 to realize such a function is also provided. It constitutes another embodiment of the invention. By installing this communication program, generally, the network communication device 1 can execute the following steps (details are omitted because they overlap with the description of the above-described embodiment). It should be noted that these steps do not indicate a chronological order, but are merely arranged by function.

(1)ノードリストの用意
(2)アプリケーションとの連係
(3)ノードリストの更新
(4)他ノードとの間におけるメッセージ送受信
(5)ノードの接続状態のモニタリング
(6)ノードリストの更新情報の起点送信および転送
(1) Preparation of node list (2) Linkage with application (3) Update of node list (4) Message transmission / reception with other nodes (5) Monitoring of node connection status (6) Update information of node list Origination transmission and transfer

リング型ネットワークの構成図Ring network configuration diagram メッセージ未到達の説明図Message unreachable illustration 起点によるメッセージ送信の説明図Explanatory diagram of message transmission by origin 順方向転送におけるメッセージ転送の説明図Illustration of message transfer in forward transfer 逆方向転送におけるメッセージ転送の説明図Illustration of message transfer in reverse transfer ネットワーク通信機器の構成図Configuration diagram of network communication equipment 一例としてのノードリストの説明図Illustration of node list as an example 通信制御のフローチャートCommunication control flowchart 起点制御の詳細なフローチャートDetailed flowchart of starting point control TCP/IP準拠のパケットの説明図Explanation of TCP / IP compliant packet 例外付転送制御の詳細なフローチャートDetailed flowchart of transfer control with exception

符号の説明Explanation of symbols

1 ネットワーク通信機器
2 順方向受信部
3 順方向送信部
4 逆方向受信部
5 逆方向送信部
6 通信制御部
7 ノード管理部
8 到達確認部
9 起点制御部
10 転送判定部
11 転送制御部
12 アプリケーション
DESCRIPTION OF SYMBOLS 1 Network communication apparatus 2 Forward direction reception part 3 Forward direction transmission part 4 Reverse direction reception part 5 Reverse direction transmission part 6 Communication control part 7 Node management part 8 Arrival confirmation part 9 Origination control part 10 Transfer determination part 11 Transfer control part 12 Application

Claims (12)

複数のノードがリング状に構成されているとともに、任意のノードを起点として送信されたメッセージをリング内で転送することによって、リング内でメッセージをマルチキャストするリング型ネットワークで、前記ノードとして用いられるネットワーク通信機器において、
他のノードとの間でメッセージの送受信を行う通信部と、
リング内の通信経路においてノードが接続されているか否かを示すステータスをノード毎に管理する第1のノード管理部と、
前記通信部を介して自己のノードより送信された第1のメッセージが送信先のノードに到達したか否かを判定する到達確認部と、
前記送信先のノードに前記第1のメッセージが到達していないと判定された場合、前記ノード管理部にアクセスして、当該ノードに関するステータスを切断状態に更新するとともに、当該ノードが切断状態に更新された旨の第2のメッセージを、前記通信部を介して、当該ノードを除いたリング内で順方向および逆方向に送信することによって、リング内の各ノードに対して前記ステータスの更新内容を通知する起点制御部と
を有することを特徴とするネットワーク通信機器。
A network in which a plurality of nodes are configured in a ring and used as the node in a ring network that multicasts a message in a ring by transferring a message transmitted from an arbitrary node in the ring. In communication equipment,
A communication unit for sending and receiving messages to and from other nodes;
A first node management unit that manages, for each node, a status indicating whether or not a node is connected in a communication path in the ring;
An arrival confirmation unit that determines whether or not the first message transmitted from its own node via the communication unit has reached the destination node;
If it is determined that the first message has not arrived at the destination node, the node management unit is accessed to update the status related to the node to a disconnected state, and the node is updated to a disconnected state. By transmitting a second message to the effect in the forward direction and the reverse direction in the ring excluding the node via the communication unit, the status update content is transmitted to each node in the ring. A network communication device comprising a starting point control unit for notification.
リング内での転送によって自己のノードが受信したメッセージを、メッセージの起点となったノード毎に管理する第2のノード管理部と、
ある起点によって送信された第3のメッセージが前記通信部によって順方向および逆方向のいずれかの転送方向で受信された場合、前記第2のノード管理部にアクセスして、前記第3のメッセージの起点となったノードに関して、前記第3のメッセージが受信済みであるか否かを判定する転送判定部と、
前記第3のメッセージが受信済みでないと判定された場合、前記第1のノード管理部にアクセスして、前記第3のメッセージによって通知を受けたノードに関するステータスを切断状態に更新するとともに、前記第2のノード管理部にアクセスして、前記第3のメッセージの起点となったノードに関する識別情報を更新した上で、前記通信部を介して、前記第3のメッセージをリング内で前記転送方向に送信し、前記第3のメッセージが受信済みと判定された場合、前記第3のメッセージを送信せずに、前記転送方向における前記第3のメッセージの転送を自己のノードにて終端させる転送制御部と
をさらに有することを特徴とする請求項1に記載されたネットワーク通信機器。
A second node management unit that manages a message received by its own node by forwarding in the ring for each node that is a starting point of the message;
When the third message transmitted by a certain starting point is received by the communication unit in either the forward direction or the reverse transfer direction, the second node management unit is accessed, and the third message A transfer determination unit that determines whether or not the third message has been received with respect to the starting node;
When it is determined that the third message has not been received, the first node management unit is accessed to update the status regarding the node notified by the third message to a disconnected state, and 2, the identification information related to the node that is the starting point of the third message is updated, and the third message is transmitted in the transfer direction within the ring via the communication unit. A transmission control unit that transmits and terminates the transfer of the third message in the transfer direction at its own node without transmitting the third message when it is determined that the third message has been received. The network communication device according to claim 1, further comprising:
前記第2のノード管理部は、リング内で転送されるメッセージを識別するための識別情報を、メッセージの起点となったノード毎に管理し、
前記起点制御部は、前記第2のメッセージに付与するための第1の識別情報を採番し、当該第1の識別情報を付与した前記第2のメッセージを順方向および逆方向に送信し、
前記転送判定部は、前記第3のメッセージより抽出された第2の識別情報と、前記ノード管理部における前記第3のメッセージの起点となったノードに関する識別情報とを比較することによって、前記第3のメッセージが受信済みであるか否かを判定することを特徴とする請求項2に記載されたネットワーク通信機器。
The second node management unit manages identification information for identifying a message transferred in the ring for each node that is a starting point of the message,
The starting point control unit numbers the first identification information to be given to the second message, transmits the second message to which the first identification information is given in the forward direction and the reverse direction,
The transfer determination unit compares the second identification information extracted from the third message with the identification information on the node that is the starting point of the third message in the node management unit, thereby comparing the second identification information. 3. The network communication device according to claim 2, wherein it is determined whether or not the message 3 has been received.
前記識別情報は、個々のメッセージに対してノード単位で採番されるメッセージIDと、ノード固有のノードIDとを含むことを特徴とする請求項3に記載されたネットワーク通信機器。   4. The network communication device according to claim 3, wherein the identification information includes a message ID numbered in units of nodes for each message and a node ID unique to the node. 前記起点制御部は、前記識別情報をとして、新たに採番したメッセージIDと、自己が起点であることを示す自己のノードIDとを前記第2のメッセージに付与することを特徴とする請求項4に記載されたネットワーク通信機器。   The origin control unit assigns, to the second message, a newly assigned message ID and an own node ID indicating that the origin is a starting point, using the identification information. 4. The network communication device described in 4. 前記転送判定部は、前記第3のメッセージより抽出されたノードIDに基づいて、前記第3のメッセージの起点となったノードを特定することを特徴とする請求項5に記載されたネットワーク通信機器。   6. The network communication device according to claim 5, wherein the transfer determination unit identifies a node that is a starting point of the third message based on a node ID extracted from the third message. . 複数のノードがリング状に構成されているとともに、任意のノードを起点として送信されたメッセージをリング内で転送することによって、リング内でメッセージをマルチキャストするリング型ネットワークで、前記ノードとして用いられるネットワーク通信機器にインストールされる通信プログラムにおいて、
リング内の通信経路においてノードが接続されているか否かを示すステータスをノード毎に管理するノードリストを用意する第1のステップと、
自己のノードより送信された第1のメッセージが送信先のノードに到達したか否かを判定する第2のステップと、
前記送信先のノードに前記第1のメッセージが到達していないと判定された場合、前記ノードリストにおける当該ノードに関するステータスを切断状態に更新する第3のステップと、
当該ノードが切断状態に更新された旨の第2のメッセージを、リング内で順方向および逆方向に送信することによって、当該ノードを除いたリング内の各ノードに対して前記ステータスの更新内容を通知する第4のステップと
を有することを特徴とするリング型ネットワーク用通信プログラム。
A network in which a plurality of nodes are configured in a ring and used as the node in a ring network that multicasts a message in a ring by transferring a message transmitted from an arbitrary node in the ring. In a communication program installed in a communication device,
A first step of preparing a node list for managing, for each node, a status indicating whether or not a node is connected in a communication path in the ring;
A second step of determining whether or not the first message transmitted from its own node has reached the destination node;
If it is determined that the first message has not arrived at the destination node, a third step of updating the status of the node in the node list to a disconnected state;
By transmitting a second message indicating that the node has been updated to the disconnected state in the forward direction and the reverse direction in the ring, the status update content is transmitted to each node in the ring excluding the node. A communication program for a ring network, comprising: a fourth step of notifying.
前記ノードリストは、リング内での転送によって自己のノードが受信したメッセージを、メッセージの起点となったノード毎に管理しており、
ある起点によって送信された第3のメッセージを順方向および逆方向のいずれかの転送方向で受信した場合、前記ノードリストにおける前記第3のメッセージの起点となったノードに関して、前記第3のメッセージが受信済みであるか否かを判定する第5のステップと、
前記第3のメッセージが受信済みでないと判定された場合、前記ノードリストにおける前記第3のメッセージによって通知を受けたノードに関するステータスを切断状態に更新するとともに、前記ノードリストにおける前記第3のメッセージの起点となったノードに関する識別情報を更新した上で、前記第3のメッセージをリング内で前記転送方向に送信する第6のステップと、
前記第3のメッセージが受信済みと判定された場合、前記第3のメッセージを送信せずに、前記転送方向における前記第3のメッセージの転送を自己のノードにて終端させる第7のステップと
をさらに有することを特徴とする請求項7に記載されたリング型ネットワーク用通信プログラム。
The node list manages the message received by its own node by forwarding in the ring for each node that is the origin of the message,
When a third message transmitted by a certain origin is received in either the forward or reverse transfer direction, the third message is related to the node that is the origin of the third message in the node list. A fifth step of determining whether or not it has been received;
When it is determined that the third message has not been received, the status related to the node notified by the third message in the node list is updated to a disconnected state, and the third message in the node list is updated. A sixth step of transmitting the third message in the transfer direction in the ring after updating the identification information relating to the originating node;
If it is determined that the third message has been received, a seventh step of terminating the transfer of the third message in the transfer direction at its own node without transmitting the third message; The ring network communication program according to claim 7, further comprising:
前記ノードリストは、リング内で転送されるメッセージを識別するための識別情報を、メッセージの起点となったノード毎に管理し、
前記第4のステップは、
前記第2のメッセージに付与するための第1の識別情報を採番するステップと、
当該第1の識別情報を付与した前記第2のメッセージを順方向および逆方向に送信するステップとを含み、
前記第5のステップは、
前記第3のメッセージより抽出された第2の識別情報と、前記ノードリストにおける前記第3のメッセージの起点となったノードに関する識別情報とを比較することによって、前記第3のメッセージが受信済みであるか否かを判定するステップであることを特徴とする請求項8に記載されたリング型ネットワーク用通信プログラム。
The node list manages identification information for identifying a message transferred in the ring for each node that is a starting point of the message,
The fourth step includes
Numbering first identification information to be given to the second message;
Transmitting the second message with the first identification information forward and backward, and
The fifth step includes
By comparing the second identification information extracted from the third message with the identification information regarding the node that is the starting point of the third message in the node list, the third message has been received. 9. The ring network communication program according to claim 8, which is a step of determining whether or not there is a ring network communication program.
前記識別情報は、個々のメッセージに対してノード単位で採番されるメッセージIDと、ノード固有のノードIDとを含むことを特徴とする請求項9に記載されたリング型ネットワーク用通信プログラム。   10. The ring network communication program according to claim 9, wherein the identification information includes a message ID assigned to each message in node units and a node-specific node ID. 前記第4のステップは、前記識別情報として、新たに採番したメッセージIDと、自己が起点であることを示す自己のノードIDとを前記第2のメッセージに付与するステップを含むことを特徴とする請求項10に記載されたリング型ネットワーク用通信プログラム。   The fourth step includes a step of assigning, as the identification information, a newly assigned message ID and a self node ID indicating that it is a starting point to the second message. The ring network communication program according to claim 10. 前記第5のステップは、前記第3のメッセージより抽出されたノードIDに基づいて、前記第3のメッセージの起点となったノードを特定するステップを含むことを特徴とする請求項11に記載されたリング型ネットワーク用通信プログラム。   The method according to claim 11, wherein the fifth step includes a step of identifying a node that is a starting point of the third message based on a node ID extracted from the third message. A ring network communication program.
JP2006297791A 2006-11-01 2006-11-01 Network communication equipment and communication program for ring network. Expired - Fee Related JP3965202B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006297791A JP3965202B1 (en) 2006-11-01 2006-11-01 Network communication equipment and communication program for ring network.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006297791A JP3965202B1 (en) 2006-11-01 2006-11-01 Network communication equipment and communication program for ring network.

Publications (2)

Publication Number Publication Date
JP3965202B1 JP3965202B1 (en) 2007-08-29
JP2008118274A true JP2008118274A (en) 2008-05-22

Family

ID=38498652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006297791A Expired - Fee Related JP3965202B1 (en) 2006-11-01 2006-11-01 Network communication equipment and communication program for ring network.

Country Status (1)

Country Link
JP (1) JP3965202B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013135371A (en) * 2011-12-27 2013-07-08 Ntt Comware Corp Network system and network configuration method, terminal
JP2017033212A (en) * 2015-07-31 2017-02-09 京セラドキュメントソリューションズ株式会社 Electronic device, electronic device cooperation system, and electronic device cooperation method
JP2017033213A (en) * 2015-07-31 2017-02-09 京セラドキュメントソリューションズ株式会社 Electronic device, electronic device cooperation system, and electronic device cooperation method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013135371A (en) * 2011-12-27 2013-07-08 Ntt Comware Corp Network system and network configuration method, terminal
JP2017033212A (en) * 2015-07-31 2017-02-09 京セラドキュメントソリューションズ株式会社 Electronic device, electronic device cooperation system, and electronic device cooperation method
JP2017033213A (en) * 2015-07-31 2017-02-09 京セラドキュメントソリューションズ株式会社 Electronic device, electronic device cooperation system, and electronic device cooperation method

Also Published As

Publication number Publication date
JP3965202B1 (en) 2007-08-29

Similar Documents

Publication Publication Date Title
JP4807701B2 (en) Mobile terminal device, control method, and mobile communication system
KR101086111B1 (en) Routing protocol for multicast in a meshed network
JP5084405B2 (en) Loop-free ad hoc routing system
JP5462360B2 (en) Method and apparatus at multiple rendezvous points for co-processing multicast traffic from mobile multicast sources
JP4605426B2 (en) COMMUNICATION TERMINAL DEVICE, ITS CONTROL METHOD, PROGRAM
WO2005034440A1 (en) Router selecting method and router apparatus
JP2003298635A (en) Source address selection system, router equipment, communication node and source address selection method
JPWO2006103719A1 (en) Multicast communication method
KR102271639B1 (en) Method and device for modular orientation of AVB streams
JP2014504043A (en) COMMUNICATION CONTROL SYSTEM, CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM
US8018953B1 (en) Adaptive, deterministic ant routing approach for updating network routing information
JP3965202B1 (en) Network communication equipment and communication program for ring network.
JP4830879B2 (en) Wireless data communication system
JP3965201B1 (en) Communication program for network communication equipment and bidirectional ring network.
JP2009159512A (en) Telephone system, node device thereof, and method for forming roundabout route
JP2008072521A (en) Equipment, method and program for communication
JP2007181056A (en) Path selection method
JP4362481B2 (en) Network topology generation method and node
EP1797675B1 (en) Source specific multicast routing
KR101422516B1 (en) Node device having a function of traffic load management for content sharing service in delay tolerant network and method for traffic load management
JP3533153B2 (en) Delivery message sending suppression method in network
JP2006238113A (en) Packet transferring method, router apparatus, and terminal apparatus
CN105722172A (en) Rapid route recovering method in wireless chain network
JP2005260708A (en) Ring network system having redundant path, and transfer device used in the system
JP2004349881A (en) Flooding quantity reducing method, and communication device

Legal Events

Date Code Title Description
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: 20070515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070525

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100601

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100601

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20100601

Year of fee payment: 3

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

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

Free format text: PAYMENT UNTIL: 20100601

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20100601

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees