JP2007189560A - One-to-multiple type message transmission system - Google Patents

One-to-multiple type message transmission system Download PDF

Info

Publication number
JP2007189560A
JP2007189560A JP2006006774A JP2006006774A JP2007189560A JP 2007189560 A JP2007189560 A JP 2007189560A JP 2006006774 A JP2006006774 A JP 2006006774A JP 2006006774 A JP2006006774 A JP 2006006774A JP 2007189560 A JP2007189560 A JP 2007189560A
Authority
JP
Japan
Prior art keywords
message
node
receiving
receiving node
matrix
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
JP2006006774A
Other languages
Japanese (ja)
Other versions
JP4646812B2 (en
Inventor
Hidetsugu Yoshida
英嗣 吉田
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2006006774A priority Critical patent/JP4646812B2/en
Publication of JP2007189560A publication Critical patent/JP2007189560A/en
Application granted granted Critical
Publication of JP4646812B2 publication Critical patent/JP4646812B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To suppress an influence when a node defect occurs by transmitting a message to a plurality of receiving nodes without causing response explosion and grasping message receiving situations of the receiving nodes in one-to-multiple type message transmission. <P>SOLUTION: The receiving nodes R are arranged in a matrix, and a transmitting node S transmits a first message to the first receiving node of each column of the matrix, transmits a second message to the first receiving node of each row, receives success response signals from the last receiving nodes of each column and row and discriminates a transmission result and a defective receiving node from receiving situations of the success response signals. Each receiving node transfers the received first message to the next receiving node of the same column, the last receiving node of each column transmits a success response signal to the transmitting node and transfers the received second message to the next receiving node of the same row, and the last receiving node of each row transmits a success response signal to the transmitting node. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、1対多のメッセージ伝送システムに関する。   The present invention relates to a one-to-many message transmission system.

複数のコンピュータ(ノード)を使用する分散アプリケーションにおいては、ノード間でメッセージ(アプリケーションデータ)を送受信する必要がある。そして、メッセージを、確実に届けること(高信頼なメッセージ送受信)が要求される。インターネット上で1対1のノード間で高信頼なメッセージ送受信を実現するための技術として、HTTPR(HTTP Reliable)、ebXML Message Service、WS-ReliableMessaging、WS-Reliability等が提案されている。   In a distributed application using a plurality of computers (nodes), it is necessary to transmit and receive messages (application data) between the nodes. Then, it is required to deliver the message reliably (reliable message transmission / reception). HTTPR (HTTP Reliable), ebXML Message Service, WS-Reliable Messaging, WS-Reliability, and the like have been proposed as techniques for realizing highly reliable message transmission / reception between one-to-one nodes on the Internet.

これらの技術の基本原理は、図12に示すように、受信ノードがメッセージの応答確認(ACKと呼ばれる)を送信ノードに送信し、それをもとに送信ノードがメッセージ送達を確認するというポジティブ応答確認である。   The basic principle of these techniques is that, as shown in FIG. 12, a positive response in which a receiving node transmits a message response confirmation (referred to as ACK) to the transmitting node, and based on that, the transmitting node confirms message delivery. Confirmation.

一方、アプリケーションによっては、1対多のノード間での高信頼なメッセージ送受信が望まれる場合がある。この場合に、ポジティブ応答確認を原理とする上述の技術を使用すると、図13に示すように、受信ノードの数が増加すると送信ノードへのACKの送信数が爆発的に増加するという「応答爆発」という問題が発生する。つまり、ACKの増加により、送信ノードの負荷が激増し、受信ノード数に対してスケーラブルでなくなってしまうという問題が発生する。   On the other hand, depending on the application, highly reliable message transmission / reception between one-to-many nodes may be desired. In this case, when the above-described technique based on the positive response confirmation is used, as shown in FIG. 13, when the number of receiving nodes increases, the number of ACK transmissions to the transmitting node increases explosively. Will occur. In other words, the increase in ACK causes a problem that the load on the transmitting node increases drastically and becomes unscalable with respect to the number of receiving nodes.

応答爆発の問題を解決しうる技術として、(1)木構造ACK方式、(2)ネガティブ応答確認〈NACK)方式、(3)冗長送信/前方誤り訂正(FEO=Forward Error Correction)方式等が知られている。   Technologies that can solve the problem of response explosion include (1) tree structure ACK method, (2) negative response confirmation <NACK) method, and (3) redundant transmission / forward error correction (FEO) method. It has been.

木構造ACK方式は、図14に示すように、受信ノードを木構造に配置し、各階層の上位ノードが下位ノードからの応答確認を集約することによって、送信ノードへの応答確認の数を減少させる方法である。各送信ノードは、一定時間ACKを受信できなかった場合には、その受信ノードに、木構造に従ってメッセージを再送する(例えば、非特許文献1参照)。   As shown in FIG. 14, the tree structure ACK scheme reduces the number of response confirmations to the transmission node by arranging the reception nodes in a tree structure, and the upper nodes in each layer aggregate the response confirmations from the lower nodes. It is a method to make it. When each transmitting node cannot receive ACK for a certain period of time, it retransmits the message to the receiving node according to the tree structure (see, for example, Non-Patent Document 1).

また、ネガティブ応答確認〈NACK)方式は、受信ノードがメッセージを受信できなかったことを、送信ノードまたは他の受信ノードに通知する方法である(非特許文献2)。この方法は、一般にNACKの発生頻度がACKに比べて低いことを考慮しており、確率的に応答爆発を抑えることができる。各送信ノードは、NACKを受信した場合にのみ、その受信ノードに、メッセージを再送する。   The negative response confirmation <NACK) method is a method for notifying the transmitting node or another receiving node that the receiving node has not received the message (Non-Patent Document 2). This method generally considers that the occurrence frequency of NACK is lower than that of ACK, and can suppress the response explosion stochastically. Each transmitting node retransmits a message to its receiving node only when it receives a NACK.

冗長送信/前方誤り訂正(FEO=Forward Error Correction)方式は、送信ノードが同一のメッセージを複数回送信したり、オリジナルメッセージと前方誤り訂正符号とを一緒に送受信することにより、受信したメッセージから受信できなかったメッセージを再構成できるようにし、メッセージの再送をなくす方法である(非特許文献3)。
TRAM: A Tree-based Reliable Multicast Protocol, Sun Microsystems Laboratory, 1998http://research.sun.com/technical-reports/1998/abstract-66.html Negative-ACKnowledgment (NACK)-Oriented Reliable Multicast (NORM)Protocol, lETF RFC3940, 2004http=//www.ietf.org/rfc/rfc3940.txt The Use of Forward Error Correction (FEC) in Reliable Multicast, IETF RFC3453,2002http://www.ietf.org/rfc/rfc3453.txt
Redundant transmission / forward error correction (FEO = Forward Error Correction) is a method in which a transmission node receives the received message by transmitting the same message multiple times or by transmitting and receiving the original message and the forward error correction code together. In this method, a message that could not be reconstructed can be reconstructed to eliminate the retransmission of the message (Non-patent Document 3).
TRAM: A Tree-based Reliable Multicast Protocol, Sun Microsystems Laboratory, 1998 http://research.sun.com/technical-reports/1998/abstract-66.html Negative-ACKnowledgment (NACK) -Oriented Reliable Multicast (NORM) Protocol, lETF RFC3940, 2004http = // www.ietf.org/rfc/rfc3940.txt The Use of Forward Error Correction (FEC) in Reliable Multicast, IETF RFC3453,2002http: //www.ietf.org/rfc/rfc3453.txt

上記木構造ACK方式では、送信ノードに近い受信ノードで障害が発生すると、多くの受信ノードに影響する。また、障害が発生していない正常なノードに対してもメッセージ送受信が途絶えることとなる。また、送信ノードはACKが帰ってこない木構造のリーフを構成するノードグループ全体の受信状況を把握することはできるが、すべての受信ノード個々の受信状況を把握できない。 In the tree structure ACK scheme, when a failure occurs in a receiving node close to the transmitting node, many receiving nodes are affected. In addition, message transmission / reception is interrupted to a normal node in which no failure has occurred. In addition, the transmitting node can grasp the reception status of the entire node group constituting the leaf of the tree structure from which ACK does not return, but cannot grasp the reception status of all the receiving nodes.

また、ネガティブ応答確認(NACK)方式では、ポジティブ応答確認(ACK)が明示的に送信されないため、NACKが送受信できなかった場合には、正常に送受信がされていないにもかかわらず、送受信されたとみなされてしまう。よって、NACKの送受信自体を確実に行える仕組みが必要となる。また、送信ノードは、一定時間NACKが来ないことで受信ノードの受信状況を把握することになるが、NACKでは確実に受信ノードがメッセージを受信したことを確認することはできない。   In addition, in the negative response confirmation (NACK) method, since the positive response confirmation (ACK) is not explicitly transmitted, if the NACK cannot be transmitted / received, it is assumed that the NACK was not transmitted / received normally but was transmitted / received. It will be regarded. Therefore, a mechanism that can reliably transmit and receive NACK is required. In addition, the transmitting node grasps the reception status of the receiving node when NACK does not come for a certain period of time, but NACK cannot reliably confirm that the receiving node has received the message.

冗長送信/前方誤り訂正(FEC)方式では、いくら冗長に送信したとしても、確実にメッセージが送受信されたことを保証することはできない。メッセージ送受信が「確実に」行われることを考えた場合においても、受信側がメッセージ受信できるほどの冗長な送信をする必要があり、効率的とは言えない。また、送信ノードが受信ノードの受信状況を把握することもできない。   In the redundant transmission / forward error correction (FEC) method, it is not possible to guarantee that a message has been transmitted / received reliably, no matter how redundantly transmitted. Even when it is considered that message transmission / reception is performed “reliably”, it is not efficient because the reception side needs to perform redundant transmission to receive the message. In addition, the transmission node cannot grasp the reception status of the reception node.

本発明は、上記問題に鑑みてなされたものであり、1対多のメッセージ伝送において、[a]応答爆発を起こすことなくメッセージを複数の受信ノードに送信でき、[b]受信ノードのメッセージ受信状況を把握でき、[c]ノード障害発生時にもその影響を小さく抑えることが可能なメッセージ伝送を可能とすることを目的とする。   The present invention has been made in view of the above problems. In one-to-many message transmission, [a] a message can be transmitted to a plurality of receiving nodes without causing a response explosion, and [b] message reception by a receiving node. It is an object of the present invention to enable message transmission that can grasp the situation and can suppress the influence even when a node failure occurs.

上記目的を達成するため、この発明の第1の観点に係る1対多型メッセージ伝送システムは、
送信ノードを構成するコンピュータ装置と、受信ノードを構成する複数のコンピュータ装置とから構成される、1対多型メッセージ伝送システムであって、
前記受信ノードは論理的にマトリックスに配列されており、
前記送信ノードは、第1のメッセージを前記マトリックスの各列の先頭の受信ノードに送信し、第2のメッセージを前記マトリックスの各行の先頭の受信ノードに送信し、前記マトリックスの各列の最後の受信ノードから成功応答信号を受信し、前記マトリックスの各行の最後の受信ノードから成功応答信号を受信し、
前記受信ノードは、受信した第1のメッセージを同一列の次の受信ノードに転送し、各列の最後の受信ノードが前記送信ノードに成功応答信号を送信し、受信した第2のメッセージを同一行の次の受信ノードに転送し、各行の最後の受信ノードが前記送信ノードに成功応答信号を送信する、
ことを特徴とする。
In order to achieve the above object, a one-to-multiple message transmission system according to a first aspect of the present invention provides:
A one-to-multiple message transmission system comprising a computer device constituting a sending node and a plurality of computer devices constituting a receiving node,
The receiving nodes are logically arranged in a matrix;
The sending node sends a first message to the first receiving node in each column of the matrix, sends a second message to the first receiving node in each row of the matrix, and the last message in each column of the matrix. Receiving a success response signal from the receiving node, receiving a success response signal from the last receiving node of each row of the matrix;
The receiving node transfers the received first message to the next receiving node in the same column, the last receiving node in each column transmits a success response signal to the transmitting node, and the received second message is the same. Forward to the next receiving node in the row, and the last receiving node in each row sends a success response signal to the sending node;
It is characterized by that.

前記送信ノードは、例えば、ある列の受信ノードとある行の受信ノードから成功応答信号を受信できないときに、その行と列の交点にある受信ノードが故障していると判別する。   For example, when a success response signal cannot be received from a receiving node in a certain column and a receiving node in a certain row, the transmitting node determines that the receiving node at the intersection of the row and the column has failed.

前記送信ノードは、例えば、ある列の受信ノードから成功応答信号を受信できないときに、第1のメッセージを、前記マトリックスの各行の先頭又は最後の受信ノードに送信し、前記マトリックスの各行の最後又は先頭の受信ノードから成功応答信号を受信し、ある行の受信ノードから成功応答信号を受信できないときに、第2のメッセージを、前記マトリックスの各列の先頭又は最後の受信ノードに送信し、各列の最後又は先頭の受信ノードから成功応答信号を受信する。   For example, when the sending node cannot receive a success response signal from a receiving node in a certain column, the sending node sends a first message to the first or last receiving node of each row of the matrix, and the last or When a success response signal is received from the first receiving node and a success response signal cannot be received from a receiving node in a row, a second message is transmitted to the first or last receiving node in each column of the matrix, and A success response signal is received from the last or first receiving node in the column.

前記送信ノードは、例えば、ある列の受信ノードとある行の受信ノードとの一方のみから成功応答信号を受信できず、他の列及び行の受信ノードから成功応答信号を受信できたときには、前記第1又は第2のメッセージを再送信して、成功応答信号を受信し、該成功応答信号により、障害の発生した受信ノードを特定する手段を備えてもよい。   For example, when the transmission node cannot receive a success response signal from only one of the reception node of a certain column and the reception node of a certain row and can receive a success response signal from the reception node of another column and row, A means for retransmitting the first or second message, receiving a success response signal, and identifying a receiving node in which a failure has occurred may be provided based on the success response signal.

例えば、前記送信ノードは、論理的マトリックスの構造を定義する定義情報を格納しており、前記第1のメッセージの伝送ルートを定義する第1のルート情報を前記第1のメッセージに付加して前記受信ノードに供給し、前記第2のメッセージの伝送ルートを定義する第2のルート情報を第2のメッセージに付加して受信ノードに供給し、前記受信ノードは、受信した第1又は第2のメッセージに付加されている第1又は第2のルート情報に従って、第1又は第2のメッセージを伝送する。   For example, the transmission node stores definition information that defines a structure of a logical matrix, and first route information that defines a transmission route of the first message is added to the first message to add the first message. A second route information defining a transmission route of the second message is added to the second message and supplied to the receiving node, and the receiving node receives the first or second received The first or second message is transmitted according to the first or second route information added to the message.

前記送信ノードは、送信対象のメッセージを分割して第1と第2のメッセージを生成する手段又は送信対象のメッセージを分類して、第1と第2のメッセージを生成する手段を備えてもよい。   The transmission node may include means for generating first and second messages by dividing a message to be transmitted or means for generating first and second messages by classifying messages to be transmitted. .

上記目的を達成するため、この発明の第2の観点に係るコンピュータ装置は、
論理的にマトリックス状に配列されたコンピュータにメッセージを伝送するためのコンピュータ装置であって、
第1のメッセージを論理的にマトリックス状に配列されている受信ノードのうちの各列の先頭の受信ノードに送信する手段と、
第2のメッセージを前記マトリックスの各行の先頭の受信ノードに送信する手段と、
前記マトリックスの各列の最後の受信ノードから成功応答信号を受信する手段と、
前記マトリックスの各行の最後の受信ノードから成功応答信号を受信する手段と、
を備える。
In order to achieve the above object, a computer apparatus according to a second aspect of the present invention provides:
A computer device for transmitting a message to computers arranged in a logical matrix,
Means for transmitting the first message to the first receiving node in each column among the receiving nodes logically arranged in a matrix;
Means for transmitting a second message to the first receiving node of each row of the matrix;
Means for receiving a success response signal from the last receiving node of each column of the matrix;
Means for receiving a success response signal from the last receiving node of each row of the matrix;
Is provided.

上記目的を達成するため、この発明の第3の観点に係る1対多型メッセージ伝送方法は、
第1のメッセージを論理的にマトリックス状に配列された受信ノードのうちの各列の先頭の受信ノードに送信し、第2のメッセージを前記マトリックスの各行の先頭の受信ノードに送信し、
前記論理的マトリックスの各列を構成する受信ノード間で、受信した第1のメッセージを順次転送し、各列の最後の受信ノードがメッセージの受信に成功したときに、成功応答信号を出力し、
前記論理的マトリックスの各行を構成する受信ノード間で、受信した第2のメッセージを順次転送し、各行の最後の受信ノードがメッセージの受信に成功したときに、成功応答信号を出力する、
ことを特徴とする。
In order to achieve the above object, a one-to-multitype message transmission method according to a third aspect of the present invention provides:
Sending the first message to the first receiving node in each column of the receiving nodes logically arranged in a matrix, and sending the second message to the first receiving node in each row of the matrix;
The received first message is sequentially transferred between the receiving nodes constituting each column of the logical matrix, and when the last receiving node in each column successfully receives the message, a success response signal is output;
The received second message is sequentially transferred between the receiving nodes constituting each row of the logical matrix, and a success response signal is output when the last receiving node of each row has successfully received the message.
It is characterized by that.

