JP6413674B2 - COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL DEVICE - Google Patents
COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL DEVICE Download PDFInfo
- Publication number
- JP6413674B2 JP6413674B2 JP2014230410A JP2014230410A JP6413674B2 JP 6413674 B2 JP6413674 B2 JP 6413674B2 JP 2014230410 A JP2014230410 A JP 2014230410A JP 2014230410 A JP2014230410 A JP 2014230410A JP 6413674 B2 JP6413674 B2 JP 6413674B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- communication
- packet
- routing table
- destination
- 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
Links
Images
Description
本発明は、通信制御プログラム等に関する。 The present invention relates to a communication control program and the like.
アドホックネットワークに含まれる各ノードは、隣接ノード間でハローパケットを送受信し、最終的な宛先に至る複数の経路を構築する。宛先に至る複数の経路の情報は、ルーティングテーブルに登録される。各ノードは、経路を構築した後も、定期的にハローパケットを送受信して各経路の通信品質を計算し、経路の維持や最適な経路を学習し、随時ルーティングテーブルの更新を行う。各ノードは、同一の宛先に至る複数の経路が存在する場合には、各経路に優先順位を設定し、優先順位の高い経路を選択してデータを送信する。また、各ノードはハローパケットの送受信を利用して、隣接ノードとの電波強度や、宛先に至るホップ数等を対応付けたリンクテーブルを生成する。 Each node included in the ad hoc network transmits and receives hello packets between adjacent nodes, and constructs a plurality of routes to a final destination. Information on a plurality of routes to the destination is registered in the routing table. Even after constructing a route, each node periodically transmits / receives a hello packet to calculate the communication quality of each route, maintains the route, learns the optimum route, and updates the routing table as needed. When there are a plurality of routes to the same destination, each node sets a priority for each route, selects a route with a higher priority, and transmits data. In addition, each node generates a link table in which radio wave intensity with an adjacent node, the number of hops to a destination, and the like are associated by using transmission / reception of a hello packet.
図22は、従来のアドホックネットワークの一例を示す図である。図22に示すように、このアドホックネットワークは、ノード10a,10b,10c,10d,10e,10f,10g,10h,10s,10xを有する。
FIG. 22 is a diagram illustrating an example of a conventional ad hoc network. As shown in FIG. 22, this ad hoc network includes
図23は、従来のルーティングおよびリンクテーブルの一例を示す図である。図23では一例として、ノード10dのルーティングテーブル1dと、リンクテーブル2dの一例を示す。図23に示すように、ルーティングテーブル1dは、GD(Global Destination)とLD(Local Destination)と対応付ける。GDはパケットの宛先を示し、LDは、パケットを宛先に送信する場合の転送先となる隣接ノードを示す。なお、上側のLDほど優先順位が高いLDであることを示す。LDの優先順位は、リンクテーブルの評価値等を基に判定される。
FIG. 23 is a diagram illustrating an example of a conventional routing and link table. FIG. 23 shows an example of the routing table 1d and the link table 2d of the
リンクテーブル2dは、ノード識別情報と、ホップ数と、電波強度と、評価値とを対応付ける。ノード識別情報は、隣接のノードを一意に識別する情報である。ホップ数は、所定の宛先に至るまでにパケットが経由するノードの数+1である。電波強度は、隣接ノードと自装置との間の電波強度である。評価値は、電波強度等により算出される値である。 The link table 2d associates the node identification information, the number of hops, the radio wave intensity, and the evaluation value. Node identification information is information that uniquely identifies an adjacent node. The number of hops is the number of nodes through which a packet passes to reach a predetermined destination + 1. The radio field intensity is the radio field intensity between the adjacent node and the own device. The evaluation value is a value calculated from the radio wave intensity or the like.
図23に示すルーティングテーブル1dの例では、ノード10xにパケットを送信する場合において、ノード10a,10b,10cのいずれかを転送先とする旨が示される。なお、優先順位の大小関係は、ノード10a>ノード10b>ノード10cとなる。このため、ノード10dが、ノード10xにパケットを送信する場合には、ルーティングテーブル1dに基づき、ノード10aにパケットを送信する。ノード10dは、パケット転送に失敗した場合には、他のノード、例えば、ノード10bにパケットを再度送信する。
In the example of the routing table 1d illustrated in FIG. 23, when a packet is transmitted to the
しかしながら、上述した従来技術では、一時的な通信障害によりパケットを通信先に送信することができないという問題がある。 However, the above-described conventional technique has a problem that a packet cannot be transmitted to a communication destination due to a temporary communication failure.
図24は、従来技術の問題点を説明するための図である。例えば、図24に示すように、ノード10xとノード10a,10b,10cとの間に障害物20が発生し、ノード10xとノード10a,10b,10cとの間で無線通信が切断されたものとする。また、障害物20が一時的なものである場合でも、ハローパケットを利用してルーティングテーブルの経路変更する処理が間に合わない。そうすると、例えば、ノード10dは、ルーティングテーブル1dに基づいて、何れのノード10a,10b,10cにノード10x宛のパケットを転送したとしても、係るパケットをノード10xに到達させることができない。
FIG. 24 is a diagram for explaining the problems of the prior art. For example, as shown in FIG. 24, an
1つの側面では、パケットを通信先に送信することができる通信制御プログラム、通信制御方法および通信制御装置を提供することを目的とする。 An object of one aspect is to provide a communication control program, a communication control method, and a communication control apparatus that can transmit a packet to a communication destination.
第1の案では、コンピュータは、下記の処理を実行する。コンピュータは、少なくとも1つの中継装置を介した、通信先との予め設定された通信経路による通信が不可となった場合、通信先と通信可能な通信経路と当該通信経路に含まれる通信装置の数を示す情報とを関連付けて記憶する記憶部を参照する。コンピュータは、参照した結果に基づき、通信が不可となった通信経路よりも中継装置の数が多い通信経路を用いた通信先との通信に切替える。 In the first plan, the computer executes the following processing. When communication via a communication path set in advance with a communication destination via at least one relay device becomes impossible, the computer can communicate with the communication destination and the number of communication devices included in the communication path. Reference is made to a storage unit that stores information associated with Based on the reference result, the computer switches to communication with a communication destination using a communication path having a larger number of relay devices than the communication path in which communication is disabled.
本発明の1実施態様によれば、パケットを通信先に送信することができるという効果を奏する。 According to one embodiment of the present invention, there is an effect that a packet can be transmitted to a communication destination.
以下に、本願の開示する通信制御プログラム、通信制御方法および通信制御装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。 Hereinafter, embodiments of a communication control program, a communication control method, and a communication control device disclosed in the present application will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.
図1は、本実施例に係るアドホックネットワークの一例を示す図である。図1に示すように、このアドホックネットワークは、ノード100a,100b,100c,100d,100e,100f,100g,100h,100s,100xを有する。以下の説明では、ノード100a〜100xをまとめて適宜、ノード100と表記する。ノード100は、通信制御装置の一例である。
FIG. 1 is a diagram illustrating an example of an ad hoc network according to the present embodiment. As shown in FIG. 1, this ad hoc network includes
ノード100は、隣接するノード間でハローパケットを送受信し、最終的な宛先に至る複数の通信経路を構築する。ノード100は、宛先に至る複数の通信経路の情報を、ルーティングテーブルに登録する。また、ノード100は、ハローパケットの送受信を利用して、リンクテーブルを生成する。ノード100は、如何なる従来技術を利用して、ルーティングテーブルおよびリンクテーブルを生成してもよい。
The
ここで、ノード100は、一時的な障害物の影響により、ルーティングテーブルに設定した通信経路による通信が不可となった場合に、リンクテーブルを基にして、ルーティングテーブルに設定されたノード以外のノードを経由する通信経路に切り替える処理を行う。以下において、ノード100の処理についてより詳細に説明する。
Here, the
以下において、複数のパターン別に、本実施例に係るアドホックネットワークのノード100が実行する処理について説明する。まず、正常なネットワークが構築されている状態において、一時的な障害物が発生することで、通信不可となり、経路迂回を行って宛先までパケットを送信するパターン1について説明する。
In the following, processing executed by the
図2は、パターン1を説明するためのアドホックネットワークを示す図である。図3は、パターン1を説明するための各ノードのルーティングテーブルの一例を示す図である。図3では、一例として、ノード100a,100b,100c,100d,100h,100gのルーティングテーブルを示す。ノード100aのルーティングテーブルを、ルーティングテーブル150aとする。ノード100bのルーティングテーブルを、ルーティングテーブル150bとする。ノード100cのルーティングテーブルを、ルーティングテーブル150cとする。ノード100dのルーティングテーブルを、ルーティングテーブル150dとする。ノード100hのルーティングテーブルを、ルーティングテーブル150hとする。ノード100gのルーティングテーブルを、ルーティングテーブル150gとする。ノード100f,100eのルーティングテーブルは図示を省略する。以下の説明では、ルーティングテーブル150a,150b,150c,150d,150h,150gをまとめて適宜、ルーティングテーブル150と表記する。
FIG. 2 is a diagram illustrating an ad hoc network for explaining the
図3に示すように、ルーティングテーブル150は、GD(Global Destination)と、LD(Local Destination)と、使用禁止フラグとを対応付ける。GDは、パケットの最終的な宛先を示す。LDは、パケットをGDに送信する場合に転送先となる隣接のノードを示す。使用禁止フラグは、パケットを送信することを許容するノードであるか否かを示すフラグである。パケットを送信することを許容するノードである場合には、使用禁止フラグは「OFF」となり、転送先にパケットを送信することを許容しないノードである場合には、使用禁止フラグは「ON」となる。 As shown in FIG. 3, the routing table 150 associates GD (Global Destination), LD (Local Destination), and a use prohibition flag. GD indicates the final destination of the packet. The LD indicates an adjacent node that is a transfer destination when a packet is transmitted to the GD. The use prohibition flag is a flag indicating whether or not the node is allowed to transmit a packet. If the node is allowed to transmit a packet, the use prohibition flag is “OFF”. If the node is not allowed to transmit a packet to the transfer destination, the use prohibition flag is “ON”. Become.
図4は、パターン1を説明するためのノードのリンクテーブルの一例を示す図である。図4では一例として、ノード100dのリンクテーブル160dを示す。図4に示すように、このリンクテーブル160dは、ノード識別情報と、ホップ数と、電波強度と、評価値と、迂回禁止フラグとを対応付ける。ノード識別情報は、隣接ノードを一意に識別する情報である。ホップ数は、GDに至るまでにパケットが経由するノードの数+1である。本実施例では一例として、GDをノード100xとした場合のホップ数を示す。
FIG. 4 is a diagram illustrating an example of a node link table for explaining the
電波強度は、隣接ノードとノード100dとの間の電波強度を示す。評価値は、転送先からGDに至るノード間の電波強度に基づき算出される値である。本実施例では、評価値が低いほど、パケットを送信する場合のノードの優先度が高いものとする。迂回禁止フラグは、後述するように、リンクテーブル160dに基づき、パケットの転送先を判定する場合に、パケットを送信することを許容するノードであるか否かを示すフラグである。パケットを送信することを許容するノードである場合には、迂回禁止フラグは「OFF」となり、転送先にパケットを送信することを許容しないノードである場合には、迂回禁止フラグは「ON」となる。
The radio wave intensity indicates the radio wave intensity between the adjacent node and the
図2の説明に戻る。図2のステップS10は、正常時のアドホックネットワークの一例を示すものである。ノード100は、ルーティングテーブルに基づいて、パケットを宛先に送信する。例えば、ノード100dは、パケットをノード100xに送信する場合には、ルーティングテーブル150dに基づいて、パケットを隣接ノードに送信する。
Returning to the description of FIG. Step S10 in FIG. 2 shows an example of a normal ad hoc network. The
図2のステップS11は、障害物20aが発生した場合のアドホックネットワークの一例を示すものである。障害物20aにより、ノード100xと、ノード100a,100b,100cとの間の無線通信が切断される。以下では、ノード100dを起点として、ノード100x宛にパケット送信を試みる場合について説明する。
Step S11 in FIG. 2 shows an example of an ad hoc network when the
(1)ノード100dは、ノード100xに対してデータ通信を行う場合に、ルーティングテーブル150dに基づいて、第1候補であるノード100aにパケットを送信する。
(1) When performing data communication with the
(2)ノード100aは、ルーティングテーブル150aに基づいて、第1候補であるノード100xにパケットを送信するが応答がないため、ルーティングテーブル150aのノード100xに対応する使用禁止フラグを「ON」にする。これにより、ノード100aは、ルーティングテーブル150aを、ルーティングテーブル150a1に更新する。
(2) The
(3)ノード100aは、ルーティングテーブル150a1に基づいて、第2候補であるノード100bにパケットを送信する。
(3)
(4)ノード100bは、ルーティングテーブル150bに基づいて、第1候補であるノード100xにパケットを送信するが応答がないため、ルーティングテーブル150bのノード100xに対応する使用禁止フラグを「ON」にする。これにより、ノード100bは、ルーティングテーブル150bを、ルーティングテーブル150b1に更新する。
(4) Based on the routing table 150b, the
(5)ノード100bは、ルーティングテーブル150b1に基づいて、第3候補であるノード100cにパケットを送信する。ここで、ノード100bは、(3)において、第2候補のノード100aからパケットを受信しているので、ノード100aにパケットを送信しない。
(5)
(6)ノード100cは、ルーティングテーブル150cに基づいて、第1候補であるノード100xにパケットを送信するが応答がないため、ルーティングテーブル150cのノード100xに対応する使用禁止フラグを「ON」にする。これにより、ノード100cは、ルーティングテーブル150cを、ルーティングテーブル150c1に更新する。
(6) Based on the routing table 150c, the
(7)ノード100cは、ルーティングテーブル150c1に基づいて、第3候補であるノード100dにパケットを送信する。ここで、ノード100cは、(5)において、第2候補のノード100bからパケットを受信しているので、ノード100bにパケットを送信しない。
(7)
(8)ノード100dは、ノード100aに送信したパケットを、ノード100cから受信するため、ルーティングテーブル150dについて、ノード100a,100cに対応する使用禁止フラグを「ON」にする。これにより、ノード100dは、ルーティングテーブル150dを、ルーティングテーブル150d1に更新する。
(8) In order to receive the packet transmitted to the
図2のステップS12について説明する。(9)ノード100dは、ルーティングテーブル150d1に基づき、使用禁止フラグが「ON」となっていないノード100bに対してパケットを送信する。
Step S12 in FIG. 2 will be described. (9)
(10)ノード100bは、(5)においてノード100cに送信したパケットをノード100dから再度受信したことになるため、ルーティングテーブル150bの全ての経路について、パケットを送信不能であると判定する。これにより、ノード100bは、ノード100dにパケットを返送する。
(10) Since the
(11)ノード100dは、ノード100bからデータを返送されたため、ルーティングテーブル150d1について、ノード100bに対応する使用禁止フラグを「ON」にする。これにより、ノード100dは、ルーティングテーブル150d1を、ルーティングテーブル150d2に更新する。
(11)
(12)ノード100dは、ルーティングテーブル150d2について、全ての使用禁止フラグが「ON」となったため、リンクテーブル160に基づいて、ノード100xに到達可能なノードを検出する。例えば、ノード100dは、下記の条件1、条件2、条件3を満たすノードを検出する。
(12)
条件1:自装置(ノード100d)のホップ数(2)に1を加算したホップ数(3)となるノード。
条件2:リンクテーブル(リンクテーブル160d)中の迂回禁止フラグが「OFF」となるノード。ただし、ルーティングテーブル(ルーティングテーブル150d2)で、使用禁止フラグが「ON」となるノードを除く。
条件3:条件2に該当するノードのうち、評価値が最小となるノード。
Condition 1: A node having a hop count (3) obtained by adding 1 to the hop count (2) of the local apparatus (
Condition 2: A node for which the bypass prohibition flag in the link table (link table 160d) is “OFF”. However, the node whose use prohibition flag is “ON” in the routing table (routing table 150d 2 ) is excluded.
Condition 3: Of the nodes corresponding to
なお、ノード100dは、条件1〜3を満たすノードを検出する場合に、ルーティングテーブル150dのLDに設定されているノードを、検出対象から除外する。例えば、ノード100dは、ノード100a〜100cについて、既にルーティングテーブル150dの経路として採用されているため、検出対象から除外する。
Note that, when the
ノード100dは、条件1〜3を満たすノードを、リンクテーブル160dを基に検索すると、ノード100hが、条件1〜3を満たす。このため、ノード100dは、ノード100hを、パケットの新たな転送先として検出する。図4を用いて説明すると、条件1および条件2を満たすノードは、ノード100hとなる。また、ノード100hは、条件3も満たす。このため、ノード100dは、ノード100hを検出する。
When the
ここで、条件1の根拠について説明する。ノード100は、自装置のホップ数に1を加算したホップ数よりも大きいノードを選択すると、係るノードにパケットを送信後に、再度パケットが戻ってくる可能性が高くなる。例えば、図1、図4を参照すると、ノード100dのホップ数よりもホップ数の大きくなるノード100は、ノード100e,100fとなる。ノード100dは、GDをノード100xとするパケットをノード100e,100fに送信してしまうと、かかるパケットを再度ノード100e,100fから受信する可能性が高く、ループが発生する。
Here, the basis of
図2のステップS13について説明する。(13)ノード100dは、(12)において検出したノード100hに対してパケットを送信する。(14)ノード100hは、ルーティングテーブル150hに基づき、第1候補であるノード100gにパケットを送信する。
Step S13 in FIG. 2 will be described. (13) The
(15)ノード100gは、ルーティングテーブル150gに基づき、第1候補であるノード100xにパケットを送信する。
(15) The
上記のように、ノード100が(1)〜(15)の処理を実行することにより、ルーティングテーブル150の全経路についてパケット送信に失敗した場合でも、パケットをGDに送信することができる。
As described above, when the
続いて、パターン1においてパケットを迂回させて送信してから最適ルートが復旧するまでの間にノード100dが再度パケットを送信するパターン2について説明する。図5は、パターン2を説明するためのアドホックネットワークの一例を示す図である。図6は、パターン2を説明するための各ノードのルーティングテーブルの一例を示す図である。
Next,
図6では、一例として、ノード100d,100h,100g,100j,100kのルーティングテーブルを示す。ノード100dのルーティングテーブルを、ルーティングテーブル150d2とする。ノード100hのルーティングテーブルを、ルーティングテーブル150hとする。ノード100gのルーティングテーブルを、ルーティングテーブル150gとする。ノード100jのルーティングテーブルを、ルーティングテーブル150jとする。ノード100kのルーティングテーブルを、ルーティングテーブル150kとする。
FIG. 6 shows a routing table of the
図7は、パターン2を説明するためのノードのリンクテーブルの一例を示す図である。図7では一例として、ノード100dのリンクテーブル160dを示す。
FIG. 7 is a diagram illustrating an example of a link table of nodes for explaining the
図5のステップS20について説明する。(21)ノード100dは、GDをノード100xに設定したパケットを送信する場合に、ルーティングテーブル150d2を参照する。ノード100dは、ルーティングテーブル150d2について、全ての使用禁止フラグが「ON」となったため、リンクテーブル160dに基づいて、ノード100xに到達可能なノードを検出する。例えば、ノード100dは、上記の条件1、条件2、条件3を満たすノード100hを検出する。ノード100dは、ノード100hにパケットを送信する。
Step S20 in FIG. 5 will be described. (21)
(22)ノード100hは、ルーティングテーブル150hに基づき、第1候補であるノード100gにパケットを送信する。(23)ノード100gは、ルーティングテーブル150gに基づき、第1候補であるノード100xにパケットを送信する。
(22) The
図5のステップS21について説明する。ステップS21は、障害物20aに加えて、障害物20bが発生した一例を示す。障害物20bにより、ノード100gと、ノード100xとの間の無線通信が切断される。なお、障害物20bが発生するまで、ノード100dは、ノード100h,100gを介して、パケットをノード100xに送信しているものとする。
Step S21 in FIG. 5 will be described. Step S21 shows an example in which an
(24)ノード100gは、ノード100xにパケットを送信するが応答がないため、ルーティングテーブル150gのノード100xに対応する使用禁止フラグを「ON」にする。これにより、ノード100gは、ルーティングテーブル150gを、ルーティングテーブル150g1に更新する。
(24) Since the
(25)ノード100gは、ルーティングテーブル150g1のGDに至る全ての経路について、パケットを送信不能であると判定し、パケットをノード100hに返送する。ノード100hは、パケットをノード100gから再受信したことになるため、ルーティングテーブル150hのノード100gに対応する使用禁止フラグを「ON」にする。これにより、ノード100hは、ルーティングテーブル150hを、ルーティングテーブル150h1に更新する。
(25)
(26)ノード100hは、ルーティングテーブル150h1のGDに至る全ての経路について、パケットを送信不可能であると判定し、パケットをノード100dに返送する。ノード100dは、パケットをノード100hから再受信したことになるため、リンクテーブル160dのノード100hに対応する迂回禁止フラグを「ON」にする。これにより、ノード100dは、リンクテーブル160dを、リンクテーブル160d1に更新する。
(26)
(27)ノード100dは、ルーティングテーブル150d2について、全ての使用禁止フラグが「ON」であり、かつ、迂回ルートで利用していたノード100hの迂回禁止フラグが「ON」となったため、再度、条件1〜3を満たすノードを検出する。ノード100dは、条件1〜3を満たすノードを、リンクテーブル160d1を基に検索すると、ノード100jが、条件1〜3を満たす。このため、ノード100dは、ノード100jを、パケットの新たな迂回先として検出する。
(27)
(28)ノード100dは、(27)において検出したノード100jに対してパケットを送信する。(29)ノード100jは、ルーティングテーブル150jに基づき、第1候補であるノード100kにパケットを送信する。(30)ノード100kは、ルーティングテーブル150kに基づき、第1候補であるノード100xにパケットを送信する。
(28) The
上記のように、ノード100が(24)〜(30)の処理を実行することにより、迂回経路で通信が切断された場合でも、他の迂回経路を検出して、パケットをGDに送信することができる。なお、ノード100は、迂回経路を用いてパケットを転送する場合に、パケットに格納される迂回転送数に1を加算する。ノード100は、迂回転送数が、自身の保持する迂回転送数閾値よりも小さい場合にのみ、迂回先のノード100にパケットを送信する。なお、ノード100は、迂回転送数が、自身の保持する迂回転送数閾値以上である場合には、パケットの送信元であるノード100d宛に、パケットを返送する。迂回転送数に関する具体的な処理の説明は後述する。
As described above, when the
続いて、迂回ルートのノードがパケットを送信する場合に、更に迂回ルートを利用するパターン3について説明する。図8は、パターン3を説明するためのアドホックネットワークの一例を示す図である。図9は、パターン3を説明するための各ノードのルーティングテーブルの一例を示す図である。
Next,
図9では一例として、ノード100d,100h,100p,100qのルーティングテーブルを示す。ノード100dのルーティングテーブルを、ルーティングテーブル150d2とする。ノード100hのルーティングテーブルを、ルーティングテーブル150hとする。ノード100pのルーティングテーブルを、ルーティングテーブル150pとする。ノード100qのルーティングテーブルを、ルーティングテーブル150qとする。
FIG. 9 shows a routing table of the
図10は、パターン3を説明するための各ノードのリンクテーブルの一例を示す図である。図10では一例として、ノード100d,100h,100pのリンクテーブルを示す。ノード100dのリンクテーブルを、リンクテーブル160dとする。ノード100hのリンクテーブルを、リンクテーブル160hとする。ノード100pのリンクテーブルを、リンクテーブル160pとする。
FIG. 10 is a diagram illustrating an example of a link table of each node for explaining the
図8のステップS30について説明する。(31)ノード100dは、GDをノード100xに設定したパケットを送信する場合に、ルーティングテーブル150d2を参照する。ノード100dは、ルーティングテーブル150d2について、全ての使用禁止フラグが「ON」となったため、リンクテーブル160dに基づいて、ノード100xに到達可能なノードを検出する。例えば、ノード100dは、上記の条件1、条件2、条件3を満たすノード100hを検出する。ノード100dは、ノード100hにパケットを送信する。
Step S30 in FIG. 8 will be described. (31)
図11は、パケットのデータ構造の一例を示す図(1)である。図11に示すように、例えば、パケットは、LDと、LSと、GDと、GSと、迂回転送数と、実データとを対応付ける。ここで、LDおよびGDに関する説明は、上記の説明と同様である。LS(Local Source)は、パケットの転送元となる隣接ノードを示す。GS(Global Source)は、パケットをはじめに送信したノードを示す。迂回転送数は、迂回経路によるパケットの転送を行った回数を示すものである。実データは、各ノード100が計測したセンサデータ等のユーザデータが含まれる。
FIG. 11 is a diagram (1) illustrating an example of a data structure of a packet. As illustrated in FIG. 11, for example, a packet associates LD, LS, GD, GS, the number of bypass transfers, and actual data. Here, the description regarding LD and GD is the same as the above description. LS (Local Source) indicates an adjacent node that is a packet transfer source. GS (Global Source) indicates a node that first transmits a packet. The number of detour transfers indicates the number of times that a packet was transferred through a detour path. The actual data includes user data such as sensor data measured by each
例えば、上記(31)でノード100dがノード100hに送信するパケットは、図11のパケット30aとなる。ノード100dは、パケット30aのLDに「ノード100h」を設定し、LSに「ノード100d」を設定し、GDに「ノード100x」を設定し、GSに「ノード100d」を設定する。また、ノード100dは、迂回転送数に初期値の「1」を設定する。パケットは転送される度に、LD、LSに格納されるノードの情報が更新される。以下の説明では、特記する場合を除き、パケットのデータ構造に関する説明を省略する。
For example, the packet transmitted from the
図8の説明に戻る。(32)ノード100hは、ルーティングテーブル150hに基づき、第1候補であるノード100gにパケットを送信する。(33)ノード100gは、ルーティングテーブル150gに基づき、第1候補であるノード100xにパケットを送信する。
Returning to the description of FIG. (32) The
図8のステップS31について説明する。ステップS31は、障害物20aが、更に、ノード100hと、ノード100g,100l,100mとの間の無線通信を切断したものとする。ノード100dは、ノード100hとノード100gとの間に無線通信が切断されるまで、ノード100h,100gを介して、パケットをノード100xに送信しているものとする。
Step S31 in FIG. 8 will be described. In step S31, it is assumed that the
(34)ノード100hは、ノード100gにパケットを送信するが応答がないため、ルーティングテーブル150hのノード100gに対応する使用禁止フラグを「ON」にする。
(34) Since the
(35)ノード100hは、第2候補であるノード100lにパケットを送信するが応答がないため、ルーティングテーブル150hのノード100lに対応する使用禁止フラグを「ON」にする。
(35) Since the
(36)ノード100hは、第3候補であるノード100mにパケットを送信するが応答がないため、ルーティングテーブル150hのノード100mに対応する使用禁止フラグを「ON」にする。上記(34)〜(36)により、ノード100hは、図10に示すように、ルーティングテーブル150hを、ルーティングテーブル150h1に更新する。
(36) Since the
(37)ノード100hは、ルーティングテーブル150h1のGDに至る全ての経路について、パケット送信不能であると判定する。パターン3では、ノード100hがリンクテーブル160hを基にして、迂回先となる隣接ノードを検出する場合について説明する。ノード100hは、条件1〜条件3を満たすノードを、リンクテーブル160hを基に検索すると、ノード100pが、条件1〜条件3を満たす。
(37) the
ノード100hは、ノード100pに対してパケットを送信する。ノード100hが、ノード100pに対して送信するパケットのデータ構造は、図11のパケット30bに示すものとなる。ノード100hは、パケット30bのLDに「ノード100p」を設定し、LSに「ノード100h」を設定し、GDに「ノード100x」を設定し、GSに「ノード100d」を設定する。また、ノード100hは、迂回転送数に1を加算することで、迂回転送数を「2」に設定する。ノード100hは、迂回転送数が、自身の保持する迂回転送数閾値よりも小さい場合にのみ、迂回先のノード100pにパケットを送信する。なお、ノード100hは、迂回転送数が、自身の保持する迂回転送数閾値以上である場合には、パケットの送信元であるノード100d宛に、パケットを返送する。以下の説明では、迂回転送数が、自身の保持する迂回転送数閾値よりも小さい場合について説明する。
The
(38)ノード100pは、ルーティングテーブル150pに基づき、第1候補であるノード100qにパケットを送信する。(39)ノード100qは、ルーティングテーブル150qに基づき、第1候補であるノード100xにパケットを送信する。
(38) The
上記のように、ノード100が(31)〜(39)の処理を実行することにより、迂回経路先で、更に通信が切断された場合でも、他の迂回経路を検出して、パケットをGDに送信することができる。
As described above, the
続いて、迂回経路のノードがパケットを送信する場合に、更に迂回経路を利用するパターン4について説明する。図12は、パターン4を説明するためのアドホックネットワークの一例を示す図である。図13は、パターン4を説明するための各ノードのルーティングテーブルの一例を示す図である。
Next, a description will be given of the
図13では、一例として、ノード100d,100h,100p,100qのルーティングテーブルを示す。ノード100dのルーティングテーブルを、ルーティングテーブル150d2とする。ノード100hのルーティングテーブルを、ルーティングテーブル150hとする。ノード100pのルーティングテーブルを、ルーティングテーブル150pとする。ノード100qのルーティングテーブルを、ルーティングテーブル150qとする。
FIG. 13 shows a routing table of the
図14は、パターン4を説明するための各ノードのリンクテーブルの一例を示す図である。図14では一例として、ノード100h,100pのリンクテーブルを示す。ノード100hのリンクテーブルを、リンクテーブル160hとする。ノード100pのリンクテーブルを、リンクテーブル160pとする。
FIG. 14 is a diagram illustrating an example of a link table of each node for explaining the
図12の説明に戻る。(41)ノード100dは、GDをノード100xに設定したパケットを送信する場合に、ルーティングテーブル150d2を参照する。ノード100dは、ルーティングテーブル150d2について、全ての使用禁止フラグが「ON」となったため、リンクテーブル160dに基づいて、ノード100xに到達可能なノードを検出する。例えば、ノード100dは、上記の条件1、条件2、条件3を満たすノード100hを検出する。ノード100dは、ノード100hにパケットを送信する。係る(41)の処理は、図8の(31)の処理に対応する。
Returning to the description of FIG. (41)
図15は、パケットのデータ構造の一例を示す図(2)である。例えば、上記(41)でノード100dがノード100hに送信するパケットは、図15のパケット30aとなる。ノード100dは、パケット30aのLDに「ノード100h」を設定し、LSに「ノード100d」を設定し、GDに「ノード100x」を設定し、GSに「ノード100d」を設定する。また、ノード100dは、迂回転送数に初期値の「1」を設定する。パケットは転送される度に、LD、LSに格納されるノードの情報が更新される。以下の説明では、特記する場合を除き、パケットのデータ構造に関する説明を省略する。
FIG. 15 is a diagram (2) illustrating an example of a data structure of a packet. For example, the packet that the
図12の説明に戻る。(42)ノード100hは、ルーティングテーブル150hに基づいて、第1候補であるノード100gにパケットを送信するが応答がないため、ルーティングテーブル150hのノード100gに対応する使用禁止フラグを「ON」にする。
Returning to the description of FIG. (42) Based on the routing table 150h, the
(43)ノード100hは、第2候補であるノード100lにパケットを送信するが応答がないため、ルーティングテーブル150hのノード100lに対応する使用禁止フラグを「ON」にする。
(43) Since the
(44)ノード100hは、第3候補であるノード100mにパケットを送信するが応答がないため、ルーティングテーブル150hのノード100mに対応する使用禁止フラグを「ON」にする。上記(42)〜(44)により、ノード100hは、ルーティングテーブル150hを、ルーティングテーブル150h1に更新する。
(44) Since the
(45)ノード100hは、ルーティングテーブル150h1のGDに至る全ての経路について、パケット送信不能であると判定する。パターン4では、ノード100hがリンクテーブル160hを基にして、迂回先となる隣接ノードを検出する場合について説明する。ノード100hは、条件1〜条件3を満たすノードを、ルーティングテーブル160hを基に検索すると、ノード100pが、条件1〜条件3を満たす。
(45) the
ノード100hは、ノード100pに対してパケットを送信する。ノード100hが、ノード100pに対して送信するパケットのデータ構造は、図15のパケット30bに示すものとなる。ノード100hは、パケット30bのLDに「ノード100p」を設定し、LSに「ノード100h」を設定し、GDに「ノード100x」を設定し、GSに「ノード100d」を設定する。また、ノード100dは、迂回転送数に1を加算することで、迂回転送数を「2」に設定する。ノード100hは、迂回転送数が、自身の保持する迂回転送数閾値よりも小さい場合にのみ、迂回先のノード100pにパケットを送信する。なお、ノード100hは、迂回転送数が、自身の保持する迂回転送数閾値以上である場合には、パケットの送信元であるノード100d宛に、パケットを返送する。以下の説明では、迂回転送数が、自身の保持する迂回転送数閾値よりも小さい場合について説明する。
The
(46)ノード100pは、ルーティングテーブル150pに基づき、第1候補であるノード100qにパケットを送信するが応答がないため、ルーティングテーブル150pのノード100qに対応する使用禁止フラグを「ON」にする。
(46) Based on the routing table 150p, the
(47)ノード100pは、ルーティングテーブル150pに基づき、第2候補であるノード100rにパケットを送信するが応答がないため、ルーティングテーブル150pのノード100rに対応する使用禁止フラグを「ON」にする。
(47) The
(48)ノード100pは、ルーティングテーブル150pに基づき、第3候補であるノード100tにパケットを送信するが応答がないため、ルーティングテーブル150pのノード100tに対応する使用禁止フラグを「ON」にする。上記(46)〜(48)により、ノード100pは、ルーティングテーブル150pを、ルーティングテーブル150p1に更新する。
(48) Based on the routing table 150p, the
(49)ノード100pは、ルーティングテーブル150p1のGDに至る全ての経路について、パケット送信不能であると判定する。パターン4では、ノード100pがリンクテーブル160pを基にして、迂回先となる隣接ノードを検出する場合について説明する。ノード100pは、条件1〜条件3を満たすノードを、ルーティングテーブル160pを基に検索すると、例えば、ノード100vが、条件1〜条件3を満たす。
(49)
ここで、ノード100pが、ノード100vに対して送信する予定のパケットのデータ構造は、図15のパケット30cに示すものとなる。ノード100pは、パケット30cのLDに「ノード100v」を設定し、LSに「ノード100p」を設定し、GDに「ノード100x」を設定し、GSに「ノード100d」を設定する。また、ノード100pは、迂回転送数に1を加算することで、迂回転送数を「3」に設定する。ノード100pは、迂回転送数が、自身の保持する迂回転送数閾値よりも小さい場合にのみ、迂回先のノード100vにパケットを送信する。以下の説明では、迂回転送数が、自身の保持する迂回転送数閾値以上である場合について説明する。このため、ノード100pは、パケットをノード100vに送信することをやめる。
Here, the data structure of the packet scheduled to be transmitted from the
(50)ノード100pは、迂回転送数が上限に達しているため、パケットをノード100hに返送する。(51)ノード100hは、リンクテーブル160hに基づいて、別の迂回経路がある場合は、該当するノードにパケットを送信する。ノード100hは、別の迂回経路がない場合には、パケットをノード100dに送信する。
(50) The
上記のように、ノード100が(41)〜(51)の処理を実行することにより、迂回経路を利用して、GDにパケットを送信することを試み、迂回転送数が上限に達してしまった場合には、パケットを送信することを抑止する。これにより、アドホックネットワークのトラフィック量の増加することを防ぐことができる。
As described above, when the
続いて、リンクテーブルを用いた迂回経路からルーティングテーブルを用いた経路に復旧するパターン5について説明する。図16は、パターン5を説明するためのアドホックネットワークの一例を示す図である。図17は、パターン5を説明するための各ノードのルーティングテーブルの一例を示す図である。
Next,
図17では一例として、ノード100a,100b,100c,100d,100h,100gのルーティングテーブルを示す。ノード100aのルーティングテーブルを、ルーティングテーブル150aとする。ノード100bのルーティングテーブルをルーティングテーブル150bとする。ノード100cのルーティングテーブルをルーティングテーブル150cとする。ノード100dのルーティングテーブルをルーティングテーブル150dとする。ノード100hのルーティングテーブルをルーティングテーブル150hとする。ノード100gのルーティングテーブルをルーティングテーブル150gとする。
FIG. 17 shows the routing tables of the
図18は、パターン5を説明するための各ノードのリンクテーブルの一例を示す図である。図18では一例として、ノード100a、100dのリンクテーブルを示す。ノード100aのリンクテーブルをリンクテーブル160aとする。ノード100dのリンクテーブルをリンクテーブル160dとする。
FIG. 18 is a diagram illustrating an example of a link table of each node for explaining the
図16のステップS50について説明する。(61)障害物が無くなると、ノード100xから送信されるハローパケットが、ノード100a,100b,100c,100s,100gに到達するようになる。(62)ノード100aは、ノード100xからハローパケットを受信すると、リンクテーブル160aを更新する。例えば、ノード100aは、ノード識別情報「ノード100x」に対応する電波強度を「良」、評価値「1」に更新する。ノード100b,100c,100s,100gも、ノード100aと同様にして、リンクテーブルを更新する。
Step S50 in FIG. 16 will be described. (61) When the obstacle disappears, the hello packet transmitted from the
(63)ノード100aは、ルーティングテーブル150aの見直しを行う。ノード100aは、ノード100xからハローパケットを受信したため、ルーティングテーブル150aのLD「100x」に対応する使用禁止フラグを「OFF」に設定する。ノード100b,100c,100sも同様に、ルーティングテーブル150のLD「100x」に対応する使用禁止フラグを「OFF」に設定する。
(63) The
図16のステップS51について説明する。(64)ノード100aは、ノード100b,100dに対してハローパケットを送信する。(65)ノード100dは、ハローパケットを受信すると、リンクテーブル160dを更新する。例えば、ノード100dは、リンクテーブル160dのノード識別情報「ノード100a」に対応するホップ数を「2」に更新し、評価値を「2」に更新する。ノード100bも同様にして、リンクテーブル160bを更新する。ノード100bのリンクテーブルの図示を省略する。
Step S51 in FIG. 16 will be described. (64) The
(66)ノード100dは、ルーティングテーブル150dの見直しを行う。ノード100dは、ノード100aからハローパケットを受信したため、ルーティングテーブル150dのLD「100a」に対応する使用禁止フラグを「OFF」に設定する。また、ノード100dは、リンクテーブル160dの更新に伴い、ノード100aを第1候補のLDに設定し、ノード100hを第2候補のLDに設定する。これにより、ノード100dは、ルーティングテーブル150dをルーティングテーブル150d1に更新する。ノード100bも同様にして、ルーティングテーブル150bを、ルーティングテーブル150b1に更新する。
(66) The
図16のステップS52について説明する。(67)ノード100bは、ハローパケットをノード100a,100c,100dに送信し、ノード100a,100c,100dは、ハローパケットを受信する。
Step S52 in FIG. 16 will be described. (67) The
(68)ノード100dは、リンクテーブル160dの見直しを行う。例えば、ノード100dは、リンクテーブル160dのノード識別情報「ノード100b」に対応するホップ数を「2」に更新し、評価値を「2」に更新する。これにより、ノード100dは、リンクテーブル160dを、リンクテーブル160d1に更新する。図示を省略するが、ノード100a,100cも同様に、リンクテーブルの見直しを行う。
(68) The
(69)ノード100dは、ルーティングテーブル150d1の見直しを行う。ノード100dは、ノード100bからハローパケットを受信したため、ルーティングテーブル150d1のLD「100b」に対応する使用禁止フラグを「OFF」に設定する。これにより、ノード100dは、ルーティングテーブル150d1を、ルーティングテーブル150d2に更新する。
(69)
同様にして、ノード100a,100cも、ルーティングテーブル150a,150cの見直しを行う。ノード100aは、ルーティングテーブル150aのLD「100b」に対応する使用禁止フラグを「OFF」に設定する。これにより、ノード100aは、ルーティングテーブル150aを、ルーティングテーブル150a1に更新する。また、ノード100cは、ルーティングテーブル150cのLD「100b」に対応する使用禁止フラグを「OFF」に設定する。これにより、ノード100cは、ルーティングテーブル150cを、ルーティングテーブル150c1に更新する。
Similarly, the
図16のステップS53について説明する。(70)ノード100cは、ハローパケットをノード100b,100dに送信し、ノード100b,100dは、ハローパケットを受信する。
Step S53 in FIG. 16 will be described. (70) The
(71)ノード100dは、リンクテーブル160d1の見直しを行う。例えば、ノード100dは、リンクテーブル160dのノード識別情報「100c」に対応するホップ数を「2」に更新し、評価値を「2」に更新する。これにより、ノード100dは、リンクテーブル160d1を、リンクテーブル160d2に更新する。図示を省略するが、ノード100bも同様に、リンクテーブルの見直しを行う。
(71)
(72)ノード100dは、ルーティングテーブル150d2の見直しを行う。ノード100dは、ノード100cからハローパケットを受信し、リンクテーブル160d2に示すように更新したため、LDの第3候補を「ノード100c」に更新し、使用禁止フラグを「OFF」に設定する。これにより、ノード100dは、ルーティングテーブル150d2をルーティングテーブル150d3に更新する。同様に、ノード100bも、ルーティングテーブル150b1を、ルーティングテーブル150b2に更新する。
(72)
図16のステップS54について説明する。(73)ノード100sは、ハローパケットをノード100dに送信し、ノード100dは、ハローパケットを受信する。
Step S54 in FIG. 16 will be described. (73) The
(74)ノード100dは、リンクテーブル160d2の見直しを行う。例えば、ノード100dは、リンクテーブル160d2のノード識別情報「100s」に対応するホップ数を「2」に更新し、評価値を「3」に更新する。これにより、ノード100dは、リンクテーブル160d2を、リンクテーブル160d3に更新する。
(74)
(75)ノード100dは、ルーティングテーブル150d3の見直しを行う。ここで、ノード100sの評価値が、既に第1候補〜第3候補を上回る評価値でない。このため、ノード100dは、ルーティングテーブル150d3の情報をそのままにする。
(75)
上記のように、ノード100が(61)〜(75)の処理を実行することにより、障害物20aが発生する前の通信経路を利用したデータ通信を元通りに行うことが出来る。
As described above, when the
次に、上述したパターン1〜パターン5の処理を実行するノード100の構成の一例について説明する。図19は、本実施例に係るノードの構成を示す機能ブロック図である。図19に示すように、このノード100は、通信部110、入力部120、表示部130、記憶部140、制御部180を有する。
Next, an example of the configuration of the
通信部110は、無線通信を利用して、他のノードと無線通信を実行する処理部である。通信部110は、通信装置の一例である。後述する制御部180は、ハローパケットやその他のパケットを、通信部を介して送受信する。 The communication unit 110 is a processing unit that performs wireless communication with other nodes using wireless communication. The communication unit 110 is an example of a communication device. The control unit 180, which will be described later, transmits and receives hello packets and other packets via the communication unit.
入力部120は、ノード100に各種の情報を入力する入力装置である。例えば、入力部120は、タッチパネルや入力ボタンに対応する。表示部130は、制御部180から出力される各種の情報を表示する表示装置である。例えば、表示部130は、液晶ディスプレイ、タッチパネル等に対応する。
The
記憶部140は、ルーティングテーブル150と、リンクテーブル160と、迂回転送数閾値170とを有する。記憶部140は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子などの記憶装置に対応する。
The
ルーティングテーブル150は、図3等で説明したように、GDと、LDと、使用禁止フラグとを対応付けた情報である。GD、LD、使用禁止フラグに関する説明は、上記の説明と同様である。 As described with reference to FIG. 3 and the like, the routing table 150 is information in which GD, LD, and use prohibition flags are associated with each other. The explanation about GD, LD, and use prohibition flag is the same as the above explanation.
リンクテーブル160は、図4等で説明したように、ノード識別情報と、ホップ数と、電波強度と、評価値と、迂回禁止フラグとを対応付けた情報である。ノード識別情報、ホップ数、電波強度、評価値、迂回禁止フラグに関する説明は、上記の説明と同様である。 As described with reference to FIG. 4 and the like, the link table 160 is information in which the node identification information, the number of hops, the radio wave intensity, the evaluation value, and the bypass prohibition flag are associated with each other. The description regarding the node identification information, the number of hops, the radio wave intensity, the evaluation value, and the detour prohibition flag is the same as the above description.
迂回転送数閾値170は、パターン3等で説明したパケットに格納された迂回転送数と比較される閾値である。迂回転送数閾値は、ノード100毎に固有の値が設定される。ノード100は、パケットに格納された迂回転送数が、迂回転送数閾値170よりも小さい場合にのみ、迂回先のノードにパケットを送信する。
The bypass transfer number threshold 170 is a threshold that is compared with the bypass transfer number stored in the packet described in the
制御部180は、更新部180aと通信制御部180bとを有する。制御部180は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部180は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路に対応する。
The control unit 180 includes an update unit 180a and a
更新部180aは、隣接するノードとパケットを送受信することで、ルーティングテーブル150、リンクテーブル160を更新する処理部である。更新部180aは、パケットを受信した場合には、パケットのLSに対応するノード100に応答を送信する。
The update unit 180a is a processing unit that updates the routing table 150 and the link table 160 by transmitting and receiving packets to and from adjacent nodes. When receiving the packet, the updating unit 180a transmits a response to the
更新部180aが、ルーティングテーブル150を更新する処理の一例について説明する。更新部180aは、パケットを送受信する過程において、所定のGDに到達するLDを判定し、ルーティングテーブル150に設定する。例えば、更新部180aがパケットを受信し、係るパケットのGSに「ノード100x」が設定され、LSに「ノード100a」が設定されている場合には、GD「100x」に到達するLDは「100a」であると判定する。更新部180aは、同一のGDに到達するLDが複数存在する場合には、リンクテーブル160の評価値を参照し、評価値の値が低いLDほど、優先順位を上げる。
An example of processing in which the updating unit 180a updates the routing table 150 will be described. The update unit 180a determines an LD that reaches a predetermined GD in the process of transmitting and receiving a packet, and sets the LD in the routing table 150. For example, when the update unit 180a receives a packet and “
更新部180aは、ルーティングテーブル150に設定されたLDのノード100にパケットを送信し、送信したノード100から応答を受け付けない場合には、該当するLDの使用禁止フラグを「ON」に設定する。また、更新部180aは、使用禁止フラグが「ON」となるLDのノード100から、パケットを受信した場合には、使用禁止フラグを「OFF」に設定する。
When the update unit 180a transmits a packet to the
更新部180aが、リンクテーブル160を更新する処理の一例について説明する。更新部180aは、隣接するノードとパケットを送受信する過程において、ホップ数、電波強度、評価値を更新する。例えば、更新部180aは、パケットを受信し、係るパケットのGSに「ノード100x」が設定され、LSに「ノード100a」が設定され、ホップ数に「2」が設定されている場合に、ノード100aに対応するホップ数を「2」に設定する。
An example of processing in which the update unit 180a updates the link table 160 will be described. The updating unit 180a updates the number of hops, the radio wave intensity, and the evaluation value in the process of transmitting / receiving a packet to / from an adjacent node. For example, the update unit 180a receives a packet, and when “
更新部180aは、パケットを送受信する場合の電波強度を検出し、検出した電波強度の情報を、リンクテーブル160に設定する。例えば、ノード100aから受信したパケットの電波強度が「良」である場合には、ノード100aに対応する電波強度を「良」に設定する。また、更新部180aは、パケットを送受信する過程において、隣接するノードからGDのノードに至るまでの電波強度を収集し、収集した電波強度に基づいて、評価値を算出する。例えば、更新部180aは、電波強度とこの電波強度に対応する評価値とを対応付けたテーブルを保持し、係るテーブルに基づき、評価値を算出する。更新部180aは、算出した評価値を、リンクテーブル160に設定する。
The update unit 180a detects the radio field intensity when transmitting and receiving a packet, and sets the detected radio field intensity information in the link table 160. For example, when the radio wave intensity of a packet received from the
また、更新部180aは、パケットを受信し、受信したパケットのGDが、自ノードでない場合に、パケットの情報を更新して、隣接するノードにパケットを転送する。例えば、更新部180aは、ハローパケットのLSを自ノードに設定し、LDを隣接するノードに設定し、ホップ数に1を加算することで、パケットを更新する。また、更新部180aは、パケットに、自ノードと隣接ノードとの電波強度の情報を格納する。 Also, the update unit 180a receives the packet, updates the packet information, and forwards the packet to an adjacent node when the GD of the received packet is not the local node. For example, the update unit 180a updates the packet by setting the LS of the hello packet to its own node, setting the LD to an adjacent node, and adding 1 to the number of hops. In addition, the update unit 180a stores information on the radio field strength between the own node and the adjacent node in the packet.
通信制御部180bは、パケットを送信する場合に、ルーティングテーブル150を基にして、送信先となるノード100を判定する処理部である。例えば、通信制御部180bは、ルーティングテーブル150を参照し、使用禁止フラグが「OFF」となっているLDの内、優先順位の最も高いLDを、送信先として判定し、係るLDのノードにパケットを送信する。
The
ここで、通信制御部180bは、ルーティングテーブル150の使用禁止フラグが全て「ON」になっている場合には、ルーティングテーブル150に設定された通信経路とは別の迂回経路を用いた通信先との通信に切り替える。例えば、係る迂回経路は、図2等で説明したノード100b,100h,100gを経由する経路であり、ルーティングテーブル150に設定された経路よりも、中継するノード100の数が多い経路となる。
Here, when all of the use prohibition flags in the routing table 150 are “ON”, the
具体的に、通信制御部180bは、リンクテーブル160を基にして、上述した条件1、条件2、条件3を満たすノードを、リンクテーブル160から検出し、検出したノード100にパケットを送信する。通信制御部180bは、抽出したノード100にパケットを送信した後、パケットが返送された場合には、該当するリンクテーブルの迂回禁止フラグを「ON」に設定し、上記の処理を繰り返し実行する。
Specifically, the
なお、通信制御部180bは、パケットを送信する場合に、パケットの迂回転送数に「1」を加算する。ここで、通信制御部180bは、パケットの迂回転送数が、迂回転送数閾値170以上となる場合には、パケットを送信する処理を抑止する。この場合には、例えば、通信制御部180bは、ルーティングテーブル150の使用禁止フラグが「OFF」となるまで待機する。
Note that the
次に、本実施例に係るノードの処理手順の一例について説明する。図20は、本実施例に係るノードの処理手順の一例を示す図である。図20に示すように、ノード100の通信制御部180bは、パケットを受信し(ステップS101)、ルーティングテーブル150の使用禁止フラグが全て「ON」であるか否かを判定する(ステップS102)。
Next, an example of a processing procedure of the node according to the present embodiment will be described. FIG. 20 is a diagram illustrating an example of a processing procedure of the node according to the present embodiment. As illustrated in FIG. 20, the
通信制御部180bは、使用禁止フラグが全て「ON」でない場合には(ステップS102,No)、ルーティングテーブル150を基にして、ノード100を選択し、パケットを送信し(ステップS103)、ステップS106に移行する。
If the use prohibition flags are not all “ON” (No at Step S102), the
一方、通信制御部180bは、使用禁止フラグが全て「ON」である場合には(ステップS102,Yes)、リンクテーブル160を基にして、条件1、条件2、条件3を満たすノード100を選択する(ステップS104)。通信制御部180bは、選択したノード100にパケットを送信し(ステップS105)、ステップS106に移行する。なお、ステップS105において、通信制御部180bは、パケットの迂回転送数が、迂回転送閾値170以上となる場合には、パケットを送信することを抑止し、パケットのGSにパケットを返送する。
On the other hand, when all the use prohibition flags are “ON” (step S102, Yes), the
ノード100の更新部180aは、パケットを送信したノード100から応答を受信したか否かを判定する(ステップS106)。更新部180aは、ノードから応答を受信していない場合には(ステップS106,No)、ルーティングテーブル150を更新し(ステップS107)、ステップS102に移行する。
The update unit 180a of the
一方、更新部180aは、ノードから応答を受信した場合には(ステップS106,Yes)、送信結果に基づいて、ルーティングテーブル150およびリンクテーブル160を更新する(ステップS108)。例えば、更新部180aは、ステップS108において、隣接のノードにパケットを送信できなかった場合には、ルーティングテーブル150の該当する使用禁止フラグを「ON」に設定する。また、更新部180aは、迂回経路先のノードがパケットを送信できなかった場合には、リンクテーブル160の該当する迂回禁止フラグを「ON」に設定する。 On the other hand, when the update unit 180a receives a response from the node (step S106, Yes), the update unit 180a updates the routing table 150 and the link table 160 based on the transmission result (step S108). For example, if the update unit 180a cannot transmit a packet to an adjacent node in step S108, the update unit 180a sets the corresponding use prohibition flag in the routing table 150 to “ON”. Further, when the detour route destination node cannot transmit the packet, the update unit 180a sets the corresponding detour prohibition flag in the link table 160 to “ON”.
通信制御部180bは、送信結果に基づき、パケットを送信できた場合には、(ステップS109,Yes)、処理を終了する。通信制御部180bは、送信結果に基づき、パケットを送信できなかった場合には(ステップS109,No)、ステップS102に移行する。
If the
次に、本実施例に係るノード100の効果について説明する。ノード100は、ルーティングテーブル150に予め設定された通信経路による通信が不可となった場合に、リンクテーブル160を参照して、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替える。これによって、一時的に障害物が発生して、リンクテーブル150の通信経路が利用できない場合でも、パケットを通信先に送信することができる。
Next, effects of the
ノード100は、リンクテーブル150を参照し、条件1、条件2、条件3を満たす隣接ノードを判定し、判定した隣接ノードを経由する迂回経路を用いた通信先との通信に切り替える。これにより、パケットを送信した場合に、パケットがループすることを防止しつつ、パケットを通信先に送信することができる。
The
ノード100は、迂回経路を利用して、パケットを送信する場合に、利用中の迂回経路による通信先との通信が利用できなくなった場合に、利用できない迂回経路を除いて、他の迂回経路を選択し、通信を継続する。このため、現在利用中の迂回経路が利用できなくなっても、他の迂回経路に切り替えて、通信先と通信を行うことができる。
When the
ノード100は、迂回経路を利用する場合に、迂回転送数をインクリメントし、迂回転送数が迂回転送数閾値170未満の場合に、迂回経路にパケットを送信する。このため、迂回経路を使用したパケットによるトラフィック量の増加を防止することができる。
The
次に、上記実施例に示したノード100と同様の機能を実現する通信制御プログラムを実行するコンピュータの一例について説明する。図21は、通信制御プログラムを実行するコンピュータの一例を示す図である。
Next, an example of a computer that executes a communication control program that realizes the same function as the
図21に示すように、コンピュータ300は、各種演算処理を実行するCPU301と、ユーザからのデータの入力を受け付ける入力装置302と、ディスプレイ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読取る読み取り装置304と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信装置305とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM306と、ハードディスク装置307とを有する。そして、各装置301〜307は、バス308に接続される。
As illustrated in FIG. 21, the
ハードディスク装置307は、通信制御プログラム307aを有する。CPU301は、通信制御プログラム307aを読み出してRAM306に展開する。通信制御プログラム307aは、通信制御プロセス306aとして機能する。通信制御プロセス306aの処理は、通信制御部180bの処理に対応する。
The
なお、通信制御プログラム307aについては、必ずしも最初からハードディスク装置307に記憶させておかなくても良い。例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が通信制御プログラム307aを読み出して実行するようにしてもよい。
Note that the
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following supplementary notes are further disclosed with respect to the embodiments including the above examples.
(付記1)コンピュータに、
少なくとも1つの中継装置を介した、通信先との予め設定された通信経路による通信が不可となった場合、前記通信先と通信可能な通信経路と当該通信経路に含まれる中継装置の数を示す情報とを関連付けて記憶する記憶部を参照して、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替える、
ことを実行させることを特徴とする通信制御プログラム。
(Supplementary note 1)
When communication via a communication path set in advance with a communication destination via at least one relay apparatus is disabled, the communication path capable of communicating with the communication destination and the number of relay apparatuses included in the communication path are indicated. Switch to communication with the communication destination using a communication path having a larger number of relay devices than the communication path in which communication is disabled with reference to a storage unit that associates and stores information.
A communication control program characterized by causing the above to be executed.
(付記2)前記切り替える処理は、前記記憶部を参照して、隣接する中継装置から前記通信先までの通信経路に含まれる中継装置の数が、自コンピュータから前記通信先の通信経路に含まれる中継装置の数に所定値を加算した数である場合に、前記隣接する中継装置を経由する通信経路を用いた前記通信先との通信に切り替えることを特徴とする付記1に記載の通信制御プログラム。
(Supplementary Note 2) In the switching process, referring to the storage unit, the number of relay devices included in a communication path from an adjacent relay device to the communication destination is included in the communication path from the own computer to the communication destination. The communication control program according to
(付記3)前記切り替える処理は、切り替えた通信経路による通信が不可になった場合には、通信が不可となった通信経路を除いて、新たな通信経路を用いた前記通信先との通信に切り替えることを特徴とする付記2に記載の通信制御プログラム。
(Additional remark 3) When the communication by the switched communication path | route becomes impossible, the said switching process is except for the communication path | route where communication became impossible, and communication with the said communication destination using a new communication path | route. The communication control program according to
(付記4)前記切り替える処理は、前記通信先に送信するパケットに含まれる迂回転送数が閾値未満である場合に、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替え、前記パケットの迂回転送数に所定数を加算して、前記パケットを前記通信先に送信することを特徴とする付記1に記載の通信制御プログラム。
(Supplementary Note 4) The switching process includes a communication path in which the number of relay devices is larger than the communication path in which communication is disabled when the number of bypass transfers included in the packet transmitted to the communication destination is less than a threshold value. 2. The communication control program according to
(付記5)コンピュータが実行する通信制御方法であって、
少なくとも1つの中継装置を介した、通信先との予め設定された通信経路による通信が不可となった場合、前記通信先と通信可能な通信経路と当該通信経路に含まれる中継装置の数を示す情報とを関連付けて記憶する記憶部を参照して、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替える、
ことを実行する通信制御方法。
(Supplementary Note 5) A communication control method executed by a computer,
When communication via a communication path set in advance with a communication destination via at least one relay apparatus is disabled, the communication path capable of communicating with the communication destination and the number of relay apparatuses included in the communication path are indicated. Switch to communication with the communication destination using a communication path having a larger number of relay devices than the communication path in which communication is disabled with reference to a storage unit that associates and stores information.
A communication control method for executing the above.
(付記6)前記切り替える処理は、前記記憶部を参照して、隣接する中継装置から前記通信先までの通信経路に含まれる中継装置の数が、自コンピュータから前記通信先の通信経路に含まれる中継装置の数に所定値を加算した数である場合に、前記隣接する中継装置を経由する通信経路を用いた前記通信先との通信に切り替えることを特徴とする付記5に記載の通信制御方法。
(Supplementary Note 6) In the switching process, referring to the storage unit, the number of relay devices included in a communication path from an adjacent relay device to the communication destination is included in the communication path from the own computer to the communication destination. 6. The communication control method according to
(付記7)前記切り替える処理は、切り替えた通信経路による通信が不可になった場合には、通信が不可となった通信経路を除いて、新たな通信経路を用いた前記通信先との通信に切り替えることを特徴とする付記6に記載の通信制御方法。
(Additional remark 7) When the communication by the switched communication path | route becomes impossible, the said switching process is a communication with the said communication destination using a new communication path | route except for the communication path | route where communication became impossible. The communication control method according to
(付記8)前記切り替える処理は、前記通信先に送信するパケットに含まれる迂回転送数が閾値未満である場合に、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替え、前記パケットの迂回転送数に所定数を加算して、前記パケットを前記通信先に送信することを特徴とする付記5に記載の通信制御方法。
(Supplementary note 8) In the switching process, when the number of detour transfers included in the packet transmitted to the communication destination is less than a threshold, the communication path has a larger number of relay devices than the communication path in which communication is disabled 6. The communication control method according to
(付記9)少なくとも1つの中継装置を介した、通信先との予め設定された通信経路による通信が不可となった場合、前記通信先と通信可能な通信経路と当該通信経路に含まれる中継装置の数を示す情報とを関連付けて記憶する記憶部を参照して、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替える通信制御部
を有することを特徴とする通信制御装置。
(Supplementary Note 9) When communication via a communication path set in advance with a communication destination via at least one relay apparatus becomes impossible, the communication path capable of communicating with the communication destination and the relay apparatus included in the communication path Communication that switches to communication with the communication destination using a communication path that has a larger number of relay devices than the communication path in which communication is disabled with reference to a storage unit that associates and stores information indicating the number of nodes A communication control device comprising a control unit.
(付記10)前記通信制御部は、前記記憶部を参照して、隣接する中継装置から前記通信先までの通信経路に含まれる中継装置の数が、自コンピュータから前記通信先の通信経路に含まれる中継装置の数に所定値を加算した数である場合に、前記隣接する中継装置を経由する通信経路を用いた前記通信先との通信に切り替えることを特徴とする付記9に記載の通信制御装置。 (Additional remark 10) The said communication control part refers to the said memory | storage part, and the number of the relay apparatuses contained in the communication path from an adjacent relay apparatus to the said communication destination is contained in the communication path of the said communication destination from an own computer. The communication control according to appendix 9, wherein the communication control is switched to communication with the communication destination using a communication path passing through the adjacent relay device when the predetermined value is added to the number of relay devices to be transmitted. apparatus.
(付記11)前記通信制御部は、切り替えた通信経路による通信が不可になった場合には、通信が不可となった通信経路を除いて、新たな通信経路を用いた前記通信先との通信に切り替えることを特徴とする付記10に記載の通信制御装置。
(Supplementary Note 11) When communication using the switched communication path is disabled, the communication control unit communicates with the communication destination using a new communication path except for the communication path where communication is disabled. The communication control device according to
(付記12)前記通信制御部は、前記通信先に送信するパケットに含まれる迂回転送数が閾値未満である場合に、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替え、前記パケットの迂回転送数に所定数を加算して、前記パケットを前記通信先に送信することを特徴とする付記9に記載の通信制御装置。 (Additional remark 12) The said communication control part is communication with more number of the said relay apparatuses than the said communication path in which communication became impossible, when the number of detour transfers contained in the packet transmitted to the said communication destination is less than a threshold value The communication control apparatus according to appendix 9, wherein the communication control apparatus switches to communication with the communication destination using a route, adds a predetermined number to the number of detour transfers of the packet, and transmits the packet to the communication destination.
100 ノード
150 ルーティングテーブル
160 リンクテーブル
180a 更新部
180b 通信制御部
100 nodes 150 routing table 160 link table 180a updating
Claims (6)
少なくとも1つの中継装置を介した、通信先との通信経路を設定した第1テーブル、および、前記通信先と通信可能な通信経路と該通信経路に含まれる中継装置の数とを関連付ける第2テーブルを記憶する記憶部を有し、
前記コンピュータに、
前記第1テーブルに設定された全ての通信経路による通信が不可となった場合に、前記第2テーブルを参照して、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替える、
処理を実行させることを特徴とする通信制御プログラム。 Computer,
Via at least one relay device, a first table set the communication path with the communication destination, and, second associating the number of the relay apparatus included in the available communication path and the communication path with the communication destination A storage unit for storing the table;
In the computer,
Communication in which the number of relay devices is larger than the communication path in which communication is disabled with reference to the second table when communication through all communication paths set in the first table is disabled Switch to communication with the communication destination using a route,
A communication control program for executing a process .
前記コンピュータは、通信先との通信経路を設定した第1テーブル、および、前記通信先と通信可能な通信経路と該通信経路に含まれる中継装置の数とを関連付ける第2テーブルを記憶する記憶部を有し、
前記コンピュータは、
前記第1テーブルに設定された全ての通信経路による通信が不可となった場合に、前記第2テーブルを参照して、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替える、
処理を実行する通信制御方法。 A communication control method executed by a computer,
The computer stores a first table in which a communication path with a communication destination is set, and a second table that associates a communication path communicable with the communication destination and the number of relay devices included in the communication path. Have
The computer
Communication in which the number of relay devices is larger than the communication path in which communication is disabled with reference to the second table when communication through all communication paths set in the first table is disabled Switch to communication with the communication destination using a route,
A communication control method for executing processing .
前記第1テーブルに設定された全ての通信経路による通信が不可となった場合に、前記第2テーブルを参照して、通信が不可となった前記通信経路よりも前記中継装置の数が多い通信経路を用いた前記通信先との通信に切替える通信制御部と
を有することを特徴とする通信制御装置。 Via at least one relay device, a first table set the communication path with the communication destination, and, second associating the number of the relay apparatus included in the available communication path and the communication path with the communication destination A storage unit for storing the table;
Communication in which the number of relay devices is larger than the communication path in which communication is disabled with reference to the second table when communication through all communication paths set in the first table is disabled communication control apparatus characterized by comprising a communication control section for switching the communication with the communication destination using the route.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014230410A JP6413674B2 (en) | 2014-11-13 | 2014-11-13 | COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL DEVICE |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014230410A JP6413674B2 (en) | 2014-11-13 | 2014-11-13 | COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL DEVICE |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016096408A JP2016096408A (en) | 2016-05-26 |
JP6413674B2 true JP6413674B2 (en) | 2018-10-31 |
Family
ID=56071981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014230410A Active JP6413674B2 (en) | 2014-11-13 | 2014-11-13 | COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL DEVICE |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6413674B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3494730B8 (en) * | 2016-08-02 | 2021-03-24 | Signify Holding B.V. | Reliable reporting in wireless mesh network |
JP7199255B2 (en) * | 2019-03-01 | 2023-01-05 | シャープ株式会社 | Telemetry system, information terminal, and communication control method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8392607B2 (en) * | 2009-01-26 | 2013-03-05 | Panasonic Corporation | Relay device, control method, and program |
JP5792661B2 (en) * | 2012-03-06 | 2015-10-14 | 株式会社日立製作所 | Ad hoc network system and meter reading information collection method |
-
2014
- 2014-11-13 JP JP2014230410A patent/JP6413674B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016096408A (en) | 2016-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411853B2 (en) | Link-state advertisement LSA sending method, apparatus, and system | |
US8451744B2 (en) | Partitioning directed acyclic graph (DAG) topologies | |
CA2721911C (en) | Node device and program | |
US8472348B2 (en) | Rapid network formation for low-power and lossy networks | |
US8885501B2 (en) | Reachability rate computation without link layer acknowledgments | |
WO2011115668A1 (en) | Alternate down paths for directed acyclic graph (dag) routing | |
JP6443864B2 (en) | Method, apparatus and system for implementing packet loss detection | |
CN108476170A (en) | Two-way constrained path search | |
JP6413674B2 (en) | COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL DEVICE | |
US20160269957A1 (en) | Method for selecting network and electronic device therefor | |
JP6396675B2 (en) | Wireless device, wireless communication system, and wireless communication method | |
JP6191411B2 (en) | Node device, control program, and operation method of node device | |
CN103746828A (en) | Method and device for network node management | |
JP2012235324A (en) | Radio terminal device, radio communication system, program and radio communication method | |
US20150288766A1 (en) | Establishing neighbor connection | |
US8509245B1 (en) | Polymorphic routing for dynamic networks | |
JP5664768B2 (en) | Node, link forming method and link forming program | |
JP5692404B2 (en) | Transmission control method and transmission control apparatus | |
JP6070081B2 (en) | Network device and transmission control program | |
JP6671039B2 (en) | Communication device, multi-hop communication system, and communication method | |
JP5287373B2 (en) | Communication device and communication processing method | |
KR101587258B1 (en) | Method and appratus for protection switching | |
JP5732963B2 (en) | Wireless communication terminal and route construction method | |
JP6738851B2 (en) | Network system, route switching method of network system, and communication device | |
CN115208809A (en) | Method and device for determining path |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170804 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180530 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180808 |
|
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: 20180904 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180917 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6413674 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |