(58)【調査した分野】(Int.Cl.,DB名)
上記制御メッセージ授受手段は、マルチキャストで上記第1の制御メッセージを送信する前に、事前登録された上記各隣接ノードとの間で、ユニキャストで上記第1及び第2の制御メッセージを交換することを特徴とする請求項1に記載の無線ノード。
上記制御メッセージ授受手段は、マルチキャストで上記第1の制御メッセージを送信したことに基づく一連の制御メッセージの交換後、事前登録された上記各隣接ノードとの間で、ユニキャストで上記第1及び第2の制御メッセージを交換することを特徴とする請求項1に記載の無線ノード。
【背景技術】
【0002】
マルチホップ無線ネットワークでは、パケット中継機能を有する複数の無線ノードでネットワークを構成し、隣接した無線ノード間で互いにパケットを中継することにより、直接電波の届かない無線ノードまでパケットを転送することができる。このマルチホップ無線ネットワークの代表的な通信方式として、ZigBee(登録商標)アライアンスで標準化されたZigBee IP方式(以下、ZIPと呼ぶ;なお、920MHzに適用したものは920ZIPを呼ばれることがある)が挙げられる(非特許文献1参照)。
【0003】
図8は、ZIPにおけるルータ(無線ノード)やコーディネータの動作を示すシーケンス図である(非特許文献2参照)。
【0004】
(S1)接続先の探索
ネットワークに参加しようとするルータ(以下、新規参加ルータと呼ぶ)ZR2は、周辺ノードに対してビーコン要求をブロードキャストで送信する。ビーコン要求を受信した周辺に位置するルータ(以下、周辺ルータと呼ぶ)ZR1は自身の存在を知らせるためにビーコンを送信(応答)する。このとき、ビーコンペイロードにZIPにおけるネットワークIDを記載する。これにより、新規参加ルータZR2は、どのネットワークに加入すれば良いかを知ることができる。なお、周辺ルータがn個あれば、新規参加ルータZR2はn個のビーコン応答を受信する。また、
図8に記述の周辺ルータZR1は、後述する所定の手続きにより、新規参加ルータZR2の隣接テーブルに記述されるルータであり、記述された以降は隣接ノードと呼ぶこととする。
【0005】
(S2)参加認証
新規参加ルータZR2は、コーディネータZCへのPANA(Protocol for carrying Authentication for Network Access)参加認証を開始するために、周辺ルータZR1に対してPCI(PANA Client Initiation)を送信し、周辺ルータZR1を介してPCIを受信した認証サーバ機能を有するコーディネータが認証を行い、ネットワーク鍵等を含む認証結果が周辺ノードZR1を介して新規参加ルータZR2に返信される。上述したPCIを受信した周辺ノードZR1は、以降、新規参加ルータZR2のPANA中継局として動作する。
【0006】
(S3)MAC暗号化
PANAによる参加認証が完了した新規参加ルータZR2は、通知されたネットワーク鍵を用いてMAC層の暗号化通信を行うために、周辺ルータZR1との間でカウンタ値の交換を行う。このカウンタ値の交換には、ノードとリンクのプロパティをノード間で授受するためのUDP上で動作するメッシュリンク確立プロトコルMLE(Mesh Link Establishment)が用いられる。
【0007】
(S4)IPv6アドレスの取得
新規参加ルータZR2は、自身のIPv6アドレスを決定するために、周辺ルータZR1との間で、プレフィックスを要求するルータ要請RS(Router Solicitation)とプレフィックスを通知するルータ応答RA(Router Advertisement)とを送受することにより、周辺ルータZR1からIPv6アドレスのプレフィックスを取得する。このとき、新規参加ルータZR2のIPv6アドレスは、16ビットのショートアドレス(SA)から生成されるが、この値はノード自身がランダムに決定するため、同じネットワーク内で重複する可能性がある。そこで、新規参加ルータZR2は、近接要請NS(Neighbor Solicitation)を周辺ルータZR1に送出して周辺ルータZR1からコーディネータZCへアドレス重複要求DAR(Duplicate Address Request)を与えてコーディネータZCに過去に同じアドレスが使用されていないかチェックさせ、コーディネータZCから、周辺ノードZR1へチェック結果を含むアドレス重複通知DAC(Duplicate Address Confirmation)へ送信させ、周辺ノードZR1からのアドレス通知の近接応答NA(Advertisement)を受信してショートアドレスの重複の有無を認識する。なお、アドレス重複要求DAR及びアドレス重複通知DACは、6lowpan−ndで規定されている。
【0008】
(S5)隣接ルータの探索
ショートアドレスが確定した新規参加ルータZR2は、隣接ノードの探索を行うため、MLEリンク要求MLR(MLE Link Request)をマルチキャストアドレスで送信する。このメッセージを受信した隣接ノードZR1は、自身の隣接テーブルに空きがあれば、MLEリンク受入要求MLAR(MLE Link Accept and Request)を返信する。最後に、新規参加ルータZR2は、MLEリンク受入MLA(MLE Link Accept)を返信することで隣接テーブルヘの登録を完了する。以降、新規参加ルータZR2は、隣接テーブルに登録されたルータとの間のみ暗号化された通信を行う。
【0009】
(S6)RPL参加
次に、新規参加ルータZR2は、マルチホップ経路を構築するために、IPv6のルーティングプロトコルであるRPL(IPv6 Routing Protocol for Low−Power and Lossy Networks)の動作を開始する。
【0010】
新規参加ルータZR2は、周辺の経路情報を取得するために、宛先指向非循環有向グラフDODAG(Destination Oriented DAG(Directed Acyclic Graph))に関する情報要請DIS(DODAG Information Solicitation)をマルチキャストで送信し、この情報要請DISを受信した隣接ノードは、情報通知DIO(DODAG Information Object)を返信することで、ツリートポロジー上の識別情報DODAG−IDやRPLインスタンスなどのRPL情報を通知する。新規参加ルータZR2は、隣接ノードの中の優先親ノードとして最適なノードに対して、ユニキャストの情報要請DISを送信し、返信された情報通知DIOによって経路情報を取得する。最後に、新規参加ルータZR2は、親情報を宛先公告(DAO;(Destination Advertisment Object)メッセージとしてコーディネータZCに対して送信し、コーディネータZCを受信応答DAO ACKを返信する。これにより、コーディネータZCは、各ノードの親子関係を知ることが可能となり、ソースルーティングによる下り経路を確立することができる。
【0011】
(S7)リンク品質の測定
例えば、920ZIPでは、経路を決定するメトリックとして、パケット受信率の逆数を用いており、パケット受信率は、メッシュリンク確立プロトコルMLEに従った定期的な公告により隣接ノード間で測定される。また、各ノード(ルータ)のトップノード(root;コーディネータが位置する)からの相対的な位置を表す指標であるランク(rank)の値の算出には、MRHOF(The Minimum Rank with Hysteresis Objecctive Function)と呼ばれる算出方法が用いられ、ヒステリシスな特性により、パケット受信率の変化に対して頻繁に経路が変更されないような工夫が施されている。
【発明を実施するための形態】
【0023】
(A)第1の実施形態
以下、本発明による無線ノード、マルチホップ無線ネットワー
ク及び
無線ノードプログラムの第1の実施形態を、図面を参照しながら説明する。
【0024】
第1の実施形態のマルチホップ無線ネットワークの具体的な仕様等は、限定されるものではないが、第1の実施形態のマルチホップ無線ネットワークの以下の説明は、第1の実施形態のマルチホップ無線ネットワークの仕様などがZIPに準じているとして行っている。
【0025】
(A−1)第1の実施形態の構成
第1の実施形態のマルチホップ無線ネットワークは、第1の実施形態の無線ノード(ZIPにおけるルータ相当)とトップノード(ZIPにおけるコーディネータ相当)とを有するものである。
【0026】
図1は、第1の実施形態における無線ノードの構成を示す機能ブロック図である。第1の実施形態における無線ノードは、ハードウェア的に各部を構成して接続して構築されたものであっても良く、また、その一部が、CPU、ROM、RAMなどを用いてプログラムを実行することで該当する機能を実現するように構築されたものであっても良く、いずれの構築方法が適用された場合であっても、機能的には、
図1で表すことができる。
【0027】
図1において、第1の実施形態の無線ノード100は、アンテナ101、増幅器102、無線送受信部103、パケット受信部104、パケット判定部105、隣接テーブル106、RSSI測定部107、経路表108、ランダム時間算出部109、パケット生成部110、遅延処理部111、パケット送信部112及び有線送受信部113を有する。
【0028】
なお、無線送受信部103及び有線送受信部113等の物理的な送受信構成と、信号処理構成(パケット受信部104、パケット判定部105、隣接テーブル106、RSSI測定部107、経路表108、ランダム時間算出部109、パケット生成部110、遅延処理部111及びパケット送信部112)とは、インタフェース115を介して接続されている。
【0029】
アンテナ101は、周辺ノードと無線信号の送受信を行うものである。なお、
図1では、送受共用アンテナを示しているが、送信アンテナと受信アンテナとが別個に設けられていても良い。
【0030】
増幅器102は、送信電波(送信無線信号)の強度(パワー)を高めるものである。送信電波パワーの上限は、例えば、法律等で規定されている。
【0031】
無線送受信部103は、電気信号と無線信号の相互変換や、変復調や周波数変換処理などを行うことで無線信号の送受信を行うものである。
【0032】
パケット受信部104は、無線信号送受信部103からの受信信号に含まれているパケットを受信(抽出)するものである。
【0033】
パケット判定部105は、受信したパケットを解析してデータパケットや制御パケットなどの識別を行うものである。パケット判定部105は、制御パケットを受信した場合には、内部データの解析を行い、必要に応じて隣接テーブル106や経路表108を更新すると共に、中継が必要な制御パケットをパケット送信部112に与え、応答する制御パケット(以下、このような制御パケットを応答制御パケットと呼ぶこともある)を生成した上で送信することを要するときには、信号線の図示は省略しているが、パケット生成部110に該当する応答制御パケットの生成を指示する。応答制御パケットは、ユニキャストで到来した制御パケットに応答する第1の応答制御パケットと、ブロードキャスト(若しくはマルチキャスト)で到来した制御パケットに応答する第2の応答制御パケットとに区別できる。パケット判定部105は、生成させる応答制御パケットが第2の応答制御パケットの場合には、ランダム時間算出部109に第2の応答制御パケットのランダムな送信待ち時間の算出を指示するものである。また、パケット判定部105は、特定の制御パケットを受信したときには、その受信時の受信電界強度に基づき、その特定制御パケットに応答する第1の応答制御パケットを返信するか否かも決定するものである。さらに、パケット判定部105は、データパケットを受信し、それが自ノード宛であれば、信号線の図示は省略しているが、データパケットからデータを取り出して有線送受信部113に与え、中継するデータパケットであればパケット送信部112に与えるものである。
【0034】
隣接テーブル106は、自ノードの隣接ノードとの接続状態、隣接ノードからのパケット受信時の受信電界強度(RSSI)、隣接ノードからのパケットのパケット受信率、隣接ノードのランク値などを、隣接ノード毎に保持するものである。上述したパケット判定部105の機能説明では不足していたが、隣接テーブル106の各項目の内容は、パケット判定部105が編集、管理する。
【0035】
RSSI測定部107は、パケット受信時の受信電界強度を測定するものである。
図1では、パケット受信部104に関連してRSSI測定部107が設けられているように記載しているが、無線送受信部103に関連してRSSI測定部107が設けられていても良い。
【0036】
経路表108は、隣接ノードからの制御パケットに記載されたランク値や、隣接ノードとのリンク品質の測定結果から算出される親情報等が記述されているものである。上述したパケット判定部105の機能説明では不足していたが、経路表108の各項目の内容は、パケット判定部105が編集、管理する。
【0037】
ランダム時間算出部109は、自ノードのランク値などに応じた異なる範囲内で、第2の応答制御パケットを返信までのランダムな送信待ち時間を算出するものである。ランダム時間算出部109は、例えば、ランク値が大きいほど(トップノードとの間のホップ数が大きいほど)送信待ち時間が長くなるように送信待ち時間を算出するものである。具体的な算出方法の一例については、動作の項の説明で明らかにする。
【0038】
パケット生成部110は、自ノードからのデータパケットや制御パケットを生成するものである。パケット生成部110は、例えば、信号線の図示は省略しているが、有線送受信部113を介して外部から与えられたデータからデータパケットを生成する。また、パケット生成部110は、自ノードが主導権を持って制御パケットを生成することもあれば、応答制御パケットを生成することもある。パケット生成部110は、生成した第2の応答制御パケットを遅延処理部111に与え、信号線の図示は省略しているが、他の生成パケットをパケット送信部112に与えるものである。
【0039】
遅延処理部111は、ランダム時間算出部109によって決定された送信待ち時間(遅延時間)だけ、第2の応答制御パケットの送信タイミングを遅延させるものである。
【0040】
パケット送信部113は、自ノードが生成した各種のパケットや自ノードが中継する各種のパケットに対して、経路表108を適宜参照しながら該当する宛先(ブロードキャストやマルチキャストのこともあり得る)に向けた送信処理を施して無線送受信部103に与え、無線空間に放射させるものである。
【0041】
有線送受信部113は、当該無線ノード100に関連して設けられている装置(例えば、無線ネットワークがセンサネットワークであればセンサ本体)との間で、有線を介してデータ等を授受するものである。
【0042】
(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態の無線ノード100を複数有する、第1の実施形態のマルチホップ無線ネットワークの動作を、図面を参照しながら説明する。
【0043】
以下では、説明の簡単化のため、第1の実施形態のマルチホップ無線ネットワークにおけるツリートポロジーが、
図2に示すようなツリートポロジーである場合を例に、第1の実施形態のマルチホップ無線ネットワークの動作を説明する。
【0044】
図2において、符号ZCで表すノードがコーディネータであり、マルチホップ無線ネットワークにおけるツリートポロジーの頂点のノードとなっている。コーディネータZCの配下には、第1の実施形態の無線ノード100であるルータZR−1〜ZR−6がマルチホップで接続されており、ルータZR−Nが新規ノードとしてこの無線ネットワークに参加しようとしている。
図2は、新規参加ルータZR−Nが、当該新規参加ルータZR−Nからの無線信号が他の全てのルータZR−1〜ZR−6に届く位置に設けられた場合を示している。
【0045】
また、以下の説明においては、新規参加ルータZR−Nの隣接テーブル106−N(以下同様に、ルータの構成要素を区別する場合には、
図1の符号に「−1」〜「−6」、「−N」を負荷する)の上限数が6とし、その半分の3ノード分を参加(Join)時に登録する場合を説明する。この新規参加時に隣接テーブル106−Nヘの登録数を制限するのは、後から参加するノードに対して隣接テーブル106−Nの空きを確保するためである。これは新規参加時に隣接テーブル106−Nの上限数まで登録してしまうと、後から参加したノードを隣接テーブル106−Nに加える余地が全くなくなるためである。
【0046】
図3は、
図2のツリートポロジーにおける、従来技術におけるMLEメッセージの送受信の様子を示すシーケンス図である。
【0047】
図3に示すMLEリンク要求MLR、MLEリンク受入要求MLAR及びMLEリンク受入MLAのMLEメッセージはそれぞれ、
図1の構成の説明で「制御パケット」と呼んだものに該当し、さらに、MLEリンク受入要求MLARが「第2の応答制御パケット」に該当し、MLEリンク受入MLAが「第1の応答制御パケット」に該当する。しかし、
図3は従来技術を示しているため、MLEリンク受入要求MLARに対するランダムな送信待ち時間は、制御パケット(MLEリンク要求MLR)受信時の受信電界強度や自ノードのランク値等を考慮することなく定められる。
【0048】
新規参加ルータZR−NがMLEリンク要求MLRをマルチキャストで周辺ノードに送信し、その応答として、ルータZR−4、ZR−6及びZR−3から、受信を有効とするMLEリンク受入要求MLARが返信される様子を示している。
【0049】
なお、仮に、各ノード(ルータZR−1〜ZR−6)の隣接テーブル(106−1〜106−6)が既に上限数に達している場合は、MLEリンク受入要求MLARを返信しない。
【0050】
各ルータZR−1〜ZR−6はそれぞれ、単純に定めたランダムのタイミングで、MLEリンク受入要求MLARを返信しており、新規参加ルータZR−Nは、MLEリンク受入要求MLARを受信した順にMLEリンク受入MLAを返信し、隣接テーブル(106−N)にルータZR−4、ZR−6、ZR−3を登録する。このとき、
図2に示すように、ルータZR−3及びZR−6はそれぞれ、コーディネータZCから3ホップ目の位置に接続しているため、ルータZR−3又はZR−6を親ノードとして選択すると、新規参加ルータZR−Nはさらに1ホップ先のノードとなり、コーディネータZCから4ホップ目に接続することとなる。また、ルータZR−4は、コーディネータZCから1ホップ目の位置に接続しているが、新規参加ルータZR−Nとは物理的に距離が離れているため、無線のリンク品質が悪く安定した通信を行うことができない恐れがある。
【0051】
以上、上述した従来の課題を、具体例を挙げて説明した。第1の実施形態は、このような課題を解決するため、各ルータ(無線ノード)ZR−1〜ZR−6におけるランダム時間算出部109−1〜109−6の送信待ち時間の算出方法を、従来から変更したものである。
【0052】
第1の実施形態のマルチホップ無線ネットワークでは、各ルータZR−1〜ZR−6がMLEリンク受入要求MLARを返信するタイミングを完全なランダムにするではなく、基本的には、当該ルータ(自ノード)のランク値に基づいて、MLEリンク受入要求MLARを返信するタイミングを決定する(後述するように、決定に、受信電界強度も2次的に考慮する)。具体的には、例えば、ルータZR−1〜ZR−6におけるランダム時間算出部109−1〜109−6は、ランク値から、当該ルータからコーディネータZCへのホップ数を算出し、ホップ数に応じた範囲内の送信待ち時間を算出し、遅延処理部111−1〜111−6によって、その送信待ち時間だけ、MLEリンク受入要求MLARの送信を遅延させる。ここで、ホップ数が少ないほど早いタイミングでMLEリンク受入要求MLARを返信できるように、ホップ数に応じた送信待ち時間の範囲が定められている。これにより、ホップ数が大きいルータ(無線ノード)を隣接ノードとして、隣接テーブル106−Nに登録することを抑制することができる。
【0053】
図4は、
図2のツリートポロジーにおける、第1の実施形態におけるMLEメッセージの送受信の様子を示すシーケンス図である。
【0054】
図4において、新規参加ルータZR−NがMLEリンク要求MLRをマルチキャストで周辺ノードに送信したとする。このとき、MLEリンク要求MLRが到来した各ルータZR−1〜ZR−6におけるランダム時間算出部109−1〜109−6は、ランク値から求めた当該ルータからコーディネータZCへのホップ数に応じた範囲内の送信待ち時間を算出する。
図2のツリートポロジーの場合、ルータZR−1及びルータZR−4がホップ数が1で、ルータZR−2及びルータZR−5がホップ数が2で、ルータZR−3及びルータZR−6がホップ数が3である。
【0055】
ホップ数が1のルータZR−1及びZR−4が、最も小さい値側の範囲内で送信待ち時間を算出するため、他のルータZR−2、ZR−3、ZR−5、ZR−6よりも早いタイミングで、MLEリンク受入要求MLARを新規参加ルータZR−Nに返信し、次に、ホップ数が2のルータZR−2及びZR−5が、中間の範囲内で送信待ち時間を算出するため、他のルータZR−3、ZR−6よりも早いタイミングで、MLEリンク受入要求MLARを新規参加ルータZR−Nに返信し、最後に、ホップ数が3のルータZR−3及びZR−6が、最も大きい値側の範囲内で送信待ち時間を算出するため、最も遅いタイミングで、MLEリンク受入要求MLARを新規参加ルータZR−Nに返信する。
【0056】
返信タイミングをホップ数で変更する方法としては、乱数から返信タイミング(送信待ち時間)を生成する際に、当該ルータ(自ノード)のホップ数に応じたオフセット値を加える方法を挙げることができる。例えば、最大待ち時間が9秒の場合、ホップ数が1となるルータZR−1及びZR−4は、乱数を利用して0〜3秒の間で送信待ち時間を生成し、ホップ数が2となるルータZR−2及びZR−5は、乱数を利用して0〜3秒の間で定めた時間にオフセット値3秒を加えることで送信待ち時間を生成し、ホップ数が3となるルータZR−3及びZR−6は、乱数を利用して0〜3秒の間で定めた時間にオフセット値6秒を加えることで送信待ち時間を生成する。
【0057】
上記では、ランク値からホップ数を算出しているが、直接、ランク値に乱数を掛けてMLEリンク受入要求MLARの返信タイミングを決定するようにしても良い。また、ランク値を最大待ち時間で正規化するなどの手法により、ランク値が小さいほどMLEリンク受入要求MLARを返信するタイミングを早めるようにしても良い。
【0058】
但し、ホップ数が小さいルータ(無線ノード)だけを優先して隣接テーブル106−Nに登録すると、リンク品質の悪いノードを選択してしまう場合がある。そのため、新規参加ルータZR−Nでは、受信したMLEリンク受入要求MLARの受信時の受信電界強度を参照し、例えば、受信電界強度が−95dBmより小さい場合など、受信電界強度が所定レベルに達していないMLEリンク受入要求MLARを送信した周辺ルータに対しては、MLEリンク受入MLAを返信しない。
図4は、ルータZR−4からのMLEリンク受入要求MLARに対して、新規参加ルータZR−Nは、受信電界強度不足により、MLEリンク受入MLAを返信していない場合を示している。
【0059】
なお、受信電界強度の充足、不足は、リンクの両端ノードのいずれでも判断できるため、
図4とは異なり、MLEリンク要求MLRを受信したルータZR−4が、受信電界強度不足により、MLEリンク受入要求MLARを返信しないようにしても良い。
【0060】
図4は、ルータZR−5からのMLEリンク受入要求MLARを受信したときに、新規参加ルータZR−Nの隣接テーブル16−Nの登録数が上限数に達したので、それ以降に到来したルータZR−3及びZR−6からのMLEリンク受入要求MLARを受信しても、新規参加ルータZR−Nが、MLEリンク受入MLAを返信していない場合を示している。
【0061】
(A−3)第1の実施形態の効果
第1の実施形態によれば、周辺ノードとの間で制御パケットを授受して隣接テーブルを作成する際に、ホップ数(やランク値)が小さい周辺ノード、当該ノードとの間のリンクが受信電界強度が強いリンクである周辺ノードを優先的に隣接テーブルに登録することが可能となり、従来に比べて、安定したマルチホップ無線ネットワークを構築することができる。
【0062】
(B)第2の実施形態
次に、本発明による無線ノード、マルチホップ無線ネットワー
ク及び
無線ノードプログラムの第2の実施形態を、図面を参照しながら説明する。以下では、第1の実施形態との相違点を中心に説明する。
【0063】
(B−1)第2の実施形態の構成
図5は、第2の実施形態における無線ノードの構成を示す機能ブロック図であり、第1の実施形態に係る
図1との同一、対応部分には同一、対応符号を付して示している。
【0064】
図5において、第2の実施形態の無線ノード100Aは、第1の実施形態と同様なアンテナ101、増幅器102、無線送受信部103、パケット受信部104、パケット判定部105A、隣接テーブル106、RSSI測定部107、経路表108、ランダム時間算出部109、パケット生成部110、遅延処理部111、パケット送信部112及び有線送受信部113に加え、外部入力インタフェース114を有する。また、パケット判定部105Aの機能も、第1の実施形態のものから多少異なっている。
【0065】
外部入力インタフェース114は、外部(例えば、保守端末)から特定の隣接ノードの識別情報を入力し、隣接テーブル106にその識別情報を登録することを可能とするものである。
【0066】
第2の実施形態のパケット判定部105Aは、制御パケットの授受を通じて隣接ノードの情報を隣接テーブル106に登録する際でも、外部入力インタフェース114を介して、隣接テーブル106に登録された隣接ノードの情報を有効とするように作用するものである。パケット判定部105Aのこのような機能については、後述する動作説明で明らかにする。
【0067】
なお、第2の実施形態の場合、隣接テーブル106に登録された隣接ノードの情報に、外部入力インタフェース114を介して登録されたものであるか否かを区別できる情報をも記述するようにしておけば良い。
【0068】
(B−2)第2の実施形態の動作
第1の実施形態では、ホップ数(若しくはランク値)が小さいノードを優先的に隣接テーブル106に登録することができる。しかし、メッシュリンク確立プロトコルMLEの各MLEメッセージは無線で送受信されるため、パケットの衝突などにより、宛先ノードに届く保証はない。また、隣接テーブル106には上限数があるため、ユーザが所望する周辺ノードが隣接テーブル106に登録されるとは限らない。
【0069】
第2の実施形態は、隣接テーブル106に登録したい隣接ノードの識別情報を、外部入力インタフェース114を通じて、隣接テーブル106に事前に登録することにより、上述した課題を解決しようとしたものである。
【0070】
図6は、第2の実施形態により上記課題を解決できることの説明図である。
【0071】
図6(A)は、ルータZR−Nを無線ネットワークに追加(新規参加)させる前の状態を示しており、この状態では、ルータZR−1及びルータZR−2のリンク品質が悪く、そのため、これらルータZR−1及びルータZR−2間のデータ転送を中継することを意図して、
図6(B)に示すような位置に新規なルータZR−Nをユーザが設置したとする。このとき、新規参加ルータZR−Nが、隣接ノードとして、ルータZR−1、ZR−4及びZR−5を隣接ノードとして登録してしまうと、ルータZR−1及びルータZR−2間の中継機としては機能せず、設置した意図が損なわれてしまう。
【0072】
そこで、第2の実施形態では、ルータZR−Nの起動時には、当該新規参加ルータZR−Nがデータ転送を中継することを意図したリンクに係るルータZR−1及びルータZR−2の識別情報を予め隣接テーブル106−Nに登録し、当該新規参加ルータZR−Nが、ルータZR−1及びルータZR−2間の中継機として動作するようにした。
【0073】
ここで、隣接テーブル106−Nに事前登録する隣接ノードの数は2個に限定されるものではなく、1個でも3個以上であっても良い。
【0074】
新規参加ルータZR−Nのパケット判定部105A−Nは、事前に登録した全ての隣接ノード(ルータ)ZR−1、ZR−2からのMLEリンク受入要求MLARを受信し、それら事前登録隣接ノードZR−1、ZR−2にMLEリンク受入MLAを返信することを保証するように動作する。パケット判定部105A−Nは、登録可能な残り数を管理し、MLEリンク受入要求MLARが到来していない事前登録隣接ノードの数が、登録可能な残り数より少ないうちは、事前登録以外の隣接ノードからのMLEリンク受入要求MLARを有効としてMLEリンク受入MLAを返信させ、MLEリンク受入要求MLARが到来していない事前登録隣接ノードの数が、登録可能な残り数と同じになった以降は、事前登録以外の隣接ノードからのMLEリンク受入要求MLARを無効としてMLEリンク受入MLAを返信させない。
【0075】
図7は、
図6(B)に示すような、ルータZR−1及びZR−2間の中継器として、新規参加ルータZR−Nが設けられ、当該新規参加ルータZR−Nの隣接テーブル106−Nに外部入力インタフェース114−Nを介して、ルータZR−1及びZR−2が隣接ノードとして事前登録された以降に実行される、MLEメッセージの送受信の様子を示すシーケンス図である。
【0076】
まず、ルータZR−1からのMLEリンク受入要求MLARが到来したときには、新規参加ルータZR−N(のパケット判定部105A−N)は、そのルータZR−1の情報が隣接テーブル106−Nに事前登録されているので、MLEリンク受入MLAを返信させる。このとき、隣接テーブル106−Nの登録可能な残り数は2となる。
【0077】
次に、ルータZR−4からのMLEリンク受入要求MLARが到来したときには、第1の実施形態と同様に、受信電界強度が悪いため、新規参加ルータZR−Nは、隣接テーブル106−Nに隣接ノードとして登録せず、MLEリンク受入MLAを返信させない。
【0078】
次に、ルータZR−6からのMLEリンク受入要求MLARが到来したときには、事前登録以外の隣接ノードの登録が可能であるため、新規参加ルータZR−Nは、隣接テーブル106−Nに隣接ノードとして登録し、MLEリンク受入MLAを返信させる。これにより、隣接テーブル106−Nの登録可能な残り数は2となる。
【0079】
この時点では、事前登録したルータZR−2からのMLEリンク受入要求MLARを受信していない。
【0080】
そのため、次に、事前登録していないルータZR−5からのMLEリンク受入要求MLARが到来したときには、受信電界強度が良好であっても、新規参加ルータZR−Nは、隣接テーブル106−Nに隣接ノードとして登録せず、MLEリンク受入MLAを返信させない。すなわち、事前登録したルータZR−2からのMLEリンク受入要求MLARの到来を待ち受ける状態を継続する。
【0081】
その後、事前登録したルータZR−2からのMLEリンク受入要求MLARが到来したときには、新規参加ルータZR−Nは、そのルータZR−1の情報が隣接テーブル106−Nに事前登録されているので、MLEリンク受入MLAを返信させる。このとき、隣接テーブル106−Nの登録可能な残り数は0となる。
【0082】
そのため、これ以降、MLEリンク受入要求MLARが到来しても、隣接テーブル106−Nに登録することもなく、MLEリンク受入MLAを返信することもない。
【0083】
上記では、新規に設置するノードだけに隣接ノードの情報を事前登録する場合を示したが、既に設置しているルータZR−1及びZR−2の隣接テーブル106−1及び106−2にも、新規参加ルータZR−Nの情報を確実に登録することにより、新規な中継経路に係る全てのルータZR−1、ZR−2及びZR−Nの隣接テーブル106−1、106−2及び106−Nに登録することができ、より確実にユーザが所望する中継を実現させることができる。
【0084】
このような登録を実現する具体的な方法として、以下の方法を挙げることができる(上述した
図7に代えて、かかる方法を適用しても良い)。
【0085】
新規参加ルータZR−Nのパケット生成部110−N及びパケット送信部112−Nは、マルチキャストでMLEリンク要求MLRを送信する前に、事前登録している各ルータZR−1、ZR−2のそれぞれに対してユニキャストでMLEリンク要求MLRを送信させる。これにより、ルータZR−1及びZR−2以外のルータからのMLEリンク受入要求MLARの送信タイミングと、ルータZR−1及びZR−2からのMLEリンク受入要求MLARの送信タイミングとが衝突することなく、メッシュリンク確立プロトコルMLEの制御メッセージ交換の成功率を向上させることができる。
【0086】
なお、上記では、事前登録したノード間でのユニキャストでのMLEリンク要求MLRの送信は、通常のマルチキャストのMLEリンク要求MLRの送信前に行っているが、通常のメッシュリンク確立プロトコルMLEの制御メッセージの交換の後に実施するようにしても良い。この場合、隣接テーブル登録の上限値から、事前に登録した隣接ルータの数の情報を削減することで、隣接テーブルの上限値を調整する。
【0087】
(B−3)第2の実施形態の効果
第2の実施形態によれば、第1の実施形態の効果に加え、以下の効果を奏することができる。すなわち、第2の実施形態によれば、新規に設置するノードの隣接テーブルに、中継が必要となるノード情報を確実に登録することができ、ユーザが所望するネットワーク構成を構築することができる。
【0088】
(C)他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【0089】
上記各実施形態においては、リンクの通信品質を示す指標として受信電界強度を適用したものを示したが、他の指標を適用するようにしても良い。例えば、電波の反射による経路の変更がないようなマルチホップ無線ネットワークであれば、各ノードで位置情報を交換し、リンクの物理的な距離をリンクの通信品質を示す指標として用いるようにしても良い。また、制御パケットのプリアンブル期間の信号レベルの変化からSN比を求めて、リンクの通信品質を示す指標として用いるようにしても良い。
【0090】
上記各実施形態では、リンクの受信電界強度を、隣接ノードとして登録するものか否かの判定に直接用いるものを示したが、隣接ノードとして登録するものか否かの判定に間接的に影響させるものであっても良い。例えば、受信電界強度の大小に応じたオフセット時間を、基本的な送信待ち時間にさらに追加するようにして、隣接ノードとして登録するものか否かの判定に間接的に影響させるようにしても良い。このような場合であっても、受信電界強度がある閾値以下の場合には、登録しないように判定させるようにしても良い。
【0091】
上記第1の実施形態では、リンクの受信電界強度を隣接ノードとして登録するものか否かの判定に用いるものを示したが、周辺ノードのホップ数(やランク値)のみが隣接ノードとして登録されるか否かを規定するものであっても良い。言い換えると、MLEリンク受入要求MLARの到来順序のみが、隣接ノードとして登録するか否かを決定するものであっても良い。なお、受信電界強度を用いなくても距離が離れているノードとは通信ができず、上述のようにしても、通信を確保することができる。
【0092】
上記各実施形態では、隣接ノードの登録のためのプロトコルが、メッシュリンク確立プロトコルMLEである場合を示したが、同種のプロトコルを適用しているマルチホップ無線ネットワークに本発明を適用することができる。