上記目的を達成するため、この発明の第4の観点に係るコンピュータプログラムは、
コンピュータを、
第1のメッセージを論理的にマトリックス状に配列されている受信ノードの各列の先頭の受信ノードに送信し、第2のメッセージを前記マトリックス状に配列されている受信ノードの各行の先頭の受信ノードに送信し、前記マトリックスの各行と各列の最後の受信ノードから成功応答信号を受信する、
送信ノードとして機能させる、ことを特徴とする。
In order to achieve the above object, a computer program according to the fourth aspect of the present invention provides:
Computer
The first message is transmitted to the first receiving node in each column of the receiving nodes arranged logically in a matrix, and the second message is received at the beginning of each row of the receiving nodes arranged in the matrix. Send to the node and receive a success response signal from the last receiving node in each row and column of the matrix;
It functions as a transmission node.

上記構成とすることにより、[a]応答爆発を起こすことなくメッセージを複数の受信ノードに送信でき、[b]受信ノードのメッセージ受信状況を成功応答信号から把握でき、[c]ノード障害発生時に、メッセージを再送信する等して、影響を小さく抑えることが可能となる。   With the above configuration, [a] a message can be transmitted to a plurality of receiving nodes without causing a response explosion, [b] the message reception status of the receiving node can be grasped from a success response signal, and [c] when a node failure occurs. It is possible to reduce the influence by resending the message.

以下、この発明の実施の形態に係る高信頼メッセージマルチキャストシステムについて説明する。   A highly reliable message multicast system according to an embodiment of the present invention will be described below.

本発明の実施の形態に係る高信頼メッセージマルチキャスト送受信システムは、図1に示すように、通信ネットワークN1により相互に接続されたコンピュータ装置11から構成される。   As shown in FIG. 1, the reliable message multicast transmission / reception system according to the embodiment of the present invention includes computer devices 11 connected to each other by a communication network N1.

コンピュータ装置11は、通信ネットワークN1により相互に接続され、それぞれ、通信ノードとして機能する。
このうちの任意の1台のコンピュータ装置11が、メッセージを送信する送信ノードとなり、残りの任意の複数台のコンピュータ装置11が送信ノードからメッセージを受信する受信ノードとなる。
各コンピュータ装置11は、メッセージや作業の内容に応じて、適宜、送信ノードとなることも受信ノードとなることもあり、送信ノードと受信ノードの組み合わせも台数も適宜変更・設定される。
The computer devices 11 are connected to each other by a communication network N1, and each function as a communication node.
Any one of the computer apparatuses 11 is a transmission node that transmits a message, and any remaining plural computer apparatuses 11 are reception nodes that receive a message from the transmission node.
Each computer apparatus 11 may be a transmission node or a reception node as appropriate according to the message or the content of the work, and the combination and number of transmission nodes and reception nodes are changed and set as appropriate.

次に、上記構成のメッセージマルチキャストシステムにおける、メッセージ送受信のシステム全体の手順を説明する。
コンピュータ装置11の物理的な接続・配置構成とは別に、
複数のコンピュータ装置11のうちの1台が送信ノード、他の任意の複数台数のコンピュータ装置11が受信ノードとなる。
ここでは、理解を容易にするため、受信ノードを25台とする。
Next, a procedure of the entire system for message transmission / reception in the message multicast system configured as described above will be described.
Apart from the physical connection and arrangement of the computer device 11,
One of the plurality of computer apparatuses 11 is a transmission node, and any other plurality of computer apparatuses 11 are reception nodes.
Here, in order to facilitate understanding, the number of receiving nodes is 25.

送信ノードは、物理的な構成とは別に、受信ノードの論理的なメッシュ構成を保持する。論理的な構成なので物理的な構成には依存しない。
図2(a)はメッシュ構成の例を示しており、25個の受信ノードを、5行×5列の二次元のメッシュ状(マトリックス)に配置する。
The transmitting node maintains the logical mesh configuration of the receiving node separately from the physical configuration. Since it is a logical configuration, it does not depend on the physical configuration.
FIG. 2A shows an example of a mesh configuration, in which 25 receiving nodes are arranged in a two-dimensional mesh shape (matrix) of 5 rows × 5 columns.

このメッシュ状の横軸のグルーピングをXグループ(行列の列)とよび、個別には、グループa〜e(a列〜e列)とする。また、縦軸のグルーピングをYグループ(行列の行)と呼び、個別には、グループA〜E(A〜E行)とする。   This mesh-like grouping on the horizontal axis is called an X group (matrix column), and is individually referred to as groups a to e (a column to e column). The grouping on the vertical axis is referred to as a Y group (matrix row) and is individually referred to as groups A to E (A to E rows).

送信ノードは、図2(b)に示すように、このメッシュ構成を定義するテーブルを保持している。   As shown in FIG. 2B, the transmission node holds a table defining this mesh configuration.

送信ノードは、送信するメッセージ2つを1組とし、1つをXグループの各グループに、もう1つをYグループの各グループに送信する。このとき、送信する1つのメッセージを2つに分割して送信してもよい。   The transmitting node sets two messages to be transmitted as one set, and transmits one message to each group of the X group and the other to each group of the Y group. At this time, one message to be transmitted may be divided into two and transmitted.

[メッセージの送受信]
2つのメッセージをそれぞれMSG-1、MSG-2とした場合、送信ノードは、図 3(a)に例示するように、メッセージMSG-1をXグループの各グループa〜e(列)に送信し、図3(b)に示すように、メッセージMSG-2をYグループの各グループA〜E(行)に送信する。
[Send and receive messages]
When the two messages are MSG-1 and MSG-2, respectively, the transmission node transmits the message MSG-1 to each of the groups a to e (columns) of the X group as illustrated in FIG. As shown in FIG. 3B, the message MSG-2 is transmitted to each of the groups A to E (rows) of the Y group.

各グループのノードは、バケツリレー式に同一グループに属する受信ノード間でメッセージを配達していく。各グループの最後の受信ノードは、配達されたメッセージ(MSG-1またはMSG-2)を送信ノードに配達する。   The nodes of each group deliver messages between receiving nodes belonging to the same group in a bucket relay manner. The last receiving node in each group delivers the delivered message (MSG-1 or MSG-2) to the sending node.

これが各グループのポジティブ応答確認(受信応答;ACK)の役割を果たす。なお、配達されたメッセージをACKの代用とするのではなく、最後の受信ノードが別途ACKメッセージを送信ノードに送信してもよい。   This serves as a positive response confirmation (reception response; ACK) for each group. Instead of using the delivered message as a substitute for ACK, the last receiving node may separately send an ACK message to the transmitting node.

送信ノードは、送信するメッセージに、ノード配置テーブルTNをもとにバケツリレーするルートを示す情報を付加する。たとえば、SOAP(Simple Object Access Protocol)仕様に基づくメッセージでは、SOAPへッダ要素にルーテイング情報として辿るノードリストを付加する。
例えば、送信ノードは、グループa〜eに送信するメッセージMSG-1に図4(a)に示すルート情報を付加する。
また、送信ノードは、グループA〜Eに送信するメッセージMSG-2に図4(b)に示すルート情報を付加する。
The transmitting node adds information indicating a route for bucket relay based on the node arrangement table TN to the message to be transmitted. For example, in a message based on the SOAP (Simple Object Access Protocol) specification, a node list traced as routing information is added to the SOAP header element.
For example, the transmission node adds the route information shown in FIG. 4A to the message MSG-1 transmitted to the groups a to e.
Further, the transmission node adds the route information shown in FIG. 4B to the message MSG-2 transmitted to the groups A to E.

各受信ノードは、受信したメッセージに付加されているルート情報に従って、受信したメッセージを次のノードに送信する。例えば、受信ノードR2は、送信ノードより、メッセージMSG-1を直接受信し、付加されているルート情報「R2→R7→R12→R17→R22→S」より、自己(R2)の次の受信ノードR7を特定し、ノードR7にメッセージMSG-1を送信する。同様に、受信ノードR2は、ノードR2ノードより、メッセージMSG-2を受信し、付加されているルート情報「R1→R2→R3→R4→R5→S」より、自己(R2)の次の受信ノードR3を特定し、ノードR3にメッセージMSG-1を送信する。
同様に、例えば、受信ノードR25は、メッセージMSG-1とMSG-2を受信すると、ヘッダに付加されているルート情報、自己(R25)の次のノードが送信ノードSであることを特定し、送信ノードSにメッセージMSG-1とMSG-2を送信する。
Each receiving node transmits the received message to the next node according to the route information added to the received message. For example, the receiving node R2 directly receives the message MSG-1 from the transmitting node, and the next receiving node next to itself (R2) from the added route information “R2 → R7 → R12 → R17 → R22 → S”. R7 is specified and the message MSG-1 is transmitted to the node R7. Similarly, the receiving node R2 receives the message MSG-2 from the node R2 node, and receives the next of itself (R2) from the added route information “R1 → R2 → R3 → R4 → R5 → S”. The node R3 is specified, and the message MSG-1 is transmitted to the node R3.
Similarly, for example, when receiving the message MSG-1 and MSG-2, the receiving node R25 specifies the route information added to the header, the node next to itself (R25) being the transmitting node S, Messages MSG-1 and MSG-2 are transmitted to the transmission node S.

