JP2011049621A - Message transfer program, message transfer method and node - Google Patents

Message transfer program, message transfer method and node Download PDF

Info

Publication number
JP2011049621A
JP2011049621A JP2009193853A JP2009193853A JP2011049621A JP 2011049621 A JP2011049621 A JP 2011049621A JP 2009193853 A JP2009193853 A JP 2009193853A JP 2009193853 A JP2009193853 A JP 2009193853A JP 2011049621 A JP2011049621 A JP 2011049621A
Authority
JP
Japan
Prior art keywords
message
node
transfer
destination
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
JP2009193853A
Other languages
Japanese (ja)
Other versions
JP5365414B2 (en
Inventor
Takayuki Minato
隆行 湊
Katsutaka Yamamoto
勝考 山本
Naoto Takahashi
直人 高橋
Nobuaki Jinno
信明 神野
Nobuo Shiba
信夫 柴
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009193853A priority Critical patent/JP5365414B2/en
Publication of JP2011049621A publication Critical patent/JP2011049621A/en
Application granted granted Critical
Publication of JP5365414B2 publication Critical patent/JP5365414B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a message transfer technique capable of transferring messages to all nodes even if a network dynamically changes without direct involvement of a transmission source. <P>SOLUTION: In the message transfer technique for transferring messages among connection nodes in a network consisting of a plurality of nodes, a transmission source node executes: a step of acquiring information of a transmission destination of message transfer from a transmission destination table registered in its own node in advance; a step of comparing the acquired transmission destination information with transfer route information included in a message received from another node; a step of updating the transfer route information by adding a node not included in the transfer route information; and a step of transferring the message having the updated transfer route information to the additional node. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、複数のノードで構成されるネットワークにおいて、送信元ノードが直接関与しないノードに対してもメッセージ転送を行うメッセージ転送技術に関する。   The present invention relates to a message transfer technique for transferring a message to a node that does not directly involve a transmission source node in a network composed of a plurality of nodes.

従来、複数のノードで構成されたネットワークにおいて、メッセージを送信する方式としは、一つのノードに一つずつ送信するキュー方式や、一度に複数のノードに送信するトピック方式がある。   Conventionally, in a network composed of a plurality of nodes, as a method for transmitting messages, there are a queue method for transmitting one message to one node and a topic method for transmitting to a plurality of nodes at a time.

しかし、従来のキュー方式あるいはトピック方式によるメッセージ送信技術では、ネットワークに障害が発生した場合に、送信メッセージを全てのノードに行き渡らせるのが困難となるという問題がある。   However, the conventional queue-type or topic-type message transmission technique has a problem that it is difficult to distribute a transmission message to all nodes when a failure occurs in the network.

例えば、図1に示すようなネットワークにおいて、ノードAからノードHへメッセージを送信する場合に、A→Hの通信路がエラーとなったとき、別のルートを探す処理は大変複雑となる。   For example, in a network as shown in FIG. 1, when a message is transmitted from the node A to the node H, when a communication path from A to H becomes an error, a process for searching for another route becomes very complicated.

こうしたネットワーク障害が生じたときの解決策として、メッセージ内に転送経路情報を持たせ、処理後の返信メッセージがその経路を逆に辿れるようにしたり(例えば、特許文献1参照)、経路に障害が発生したときに、当初のメッセージ転送経路を変更して迂回経路を設定する(例えば、特許文献2参照)ことが提案されている。   As a solution when such a network failure occurs, transfer route information is included in the message so that a reply message after processing can follow the route in reverse (for example, refer to Patent Document 1), or there is a failure in the route. When it occurs, it has been proposed to set an alternative route by changing the original message transfer route (see, for example, Patent Document 2).

しかしながら、上記従来技術はいずれも、予め決められた各ノード間でメッセージ送受信を行うもので、接続ノードの登録や削除など、ネットワークに変更が生じる度に、メッセージを送信する全てのノードに対して、送信先及びメッセージ転送経路を再設定するという煩雑さを抱える。さらに、こうしたメッセージ送信を管理、コントロールするため、ホストや中継装置などの別装置を必要としていた。   However, each of the above prior arts performs message transmission / reception between predetermined nodes. Every time a change occurs in the network, such as registration or deletion of a connection node, all the nodes transmitting the message In this case, there is a trouble of resetting the transmission destination and the message transfer path. Further, in order to manage and control such message transmission, a separate device such as a host or a relay device is required.

特開平05−282173号公報JP 05-282173 A 特開平08−16532号公報Japanese Patent Laid-Open No. 08-16532

上述してきた問題を解決するため、本発明では、メッセージ送信制御のために特別な中継装置を必要とせずに、送信元が直接関与しないネットワークの動的変化があっても、全てのノードへのメッセージ転送を可能とするメッセージ転送技術を提供する。   In order to solve the problems described above, the present invention does not require a special relay device for message transmission control, and even if there is a dynamic change of the network in which the transmission source is not directly involved, A message transfer technique that enables message transfer is provided.

本発明の一態様は、複数のノードからなるネットワークにおいて接続ノード間でメッセージを転送するメッセージ転送プログラムであって、送信元ノードに、予め自ノードに登録された送信先テーブルからメッセージ転送の送信先情報を取得するステップと、取得した前記送信先情報と他ノードから受信したメッセージに含まれる転送経路情報とを比較し、当該転送経路情報にないノードを追加して前記転送経路情報を更新するステップと、前記追加ノードに前記転送経路情報が更新されたメッセージを転送するステップと、を実行させるメッセージ転送プログラムに関する。   One aspect of the present invention is a message transfer program for transferring a message between connected nodes in a network composed of a plurality of nodes, the message transfer destination from the destination table registered in advance in the source node. A step of acquiring information, a step of comparing the acquired transmission destination information with the transfer route information included in the message received from another node, and adding the node not in the transfer route information to update the transfer route information And a step of transferring a message in which the transfer path information is updated to the additional node.

上記一態様の発明によれば、接続ノード間で送受信するメッセージの転送経路情報を自身の送信先情報と比較して、転送経路情報にないノードが存在した場合に、該ノードに対してメッセージを転送する構成とすることによって、メッセージ送信を制御するための特別な装置を必要とせずに、ネットワーク内の全ノードに漏れなくメッセージを転送することが可能となる。   According to the above aspect of the invention, when transfer path information of a message transmitted / received between connected nodes is compared with its own destination information, when there is a node that is not in the transfer path information, a message is sent to the node. By adopting a configuration for forwarding, a message can be forwarded to all the nodes in the network without requiring a special device for controlling message transmission.

その結果、ノードの登録及び削除などネットワークの変更が発生しても、当該ノード間の情報を更新するだけで、送信元が直接関与しないノードも含めてネットワークの全ノードに効率的にメッセージ転送を行うことが可能となる。   As a result, even if network changes such as node registration and deletion occur, it is possible to efficiently transfer messages to all nodes in the network, including nodes that are not directly involved in the source, simply by updating the information between the nodes. Can be done.

本発明の実施の形態になるメッセージ転送システムの基本構成を示す図である。It is a figure which shows the basic composition of the message transfer system which becomes embodiment of this invention. 本発明の実施の形態になる各ノードの送信先テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the transmission destination table of each node which becomes embodiment of this invention. 本発明の実施の形態になる送信メッセージのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the transmission message which becomes embodiment of this invention. 本発明の実施の形態になる各ノードで管理するメッセージの処理履歴テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the process history table of the message managed in each node which becomes embodiment of this invention. 本発明の実施の形態になるキュー方式によるメッセージ転送の転送経路情報遷移例を示す図である。It is a figure which shows the example of transfer path information transition of the message transfer by the queue system which becomes embodiment of this invention. 本発明の実施の形態になるトピック方式によるメッセージ転送の転送経路情報遷移例を示す図である。It is a figure which shows the transfer route information transition example of the message transfer by the topic system which becomes embodiment of this invention. 本発明の実施の形態になる送信元ノードにおけるキュー方式によるメッセージの送信フローを示す図である。It is a figure which shows the transmission flow of the message by the queue system in the transmission source node which becomes embodiment of this invention. 本発明の実施の形態になる受信先ノードにおけるキュー方式によるメッセージ転送フローを示す図である。It is a figure which shows the message transfer flow by the queue system in the receiving node which becomes embodiment of this invention. 本発明の実施の形態になる送信元ノードにおけるトピック方式によるメッセージの送信フローを示す図である。It is a figure which shows the transmission flow of the message by the topic system in the transmission source node which becomes embodiment of this invention. 本発明の実施の形態になる受信先ノードにおけるトピック方式によるメッセージ転送フローを示す図である。It is a figure which shows the message transfer flow by the topic system in the receiving node which becomes embodiment of this invention.

以下、図面にもとづいて本発明の実施形態を説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明のメッセージ転送システムの基本構成を示す。図1の上図は、本発明を適用するネットワークの構成例を示し、図中のA〜Hは、ノード名を表し、下図のノード1の機能を備えた装置となっている。また、ノード1は、ルータ、ハブ(HUB)等の負荷分散機能を備える装置であってもよい。とくに、負荷分散機能を備える場合は、その負荷分散機能によって転送先の優先度を決定することが可能となる。   FIG. 1 shows the basic configuration of the message transfer system of the present invention. The upper diagram of FIG. 1 shows a configuration example of a network to which the present invention is applied. A to H in the diagram represent node names, and are devices having the function of the node 1 in the lower diagram. The node 1 may be a device having a load distribution function such as a router or a hub (HUB). In particular, when a load distribution function is provided, the priority of the transfer destination can be determined by the load distribution function.

各ノード1(A〜H)は、図示していないが、メモリ、CPUを有するコンピュータであり、補助記憶装置(図にない)に格納されたメッセージ転送プログラム10を備えている。メッセージ転送プログラム10は、起動時に、メモリに展開されて、CPU(Central Processing Unit)によって処理される。また、該プログラムは、フレキシブルディスク、CD(Compact Disk)、MO(Magneto-Optical Disk)などの可搬記録媒体に記録され、各媒体に対応したドライバ装置によって読み取る構成としてもよい。   Although not shown, each node 1 (A to H) is a computer having a memory and a CPU, and includes a message transfer program 10 stored in an auxiliary storage device (not shown). The message transfer program 10 is expanded in a memory and processed by a CPU (Central Processing Unit) at the time of activation. The program may be recorded on a portable recording medium such as a flexible disk, a CD (Compact Disk), or an MO (Magneto-Optical Disk) and read by a driver device corresponding to each medium.

本メッセージ転送プログラム10は、メッセージを送受信するメッセージ送受信部11、メッセージの内容を実行処理するメッセージ処理部12、今までの他ノード1との通信実績を見て、どのノード1と通信すれば、最小のコストで処理できるかを判断する情報をデータ記憶部100の送信先テーブル101に格納する負荷分散部13、および実際の通信処理(メッセージ送受信処理)でエラーが発生した場合に、送信メッセージの転送経路情報と、処理履歴テーブル102を参照して、別の転送経路を構築して再送信する障害対応部14から構成されている。   This message transfer program 10 includes a message transmission / reception unit 11 for transmitting / receiving a message, a message processing unit 12 for executing / processing a message content, and a communication history with other nodes 1 so far. When an error occurs in the load distribution unit 13 that stores information for determining whether processing can be performed at the minimum cost in the transmission destination table 101 of the data storage unit 100 and the actual communication processing (message transmission / reception processing), Referring to the transfer route information and the processing history table 102, the failure handling unit 14 constructs another transfer route and retransmits it.

さらに、図1のネットワークにおけるノード接続構成例から、本発明のメッセージ転送の仕組みを説明する。   Further, the message transfer mechanism of the present invention will be described from the node connection configuration example in the network of FIG.

まず、メッセージ転送プログラム10は、送信元ノード1において、送信先ノード1の情報が予め登録された送信先テーブル101からメッセージ転送の送信先情報を取得し、取得した送信先情報をメッセージ内に設けた転送経路情報フィールドに書き込み、転送経路情報フィールドの転送経路情報に基づいて、直接接続していないノード1を含め全送信先ノード1にメッセージを送信する処理を行なう。   First, the message transfer program 10 acquires the transmission destination information of the message transfer from the transmission destination table 101 in which the information of the transmission destination node 1 is registered in advance in the transmission source node 1, and provides the acquired transmission destination information in the message. The transfer route information field is written, and based on the transfer route information in the transfer route information field, the message is transmitted to all the destination nodes 1 including the node 1 not directly connected.

ここで、ノード1のデータ記憶部100に送信先テーブル101として登録される送信先情報としては、自ノードに接続されているノードのノード情報が登録されていればよい。   Here, as the transmission destination information registered as the transmission destination table 101 in the data storage unit 100 of the node 1, it is only necessary that the node information of the node connected to the own node is registered.

例えば、ノードAには、送信先として、ノードB、CおよびHのノード情報が登録されていて、ノードHには送信先として、ノードA、FおよびGのノード情報が登録されている。このように、各ノード1には、ネットワーク上の全てのノード1を登録する必要はなく、例えば、ノードAでは、ノードD、E、F、およびGのノード情報が登録されていない。   For example, node information of nodes B, C, and H is registered as a transmission destination in node A, and node information of nodes A, F, and G is registered as a transmission destination in node H. Thus, it is not necessary to register all the nodes 1 on the network in each node 1. For example, node A does not register node information on nodes D, E, F, and G.

図2は、送信先テーブル101のデータ構造例を示す。この送信先テーブル101の送信先情報を元にして、メッセージの送信先が決定される。送信先テーブル101は、「優先度」、「転送先」、「応答時間」、および「障害発生回数」の項目からなる複数のレコードから構成されている。   FIG. 2 shows an example of the data structure of the transmission destination table 101. Based on the transmission destination information in the transmission destination table 101, the transmission destination of the message is determined. The transmission destination table 101 includes a plurality of records including items of “priority”, “transfer destination”, “response time”, and “number of failure occurrences”.

「応答時間」および「障害発生回数」には、負荷分散部13や障害対応部などによって、過去のメッセージ処理の成績として測定された数値が書き込まれ、これらの成績を元にして「優先度」が順位付けられる。そして、メッセージ送受信部11が、この送信先情報を参照してメッセージの送信先を決定する。   In the “response time” and the “number of failures”, numerical values measured as past results of message processing by the load balancer 13 or the failure handling unit are written, and “priority” is based on these results. Are ranked. Then, the message transmission / reception unit 11 determines the transmission destination of the message with reference to the transmission destination information.

図2における送信先テーブル101では、ノードAに登録されている送信先情報であり、例えば、ノードAは、ノードBに優先的にメッセージを転送する状態であることを示している。   The transmission destination table 101 in FIG. 2 is transmission destination information registered in the node A. For example, the node A indicates that the message is preferentially transferred to the node B.

なお、「転送先」には転送先の装置のFQDN(Fully Qualified Domain Name )、もしくはIPアドレスが格納される。また、負荷分散部13を備えなくても、「優先度」および「転送先」の情報だけで運用することも可能である。また、各ノード間の登録および登録の解除は、手動または自動のどちらでもよい。必要に応じて、ノード間の登録に認証制を導入し、セキュリティ対策を行ってもよい。   The “transfer destination” stores the FQDN (Fully Qualified Domain Name) or IP address of the transfer destination device. Further, even if the load distribution unit 13 is not provided, it is possible to operate only with the information of “priority” and “transfer destination”. Further, registration between nodes and cancellation of registration may be performed manually or automatically. If necessary, security measures may be taken by introducing an authentication system for registration between nodes.

図3は、メッセージのデータ構造例を示す。ノード1間で転送するメッセージは、ヘッダ、プロパティ、およびボディから構成される。実施例では、ネットワークを介してデータを送受信させるためのJMS(Java(登録商標)Message Service)を使用する場合の具体例を示している。   FIG. 3 shows an example of the data structure of the message. A message transferred between the nodes 1 includes a header, a property, and a body. In the embodiment, a specific example in the case of using JMS (Java (registered trademark) Message Service) for transmitting and receiving data via a network is shown.

ヘッダは、「メッセージID」(例:MSG00020)、処理が完了した参照メッセージとしての「参照メッセージID」(例:MSG00015)、「優先度」(例:4)のフィールド項目から構成されている。   The header includes field items of “message ID” (example: MSG00020), “reference message ID” (example: MSG00015) as a reference message that has been processed, and “priority” (example: 4).

「参照メッセージID」では、送信元から送信したメッセージが通信路の故障で送信エラーとなったときに、該メッセージIDをそのまま参照メッセージIDとし、再度送信時に新しいメッセージIDが割り付けられる。   In the “reference message ID”, when a message transmitted from a transmission source causes a transmission error due to a communication path failure, the message ID is used as it is as a reference message ID, and a new message ID is assigned at the time of transmission again.

「優先度」は、メッセージ作成時、ユーザによって入力される。例えば、「優先度」を10段階に設定し、その数値は大きいほど早い処理を意味し、優先度が5以上であればトピック方式、4以下であればキュー方式に自動的に決定され、該データはプロパティの「送信方式」に格納される。   The “priority” is input by the user when creating a message. For example, the “priority” is set to 10 levels, and the larger the value, the faster the processing is. If the priority is 5 or more, the topic method is automatically determined, and if it is 4 or less, the queue method is automatically determined. Data is stored in the “Transmission method” property.

また、プロパティは、キュー方式かトピック方式かを決定する「送信方式」(例:Queue )、および「転送経路情報」(例:@a.domain1 b.domain2 c.domain3)のフィールド項目から構成されている。ここで、「転送経路情報」は、メッセージの送受信時にノード1の送信先テーブルを参照して更新される。   In addition, the property is composed of field items of “transmission method” (example: Queue) and “forwarding route information” (example: @ a.domain1 b.domain2 c.domain3) that determine whether the method is a queue method or a topic method. ing. Here, the “transfer route information” is updated with reference to the transmission destination table of the node 1 at the time of message transmission / reception.

さらに、ボディには、各ノード1が処理するコンテンツが含まている。ボディには、ユーザによって入力された処理内容が格納される。   Further, the body includes content to be processed by each node 1. In the body, the processing content input by the user is stored.

なお、上記「転送経路情報」における”@”は、他に転送先(ノードB、C)が存在することを識別するためにノードAのFQDN(a.domain1 )の前に付与したマークである(”@”以外の文字(記号) や文字列を使うことも可能)。実施例では、送信元ノードAが、転送するノードB、CのFQDN(b.domain2 c.domain3 )を「転送経路情報」に追加し転送することを示している。   Note that “@” in the “forwarding path information” is a mark given before the FQDN (a.domain1) of the node A in order to identify the presence of another forwarding destination (nodes B and C). (You can also use characters (symbols) and character strings other than "@"). In the embodiment, the transmission source node A adds the FQDNs (b.domain2 c.domain3) of the nodes B and C to be transferred to the “transfer route information” and transfers them.

また、受信先において、「転送経路情報」に存在しない転送先があれば、それを選んで転送しその転送先を「転送経路情報」に追加する。その際、受信元に他の転送先が存在する場合は、自ノードのFQDNにマークを付ける。そして、受信元において他に転送するノードがない場合は、「転送経路情報」を後ろから検索し、最初にマークがあるノードに転送する。そのとき、転送先ノードのマークは削除される。   Further, if there is a transfer destination that does not exist in the “transfer route information” at the reception destination, it is selected and transferred, and the transfer destination is added to the “transfer route information”. At this time, if another transfer destination exists at the reception source, the FQDN of the own node is marked. Then, when there is no other node to be transferred at the reception source, “forwarding path information” is searched from behind and transferred to the node with the mark first. At that time, the mark of the transfer destination node is deleted.

図4は、各ノード1で管理するメッセージの処理履歴テーブル102のデータ構造例を示している。メッセージの処理履歴テーブル102は、重複メッセージをチェックするための「メッセージID」、「参照メッセージID」、メッセージの処理状況を表す「処理状況」(PROCESSED は処理済、PROCESSINGは処理中、NOT PROCESSED は未処理)、ノード内で処理する場合にメッセージに紐付けられた「処理ID」、「有効期限」、および「転送経路」のフィールド項目からなる複数のレコードから構成されている。   FIG. 4 shows an example of the data structure of the message processing history table 102 managed by each node 1. The message processing history table 102 includes “message ID”, “reference message ID” for checking duplicate messages, and “processing status” indicating the processing status of the message (PROCESSED is processed, PROCESSING is processing, NOT PROCESSED is Unprocessed), it is composed of a plurality of records consisting of field items of “process ID”, “expiration date”, and “transfer path” associated with a message when processing in the node.

例えば、処理中の「メッセージID」MSG00002が転送経路でエラーが発生した場合に、送信元で改めて「メッセージID」MSG00003が作成され、MSG00002が「参照メッセージID」に設定されたことを示している。   For example, when an error occurs in the “Message ID” MSG00002 being processed, the “Message ID” MSG00003 is newly created at the transmission source, and MSG00002 is set to the “Reference Message ID”. .

本テーブルは、重複メッセージ送信防止およびネットワーク障害対応でメッセージが既に処理済みかどうかを判断するために用いられる。   This table is used to determine whether a message has already been processed in order to prevent duplicate message transmission and respond to a network failure.

図5は、図1のネットワークを例としてキュー方式でメッセージを転送した場合の転送経路情報の遷移例を示している。この例では、ノードA→ノードB→ノードD→ノードF→ノードH→ノードG→ノードE→ノードC→ノードF→ノードD→ノードB→ノードAの流れで転送している。
(1)A→Bの転送では、転送経路情報は「@AB(@はマーク)」で、AはB以外に転送先C、Hを持つことを示している。
(2)B→Dの転送では、転送経路情報は「@A@BD」となり、BはD以外に転送先Gがあるため、マークが付加される。
(3)D→F→H→Gの転送では、Hは他に転送先がないため、転送経路情報は「@A@B@D@FHG」となる。
(4)G→E→Cの転送では、転送経路情報は「@A@B@D@FHGEC」となる。
(5)C→Fの転送では、Cは他に転送先がないので、転送経路情報を後ろから検索して最初にマークがある装置のFに転送する。そして、転送経路情報は「@A@B@DFHGEC」となり、Fのマークは削除される。
(6)F→Dの転送では、Fは他に転送先がないのでDに転送する。転送経路情報は「@A@BDFHGEC」となる。
(7)D→B→Aの転送では、転送経路情報は「ABDFHGEC」となり、Aは転送先がないので、ここで転送は終了する。
FIG. 5 shows an example of transition of transfer path information when a message is transferred by the queue method taking the network of FIG. 1 as an example. In this example, data is transferred in the order of node A → node B → node D → node F → node H → node G → node E → node C → node F → node D → node B → node A.
(1) In the transfer from A to B, the transfer path information is “@AB (@ is a mark)”, and A indicates that transfer destinations C and H are included in addition to B.
(2) In the transfer from B to D, the transfer path information is “@ A @ BD”, and B has a transfer destination G in addition to D, and therefore a mark is added.
(3) In the transfer of D → F → H → G, since H has no other transfer destination, the transfer path information is “@ A @ B @ D @ FHG”.
(4) In the transfer of G → E → C, the transfer route information is “@ A @ B @ D @ FHGEC”.
(5) In the transfer from C to F, since C has no other transfer destination, the transfer path information is searched from behind and transferred to F of the device having the mark first. Then, the transfer path information is “@ A @ B @ DFHGEC”, and the mark F is deleted.
(6) In the transfer from F to D, F has no other transfer destination and transfers to D. The transfer path information is “@ A @ BDFHGEC”.
(7) In the transfer of D → B → A, the transfer path information is “ABDFHGEC”, and since A has no transfer destination, the transfer ends here.

図6は、図1のネットワークを例としてトピック方式によるメッセージ転送の転送経路情報遷移例を示す。この例では、ノードAからノードB、C、Hに一斉送信する経路と、ノードBからノードD、Gに一斉送信する経路と、ノードDからノードE、Fに一斉送信する経路とが存在する。
(1)A→B,C,Hの転送では、全てのメッセージの転送経路情報は「ABCH」となる。以降、CとHのノードで転送処理が遅延し、Bに転送したメッセージが先に転送される場合を仮定して以下の処理の流れを示す。
(2)B→D,Gの転送では、そのメッセージの転送経路情報は「ABCHDG」となる。
(3)D→E,Fの転送では、そのメッセージの転送経路は「ABCHDGEF」となり、Fでは転送先がないので転送処理は行わない。
FIG. 6 shows an example of the transfer route information transition of the message transfer by the topic method taking the network of FIG. 1 as an example. In this example, there are a route for simultaneous transmission from node A to nodes B, C, and H, a route for simultaneous transmission from node B to nodes D and G, and a route for simultaneous transmission from node D to nodes E and F. .
(1) In the transfer of A → B, C, H, the transfer route information of all messages is “ABCH”. Hereinafter, the following processing flow is shown assuming that the transfer processing is delayed between the C and H nodes, and the message transferred to B is transferred first.
(2) In the transfer of B → D, G, the transfer route information of the message is “ABCHDG”.
(3) In the transfer from D to E and F, the transfer path of the message is “ABCHDGEF”, and in F there is no transfer destination, so transfer processing is not performed.

上述してきたメッセージ転送についての処理フローを以下の図7〜図10を用いて説明する。   A processing flow for the message transfer described above will be described with reference to FIGS.

図7は、キュー方式の場合に、送信元ノードにおいて処理する手順を示すフロー図である。   FIG. 7 is a flowchart showing a procedure performed in the transmission source node in the case of the queue method.

まず、ステップS10において、メッセージ作成時に、ユーザが入力した優先度、メッセージの処理内容のデータを取得し、ステップS11において、送信元ノードが、取得した優先度からメッセージを1通ずつ送信するキュー方式による送信方式を決定し、該データをメッセージのプロパティに格納する。   First, in step S10, a priority is input by the user at the time of creating the message, and the message processing content data is acquired. In step S11, the transmission source node transmits messages one by one from the acquired priority. The transmission method is determined according to, and the data is stored in the message property.

つぎに、ステップS12において、送信先テーブル101を参照し、複数の送信先が存在するか否かを判定する。複数の送信先が存在すれば、ステップS14において、自ノードをマーク付でメッセージの転送経路情報の最初に格納する。また、複数の送信先がなければ、ステップS13において、自ノードをマークなしでメッセージの転送経路情報の最初に格納する。   Next, in step S12, the transmission destination table 101 is referred to and it is determined whether there are a plurality of transmission destinations. If there are a plurality of transmission destinations, in step S14, the own node is marked and stored at the beginning of the message transfer path information. If there are not a plurality of transmission destinations, in step S13, the local node is stored at the beginning of the message transfer route information without a mark.

そして、ステップS15において、送信先テーブル101の優先度を基準として送信先を1つ決定し、ステップS16において、送信先を転送経路情報の最後尾に追加する。ステップS17において、こうして転送経路情報が書き込まれたメッセージを送信先に送信する。   In step S15, one transmission destination is determined based on the priority of the transmission destination table 101. In step S16, the transmission destination is added to the end of the transfer path information. In step S17, the message in which the transfer path information is thus written is transmitted to the transmission destination.

図8は、キュー方式の場合に、メッセージを受信した受信先ノードにおいて処理する手順を示すフロー図である。   FIG. 8 is a flowchart showing a procedure of processing in a receiving node that receives a message in the case of the queue method.

ステップS21において、メッセージを受信した受信先ノードでは、処理履歴テーブル102を参照し、受信メッセージIDと同一のメッセージIDが存在するか否かを判定する。また、ステップS22において、受信したメッセージが処理履歴テーブル102の参照メッセージIDと同一でかつ転送済か否かを判定する。   In step S21, the receiving node that has received the message refers to the processing history table 102 and determines whether or not a message ID identical to the received message ID exists. In step S22, it is determined whether the received message is the same as the reference message ID in the processing history table 102 and has been transferred.

同一のメッセージIDがなく、同一の参照メッセージIDが存在し、未転送の状態であれば、ステップS23において、メッセージ優先度を参照してキュー方式での転送を決定する。また、ステップS21で同一メッセージIDに相当する場合、ステップS22で転送済となっている場合には、ステップS27に進み、メッセージを処理履歴テーブル102に追加して終了する。   If the same message ID does not exist and the same reference message ID exists and is not yet transferred, in step S23, the queue priority is determined with reference to the message priority. If the message IDs correspond to the same message ID in step S21, or if the message has already been transferred in step S22, the process proceeds to step S27, the message is added to the processing history table 102, and the process ends.

つぎに、ステップS24において、メッセージの転送経路情報にない転送先が存在するか否かを判定する。転送経路情報にない転送先が存在しなければ、ステップS25において、メッセージの転送経路情報にマークされた転送先があるか否かを最後尾から検索する。   Next, in step S24, it is determined whether there is a transfer destination that is not included in the message transfer path information. If there is no transfer destination not included in the transfer path information, in step S25, it is searched from the end whether there is a transfer destination marked in the transfer path information of the message.

マーク付きの転送先がなければ、ステップS26において、最初の送信先にメッセージを転送し、ステップS27において、メッセージの処理履歴テーブル102に追加処理する。   If there is no transfer destination with a mark, in step S26, the message is transferred to the first transmission destination, and in step S27, the message is added to the message processing history table 102.

一方、ステップS24で、転送経路情報にない転送先が存在するときは、ステップS29において、送信先テーブル101の優先度を基準として転送先を1つ決定し、ステップS30において、転送先を転送経路情報の最後尾に追加する。   On the other hand, if there is a transfer destination that is not included in the transfer route information in step S24, one transfer destination is determined based on the priority of the destination table 101 in step S29, and the transfer destination is determined as a transfer route in step S30. Add to the end of the information.

つぎに、ステップS31において、自ノードに、他に転送先があるか否かを判定する。判定の結果、他に転送先があれば、ステップS32において、転送経路情報にある自ノードにマークを付加する。さらに、ステップS33において、当該メッセージを転送先に転送する。また、ステップS31において、他に転送先がなければ、ステップS31のメッセージ転送を行い、ステップS27のメッセージ処理履歴への追加処理を行って本フローを終了する。   Next, in step S31, it is determined whether there is another transfer destination in the own node. If there is another transfer destination as a result of the determination, a mark is added to the own node in the transfer path information in step S32. In step S33, the message is transferred to the transfer destination. If there is no other destination in step S31, the message is transferred in step S31, the process for adding to the message processing history in step S27 is performed, and this flow is ended.

なお、ステップS25において、転送経路情報にマークされた転送先がある場合には、ステップS28において、転送経路情報にある当該転送先マークを外し、転送先に決定し、ステップS31に進んで以降の処理を行う。   If there is a transfer destination marked in the transfer path information in step S25, the transfer destination mark in the transfer path information is removed in step S28, the transfer destination is determined, and the process proceeds to step S31. Process.

図9は、トピック方式(メッセージを一斉に送信)の場合に、送信元で処理する手順を示すフロー図である。   FIG. 9 is a flowchart showing a procedure of processing at the transmission source in the case of the topic method (messages are transmitted all at once).

まず、ステップS40において、ユーザが入力した優先度とメッセージの処理内容を取得し、ステップS41において、送信元ノードが、メッセージを送信する方式としてトピック方式を決定し、該データをメッセージのプロパティに格納する。つぎに、ステップS42において、送信先テーブル101を参照して複数の送信先を決定する。   First, in step S40, the priority inputted by the user and the processing contents of the message are acquired. In step S41, the transmission source node determines a topic method as a method for transmitting the message, and stores the data in the message property. To do. Next, in step S42, a plurality of transmission destinations are determined with reference to the transmission destination table 101.

そして、ステップS43において、複数の送信先をメッセージの転送経路情報に追加し、ステップS44において、当該メッセージを送信する。そして、ステップS45において、送信結果をメッセージの処理履歴テーブル102に追加する。   In step S43, a plurality of destinations are added to the message transfer path information, and in step S44, the message is transmitted. In step S45, the transmission result is added to the message processing history table 102.

図10は、トピック方式(メッセージを一斉に送信)の場合に、受信先で処理する手順を示すフロー図である。   FIG. 10 is a flowchart showing a procedure of processing at the reception destination in the case of the topic method (messages are transmitted all at once).

まず、ステップS51において、処理履歴テーブル102を参照し、同一メッセージがあるか否かをメッセージIDから判定する。同一メッセージがなければ、ステップS52において、メッセージの処理履歴テーブル102に同一の参照メッセージがあり、かつ転送済か否かを判定する。転送済でなければ、ステップS53において、メッセージ優先度を参照してトピック方式での転送を決定する。   First, in step S51, the processing history table 102 is referred to and it is determined from the message ID whether there is the same message. If there is no identical message, it is determined in step S52 whether the same reference message exists in the message processing history table 102 and has been transferred. If it has not been transferred, in step S53, the message priority is referred to, and topic-based transfer is determined.

また、ステップS51で、同一メッセージがあり、ステップS52で、同一の参照メッセージが転送済の場合は、本フローは終了となる。   If there is the same message in step S51 and the same reference message has been transferred in step S52, this flow ends.

つぎに、ステップS54において、メッセージの転送経路情報にない転送先があるか否かを判定する。転送経路情報にない転送先がある場合には、ステップS55において、転送先を全て転送先リストに追加し、ステップS56において、該転送先を転送経路情報の最後尾に追加する。   Next, in step S54, it is determined whether or not there is a transfer destination not included in the message transfer path information. If there is a transfer destination not included in the transfer route information, all the transfer destinations are added to the transfer destination list in step S55, and the transfer destination is added to the end of the transfer route information in step S56.

さらに、ステップS57において、転送経路情報にマークされた転送先があるか否かを判定する。マークされた転送先がある場合には、ステップS58において、転送経路情報にある当該転送先マークを削除し、転送先リストに追加する。   In step S57, it is determined whether there is a transfer destination marked in the transfer path information. If there is a marked transfer destination, the transfer destination mark in the transfer path information is deleted and added to the transfer destination list in step S58.

そして、ステップS59において、転送先リストに該当転送先があるか否かを判定する。転送先がある場合には、ステップS60において、当該メッセージを転送し、ステップS61において、処理履歴テーブル102に追加し本フローを終了する。   In step S59, it is determined whether or not there is a corresponding transfer destination in the transfer destination list. If there is a transfer destination, the message is transferred in step S60, added to the processing history table 102 in step S61, and this flow ends.

一方、ステップS59において、転送先がない場合には、ステップS62において、最初の送信元ノードにメッセージを転送し、ステップS61において、処理履歴テーブル102に追加処理して終了する。   On the other hand, if there is no transfer destination in step S59, the message is transferred to the first transmission source node in step S62, and additional processing is added to the processing history table 102 in step S61.

コンピュータネットワーク上で、送信元ノードが直接関与しないノードに対しても漏れなくメッセージ転送を行うメッセージ処理システム。   A message processing system that forwards messages without omission to nodes on which a transmission source node is not directly involved on a computer network.

1 ノード
2 通信路
10 メッセージ転送プログラム
11 メッセージ送受信部
12 メッセージ処理部
13 負荷分散部
14 障害対応部
100 データ記憶部
101 送信先テーブル
102 処理履歴テーブル
DESCRIPTION OF SYMBOLS 1 Node 2 Communication path 10 Message transfer program 11 Message transmission / reception part 12 Message processing part 13 Load distribution part 14 Failure handling part 100 Data storage part 101 Transmission destination table 102 Processing history table

Claims (5)

複数のノードからなるネットワークにおいて接続ノード間でメッセージを転送するメッセージ転送プログラムであって、
送信元ノードに、
予め自ノードに登録された送信先テーブルからメッセージ転送の送信先情報を取得するステップと、
取得した前記送信先情報と他ノードから受信したメッセージに含まれる転送経路情報とを比較し、当該転送経路情報にないノードを追加して前記転送経路情報を更新するステップと、
前記追加ノードに前記転送経路情報が更新されたメッセージを転送するステップと、
を実行させるメッセージ転送プログラム。
A message transfer program for transferring a message between connected nodes in a network composed of a plurality of nodes,
To the source node,
Obtaining message transfer destination information from a destination table registered in advance in the own node;
Comparing the acquired destination information with transfer path information included in a message received from another node, adding a node not in the transfer path information and updating the transfer path information;
Forwarding the message with the forwarding path information updated to the additional node;
A message transfer program that executes
前記転送経路情報の更新ステップでは、自ノードが送信可能でかつ未送信のノードが存在するときに、その存在を示すマークを付与することを特徴とする請求項1に記載のメッセージ転送プログラム。   The message transfer program according to claim 1, wherein, in the update step of the transfer route information, when there is a node that can be transmitted by the own node and has not been transmitted, a mark indicating the presence is added. 前記転送ステップでは、転送先がない時、前記転送経路情報にマークが付与されたノードにメッセージを転送することを特徴とする請求項1または2に記載のメッセージ転送プログラム。   3. The message transfer program according to claim 1, wherein, in the transfer step, when there is no transfer destination, the message is transferred to a node to which a mark is added to the transfer path information. 複数のノードからなるネットワークにおいて接続ノード間でメッセージを転送するメッセージ転送方法であって、
送信元ノードに、
予め自ノードに登録された送信先テーブルからメッセージ転送の送信先情報を取得するステップと、
取得した前記送信先情報と他ノードから受信したメッセージに含まれる転送経路情報とを比較し、当該転送経路情報にないノードを追加して前記転送経路情報を更新するステップと、
前記追加ノードに前記転送経路情報が更新されたメッセージを転送するステップと、
を実行させることを特徴とするメッセージ転送方法。
A message transfer method for transferring a message between connecting nodes in a network composed of a plurality of nodes,
To the source node,
Obtaining message transfer destination information from a destination table registered in advance in the own node;
Comparing the acquired destination information with transfer path information included in a message received from another node, adding a node not in the transfer path information and updating the transfer path information;
Forwarding the message with the forwarding path information updated to the additional node;
A message transfer method characterized by causing a message to be executed.
複数のノードからなるネットワークにおいて接続ノード間でメッセージを転送するノードであって、
予め自ノードに登録された送信先テーブルからメッセージ転送の送信先情報を取得する手段と、
取得した前記送信先情報と他ノードから受信したメッセージに含まれる転送経路情報とを比較し、当該転送経路情報にないノードを追加して前記転送経路情報を更新する手段と、
前記追加ノードに前記転送経路情報が更新されたメッセージを転送する手段と、
を有することを特徴とするノード。
A node for transferring a message between connected nodes in a network composed of a plurality of nodes,
Means for acquiring destination information for message transfer from a destination table registered in advance in the own node;
Means for comparing the acquired transmission destination information with transfer path information included in a message received from another node, adding a node not in the transfer path information and updating the transfer path information;
Means for forwarding a message with the forwarding path information updated to the additional node;
A node characterized by comprising:
JP2009193853A 2009-08-25 2009-08-25 Message transfer program, message transfer method, and node Expired - Fee Related JP5365414B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009193853A JP5365414B2 (en) 2009-08-25 2009-08-25 Message transfer program, message transfer method, and node

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009193853A JP5365414B2 (en) 2009-08-25 2009-08-25 Message transfer program, message transfer method, and node

Publications (2)

Publication Number Publication Date
JP2011049621A true JP2011049621A (en) 2011-03-10
JP5365414B2 JP5365414B2 (en) 2013-12-11

Family

ID=43835564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009193853A Expired - Fee Related JP5365414B2 (en) 2009-08-25 2009-08-25 Message transfer program, message transfer method, and node

Country Status (1)

Country Link
JP (1) JP5365414B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2498292A2 (en) 2011-03-07 2012-09-12 Shindengen Electric Manufacturing Co., Ltd. Schottky barrier diode

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004274192A (en) * 2003-03-06 2004-09-30 Sony Corp Wireless ad-hoc communication system, terminal, processing method for the terminal and program for the terminal to implement the method
JP2007536841A (en) * 2004-05-07 2007-12-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Ad hoc messaging between wireless devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004274192A (en) * 2003-03-06 2004-09-30 Sony Corp Wireless ad-hoc communication system, terminal, processing method for the terminal and program for the terminal to implement the method
JP2007536841A (en) * 2004-05-07 2007-12-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Ad hoc messaging between wireless devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2498292A2 (en) 2011-03-07 2012-09-12 Shindengen Electric Manufacturing Co., Ltd. Schottky barrier diode

Also Published As

Publication number Publication date
JP5365414B2 (en) 2013-12-11

Similar Documents

Publication Publication Date Title
US9680745B2 (en) Multi-domain source routed forwarding based on collaborating network controllers
JP4661774B2 (en) Relay server
US20160072715A1 (en) Interest keep alives at intermediate routers in a ccn
US8825877B2 (en) Session persistence
US8014319B2 (en) Path management device and program storing medium
JP2017201776A (en) Content delivery through uneven network
JP2017208797A (en) Unified data networking across heterogeneous networks
JP2005346573A (en) Web service providing method, server device and client terminal in web service system, web service system, web service program, and recording medium
JP4616035B2 (en) Server load balancing program, apparatus and method
JP5218323B2 (en) Information processing method and program related to relay device and transfer rule
JP5365414B2 (en) Message transfer program, message transfer method, and node
US10043016B2 (en) Method and system for name encryption agreement in a content centric network
JP2008129628A (en) Communication system in system for processing predetermined operation by transferring message by multiple computer systems and message communication program
US9401890B2 (en) Method and a network element for content based addressing in a data transfer network
CN116830545A (en) Detecting communication paths affected by session fragmentation
JP4365869B2 (en) ROUTE INFORMATION CHANGE METHOD, ROUTE INFORMATION CHANGE DEVICE, AND ROUTE INFORMATION CHANGE PROGRAM
JP6014068B2 (en) Relay device, relay method, and computer program
JP3896361B2 (en) Communication path setting device, communication path setting method, and communication path setting program
JP2003218941A (en) Communication apparatus and program
JP2009070172A (en) Content distribution and storage system, provider server device registering method, node device, and node processing program
US20060209833A1 (en) Communication apparatus and computer program product for communicating with other communication apparatus
JP6941575B2 (en) Virtual router and relay program
JP4789899B2 (en) Multicast tree monitoring apparatus, multicast tree monitoring method, and computer program
JP5075056B2 (en) Communications system
JP2006129348A (en) Master node determination system and method, node device, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130604

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130826

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees