JP5246060B2 - Control method, control device, and storage medium - Google Patents

Control method, control device, and storage medium Download PDF

Info

Publication number
JP5246060B2
JP5246060B2 JP2009150301A JP2009150301A JP5246060B2 JP 5246060 B2 JP5246060 B2 JP 5246060B2 JP 2009150301 A JP2009150301 A JP 2009150301A JP 2009150301 A JP2009150301 A JP 2009150301A JP 5246060 B2 JP5246060 B2 JP 5246060B2
Authority
JP
Japan
Prior art keywords
control information
packet
terminal
node
unit
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.)
Active
Application number
JP2009150301A
Other languages
Japanese (ja)
Other versions
JP2011009969A (en
Inventor
健太郎 池本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2009150301A priority Critical patent/JP5246060B2/en
Publication of JP2011009969A publication Critical patent/JP2011009969A/en
Application granted granted Critical
Publication of JP5246060B2 publication Critical patent/JP5246060B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、制御方法、制御装置及び記憶媒体に関する。   The present invention relates to a control method, a control device, and a storage medium.

近年、無線端末(例えば「ノード」)が自律分散的に相互接続するアドホックネットワークの研究が進められている。アドホックネットワークにおいては、アクセスポイントは設置されず、各ノードが、隣接ノードから受信したパケットを通信経路情報に基づき他の隣接ノードに中継することで、通信経路を形成する。   In recent years, research on ad hoc networks in which wireless terminals (for example, “nodes”) are interconnected in an autonomous distributed manner has been underway. In an ad hoc network, no access point is installed, and each node forms a communication path by relaying a packet received from an adjacent node to another adjacent node based on the communication path information.

ところで、アドホックネットワークにおいては、電波強度の変化やノードの移動などに伴いネットワーク環境が頻繁に変化する。このため、アドホックネットワークに接続する各ノードは、他ノードとの間で通信を行う前に通信経路制御を行う。   By the way, in an ad hoc network, the network environment frequently changes with changes in radio field intensity or movement of nodes. For this reason, each node connected to the ad hoc network performs communication path control before communicating with other nodes.

例えば、従来、各ノードは、ピュアフラッディングと呼ばれる手法によって通信経路制御を行っている。具体的には、各ノードは、自ノードが認知している他ノードとの通信経路を確認することを目的として、他ノードを最終宛先とする要求制御情報(例えば「HELLOパケット」)を送信する。すると、HELLOパケットを受信した各ノードは、最終宛先が自ノードであるか否かを判定し、最終宛先が自ノードである場合には、自ノードが存在することを示す存在制御情報(例えば「REGISTERパケット」)を返信する。一方、最終宛先が自ノードでない場合には、HELLOパケットを隣接ノードに中継する。   For example, conventionally, each node performs communication path control by a technique called pure flooding. Specifically, each node transmits request control information (for example, “HELLO packet”) with the other node as the final destination for the purpose of confirming the communication path with the other node recognized by the node. . Then, each node that has received the HELLO packet determines whether or not the final destination is its own node. If the final destination is its own node, presence control information (for example, “ REGISTER packet ") is returned. On the other hand, if the final destination is not the local node, the HELLO packet is relayed to the adjacent node.

特開2008−47984号公報JP 2008-47984 A

しかしながら、上記した従来の手法では、ネットワークの負荷が高くなってしまうという課題があった。すなわち、HELLOパケットの発信源となる発信源ノードは、自ノードが認知している他ノードの数分HELLOパケットを送信しなければならず、他ノードが増えれば増えるほど、HELLOパケットはネットワークの負荷要因となっていた。   However, the above-described conventional method has a problem that the load on the network increases. That is, the source node that is the source of the HELLO packet must transmit HELLO packets as many as the number of other nodes that the node recognizes, and the more nodes increase, the more HELLO packets are loaded on the network. It was a factor.

開示の技術は、上記に鑑みてなされたものであって、ネットワークの負荷を抑えることが可能な制御方法、制御装置及び記憶媒体を提供することを目的とする。   The disclosed technology has been made in view of the above, and an object thereof is to provide a control method, a control device, and a storage medium capable of suppressing a load on a network.

本願の開示する制御方法、制御装置及び記憶媒体は、一つの態様において、複数の端末が接続されたネットワークにおける任意の特定端末が、存在確認を求める要求制御情報を他の端末から受信して、該要求制御情報を処理する制御方法である。特定端末は、存在確認を求める要求制御情報を他の端末から受信する受信ステップを含む。また、特定端末は、前記受信ステップによって受信された前記要求制御情報を、前記他の端末とは異なる端末に中継する中継ステップを含む。また、特定端末は、前記受信ステップによって受信された前記要求制御情報から該要求制御情報を最初に送信した端末である発信源端末を識別し、識別した該発信源端末を、前記特定端末が存在することを示す存在制御情報の最終宛先として設定して存在制御情報を生成する生成ステップを含む。また、特定端末は、前記発信源端末から前記特定端末までの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内に他の端末から受信した存在制御情報と、前記生成ステップによって生成された存在制御情報とを統合する統合ステップを含む。また、特定端末は、前記統合ステップによって統合された存在制御情報を、前記要求制御情報を該特定端末に送信した前記他の端末に送信する返信ステップを含む。   In one aspect, a control method, a control device, and a storage medium disclosed in the present application receive request control information for requesting existence confirmation from another terminal in a network to which a plurality of terminals are connected. A control method for processing the request control information. The specific terminal includes a reception step of receiving request control information for requesting existence confirmation from another terminal. The specific terminal includes a relay step of relaying the request control information received in the reception step to a terminal different from the other terminals. In addition, the specific terminal identifies the source terminal that is the terminal that first transmitted the request control information from the request control information received in the reception step, and the identified terminal exists as the identified source terminal. A generation step of generating presence control information by setting as a final destination of presence control information indicating that the In addition, the specific terminal sets a predetermined standby time so as to be a relatively short time if the number of terminals that have passed through the communication path from the source terminal to the specific terminal is relatively large, and the set standby time An integration step of integrating the presence control information received from another terminal within the time and the presence control information generated by the generation step. The specific terminal includes a return step of transmitting the presence control information integrated in the integration step to the other terminal that has transmitted the request control information to the specific terminal.

本願の開示する制御方法、制御装置及び記憶媒体の一つの態様によれば、ネットワークの負荷を抑えることが可能になるという効果を奏する。   According to one aspect of the control method, the control device, and the storage medium disclosed in the present application, there is an effect that it is possible to suppress the load on the network.

図1は、実施例1におけるネットワークシステムの構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of a network system according to the first embodiment. 図2は、実施例1におけるネットワークシステムの処理手順を示すシーケンス図である。FIG. 2 is a sequence diagram illustrating a processing procedure of the network system according to the first embodiment. 図3は、実施例2におけるアドホックネットワークシステムの概要を説明するための図である。FIG. 3 is a diagram for explaining the outline of the ad hoc network system according to the second embodiment. 図4は、実施例2におけるアドホックネットワークシステムの構成を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration of the ad hoc network system according to the second embodiment. 図5−1は、実施例2におけるパケット及びルーティングテーブルを説明するための図である。FIG. 5A is a schematic diagram illustrating a packet and a routing table according to the second embodiment. 図5−2は、実施例2におけるパケット及びルーティングテーブルを説明するための図である。FIG. 5B is a schematic diagram illustrating a packet and a routing table according to the second embodiment. 図6は、ノードにおける処理手順の全体を説明するためのフローチャートである。FIG. 6 is a flowchart for explaining the entire processing procedure in the node. 図7は、ルーティングテーブルの更新処理を説明するためのフローチャートである。FIG. 7 is a flowchart for explaining routing table update processing. 図8は、HELLOパケットの中継処理を説明するためのフローチャートである。FIG. 8 is a flowchart for explaining the HELLO packet relay process. 図9は、REGISTERパケットの返信処理を説明するためのフローチャートである。FIG. 9 is a flowchart for explaining a REGISTER packet return process. 図10は、REGISTERパケットの生成処理を説明するためのフローチャートである。FIG. 10 is a flowchart for explaining processing for generating a REGISTER packet. 図11−1は、実施例3におけるパケット及びルーティングテーブルを説明するための図である。FIG. 11A is a schematic diagram illustrating a packet and a routing table according to the third embodiment. 図11−2は、実施例3におけるパケット及びルーティングテーブルを説明するための図である。FIG. 11B is a schematic diagram illustrating a packet and a routing table according to the third embodiment. 図12は、制御プログラムを実行するコンピュータを示す図である。FIG. 12 is a diagram illustrating a computer that executes a control program.

以下、本願の開示する制御方法、制御装置及び記憶媒体の実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。   Hereinafter, embodiments of a control method, a control apparatus, and a storage medium disclosed in the present application will be described. In addition, this invention is not limited by the following examples.

[実施例1におけるネットワークシステムの構成]
まず、図1を用いて、実施例1におけるネットワークシステムの構成を説明する。図1は、実施例1におけるネットワークシステムの構成を示すブロック図である。
[Configuration of Network System in Embodiment 1]
First, the configuration of the network system according to the first embodiment will be described with reference to FIG. FIG. 1 is a block diagram illustrating a configuration of a network system according to the first embodiment.

図1に示すように、実施例1におけるネットワーク1には、複数の端末が接続されている。ここで、特定端末10は、任意の端末であり、存在確認を求める要求制御情報を他の端末から受信して、該要求制御情報を処理する。また、発信源端末20は、要求制御情報を最初に送信した端末である。   As shown in FIG. 1, a plurality of terminals are connected to the network 1 in the first embodiment. Here, the specific terminal 10 is an arbitrary terminal, receives request control information for requesting existence confirmation from another terminal, and processes the request control information. The source terminal 20 is a terminal that first transmits request control information.

図1に示すように、特定端末10は、要求制御情報受信部11と、要求制御情報中継部12と、存在制御情報生成部13と、存在制御情報統合部14と、存在制御情報返信部15とを備える。   As shown in FIG. 1, the specific terminal 10 includes a request control information reception unit 11, a request control information relay unit 12, a presence control information generation unit 13, a presence control information integration unit 14, and a presence control information return unit 15. With.

要求制御情報受信部11は、要求制御情報を他の端末から受信する。   The request control information receiving unit 11 receives request control information from another terminal.

要求制御情報中継部12は、要求制御情報受信部11によって受信された要求制御情報を、要求制御情報を特定端末10に送信した端末とは異なる端末に中継する。   The request control information relay unit 12 relays the request control information received by the request control information receiving unit 11 to a terminal different from the terminal that transmitted the request control information to the specific terminal 10.

存在制御情報生成部13は、要求制御情報受信部11によって受信された要求制御情報から発信源端末20を識別する。また、存在制御情報生成部13は、識別した発信源端末20を、特定端末10が存在することを示す存在制御情報の最終宛先として設定して存在制御情報を生成する。   The presence control information generation unit 13 identifies the source terminal 20 from the request control information received by the request control information reception unit 11. In addition, the presence control information generation unit 13 sets the identified transmission source terminal 20 as the final destination of presence control information indicating that the specific terminal 10 exists, and generates presence control information.

存在制御情報統合部14は、発信源端末20から特定端末10までの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定する。そして、存在制御情報統合部14は、設定した待機時間内に他の端末から受信した存在制御情報と、存在制御情報生成部13によって生成された存在制御情報とを統合する。   The presence control information integration unit 14 sets a predetermined standby time so as to be a relatively short time if the number of terminals that have passed through the communication path from the transmission source terminal 20 to the specific terminal 10 is relatively large. Then, the presence control information integration unit 14 integrates the presence control information received from another terminal within the set standby time and the presence control information generated by the presence control information generation unit 13.

存在制御情報返信部15は、存在制御情報統合部14によって統合された存在制御情報を、要求制御情報を特定端末10に送信した端末に送信する。   The presence control information return unit 15 transmits the presence control information integrated by the presence control information integration unit 14 to the terminal that transmitted the request control information to the specific terminal 10.

[実施例1におけるネットワークシステムの処理手順]
次に、図2を用いて、実施例1におけるネットワークシステムの処理手順を説明する。図2は、実施例1におけるネットワークシステムの処理手順を示すシーケンス図である。
[Processing Procedure of Network System in First Embodiment]
Next, the processing procedure of the network system according to the first embodiment will be described with reference to FIG. FIG. 2 is a sequence diagram illustrating a processing procedure of the network system according to the first embodiment.

図2に示すように、特定端末10が要求制御情報を受信する(ステップS1)。   As shown in FIG. 2, the specific terminal 10 receives the request control information (step S1).

要求制御情報を受信した特定端末10は、要求制御情報を端末30に中継する(ステップS2)。   The specific terminal 10 that has received the request control information relays the request control information to the terminal 30 (step S2).

ここで、特定端末10は、発信源端末20から特定端末10までの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内、他の端末30から存在制御情報を受信する(ステップS3、S4)。   Here, the specific terminal 10 sets and sets a predetermined standby time so that the time is relatively short if the number of terminals that have passed through the communication path from the source terminal 20 to the specific terminal 10 is relatively large. Within the waiting time, presence control information is received from other terminals 30 (steps S3 and S4).

そして、特定端末10は、特定端末10が存在することを示す存在制御情報を生成し、生成した存在制御情報と、設定した待機時間内に他の端末から受信した存在制御情報とを統合する(ステップS5)。具体的には、特定端末10は、ステップS1において受信した要求制御情報から発信源端末20を識別し、識別した該発信源端末20を、特定端末10が存在することを示す存在制御情報の最終宛先として設定して存在制御情報を生成する。そして、特定端末10は、生成した存在制御情報と他の端末から受信した存在制御情報とを統合する。   And the specific terminal 10 produces | generates presence control information which shows that the specific terminal 10 exists, and integrates the produced | generated presence control information and the presence control information received from the other terminal within the set waiting time ( Step S5). Specifically, the specific terminal 10 identifies the source terminal 20 from the request control information received in step S1, and uses the identified source terminal 20 as the final presence control information indicating that the specific terminal 10 exists. The presence control information is generated by setting as a destination. Then, the specific terminal 10 integrates the generated presence control information with the presence control information received from another terminal.

その後、特定端末10は、ステップS5において統合した統合済み存在制御情報を、要求制御情報を特定端末10に送信した端末30に送信する(ステップS6)。   Thereafter, the specific terminal 10 transmits the integrated presence control information integrated in step S5 to the terminal 30 that has transmitted the request control information to the specific terminal 10 (step S6).

なお、実施例1においては、特定端末10が、ステップS2において要求制御情報を中継し、待機時間を経過した後に、ステップS5において存在制御情報を生成し、統合する処理手順を説明したが、これに限られるものではない。例えば、存在制御情報を生成する処理とステップS2の処理とが併行して行われ、待機時間を経過した後に、存在制御情報を統合する処理を行ってもよい。   In the first embodiment, the specific terminal 10 relays the request control information in step S2, and after the standby time has elapsed, the processing procedure for generating and integrating the presence control information in step S5 has been described. It is not limited to. For example, the process of generating the presence control information and the process of step S2 may be performed in parallel, and the process of integrating the presence control information may be performed after the standby time has elapsed.

[実施例1の効果]
上記してきたように、実施例1によれば、要求制御情報を受信した特定端末10は、要求制御情報を他の端末に中継し、かつ、存在制御情報を発信源端末20に返信する。また、特定端末10は、発信源端末20から特定端末10までの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように設定された待機時間待機し、その間に他の端末から受信した存在制御情報と、自端末にて生成した存在制御情報とを統合する。言い換えると、発信源端末20からの距離が近ければ近い特定端末10ほど長い待機時間を設定し、待機時間内に他の端末から収集した存在制御情報をまとめて発信源端末20に返信する。このため、パケットの数が減少し、ネットワークの負荷を抑えることが可能になる。
[Effect of Example 1]
As described above, according to the first embodiment, the specific terminal 10 that has received the request control information relays the request control information to another terminal and returns the presence control information to the source terminal 20. In addition, the specific terminal 10 waits for a standby time that is set to be a relatively short time if the number of terminals that have passed through the communication path from the source terminal 20 to the specific terminal 10 is relatively large. The presence control information received from other terminals and the presence control information generated by the own terminal are integrated. In other words, if the distance from the source terminal 20 is short, the longer the specific terminal 10 is set, the longer the standby time is set, and the presence control information collected from the other terminals is collectively returned within the standby time to the source terminal 20. For this reason, the number of packets is reduced, and the network load can be suppressed.

[実施例2におけるアドホックネットワークシステムの概要]
続いて、本願の開示する制御方法、制御装置及び記憶媒体の実施例として、アドホックネットワークシステムを説明する。まず、図3を用いて、実施例2におけるアドホックネットワークシステムの概要を説明する。図3は、実施例2におけるアドホックネットワークシステムの概要を説明するための図である。
[Outline of Ad Hoc Network System in Embodiment 2]
Subsequently, an ad hoc network system will be described as an embodiment of a control method, a control apparatus, and a storage medium disclosed in the present application. First, the outline of the ad hoc network system according to the second embodiment will be described with reference to FIG. FIG. 3 is a diagram for explaining the outline of the ad hoc network system according to the second embodiment.

図3に示すように、実施例2におけるアドホックネットワークには、少なくともノードX、ノードY、ノードZが接続されている。ここで、ノードY及びノードZは、任意のノードであり、存在確認を求めるHELLOパケットを他のノードから受信して、該HELLOパケットを処理する。また、ノードXは、HELLOパケットを最初に送信した送信元ノードである。   As shown in FIG. 3, at least a node X, a node Y, and a node Z are connected to the ad hoc network in the second embodiment. Here, the node Y and the node Z are arbitrary nodes, receive HELLO packets for requesting existence confirmation from other nodes, and process the HELLO packets. Node X is a transmission source node that first transmits a HELLO packet.

図3に示すように、ノードXがHELLOパケットを送信し、ノードYがHELLOパケットを受信する(ステップS10)。   As illustrated in FIG. 3, the node X transmits a HELLO packet, and the node Y receives the HELLO packet (step S10).

HELLOパケットを受信したノードYは、ノードXとは異なるノードZにHELLOパケットを中継し、ノードZがHELLOパケットを受信する(ステップS11)。また、HELLOパケットを受信したノードZは、ノードYとは異なるノードにHELLOパケットを中継する(ステップS12)。   The node Y that has received the HELLO packet relays the HELLO packet to the node Z different from the node X, and the node Z receives the HELLO packet (step S11). Further, the node Z that has received the HELLO packet relays the HELLO packet to a node different from the node Y (step S12).

ここで、ノードZは、ノードXからノードZまでの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内、他のノードからREGISTERパケットを受信する(ステップS13)。   Here, the node Z sets a predetermined standby time so as to be a relatively short time if the number of terminals that have passed through the communication path from the node X to the node Z is relatively large, and within the set standby time The REGISTER packet is received from another node (step S13).

そして、ノードZは、ノードZが存在することを示すREGISTERパケットを生成し、生成したREGISTERパケットと、設定した待機時間内に他のノードから受信したREGISTERパケットとを統合する(ステップS14)。具体的には、ノードZは、ステップS11において受信したHELLOパケットから送信元ノードとしてノードXを識別し、識別したノードXを、ノードZが存在することを示すREGISTERパケットの最終宛先として設定してREGISTERパケットを生成する。そして、ノードZは、生成したREGISTERパケットと他のノードから受信したREGISTERパケットとを統合する。   Then, the node Z generates a REGISTER packet indicating that the node Z exists, and integrates the generated REGISTER packet with the REGISTER packet received from another node within the set waiting time (step S14). Specifically, the node Z identifies the node X as the transmission source node from the HELLO packet received in step S11, and sets the identified node X as the final destination of the REGISTER packet indicating that the node Z exists. A REGISTER packet is generated. Then, the node Z integrates the generated REGISTER packet and the REGISTER packet received from another node.

その後、ノードZは、ステップS14において統合した統合済みREGISTERパケットを、HELLOパケットをノードZに送信したノードYに送信する(ステップS15)。   Thereafter, the node Z transmits the integrated REGISTER packet integrated in step S14 to the node Y that transmitted the HELLO packet to the node Z (step S15).

一方、ノードYは、ノードXからノードYまでの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内、他のノードからREGISTERパケットを受信する(ステップS16)。ここで、ノードZが設定した待機時間とノードYが設定した待機時間とを比較すると、図3に示すように、ノードZが設定した待機時間の方が相対的に短い時間であることがわかる。   On the other hand, the node Y sets a predetermined waiting time to be a relatively short time if the number of terminals that have passed through the communication path from the node X to the node Y is relatively large, and within the set waiting time, A REGISTER packet is received from another node (step S16). Here, comparing the standby time set by the node Z with the standby time set by the node Y, it can be seen that the standby time set by the node Z is relatively shorter as shown in FIG. .

そして、ノードYは、ノードYが存在することを示すREGISTERパケットを生成し、生成したREGISTERパケットと、設定した待機時間内に他のノードから受信したREGISTERパケットとを統合する(ステップS17)。具体的には、ノードYは、ステップS10において受信したHELLOパケットから送信元ノードとしてノードXを識別し、識別したノードXを、ノードYが存在することを示すREGISTERパケットの最終宛先として設定してREGISTERパケットを生成する。そして、ノードYは、生成したREGISTERパケットと、ノードZから受信したREGISTERパケットとを統合する。   Then, the node Y generates a REGISTER packet indicating that the node Y exists, and integrates the generated REGISTER packet with the REGISTER packet received from another node within the set waiting time (step S17). Specifically, the node Y identifies the node X as the transmission source node from the HELLO packet received in step S10, and sets the identified node X as the final destination of the REGISTER packet indicating that the node Y exists. A REGISTER packet is generated. Then, the node Y integrates the generated REGISTER packet and the REGISTER packet received from the node Z.

その後、ノードYは、ステップS17において統合した統合済みREGISTERパケットを、HELLOパケットをノードYに送信したノードXに送信する(ステップS18)。   Thereafter, the node Y transmits the integrated REGISTER packet integrated in step S17 to the node X that transmitted the HELLO packet to the node Y (step S18).

このようなことから、実施例2によれば、HELLOパケットを受信したノードYは、HELLOパケットを他のノードZに中継し、かつ、REGISTERパケットをノードXに返信する。また、ノードYは、送信元ノードから自ノードまでの通信経路上で経由したノード数が相対的に多ければ相対的に短い時間となるように設定された待機時間待機し、その間に他のノードから受信したREGISTERパケットと、自ノードにて生成したREGISTERパケットとを統合する。言い換えると、送信元ノードからの距離が近ければ近いノードほど長い待機時間を設定し、待機時間内に他のノードから収集したREGISTERパケットをまとめて送信元ノードに返信する。このため、パケットの数が減少し、ネットワークの負荷を抑えることが可能になる。   For this reason, according to the second embodiment, the node Y that has received the HELLO packet relays the HELLO packet to another node Z and returns a REGISTER packet to the node X. In addition, the node Y waits for a standby time that is set to be a relatively short time if the number of nodes that have passed through on the communication path from the transmission source node to the own node is relatively large, while other nodes wait The REGISTER packet received from the node and the REGISTER packet generated by the own node are integrated. In other words, the longer the distance from the transmission source node, the longer the standby time is set, and the REGISTER packets collected from other nodes are collectively returned within the standby time to the transmission source node. For this reason, the number of packets is reduced, and the network load can be suppressed.

[実施例2におけるアドホックネットワークシステムの構成]
次に、図4及び図5−1、図5−2を用いて、実施例2におけるアドホックネットワークシステムの構成を説明する。図4は、実施例2におけるアドホックネットワークシステムの構成を示すブロック図である。図5−1及び図5−2は、実施例2におけるパケット及びルーティングテーブルを説明するための図である。
[Configuration of Ad Hoc Network System in Embodiment 2]
Next, the configuration of the ad hoc network system according to the second embodiment will be described with reference to FIGS. 4, 5-1, and 5-2. FIG. 4 is a block diagram illustrating a configuration of the ad hoc network system according to the second embodiment. FIGS. 5A and 5B are diagrams for explaining a packet and a routing table according to the second embodiment.

図4に示すように、ノード100は、通信部110と、記憶部120と、制御部130とを備える。   As illustrated in FIG. 4, the node 100 includes a communication unit 110, a storage unit 120, and a control unit 130.

通信部110は、無線通信可能な無線モジュール及びアンテナなどである。   The communication unit 110 is a wireless module and an antenna that can perform wireless communication.

記憶部120は、制御部130による各種処理に用いるデータを記憶し、特に、ルーティングテーブル部121と、ワークデータ部122とを備える。   The storage unit 120 stores data used for various processes by the control unit 130, and particularly includes a routing table unit 121 and a work data unit 122.

ルーティングテーブル部121は、通信経路情報を記憶する。ここで、通信経路情報とは、宛先となるノードにパケットを送信する際の通信経路を示す情報である。言い換えると、通信経路情報とは、パケットの宛先となるノードと、パケットを中継するノードとの対応関係を示す情報である。また、ルーティングテーブル部121は、対応関係を示す情報の他に、通信経路の品質を示す品質情報や、通信経路情報を取得したパケットを一意に識別するFID(Frame ID)、待機時間を管理するタイマーを記憶する。   The routing table unit 121 stores communication path information. Here, the communication path information is information indicating a communication path when a packet is transmitted to a destination node. In other words, the communication path information is information indicating a correspondence relationship between a node that is a packet destination and a node that relays the packet. In addition to the information indicating the correspondence relationship, the routing table unit 121 manages quality information indicating the quality of the communication path, an FID (Frame ID) for uniquely identifying the packet from which the communication path information has been acquired, and a waiting time. Memorize the timer.

具体的には、ルーティングテーブル部121は、後述するパケット受信部131によってパケットが受信された場合に、後述するルーティングテーブル更新部132によって更新されることで通信経路情報を記憶する。また、ルーティングテーブル部121が記憶する通信経路情報は、後述するHELLOパケット中継部133による処理、REGISTERパケット返信部135による処理などに利用される。   Specifically, the routing table unit 121 stores communication path information by being updated by a routing table updating unit 132 described later when a packet is received by a packet receiving unit 131 described later. The communication path information stored in the routing table unit 121 is used for processing by a HELLO packet relay unit 133 described later, processing by a REGISTER packet return unit 135, and the like.

例えば、ルーティングテーブル部121は、図5−1に示すように、通信経路情報(図5−1及び図5−2において「ルーティングテーブル」と示す)を記憶する。すなわち、ルーティングテーブル部121は、パケットの宛先となるノードを示す宛先ノード(『宛先』)と、パケットを中継するノードの内、自ノードと相互に接続するノードを示す隣接ノード(『隣接』)とを対応付けて記憶する。また、ルーティングテーブル部121は、宛先ノードとの間でパケットを送受信する通信経路の品質(『品質』)と、通信経路情報を取得したパケットを一意に識別するFID(『FID』)と、待機時間を管理するタイマー(『タイマー』)とを対応付けて記憶する。ここで、品質は、例えばホップ数から算出される値である。また、タイマーは、予め設定された最大値からホップ数を差し引くことで算出される値であって、時間の経過ごとに『1』差し引くことで算出される値である。   For example, as illustrated in FIG. 5A, the routing table unit 121 stores communication path information (indicated as “routing table” in FIGS. 5A and 5B). That is, the routing table unit 121 includes a destination node (“destination”) indicating a node that is a packet destination, and an adjacent node (“adjacent”) indicating a node that interconnects with the own node among nodes that relay packets. Are stored in association with each other. The routing table unit 121 also includes a communication path quality (“quality”) for transmitting / receiving packets to / from the destination node, a FID (“FID”) for uniquely identifying the packet from which the communication path information has been acquired, and a standby A timer for managing time (“timer”) is stored in association with each other. Here, the quality is a value calculated from the number of hops, for example. The timer is a value calculated by subtracting the number of hops from a preset maximum value, and is a value calculated by subtracting “1” every time.

具体的に例を挙げて説明すると、例えば、図5−1のS102に示すように、ルーティングテーブル部121は、宛先ノード『W』、品質『1』、隣接ノード『W』、FID『1』、タイマー『3』の通信経路情報を記憶する。すなわち、ルーティングテーブル部121は、ノード『W』を宛先としてパケットを送信する場合には隣接ノード『W』に送信する通信経路があり、経路の品質が『1』であることを記憶する。また、ルーティングテーブル部121は、当該通信経路情報を取得したパケットを一意に識別するFIDが『1』であり、待機時間が現時点で『3』であることを記憶する。   Specifically, for example, as shown in S102 of FIG. 5A, the routing table unit 121 includes a destination node “W”, a quality “1”, an adjacent node “W”, and an FID “1”. The communication path information of timer “3” is stored. That is, the routing table unit 121 stores that there is a communication path to be transmitted to the adjacent node “W” when the packet is transmitted with the node “W” as the destination, and the quality of the path is “1”. Further, the routing table unit 121 stores that the FID for uniquely identifying the packet from which the communication path information has been acquired is “1”, and that the standby time is “3” at the present time.

ワークデータ部122は、ルーティングテーブル部121や、HELLOパケット、REGISTERパケットと同じ構造の記憶領域を持つ。ワークデータ部122は、ルーティングテーブル部121に格納する前の不確定な通信経路情報を一時的に記憶したり、HELLOパケット、REGISTERパケットを生成する際の不確定な情報を一時的に記憶する。   The work data unit 122 has a storage area having the same structure as the routing table unit 121, the HELLO packet, and the REGISTER packet. The work data unit 122 temporarily stores indeterminate communication path information before being stored in the routing table unit 121, and temporarily stores indeterminate information when generating a HELLO packet and a REGISTER packet.

制御部130は、ノード100を制御して各種処理を実行する。制御部130は、特に、パケット受信部131と、ルーティングテーブル更新部132と、HELLOパケット中継部133と、REGISTERパケット統合部134と、REGISTERパケット返信部135とを備える。   The control unit 130 controls the node 100 to execute various processes. In particular, the control unit 130 includes a packet reception unit 131, a routing table update unit 132, a HELLO packet relay unit 133, a REGISTER packet integration unit 134, and a REGISTER packet return unit 135.

パケット受信部131は、HELLOパケットやREGISTERパケットを他のノードから受信する。具体的には、パケット受信部131は、隣接ノードから通信部110を介してパケットを受信すると、受信したパケットがHELLOパケットであるかREGISTERパケットであるか、あるいは通常のデータパケットであるかを判定する。   The packet receiving unit 131 receives a HELLO packet or a REGISTER packet from another node. Specifically, when the packet receiving unit 131 receives a packet from an adjacent node via the communication unit 110, the packet receiving unit 131 determines whether the received packet is a HELLO packet, a REGISTER packet, or a normal data packet. To do.

パケット受信部131は、受信したパケットがHELLOパケットもしくはREGISTERパケットであると判定した場合には、受信したパケットをルーティングテーブル更新部132に送る。一方、受信したパケットが通常のデータパケットであると判定した場合には、通常のデータパケット処理を行い、処理を終了する。   When the packet reception unit 131 determines that the received packet is a HELLO packet or a REGISTER packet, the packet reception unit 131 sends the received packet to the routing table update unit 132. On the other hand, when it is determined that the received packet is a normal data packet, normal data packet processing is performed, and the processing ends.

ルーティングテーブル更新部132は、ルーティングテーブル部121によって記憶される通信経路情報(ルーティングテーブル)を更新する。具体的には、ルーティングテーブル更新部132は、パケット受信部131からHELLOパケットもしくはREGISTERパケットを受け取ると、HELLOパケットもしくはREGISTERパケットを一意に識別するFIDを用いてルーティングテーブルを参照する。そして、ルーティングテーブル更新部132は、HELLOパケットもしくはREGISTERパケットに含まれるFIDと一致するFIDがルーティングテーブルに存在するか否かを判定する。ルーティングテーブル更新部132は、存在しないと判定した場合には、ルーティングテーブル更新処理を行い、存在すると判定した場合には、そのまま処理を終了する。   The routing table update unit 132 updates communication path information (routing table) stored by the routing table unit 121. Specifically, when receiving the HELLO packet or the REGISTER packet from the packet receiving unit 131, the routing table updating unit 132 refers to the routing table using an FID that uniquely identifies the HELLO packet or the REGISTER packet. Then, the routing table update unit 132 determines whether or not a FID that matches the FID included in the HELLO packet or the REGISTER packet exists in the routing table. The routing table update unit 132 performs a routing table update process when it is determined that it does not exist, and ends the process as it is when it is determined that it exists.

また、ルーティングテーブル更新部132は、HELLOパケットについてルーティングテーブル更新処理を行った場合には、その後、HELLOパケットをHELLOパケット中継部133に送る。一方、ルーティングテーブル更新部132は、REGISTERパケットについてルーティングテーブル更新処理を行った場合には、その後、REGISTERパケットをREGISTERパケット統合部134に送る。なお、ルーティングテーブル更新処理については、処理手順を説明する際に詳述する。   In addition, when the routing table update unit 132 performs the routing table update process for the HELLO packet, the routing table update unit 132 then sends the HELLO packet to the HELLO packet relay unit 133. On the other hand, when the routing table update unit 132 performs the routing table update process for the REGISTER packet, the routing table update unit 132 then sends the REGISTER packet to the REGISTER packet integration unit 134. The routing table update process will be described in detail when explaining the processing procedure.

HELLOパケット中継部133は、HELLOパケットを他のノードに中継する。具体的には、HELLOパケット中継部133は、ルーティングテーブル更新部132からHELLOパケットを受け取ると、HELLOパケットの中継処理を行う。また、HELLOパケット中継部133は、HELLOパケットの中継処理を行うと、その後、ルーティングテーブル更新部132から受け取ったHELLOパケットを、REGISTERパケット統合部134に送る。なお、HELLOパケットの中継処理については、処理手順を説明する際に詳述する。   The HELLO packet relay unit 133 relays the HELLO packet to other nodes. Specifically, when the HELLO packet relay unit 133 receives a HELLO packet from the routing table update unit 132, the HELLO packet relay unit 133 performs a HELLO packet relay process. When the HELLO packet relay unit 133 performs the HELLO packet relay process, the HELLO packet relay unit 133 then sends the HELLO packet received from the routing table update unit 132 to the REGISTER packet integration unit 134. The HELLO packet relay process will be described in detail when the processing procedure is described.

REGISTERパケット統合部134は、HELLOパケットの送信元ノードに返信するREGISTERパケットを生成し、生成したREGISTERパケットと、待機時間内に他のノードから受信したREGISTERパケットとを統合する。具体的には、REGISTERパケット統合部134は、ルーティングテーブル部121が管理するルーティングテーブルのタイマーが『0』になるまで待機し、タイマーが『0』になると、REGISTERパケットの生成処理(統合処理を含む)を行い、その後、統合済みのREGISTERパケットをREGISTERパケット返信部135に送る。なお、REGISTERパケットの生成処理については、処理手順を説明する際に詳述する。   The REGISTER packet integration unit 134 generates a REGISTER packet to be returned to the transmission source node of the HELLO packet, and integrates the generated REGISTER packet and the REGISTER packet received from another node within the standby time. Specifically, the REGISTER packet integration unit 134 waits until the timer of the routing table managed by the routing table unit 121 becomes “0”, and when the timer becomes “0”, the REGISTER packet generation processing (integration processing is performed). After that, the integrated REGISTER packet is sent to the REGISTER packet reply unit 135. The REGISTER packet generation processing will be described in detail when the processing procedure is described.

REGISTERパケット返信部135は、統合済みのREGISTERパケットを、HELLOパケットの送信元ノードに返信する。具体的には、REGISTERパケット返信部135は、REGISTERパケット統合部134からREGISTERパケットを受け取ると、REGISTERパケットを送信し、その後、処理を終了する。   The REGISTER packet return unit 135 returns the integrated REGISTER packet to the transmission source node of the HELLO packet. Specifically, when the REGISTER packet reply unit 135 receives the REGISTER packet from the REGISTER packet integration unit 134, the REGISTER packet return unit 135 transmits the REGISTER packet, and then ends the processing.

[実施例2におけるアドホックネットワークシステムの処理手順]
次に、図5−1〜図10を用いて、実施例2におけるアドホックネットワークシステムの処理手順を説明する。図5−1及び図5−2は、実施例2におけるパケット及びルーティングテーブルを説明するための図である。
[Processing Procedure of Ad Hoc Network System in Embodiment 2]
Next, the processing procedure of the ad hoc network system according to the second embodiment will be described with reference to FIGS. FIGS. 5A and 5B are diagrams for explaining a packet and a routing table according to the second embodiment.

[ノードにおける処理手順の全体]
まず、図6を用いて、ノードにおける処理手順の全体を説明する。図6は、ノードにおける処理手順の全体を説明するためのフローチャートである。
[Overall procedure in the node]
First, the entire processing procedure in the node will be described with reference to FIG. FIG. 6 is a flowchart for explaining the entire processing procedure in the node.

図6に示すように、ノード100において、パケット受信部131が、パケットを受信する(ステップS201)。   As shown in FIG. 6, in the node 100, the packet receiver 131 receives a packet (step S201).

ここで、HELLOパケットは、例えば図5−1に示すような構造のパケットである。具体的には、HELLOパケットを最初に送信したノードを示す送信元ノード(『送信元』)、送信元ノードからの通信経路の品質を示すホップ数(『ホップ数』)、隣接ノード(『隣接』)、HELLOパケットを一意に識別するFID(『FID』)を有する。すなわち、例えばノードXがステップS101において送信したHELLOパケットは、ノード『W』が送信元ノードであること、送信元ノードWからのホップ数が『1』であること、隣接ノードは自ノード『W』であること、FIDは『1』であることを示す情報を含む。   Here, the HELLO packet is a packet having a structure as shown in FIG. Specifically, a transmission source node (“transmission source”) indicating the node that first transmitted the HELLO packet, a hop number (“hop count”) indicating the quality of the communication path from the transmission source node, an adjacent node (“adjacent” )) And a FID (“FID”) for uniquely identifying the HELLO packet. That is, for example, in the HELLO packet transmitted by the node X in step S101, the node “W” is the transmission source node, the hop count from the transmission source node W is “1”, and the adjacent node is the own node “W” ", And the FID includes information indicating" 1 ".

また、REGISTERパケットは、例えば図5−1に示すような構造のパケットである。具体的には、REGISTERパケットを最初に送信したノードを示す送信元ノード(『送信元』)、送信元ノードからの通信経路の品質を示すホップ数(『ホップ数』)を有する。また、REGISTERパケットの最終宛先となるノードを示す宛先ノード(『宛先』)、隣接ノード(『隣接』)、REGISTERパケットを一意に識別するFID(『FID』)を有する。すなわち、例えばノードZがステップS108において送信したREGISTERパケットは、ノード『Z』が送信元ノードであること、送信元ノードZからのホップ数が『1』であることを示す情報を含む。また、最終宛先となるノードはノード『W』であること、隣接ノードは自ノード『Z』であること、FIDは『1』であることを示す情報を含む。   The REGISTER packet is a packet having a structure as shown in FIG. Specifically, it has a transmission source node (“transmission source”) indicating the node that first transmitted the REGISTER packet, and a hop count (“hop count”) indicating the quality of the communication path from the transmission source node. In addition, a destination node (“destination”) indicating a node that is a final destination of the REGISTER packet, an adjacent node (“adjacent”), and a FID (“FID”) for uniquely identifying the REGISTER packet are included. That is, for example, the REGISTER packet transmitted by the node Z in step S108 includes information indicating that the node “Z” is the transmission source node and the hop count from the transmission source node Z is “1”. In addition, information indicating that the node as the final destination is the node “W”, the adjacent node is the local node “Z”, and the FID is “1”.

そして、パケット受信部131は、受信したパケットがHELLOパケットであるか(ステップS202)、REGISTERパケットであるか(ステップS207)、あるいは通常のデータパケットであるかを判定する。   Then, the packet reception unit 131 determines whether the received packet is a HELLO packet (step S202), a REGISTER packet (step S207), or a normal data packet.

受信したパケットがHELLOパケットであると判定した場合には(ステップS202肯定)、パケット受信部131は、受信したパケットをルーティングテーブル更新部132に送る。   If it is determined that the received packet is a HELLO packet (Yes at step S202), the packet receiving unit 131 sends the received packet to the routing table updating unit 132.

すると、ルーティングテーブル更新部132は、HELLOパケットに含まれるFIDを用いてルーティングテーブルを参照し、HELLOパケットに含まれるFIDと一致するFIDがルーティングテーブルに存在するか否かを判定する(ステップS203)。   Then, the routing table update unit 132 refers to the routing table using the FID included in the HELLO packet, and determines whether there is an FID that matches the FID included in the HELLO packet (step S203). .

一致するFIDが存在すると判定した場合には(ステップS203否定)、ルーティングテーブル更新部132は、そのまま処理を終了する。一方、一致するFIDが存在しないと判定した場合には(ステップS203肯定)、ルーティングテーブル更新部132は、後述するルーティングテーブル更新処理を行い(ステップS204)、その後、HELLOパケットをHELLOパケット中継部133に送る。   When it is determined that there is a matching FID (No at Step S203), the routing table update unit 132 ends the process as it is. On the other hand, when it is determined that there is no matching FID (Yes at Step S203), the routing table update unit 132 performs a routing table update process described later (Step S204). Send to.

すると、HELLOパケット中継部133は、ホップ数が予め設定されたMAX値であるか否かを判定し(ステップS205)、MAX値である場合には(ステップS205肯定)、そのまま処理を終了する。すなわち、実施例2におけるアドホックネットワークでは、ホップ数にMAX値を設定することで、HELLOパケットが無限に中継されることがないよう、制限をかけている。   Then, the HELLO packet relay unit 133 determines whether or not the number of hops is a preset MAX value (step S205), and if it is the MAX value (Yes in step S205), the process is ended as it is. That is, in the ad hoc network according to the second embodiment, the MAX value is set for the number of hops so that the HELLO packet is not relayed indefinitely.

一方、MAX値でない場合には(ステップS205否定)、HELLOパケット中継部133は、後述するHELLOパケットの中継処理を行い(ステップS206)、その後、処理を終了する。   On the other hand, if it is not the MAX value (No at Step S205), the HELLO packet relay unit 133 performs a HELLO packet relay process described later (Step S206), and then ends the process.

一方、ステップS202において、受信したパケットがHELLOパケットでないと判定した場合には(ステップS202否定)、パケット受信部131は、次に、受信したパケットがREGISTERパケットであるか否かを判定する(ステップS207)。   On the other hand, when it is determined in step S202 that the received packet is not a HELLO packet (No in step S202), the packet receiver 131 next determines whether or not the received packet is a REGISTER packet (step S202). S207).

受信したパケットがREGISTERパケットであると判定した場合には(ステップS207肯定)、パケット受信部131は、受信したパケットをルーティングテーブル更新部132に送る。   If it is determined that the received packet is a REGISTER packet (Yes at step S207), the packet receiving unit 131 sends the received packet to the routing table updating unit 132.

すると、ルーティングテーブル更新部132は、REGISTERパケットに含まれるFIDを用いてルーティングテーブルを参照し、REGISTERパケットに含まれるFIDと一致するFIDがルーティングテーブルに存在するか否かを判定する(ステップS208)。   Then, the routing table update unit 132 refers to the routing table using the FID included in the REGISTER packet, and determines whether there is an FID that matches the FID included in the REGISTER packet (step S208). .

一致するFIDが存在すると判定した場合には(ステップS208否定)、ルーティングテーブル更新部132は、そのまま処理を終了する。一方、一致するFIDが存在しないと判定した場合には(ステップS208肯定)、ルーティングテーブル更新部132は、後述するルーティングテーブル更新処理を行い(ステップS209)、その後、REGISTERパケットをREGISTERパケット統合部134に送る。   When it is determined that there is a matching FID (No at Step S208), the routing table update unit 132 ends the process as it is. On the other hand, if it is determined that there is no matching FID (Yes at Step S208), the routing table update unit 132 performs a routing table update process described later (Step S209), and then transmits the REGISTER packet to the REGISTER packet integration unit 134. Send to.

すると、REGISTERパケット統合部134は、まず、REGSITERパケットの宛先が自ノードであるか否かを判定する(ステップS210)。自ノードであると判定した場合には(ステップS210否定)、そのまま処理を終了する。   Then, the REGISTER packet integration unit 134 first determines whether or not the destination of the REGISTER packet is the local node (step S210). If it is determined that the node is the own node (No at step S210), the process is terminated as it is.

一方、自ノードでないと判定した場合には(ステップS210肯定)、REGISTERパケット統合部134は、ワークデータ部122に、REGISTERパケットと同じ構造を持つ一時的な記憶領域としてワークパケットを設定する。そして、REGISTERパケット統合部134は、設定したワークパケットにREGISTERパケットをコピーし(ステップS211)、その後、処理を終了する。   On the other hand, when it is determined that the node is not the own node (Yes in step S210), the REGISTER packet integration unit 134 sets a work packet as a temporary storage area having the same structure as the REGISTER packet in the work data unit 122. Then, the REGISTER packet integration unit 134 copies the REGISTER packet to the set work packet (step S211), and then ends the process.

一方、ステップS207において、受信したパケットがREGISTERパケットでないと判定した場合には(ステップS207否定)、パケット受信部131は、受信したパケットが通常のデータパケットであると判定し、通常のデータパケット処理を行い(ステップS212)、処理を終了する。   On the other hand, if it is determined in step S207 that the received packet is not a REGISTER packet (No in step S207), the packet receiver 131 determines that the received packet is a normal data packet, and performs normal data packet processing. (Step S212), and the process ends.