[送信ノードによる受信ノードの受信状況の把握]
送信ノードにおいて、受信ノードのメッセージの受信状況を把握する。
上記のようなメッセージ送信形態をとった際に、1つのメッセージ(MSG-1)のみでは、受信ノードの受信状況を把握することができない。例えば、図5に示すように、ノードR18において、障害が発生したとする。その場合、MSG-1の送信において、グループcの応答確認メッセージ(受信ノードR23から送信ノードSに送られるメッセージ)が送られない。よって、グループcの各受信ノードにはMSG-1が(完全には)届いていないということが送信ノードで把握できる。
[Understanding the reception status of the receiving node by the sending node]
The sending node grasps the reception status of the message at the receiving node.
When the message transmission form as described above is adopted, the reception status of the receiving node cannot be grasped only by one message (MSG-1). For example, as shown in FIG. 5, it is assumed that a failure has occurred in the node R18. In that case, in the transmission of MSG-1, the response confirmation message of group c (message sent from the receiving node R23 to the sending node S) is not sent. Therefore, the transmitting node can grasp that MSG-1 has not (completely) reached each receiving node of group c.

同様に、送信ノードは、他のメッセージMSG-2に関するACKから、グループDにはMSG-2が届いていないということを把握できる。この関係により、グループcとグループDに属するノードR18が故障していることも把握できる。即ち、送信ノードは、各受信ノードがメッセージを受信できたかどうかを、各グループの最終ノードからのメッセージを受信することのみで判断できる。   Similarly, the transmitting node can recognize that MSG-2 has not reached Group D from ACKs related to other messages MSG-2. From this relationship, it can also be understood that the node R18 belonging to the group c and the group D has failed. That is, the transmitting node can determine whether or not each receiving node has received a message only by receiving a message from the last node of each group.

なお、メッセージMSG-1の送信とメッセージMSG-2の送信の間にノード障害が発生した場合は、受信確認ができなかった未送信メッセージを再送することにより、受信状況が把握できる。この点は後述する。   When a node failure occurs between the transmission of the message MSG-1 and the transmission of the message MSG-2, the reception status can be grasped by retransmitting the unsent message that could not be confirmed. This point will be described later.

また、未送信メッセージの再送受信ノードで障害が発生した場合、障害が発生していないノード(グループc、グループDのノードでR18以外のノード)へのメッセージ送信が必要である。図5に示したノードR18の障害の例では、障害が発生していないノードR23へのメッセージMSG-1、ノードR19とR20へのメッセージの送信が必要となる。よって、ノードR19,R20にはメッセージMSG-2を、ノードR23にはメッセージMSG-1を再送する必要がある。ただし、送信ノードSは、グループc内のすべてのノードにメッセージMSG-1が届けられておらず、グループD内のすべてのノードにメッセージMSG-2が届けられていないとして受信状況を把握する。   Further, when a failure occurs in a re-transmission / reception node for an unsent message, it is necessary to transmit a message to a node in which no failure has occurred (a node other than R18 in the group c and group D). In the example of the failure of the node R18 shown in FIG. 5, it is necessary to transmit the message MSG-1 to the node R23 where no failure has occurred and the messages to the nodes R19 and R20. Therefore, it is necessary to retransmit message MSG-2 to nodes R19 and R20 and message MSG-1 to node R23. However, the transmission node S grasps the reception status assuming that the message MSG-1 has not been delivered to all the nodes in the group c and the message MSG-2 has not been delivered to all the nodes in the group D.

そこで、送信ノードSは、故障ノードをルーテイングから外すと共に、組となっているメッセージ(MSG-1、MSG-2)を、最初に送ったグループとは逆のグループに対してかつ、逆の方向からメッセージを再送する。つまり、MSG-1をYグループの各グループに、MSG-2をXグループの各グループに前回とは逆の方向に送信する。そうすることにより、ノードR19, R20にはMSG-2が、ノードR23にはMSG-1が配達され、障害のないノードにはメッセージが配達される。   Therefore, the sending node S removes the failed node from routing, and sends the paired message (MSG-1, MSG-2) to the group opposite to the group that sent the message first and in the opposite direction. Resend the message from. That is, MSG-1 is transmitted to each group of Y group, and MSG-2 is transmitted to each group of X group in the opposite direction to the previous time. By doing so, MSG-2 is delivered to the nodes R19 and R20, MSG-1 is delivered to the node R23, and a message is delivered to a node having no failure.

具体的に説明すると、メッセージMSG-1に、グループAの受信ノードを逆順に辿るための「R5→R4→R3→R2→R1→S」という付加情報を付加し、グループAの受信ノードR5に送信する。同様に、メッセージMSG-2に、グループBの受信ノードを逆順に辿るための「R5→R4→R3→R2→R1→S」という付加情報を付加し、グループBの受信ノードR10に送信する。グループC〜Eについても同様である。また、メッセージMSG-2に、グループaの受信ノードを逆順に辿るための「R21→R16→R11→R6→R1→S」という付加情報を付加し、グループaの受信ノードR5に送信する。グループb〜eについても同様である。なお、送信ノードは、図4(c)、(d)に示すように、この異常発生時用の、ルート情報を予め用意しておく。   More specifically, additional information “R5 → R4 → R3 → R2 → R1 → S” for tracing the receiving node of the group A in the reverse order is added to the message MSG-1 to the receiving node R5 of the group A. Send. Similarly, additional information “R5 → R4 → R3 → R2 → R1 → S” for tracing the group B receiving nodes in the reverse order is added to the message MSG-2 and transmitted to the group B receiving node R10. The same applies to the groups C to E. Further, additional information “R21 → R16 → R11 → R6 → R1 → S” for tracing the receiving node of group a in the reverse order is added to the message MSG-2 and transmitted to the receiving node R5 of group a. The same applies to the groups b to e. As shown in FIGS. 4C and 4D, the transmission node prepares route information for the occurrence of this abnormality in advance.

そして、各グループの最終ノードが送信側にメッセージを送信するため、送信ノードは、故障していないノードへのメッセージMSG-1, MSG-2の送信(到着)が確認できる。また、この間、すでにMSG-1やMSG-2を受信しているノードは、ルーティング情報に合わせてメッセージをリレーするのみである。   Then, since the last node of each group transmits a message to the transmitting side, the transmitting node can confirm the transmission (arrival) of the messages MSG-1 and MSG-2 to the non-failed node. During this time, the node that has already received MSG-1 or MSG-2 only relays the message according to the routing information.

このようなメッセージの送受信方法により、最初に送信したメッセージMSG-1の送信と次のメッセージMSG-2の送信の間でノード障害が発生した場合でも、再送が可能となる。たとえばメッセージMSG-1はすべてのグループに対して送信が成功し、その後メッセージMSG-2を送信して、このメッセージのグループDの送信が失敗した場合、ノードR16, R17, R18, R19, R20のうちのすべてか一部に送信ができていないことになる。この場合においても、Xグループ単位でも逆方向からのメッセージ再送により、障害ノード以外のノードへのメッセージ送信が行え、さらに、再送の結果から障害ノードを特定することができる。以上の方法により、高信頼な1対多のメッセージ送受信が実現できる。   With such a message transmission / reception method, retransmission is possible even when a node failure occurs between the transmission of the first message MSG-1 and the transmission of the next message MSG-2. For example, if message MSG-1 is successfully transmitted to all groups, then message MSG-2 is transmitted, and transmission of group D of this message fails, nodes R16, R17, R18, R19, R20 Not all or some of them have been sent. Even in this case, message transmission to a node other than the failed node can be performed by retransmitting the message in the reverse direction even in X group units, and the failed node can be identified from the result of the retransmission. By the above method, highly reliable one-to-many message transmission / reception can be realized.

以上説明したように、本実施の形態のメッセージ伝送システムにより、(1)応答爆発を起こすことなく同一メッセージを複数の受信ノードに確実に送信でき、(2)送信ノードが受信ノードのメッセージ受信状況(送信できたかどうか)を把握でき、(3)ノード障害発生時にもその影響を最小限に抑え、メッセージ送受信を続けることができる。さらに、1対多の高信頼メッセージ送受信においても、システム全体で負荷が分散でき、送信ノードに高性能が要求されない。   As described above, according to the message transmission system of this embodiment, (1) the same message can be reliably transmitted to a plurality of receiving nodes without causing a response explosion, and (2) the message reception status of the receiving node is the receiving node. (3) It is possible to keep sending and receiving messages while minimizing the effect of a node failure. Furthermore, even in one-to-many highly reliable message transmission / reception, the load can be distributed throughout the system, and high performance is not required for the transmission node.

次に、上記の全体の送受信としてのメッセージの伝送処理を可能とするための、各送信ノード及び受信ノードの構成と動作を説明する。   Next, the configuration and operation of each transmission node and reception node for enabling the transmission processing of the message as the overall transmission / reception will be described.

コンピュータ装置11は、物理的には、図6に示すように、通信装置21と、制御装置22と、記憶装置23と、入力装置24と、出力装置25とから構成される。   As shown in FIG. 6, the computer device 11 physically includes a communication device 21, a control device 22, a storage device 23, an input device 24, and an output device 25.

通信装置21は、他のコンピュータ装置11と通信ネットワークN1を介して通信を行うためのインターフェイスである。例えば、NIC(Network Interface Card)等から構成される。   The communication device 21 is an interface for communicating with another computer device 11 via the communication network N1. For example, the network interface card (NIC) is used.

制御装置22は、例えば、CPU(Central Processing Unit:中央演算処理装置)やワークエリアとなるRAM(Random Access Memory)などから構成され、後述する各通信制御処理を実行する。   The control device 22 includes, for example, a CPU (Central Processing Unit) and a RAM (Random Access Memory) serving as a work area, and executes each communication control process described later.

記憶装置23は、内蔵ハードディスク装置等から構成され、制御装置22の処理プログラムや各種のデータを保管する。
記憶装置23には、このコンピュータ装置11が送信ノードとなる際の、受信ノードのマトリックス情報(図3(b))とルート情報(図4(a)〜(d))が登録されている。
The storage device 23 is composed of a built-in hard disk device or the like, and stores the processing program of the control device 22 and various data.
In the storage device 23, matrix information (FIG. 3 (b)) and route information (FIGS. 4 (a) to (d)) of a receiving node when the computer device 11 becomes a transmitting node are registered.

入力装置24は、キーボード、マウスなどを含み、種々の情報を制御装置22に供給する。
出力装置25は、表示装置やプリンタから構成、種々の情報を画面に表示し、或いは、ハードコピーを生成する。
The input device 24 includes a keyboard, a mouse, and the like, and supplies various information to the control device 22.
The output device 25 includes a display device and a printer, displays various information on a screen, or generates a hard copy.

図1に示す通信ネットワークN1は、例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)などといった所定の通信プログラムに基づいてデータ伝送をおこなうネットワークであり、例えばLAN(Local Area Network)等から構成される。   A communication network N1 shown in FIG. 1 is a network that performs data transmission based on a predetermined communication program such as TCP / IP (Transmission Control Protocol / Internet Protocol), and is configured by, for example, a LAN (Local Area Network) or the like. The

次に、送信ノードとして機能するコンピュータ装置11の動作を図7を参照して説明する。
まず、制御装置22は、送信対象のメッセージを第1のメッセージMSG-1と第2のメッセージMSG-2に分割(分類)する(ステップS11)。例えば、送信メッセージが1つだけの場合には、1つのメッセージを分割して、第1のメッセージMSG-1と第2のメッセージMSG-2とを生成する。また、送信メッセージが複数ある場合には、第1のメッセージMSG-1と第2のメッセージMSG-2とにグループ分けする。
Next, the operation of the computer apparatus 11 functioning as a transmission node will be described with reference to FIG.
First, the control device 22 divides (classifies) a message to be transmitted into a first message MSG-1 and a second message MSG-2 (step S11). For example, when there is only one transmission message, one message is divided to generate a first message MSG-1 and a second message MSG-2. Further, when there are a plurality of transmission messages, they are grouped into a first message MSG-1 and a second message MSG-2.

続いて、制御装置22は、記憶装置23から、通常時Xグループ用ルート情報を読み出し、第1のメッセージMSG-1のヘッダ情報に付加して送信する(ステップS12)。具体的には、第1のメッセージMSG-1のヘッダ情報にグループa用のルート情報を付加して、受信ノードR1に送信し、第1のメッセージMSG-1のヘッダ情報にグループb用のルート情報を付加して、受信ノードR2に送信し、...第1のメッセージMSG-1のヘッダ情報にグループe用のルート情報を付加して、受信ノードR5に送信する。その後、タイムアウト用の計時を開始する。   Subsequently, the control device 22 reads the normal-time X group route information from the storage device 23, adds it to the header information of the first message MSG-1, and transmits it (step S12). Specifically, the route information for group a is added to the header information of the first message MSG-1 and transmitted to the receiving node R1, and the route information for group b is added to the header information of the first message MSG-1. Add the information and send it to the receiving node R2,. . . The route information for the group e is added to the header information of the first message MSG-1 and transmitted to the receiving node R5. After that, timing for timeout is started.

続いて、制御装置22は、記憶装置23から、通常時Yグループ用ルート情報を読み出し、第2のメッセージMSG-2のヘッダ情報に付加して送信する(ステップS13)。具体的には、第2のメッセージMSG-2のヘッダ情報にグループA用のルート情報を付加して、受信ノードR1に送信し、第2のメッセージMSG-2のヘッダ情報にグループB用のルート情報を付加して、受信ノードR6に送信し、...第2のメッセージMSG-2のヘッダ情報にグループE用のルート情報を付加して、受信ノードR21に送信する。その後、タイムアウト用の計時を開始する。   Subsequently, the control device 22 reads the normal-time Y group route information from the storage device 23, adds the route information to the header information of the second message MSG-2, and transmits it (step S13). Specifically, route information for group A is added to the header information of the second message MSG-2 and transmitted to the receiving node R1, and the route information for group B is added to the header information of the second message MSG-2. Add the information and send it to the receiving node R6. . . The route information for group E is added to the header information of the second message MSG-2 and transmitted to the receiving node R21. After that, timing for timeout is started.

続いて、制御装置22は、各グループからのACK(送信した第1のメッセージMSG-1又は第2のメッセージMSG-2)の受信を待機する(ステップS14,S15)。   Subsequently, the control device 22 waits for reception of an ACK (transmitted first message MSG-1 or second message MSG-2) from each group (steps S14 and S15).

この間、送信したメッセージは、受信ノードを順次転送され、各グループの最後の受信ノードから送信ノードに返送される。
規定時間内に、全てのACKを受信すると(ステップS14;Yes)、正常にメッセージの全受信ノードへの送信が完了したと判別される(ステップS16)。
During this time, the transmitted message is sequentially transferred through the receiving node, and is returned to the transmitting node from the last receiving node of each group.
If all ACKs are received within the specified time (step S14; Yes), it is determined that transmission of the message to all receiving nodes has been completed normally (step S16).

一方、規定時間内に、少なくとも1つのACKを受信できなかった場合(ステップS14;No、ステップS15;Yes)、まず、異常状態の(故障した)ノードを特定する(ステップS17)。   On the other hand, when at least one ACK cannot be received within the specified time (step S14; No, step S15; Yes), first, an abnormal (failed) node is identified (step S17).

具体的に説明すると、制御装置22は、図8に示すように、受信できないACKが、第1のメッセージMSG-1に対応するもの(Xグループからのもの)と、第2のメッセージMSG-2に対応するもの(Yグループからのもの)を両方をであるか否かを判別する(ステップS21)。   More specifically, as shown in FIG. 8, the control device 22 determines that the ACK that cannot be received corresponds to the first message MSG-1 (from the X group) and the second message MSG-2. It is determined whether or not both of those corresponding to (from the Y group) are (step S21).

ACKを受信できないグループがXグループとYグループの両方であると判別した場合(ステップS21;Yes)、ACKを受信できないXグループと、ACKを受信できないYグループとの交点に位置するノードが故障(異常)であると判別する(ステップS22)。例えば、Xグループのうちのグループbと、YグループのうちのグループbからACKを受信できていない場合には、その交点に位置するノードR7が異常(故障)であると判別する。   If it is determined that the group that cannot receive ACK is both the X group and the Y group (step S21; Yes), a node located at the intersection of the X group that cannot receive ACK and the Y group that cannot receive ACK fails ( (Abnormal)) (step S22). For example, when ACK cannot be received from the group b of the X group and the group b of the Y group, it is determined that the node R7 located at the intersection is abnormal (failure).

ACKを受信できないグループがXグループとYグループの一方であると判別した場合(ステップS21;No)、そのグループ内のいずれかのノードが異常(故障)であると判別する(ステップS23)。   When it is determined that the group that cannot receive the ACK is one of the X group and the Y group (step S21; No), it is determined that any node in the group is abnormal (failure) (step S23).

なお、上述のように、Xグループ内のグループa〜eと、Yグループ内のグループA〜E、のいずれかのみからACKを受信できない場合は、あるノードが一方のメッセージを転送した後に、故障した場合であると想定される。この場合には、例えば、図9の処理を行って、故障したノードを特定してもよい。   As described above, if an ACK cannot be received from only one of the groups a to e in the X group and the groups A to E in the Y group, a failure occurs after a certain node transfers one message. It is assumed that this is the case. In this case, for example, the process of FIG. 9 may be performed to identify the failed node.

即ち、ACKを受信できないグループがXグループ内のグループa〜eであるか、Yグループ内のグループA〜Eのいずれかであるかを判別する(ステップS31)。   That is, it is determined whether the group that cannot receive ACK is the group a to e in the X group or the group A to E in the Y group (step S31).

ACKを受信できないグループがXグループ内のグループa〜eのいずれかである場合には、改めて、Yグループ内のグループA〜Eにメッセージを送信し(ステップS32)、ACKを受信できないグループがYグループ内のグループA〜Eのいずれかである場合には、改めて、Xグループ内のグループa〜eにメッセージを送信する(ステップS33)。   If the group that cannot receive ACK is any of the groups a to e in the X group, a message is transmitted again to the groups A to E in the Y group (step S32), and the group that cannot receive ACK is Y If it is one of the groups A to E in the group, the message is transmitted again to the groups a to e in the X group (step S33).

制御装置22は、この処理により、送信されてくるACKを受信し、Xグループ内のACKを受信できないグループとYグループ内のACKを受信できないグループとを特定し、故障箇所の判別を行う。   Through this process, the control device 22 receives the transmitted ACK, identifies the group that cannot receive the ACK in the X group and the group that cannot receive the ACK in the Y group, and determines the failure location.

一方、図7のステップS17で異常ノードを特定した後、制御装置22は、ACKを受信できななかったメッセージを再送信する処理を行う(ステップS18)。
この処理の詳細を図10を参照して説明する。
On the other hand, after identifying the abnormal node in step S17 of FIG. 7, the control device 22 performs a process of retransmitting the message for which ACK could not be received (step S18).
Details of this processing will be described with reference to FIG.

まず、制御装置22は、Xグループ内のグループa〜eからACKを受信できていないかを判別する(ステップS41)。   First, the control device 22 determines whether or not an ACK has been received from the groups a to e in the X group (step S41).

Xグループ内のグループa〜eのいずれかからACKを受信できていない場合(ステップS41;Yes)、ステップS42に進む。一方、Xグループ内の全てのグループa〜eからACKを受信できている場合(ステップ41;No)、ステップS42をスキップする。   If an ACK has not been received from any of the groups a to e in the X group (step S41; Yes), the process proceeds to step S42. On the other hand, when ACK has been received from all the groups a to e in the X group (step 41; No), step S42 is skipped.

ステップS42では、記憶装置23から、異常時用Yグループルート情報を読み出し、メッセージMSG-1のヘッダに付加して送信する(ステップS42)。   In step S42, the abnormal-time Y group route information is read from the storage device 23, added to the header of the message MSG-1, and transmitted (step S42).

具体的には、第1のメッセージMSG-1のヘッダ情報に、グループA用のルート情報(R5→R4→R3→R2→R1→S)を付加して、受信ノードR5に送信し、第1のメッセージMSG-1のヘッダ情報にグループB用のルート情報(R10→R9→R8→R7→R6→S)を付加して、受信ノードR10に送信する。グループC〜Eについても同様である。   Specifically, route information for group A (R5 → R4 → R3 → R2 → R1 → S) is added to the header information of the first message MSG-1 and transmitted to the receiving node R5. The group B route information (R10 → R9 → R8 → R7 → R6 → S) is added to the header information of the message MSG-1 and transmitted to the receiving node R10. The same applies to the groups C to E.

次に、制御装置22は、Yグループ内のいずれかのグループA〜EのいずれかからACKを受信できていないかを判別する(ステップ43)。   Next, the control device 22 determines whether or not an ACK has been received from any one of the groups A to E in the Y group (step 43).

Yグループ内のいずれかのグループA〜EのいずれかからACKを受信できていない場合(ステップS43;Yes)、ステップS44に進む。一方、Yグループ内の全てのグループA〜EからACKを受信できている場合(ステップ43;No)、ステップS44をスキップする。
ステップS44では、記憶装置23から、異常時用Xグループルート情報を読み出し、メッセージMSG-2のヘッダに付加して送信する(ステップS42)。
If an ACK has not been received from any of the groups A to E in the Y group (step S43; Yes), the process proceeds to step S44. On the other hand, when ACK is received from all the groups A to E in the Y group (step 43; No), step S44 is skipped.
In step S44, the abnormal X group route information is read from the storage device 23, added to the header of the message MSG-2, and transmitted (step S42).

具体的には、第2のメッセージMSG-2のヘッダ情報に、グループa用のルート情報(R21→R16→R11→R6→R1→S)を付加して、受信ノードR21に送信する。また、第2のメッセージMSG-2のヘッダ情報に、グループb用のルート情報(R22→R17→R12→R7→R2→S)を付加して、受信ノードR22に送信する。グループc〜eについても同様である。   Specifically, the route information for the group a (R21 → R16 → R11 → R6 → R1 → S) is added to the header information of the second message MSG-2 and transmitted to the receiving node R21. Further, route information for the group b (R22 → R17 → R12 → R7 → R2 → S) is added to the header information of the second message MSG-2 and transmitted to the receiving node R22. The same applies to the groups c to e.

このようにして、故障したノード以外に確実にメッセージを伝送できる。   In this way, a message can be reliably transmitted to nodes other than the failed node.

一方、受信ノードは、メッセージを受信すると、図11に示す転送処理を開始する。まず、受信したメッセージを記憶装置23に格納する(ステップS51)。
次に、このメッセージを転送すべき次のノードを判別する(ステップS52)。これは、受信したメッセージのヘッダ情報を分析すること等により求められる。
次に、判別した転送先ノードにこのメッセージを転送する(ステップS53)。
On the other hand, when receiving the message, the receiving node starts the transfer process shown in FIG. First, the received message is stored in the storage device 23 (step S51).
Next, the next node to which this message is to be transferred is determined (step S52). This is obtained by analyzing header information of the received message.
Next, this message is transferred to the determined transfer destination node (step S53).

以上説明したように、本実施の形態のメッセージ伝送システムは、高信頼メッセージマルチキャストシステムであり、(A)論理的に受信ノードをメッシュ状に配置し、その一部の(全体数よりも十分少数の)受信側ードにのみポジティブ応答確認をさせることにより応答爆発を防ぐことができる。さらに、一定時間ACKを受信できなかった受信ノードにはメッセージを再送することにより、確実なメッセージ送受信ができる。また、(B)メッセージを2個1組とし、その2個のメッセージをメッシュ状の受信ノードに、異なるパスを使って送信することにより、メッセージが受信できなかった受信ノードを、送信ノードが把握できる。さらに、(C)送信ノードが、ノード障害を検知した際、最初に送信したパスとは逆の送信パスでメッセージを再送することにより、ノード障害発生時にも、故障しているノード以外のノードには可能な限りメッセージを送達させることができる。   As described above, the message transmission system according to the present embodiment is a highly reliable message multicast system, and (A) logically arranges receiving nodes in a mesh shape, and a part thereof (a sufficiently smaller number than the total number). Response explosion can be prevented by having only the receiver side confirm the positive response. Furthermore, reliable message transmission / reception can be performed by resending the message to the receiving node that has not received the ACK for a certain period of time. In addition, (B) Sending node grasps the receiving node that could not receive the message by making two sets of two messages and sending the two messages to the mesh-like receiving node using different paths. it can. Furthermore, (C) when a transmission node detects a node failure, it retransmits the message on the transmission path opposite to the path that was transmitted first, so that even when a node failure occurs, Can deliver messages as much as possible.

なお、この発明は、上記実施の形態に限定されず、種々の変形及び応用が可能である。   In addition, this invention is not limited to the said embodiment, A various deformation | transformation and application are possible.

