説明

アドホックネットワーク上でのデータ通信方法

【課題】アドホックネットワークにおけるネットワーク異常時の宛先ノードへのデータ到達遅延を防止し、信号の送受信の信頼性を向上させ、SCADAシステムに適用できるようなアドホックネットワーク上でのデータ通信方法を提供する。
【解決手段】ルート上の第1のノードが、ルートを保持している全てのチャネルにてデータをルート上の第2のノードへ送信し、第2のノードが、全てのチャネルのうちいずれかのチャネルにてデータを最も先に受信したときに、データを全てのチャネルにてルート上の第3のノードへ送信し、その後全てのチャネルのうち、最も先に受信したときのチャネル以外のチャネルにてデータと同一のデータを更に受信したときに該同一のデータを破棄する(S1〜S6)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アドホックネットワークの信頼性に係り、特に、SCADA(Supervisory Control And Data Acquisition)システムへの適用を考慮したアドホックネットワークに関するものである。
【背景技術】
【0002】
携帯電話などの携帯端末間の通信は、通常基地局を介して行われるため、基地局が存在しないエリアや災害などによって基地局が倒壊してしまった場合には通信を行うことができない。これに対し、基地局を介さずに各端末を中継局として通信を行うマルチホップ無線ネットワークの研究が行われている。このマルチホップ無線ネットワークでは、端末(以下、ノードと称す。)さえあればその場で即時にネットワークを形成できることから、アドホックネットワークとも呼ばれている。
【0003】
また、無線を用いたアドホックネットワークの研究においては、無線特有の問題であるノードの移動性から来る接続状態の変化や、無線帯域の効率的な利用などを考慮した様々な経路探索と維持のためにルーティングプロトコルが提案されている。
【0004】
ここで、従来におけるアドホックネットワークを図7および8を用いて説明する。各ノード間の矢印は、実線がチャネル1を表しており、点線がチャネル2を表している。図7は、無線チャネルを混在させたルートを有するアドホックネットワークである。送信元ノード10、中継ノード1〜5、および宛先ノード20を備え、これらの各ノードは、例えば、工場の生産ラインにおいて資材等を運搬する無人搬送装置等に設けられた端末装置である。
【0005】
送信方式は例えば、GSM(Global System for Mobile Communications)やWCDMA(Wideband Code Division Multiple Access)などが適用される。
【0006】
図7における動作は、送信元ノード10から宛先ノード20に、所定の要求データを送信する必要が生じた場合に行われる。また、各ノード間は、チャネル1またはチャネル2により送信が行われる。
【0007】
まず、送信元ノード10が、チャネル2を使って要求データを中継ノード1に送信する([1])。そして、要求データを受信した中継ノード1が、中継ノード2へチャネル1を使って要求データを送信するものの、ネットワーク異常により中継ノード2へは送信されなかった([2])。そのため、中継ノード1は、中継ノード4へチャネル1を使って要求データを送信し([3])、この要求データを受信した中継ノード4は、中継ノード2へチャネル1を使って要求データを送信する([4])。この場合、ネットワーク異常によるルート変更に伴う遅延が発生している。
【0008】
そして、要求データを受信した中継ノード2が中継ノード3へチャネル2を使って要求データを送信するものの、ネットワーク異常により中継ノード3へは送信されなかった([5])。そのため、中継ノード2は、中継ノード5へチャネル2を使って要求データを送信し([6])、この要求データを受信した中継ノード5は、中継ノード3へチャネル2を使って要求データを送信する([7])。この場合も、ネットワーク異常によるルート変更に伴う遅延が発生している。
【0009】
そして、中継ノード3がチャネル1を使って要求データを宛先ノード20へ送信する([8])。
【0010】
この場合の送信元データ10から宛先ノード20に要求データが到達するまでの時間は、[1]+[2]+[3]+[4]+[5]+[6]+[7]+[8]となる。なお、[2]および[5]は不達を検出するまでの待機時間であり、それ以外はノード間の伝送に要する時間である。
【0011】
次に、図8は、チャネル毎に独立したルートを有するアドホックネットワークである。送信元ノード10から宛先ノード20までの要求データの送信をチャネル毎に説明する。
<チャネル1>
送信元ノード10が中継ノード1へ要求データを送信する([1])。そして、この要求データを受信した中継ノード1が中継ノード2へ要求データを送信するものの、ネットワーク異常により送信されなかったため([2])、中継ノード1は、中継ノード4を介して中継ノード2へ要求データを送信する([3]、[4])。そして、中継ノード2は、中継ノード4からの要求データの受信を待って中継ノード3へ要求データを送信する([5])。そして、この要求データを受信した中継ノード3が宛先ノード20へ要求データを送信する([6])。
<チャネル2>
続いてチャネル2により送信する場合を説明する。
【0012】
送信元ノード10が中継ノード1へ要求データを送信する([1]’)。そして、この要求データを受信した中継ノード1が中継ノード2へ要求データを送信する([2]’)。そして、この要求データを受信した中継ノード2が中継ノード3へ要求データを送信するものの、ネットワーク異常により送信されなかったため([3]’)、中継ノード2は、中継ノード5を介して中継ノード3へ要求データを送信する([4]’、[5]’)。そして、中継ノード3は、中継ノード5から送信される要求データの受信を待って宛先ノード20へ要求データを送信する([6]’)。
【0013】
この場合の送信元データ10から宛先ノード20に要求データが到達するまでの時間は、[1]+[2]+[3]+[4]+[5]+[6]または[1]’+[2]’+[3]’+[4]’+[5]’+[6]’のいずれか短い方となる。なお、[2]および[3]’は不達を検出するまでの待機時間であり、それ以外はノード間の伝送に要する時間である。
【0014】
上述したような、チャネル毎に独立したルートを有するアドホックネットワークおよび複数のチャネルを混在させたルートを有するアドホックネットワークが特許文献1に開示されている。なお、特許文献1には、送信元ノードから宛先ノードまでのルート探索を複数のチャネルにて行い、それぞれのルートについて優先順位付けをして1つ以上のルートでデータ送信を行う方式についても開示されている。
【0015】
また、アドホックネットワークにおいて、通常時はテーブル駆動方式をとり、急ブレーキを要するような緊急時にはフラッディング方式をとるハイブリッド構成とすることで、トラフィックを抑えデータ遅延を抑えるものが、特許文献2に開示されている。
【特許文献1】特許第4024246号公報。
【特許文献2】特開2007−306547号公報。
【発明の開示】
【発明が解決しようとする課題】
【0016】
しかし、図7の場合、送信元ノード10から宛先ノード20までのルートが確立した後、送信元ノード10から実際に要求されたデータを送信する時点でのネットワークにおいては、単一のチャネルを用いた場合と同様に各ノード間では唯一のチャネルでリンクされているだけになるため、複数チャネルの使用による信頼性の向上というメリットを十分に生かしているとはいえない。
【0017】
また、図8の場合、独立した単一チャネルのネットワークがチャネル数分存在するだけであり、それぞれのチャネルの途中経路において異常が発生した場合には、チャネル間のバックアップが働かないため、宛先ノード20までの到達に遅延が発生する可能性が高くなることが考えられる。
【0018】
ここで、アドホックネットワークは、SCADAシステムへの適用が考えられている。このシステムは、地理的に分散したシステム群を集中的に監視制御するもので、主に工業プロセスにおいて用いられるものである。工業プロセスを制御する場合、各装置からの信号の受信および各装置への信号の送信が確実に行われないと、生産効率に影響し、多大な損害を招くおそれがある。したがって、このシステムには信号の送受信に高信頼性が求められる。
【0019】
アドホックネットワークは、SCADAシステムへの適用が考えられているが、従来のものではその信頼性が不足していた。
【0020】
本発明は、前記課題に基づいてなされたものであり、アドホックネットワークにおけるネットワーク異常時の宛先ノードへのデータ到達遅延を防止し、信号の送受信の信頼性を向上させ、SCADAシステムに適用できるようなアドホックネットワーク上でのデータ通信方法を提供することにある。
【課題を解決するための手段】
【0021】
本発明は、前記課題の解決を図るために、複数のノード内の送信元ノードから前記複数のノード内の宛先ノードまでのルートがルーティングプロトコルにより確立され、前記送信元ノードから前記宛先ノードまでの所定のデータの送信が前記複数のノード内の前記ルート上の少なくとも1つのノードを介して行われ、電気的に異なる複数の無線チャネルを有するアドホックネットワーク上でのデータ通信方法において、前記ルート上の第1のノードが、前記ルートを保持している全てのチャネルにて前記データを前記ルート上の第2のノードへ送信し、前記第2のノードが、前記全てのチャネルのうちいずれかのチャネルにて前記データを最も先に受信したときに、前記データを前記全てのチャネルにて前記ルート上の第3のノードへ送信し、その後前記全てのチャネルのうち、前記最も先に受信したときのチャネル以外のチャネルにて前記データと同一のデータを更に受信したときに該同一のデータを破棄することを特徴とする。ここで、第1のノードには送信元ノードまたは中継ノードが相当し、第2のノードには中継ノードが相当し、第3のノードには中継ノードまたは宛先ノードが相当する。
【0022】
上記構成によれば、第1のノードが、ルーティングプロトコルにより確立されたルートを保持している全てのチャネルにて要求データを第2のノードへ送信し、第2のノードが、全てのチャネルのうちいずれかのチャネルにて要求データを最も先に受信したときに、他のチャネルからの受信を待たずに第3のノードへ要求データを全てのチャネルを使って送信することで、特定チャネルで異常が発生し、第2のノードへの要求データの到達に遅延が発生した場合でも、第2のノードにおいて、前記異常が発生したチャネルへのバックアップ送信が行われ、通常時間内での宛先ノードへの要求データの到達の確率を高めることができる。また、一時的なネットワーク異常によって発生する宛先ノードへの到達遅延を各ノードで吸収することになり、宛先ノードでの同一データの複数到達に伴う待機処理負担を減らすことができる。
【0023】
また、前記チャネル数は、予め定められた優先順位の高い順から1つ以上最大送信チャネル数以下の範囲で選択されることを特徴とする。
【0024】
上記構成によれば、ノード間のデータの送信において、全てのチャネルではなく、優先順位の高い順から1つ以上最大送信チャネル数以下の範囲でチャネル数を選択することで、冗長な送信が防止でき、ネットワークの伝送負荷を減らすことができる。
【0025】
また、前記複数のノード間を結ぶチャネルのリンク状態が、少なくとも1つは不安定であることを特徴とする。
【0026】
上記構成によれば、ノード間の送信の際に、リンク状態が少なくとも1つは不安定な場合に全てのチャネルにて要求データを送信することで、複数のチャネルから要求データを送信することによる処理負担およびネットワークの伝送負荷の増加が、リンク状態が不安定な部分に限定され、ノードの処理負担およびネットワーク全体の伝送負荷を大幅に減らしながら、通常時間内での宛先ノードへのデータの到達の確率を高めることができる。
【発明の効果】
【0027】
請求項1の発明によれば、第1のノードが、ルーティングプロトコルにより確立されたルートを保持している全てのチャネルにて要求データを第2のノードへ送信し、第2のノードが、全てのチャネルのうちいずれかのチャネルにて要求データを最も先に受信したときに、他のチャネルからの受信を待たずに第3のノードへ要求データを全てのチャネルを使って送信することで、特定チャネルで異常が発生し、第2のノードへの要求データの到達に遅延が発生した場合でも、第2のノードにおいて、前記異常が発生したチャネルへのバックアップ送信が行われ、通常時間内での宛先ノードへの要求データの到達の確率を高めることができる。また、一時的なネットワーク異常によって発生する宛先ノードへの到達遅延を各ノードで吸収することになり、宛先ノードでの同一データの複数到達に伴う待機処理負担を減らすことができる。
【0028】
請求項2の発明によれば、ノード間のデータの送信において、全てのチャネルではなく、優先順位の高い順から1つ以上最大送信チャネル数以下の範囲でチャネル数を選択することで、冗長な送信が防止でき、ネットワークの伝送負荷を減らすことができる。
【0029】
請求項3の発明によれば、ノード間の送信の際に、リンク状態が少なくとも1つは不安定な場合に全てのチャネルにて要求データを送信することで、複数のチャネルから要求データを送信することによる処理負担およびネットワークの伝送負荷の増加が、リンク状態が不安定な部分に限定され、ノードの処理負担およびネットワーク全体の伝送負荷を大幅に減らしながら、通常時間内での宛先ノードへのデータの到達の確率を高めることができる。
【発明を実施するための最良の形態】
【0030】
以下、本発明の実施の形態におけるアドホックネットワーク上でのデータ通信方法を図面等に基づいて詳細に説明する。
【0031】
図1は本発明の実施の形態におけるアドホックネットワークを示す構成図である。図7と同一部分には同一の符号を付し説明を省略する。なお、ノードは、ルートを保持している複数の全てのチャネルを使って他のノードに送信するが、本例ではチャネル1と2を使って送信する例を示している。
【0032】
送信元ノード10が、要求データを中継ノード1へチャネル1およびチャネル2を使って送信する([1]、[1]’)。そして、要求データを受信した中継ノード1は、要求データを中継ノード2へチャネル1およびチャネル2を使って送信する([2]、[2]’)。しかし、チャネル2を使って送信された要求データは中継ノード2が受信したものの([2]’)、チャネル1を使って行われた送信は、ネットワーク異常により中継ノード2が受信することができなかった([2])。そのため、中継ノード1はチャネル1を使って要求データを中継ノード4へ送信し([3])、受信した中継ノード4が、チャネル1を使って中継ノード2へ送信する([4])。この場合、中継ノード2は、既にチャネル2を使って要求データを受信しているため、中継ノード4からの受信を待たずに、中継ノード3へチャネル1およびチャネル2を使って要求データを送信する([5]、[3]’)。その後、中継ノード2は、中継ノード4がチャネル1を使って送信した要求データを受信した場合、要求データを破棄する。
【0033】
そして、中継ノード2からチャネル1を使って行われた送信は中継ノード3が受信したものの([5])、チャネル2を使って行われた送信はネットワーク異常により、中継ノード3は受信することができなかった([3]’)。そのため、中継ノード2はチャネル2を使って要求データを中継ノード5へ送信し([4]’)、要求データを受信した中継ノード5が、チャネル2を使って中継ノード3へ送信する([5]’)。この場合、中継ノード3は、中継ノード5から送信された要求データの受信を待たずに、チャネル1を使って受信した要求データを宛先ノード20へチャネル1およびチャネル2を使って送信する([6]、[6]’)。その後、中継ノード3は既にチャネル1を使って要求データを受信しているため、中継ノード5からチャネル2を使って送信された要求データを破棄する。
【0034】
この場合の送信元データ10から宛先ノード20に要求データが到達するまでの時間は、([1]or[1]’)+[2]’+[5]+([6]or[6]’)となる。なお、[2]および[3]’は不達を検出するまでの待機時間であり、それ以外はノード間の伝送に要する時間である。
【0035】
以下、各ノード間における要求データの処理について述べる。
<実施例1>
アドホックネットワークの経路探索には、プロアクティブ型(OLSR等)のルーティングプロトコルを用いている。それによってアドホックネットワークが構築されたネットワークにおいて、送信元ノード10から中継ノードもしくは宛先ノード20、または中継ノードから中継ノードもしくは宛先ノード20へ要求データを送信するときに、宛先ノード20へのルートを保持している全てのチャネルを使って要求データを次の中継ノードに向けて送信する。各中継ノードでは、任意の要求データについて宛先ノード20へのルートを保持している全てのチャネルを使って次の中継ノードに向けて送信を行った場合、それ以降に受信した同一の要求データについては、要求データを受信した中継ノード(以下、当該中継ノードと称す。)において受信した要求データを破棄する。このため、各要求データには、データを特定するための識別子を付加することとする。
【0036】
中継ノードが要求データを受信した後の処理を図2を用いて説明する。
【0037】
中継ノードが、送信元ノード10または他の中継ノードから要求データを受信する(STEP1)。
【0038】
次に、当該中継ノードは、この要求データを既に受信済みであるか否かを判断する(STEP2)。Yesの場合には、この要求データを破棄する(STEP6)。Noの場合には、STEP3へ進む。
【0039】
次に、当該中継ノードは、未送信のチャネルが残っているか否かを判断する(STEP3)。Yesの場合には、STEP4へ進む。Noの場合には、STEP6へ進む。
【0040】
次に、当該中継ノードは、そのチャネルが宛先ノード20へのルートを保持しているか否かを判断する(STEP4)。Yesの場合には、当該中継ノードは、そのチャネルを使って要求データを送信する(STEP5)。Noの場合には、STEP3へ進む。なお、STEP3において、一旦未送信か否か判断されたチャネルは次回から未送信か否かの判断の対象にならない。その後、全てのチャネルにて要求データが送信されるまで、STEP3〜5を繰り返す。
【0041】
このような処理を行うことにより、次の効果を奏する。すなわち、特定チャネルで異常が発生し、中継ノードへの要求データの到達に遅延が発生した場合でも、中継ノードにおいて異常が発生したチャネルへのバックアップ送信が行われ、通常時間内での宛先ノード20への要求データの到達の確率を高めることができる。また、一時的なネットワーク異常によって発生する宛先ノード20への到達遅延を各中継ノードで吸収することになり、宛先ノード20での同一データの複数到達に伴う待機処理負担を減らすことができる。
<実施例2>
実施例2では、実施例1のように全てのチャネルにて要求データを送信するのではなく、予め人為的に定義された優先順位定義テーブルを用いて送信チャネル数を制限している。
【0042】
中継ノードは、送信元ノード10から要求データを受信した場合に、優先順位の高いチャネルから順に最大送信チャネル数を超えない1つ以上のチャネルを選択し、その選択したチャネルを使って、その要求データを次の中継ノードに向けて送信する。
【0043】
この処理の流れを図3を用いて説明する。実施例1と同一部分には同一の符号を付して説明を省略し、異なる部分のみ説明を行う。異なる部分はSTEP11および12であり、送信したチャネル数が最大送信チャネル数未満であるか判断するためSTEP3の後にSTEP11の処理を、送信回数をカウントするためSTEP5の後にSTEP12の処理を各々行うようにしている。この最大送信チャネル数は、ノードの場所等の諸条件により、ノードごとに決定される。
【0044】
STEP3において、Yesの場合、当該中継ノードは、送信したチャネル数が優先順位による最大送信チャネル数未満か否かを判断する(STEP11)。
Yesの場合はSTEP4に進み、Noの場合はSTEP6に進む。
【0045】
また、STEP5にて当該中継ノードが要求データを送信すると、送信回数をインクリメントする(STEP12)。
【0046】
図4は優先順位定義テーブルの一例である。
【0047】
中継ノードA、B、CおよびDの各ノードの各チャネルには予め人為的に定められた優先順位がつけられている。なお、中継ノードCは、チャネル数が2であるにもかかわらず優先順位が3と4とに設定され、中継ノードDは、チャネル数が1であるにもかかわらず優先順位は4に設定されている。これは、中継ノードCの場合は優先順位が1または2に該当するものがなく、中継ノードDの場合は優先順位が1〜3に該当するものがなかったためである。テーブルの欄外の右側は、優先順位の高い方から最大2チャンネルを使用した場合の送信したか否かの結果であり、中継ノードAではチャネル3および4を使用した送信が行われず、中継ノードBではチャネル1を使用した送信が行われない。そのため、冗長な送信が防止でき、ネットワークの伝送負荷を減らすことができる。
<実施例3>
実施例3では、送信元ノード10および各中継ノードにおいて、各ノードのチャネルごとに次の中継ノードまたは宛先ノード20との間の電波強度あるいはノイズ等のネットワーク状況により、優先順位自動割付用テーブルに基づいてプログラムで自動的にチャネルに対して優先順位を付加する。
【0048】
優先順位自動割付用テーブルの一例を図5に示す。電波強度をそれぞれ弱、中、強の3段階に分け、電波強度毎にノイズの弱中強を対応させて優先順位をつけている。優先順位はデータを送信しやすい順につけられており、最も送信しやすい状況である、電波強度が強、ノイズが弱の場合が優先順位が最も高く、最も送信しにくい状況である、電波強度が弱、ノイズが強の場合が優先順位が最も低くなっている。
【0049】
動作については実施例2と同様である。
【0050】
これにより、運転中のシステムにおけるネットワーク状況の動的な変化に対しても柔軟に対応でき、ネットワークの伝送負荷を減らしながら通常時間内で宛先ノード20への要求データの到達の確率を高めることができる。
<実施例4>
送信元ノード10または各中継ノードにおいて、次の中継ノードまたは宛先ノード20との間のネットワーク状況がノイズなどの外部要因により断続的にリンクが切れる、または伝送スピードが低下するなどの不安定なリンクをもつチャネルが含まれている場合に限定して、宛先ノード20へのルートを保持している全てのチャネルを使って次の中継ノードに向けて要求データを送信する。
【0051】
この場合の処理の流れを図6を用いて説明する。中継ノードが、送信元ノード10または他の中継ノードから要求データを受信する(STEP1)。当該中継ノードが、不安定なチャネルを含んでいるか否かを判断する(STEP21)。Yesの場合は図2のSTEP2〜6の処理を行い、全てのチャネルを使用して要求データを送信する(STEP22)。Noの場合は、当該中継ノードが要求データを受信したチャネルのみを使用して、要求データを次の中継ノードまたは宛先ノードへ送信する(STEP23)。
【0052】
これにより、複数のチャネルから要求データを送信することによる処理負担およびネットワークの伝送負荷の増加が、リンク状態が不安定な部分に限定され、中継ノードの処理負担およびネットワーク全体の伝送負荷を大幅に減らしながら、通常時間内での宛先ノード20へのデータの到達の確率を高めることができる。
【0053】
以上、本発明において、記載された具体例に対してのみ詳細に説明したが、本発明の技術思想の範囲で多彩な変形および修正が可能であることは、当業者にとって明白なことであり、このような変形および修正が特許請求の範囲に属することは当然のことである。
【図面の簡単な説明】
【0054】
【図1】本実施の形態におけるアドホックネットワークを示す構成図。
【図2】宛先ノードまでのルートを保持している全チャネルにて送信する場合のフローチャート。
【図3】優先順位により最大送信チャネル数に制限を設けた場合のフローチャート。
【図4】優先順位定義テーブルの説明図。
【図5】優先順位自動割付用テーブルを示す説明図。
【図6】不安定なリンクに限定して複数チャネル送信を行う場合のフローチャート。
【図7】従来における無線チャネルを混在させたルートを有するアドホックネットワークを示す構成図。
【図8】従来におけるチャネルごとに独立したルートを有するアドホックネットワークを示す構成図。
【符号の説明】
【0055】
10…送信元ノード
20…宛先ノード