[ルーティングテーブルの更新処理]
次に、図7を用いて、ルーティングテーブルの更新処理を説明する。図7は、ルーティングテーブルの更新処理を説明するためのフローチャートである。なお、ルーティングテーブルの更新処理は、HELLOパケットを用いて更新する場合とREGISTERパケットを用いて更新する場合とでほとんど異ならないため、以下では、HELLOパケットを用いて更新する場合を説明する。
[Routing table update processing]
Next, routing table update processing will be described with reference to FIG. FIG. 7 is a flowchart for explaining routing table update processing. Note that the routing table update processing is almost the same between the case of updating using the HELLO packet and the case of updating using the REGISTER packet, and the case of updating using the HELLO packet will be described below.

ルーティングテーブル更新部132は、まず、HELLOパケットから、送信元ノードを識別する(ステップS204−1)。例えば、図5−1に示すノードXのルーティングテーブル更新部132は、ステップS101において受信したHELLOパケットから、送信元ノード『W』を識別する。   The routing table update unit 132 first identifies the transmission source node from the HELLO packet (step S204-1). For example, the routing table updating unit 132 of the node X illustrated in FIG. 5A identifies the transmission source node “W” from the HELLO packet received in step S101.

次に、ルーティングテーブル更新部132は、ワークデータ部122に、ルーティングテーブルと同じ構造を持つ一時的な記憶領域としてワークテーブルを設定し、設定したワークテーブルにレコードを新規作成する(ステップS204−2)。   Next, the routing table update unit 132 sets a work table as a temporary storage area having the same structure as the routing table in the work data unit 122, and newly creates a record in the set work table (step S204-2). ).

続いて、ルーティングテーブル更新部132は、ワークテーブルに新規作成したレコードの『宛先』に、ステップS204−1において識別した送信元ノードを設定する(ステップS204−3)。例えば、ルーティングテーブル更新部132は、ワークテーブルに新規作成したレコードの『宛先』に送信元ノード『W』を設定する。   Subsequently, the routing table update unit 132 sets the transmission source node identified in step S204-1 to the “destination” of the newly created record in the work table (step S204-3). For example, the routing table update unit 132 sets the transmission source node “W” to “destination” of the newly created record in the work table.

また、ルーティングテーブル更新部132は、受信したHELLOパケットから隣接ノードを識別し、ワークテーブルに新規作成したレコードの『隣接』に、識別した隣接ノードを設定する(ステップS204−4)。例えば、ルーティングテーブル更新部132は、ステップS101において受信したHELLOパケットから隣接ノード『W』を識別し、ワークテーブルに新規作成したレコードの『隣接』に、識別した隣接ノード『W』を設定する。   Further, the routing table update unit 132 identifies the adjacent node from the received HELLO packet, and sets the identified adjacent node in “adjacent” of the newly created record in the work table (step S204-4). For example, the routing table updating unit 132 identifies the adjacent node “W” from the HELLO packet received in step S101, and sets the identified adjacent node “W” in “adjacent” of the newly created record in the work table.

また、ルーティングテーブル更新部132は、受信したHELLOパケットからホップ数を識別し、ワークテーブルに新規作成したレコードの『品質』に、識別したホップ数を設定する(ステップS204−5)。例えば、ルーティングテーブル更新部132は、ステップS101において受信したHELLOパケットからホップ数『1』を識別し、ワークテーブルに新規作成したレコードの『品質』に、識別したホップ数『1』を設定する。   Also, the routing table update unit 132 identifies the number of hops from the received HELLO packet, and sets the identified number of hops in the “quality” of the newly created record in the work table (step S204-5). For example, the routing table updating unit 132 identifies the hop number “1” from the HELLO packet received in step S101, and sets the identified hop number “1” as the “quality” of the newly created record in the work table.

また、ルーティングテーブル更新部132は、受信したHELLOパケットからFIDを識別し、ワークテーブルに新規作成したレコードの『FID』に、識別したFIDを設定する(ステップS204−6)。例えば、ルーティングテーブル更新部132は、ステップS101において受信したHELLOパケットからFID『1』を識別し、ワークテーブルに新規作成したレコードの『FID』に、識別したFID『1』を設定する。   Further, the routing table update unit 132 identifies the FID from the received HELLO packet, and sets the identified FID in “FID” of the newly created record in the work table (step S204-6). For example, the routing table updating unit 132 identifies the FID “1” from the HELLO packet received in step S101, and sets the identified FID “1” to “FID” of the newly created record in the work table.

続いて、ルーティングテーブル更新部132は、HELLOパケットがREGISTERパケットであるか否かを判定する(ステップS204−7)。REGISTERパケットである場合には(ステップS204−7肯定)、ルーティングテーブル更新部132は、ワークテーブルに新規作成したレコードの『タイマー』に『0』を設定する(ステップS204−8)。一方、REGISTERパケットでない場合には(ステップS204−7否定)、ルーティングテーブル更新部132は、予め設定されたタイマーのMAX値からホップ数を差し引くことでタイマー値を算出する。そして、ルーティングテーブル更新部132は、ワークテーブルに新規作成したレコードの『タイマー』に、算出したタイマー値を設定する(ステップS204−9)。例えば、図5−1に示すノードXのルーティングテーブル更新部132は、ステップS101において受信したHELLOパケットからホップ数『1』を識別し、タイマーのMAX値『4』からホップ数『1』を差し引くことでタイマー値『3』を算出する。そして、ルーティングテーブル更新部132は、ワークテーブルに新規作成したレコードの『タイマー』に、算出したタイマー値『3』を設定する。   Subsequently, the routing table update unit 132 determines whether or not the HELLO packet is a REGISTER packet (step S204-7). If it is a REGISTER packet (Yes at Step S204-7), the routing table update unit 132 sets “0” to “Timer” of the newly created record in the work table (Step S204-8). On the other hand, when the packet is not a REGISTER packet (No at Step S204-7), the routing table update unit 132 calculates a timer value by subtracting the hop count from the preset MAX value of the timer. Then, the routing table update unit 132 sets the calculated timer value in the “timer” of the newly created record in the work table (step S204-9). For example, the routing table updating unit 132 of the node X illustrated in FIG. 5A identifies the hop number “1” from the HELLO packet received in step S101, and subtracts the hop number “1” from the MAX value “4” of the timer. Thus, the timer value “3” is calculated. Then, the routing table updating unit 132 sets the calculated timer value “3” as the “timer” of the newly created record in the work table.

なお、上記したように、タイマーのMAX値からホップ数を差し引くことでタイマー値を算出するからこそ、送信元ノードからの距離が近ければ近いノードほど長い待機時間を設定することになる。   As described above, the timer value is calculated by subtracting the number of hops from the MAX value of the timer, so that the longer the distance from the transmission source node, the longer the standby time is set.

ステップS204−8の後もしくはステップS204−9の後、ルーティングテーブル更新部132は、ルーティングテーブルに同一の『宛先』及び『隣接』のレコードがあるか否かを判定する(ステップS204−10)。そして、ある場合には(ステップS204−10肯定)、ルーティングテーブル更新部132は、ワークテーブルに新規作成したレコードを、ルーティングテーブルに上書きして(ステップS204−11)、処理を終了する。例えば、図5−1に示すノードXのルーティングテーブル更新部132は、ステップS101において受信したHELLOパケットから、ステップS102に示すようにルーティングテーブルを更新する。   After step S204-8 or after step S204-9, the routing table update unit 132 determines whether or not the same “destination” and “adjacent” records exist in the routing table (step S204-10). If there is (Yes at Step S204-10), the routing table updating unit 132 overwrites the routing table with the newly created record in the work table (Step S204-11), and ends the process. For example, the routing table updating unit 132 of the node X illustrated in FIG. 5A updates the routing table as illustrated in Step S102 from the HELLO packet received in Step S101.

一方、ない場合には(ステップS204−10否定)、ルーティングテーブル更新部132は、ワークテーブルに新規作成したレコードを、ルーティングテーブルに新規追加して(ステップS204−12)、処理を終了する。   On the other hand, if not (No at Step S204-10), the routing table updating unit 132 adds a newly created record to the work table to the routing table (Step S204-12), and ends the process.

[HELLOパケットの中継処理]
次に、図8を用いて、HELLOパケットの中継処理を説明する。図8は、HELLOパケットの中継処理を説明するためのフローチャートである。
[Relay processing of HELLO packet]
Next, HELLO packet relay processing will be described with reference to FIG. FIG. 8 is a flowchart for explaining the HELLO packet relay process.

HELLOパケット中継部133は、まず、ワークデータ部122に、HELLOパケットと同じ構造を持つ一時的な記憶領域としてワークパケットを設定し、設定したワークパケットに、受信したHELLOパケットをコピーする(ステップS205−1)。例えば、図5−1に示すノードZのHELLOパケット中継部133は、ステップS101において受信したHELLOパケットをワークパケットにコピーする。   First, the HELLO packet relay unit 133 sets a work packet as a temporary storage area having the same structure as the HELLO packet in the work data unit 122, and copies the received HELLO packet to the set work packet (step S205). -1). For example, the HELLO packet relay unit 133 of the node Z illustrated in FIG. 5A copies the HELLO packet received in step S101 to the work packet.

次に、HELLOパケット中継部133は、ワークパケットにコピーされた『ホップ数』に1を加え、新たなホップ数を設定する(ステップS205−2)。例えば、HELLOパケット中継部133は、ワークパケットに新たなホップ数『2』を設定する。   Next, the HELLO packet relay unit 133 adds 1 to the “hop count” copied to the work packet and sets a new hop count (step S <b> 205-2). For example, the HELLO packet relay unit 133 sets a new hop number “2” in the work packet.

また、HELLOパケット中継部133は、ワークパケットにコピーされた『隣接』に自ノードを設定する(ステップS205−3)。例えば、HELLOパケット中継部133は、『隣接』に自ノード『X』を設定する。   Further, the HELLO packet relay unit 133 sets its own node to “adjacent” copied to the work packet (step S205-3). For example, the HELLO packet relay unit 133 sets its own node “X” to “adjacent”.

また、HELLOパケット中継部133は、ワークパケットにコピーされた『FID』に、そのまま『FID』を設定する(ステップS205−4)。例えば、HELLOパケット中継部133は、『FID』にFID『1』を設定する。   Further, the HELLO packet relay unit 133 sets “FID” as it is to “FID” copied to the work packet (step S205-4). For example, the HELLO packet relay unit 133 sets FID “1” to “FID”.

そして、HELLOパケット中継部133は、新規のHELLOパケットを生成し、生成した新HELLOパケットにワークパケットの内容を設定する(ステップS205−5)。   Then, the HELLO packet relay unit 133 generates a new HELLO packet, and sets the contents of the work packet in the generated new HELLO packet (step S205-5).

その後、HELLOパケット中継部133は、ステップS205−5で生成したHELLOパケットを送信する(ステップS205−6)。例えば、図5−1に示すノードXのHELLOパケット中継部133は、生成したHELLOパケットをノードYに送信する(ステップS103を参照)。   Thereafter, the HELLO packet relay unit 133 transmits the HELLO packet generated in step S205-5 (step S205-6). For example, the HELLO packet relay unit 133 of the node X illustrated in FIG. 5A transmits the generated HELLO packet to the node Y (see step S103).

[REGISTERパケットの返信処理]
次に、図9を用いて、REGISTERパケットの返信処理を説明する。図9は、REGISTERパケットの返信処理を説明するためのフローチャートである。
[Register packet reply processing]
Next, the REGISTER packet return process will be described with reference to FIG. FIG. 9 is a flowchart for explaining a REGISTER packet return process.

REGISTERパケット統合部134が、クロックイベントがあるか否かを判定している(ステップS301)。クロックイベントがない場合には(ステップS301否定)、REGISTERパケット統合部134は、クロックイベントがあるか否かを判定する処理に戻る。   The REGISTER packet integration unit 134 determines whether there is a clock event (step S301). If there is no clock event (No at step S301), the REGISTER packet integration unit 134 returns to the process of determining whether there is a clock event.

クロックイベントがある場合(ステップS301肯定)、REGISTERパケット統合部134は、ルーティングテーブル部121に記憶されているタイマー値それぞれから『1』を差し引き、差し引いた後のタイマー値を格納する(ステップS302)。   When there is a clock event (Yes in step S301), the REGISTER packet integration unit 134 subtracts “1” from each timer value stored in the routing table unit 121, and stores the timer value after subtraction (step S302). .

そして、REGISTERパケット統合部134は、タイマー値が全て『0』となったか否かを判定し(ステップS303)、『0』となっていない場合には(ステップS303否定)、再び、クロックイベントがあるか否かを判定する処理に戻る。   Then, the REGISTER packet integration unit 134 determines whether or not all the timer values are “0” (step S303). If the timer value is not “0” (No in step S303), the clock event is again determined. It returns to the process which determines whether there exists.

一方、『0』となった場合には(ステップS303肯定)、REGISTERパケット統合部134は、後述するREGISTERパケット生成処理を行い(ステップS304)、その後、統合済みのREGISTERパケットをREGISTERパケット返信部135に送る。   On the other hand, when it becomes “0” (Yes at Step S303), the REGISTER packet integration unit 134 performs a REGISTER packet generation process described later (Step S304), and then converts the integrated REGISTER packet to the REGISTER packet return unit 135. Send to.

すると、REGISTERパケット返信部135は、REGISTERパケット統合部134から受け取った統合済みのREGISTERパケットを送信する(ステップS305)。例えば、図5−1及び図5−2に示すノードXのREGISTERパケット返信部135は、ステップS102において待機を開始したタイマー『3』が、ステップS113において『0』になるまで待機する。ステップS112からステップS113のルーティングテーブルの遷移は、タイマーが『0』になるまで待機することを示すものである。そして、REGISTERパケット返信部135は、待機時間内に受信したステップS111のREGISTERパケットを統合し、統合済みのREGISTERパケットを、ステップS114においてノードWに送信する。   Then, the REGISTER packet reply unit 135 transmits the integrated REGISTER packet received from the REGISTER packet integration unit 134 (step S305). For example, the REGISTER packet return unit 135 of the node X illustrated in FIGS. 5A and 5B waits until the timer “3” that has started standby in Step S102 becomes “0” in Step S113. The transition of the routing table from step S112 to step S113 indicates waiting until the timer becomes “0”. Then, the REGISTER packet reply unit 135 integrates the REGISTER packets received in step S111 within the waiting time, and transmits the integrated REGISTER packets to the node W in step S114.

なお、図5−1及び図5−2に示すように、他のノードY、ノードZも同様に、所定時間待機し、待機時間内に受信したREGISTERパケットと、自ノードにて生成したREGISTERパケットとを統合した上で、REGISTERパケットを返信している。   As shown in FIGS. 5A and 5B, the other nodes Y and Z similarly wait for a predetermined time, and receive REGISTER packets received within the waiting time, and REGISTER packets generated by the own node. And a REGISTER packet is returned.

[REGISTERパケットの生成処理]
次に、図10を用いて、REGISTERパケットの生成処理を説明する。図10は、REGISTERパケットの生成処理を説明するためのフローチャートである。
[REGISTER packet generation processing]
Next, REGISTER packet generation processing will be described with reference to FIG. FIG. 10 is a flowchart for explaining processing for generating a REGISTER packet.

REGISTERパケット統合部134は、新規のREGISTERパケットを生成するために、新REGISTERパケットの新規フィールドを生成する(ステップS304−1)。例えば、図5−2に示すノードXのREGISTERパケット返信部134は、『送信元』、『ホップ数』、『宛先』、『隣接』、『FID』の空フィールドを生成する。   The REGISTER packet integration unit 134 generates a new field of the new REGISTER packet in order to generate a new REGISTER packet (step S304-1). For example, the REGISTER packet reply unit 134 of the node X illustrated in FIG. 5B generates empty fields of “transmission source”, “hop count”, “destination”, “adjacent”, and “FID”.

次に、REGISTERパケット統合部134は、空フィールド『送信元』に自ノードを設定する(ステップS304−2)。例えば、REGISTERパケット統合部134は、『送信元』に自ノード『X』を設定する。   Next, the REGISTER packet integration unit 134 sets the own node in the empty field “source” (step S304-2). For example, the REGISTER packet integration unit 134 sets its own node “X” as “transmission source”.

また、REGISTERパケット統合部134は、空フィールド『ホップ数』に1を設定する(ステップS304−3)。   Further, the REGISTER packet integration unit 134 sets 1 to the empty field “hop count” (step S304-3).

また、REGISTERパケット統合部134は、空フィールド『宛先』に、HELLOパケットの送信元ノードを設定する(ステップS304−4)。例えば、図5−2に示すノードXのREGISTERパケット統合部134は、ステップS101において受信したHELLOパケットについてルーティングテーブルの更新処理にて識別した送信元ノード『W』を設定する。   Further, the REGISTER packet integration unit 134 sets the transmission source node of the HELLO packet in the empty field “destination” (step S304-4). For example, the REGISTER packet integration unit 134 of the node X illustrated in FIG. 5B sets the transmission source node “W” identified in the routing table update processing for the HELLO packet received in step S101.

また、REGISTERパケット統合部134は、空フィールド『隣接』に自ノードを設定する(ステップS304−5)。例えば、REGISTERパケット統合部134は、『隣接』に自ノード『X』を設定する。   Further, the REGISTER packet integration unit 134 sets its own node in the empty field “adjacent” (step S304-5). For example, the REGISTER packet integration unit 134 sets its own node “X” to “adjacent”.

また、REGISTERパケット統合部134は、空フィールド『FID』に、HELLOパケットの『FID』を設定する(ステップS304−6)。例えば、図5−2に示すノードXのREGISTERパケット統合部134は、ステップS101において受信したHELLOパケットに含まれるFID『1』を設定する。   Further, the REGISTER packet integration unit 134 sets “FID” of the HELLO packet in the empty field “FID” (step S304-6). For example, the REGISTER packet integration unit 134 of the node X illustrated in FIG. 5B sets the FID “1” included in the HELLO packet received in step S101.

続いて、REGISTERパケット統合部134は、ワークデータ部122のワークパケットにREGISTERパケットのコピーがあるか否かを判定する(ステップS304−7)。   Subsequently, the REGISTER packet integration unit 134 determines whether or not there is a copy of the REGISTER packet in the work packet of the work data unit 122 (step S304-7).

コピーがない場合には(ステップS304−7否定)、REGISTERパケット統合部134は、このまま生成処理を終了し、生成したREGISTERパケットを、REGISTERパケット返信部135に送る。   If there is no copy (No at Step S304-7), the REGISTER packet integration unit 134 ends the generation process as it is, and sends the generated REGISTER packet to the REGISTER packet return unit 135.

一方、コピーがある場合には(ステップS304−7肯定)、REGISTERパケット統合部134は、ワークパケットにコピーされた『ホップ数』に1を加え、新たなホップ数を設定する(ステップS304−8)。例えば、図5−2に示すノードXのREGISTERパケット中継部135は、ワークパケットにノードZを送信元とするREGISTERパケットのコピーがある場合、ワークパケットに新たなホップ数『3』を設定する。   On the other hand, if there is a copy (Yes at Step S304-7), the REGISTER packet integration unit 134 adds 1 to the “hop count” copied to the work packet and sets a new hop count (Step S304-8). ). For example, the REGISTER packet relay unit 135 of the node X illustrated in FIG. 5B sets a new hop number “3” in the work packet when the work packet includes a copy of the REGISTER packet whose source is the node Z.

また、REGISTERパケット統合部134は、ワークパケットにコピーされた『隣接』に自ノードを設定する(ステップS304−9)。例えば、図5−2に示すノードXのREGISTERパケット中継部135は、『隣接』に自ノード『X』を設定する。   Further, the REGISTER packet integration unit 134 sets its own node to “adjacent” copied to the work packet (step S304-9). For example, the REGISTER packet relay unit 135 of the node X illustrated in FIG. 5B sets its own node “X” to “adjacent”.

また、REGISTERパケット統合部134は、ワークパケットにコピーされた『FID』に、そのまま『FID』を設定する(ステップS304−10)。例えば、図5−2に示すノードXのREGISTERパケット統合部134は、『FID』にFID『1』を設定する。なお、REGISTERパケット中継部135は、ワークパケットにコピーされた『送信元』および『宛先』に変更を加えない。   Further, the REGISTER packet integration unit 134 sets “FID” as it is to “FID” copied to the work packet (step S304-10). For example, the REGISTER packet integration unit 134 of the node X illustrated in FIG. 5B sets FID “1” to “FID”. The REGISTER packet relay unit 135 does not change the “transmission source” and “destination” copied to the work packet.

そして、REGISTERパケット統合部134は、新REGISTERパケットにワークパケットの内容を追記することでREGISTERパケットを統合する(ステップS304−11)。例えば、図5−2に示すノードXのREGISTERパケット統合部134は、ステップS114に示すように、送信元『Z』、ホップ数『3』、宛先『W』、隣接『X』、FID『1』のREGISTERパケットを、送信元『X』、ホップ数『1』、宛先『W』、隣接『X』、FID『1』のREGISTERパケットに統合する。   Then, the REGISTER packet integration unit 134 integrates the REGISTER packet by adding the contents of the work packet to the new REGISTER packet (step S304-11). For example, the REGISTER packet integration unit 134 of the node X illustrated in FIG. 5B, as illustrated in step S114, the transmission source “Z”, the number of hops “3”, the destination “W”, the adjacent “X”, and the FID “1”. The REGISTER packet of the transmission source “X”, the number of hops “1”, the destination “W”, the adjacent “X”, and the FID “1” are integrated.

その後、REGISTERパケット統合部134は、再び、ワークパケットにREGISTERパケットのコピーがあるか否かを判定する処理に戻る。図5−2に示すノードXのREGISTERパケット統合部134の場合には、ワークパケットにノードYを送信元とするREGISTERパケットのコピーがさらにあるので、このREGISTERパケットについても統合することになる。   Thereafter, the REGISTER packet integration unit 134 returns to the process of determining whether or not there is a copy of the REGISTER packet in the work packet. In the case of the REGISTER packet integration unit 134 of the node X shown in FIG. 5B, since the work packet further includes a copy of the REGISTER packet whose transmission source is the node Y, the REGISTER packet is also integrated.

[実施例2の効果]
上記してきたように、実施例2によれば、複数のノードが接続されたアドホックネットワークにおける任意のノードは、存在確認を求めるHELLOパケットを他のノードから受信すると、受信したHELLOパケットを、他のノードとは異なるノードに中継する。また、ノードは、受信したHELLOパケットから、HELLOパケットを最初に送信したノードである発信源ノードを識別し、識別した発信源ノードを、ノードが存在することを示すREGISTERパケットの最終宛先として設定してHELLOパケットを生成する。また、ノードは、送信元ノードから自ノードまでの通信経路上で経由したノード数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内に他のノードから受信したREGISTERパケットと、生成したREGISTERパケットとを統合する。そして、ノードは、統合したREGISTERパケットを、HELLOパケットを自ノードに送信した他のノードに送信する。
[Effect of Example 2]
As described above, according to the second embodiment, when an arbitrary node in an ad hoc network to which a plurality of nodes are connected receives a HELLO packet for confirmation of existence from another node, the received HELLO packet is transferred to another node. Relay to a node different from the node. The node also identifies the source node that is the node that first transmitted the HELLO packet from the received HELLO packet, and sets the identified source node as the final destination of the REGISTER packet indicating that the node exists. To generate a HELLO packet. In addition, the node sets a predetermined standby time so that a relatively short time is set if the number of nodes that have passed through the communication path from the transmission source node to the own node is relatively large, and within the set standby time. The REGISTER packet received from another node is integrated with the generated REGISTER packet. Then, the node transmits the integrated REGISTER packet to the other node that transmitted the HELLO packet to its own node.

このようなことから、実施例2によれば、HELLOパケットを受信したノードは、HELLOパケットを他のノードに中継し、かつ、REGISTERパケットを返信する。また、ノードは、送信元ノードから自ノードまでの通信経路上で経由したノード数が相対的に多ければ相対的に短い時間となるように設定された待機時間待機し、その間に他のノードから受信したREGISTERパケットと、自ノードにて生成したREGISTERパケットとを統合する。言い換えると、送信元ノードからの距離が近ければ近いノードほど長い待機時間を設定し、待機時間内に他のノードから収集したREGISTERパケットをまとめて送信元ノードに返信する。このため、パケットの数が減少し、ネットワークの負荷を抑えることが可能になる。   For this reason, according to the second embodiment, the node that has received the HELLO packet relays the HELLO packet to another node and returns a REGISTER packet. In addition, the node waits for a standby time that is set to be a relatively short time if the number of nodes that have passed through the communication path from the transmission source node to the own node is relatively large, and from other nodes during that time The received REGISTER packet is integrated with the REGISTER packet generated by the own node. In other words, the longer the distance from the transmission source node, the longer the standby time is set, and the REGISTER packets collected from other nodes are collectively returned within the standby time to the transmission source node. For this reason, the number of packets is reduced, and the network load can be suppressed.