例えば、上記実施の形態では、受信ノードを25台として、マトリックスを5×5としたが、マトリックスの形状は任意である。例えば、6×4のマトリックスと1×1のマトリックスを想定して、ルート情報を設定してもよい。ルート情報が全ノードをX方向とY方向に通過するようにルート情報を定義できるならば、ノードの数やマトリックスの形状などは任意である。   For example, in the above embodiment, the number of receiving nodes is 25 and the matrix is 5 × 5, but the shape of the matrix is arbitrary. For example, route information may be set assuming a 6 × 4 matrix and a 1 × 1 matrix. If the route information can be defined so that the route information passes through all the nodes in the X direction and the Y direction, the number of nodes and the shape of the matrix are arbitrary.

また、上記実施の形態のマトリックスと他の従来の手法とを組み合わせて使用すること等も可能である。例えば、図2のマトリックス内の送信ノードに他の従来の手法を用いてメッセージを送信し、これを送信ノードが受信ノードに配信する等してもよい。   In addition, it is possible to use the matrix of the above embodiment in combination with other conventional methods. For example, a message may be transmitted to the transmitting node in the matrix of FIG. 2 using another conventional technique, and the transmitting node may deliver the message to the receiving node.

また、上記実施の形態においては、メッセージの配信順序を定義するルート情報を送信ノードが生成し、メッセージに付加して送信したが、ルート情報を各受信ノードが予め記憶しておいて、各受信ノードがメッセージ内の適当な識別情報により、メッセージの転送先を判別してメッセージを転送するようにしてもよい。   In the above embodiment, the transmission node generates route information that defines the delivery order of the messages and transmits the route information by adding it to the message. The node may determine the transfer destination of the message based on appropriate identification information in the message and transfer the message.

また、上記実施の形態においては、異常が生じたい場合に、図6に示すように通常とは別のルートで且つ逆向きにメッセージを送信したが、異常が生じた場合に、図6に示すように通常とは別のルート(行と列が逆)であるが行と列内では順方向にメッセージを送信するようにしてもよい。   Further, in the above embodiment, when an abnormality is desired, a message is transmitted in the reverse direction and in the reverse direction as shown in FIG. 6, but when an abnormality occurs, the message is shown in FIG. As described above, although the route is different from the normal route (the row and the column are reversed), the message may be transmitted in the forward direction in the row and the column.

本発明の実施の形態に係るメッセージ伝送システムのブロック図である。1 is a block diagram of a message transmission system according to an embodiment of the present invention. (a)は、送信ノードSと受信ノードRが論理的に構成するマトリックスの構成図であり、(b)は、受信ノードが構成する論理的マトリックスを定義するデータの例である。(A) is a block diagram of a matrix logically constituted by the transmission node S and the reception node R, and (b) is an example of data defining a logical matrix constituted by the reception node. 図2のマトリックス状のノードでのメッセージの伝送経路を説明するための図である。It is a figure for demonstrating the transmission path | route of the message in the matrix-like node of FIG. 送信ノードに格納されるルート情報の例を示す図であり、(a)と(b)は通常時用、(c)と(d)は異常(障害)時用、(a)と(c)はXグループ用、(b)と(d)はYグループ用である。It is a figure which shows the example of the route information stored in a transmission node, (a) and (b) are for normal time, (c) and (d) are for abnormal (failure), (a) and (c) Is for the X group, and (b) and (d) are for the Y group. マトリックスを構成する受信ノードR18に障害が発生した場合の動作を説明するための図である。It is a figure for demonstrating operation | movement when a failure generate | occur | produces in receiving node R18 which comprises a matrix. 図1に示すコンピュータ装置の構成を示すブロック図である。It is a block diagram which shows the structure of the computer apparatus shown in FIG. 送信ノードの動作を説明するためのフローチャートである。It is a flowchart for demonstrating operation | movement of a transmission node. 図7のフローチャートにおける故障ノード判別処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the failure node discrimination | determination process in the flowchart of FIG. 故障ノードを判別するために、図8の処理に加えて適宜実行される処理の詳細を示すフローチャートである。FIG. 9 is a flowchart showing details of processing that is appropriately executed in addition to the processing of FIG. 8 in order to determine a failed node. 図7のフローチャートにおけるメッセージの再送信処理の詳細を示すフローチャートである。It is a flowchart which shows the detail of the resending process of the message in the flowchart of FIG. 受信ノードの処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process of a receiving node. 1対1のノード間でのポジティブ応答確認を説明するための図である。It is a figure for demonstrating the positive response confirmation between 1 to 1 nodes. 1対多のノード間でのポジティブ応答確認を説明するための図である。It is a figure for demonstrating the positive response confirmation between one-to-many nodes. 木構造ACK方式を説明するための図である。It is a figure for demonstrating a tree structure ACK system.

符号の説明Explanation of symbols

11 コンピュータ装置
21 通信装置
22 制御装置
23 記憶装置
24 入力装置
25 出力装置
N1 通信ネットワーク
11 Computer Device 21 Communication Device 22 Control Device 23 Storage Device 24 Input Device 25 Output Device N1 Communication Network

Claims (9)

