JP2008141361A - Data distribution method, data distribution system and node device - Google Patents
Data distribution method, data distribution system and node device Download PDFInfo
- Publication number
- JP2008141361A JP2008141361A JP2006324065A JP2006324065A JP2008141361A JP 2008141361 A JP2008141361 A JP 2008141361A JP 2006324065 A JP2006324065 A JP 2006324065A JP 2006324065 A JP2006324065 A JP 2006324065A JP 2008141361 A JP2008141361 A JP 2008141361A
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- distribution
- relay
- relay node
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、データ配信方法、データ配信システム及びノード装置に係り、特に、多数のサーバに大量のデータを、データの漏れや重複なく、高い信頼性を持って配信することができるようにしたデータ配信方法、データ配信システム及びノード装置に関する。 The present invention relates to a data distribution method, a data distribution system, and a node device, and in particular, data that can distribute a large amount of data to a large number of servers with high reliability without data leakage or duplication. The present invention relates to a distribution method, a data distribution system, and a node device.
一般に、同一のデータを複数の宛先に転送する1対多通信はマルチキャスト通信と呼ばれている。このような通信で転送されるデータであるアプリケーションとして、例えば、ソフトウェア配信、ビデオストリーミング等がある。また、これら以外に企業内ネットワークにおいて文書、ファイル等のデータを多数のサーバに配信して業務を行う形態が考えられる。この場合、ソフウェア配信と異なり連続してデータが発生するが、ビデオのデータ配信と異なりデータ欠損は許されない。 In general, one-to-many communication that transfers the same data to a plurality of destinations is called multicast communication. Examples of applications that are data transferred by such communication include software distribution and video streaming. In addition to these, a form in which data such as documents and files is distributed to a large number of servers in an in-company network is conceivable. In this case, data is continuously generated unlike software distribution, but data loss is not allowed unlike video data distribution.
マルチキャスト通信は、宛先の数が数千、数万と増加するに従って配信元のノードが所属するネットワーク負荷が増大するため、中継ノードを設置してネットワークを木構造とすることにより配信元ノードの負荷を軽減する方法が、例えば、特許文献1等に記載されて提案されている。
In multicast communication, the network load to which the distribution source node belongs increases as the number of destinations increases to thousands or tens of thousands. Therefore, the load on the distribution source node can be increased by installing a relay node and making the network a tree structure. For example,
一方、データの漏れや重複が生じることなく確実にデータの転送を可能としたデータ配信方法として、送信ノードから受信ノードにデータを送信する際に、送信すべきデータを送信ノードの記憶装置に一旦格納した上で、データの転送を行うストア&フォワード方式と呼ばれる方法が知られている。この方法において、送信ノードは、受信応答が返ってきた時点で一時的に格納しておいたデータを消去し、応答が返ってこない場合、データの再送を行っている。また、受信ノードは、どのデータを受信したのを示す受信状態を記憶しておくことにより、2重に送信された受信データを破棄してデータの重複を防止している。ストア&フォワード方式による方法は、前述のような動作を行うことにより、サーバやネットワークに障害が発生した場合等にも、重複のない確実なデータ配信を行うことが可能である。また、この方法は、記憶装置への一時的なデータの格納を先入れ先出しとすることにより、データ配信の順序性を保証することができる。 On the other hand, as a data distribution method capable of reliably transferring data without causing data leakage or duplication, when transmitting data from the transmission node to the reception node, the data to be transmitted is temporarily stored in the storage device of the transmission node. A method called a store-and-forward method in which data is transferred after being stored is known. In this method, the transmission node erases the temporarily stored data when the reception response is returned, and retransmits the data when no response is returned. In addition, the receiving node stores the reception state indicating which data has been received, thereby discarding the received data transmitted twice to prevent duplication of data. The store-and-forward method can perform reliable data distribution without duplication even when a failure occurs in a server or a network by performing the above-described operation. In addition, this method can guarantee the order of data distribution by using first-in first-out storage of temporary data in the storage device.
前述した木構造のネットワークにおける各ノード間、具体的には、配信元ノードと中継ノードとの間、中継ノードと次段の中継ノードとの間、及び、中継ノードと配信宛先ノードとの間の通信に、ストア&フォワード方式の方法を使用することにより、多数の配信先に確実なデータ転送を実現することができる。
前述で説明した木構造のネットワークにストア&フォワード方式の方法を適用してデータの配信を行うようにした従来技術は、中継ノードに障害が発生した場合、障害ノードの下位ノードにデータが配信されなくなってしまうという問題点を有している。このような問題点を解決するために、ノード障害の発生時にネットワークの木構造を再形成することにより全ノードにデータを配信することができるようにした方法も考えられるが、この方法は、障害が発生した中継ノードにデータが滞留している場合、そのデータが消失してしまうという問題点を生じさせてしまう。 In the conventional technology that distributes data by applying the store-and-forward method to the tree-structured network described above, when a failure occurs in a relay node, the data is distributed to the lower nodes of the failed node. It has the problem of disappearing. In order to solve such a problem, there is a method in which data can be distributed to all nodes by re-forming the tree structure of the network when a node failure occurs. If the data stays in the relay node where the error occurs, the data will be lost.
本発明の目的は、前述した従来技術の問題点を解決し、マルチキャスト通信を実現するにあたり、中継ノードに障害が発生したときにも、データの漏れ、重複をなくし確実に配信先ノードにデータを配信することができ、かつ、データ再送のトラフィック量を低減することができるデータ配信方法、データ配信システム及びノード装置を提供することにある。 An object of the present invention is to solve the above-mentioned problems of the prior art and realize multicast communication, and even when a failure occurs in a relay node, data leakage and duplication are eliminated and data is reliably transmitted to a delivery destination node. An object of the present invention is to provide a data distribution method, a data distribution system, and a node device that can be distributed and can reduce the amount of data retransmission traffic.
本発明によれば前記目的は、配信元ノードから複数の配信先ノードに中継ノードを介してデータを配信するデータ配信システムにおけるデータ配信方法において、前記データ配信システムは、前記配信元ノードと、中継ノードと、複数の配信先ノードとが、前記中継ノードが1段または複数段備えられる木構造のネットワークを構成するように相互に接続されて構成されており、前記配信元ノード及び中継ノードは、1段下の下位ノードと2段下の下位ノードとの情報を記憶手段内に保持しており、1段下の中継ノードの障害を検知すると2段下である中継ノードを1段下の中継ノードとする木構造の構成変更を行い、前記記憶手段内の1段下の下位ノードと2段下の下位ノードとの情報を更新することにより達成される。 According to the present invention, the object is to provide a data distribution method in a data distribution system that distributes data from a distribution source node to a plurality of distribution destination nodes via a relay node, the data distribution system including the distribution source node and a relay A node and a plurality of distribution destination nodes are configured to be connected to each other so as to form a tree-structured network in which the relay node is provided with one or more stages, and the distribution source node and the relay node are: Information on the lower node of the lower stage and the lower node of the lower stage is held in the storage means, and when a failure of the lower relay node is detected, the lower relay node is relayed one lower stage. This is accomplished by changing the configuration of the tree structure as a node and updating the information of the lower node one step lower and the lower node two steps lower in the storage means.
また、前記目的は、配信元ノードと、中継ノードと、複数の配信先ノードとが、前記中継ノードが1段または複数段備えられる木構造のネットワークを構成するように相互に接続されて構成され、前記配信元ノードから複数の配信先ノードに中継ノードを介してデータを配信するデータ配信システムにおける中継ノードであって、中継ノードは、1段下の下位ノードと2段下の下位ノードとの情報を記憶手段内に保持する保持手段と、1段下の中継ノードの障害を検知する手段と、1段下の中継ノードの障害を検知したとき、2段下である中継ノードを1段下の中継ノードとする木構造の構成変更を行う手段と、上位ノードからのデータを受信する手段と、受信データを蓄積保存するデータ蓄積キューと、各下位ノードに前記データ蓄積キュー内のどのデータを送信済みかを前記記憶手段に記録する記録手段と、構成変更により下位ノードとなった中継ノードの最終受信データの通番を取得する手段と、前記データ蓄積キューに存在するその最終受信データの通番以降のデータを下位ノードへの送信データとする手段とを有することにより達成される。 The object is configured such that a distribution source node, a relay node, and a plurality of distribution destination nodes are connected to each other so as to form a tree-structured network in which the relay node is provided in one or more stages. , A relay node in a data distribution system that distributes data from the distribution source node to a plurality of distribution destination nodes via a relay node, wherein the relay node includes a lower node that is one level lower and a lower node that is two levels lower Holding means for holding information in the storage means, means for detecting a failure of the relay node one level below, and detecting a failure of the relay node one level below, lowers the relay node that is two levels below by one level A means for changing the structure of the tree structure as a relay node, a means for receiving data from an upper node, a data accumulation queue for accumulating and storing received data, and the data accumulation queue at each lower node. Recording means for recording in the storage means which data has been transmitted, means for obtaining the serial number of the last received data of the relay node that has become a lower node due to the configuration change, and the last existing in the data accumulation queue This is achieved by including means for making data after the serial number of the received data transmission data to the lower node.
本発明によれば、中継ノードに障害が発生したときにも、データの漏れ、重複をなくし確実に配信先ノードにデータを配信することができる。 According to the present invention, even when a failure occurs in a relay node, data leakage and duplication can be eliminated and data can be reliably delivered to a delivery destination node.
以下、本発明によるデータ配信方法、データ配信システム及びノード装置(以下、単に、ノードという)の実施形態を図面により詳細に説明する。 Hereinafter, embodiments of a data distribution method, a data distribution system, and a node device (hereinafter simply referred to as a node) according to the present invention will be described in detail with reference to the drawings.
図1は本発明の一実施形態による配信システムを構成する木構造の配信ネットワークの構成例を示すブロック図である。 FIG. 1 is a block diagram illustrating a configuration example of a tree-structured distribution network constituting a distribution system according to an embodiment of the present invention.
本発明の実施形態による配信システムは、配信元ノード100、1段目の中継ノード101、2段目の中継ノード111、112、3段目の中継ノード121〜124、最終的な宛先である配信先ノード131〜138から構成される。配信元ノード100は、下位ノードである1段目の中継ノード101にデータを配信する。中継ノード101は、下位ノードである2段目の中継ノード111、112に同一のデータを配信する。中継ノード111は、下位ノードである3段目の中継ノード121、122に上位ノードである1段目の中継ノード101から受信したデータを配信する。同様に、中継ノード112は、下位ノードである3段目の中継ノード123、124に上位ノードである1段目の中継ノード101から受信したデータを配信する。3段目の中継ノード121〜124は、それぞれ下位ノードである配信先ノード131〜138に受信したデータを配信する。
The distribution system according to the embodiment of the present invention includes a
図1に示す例は、中継ノードの下位に接続する下位ノードの数を2つとして示しているが、各段における中継ノードの下位に接続される下位ノードの数は、実際には数10以上であることを想定している。また、図1に示す例は、配信元ノードと配信先ノードとの間に、3段の中継ノードを接続して木構造のネットワークを構成しているが、中継ノードの段数は、1段であってもよく、あるいは、3段以上であってもよく、任意の段数としてよい。 The example shown in FIG. 1 shows the number of lower nodes connected to the lower level of the relay node as two, but the number of lower nodes connected to the lower level of the relay node in each stage is actually several tens or more. Is assumed. In the example shown in FIG. 1, a tree-structured network is configured by connecting three-stage relay nodes between a distribution source node and a distribution destination node. However, the number of relay nodes is one. There may be three or more stages, and the number of stages may be arbitrary.
なお、図1に示す配信システムを構成するネットワークは、正常時に配信データ等をノード間で送信することかできるネットワークを示しており、実際のネットワークは、中継ノード等の障害に対処するため、少なくとも、あるノードから2段下位のノードに接続することができる通信路が備えられて構成されている。 The network constituting the distribution system shown in FIG. 1 is a network that can transmit distribution data and the like between nodes at normal time, and the actual network is at least in order to cope with a failure such as a relay node. A communication path that can be connected from a certain node to a node that is two stages lower is provided.
本発明の実施形態によるデータ配信システムは、図1に示すように、中継ノードを配置したネットワークを木構造とすることにより配信元ノードから直接配信先ノードにデータの配信を行う場合に比べて、配信元ノードの負荷を大きく軽減することができる。例えば、配信先サーバが1000台ある場合、配信元サーバの下位に10台の1段目の中継ノードを配置し、1段目の中継ノードのそれぞれの下位ノードとして10台の2段目の中継ノードを配置し、2段目の中継ノードのそれぞれの下位に10台の配信先ノードを配置する木構造のネットワークとすることにより、配信元ノードは、10台のノードへのデータの配信だけで、1000台の配信先ノードにデータを配信することができることになり、配信元サーバのに通信負荷を極めて少ないものとすることができる。 As shown in FIG. 1, the data distribution system according to the embodiment of the present invention has a tree structure of the network in which the relay nodes are arranged, so that data is distributed directly from the distribution source node to the distribution destination node. The load on the distribution source node can be greatly reduced. For example, when there are 1000 distribution destination servers, ten first-stage relay nodes are arranged below the distribution source server, and ten second-stage relays are provided as subordinate nodes of the first-stage relay node. By providing a tree-structured network in which nodes are arranged and 10 distribution destination nodes are arranged below each of the relay nodes in the second stage, the distribution source node can only distribute data to 10 nodes. Thus, data can be distributed to 1000 distribution destination nodes, and the communication load on the distribution source server can be extremely reduced.
図23は中継ノードの構成を示すブロック図である。図示中継ノード20は、ハードウェアとして、記憶手段であるメモリ21とCPU22とを備えて構成される。なお、図23に示す中継ノード20の構成は、中継ノードの構成であるとして説明するが、配信元ノードも同一の構成であってよい。
FIG. 23 is a block diagram showing the configuration of the relay node. The illustrated
中継ノード20のメモリ21には、データ蓄積キュー210、配信管理テーブル220、再配信管理テーブル240、木構造管理テーブル270により構成されるテーブル群23と、通常のデータ受信を処理するデータ受信手段2301、再配信データの受信を処理する再配信データ受信手段2302、通常のデータ送信を処理するデータ送信手段2303、再配信データの送信を処理する再配信データ送信手段2304、下位ノードに再配信するデータの配信を上位ノードに依頼する再配信依頼手段2305、下位ノードから再配信を依頼されたときの処理をする再配信依頼受信手段2306、中継ノード障害時に木構造再構成の指示を行う木構造再構成指示手段2307、木構造再構成の指示に応答する木構造再構成応答手段2308、新たに中継ノードとして接続する中継ノード接続手段2309による機能部群とが格納されている。
The
前述の機能部群を構成する各手段は、プログラムとして構成され、各手段を構成するプログラムは、CPU21により実行されることにより各手段が必要とするそれぞれの機能が構築される。
Each means constituting the above-described functional unit group is configured as a program, and the program constituting each means is executed by the
図2はテーブル群23内の詳細な構成を説明する図であり、次に、これについて説明する。テーブル群23として、データ蓄積キュー210、配信管理テーブル220、再配信管理テーブル240、木構造管理テーブル270が備えられている。
FIG. 2 is a diagram for explaining a detailed configuration in the
データ蓄積キュー210には、上位ノードから受信した配信データa211、配信データb212、……、配信データN213が全ての下位ノードに配信完了するまで格納される。
In the
配信管理テーブル230は、受信通番管理テーブル221と送信管理テーブル231とにより構成される。受信通番管理テーブル221には、上位ノードから最後に受信した配信データの通番である最終受信通番222が設定される。送信管理テーブル231は、データ蓄積キュー210に格納された配信データを下位ノード毎に管理する送信管理エントリa232、送信管理エントリb233、……、送信管理エントリN234により構成される。
The distribution management table 230 includes a reception sequence number management table 221 and a transmission management table 231. In the reception sequence number management table 221, a final
再配信管理テーブル240は、再配信通番管理テーブル241と再送管理テーブル251とにより構成される。再配信通番管理テーブル241には、再配信要求エントリポインタ242が設定され、上位ノードにデータの再配信を要求する単位毎に再配信要求エントリa243、再配信要求エントリb244、再配信要求エントリc245がチェーンされている。再送管理テーブル251は、データ蓄積キュー210に格納された再配信データを下位ノード毎に管理する再送管理エントリa252、再送管理エントリb253、……、再送管理エントリN254により構成される。そして、各再送管理エントリからは、下位ノードから通知を受けた再送要求を管理する再送要求エントリa261、再送要求エントリb262、再送要求エントリc263がチェーンされている。
The redistribution management table 240 includes a redistribution sequence number management table 241 and a retransmission management table 251. In the redistribution sequence number management table 241, a redistribution
木構造管理テーブル270は、上位ノードを管理する上位ノードテーブル271、下位ノードを管理する下位ノードテーブル272、下位ノードとそのまた下位のノードの組合せを管理する下位ノード接続テーブル273により構成されている。 The tree structure management table 270 includes an upper node table 271 that manages upper nodes, a lower node table 272 that manages lower nodes, and a lower node connection table 273 that manages combinations of lower nodes and their lower nodes. .
図3は木構造管理テーブル270を構成する各テーブルの構成を説明する図である。図3に示す各テーブルの構成は、図1に示すシステムにおける中継ノード101が備える木構造管理テーブル270の内容として示しているが、各テーブルの内容は、中継ノード毎に異なるものとなる。
FIG. 3 is a diagram for explaining the configuration of each table constituting the tree structure management table 270. The configuration of each table shown in FIG. 3 is shown as the contents of the tree structure management table 270 included in the
上位ノードテーブル271は、図3(a)に示すように、上位ノード名称301と上位ノードアドレス302との項目により構成され、図示例では、上位ノード名称301の項目にノード101、上位ノードアドレス302の項目にIP_101が設定されている。
As shown in FIG. 3A, the upper node table 271 includes items of an upper node name 301 and an
下位ノードテーブル272は、図3(b)に示すように、下位ノード名称310と下位ノードアドレス320との項目を持つレコードが、接続されている下位ノードの数だけ設けられて構成される。図示例では、下位ノード名称310、下位ノードアドレス320の組として、ノード121、IP_121のレコードと、ノード122、IP_122のレコードとが設定されている。
As shown in FIG. 3B, the lower node table 272 is configured by providing records having items of
下位ノード接続テーブル273は、下位ノード名称330、その下のノード名称である2段下位ノード名称340及びそのアドレスである2段下位ノードアドレス350の各項目で構成されたレコードが複数設けられて構成される。図示例では、下位ノード名称330、2段下位ノード名称340、2段下位ノードアドレス350の組として、ノード121、ノード131、IP_131のレコード、ノード121、ノード132、IP_132のレコード、ノード122、ノード133、IP_133のレコード、ノード122、ノード134、IP_134のレコードの4つのレコードが設定されている。
The lower node connection table 273 is configured by including a plurality of records each including a lower node name 330, a two-stage
図4は配信データの構成と配信管理テーブル230の構成とを説明する図であり、次に、これについて説明する。 FIG. 4 is a diagram for explaining the configuration of distribution data and the configuration of the distribution management table 230. Next, this will be described.
配信データは、ノードポインタ部410、配信元が配信データに一意に付与した連続した番号である通番411、配信データの実体をあらわすデータ実体412により構成されている。
The distribution data includes a
送信管理テーブル231の送信管理エントリa232には、データ蓄積キュー210に格納されている各配信データの送信状態を管理する送信管理レコードaa421、送信管理レコードab422が各配信データの通番411順にチェーンされている。同様に、送信管理エントリb233には、送信管理レコードba423、送信管理レコードbb424が各配信データの通番411順にチェーンされ、送信管理エントリN234には、送信管理レコードNa425、送信管理レコードNb426が各配信データの通番411順にチェーンされている。
In the transmission management entry a232 of the transmission management table 231, a transmission management record aa421 and a transmission management record ab422 for managing the transmission state of each distribution data stored in the
送信管理テーブル231の各送信管理エントリにチェーンされている送信管理レコードのそれぞれは、送信先の下位ノード名称451、送信状態を表す状態452及び配信データのデータ蓄積キュー210内での位置を示す配信データポインタ455により構成される。配信データポンタ455で示される配信データの通番411を参照することにより送信データの通番を確認することができる。また、状態452には、未送信を示す「未」461、送信完了を示す「済」462、再送信待ちを示す「再」463の3つの状態があり、配信データの状態に応じて、1つの状態が設定される。また、各送信管理レコードは、配信データのノードポインタ部410から対応する送信管理レコードaa421がポイントされ、順に送信管理レコードba423、送信管理レコードNa425というように、同じ通番を管理する送信管理レコードがチェーンされている。
Each of the transmission management records chained to each transmission management entry in the transmission management table 231 includes a lower-
送信管理エントリのそれぞれは、送信管理レコードチェーンの先頭を指す先頭ポインタ431、最終を指す最終ポインタ432、送信管理レコードの状態452が「未」の状態で対応する通番の一番上位(若い)の送信管理レコードを指す送信先頭ポインタ433、送信先ノードを示す下位ノード名称434から構成される。
Each of the transmission management entries has a
図5は再配信管理テーブル240内の再送管理テーブル251の構成を説明する図である。 FIG. 5 is a diagram for explaining the configuration of the retransmission management table 251 in the redistribution management table 240.
再送管理テーブル251の送信管理エントリa252には、データ蓄積キューに格納されている各配信データの送信状態を管理する再送管理レコードaa521、再送管理レコードab522が各配信データの通番411順にチェーンされている。同様に、再送管理エントリb253には、再送管理レコードba523、再送管理レコードbb524が各配信データの通番411順にチェーンされ、送信管理エントリN254には、再送管理レコードNa525、再送管理レコードNb26)がチェーンされている。
In the transmission management entry a252 of the retransmission management table 251, a retransmission management record aa521 and a retransmission management record ab522 for managing the transmission state of each distribution data stored in the data accumulation queue are chained in the order of the
各再送管理レコードは、送信先の下位ノード名称551、再送状態を表す状態552及び配信データのデータ蓄積キュー210内での位置を示す配信データポインタ553により構成される。配信データポインタ553で示される配信データの通番411を参照することにより再送データの通番を確認することができる。また、状態552には、送信完了を示す「済」561、再送信待ちを示す「再」562の2つの状態があり、再送データの状態に応じて、1つの状態が設定される。また、配信データのノードポインタ部410から対応する再送管理レコードab522がポイントされ順に再送管理レコードbb524、送信管理レコードNb526というように、同じ通番を管理する再送管理レコードがチェーンされている。
Each retransmission management record includes a destination lower node name 551, a
再送管理エントリのそれぞれは、再送管理レコードチェーンの先頭を指す先頭ポインタ531、最終を指す最終ポインタ532、再送管理レコードの状態552が「再」状態で対応する通番の一番上位(若い)の再送管理レコードを指す再送先頭ポインタ533、再送先ノードを示す下位ノード名称534、再送要求エントリを指す再送要求部ポインタ535により構成される。
Each of the retransmission management entries includes a
再送要求エントリのそれぞれは、再送要求のあった範囲の最も上位(若い)の通番である再送要求上位通番541、再送要求のあった範囲の最も下位の通番である再送要求下位通番542により構成される。 Each of the retransmission request entries includes a retransmission request upper sequence number 541 which is the highest (younger) serial number in the range in which the retransmission request is made, and a retransmission request lower sequence number 542 which is the lowest sequence number in the range in which the retransmission request is issued. The
図6は再配信管理テーブル240内の再配信管理テーブル241の再配信要求エントリの構成を説明する図である。再配信要求エントリのそれぞれは、上位ノードに通知した再配信要求範囲の最も上位(若い)の通番である再配信要求上位通番601、最も下位の通番である再配信要求下位通番602により構成される。
FIG. 6 is a diagram for explaining the configuration of the redistribution request entry in the redistribution management table 241 in the redistribution management table 240. Each of the redistribution request entries includes a redistribution request
図7はノード相互間で授受される電文形式を説明する図であり、次に、これについて説明する。 FIG. 7 is a diagram for explaining a message format exchanged between nodes. Next, this will be described.
接続電文a710は、図7(a)に示すように、上位ノードに新たに下位ノードとして加わることを通知する電文であり、自ノードのノード名称711、自ノードのノードアドレス712により構成される。
As shown in FIG. 7A, the connection message a 710 is a message for notifying that an upper node is newly added as a lower node, and includes a
接続電文b720は、図7(b)に示すように、自ノードの下位にどのようなノードが接続されているかを上位ノードに通知する電文であり、自ノードのノード名称721、下位ノードの下位ノード名称722、下位ノードの下位ノードアドレス723により構成される。
As shown in FIG. 7B, the connection message b 720 is a message for notifying the upper node of what kind of node is connected to the lower level of the own node. The
配信電文730は、図7(c)に示すように、配信ノードから配信されるデータの電文であり、配信元ノ−ドで昇順に付与される通番731、データの実体である配信データ733により構成される。
As shown in FIG. 7C, the distribution telegram 730 is a telegram of data distributed from the distribution node. The distribution telegram 730 includes a serial number 731 assigned in ascending order at the distribution source node and
上位ノード変更電文740は、図7(d)に示すように、下位ノードに対して上位ノードの変更を指示する電文であり、上位ノードのノード名称741、上位ノードの上位ノードアドレス742により構成される。 As shown in FIG. 7D, the upper node change message 740 is a message for instructing the lower node to change the upper node, and includes a node name 741 of the upper node and an upper node address 742 of the upper node. The
上位ノード変更応答電文750は、図7(e)に示すように、上位ノード変更電文740に対する応答電文であり、自ノードのノード名称751、自ノードでの受信通番管理テーブル221の最終受信通番222の値を設定した最終受信通番752により構成される。
As shown in FIG. 7E, the upper node change response message 750 is a response message to the upper node change message 740, and includes the
再配信要求電文760は、図7(f)に示すように、下位ノードから上位ノード変更応答電文750または再配信要求電文760を受信して再配信するデータ通番を通知されたが、自ノードに該当する通番の配信データがない場合に、さらに上位ノードに再配信を要求するための電文であり、自ノードのノード名称761、再配信を要求する最も上位(若い)の通番である再配信要求上位通番762、最も下位の通番である再配信要求下位通番763により構成される。
As shown in FIG. 7 (f), the redistribution request message 760 is notified of the data sequence number for receiving and redistributing the upper node change response message 750 or the redistribution request message 760 from the lower node. Redistribution request that is a message for requesting redistribution to an upper node when there is no distribution data of the corresponding sequence number, and that is the
図8は木構造のネットワーク内に新たな中継ノードが接続されたときの関係するノードでの処理動作を説明するフローチャートであり、次に、これについて説明する。ここで説明する例は、ノード111が新たに中継ノード101の下位ノードとして接続され、ノード121が新たに中継ノード111の下位ノードとして接続され、配信先としてのノード131が新たにノード121の下位ノードとして接続される場合の例である。
FIG. 8 is a flowchart for explaining the processing operation at a related node when a new relay node is connected in a tree-structured network. Next, this will be described. In the example described here, the
(1)ノード111は、中継ノードとしてネットワークへの接続を開始すると、上位ノードであるノード101の情報を上位ノードテーブル271に設定し、受信通番管理テーブル221の最終受信通番222に−1を設定し、接続電文a710を作成してノード101に、自ノードの接続を通知する。最終受信通番222に−1を設定したのは、自ノード配信データを全く保持していないことを示すためである(ステップ810〜813)。
(1) When the
(2)ノード101は、ノード111から接続電文a710を受信すると、新たに接続されたノード111の情報を下位ノードテーブル272に追加する(ステップ814)。
(2) Upon receiving the connection message a 710 from the
(3)一方、新たな中継ノード111の下位ノードとして接続するノード121は、中継ノードとしてネットワークへの接続を開始すると、接続電文a710を作成してノード111に自ノードの接続を通知する(ステップ820、821)。
(3) On the other hand, when the
(4)ノード111は、ノード121からの接続電文a710を受信すると、接続電文a710に含まれるノード121の情報を下位ノードテーブル272に追加し、送信管理デーブル231に送信管理エントリを追加し、再送管理デーブル251に再送管理エントリを追加すると共に、接続電文b720をノード101に送信する(ステップ822〜825)。
(4) Upon receiving the connection message a 710 from the
(5)ノード101は、中継ノード111からの接続電文b720を受信すると、ノード111、121の組のレコードを下位ノード接続デーブル273に追加する(ステップ826)。
(5) When the
(6)また、ノード121の下位の配信先ノード131として接続するノード131は、配信先ノードとしてネットワークへの接続を開始すると、接続電文a710を作成してノード121に自ノードの接続を通知する(ステップ830、831)。
(6) In addition, when the
(7)ノード121は、ノード131からの接続電文a710を受信すると、接続電文a710に含まれるノード131の情報を下位ノードテーブル272に追加し、接続電文bを作成してノード111に送信する(ステップ832、833)。
(7) Upon receiving the connection message a 710 from the
(8)ノード111は、中継ノード121からの接続電文b720を受信すると、ノード121、131の組のレコードを下位ノード接続テーブル273に追加する(ステップ834)。
(8) Upon receiving the connection message b 720 from the
図9は配信データを上位ノードから受信したときの中継ノードでの受信処理の動作を説明するフローチャートであり、次に、これについて説明する。 FIG. 9 is a flowchart for explaining the operation of the reception process at the relay node when the distribution data is received from the upper node. Next, this will be described.
(1)受信データがあったことを検知すると受信処理を開始し、まず、受信した配信電文730の通番731が受信通番管理テーブル221の最終受信通番222+1の値と等しいか、または、最終受信通番の値が−1となっているか否かを判定(ステップ900、901)。
(1) When reception data is detected, reception processing is started. First, the serial number 731 of the received distribution message 730 is equal to the value of the final reception
(2)ステップ901の判定で、受信した配信電文730の通番731が最終受信通番222+1の値と等しいか、または、最終受信通番の値が−1となっていた場合、受信データをデータ蓄積キュー210に格納する(ステップ902)。
(2) If it is determined in
(3)その後、データ受信時の送信管理テーブルの更新処理(この処理の詳細については、図10により後述する)を行い、最終受信通番222に受信したデータの通番731を設定すると共に、上位ノードにデータを正常に受信したという正常応答を返却して、ここでの処理を終了する(ステップ903〜905、910)。
(3) Thereafter, update processing of the transmission management table at the time of data reception (details of this processing will be described later with reference to FIG. 10), the serial number 731 of the received data is set in the final reception
(4)ステップ901での判定の結果、受信した配信電文730の通番731が最終受信通番222+1の値と等しくなかった場合で、かつ、最終受信通番の値が−1でなかった場合、再配信データ受信処理(この処理の詳細については、図19により後述する)を行った後、配信電文730の通番731が最終受信通番222の値以下か否かを判定する(ステップ906、907)。
(4) If the result of determination in
(5)ステップ907での判定で、配信電文730の通番731が最終受信通番222の値以下であった場合、上位ノードにデータを正常に受信したという正常応答を返却し、また、ステップ907での判定で、配信電文730の通番731が最終受信通番222の値以下でなかった場合、上位ノードに異常応答を返却して、ここでの処理を終了する(ステップ905、908、910)。
(5) If it is determined in
図10は図9に示すフローのステップ903でのデータ受信時の送信管理テーブルの更新の処理動作を説明するフローチャートであり、次に、これについて説明する。
FIG. 10 is a flowchart for explaining the processing operation for updating the transmission management table at the time of data reception in
(1)この処理を開始すると、まず、送信管理テーブル231の先頭の送信管理エントリを更新対象として、その送信管理エントリからチェーンされている送信管理レコードの最終に新たな送信管理レコードを追加し、追加した送信管理レコードの状態452に「未」461を設定する(ステップ1000〜1003)。
(1) When this process is started, first, the transmission management entry at the head of the transmission management table 231 is updated, and a new transmission management record is added to the end of the transmission management record chained from the transmission management entry. “Not yet” 461 is set in the
(2)次に、対象とした送信管理エントリの送信先頭ポンタ433の値がNULL(データ蓄積キューに配信データが存在しない)となっているか否かを判定し、NULLであった場合、送信先頭ポインタ433が追加した送信管理レコードを指すよう設定する(ステップ1004、1005)。
(2) Next, it is determined whether or not the value of the
(3)ステップ1005の処理の後、または、ステップ1004での判定で、対象とした送信管理エントリの送信先頭ポンタ433の値がNULLでなかった場合、ポイントしている送信管理レコードが送信管理テーブル231の最終エントリか否かを判定し、ポイントしている送信管理レコードが送信管理テーブル231の最終エントリであった場合、ここでの処理を終了する(ステップ1006、1010)。
(3) After the processing in
(4)ステップ1006での判定で、ポイントしている送信管理レコードが送信管理テーブル231の最終エントリであった場合、送信管理テーブル231からチェーンされる送信管理レコードの次エントリをポイントした後、ステップ1002からの処理に戻って、送信管理エントリからチェーンされている送信管理レコードの最終に新たな送信管理レコードを追加して処理を続ける(ステップ1007)。
(4) If it is determined in
図11は配信データを下位ノードに送信するときの中継ノードでの送信処理の動作を説明するフローチャートであり、次に、これについて説明する。 FIG. 11 is a flowchart for explaining the operation of the transmission process in the relay node when the distribution data is transmitted to the lower node. Next, this will be described.
(1)処理の開始後、まず、データ再配信処理を実行する。このデータ再配信処理の詳細については、図21に示すフローを参照して後述する(ステップ1100、1101)。
(1) After starting the process, first, a data redistribution process is executed. Details of this data redistribution processing will be described later with reference to the flow shown in FIG. 21 (
(2)データ再配信処理の実行後、送信管理テーブル231の送信管理エントリの送信先頭ポインタ433の値がNULLとなっているか否かを判定し、送信先頭ポインタ433の値がNULLとなっていた場合、送信すべきデータがデータ蓄積キュー210に存在しないため、一定時間sleep した後、ステップ1101のデータ再配信処理に戻って、処理を繰り返す(ステップ1102、1114)。
(2) After executing the data redistribution process, it is determined whether or not the value of the
(3)ステップ1102での判定で、送信先頭ポインタ433の値がNULLでなかった場合、送信先頭ポインタ433が指す送信管理レコードに対応する配信データを、データ蓄積キュー210から下位ノードに送信し、下位ノードから正常応答を受信したか否かを判定する(ステップ1103、1104)。
(3) If it is determined in
(4)ステップ1104での判定で、下位ノードから正常応答を受信した場合、送信管理レコードの次の送信管理レコードが存在するか否かを判定し、存在した場合、送信管理エントリの送信先頭ポインタ433に次の送信管理レコードを設定し、存在しなかった場合、送信先頭ポインタ433にNULLを設定1107する(ステップ1105、1106、1107)。
(4) If a normal response is received from the lower node in the determination in
(5)ステップ1106、1107の処理の後、送信管理レコードの状態452を「済」462に設定し、配信データに対応する全ての送信管理レコードの状態452が「済」462となっているか否かを判定し、全ての送信管理レコードの状態452が「済」462となっていた場合、配信データに対応する全ての送信管理レコードを解放し、配信データをデータ蓄積キュー210から削除する(ステップ1108〜1111)。
(5) After the processing of
(6)ステップ1111の処理の後、あるいは、ステップ1109での判定で、送信管理レコードの状態452が「済」462となっていないものがあった場合、ステップ1101からのデータ再送処理に戻って処理を繰り返す。
(6) After the processing at step 1111 or when there is a transmission
(7)ステップ1104での判定で、下位ノードから正常応答を受信しなかった場合、下位ノードから異常応答を受信したか否かを判定し、下位ノードから異常応答を受信しなかった場合、下位ノードの確認がとれないため再送信する必要があり、ステップ1101からのデータ再送処理に戻って処理を繰り返す(ステップ1112)。
(7) When the normal response is not received from the lower node in the determination in
(8)ステップ1112での判定で、下位ノードから異常応答を受信していた場合、データの抜けが発生したと判断して異常終了する。これは、運用による回復が必要なためである(ステップ1113)。 (8) If it is determined in step 1112 that an abnormal response has been received from the lower node, it is determined that data loss has occurred and the process ends abnormally. This is because recovery by operation is necessary (step 1113).
図12は中継ノード障害時にネットワークの木構造を再構成する例を説明する図である。ここで示す例は、図1に示すシステムにおける中継ノード121が障害1201となった場合の例である、中継ノード121に障害が発生した場合、下位ノードである中継ノード131、132(説明している本発明の実施形態では配信先ノード)にデータが配信されなくなる。このため、中継ノード121の上位の中継ノード111は、新たにノード131、132を下位ノードとする木構造再形成1211、1212を実施することにより、データ配信を継続することができるようにする。
FIG. 12 is a diagram for explaining an example of reconfiguring the tree structure of a network when a relay node fails. The example shown here is an example when the
図13は木構造のネットワークの木構造を再構成する場合の関係するノードでの処理動作を説明するフローチャートであり、次に、これについて説明する。ここで説明する例は、ノード121で障害1301が発生し、ノード111がその障害を検知した場合の処理である。
FIG. 13 is a flowchart for explaining a processing operation at a related node in the case of reconfiguring a tree structure of a tree structure network. Next, this will be described. The example described here is processing when a
(1)ノード111は、ノード121での障害1301の発生を検知すると、木構造管理テーブル270の1つである下位ノードテーブル272から障害ノード121の情報を削除した後、下位ノード接続テーブル273から下位ノード名称330が障害ノードであるレコードの2段下位ノード名称340に該当するノードを構成変更を指示するノードとして選択する(ステップ1302〜1304)
(2)説明している例では、障害ノードであるレコードの2段下位ノード名称340として、ノード131、132の情報を得ることができるので、ノード111は、上位ノード変更電文740を作成し、この電文をこれらのノードに送信(ステップ1305)。
(1) When the
(2) In the example described, since the information of the
(3)上位ノード変更電文740を受信したノード131、132は、自ノード内の上位ノードテーブル271にノード111の情報を設定し、上位ノード変更応答電文750を作成して、ノード111に送信する(ステップ1306、1307)。
(3) The
(4)ノード111は、ノード131、132から上位ノード変更応答電文750を受信すると、下位ノード接続テーブル273から2段下位ノード名称340が応答電文750のノード名称751と一致するレコードを削除し、受信したノードの情報を下位ノードテーブル272に追加した後、接続電文b720を作成して、この接続電文b720を上位ノード101に送信する(ステップ1308〜1310)。
(4) Upon receiving the upper node change response message 750 from the
(5)一方、ノード131、132は、上位ノード変更応答電文750をノード111に送信した後に、接続電文b720を作成し、その電文をノードに送信してくるので、ノード111は、ノード131、132からの接続電文b720を受信し、受信したノードの組を下位ノード接続テーブル273に追加すると共に、送信管理テーブル231に送信管理エントリを追加する(ステップ1311〜1313)。
(5) On the other hand, since the
(6)そして、ノード111は、送信管理レコードを作成し、各レコードの状態452に障害発生ノード(ノード121)と同じ値を設定し、また、再送管理テーブル251に再送管理エントリを追加1315して再送管理レコードを作成し、各レコードの状態552に「済」561を設定する(ステップ1314〜1316)。
(6) Then, the
(7)さらに、ノード111は、再送要求エントリを作成し、再送要求上位通番541に上位ノード変更応答電文750の最終受信通番752を設定し、再送要求下位通番542には0を設定して、再送管理テーブル251の該当エントリから再送要求エントリをポイント1318する(ステップ1317、1318)。
(7) Further, the
(8)その後、ノード111は、ノード131、132の全てから上位ノード変更応答電文750を受信したか否かを判定し、まだ、応答電文750を全て受け取っていなかった場合、他ノードからの上位ノード変更応答電文750の受信を待ち、ステップ1308からの処理を繰り返す(ステップ1319)。
(8) After that, the
(9)ステップ1319での判定で、応答電文750の全てを受け取っていた場合、蓄積データ削除処理(この処理の詳細については、図14により後述する)を実行した後、再配信依頼処理(この処理の詳細については、図15により後述する)を実行する(ステップ1320、1321)。
(9) If it is determined in
図14は図13に示すフローのステップ1320での蓄積データ削除処理の動作を説明するフローチャートであり、次に、これについて説明する。
FIG. 14 is a flowchart for explaining the operation of the accumulated data deletion process in
(1)蓄積データ削除の処理が開始されると、ノード111は、送信管理テーブル231の障害発生ノード(ここではノード121)を指す送信管理エントリをポイントし、また、先頭の送信管理レコードをポイントする(ステップ1400〜1402)。
(1) When the accumulated data deletion process is started, the
(2)送信管理レコードが存在するか否かを判定し、存在しなかった場合、ここでの処理を終了し、存在した場合、その送信管理レコードを削除する(ステップ1403、1410、1405)。
(2) It is determined whether or not there is a transmission management record. If the transmission management record does not exist, the processing here ends. If there is, the transmission management record is deleted (
(3)次に、該当する配信データの通番411に対応する全送信管理レコードの状態452が「済」462になっているか否かを判定し、「済」462になっていた場合、該当配信データに対応する全送信管理レコードを削除すると共に、データ蓄積キュー210から配信データを削除する(ステップ1406〜1408)。
(3) Next, it is determined whether or not the
(4)ステップ1408の処理の後、または、ステップ1406での判定で、状態452が「済」462になっていない送信管理レコードがあった場合、次の送信管理レコードをポイントし、ステップ1403からの処理に戻って処理を繰り返す(ステップ1409)。
(4) After the processing in
図15は図13に示すフローのステップ1321での再配信依頼を上位ノードに通知する再配信依頼処理の動作を説明するフローチャートであり、次に、これについて説明する。
FIG. 15 is a flowchart for explaining the operation of the redistribution request process for notifying the upper node of the redistribution request in
(1)再配信依頼の処理が開始されると、ノード111は、再送管理テーブル251の構成変更したノードに対応する再送管理エントリの最上位エントリをポイントし、再送要求エントリの再送要求上位通番541が、送信管理エントリの送信先頭ポインタ433の指す送信管理レコードに対応する配信データの通番411より値が小さいか否かを判定する(ステップ1500〜1502)。
(1) When the redistribution request processing is started, the
(2)ステップ1502での判定で、再送要求エントリの再送要求上位通番541が、送信管理レコードに対応する配信データの通番411より値が小さかった場合、再送要求エントリの再送要求下位通番542に送信先頭ポインタ433の指す送信管理レコードに対応する配信データの通番411+1を設定する(ステップ1503)。
(2) If it is determined in
(3)次に、送信管理レコードに再送要求上位通番541以下で、状態452が「未」461のレコードが存在する場合、その状態452を「再」463に設定し、再送管理レコードに再送要求上位通番541以下で状態552が「済」561のレコードが存在する場合、その状態552を「再」562に設定する(ステップ1504、1505)。
(3) Next, when there is a retransmission request higher sequence number 541 or less in the transmission management record and the
(4)ステップ1502での判定で、再送要求エントリの再送要求上位通番541が、送信管理レコードに対応する配信データの通番411より値が大きかった場合、対応する配信データが自ノードのデータ蓄積キュー210に存在しているため、再送要求エントリを削除する(ステップ1530)。
(4) If it is determined in
(5)ステップ1505の処理の後、または、ステップ1530の処理の後、構成変更したノードの再送管理エントリがまだあるかいなかを判定し、再送管理エントリがまだある場合、再送管理テーブル251の構成変更したノードの再送管理エントリの次のエントリをポイントし、ステップ1502の処理に戻って処理を繰り返す(ステップ1506、1507)。
(5) After the processing in step 1505 or after the processing in step 1530, it is determined whether there is still a retransmission management entry for the node whose configuration has been changed. If there is still a retransmission management entry, the configuration of the retransmission management table 251 The entry next to the resend management entry of the changed node is pointed, and the process returns to step 1502 to repeat the process (
(6)ステップ1506での判定で、構成変更したノードの再送管理エントリがなかった場合、再配信要求エントリを作成し、再送要求上位通番541の中で一番上位の番号を、再配信通番管理テーブル241の再配信要求エントリポインタ242の再配信要求エントリの再配信要求上位通番601に設定し、再送要求下位通番542の中で一番下位の番号を再配信要求下位通番602に設定した後、再配信要求電文760を上位ノードに送信して、ここでの処理を終了する(ステップ1508〜1511、1520)。
(6) If it is determined in
図16は再配信依頼を下位ノードから通知されたノードによる再配信依頼の受信処理の動作を説明するフローチャートであり、次に、これについて説明する。 FIG. 16 is a flowchart for explaining the operation of receiving a redistribution request by a node notified of the redistribution request from the lower node. Next, this will be described.
(1)再配信依頼を下位ノードから通知されたノードは、処理が開始されると、再送要求エントリを作成し、再配信要求エントリの再送要求上位通番601に再配信要求電文760の再配信要求上位通番762を設定し、また、再送要求下位通番542に再配信要求電文の再配信要求下位通番763を設定する(ステップ1600〜1603)。
(1) When processing is started, a node that has been notified of a redistribution request from a lower node creates a retransmission request entry, and a redistribution request for a redistribution request message 760 in the retransmission request
(2)次に、再配信を依頼したノード名称に対応する再送管理エントリに再送要求エントリを繋ぎ、送信管理レコードに送信要求範囲の通番であって状態452が「済」462のレコードが存在する場合、その状態452を「再」463に設定すると共に、再送管理レコードに送信要求範囲の通番であって状態552が「済」561のレコードが存在する場合、その状態552を「再」562に設定する(ステップ1604〜1606)。
(2) Next, the retransmission request entry is connected to the retransmission management entry corresponding to the node name requested to be redistributed, and the transmission management record has a serial number of the transmission request range and a record having the
(3)再送要求範囲の全通番に該当する送信管理エントリまたは再送管理エントリがあるか否かを判定し、該当する送信管理エントリまたは再送管理エントリがあった場合、自ノードのデータ蓄積キュー210に配信データが存在しているので、ここでの処理を終了する(ステップ1607、1620)。
(3) It is determined whether there is a transmission management entry or a retransmission management entry corresponding to all the serial numbers in the retransmission request range, and if there is a corresponding transmission management entry or retransmission management entry, the
(4)ステップ1607での判定で、該当する送信管理エントリまたは再送管理エントリがなかった場合、自ノードのデータ蓄積キュー210に配信データが存在していないので、再送管理レコードを作成して再送管理エントリに繋げ、状態552を「再」562に設定し、その後、再送管理レコードを作成して他の再送管理エントリにも繋げ、状態552を「済」561に設定する(ステップ1608、1609)。
(4) If it is determined in
(5)そして、再配信要求電文作成処理を行って、ここでの処理を終了する。なお、再配信要求電文の作成処理については、図17を参照して後述する(ステップ1610、1620)。
(5) Then, a redistribution request message creation process is performed, and the process here ends. Note that the redistribution request message creation processing will be described later with reference to FIG. 17 (
図17は図16に示すフローのステップ1610での上位ノードにデータ配信を要求する再配信要求電文の作成処理の動作を説明するフローチャートであり、次に、これについて説明する。
FIG. 17 is a flowchart for explaining the operation of the redistribution request message creation process for requesting data distribution to the upper node in
(1)再配信要求電文の作成の処理が開始されると、電文作成を行うノードは、再送要求エントリから再配信要求エントリを作成し、要求範囲の全通番が既に他の再配信要求エントリに設定されているか否かを判定し、要求範囲の全通番が既に他の再配信要求エントリに設定されていた場合、再配信要求電文の作成が不要であるので、何もせずに、ここでの処理を終了する(ステップ1700〜1702、1710)。
(1) When the process of creating a redistribution request message is started, the node that creates the message creates a redistribution request entry from the retransmission request entry, and all the serial numbers in the request range have already been changed to other redistribution request entries. If all the serial numbers in the request range have already been set in another redistribution request entry, it is not necessary to create a redistribution request message. The process ends (
(2)ステップ1702での判定で、要求範囲の全通番が他の再配信要求エントリに設定されていなかった場合、要求範囲の一部の通番が既に他の再配信要求エントリに設定されているか否かを判定し、要求範囲の一部の通番が既に他の再配信要求エントリに設定されていた場合、通番が重ならないように再配信要求エントリの再配信要求上位通番601と再配信要求下位通番602とを変更する。なお、この再配信要求上位通番601と再配信要求下位通番602とについては、図18により後述する(ステップ1703、1704)。
(2) If it is determined in
(3)ステップ1704の処理の後、あるいは、ステップ1703での判定で、要求範囲の一部の通番が他の再配信要求エントリに設定されていなかった場合、再配信要求エントリを再配信通番管理テーブル241に繋ぎ、その後、再配信要求電文760を作成して上位ノードに送信した後、ここでの処理を終了する(ステップ1705、1706、1710)。
(3) After the processing in
図18は再配信要求エントリの通番変更の例を説明する図であり、次に、これについて説明する。ここで説明する例は、既に再配信要求エントリa1800及び再配信要求エントリb1803が存在する時に、前述した図17のフローのステップ1701での処理で新たに再配信要求エントリc1810が作成された場合の例である。 FIG. 18 is a diagram for explaining an example of changing the serial number of the redistribution request entry. Next, this will be described. In the example described here, when the redistribution request entry a1800 and the redistribution request entry b1803 already exist, the redistribution request entry c1810 is newly created by the processing in step 1701 of the flow of FIG. 17 described above. It is an example.
既に存在している再配信要求エントリa1800は、再配信を要求する上位通番1801の値が10、下位通番1802の値が13を有し、既に存在している再配信要求エントリb1803は、再配信を要求する上位通番1804の値が19、下位通番1805の値が23を有しているものとしている。そして、図17のフローのステップ1701での処理で新たに作成した再配信要求エントリc1810は、再配信を要求する上位通番1811の値が12、下位通番1812の値が15を有しているものとしている。
The redistribution request entry a1800 that already exists has the value of the
この場合、既に存在している再配信要求エントリa1800により、通番12、13は、再配信の要求が通知済みであることが判るため、再配信要求エントリc1810は、通番12、13を除いて変更した再配信要求エントリc1820に変更される。すなわち、変更した再配信要求エントリc1820は、再配信要求上位通番の値が14に変更された再配信要求上位通番1821とされ、再配信要求下位通番の値は15のままの再配信要求下位通番1822とされる。
In this case, since the redistribution request entry c1810 is changed except for the
この後、再配信を要求する上位通番1831値が18、下位通番1822の値が25を有する再配信要求エントリd1830が追加されたものとする。この場合、既に存在している再配信要求エントリb1803により、通番19〜23は、再配信の要求が通知済みであることが判るため、再配信要求エントリd1830は、通番19〜23を除いたものに変更される。すなわち、再配信要求エントリd1830は、再配信要求エントリda1840と再配信要求エントリdb1850とに変更される。この変更により作成される再配信要求エントリda1840は、再配信要求上位通番1841の値が18に、再配信要求下位通番1842の値が18に設定され、再配信要求エントリdb1850は、再配信要求上位通番1851の値が24に、再配信要求下位通番1852の値が25に設定される。
Thereafter, it is assumed that a redistribution request entry d1830 having a
図19は上位ノードに通知した再配信要求の結果である再配信データ受信処理(図9に示すフローのステップ906)の動作を説明するフローチャートであり、次に、これについて説明する。 FIG. 19 is a flowchart for explaining the operation of the redistribution data reception process (step 906 in the flow shown in FIG. 9), which is the result of the redistribution request notified to the upper node.
(1)再配信データ受信処理が開始されると、再配信データを受信したノードは、配信電文730の通番731が自ノード内のどれかの再配信要求エントリの再配信要求上位通番601と同じ値か否かを判定する(ステップ1900、1901)。
(1) When the redistribution data receiving process is started, the node that has received the redistribution data has the same sequence number 731 of the distribution telegram 730 as the redistribution request
(2)ステップ1901での判定で、配信電文730の通番731がどれかの再配信要求エントリの再配信要求上位通番601と同じ値であった場合、データ蓄積キュー210に存在する配信データの通番411に一致するものがあるか否かを判定し、データ蓄積キュー210内の配信データの通番411に一致するものがなかった場合、受信した再配信データをデータ蓄積キュー210に格納する(ステップ1902、1903)。
(2) If it is determined in
(3)その後、再配信データ受信時の再送管理テーブル更新処理を行い、再配信要求上位通番601の値に1を加算する。なお、再送管理テーブル更新処理については、図20に示すフローにより後述する(ステップ1904、1905)。
(3) Thereafter, the retransmission management table update process at the time of receiving the redistribution data is performed, and 1 is added to the value of the redistribution request
(4)次に、再配信要求上位通番601が再配信要求下位通番602より大きいか否かを判定し、再配信要求上位通番601が再配信要求下位通番602より大きかった場合、再配信要求エントリを解放1907して処理を終了する(ステップ1906、1907、1910)。
(4) Next, it is determined whether or not the redistribution request
(5)ステップ1901での判定で、配信電文730の通番731が、どれかの再配信要求エントリの再配信要求上位通番601に同じ値のものがなかった場合、ステップ1902での判定で、データ蓄積キュー210内の配信データの通番411に一致するものがあった場合、あるいは、ステップ1906での判定で、再配信要求上位通番601が再配信要求下位通番602より大きくなかった場合、次の再配信データの受信を待つこととして、ここでの処理を終了する(ステップ1910)。
(5) If it is determined in
図20は図19に示すフローのステップ1904での再配信データ受信時の再送管理テーブル更新処理の動作を説明するフローチャートであり、次に、これについて説明する。
FIG. 20 is a flowchart for explaining the operation of the retransmission management table update process at the time of receiving redistributed data in
(1)再送管理テーブル更新の処理が開始されると、再配信データを受信したノードは、再送管理テーブル251の先頭エントリをポイントし、再送管理エントリに、配信データの通番411が昇順になるよう新たな再送管理レコードを挿入する(ステップ2000〜2002)。
(1) When the retransmission management table update process is started, the node that has received the redistribution data points to the top entry of the retransmission management table 251 so that the
(2)既に存在する再送要求エントリの再配信要求上位通番601と再配信要求下位通番602との範囲に再配信データの通番が含まれているか否かを判定し、含まれていた場合、追加した再送管理レコードの状態552に「再」562を設定し、含まれていなかった場合、追加した再送管理レコードの状態552に「済」561を設定する(ステップ2003〜2005)。
(2) It is determined whether or not the redistribution data sequence number is included in the range of the redistribution request
(3)ステップ2004またはステップ2005の処理の後、再送先頭ポインタ533の値がNULLとなっているか否かを判定し、NULLとなっていた場合、再送先頭ポインタ533が追加した再送管理レコードを指すように再送先頭ポインタ533の値を設定する(ステップ2006、2007)。
(3) After the processing in
(4)ステップ2007の処理の後、または、ステップ2006での判定で、再送先頭ポインタ533の値がNULLでなかった場合、更新しているエントリが再送管理テーブルの最終エントリであるか否かを判定し、最終エントリでなかった場合、再送管理テーブルの次エントリをポイントし、ステップ2002〜の処理に戻って処理を繰り返し、最終エントリでなかった場合、ここでの処理を終了する(ステップ2008〜2010)。
(4) If the value of the
図21は図11に示すフローのステップ1101でのデータ再配信処理の動作を説明するフローチャートであり、次に、これについて説明する。
FIG. 21 is a flowchart for explaining the operation of the data redistribution process in
(1)データ再配信の処理が開始されると、データの再配信を行うノードは、再層管理テーブル251の再送管理エントリの再送先頭ポインタ533の値がNULLとなっているか否かを判定し、NULLとなっていた場合、再配信するデータがないので、ここでの処理を終了する(ステップ2101、2130)。
(1) When data redistribution processing is started, a node that redistributes data determines whether or not the value of the
(2)ステップ2101での判定で、再送管理エントリの再送先頭ポインタ533の値がNULLでなかった場合、再送先頭ポインタ533の値が指す再送管理レコードに対応する配信データを、データ蓄積キュー210から下位ノードに送信する(ステップ2102)。
(2) If the value of the
(3)その後、下位ノードから正常応答を受信したか否かを判定し、正常応答が受信できた場合、図22に示すフローにより後述する再送要求エントリ更新処理を行い、該当する再送管理レコードの次以降に位置する再送管理レコードの中に状態552が「再」562となっている再送管理レコードが存在するか否かを判定する(ステップ2103〜2105)。
(3) Thereafter, it is determined whether or not a normal response has been received from the lower node. If a normal response has been received, a retransmission request entry update process (to be described later) is performed according to the flow shown in FIG. It is determined whether or not there is a retransmission management record whose
(4)ステップ2105での判定で、状態552が「再」562となっている再送管理レコードが存在した場合、再送先頭ポインタ533に次再送管理レコードを設定し、存在しなかった場合、再送先頭ポインタ533にNULLを設定する(ステップ2106、2107)。
(4) If there is a retransmission management record in which the
(5)ステップ2106、または、ステップ2107の処理の後、再送管理レコードの状態552を「済」561に設定し、配信データに対応する全再送管理レコードの状態552が「済」561となっているか否かを判定し、配信データに対応する全再送管理レコードの状態552が「済」561となっていなかった場合、ステップ2101からの処理に戻って処理を繰り返す(ステップ2108、2109)。
(5) After the processing of
(6)ステップ2109での判定で、配信データに対応する全再送管理レコードの状態552が「済」561となっていた場合、配信データに対応する全再送管理レコードを解放すると共に、配信データをデータ蓄積キューから削除して、ステップ2101からの処理に戻って処理を繰り返す(ステップ2110、2111)。
(6) If it is determined in
(7)ステップ2103での判定で、下位ノードからの正常応答が受信できなかった場合、下位ノードから異常応答を受信したか否かを判定し、下位ノードからの異常応答を受信できなかった場合、ステップ2101からの処理に戻って処理を繰り返し、異常応答を受信した場合、データ抜けが発生したと判断して異常終了する。この異常終了は、運用による回復が必要なためである(ステップ2112)。
(7) If the normal response from the lower node cannot be received in the determination in
図22は図11に示すフローのステップ2104での再送要求エントリ更新処理の動作を説明するフローチャートであり、次に、これについて説明する。
FIG. 22 is a flowchart for explaining the operation of the retransmission request entry update process in
(1)再送要求エントリ更新の処理が開始されると、再送要求上位通番541に1を加算し、再送要求上位通番541が再送要求下位通番542より大きいか否かを判定する(ステップ2200〜2202)。
(1) When the retransmission request entry update process is started, 1 is added to the retransmission request upper sequence number 541 to determine whether or not the retransmission request upper sequence number 541 is larger than the retransmission request lower sequence number 542 (
(2)ステップ2202での判定で、再送要求上位通番541が再送要求下位通番542より大きかった場合、再送信要求エントリを解放して、ここでの処理を終了し、再送要求上位通番541が再送要求下位通番542より大きくなかった場合、何もせずにここでの処理を終了する(ステップ2203、2204)。
(2) If the retransmission request upper sequence number 541 is larger than the retransmission request lower sequence number 542 in the determination at
前述した本発明の実施形態での各処理は、プログラムにより構成し、本発明が備えるCPUに実行させることができ、また、それらのプログラムは、FD、CDROM、DVD等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。 Each process in the above-described embodiment of the present invention is configured by a program and can be executed by a CPU included in the present invention. These programs are stored in a recording medium such as an FD, CDROM, or DVD. It can be provided and can be provided by digital information via a network.
21 CPU
22 メモリ
23 テーブル群
100 配信ノード
20、101、111、112、121〜124 中継ノード
131〜138 配信先ノード
2301 データ受信手段
2302 再配信データ受信手段
2303 データ送信手段
2304 再配信データ送信手段
2305 再配信依頼手段
2306 再配信依頼受信手段
2307 木構造再構成指示手段
2308 木構造再構成応答手段
2309 中継ノード接続手段
210 データ蓄積キュー
211、212、213 配信データ
221 受信通番管理テーブル
230 配信管理テーブル
231 送信管理テーブル
240 再配信管理テーブル
241 再配信通番管理テーブル
251 再送管理テーブル
270 木構造管理テーブル
271 上位ノードテーブル
272 下位ノードテーブル
273 下位ノード接続テーブル
21 CPU
22
Claims (7)
前記データ配信システムは、前記配信元ノードと、中継ノードと、複数の配信先ノードとが、前記中継ノードが1段または複数段備えられる木構造のネットワークを構成するように相互に接続されて構成されており、
前記配信元ノード及び中継ノードは、1段下の下位ノードと2段下の下位ノードとの情報を記憶手段内に保持しており、1段下の中継ノードの障害を検知すると2段下である中継ノードを1段下の中継ノードとする木構造の構成変更を行い、前記記憶手段内の1段下の下位ノードと2段下の下位ノードとの情報を更新することを特徴とするデータ配信方法。 In a data distribution method in a data distribution system for distributing data from a distribution source node to a plurality of distribution destination nodes via a relay node,
The data distribution system is configured such that the distribution source node, relay nodes, and a plurality of distribution destination nodes are connected to each other so as to form a tree-structured network in which the relay nodes are provided in one or more stages. Has been
The distribution source node and the relay node hold the information of the lower node of the lower stage and the lower node of the lower stage in the storage means, and when a failure of the lower relay node is detected, Data that changes the structure of a tree structure in which a certain relay node is a relay node that is one level lower and updates information of a lower node that is one level lower and a lower node that is two levels lower in the storage means Delivery method.
前記データ配信システムは、前記配信元ノードと、中継ノードと、複数の配信先ノードとが、前記中継ノードが1段または複数段備えられる木構造のネットワークを構成するように相互に接続されて構成されており、
前記配信元ノード及び中継ノードは、1段下の下位ノードと2段下の下位ノードとの情報を記憶手段内に保持する保持手段と、1段下の中継ノードの障害を検知する手段と、1段下の中継ノードの障害を検知したとき、2段下である中継ノードを1段下の中継ノードとする木構造の構成変更を行う手段と、前記保持手段内の1段下の下位ノードと2段下の下位ノードとの情報を更新する手段とを有して構成されることを特徴とするデータ配信システム。 In a data distribution system that distributes data from a distribution source node to a plurality of distribution destination nodes via a relay node,
The data distribution system is configured such that the distribution source node, relay nodes, and a plurality of distribution destination nodes are connected to each other so as to form a tree-structured network in which the relay nodes are provided in one or more stages. Has been
The distribution source node and the relay node are: a holding unit that holds information of a lower node that is one step lower and a lower node that is two steps lower in a storage unit; a unit that detects a failure of a relay node that is one step lower; Means for changing the structure of a tree structure in which a relay node that is two steps below is detected as a relay node that is one step below when a failure of a relay node that is one step below is detected, and a lower node that is one step below in the holding means And a means for updating the information of the lower-level lower two nodes. A data distribution system comprising:
中継ノードは、1段下の下位ノードと2段下の下位ノードとの情報を記憶手段内に保持する保持手段と、1段下の中継ノードの障害を検知する手段と、1段下の中継ノードの障害を検知したとき、2段下である中継ノードを1段下の中継ノードとする木構造の構成変更を行う手段と、上位ノードからのデータを受信する手段と、受信データを蓄積保存するデータ蓄積キューと、各下位ノードに前記データ蓄積キュー内のどのデータを送信済みかを前記記憶手段に記録する記録手段と、構成変更により下位ノードとなった中継ノードの最終受信データの通番を取得する手段と、前記データ蓄積キューに存在するその最終受信データの通番以降のデータを下位ノードへの送信データとする手段とを有することを特徴とする中継ノード装置。 A distribution source node, a relay node, and a plurality of distribution destination nodes are configured to be connected to each other so as to form a tree-structured network in which the relay node is provided in one or more stages. A relay node in a data distribution system that distributes data to a plurality of distribution destination nodes via a relay node,
The relay node has a storage unit that holds information of a lower node that is one step lower and a lower node that is two steps lower, a unit that detects a failure of the relay node that is one step lower, and a relay that is one step lower When a node failure is detected, a means for changing the structure of a tree structure with a relay node that is two steps lower, a means for receiving data from an upper node, and storing and storing received data Data storage queue, recording means for recording in the storage means which data in the data storage queue has been transmitted to each lower node, and the serial number of the last received data of the relay node that has become a lower node due to the configuration change A relay node apparatus comprising: means for obtaining; and means for setting data after the serial number of the last received data existing in the data accumulation queue as transmission data to a lower node.
1段下の下位ノードと2段下の下位ノードとの情報を記憶手段内に保持するステップと、1段下の中継ノードの障害を検知するステップと、1段下の中継ノードの障害を検知したとき、2段下である中継ノードを1段下の中継ノードとする木構造の構成変更を行うステップと、前記記憶手段内の1段下の下位ノードと2段下の下位ノードとの情報を更新するステップと、上位ノードからのデータを受信するステップと、受信データをデータ蓄積キューに蓄積保存するステップと、各下位ノードに前記データ蓄積キュー内のどのデータを送信済みかを記録するステップと、構成変更により下位ノードとなった中継ノードの最終受信データの通番を取得するステップと、前記データ蓄積キューに存在するその最終受信データの通番以降のデータを下位ノードへの送信データとするステップとを有し、前記各ステップを前記中継ノードのCPUに実行させることを特徴とするデータ中継処理プログラム。 A distribution source node, a relay node, and a plurality of distribution destination nodes are configured to be connected to each other so as to form a tree-structured network in which the relay node is provided in one or more stages. In a data relay processing program at a relay node in a data distribution system that distributes data to a plurality of distribution destination nodes via a relay node,
Storing information in the storage means of the information of the lower node of the lower stage and the lower node of the lower stage, detecting the failure of the relay node of the lower stage, and detecting the failure of the relay node of the lower stage The step of changing the structure of the tree structure in which the relay node that is two steps below is the relay node that is one step below, and information on the lower node that is one step lower and the lower node that is two steps lower in the storage means Updating the data, receiving the data from the upper node, storing and storing the received data in the data storage queue, and recording which data in the data storage queue has been transmitted to each lower node Acquiring the serial number of the last received data of the relay node that has become a lower node due to the configuration change, and the data after the serial number of the last received data existing in the data accumulation queue And a step of transmitting data position to the node, the data relay processing program characterized by executing the steps to the CPU of the relay node.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006324065A JP2008141361A (en) | 2006-11-30 | 2006-11-30 | Data distribution method, data distribution system and node device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006324065A JP2008141361A (en) | 2006-11-30 | 2006-11-30 | Data distribution method, data distribution system and node device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008141361A true JP2008141361A (en) | 2008-06-19 |
Family
ID=39602406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006324065A Pending JP2008141361A (en) | 2006-11-30 | 2006-11-30 | Data distribution method, data distribution system and node device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008141361A (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010257305A (en) * | 2009-04-27 | 2010-11-11 | Fujitsu Ltd | Client device and method of controlling the same |
JP2011182272A (en) * | 2010-03-03 | 2011-09-15 | Alaxala Networks Corp | Multicast relay system, multicast relay apparatus and method for recovering relay control information of multicast relay apparatus |
WO2012156851A1 (en) * | 2011-05-18 | 2012-11-22 | International Business Machines Corporation | Managing a message subscription in a publish/subscribe messaging system |
WO2013136207A1 (en) * | 2012-03-14 | 2013-09-19 | International Business Machines Corporation | Dynamic optimization of a multicast tree hierarchy for a distributed switch |
US8811406B2 (en) | 2012-03-14 | 2014-08-19 | International Business Machines Corporation | Delivering multicast frames to aggregated link trunks in a distributed switch |
US8879553B2 (en) | 2012-03-14 | 2014-11-04 | International Business Machines Corporation | Multicast bandwidth multiplication for a unified distributed switch |
US8913620B2 (en) | 2012-03-14 | 2014-12-16 | International Business Machines Corporation | Multicast traffic generation using hierarchical replication mechanisms for distributed switches |
KR101512645B1 (en) * | 2013-10-30 | 2015-04-16 | 에스케이 텔레콤주식회사 | Apparatus For Data Transferring |
JP2018120537A (en) * | 2017-01-27 | 2018-08-02 | キヤノン株式会社 | Information processing system, method for controlling information processing system, and program therefor |
-
2006
- 2006-11-30 JP JP2006324065A patent/JP2008141361A/en active Pending
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010257305A (en) * | 2009-04-27 | 2010-11-11 | Fujitsu Ltd | Client device and method of controlling the same |
JP2011182272A (en) * | 2010-03-03 | 2011-09-15 | Alaxala Networks Corp | Multicast relay system, multicast relay apparatus and method for recovering relay control information of multicast relay apparatus |
WO2012156851A1 (en) * | 2011-05-18 | 2012-11-22 | International Business Machines Corporation | Managing a message subscription in a publish/subscribe messaging system |
GB2509390B (en) * | 2011-05-18 | 2018-02-21 | Ibm | Managing a message subscription in a publish/subscribe messaging system |
GB2509390A (en) * | 2011-05-18 | 2014-07-02 | Ibm | Managing a message subscription in a publish/subscribe messaging system |
US8954504B2 (en) | 2011-05-18 | 2015-02-10 | International Business Machines Corporation | Managing a message subscription in a publish/subscribe messaging system |
US8879553B2 (en) | 2012-03-14 | 2014-11-04 | International Business Machines Corporation | Multicast bandwidth multiplication for a unified distributed switch |
GB2513510A (en) * | 2012-03-14 | 2014-10-29 | Ibm | Dynamic optimization of a multicast tree hierarchy for a distributed switch |
US8824483B2 (en) | 2012-03-14 | 2014-09-02 | International Business Machines Corporation | Delivering multicast frames to aggregated link trunks in a distributed switch |
US8897301B2 (en) | 2012-03-14 | 2014-11-25 | International Business Machines Corporation | Multicast bandwidth multiplication for a unified distributed switch |
US8913620B2 (en) | 2012-03-14 | 2014-12-16 | International Business Machines Corporation | Multicast traffic generation using hierarchical replication mechanisms for distributed switches |
US8937959B2 (en) | 2012-03-14 | 2015-01-20 | International Business Machines Corporation | Multicast traffic generation using hierarchical replication mechanisms for distributed switches |
US8953619B2 (en) | 2012-03-14 | 2015-02-10 | International Business Machines Corporation | Dynamic optimization of a multicast tree hierarchy for a distributed switch |
US8811406B2 (en) | 2012-03-14 | 2014-08-19 | International Business Machines Corporation | Delivering multicast frames to aggregated link trunks in a distributed switch |
US8958427B2 (en) | 2012-03-14 | 2015-02-17 | International Business Machines Corporation | Dynamic optimization of a multicast tree hierarchy for a distributed switch |
GB2513510B (en) * | 2012-03-14 | 2015-05-13 | Ibm | Dynamic optimization of a multicast tree hierarchy for a distributed switch |
WO2013136207A1 (en) * | 2012-03-14 | 2013-09-19 | International Business Machines Corporation | Dynamic optimization of a multicast tree hierarchy for a distributed switch |
KR101512645B1 (en) * | 2013-10-30 | 2015-04-16 | 에스케이 텔레콤주식회사 | Apparatus For Data Transferring |
JP2018120537A (en) * | 2017-01-27 | 2018-08-02 | キヤノン株式会社 | Information processing system, method for controlling information processing system, and program therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008141361A (en) | Data distribution method, data distribution system and node device | |
JP3578385B2 (en) | Computer and replica identity maintaining method | |
US9197494B2 (en) | Communication system, control device, node, processing rule setting method and program | |
JP5776267B2 (en) | Distributed file system | |
CN101414949B (en) | Chain data transmission method, node and system | |
US20070204275A1 (en) | Method and system for reliable message delivery | |
US7543029B2 (en) | Mailing list management system and electronic mail transmitting/receiving apparatus | |
US6826148B1 (en) | System and method for implementing a routing scheme in a computer network using intention packets when fault conditions are detected | |
US20130139178A1 (en) | Cluster management system and method | |
WO2021147793A1 (en) | Data processing method, apparatus and system, electronic device and computer storage medium | |
CN108509297A (en) | A kind of data back up method and system | |
US6836793B1 (en) | Method of distributing data packets of system software where the receiving units acknowledge only proper reception | |
JP5092790B2 (en) | Software update management system and agent program | |
CN104780065A (en) | Hot spare method and system for TCP (transmission control protocol) | |
US6741561B1 (en) | Routing mechanism using intention packets in a hierarchy or networks | |
JP2006048122A (en) | Communication system | |
KR101650691B1 (en) | Method and apparatus for operating distributed controllers of software defined network | |
JP2004318274A (en) | Relay type contents distributing method and apparatus and program | |
JP2008124977A (en) | Method, apparatus, and program of message delivery | |
JPWO2018056044A1 (en) | Computer, cluster management system, method and program | |
US9071563B2 (en) | Data storing method used for data store server in mailing system | |
CN111585795B (en) | Software storing, loading and upgrading method and system for communication equipment | |
KR101486546B1 (en) | Duplication system and method for treating system failure | |
KR100608394B1 (en) | Device and method for database synchronization interface | |
US6925056B1 (en) | System and method for implementing a routing scheme using intention packets in a computer network |