また、実施例2において説明したように、HELLOパケットの最終宛先が設定されているといないとに関わらず、各ノードは、REGISTERパケットを返信する。すなわち、HELLOパケットに、HELLOパケットの最終宛先が設定されていない場合であっても、各ノードは、REGISTERパケットを返信する。一方、HELLOパケットの最終宛先が設定されている場合にも、各ノードは、HELLOパケットの最終宛先として自ノードが設定されているか否かに関わらず、REGISTERパケットを返信する。   Further, as described in the second embodiment, each node returns a REGISTER packet regardless of whether or not the final destination of the HELLO packet is set. That is, each node returns a REGISTER packet even if the final destination of the HELLO packet is not set in the HELLO packet. On the other hand, even when the final destination of the HELLO packet is set, each node returns a REGISTER packet regardless of whether or not the own node is set as the final destination of the HELLO packet.

また、実施例2において説明したように、各ノードは、受信したHELLOパケットに含まれるFIDをルーティングテーブルに記憶する。そして、各ノードは、受信したHELLOパケットに含まれるFIDと一致するFIDがルーティングテーブルに存在するか否かを判定し、存在する場合は、HELLOパケットを他のノードに中継しない。このようなことから、実施例2によれば、同じHELLOパケットが中継され続けるといった事態を防止することも可能になる。   Further, as described in the second embodiment, each node stores the FID included in the received HELLO packet in the routing table. Then, each node determines whether or not a FID that matches the FID included in the received HELLO packet exists in the routing table, and if it exists, does not relay the HELLO packet to another node. For this reason, according to the second embodiment, it is possible to prevent a situation in which the same HELLO packet is continuously relayed.

次に、図11−1及び図11−2を用いて、実施例3におけるアドホックネットワークシステムを説明する。図11−1及び図11−2は、実施例3におけるパケット及びルーティングテーブルを説明するための図である。なお、図11−1及び図11−2においては、タイマーMAX値が『6』であることを想定している。   Next, the ad hoc network system according to the third embodiment will be described with reference to FIGS. 11A and 11B. FIGS. 11A and 11B are diagrams for explaining a packet and a routing table according to the third embodiment. In FIGS. 11A and 11B, it is assumed that the timer MAX value is “6”.

実施例3におけるアドホックネットワークは、送信元ノードと所定のノードとの間に複数の通信経路が存在することを想定している。このため、各ノードは、同一のノードが存在することを示すREGISTERパケットを、複数の通信経路から複数受信する場合がある。そこで、実施例3における各ノードは、REGISTERパケットを複数の通信経路から複数受信した場合に、最も品質の高い通信経路に対応するREGISTERパケットを選択し、選択したREGISTERパケットと、自ノードにて生成したREGISTERパケットとを統合する。   The ad hoc network according to the third embodiment assumes that a plurality of communication paths exist between a transmission source node and a predetermined node. Therefore, each node may receive a plurality of REGISTER packets indicating that the same node exists from a plurality of communication paths. Therefore, when receiving a plurality of REGISTER packets from a plurality of communication paths, each node according to the third embodiment selects a REGISTER packet corresponding to the highest quality communication path, and generates the selected REGISTER packet and its own node. Are integrated with the REGISTER packet.

例えば、図11−1及び図11−2の例では、送信元ノードWからノードZまでの通信経路として、ノードW〜ノードX〜ノードZの通信経路と、ノードW〜ノードX〜ノードY〜ノードZの通信経路とが存在する。このため、ステップS203−1に示すように、ノードXは、HELLOパケットをノードZに直接中継する場合がある。   For example, in the examples of FIGS. 11A and 11B, as the communication path from the transmission source node W to the node Z, the communication path from the node W to the node X to the node Z and the node W to the node X to the node Y to There is a communication path for node Z. For this reason, the node X may relay the HELLO packet directly to the node Z as shown in step S203-1.

ノードZは、ステップS203−1において受信したHELLOパケットに基づいて、ステップS204においてルーティングテーブルを更新し、ステップS205においてHELLOパケットを中継する。また、ノードZは、ステップS207においてもHELLOパケットを受信する。このHELLOパケットは、図11−1に示すように、ステップS203−2においてノードXからノードYに中継され、その後、ノードYからノードZに中継されたものである。   The node Z updates the routing table in step S204 based on the HELLO packet received in step S203-1, and relays the HELLO packet in step S205. Node Z also receives the HELLO packet in step S207. As shown in FIG. 11A, the HELLO packet is relayed from the node X to the node Y in step S203-2 and then relayed from the node Y to the node Z.

このように、実施例3において、ノードZは、ノードXから直接中継されたHELLOパケットと、ノードY経由で中継されたHELLOパケットの2つを受信している。このため、ノードZは、図11−2のステップS209及びステップS211に示すように、ノードXとノードYとのそれぞれに対して、REGISTERパケットを送信する。   As described above, in the third embodiment, the node Z receives the HELLO packet relayed directly from the node X and the HELLO packet relayed via the node Y. Therefore, the node Z transmits a REGISTER packet to each of the node X and the node Y, as shown in step S209 and step S211 in FIG.

さて、実施例3におけるノードXも、実施例2と同様、タイマーが『0』になるまで待機する。例えば、図11−2のステップS214に示すルーティングテーブルが管理するタイマーが『0』になるまで待機する。そして、タイマーが『0』になると、ノードXは、実施例2と同様、REGISTERパケットの統合を行うことになるが、実施例3においては、最も品質の高い通信経路に対応するREGISTERパケットを選択し、選択したREGISTERパケットのみを統合の対象とする。   As in the second embodiment, the node X in the third embodiment also waits until the timer becomes “0”. For example, the process waits until the timer managed by the routing table shown in step S214 in FIG. When the timer becomes “0”, the node X performs integration of REGISTER packets as in the second embodiment, but in the third embodiment, selects the REGISTER packet corresponding to the highest quality communication path. Then, only the selected REGISTER packet is targeted for integration.

例えば、図11−2に示すように、ノードXは、ノードZを送信元とするREGISTERパケットを、ステップS209とステップS213との2回受信している。一方は、送信元『Z』、ホップ数『1』、宛先『W』、隣接『Z』、FID『1』とするREGISTERパケットである。他方は、送信元『Z』、ホップ数『2』、宛先『W』、隣接『Y』、FID『1』とするREGISTERパケットである。   For example, as illustrated in FIG. 11B, the node X receives the REGISTER packet having the node Z as a transmission source twice in steps S209 and S213. One is a REGISTER packet having a transmission source “Z”, a hop count “1”, a destination “W”, an adjacent “Z”, and an FID “1”. The other is a REGISTER packet with a transmission source “Z”, a hop count “2”, a destination “W”, an adjacent “Y”, and an FID “1”.

ここで、実施例3におけるノードXは、両REGISTERパケットのホップ数を比較し、ホップ数がより小さい値のREGISTERパケットを、最も品質の高い通信経路に対応するREGISTERパケットであるとして選択する。例えば、ノードXは、送信元『Z』、ホップ数『1』、宛先『W』、隣接『Z』、FID『1』とするREGISTERパケットを選択する。   Here, the node X in the third embodiment compares the number of hops of both REGISTER packets, and selects the REGISTER packet having a smaller hop number as the REGISTER packet corresponding to the communication path with the highest quality. For example, the node X selects a REGISTER packet having a transmission source “Z”, a hop number “1”, a destination “W”, an adjacent “Z”, and an FID “1”.

この結果、図11−2のステップS215に示すように、ノードXは、ノードZを送信元とするREGISTERパケットを2つ重複して統合するのではなく、選択した1つのREGISTERパケットのみを統合する。なお、ノードZを送信元とするREGISTERパケットのホップ数が『2』となっているのは、ノードXは、他のノードから受信したREGISTERパケットを統合する際に、ホップ数に『1』を加えているからである。   As a result, as shown in step S215 of FIG. 11-2, the node X does not integrate two REGISTER packets originating from the node Z, but integrates only one selected REGISTER packet. . Note that the hop count of the REGISTER packet originating from the node Z is “2”. When the node X integrates REGISTER packets received from other nodes, the hop count is set to “1”. It is because it adds.

このようなことから、実施例3によれば、送信元ノードと所定のノードとの間に複数の通信経路が存在する場合にも、最も品質の高い通信経路に対応するREGISTERパケットを選択して統合する結果、情報としての価値の低いREGISTERパケットが送信されることがなくなり、ネットワークの負荷はより軽減されることになる。   For this reason, according to the third embodiment, even when there are a plurality of communication paths between the transmission source node and the predetermined node, the REGISTER packet corresponding to the communication path with the highest quality is selected. As a result of the integration, a REGISTER packet with low value as information is not transmitted, and the load on the network is further reduced.

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

[コンピュータ]
上記の実施例で説明した各種の処理は、予め用意されたプログラムを、フレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの記憶媒体が記憶し、コンピュータが記憶媒体からプログラムを読み出して実行することによって実現することができる。そこで、以下では、図12を用いて、上記の実施例と同様の機能を有する制御プログラムを記憶媒体から読み出して実行するコンピュータの一例を説明する。図12は、制御プログラムを実行するコンピュータを示す図である。
[Computer]
In the various processes described in the above embodiments, a program prepared in advance is stored in a storage medium such as a flexible disk (FD), a CD-ROM, an MO disk, a DVD disk, a magneto-optical disk, and an IC card. Can be realized by reading and executing the program from the storage medium. In the following, an example of a computer that reads and executes a control program having the same function as that of the above embodiment from a storage medium will be described with reference to FIG. FIG. 12 is a diagram illustrating a computer that executes a control program.

図12に示すように制御プログラム(コンピュータ)40は、キャッシュ41、RAM(Random Access Memory)42、HDD(Hard Disk Drive)43、ROM(Read Only Memory)44およびCPU(Central Processing Unit)45をバス46で接続して構成される。ここで、コンピュータ40は、記憶媒体から制御プログラムを読み出し、ROM44に、要求制御情報受信プログラム44a、要求制御情報中継プログラム44b、存在制御情報生成プログラム44c、存在制御情報統合プログラム44d、及び存在制御情報返信プログラム44eを格納する。   As shown in FIG. 12, the control program (computer) 40 is a bus for a cache 41, a RAM (Random Access Memory) 42, an HDD (Hard Disk Drive) 43, a ROM (Read Only Memory) 44 and a CPU (Central Processing Unit) 45. 46 is connected. Here, the computer 40 reads the control program from the storage medium, and stores the request control information reception program 44a, the request control information relay program 44b, the presence control information generation program 44c, the presence control information integration program 44d, and the presence control information in the ROM 44. A reply program 44e is stored.

そして、CPU45が、これらのプログラム44a〜44eを読み出して実行することで、図12に示すように、各プログラム44a〜44eは、要求制御情報受信プロセス45a、要求制御情報中継プロセス45b、存在制御情報生成プロセス45c、存在制御情報統合プロセス45d、及び存在制御情報返信プロセス45eとなる。なお、各プロセス45a〜45eは、図1に示した、要求制御情報受信部11、要求制御情報中継部12、存在制御情報生成部13、存在制御情報統合部14、及び存在制御情報返信部15に各々対応する。   Then, the CPU 45 reads out and executes these programs 44a to 44e, so that each program 44a to 44e has a request control information reception process 45a, a request control information relay process 45b, and presence control information as shown in FIG. A generation process 45c, a presence control information integration process 45d, and a presence control information return process 45e. Each of the processes 45a to 45e includes a request control information receiving unit 11, a request control information relay unit 12, a presence control information generating unit 13, a presence control information integrating unit 14, and a presence control information returning unit 15 shown in FIG. Correspond to each.

1 ネットワーク
10 特定端末
11 要求制御情報受信部
12 要求制御情報中継部
13 存在制御情報生成部
14 存在制御情報統合部
15 存在制御情報返信部
20 発信源端末
30 端末
100 ノード
110 通信部
120 記憶部
121 ルーティングテーブル部
122 ワークデータ部
130 制御部
131 パケット受信部
132 ルーティングテーブル更新部
133 HELLOパケット中継部
134 REGISTERパケット統合部
135 REGISTERパケット返信部
DESCRIPTION OF SYMBOLS 1 Network 10 Specific terminal 11 Request control information receiving part 12 Request control information relay part 13 Presence control information generation part 14 Presence control information integration part 15 Presence control information reply part 20 Source terminal 30 Terminal 100 Node 110 Communication part 120 Storage part 121 Routing table section 122 Work data section 130 Control section 131 Packet receiving section 132 Routing table update section 133 HELLO packet relay section 134 REGISTER packet integration section 135 REGISTER packet return section