送信ノードを構成するコンピュータ装置と、受信ノードを構成する複数のコンピュータ装置とから構成される、1対多型メッセージ伝送システムであって、
前記受信ノードは論理的にマトリックスに配列されており、
前記送信ノードは、第1のメッセージを前記マトリックスの各列の先頭の受信ノードに送信し、第2のメッセージを前記マトリックスの各行の先頭の受信ノードに送信し、前記マトリックスの各列の最後の受信ノードから成功応答信号を受信し、前記マトリックスの各行の最後の受信ノードから成功応答信号を受信し、
前記受信ノードは、受信した第1のメッセージを同一列の次の受信ノードに転送し、各列の最後の受信ノードが前記送信ノードに成功応答信号を送信し、受信した第2のメッセージを同一行の次の受信ノードに転送し、各行の最後の受信ノードが前記送信ノードに成功応答信号を送信する、
ことを特徴とする、1対多型メッセージ伝送システム。
A one-to-multiple message transmission system comprising a computer device constituting a sending node and a plurality of computer devices constituting a receiving node,
The receiving nodes are logically arranged in a matrix;
The sending node sends a first message to the first receiving node in each column of the matrix, sends a second message to the first receiving node in each row of the matrix, and the last message in each column of the matrix. Receiving a success response signal from the receiving node, receiving a success response signal from the last receiving node of each row of the matrix;
The receiving node transfers the received first message to the next receiving node in the same column, the last receiving node in each column transmits a success response signal to the transmitting node, and the received second message is the same. Forward to the next receiving node in the row, and the last receiving node in each row sends a success response signal to the sending node;
A one-to-many message transmission system characterized by the above.
前記送信ノードは、
ある列の受信ノードとある行の受信ノードから成功応答信号を受信できないときに、その行と列の交点にある受信ノードが故障していると判別する、
ことを特徴とする、請求項1に記載の1対多型メッセージ伝送システム。
The sending node is
When a success response signal cannot be received from a receiving node in a certain column and a receiving node in a certain row, it is determined that the receiving node at the intersection of the row and the column is faulty.
The one-to-many type message transmission system according to claim 1, wherein:
前記送信ノードは、
ある列の受信ノードから成功応答信号を受信できないときに、第1のメッセージを、前記マトリックスの各行の先頭又は最後の受信ノードに送信し、前記マトリックスの各行の最後又は先頭の受信ノードから成功応答信号を受信し、
ある行の受信ノードから成功応答信号を受信できないときに、第2のメッセージを、前記マトリックスの各列の先頭又は最後の受信ノードに送信し、各列の最後又は先頭の受信ノードから成功応答信号を受信する、
ことを特徴とする、請求項1又は2に記載の1対多型メッセージ伝送システム。
The sending node is
When a success response signal cannot be received from a receiving node in a column, a first message is transmitted to the first or last receiving node of each row of the matrix, and a successful response is received from the last or first receiving node of each row of the matrix. Receive the signal,
When a successful response signal cannot be received from a receiving node in a row, a second message is transmitted to the first or last receiving node in each column of the matrix, and a successful response signal is received from the last or first receiving node in each column. Receive,
The one-to-many type message transmission system according to claim 1 or 2, characterized by the above.
前記送信ノードは、
ある列の受信ノードとある行の受信ノードとの一方のみから成功応答信号を受信できず、他の列及び行の受信ノードから成功応答信号を受信できたときには、
前記第1又は第2のメッセージを再送信して、成功応答信号を受信し、該成功応答信号により、障害の発生した受信ノードを特定する手段を備える、
ことを特徴とする、請求項1乃至3のいずれか1項に記載の1対多型メッセージ伝送システム。
The sending node is
When a successful response signal cannot be received from only one of the receiving node of a certain column and a receiving node of a certain row, and a successful response signal can be received from the receiving node of another column and row,
Means for retransmitting the first or second message, receiving a success response signal, and identifying a receiving node in which a failure has occurred by the success response signal;
The one-to-many type message transmission system according to any one of claims 1 to 3, wherein
前記送信ノードは、論理的マトリックスの構造を定義する定義情報を格納しており、前記第1のメッセージの伝送ルートを定義する第1のルート情報を前記第1のメッセージに付加して前記受信ノードに供給し、前記第2のメッセージの伝送ルートを定義する第2のルート情報を第2のメッセージに付加して受信ノードに供給し、
前記受信ノードは、受信した第1又は第2のメッセージに付加されている第1又は第2のルート情報に従って、第1又は第2のメッセージを伝送する、
ことを特徴とする、請求項1乃至4のいずれか1項に記載の1対多型メッセージ伝送システム。
The transmission node stores definition information that defines a structure of a logical matrix, and the reception node adds first route information that defines a transmission route of the first message to the first message. A second route information defining a transmission route of the second message is added to the second message and supplied to the receiving node;
The receiving node transmits the first or second message according to the first or second route information added to the received first or second message.
The one-to-many type message transmission system according to any one of claims 1 to 4, wherein
前記送信ノードは、送信対象のメッセージを分割して第1と第2のメッセージを生成する手段又は送信対象のメッセージを分類して第1と第2のメッセージを生成する手段を備える、
ことを特徴とする、請求項1乃至5のいずれか1項に記載の1対多型メッセージ伝送システム。
The transmission node includes means for dividing a message to be transmitted to generate first and second messages, or means for classifying the message to be transmitted and generating first and second messages.
The one-to-multiple message transmission system according to any one of claims 1 to 5, wherein
論理的にマトリックス状に配列されたコンピュータにメッセージを伝送するためのコンピュータ装置であって、
第1のメッセージを論理的にマトリックス状に配列されている受信ノードのうちの各列の先頭の受信ノードに送信する手段と、
第2のメッセージを前記マトリックス状に配列されている受信ノードのうちのの各行の先頭の受信ノードに送信する手段と、
前記マトリックスの各列の最後の受信ノードから成功応答信号を受信する手段と、
前記マトリックスの各行の最後の受信ノードから成功応答信号を受信する手段と、
を備えるコンピュータ装置。
A computer device for transmitting a message to computers arranged in a logical matrix,
Means for transmitting the first message to the first receiving node in each column among the receiving nodes logically arranged in a matrix;
Means for transmitting a second message to the first receiving node in each row of the receiving nodes arranged in the matrix;
Means for receiving a success response signal from the last receiving node of each column of the matrix;
Means for receiving a success response signal from the last receiving node of each row of the matrix;
A computer device comprising:
第1のメッセージを論理的にマトリックス状に配列された受信ノードのうちの各列の先頭の受信ノードに送信し、第2のメッセージを前記マトリックス状に配列された受信ノードのうちのの各行の先頭の受信ノードに送信し、
前記論理的マトリックスの各列を構成する受信ノード間で、受信した第1のメッセージを順次転送し、各列の最後の受信ノードがメッセージの受信に成功したときに、成功応答信号を出力し、
前記論理的マトリックスの各行を構成する受信ノード間で、受信した第2のメッセージを順次転送し、各行の最後の受信ノードがメッセージの受信に成功したときに、成功応答信号を出力する、
ことを特徴とする、1対多型メッセージ伝送方法。
The first message is transmitted to the first receiving node in each column of the receiving nodes logically arranged in a matrix, and the second message is transmitted to each row of the receiving nodes arranged in the matrix. Send to the first receiving node,
The received first message is sequentially transferred between the receiving nodes constituting each column of the logical matrix, and when the last receiving node in each column successfully receives the message, a success response signal is output;
The received second message is sequentially transferred between the receiving nodes constituting each row of the logical matrix, and a success response signal is output when the last receiving node of each row has successfully received the message.
A one-to-multitype message transmission method characterized by the above.
コンピュータを、
第1のメッセージを論理的にマトリックス状に配列されている受信ノードの各列の先頭の受信ノードに送信し、第2のメッセージを前記マトリックス状に配列されている受信ノードの各行の先頭の受信ノードに送信し、前記マトリックスの各行と各列の最後の受信ノードから成功応答信号を受信する、
送信ノードとして機能させる、ことを特徴とするコンピュータプログラム。
Computer
The first message is transmitted to the first receiving node in each column of the receiving nodes arranged logically in a matrix, and the second message is received at the beginning of each row of the receiving nodes arranged in the matrix. Send to the node and receive a success response signal from the last receiving node in each row and column of the matrix;
A computer program that functions as a transmission node.
JP2006006774A 2006-01-13 2006-01-13 One-to-many message transmission system Active JP4646812B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006006774A JP4646812B2 (en) 2006-01-13 2006-01-13 One-to-many message transmission system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006006774A JP4646812B2 (en) 2006-01-13 2006-01-13 One-to-many message transmission system

Publications (2)

Publication Number Publication Date
JP2007189560A true JP2007189560A (en) 2007-07-26
JP4646812B2 JP4646812B2 (en) 2011-03-09

Family

ID=38344414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006006774A Active JP4646812B2 (en) 2006-01-13 2006-01-13 One-to-many message transmission system

Country Status (1)

Country Link
JP (1) JP4646812B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267846A (en) * 2008-04-25 2009-11-12 Kyocera Corp Radio communication system, radio base station, radio terminal, and radio communication method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54140437A (en) * 1978-04-24 1979-10-31 Toshiba Corp Parallel process system
JPS60134647A (en) * 1983-12-23 1985-07-17 Hitachi Ltd Communication network system
JPH0795234A (en) * 1993-09-20 1995-04-07 Oki Electric Ind Co Ltd Node for high speed grid type network system
JPH07296690A (en) * 1994-04-28 1995-11-10 ▲高▼橋 靖和 Sensor and detecting method for position of obstacle by using the sensor and game machine
JPH0964883A (en) * 1995-08-24 1997-03-07 Toshiba Corp Multiplexed terminal station equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54140437A (en) * 1978-04-24 1979-10-31 Toshiba Corp Parallel process system
JPS60134647A (en) * 1983-12-23 1985-07-17 Hitachi Ltd Communication network system
JPH0795234A (en) * 1993-09-20 1995-04-07 Oki Electric Ind Co Ltd Node for high speed grid type network system
JPH07296690A (en) * 1994-04-28 1995-11-10 ▲高▼橋 靖和 Sensor and detecting method for position of obstacle by using the sensor and game machine
JPH0964883A (en) * 1995-08-24 1997-03-07 Toshiba Corp Multiplexed terminal station equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009267846A (en) * 2008-04-25 2009-11-12 Kyocera Corp Radio communication system, radio base station, radio terminal, and radio communication method

Also Published As

Publication number Publication date
JP4646812B2 (en) 2011-03-09

Similar Documents

Publication Publication Date Title
EP1747644B1 (en) Method and apparatus for group communication with end-to-end reliability
US7346699B1 (en) Reliable multicast
US11863652B2 (en) Method for filtering redundant data packet at node in bluetooth mesh network
CN101507183B (en) Decoupled connections
US20130054526A1 (en) Multicast database replication
Jones et al. Protocol design for large group multicasting: the message distribution protocol
JP2008017306A (en) Wireless transmission apparatus and wireless communication method
US20070019677A1 (en) Data processing method and system based on a serial transmission interface
JP4646812B2 (en) One-to-many message transmission system
Mockapetris Analysis of reliable multicast algorithms for local networks
JP6547973B2 (en) Stream control method and system
JP4759418B2 (en) Message recovery system and recovery method
JP4936469B2 (en) Communications system
JP2017011706A (en) Communication system, communication method, and communication program
JP2007288428A (en) Repeater and data retransmission method
JP6182779B1 (en) Transfer device, transfer method, and program
US9385840B2 (en) Multicast apparatus and method
JP2007189399A (en) Automatic retransmission control method, transmitting device, receiving device, and program
KR102279601B1 (en) Method Of Gateway For DDS
JP2013179430A (en) Inter-device synchronizing and switching method, and inter-device switching system
JP2012088955A (en) Data replication system, data replication server, data replication method, and data replication program
KR102339661B1 (en) Gateway Devices For DDS
WO2012043142A1 (en) Multicast router and multicast network system
JP2009124276A (en) Transmission device, receiver, and program for transmitting and receiving packet divided and made redundant by using raid
JP5012035B2 (en) Alarm management system, alarm management method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100803

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101001

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

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

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

Free format text: PAYMENT UNTIL: 20131217

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4646812

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250