【特許請求の範囲】
【請求項1】
複数のノード内の送信元ノードから前記複数のノード内の宛先ノードまでのルートがルーティングプロトコルにより確立され、前記送信元ノードから前記宛先ノードまでの所定のデータの送信が前記複数のノード内の前記ルート上の少なくとも1つのノードを介して行われ、電気的に異なる複数の無線チャネルを有するアドホックネットワーク上でのデータ通信方法において、
前記ルート上の第1のノードが、前記ルートを保持している全てのチャネルにて前記データを前記ルート上の第2のノードへ送信し、
前記第2のノードが、前記全てのチャネルのうちいずれかのチャネルにて前記データを最も先に受信したときに、前記データを前記全てのチャネルにて前記ルート上の第3のノードへ送信し、その後前記全てのチャネルのうち、前記最も先に受信したときのチャネル以外のチャネルにて前記データと同一のデータを更に受信したときに該同一のデータを破棄することを特徴とするアドホックネットワーク上でのデータ通信方法。
【請求項2】
前記チャネル数は、予め定められた優先順位の高い順から1つ以上最大送信チャネル数以下の範囲で選択されることを特徴とする請求項1に記載のアドホックネットワーク上でのデータ通信方法。
【請求項3】
前記複数のノード間を結ぶチャネルのリンク状態が、少なくとも1つは不安定であることを特徴とする請求項1に記載のアドホックネットワーク上でのデータ通信方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−118970(P2010−118970A)
【公開日】平成22年5月27日(2010.5.27)
【国際特許分類】
【出願番号】特願2008−291607(P2008−291607)
【出願日】平成20年11月14日(2008.11.14)
【出願人】(000006105)株式会社明電舎 (1,739)
【Fターム(参考)】