Claims (8)

複数の端末が接続されたネットワークにおける任意の特定端末が、存在確認を求める要求制御情報を他の端末から受信して、該要求制御情報を処理する制御方法であって、
特定端末が、
存在確認を求める要求制御情報を他の端末から受信する受信ステップと、
前記受信ステップによって受信された前記要求制御情報を、前記他の端末とは異なる端末に中継する中継ステップと、
前記受信ステップによって受信された前記要求制御情報から該要求制御情報を最初に送信した端末である発信源端末を識別し、識別した該発信源端末を、前記特定端末が存在することを示す存在制御情報の最終宛先として設定して存在制御情報を生成する生成ステップと、
前記発信源端末から前記特定端末までの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内に他の端末から受信した存在制御情報と、前記生成ステップによって生成された存在制御情報とを統合する統合ステップと、
前記統合ステップによって統合された存在制御情報を、前記要求制御情報を該特定端末に送信した前記他の端末に送信する返信ステップと
を含んだことを特徴とする制御方法。
An arbitrary specific terminal in a network to which a plurality of terminals are connected receives request control information for requesting existence confirmation from another terminal, and processes the request control information.
A specific device
A receiving step of receiving request control information for requesting existence confirmation from another terminal;
Relaying the request control information received in the receiving step to a terminal different from the other terminals;
Presence control that identifies the source terminal that is the terminal that first transmitted the request control information from the request control information received in the reception step, and indicates that the specific terminal exists as the identified source terminal A generation step for generating presence control information by setting as a final destination of information;
If the number of terminals that have passed through the communication path from the source terminal to the specific terminal is relatively large, a predetermined waiting time is set so that the time is relatively short, and the other terminals are set within the set waiting time. An integration step of integrating the presence control information received from the presence control information generated by the generation step;
A control method comprising: a return step of transmitting presence control information integrated in the integration step to the other terminal that has transmitted the request control information to the specific terminal.
前記統合ステップは、同一の端末が存在することを示す存在制御情報を複数の通信経路から複数受信した場合には、最も品質の高い通信経路に対応する存在制御情報を選択し、選択した存在制御情報と、前記生成ステップによって生成された存在制御情報とを統合することを特徴とする請求項1に記載の制御方法。   In the integration step, when a plurality of presence control information indicating that the same terminal exists is received from a plurality of communication paths, the presence control information corresponding to the communication path with the highest quality is selected, and the selected presence control is selected. The control method according to claim 1, wherein the information and the presence control information generated by the generation step are integrated. 前記要求制御情報には、該要求制御情報の最終宛先が設定されていないことを特徴とする請求項1に記載の制御方法。   The control method according to claim 1, wherein a final destination of the request control information is not set in the request control information. 前記要求制御情報には、該要求制御情報の最終宛先が設定されており、
前記特定端末は、
前記返信ステップにおいて、該要求制御情報の最終宛先として自ノードが設定されているか否かに関わらず、前記存在制御情報を送信することを特徴とする請求項1に記載の制御方法。
In the request control information, a final destination of the request control information is set,
The specific terminal is
2. The control method according to claim 1, wherein, in the reply step, the presence control information is transmitted regardless of whether or not a local node is set as a final destination of the request control information.
前記特定端末は、
前記受信ステップにおいて、受信した前記要求制御情報に含まれる該要求制御情報を一意に識別する識別情報を記憶テーブルに記憶し、
前記中継ステップにおいて、前記記憶テーブルを参照し、受信した前記要求制御情報に含まれる前記識別情報と一致する識別情報が該記憶テーブルに存在するか否かを判定し、存在する場合は、該要求制御情報を前記異なる端末に中継しないことを特徴とする請求項1に記載の制御方法。
The specific terminal is
In the reception step, storing identification information for uniquely identifying the request control information included in the received request control information in a storage table;
In the relay step, the storage table is referenced to determine whether or not identification information that matches the identification information included in the received request control information exists in the storage table. The control method according to claim 1, wherein the control information is not relayed to the different terminal.
複数の端末が接続されたネットワークにおける任意の特定端末として、存在確認を求める要求制御情報を他の端末から受信して、該要求制御情報を処理する制御装置であって、
存在確認を求める要求制御情報を他の端末から受信する受信部と、
前記受信部によって受信された前記要求制御情報を、前記他の端末とは異なる端末に中継する中継部と、
前記受信部によって受信された前記要求制御情報から該要求制御情報を最初に送信した端末である発信源端末を識別し、識別した該発信源端末を、前記特定端末が存在することを示す存在制御情報の最終宛先として設定して存在制御情報を生成する生成部と、
前記発信源端末から前記特定端末までの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内に他の端末から受信した存在制御情報と、前記生成部によって生成された存在制御情報とを統合する統合部と、
前記統合部によって統合された存在制御情報を、前記要求制御情報を該特定端末に送信した前記他の端末に送信する返信部と
を備えたことを特徴とする制御装置。
As a specific terminal in a network to which a plurality of terminals are connected, a control apparatus that receives request control information for requesting existence confirmation from another terminal and processes the request control information,
A receiving unit for receiving request control information for requesting existence confirmation from another terminal;
A relay unit that relays the request control information received by the receiving unit to a terminal different from the other terminals;
Presence control that identifies the source terminal that is the terminal that first transmitted the request control information from the request control information received by the receiving unit, and indicates that the specific terminal exists as the identified source terminal A generation unit configured to generate presence control information by setting as a final destination of information;
If the number of terminals that have passed through the communication path from the source terminal to the specific terminal is relatively large, a predetermined waiting time is set so that the time is relatively short, and the other terminals are set within the set waiting time. An integration unit that integrates the presence control information received from the presence control information generated by the generation unit;
A control apparatus comprising: a reply unit that transmits presence control information integrated by the integration unit to the other terminal that transmits the request control information to the specific terminal.
前記統合部は、同一の端末が存在することを示す存在制御情報を複数の通信経路から複数受信した場合には、最も品質の高い通信経路に対応する存在制御情報を選択し、選択した存在制御情報と、前記生成ステップによって生成された存在制御情報とを統合することを特徴とする請求項6に記載の制御装置。   When the integration unit receives a plurality of presence control information indicating that the same terminal exists from a plurality of communication paths, the integration unit selects the presence control information corresponding to the highest quality communication path, and selects the selected presence control. The control apparatus according to claim 6, wherein the information and the presence control information generated by the generation step are integrated. 複数の端末が接続されたネットワークにおける任意の特定端末が、存在確認を求める要求制御情報を他の端末から受信して、該要求制御情報を処理する制御プログラムを記憶する記憶媒体であって、
特定端末が、
存在確認を求める要求制御情報を他の端末から受信する受信手順と、
前記受信手順によって受信された前記要求制御情報を、前記他の端末とは異なる端末に中継する中継手順と、
前記受信手順によって受信された前記要求制御情報から該要求制御情報を最初に送信した端末である発信源端末を識別し、識別した該発信源端末を、前記特定端末が存在することを示す存在制御情報の最終宛先として設定して存在制御情報を生成する生成手順と、
前記発信源端末から前記特定端末までの通信経路上で経由した端末数が相対的に多ければ相対的に短い時間となるように所定の待機時間を設定し、設定した待機時間内に他の端末から受信した存在制御情報と、前記生成手順によって生成された存在制御情報とを統合する統合手順と、
前記統合手順によって統合された存在制御情報を、前記要求制御情報を該特定端末に送信した前記他の端末に送信する返信手順と
を実行することを特徴とする制御プログラムを記憶する記憶媒体。
An arbitrary specific terminal in a network to which a plurality of terminals are connected is a storage medium that stores request control information for requesting existence confirmation from another terminal and stores a control program for processing the request control information,
A specific device
A reception procedure for receiving request control information for requesting existence confirmation from another terminal,
A relay procedure for relaying the request control information received by the reception procedure to a terminal different from the other terminals;
Presence control that identifies the source terminal that is the terminal that first transmitted the request control information from the request control information received by the reception procedure, and indicates that the specific terminal exists as the identified source terminal A generation procedure for generating presence control information by setting as the final destination of the information;
If the number of terminals that have passed through the communication path from the source terminal to the specific terminal is relatively large, a predetermined waiting time is set so that the time is relatively short, and the other terminals are set within the set waiting time. An integration procedure for integrating the presence control information received from the presence control information generated by the generation procedure;
A storage medium for storing a control program, which executes a return procedure for transmitting presence control information integrated by the integration procedure to the other terminal that has transmitted the request control information to the specific terminal.
JP2009150301A 2009-06-24 2009-06-24 Control method, control device, and storage medium Active JP5246060B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009150301A JP5246060B2 (en) 2009-06-24 2009-06-24 Control method, control device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009150301A JP5246060B2 (en) 2009-06-24 2009-06-24 Control method, control device, and storage medium

Publications (2)

Publication Number Publication Date
JP2011009969A JP2011009969A (en) 2011-01-13
JP5246060B2 true JP5246060B2 (en) 2013-07-24

Family

ID=43566126

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009150301A Active JP5246060B2 (en) 2009-06-24 2009-06-24 Control method, control device, and storage medium

Country Status (1)

Country Link
JP (1) JP5246060B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000261361A (en) * 1999-03-08 2000-09-22 Fujitsu Denso Ltd Radio relay system and radio relaying method
JP4605427B2 (en) * 2003-08-08 2011-01-05 ソニー株式会社 COMMUNICATION SYSTEM, COMMUNICATION METHOD, COMMUNICATION TERMINAL DEVICE, ITS CONTROL METHOD, AND PROGRAM
ES2366373T3 (en) * 2005-11-09 2011-10-19 Thomson Licensing ROUTE SELECTION IN WIRELESS NETWORKS.
JP2007158864A (en) * 2005-12-07 2007-06-21 Nec Corp Network configuration system and method, and communication terminal
JP2009055083A (en) * 2007-08-23 2009-03-12 Toshiba Corp Wireless communication system and grouping method of nodes

Also Published As

Publication number Publication date
JP2011009969A (en) 2011-01-13

Similar Documents

Publication Publication Date Title
RU2544985C2 (en) Selection of route in wireless networks
JP5029002B2 (en) Network system and data transfer method
US9185630B2 (en) Management of the connections of relay nodes to form an ad hoc network
US20100191848A1 (en) Information sharing method between neighboring nodes, node and information sharing program
JPWO2013088498A1 (en) Transmission control method, node, and transmission control program
JP5246060B2 (en) Control method, control device, and storage medium
JP2015201752A (en) Connection control system, control server, connection control method, and computer program
WO2017214810A1 (en) Distributed network routing method and node
JP2009218811A (en) Radio communication apparatus, method and program
JP2015097348A (en) Communication method, communication device, communication program and communication system
JP5293452B2 (en) Control method, control device, and storage medium
JP6459665B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
CA2439775C (en) Routing method and mobile agent for communication in dynamic networks
CN114257544A (en) Traffic processing method, traffic processing device and network equipment
JP2005142909A (en) Radio terminal equipment and program
JP2008066914A (en) Network apparatus, network system, communication cost calculation program, and communication cost calculation method
JP2018007105A (en) Radio equipment, and method and program for time slot allocation control
JP6070081B2 (en) Network device and transmission control program
EP1371190A1 (en) Routing method and mobile agent for communication in dynamic networks
JP7219832B1 (en) Communication system, communication device, program, and processing method
JP7121821B1 (en) Communication system, communication device, program, and processing method
WO2017214806A1 (en) Distributed network message returning method and node
JP2006319761A (en) Radio communication terminal, radio communication method and program
JP2006094313A (en) Routing recovery system
CN115037687A (en) Route establishing method and device based on multiple nodes and electronic equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120329

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130306

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130325

R150 Certificate of patent or registration of utility model

Ref document number: 5246060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3