本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
図1は、この発明の実施の形態による無線装置を用いた無線通信ネットワークの概略図である。無線通信ネットワーク100は、無線装置31〜43を備える。無線装置31〜43は、無線通信空間に配置され、自律的にネットワークを構成している。アンテナ51〜63は、それぞれ、無線装置31〜43に装着される。
無線装置31〜43の各々は、1つ以上の無線インターフェース(モジュール)を有し、その無線インターフェース毎に無線通信に用いるチャネルを割り当てる。そして、無線装置31〜43の各々は、その選択したチャネルを用いて各種の経路に沿って無線通信を行なう。
例えば、無線装置31が無線装置42へパケットを送信する場合、無線装置32,35〜41は、無線装置31からのパケットを中継して無線装置42へ届ける。
この場合、無線装置31は、各種の経路を介して無線装置42との間で無線通信を行なうことができる。即ち、無線装置31は、無線装置37,41を介して無線装置42との間で無線通信を行なうことができ、無線装置32,36,39を介して無線装置42との間で無線通信を行なうこともでき、無線装置32,35,38,40を介して無線装置42との間で無線通信を行なうこともできる。
無線装置37,41を介して無線通信を行なう場合、ホップ数は、”3”であり、無線装置32,36,39を介して無線通信を行なう場合、ホップ数は、”4”であり、無線装置32,35,38,40を介して無線通信を行なう場合、ホップ数は、”5”である。
従って、通常、ホップ数が”3”と最も少なくなる無線装置31−無線装置37−無線装置41−無線装置42からなる経路を介して無線通信が行なわれる。
そして、無線通信ネットワーク100においては、各無線装置31〜43は、他の無線装置とHelloパケットを定期的に送受信して無線通信を行なうための無線リンクを構築する。
そこで、以下においては、一旦、構築した無線リンクの切断や切り替えが発生し難い機構について説明する。
なお、送信元と送信先との間で無線リンクを構築するプロトコルの例としてOLSRプロトコルを用いる。このOLSRプロトコルは、テーブル駆動型のルーティングプロトコルであり、HelloメッセージおよびTC(Topology Control)メッセージを用いて経路情報を交換し、ルーティングテーブルを作成するプロトコルである。
図2は、図1に示す無線装置31の構成を示す概略ブロック図である。無線装置31は、アンテナ11と、入力部12と、出力部13と、ユーザアプリケーション14と、通信制御部15とを含む。
アンテナ11は、図1に示すアンテナ51〜63の各々を構成する。そして、アンテナ11は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部15へ出力するとともに、通信制御部15からのデータを無線通信空間を介して他の無線装置へ送信する。
入力部12は、無線装置31の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先をユーザアプリケーション14へ出力する。出力部13は、ユーザアプリケーション14からの制御に従ってメッセージを表示する。
ユーザアプリケーション14は、入力部12からのメッセージおよび宛先に基づいてデータを生成して通信制御部15へ出力する。
通信制御部15は、ARPA(Advanced Research Projects Agency)インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部15は、無線インターフェースモジュール16と、MAC(Media Access Control)モジュール17と、バッファ18と、LLC(Logical Link Control)モジュール19と、IP(Internet Protocol)モジュール20と、ルーティングテーブル21と、TCPモジュール22と、UDPモジュール23と、ルーティングデーモン24とからなる。
無線インターフェースモジュール16は、物理層に属し、複数のチャネルを有する。そして、無線インターフェースモジュール16は、所定の規定に従って送信信号または受信信号の変復調を行なうとともに、複数のチャネルから選択したチャネルを用いて信号を送受信する。また、無線インターフェースモジュール16は、アンテナ11を介して他の無線装置からパケットを受信すると、その受信したパケットの受信信号強度RSSIを検出し、その検出した受信信号強度RSSIをIPモジュール20へ送信する。
MACモジュール17は、MAC層に属し、MACプロトコルを実行して、以下に述べる各種の機能を実行する。
即ち、MACモジュール17は、ルーティングデーモン24から受けたHelloパケットを無線インターフェースモジュール16を介してブロードキャストする。
また、MACモジュール17は、データ(パケット)の再送制御等を行なう。
バッファ18は、データリンク層に属し、パケットを一時的に格納する。
LLCモジュール19は、データリンク層に属し、LLCプロトコルを実行して隣接する無線装置との間でリンクの接続および解放を行なう。
IPモジュール20は、インターネット層に属し、IPパケットを生成する。IPパケットは、IPヘッダと、上位のプロトコルのパケットを格納するためのIPデータ部とからなる。そして、IPモジュール20は、TCPモジュール22からデータを受けると、その受けたデータをIPデータ部に格納してIPパケットを生成する。
また、IPモジュール20は、無線インターフェースモジュール16およびMACモジュール17と協働して、後述する方法によって、隣接する無線装置との間の無線リンクを維持または切断する。そして、IPモジュール20は、無線リンクを維持すると、無線リンクを維持したことを示す広告を含む専用パケットPKT_Dを生成して隣接無線装置へ送信する。また、IPモジュール20は、無線リンクを維持すると、その維持した無線リンクに関連する関連情報を維持する。
更に、IPモジュール20は、生成したIPパケットを送信する場合、テーブル駆動型のルーティングプロトコルであるOLSRプロトコルに従ってルーティングテーブル21を検索し、生成したIPパケットを送信するための経路を決定する。そして、IPモジュール20は、IPパケットをLLCモジュール19へ送信し、決定した経路に沿ってIPパケットを送信先へ送信する。
ルーティングテーブル21は、インターネット層に属し、後述するように、各送信先に対応付けて経路情報を格納する。
TCPモジュール22は、トランスポート層に属し、TCPパケットを生成する。TCPパケットは、TCPヘッダと、上位のプロトコルのデータを格納するためのTCPデータ部とからなる。そして、TCPモジュール22は、生成したTCPパケットをIPモジュール20へ送信する。
UDPモジュール23は、トランスポート層に属し、ルーティングデーモン24によって作成されたUpdateパケットをブロードキャストし、他の無線装置からブロードキャストされたUpdateパケットを受信してルーティングデーモン24へ出力する。
ルーティングデーモン24は、プロセス/アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。
また、ルーティングデーモン24は、後述する方法によって、他の無線装置から受信した制御パケット(HelloパケットまたはTCパケットを意味する。以下、同じ。)の経路情報に基づいて、最適な経路を算出してルーティングテーブル21をインターネット層に動的に作成する。
更に、ルーティングデーモン24は、無線通信ネットワーク100における経路情報を他の無線装置へ送信するとき、隣接する無線装置に関する情報等の各種のメッセージを含む制御パケットを作成し、その作成した制御パケットをMACモジュール17へ出力する。
なお、図1に示す無線装置32〜43の各々も、図2に示す無線装置31の構成と同じ構成からなる。
図3は、図2に示す無線インターフェースモジュール16、MACモジュール17およびIPモジュール20の機能のうち、無線通信を行なうための経路である無線リンクをメンテナンスする経路メンテナンス手段の機能ブロック図である。経路メンテナンス手段70は、期間設定手段201と、強度検出手段202と、経路維持手段203と、通信手段204と、情報維持手段205とを含む。期間設定手段201は、リンク導通確認期間の設定を要求する期間設定要求RCPを経路維持手段203から受けると、リンク導通確認期間LCTを設定し、その設定したリンク導通確認期間LCTを経路維持手段203へ出力する。
なお、リンク導通確認期間は、各無線装置31〜43が各隣接無線装置との間の無線リンクが維持されているのか切断されているのかを確認するための期間である。従来の無線装置は、他の無線装置から制御パケットを定期的に受信し、制御パケットに書き込まれている制御パケットの有効期間を読み出して無線リンクの維持を確認する動作を行なっていた。しかし、この発明において導入するリンク導通確認期間は、制御パケットの有効期間とは別に設定する新たな期間である。そして、リンク導通確認期間は、例えば、制御パケットの送信間隔に設定される。
強度検出手段202は、パケットPKTを受信したときの受信信号強度RSSInを検出し、その検出した受信信号強度RSSInを経路維持手段203へ出力する。
経路維持手段203は、強度検出手段202から受信信号強度RSSInを受ける。また、経路維持手段203は、制御パケット、データパケット、RTS(Request To Send)パケット、CTS(Clear To Send)パケットおよびACK(Acknowledge)パケット等を通信手段204から受ける。そして、経路維持手段203は、制御パケットを通信手段204から最初に受けると、その制御パケットを送信した無線装置との間の無線リンクを維持するとともに、期間設定要求RCPを生成して期間設定手段201へ出力する。
また、経路維持手段203は、リンク導通確認期間LCTを期間設定手段201から受けると、内蔵したタイマー(図示せず)によってリンク導通確認期間LCTを計測し、リンク導通確認期間LCT内に隣接無線装置との間で制御パケット、データパケット、RTSパケット、CTSパケットおよびACKパケット等の何らかのパケットPKTを正常に送信および/または受信したか否かを判定する。即ち、経路維持手段203は、通信手段204がリンク導通確認期間LCT内に他の無線装置との間でパケットPKTを正常に送信および/または受信したか否かを判定する。
そして、経路維持手段203は、通信手段204がリンク導通確認期間LCT内に他の無線装置との間でパケットPKTを正常に送信および/または受信したと判定したとき、更に、パケットPKTの受信信号強度RSSInの変化量がしきい値の範囲内であるか否かを判定する。経路維持手段203は、受信信号強度RSSInの変化量がしきい値の範囲内であると判定したとき、ルーティングテーブル21をそのまま維持することによって隣接無線装置との間の無線リンクを維持するとともに、無線リンクを維持したことを示す広告を含む専用パケットPKT_Dを生成して通信手段204へ出力する。また、経路維持手段203は、無線リンクを維持したことを示す信号RHLDを生成して情報維持手段205へ出力する。
一方、経路維持手段203は、受信信号強度RSSInの変化量がしきい値の範囲外であると判定したとき、または通信手段204がリンク導通確認期間LCT内に他の無線装置との間でパケットPKTを正常に送信および/または受信していないと判定したとき、ルーティングテーブル21に格納された経路情報のうち、該当する無線リンクに関する経路情報をルーティングテーブル21から削除することによって該当する無線リンクを切断する。
更に、経路維持手段203は、1つのリンク導通確認期間LCTが終了した後に、制御パケットを通信手段204から最初に受けると、その制御パケットを送信した無線装置との間の無線リンクを維持するとともに、期間設定要求RCPを生成して期間設定手段201へ出力する。
通信手段204は、IPパケットを作成するとともに、その作成したIPパケットを送信するための経路をルーティングテーブル21を参照して検索する。そして、通信手段204は、検索した経路に沿ってIPパケットを送信する。
また、通信手段204は、他の無線装置との間で制御パケット、データパケットおよびRTSパケット等のパケットPKTを送信および/または受信するとともに、他の無線装置から受信したパケットPKTを経路維持手段203へ出力する。
更に、通信手段204は、他の無線装置から受信した制御パケットおよびTCメッセージを含むパケットを情報維持手段205へ出力する。
更に、通信手段204は、他の無線装置から専用パケットPKT_Dを受信すると、専用パケットPKT_Dの内容に基づいて、通信量を抑制して、または異なる経路をルーティングテーブル21で検索して送信先との間で無線通信を行なう。
情報維持手段205は、通信手段204から制御パケットおよびTCメッセージを含むパケットを受信する。そして、情報維持手段205は、経路維持手段203から信号RHLDを受けると、信号RHLDを受けたときに通信手段204から受けた制御パケットおよびTCメッセージを含むパケットの内容を維持する。
図4は、OLSRプロトコルにおけるパケットPKTの構成図である。パケットPKTは、パケットヘッダPHDと、メッセージヘッダMHD1,MHD2,・・・とからなる。なお、パケットPKTは、UDPモジュール23のポート番号698番を使用して送受信される。
パケットヘッダPHDは、パケット長と、パケットシーケンス番号とからなる。パケット長は、16ビットのデータからなり、パケットPKTのバイト数を表す。また、パケットシーケンス番号は、16ビットのデータからなり、どのパケットが新しいかを区別するために用いられる。そして、パケットシーケンス番号は、新しいパケットが生成される度に“1”づつ増加される。従って、パケットシーケンス番号が大きい程、そのパケットPKTが新しいことを示す。
メッセージヘッダMHD1,MHD2,・・・の各々は、メッセージタイプと、有効時間と、メッセージサイズと、発信元アドレスと、TTLと、ホップ数と、メッセージシーケンス番号と、メッセージとからなる。
メッセージタイプは、8ビットのデータからなり、メッセージ本体に書かれたメッセージの種類を表し、0〜127は、予約済みである。有効時間は、8ビットのデータからなり、受信後に、このメッセージを管理しなければならない時間を表す。そして、有効時間は、仮数部と、指数部とからなる。
メッセージサイズは、16ビットのデータからなり、メッセージの長さを表す。発信元アドレスは、32ビットのデータからなり、メッセージを生成した無線装置を表す。TTLは、8ビットのデータからなり、メッセージが転送される最大ホップ数を指定する。そして、TTLは、メッセージが転送される時に”1”づつ減少される。そして、TTLが“0”か“1”である場合、メッセージは、転送されない。ホップ数は、8ビットのデータからなり、メッセージの生成元からのホップ数を表す。そして、ホップ数は、最初、“0”に設定され、転送される毎に“1”づつ増加される。メッセージシーケンス番号は、16ビットのデータからなり、各メッセージに割当てられる識別番号を表す。そして、メッセージシーケンス番号は、メッセージが作成される毎に、“1”づつ増加される。メッセージは、送信対象のメッセージである。
OLSRプロトコルにおいては、各種のメッセージが図4に示す構成のパケットPKTを用いて送受信される。
図5は、図2に示すルーティングテーブル21の構成図である。ルーティングテーブル21は、送信先、次の無線装置およびホップ数からなる。送信先、次の無線装置およびホップ数は、相互に対応付けられている。“送信先”は、送信先の無線装置のIPアドレスを表す。“次の無線装置”は、送信先にパケットPKTを送信するときに、次に送信すべき無線装置のIPアドレスを表す。“ホップ数”は、送信先までのホップ数を表す。例えば、図1において、無線装置31−無線装置32−無線装置36−無線装置39−無線装置42の経路によって無線装置31と無線装置42との間で無線通信が行なわれる場合、無線装置32のルーティングテーブル21のホップ数には、“3”が格納される。
OLSRプロトコルに従ったルーティングテーブル21の作成について詳細に説明する。無線装置31〜43は、ルーティングテーブル21を作成する場合、HelloメッセージおよびTCメッセージを送受信する。
Helloメッセージは、各無線装置31〜43が有する情報の配信を目的として、定期的に送信される。このHelloメッセージを受信することによって、各無線装置31〜43は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
OLSRプロトコルにおいては、各無線装置31〜43は、ローカルリンク情報を管理する。そして、Helloメッセージは、このローカルリンク情報の構築および送信を行なうためのメッセージである。ローカルリンク情報は、「リンク集合」、「隣接無線装置集合」、「2ホップ隣接無線装置集合とそれらの無線装置へのリンク集合」、「MPR(Multipoint Relay)集合」、および「MPRセレクタ集合」を含む。
リンク集合は、直接的に電波が届く無線装置(隣接無線装置)の集合へのリンクのことであり、各リンクは2つの無線装置間のアドレスの組の有効時間によって表現される。なお、有効時間は、そのリンクが単方向なのか双方向なのかを表すためにも利用される。
隣接無線装置集合は、各隣接無線装置のアドレス、およびその無線装置の再送信の積極度(Willingness)等によって構成される。2ホップ隣接無線装置集合は、隣接無線装置に隣接する無線装置の集合を表す。
MPR集合は、MPRとして選択された無線装置の集合である。なお、MPRとは、各パケットPKTを無線通信ネットワーク100の全ての無線装置31〜43へ送信する場合、各無線装置31〜43が1つのパケットPKTを1回だけ送受信することによってパケットPKTを全ての無線装置31〜43へ送信できるように中継無線装置を選択することである。MPRセレクタ集合は、自己をMPRとして選択した無線装置の集合を表す。
ローカルリンク情報が確立される過程は、概ね、次のようになる。Helloメッセージは、初期の段階では、各無線装置31〜43が自己の存在を知らせるために、自己のアドレスが入ったHelloメッセージを隣接する無線装置へ送信する。これを、無線装置31〜43の全てが行ない、各無線装置31〜43は、自己の周りにどのようなアドレスを持った無線装置が存在するのかを把握する。このようにして、リンク集合および隣接無線装置集合が構築される。
そして、構築されたローカルリンク情報は、再び、Helloメッセージによって定期的に送り続けられる。これを繰返すことによって、各リンクが双方向であるのか、隣接無線装置の先にどのような無線装置が存在するのかが徐々に明らかになって行く。各無線装置31〜43は、このように徐々に構築されたローカルリンク情報を蓄える。
更に、MPRに関する情報も、Helloメッセージによって定期的に送信され、各無線装置31〜43へ告知される。各無線装置31〜43は、自己が送信するパケットPKTの再送信を依頼する無線装置として、いくつかの無線装置をMPR集合として隣接無線装置の中から選択している。そして、このMPR集合に関する情報は、Helloメッセージによって隣接する無線装置へ送信されるので、このHelloメッセージを受信した無線装置は、自己をMPRとして選択してきた無線装置の集合を「MPRセレクタ集合」として管理する。このようにすることにより、各無線装置31〜43は、どの無線装置から受信したパケットPKTを再送信すればよいのかを即座に認識できる。
Helloメッセージの送受信により各無線装置31〜43において、ローカルリンク集合が構築されると、無線通信ネットワーク100全体のトポロジーを知らせるためのTCメッセージが無線装置31〜43へ送信される。このTCメッセージは、MPRとして選択されている全ての無線装置によって定期的に送信される。そして、TCメッセージは、各無線装置とMPRセレクタ集合との間のリンクを含んでいるため、無線通信ネットワーク100の全ての無線装置31〜43は、全てのMPR集合および全てのMPRセレクタ集合を知ることができ、全てのMPR集合および全てのMPRセレクタ集合に基づいて、無線通信ネットワーク100全体のトポロジーを知ることができる。各無線装置31〜43は、無線通信ネットワーク100全体のトポロジーを用いて最短路を計算し、それに基づいて経路表を作成する。
なお、各無線装置31〜43は、Helloメッセージとは別に、TCメッセージを頻繁に交換する。そして、TCメッセージの交換にも、MPRが利用される。
各無線装置31〜43のUDPモジュール23は、上述したHelloメッセージおよびTCメッセージを送受信し、ルーティングデーモン24は、UDPモジュール23が受信したHelloメッセージおよびTCメッセージに基づいて無線通信ネットワーク100全体のトポロジーを認識し、その無線通信ネットワーク100全体のトポロジーに基づいて、最短路を計算し、それに基づいて、図5に示すルーティングテーブル21を動的に作成する。
次に、各無線装置31〜43が隣接無線装置との間の無線リンクを維持/切断する方法について説明する。図6は、各無線装置31〜43が隣接無線装置との間の無線リンクを維持/切断する方法を説明するための概念図である。なお、図6において、太実線は、ユニキャストフレームであるアプリケーションデータの流れを表し、太点線は、無線リンクを維持/切断するための制御パケットである制御パケットの流れを表す。
図1に示す無線通信ネットワーク100において、無線装置36は、隣接する無線装置32,37,39との間で制御パケットを定期的に送受信し、無線装置32,37,39との間で無線リンクを構築している。そして、無線装置36は、無線装置32と無線装置39との間でデータパケットを中継している。
このような状況において、無線装置36の通信手段204は、無線装置32から制御パケットを正常に受信すると、その受信した制御パケットを経路維持手段203へ出力し、経路維持手段203は、通信手段204から受けた制御パケットの発信元アドレス(=無線装置32のIPアドレスIPadd32,図4参照)を検出して無線装置32−無線装置36間の無線リンクを維持する。
そして、無線装置36の経路維持手段203は、期間設定要求RCPを生成して期間設定手段201へ出力する。期間設定手段201は、経路維持手段203からの期間設定要求RCPに応じて、リンク導通確認期間LCTを設定し、その設定したリンク導通確認期間LCTを経路維持手段203へ出力する。経路維持手段203は、期間設定手段201からリンク導通確認期間LCTを受けると、内蔵したタイマーによってリンク導通確認期間LCTを計測し、通信手段204がリンク導通確認期間LCT内に無線装置32から制御パケットおよびデータパケット等の何らかのパケットPKTを正常に受信したか否かを判定する。
この場合、無線装置32が制御パケットを無線装置36へ正常に送信してリンク導通確認期間LCTが設定された後に、無線装置32は、通信品質を保持してデータパケットの無線装置36への送信に成功し、パケットロスによって次の制御パケットの無線装置36への送信に失敗するものとする。データパケットは、ユニキャストによって送信され(太実線参照)、制御パケットは、ブロードキャストされるため、制御パケットにおいては、データパケットよりもパケットロスが発生し易い。
そうすると、無線装置36の通信手段204は、リンク導通確認期間LCT内に無線装置32から制御パケットを受信せず、データパケットを正常に受信する。そして、無線装置36の通信手段204は、無線装置32から正常に受信したデータパケットを経路維持手段203へ出力する。また、無線装置36の強度検出手段202は、データパケットを受信したときの受信信号強度RSSInを検出して経路維持手段203へ出力する。
経路維持手段203は、リンク導通確認期間LCT内に通信手段204からデータパケットを受け、そのデータパケットが受信されたときの受信信号強度RSSInを強度検出手段202から受ける。そして、経路維持手段203は、前回受信したパケットPKTの受信信号強度RSSIn−1と、今回受信したパケットPKTの受信信号強度RSSInとの差分ΔRSSIを演算し、その演算した差分ΔRSSIがしきい値の範囲内であることを確認する。
そうすると、経路維持手段203は、通信手段204がリンク導通確認期間LCT内に無線装置32からデータパケットを受信し、かつ、そのデータパケットを受信したときの通信品質が保持されているので、ルーティングテーブル21における無線装置32−無線装置36間の経路情報を維持することによって無線装置32−無線装置36間の無線リンクを維持する。
なお、無線装置36の通信手段204は、無線装置37,39から制御パケットを定期的に正常に受信するので、経路維持手段203は、無線装置36−無線装置37間の無線リンクおよび無線装置36−無線装置39間の無線リンクを維持する。
図7は、無線リンクを維持する条件を説明するための概念図である。無線装置36は、無線装置32から制御パケットを正常に受信し(Com1参照)、リンク導通確認期間LCTを開始する。そして、無線装置36は、リンク導通確認期間LCT内に、制御パケットの無線装置32への送信(Com2参照)、無線装置32からのデータパケットの受信(Com3参照)およびACKパケットの無線装置32への送信(Com4参照)を、順次、正常に行なうとともに、パケットロスによって無線装置32からの制御パケットの受信に失敗する(Com5参照)。
このように、無線装置36は、リンク導通確認期間LCT内に無線装置32からの制御パケットの受信に失敗するが(Com5参照)、リンク導通確認期間LCT内に無線装置32からデータパケットを正常に受信しているので(Com3参照)、無線装置32との間の無線リンクを維持する。
なお、無線装置36は、リンク導通確認期間LCT内に無線装置32から制御パケットを正常に受信すれば、当然に無線装置32との間の無線リンクを維持する。従って、この発明においては、無線装置36は、リンク導通確認期間LCT内に何らかのパケットPKTを無線装置32から正常に受信すれば、無線装置32との間の無線リンクを維持する。
また、無線装置36は、リンク導通確認期間LCT内に、無線装置32からパケットPKTを、一切、受信しないとき、無線装置32との間の無線リンクを切断する。
図8は、ルーティングテーブル21の具体例を示す図である。無線装置36は、リンク導通確認期間LCTを開始した時点では、ルーティングテーブル21A(図8の(a)参照)を保持している。即ち、無線装置36は、無線装置32,37,39を各送信先とする経路情報からなるルーティングテーブル21Aを保持している。
そして、リンク導通確認期間LCT内において、無線装置36の通信手段204は、無線装置32からの制御パケットの受信に失敗し(Com5参照)、無線装置32からのデータパケットの受信に成功する(Com3参照)。そして、無線装置36の通信手段204は、その受信したデータパケットを経路維持手段203へ出力する。経路維持手段203は、通信手段204からデータパケットを受け、データパケットを受信したときの通信品質が保持されていることを確認する。そして、経路維持手段203は、ルーティングテーブル21Aをそのまま維持してルーティングテーブル21B(図8の(b)参照)へ更新することによって無線装置32−無線装置36間の無線リンクを維持する。
なお、無線装置36の通信手段204がリンク導通確認期間LCT内に無線装置32からパケットPKTを、一切、受信しないとき、ルーティングテーブル21Aの第1行目の経路情報を削除することによって無線装置32−無線装置36間の無線リンクを切断する。
図9は、専用パケットPKT_Dの例を示す図である。無線装置36の経路維持手段203は、無線装置32−無線装置36間の無線リンクを維持したとき、[無線リンク32−36 有 品質低(救済中)/無線リンク37−36 有 品質高/無線リンク39−36 有 品質高]を含む専用パケットPKT_D1を生成して通信手段204へ出力し、通信手段204は、専用パケットPKT_D1を無線装置32,37,39(隣接無線装置)へ送信する。
図10は、ルーティングテーブルの他の具体例を示す図である。図11は、ルーティングテーブルの更に他の具体例を示す図である。図12は、ルーティングテーブルの更に他の具体例を示す図である。
無線装置32は、無線装置36から専用パケットPKT_D1を受信する前、ルーティングテーブル21C(図10の(a)参照)を有する。そして、無線装置32の通信手段204は、無線装置36から専用パケットPKT_D1を受信すると、その受信した専用パケットPKT_D1を経路維持手段203へ出力する。無線装置32の経路維持手段203は、専用パケットPKT_D1を受信すると、その受信した専用パケットPKT_D1の内容を検出して、無線リンク32−36、無線リンク37−36および無線リンク39−36が有ることを検知する。そして、無線装置32の経路維持手段203は、ルーティングテーブル21Cをそのまま維持してルーティングテーブル21D(図10の(b)参照)へ更新することによって無線リンク32−36を維持する。
無線装置37の経路維持手段203は、専用パケットPKT_D1に応じて、同様にして、ルーティングテーブル21E(図11の(a)参照)をそのまま維持してルーティングテーブル21F(図11の(b)参照)へ更新することによって無線リンク37−36を維持する。
また、無線装置39の経路維持手段203は、専用パケットPKT_D1に応じて、同様にして、ルーティングテーブル21G(図12の(a)参照)をそのまま維持してルーティングテーブル21H(図12の(b)参照)へ更新することによって無線リンク39−36を維持する。
このように、リンク導通確認期間LCT内に無線リンクを維持した無線装置36は、自己が維持している全ての無線リンク32−36,37−36,39−37を無線装置32,37,39(隣接無線装置)へ通知する。これによって、無線装置36において維持された無線リンク32−36,37−36,39−37が無線装置32,36,37,39間で共有されるとともに、無線装置36に隣接する無線装置32,37,39においても、無線装置36において維持された無線リンクに基づいてルーティングテーブルが更新される。
図13は、各無線装置31〜43が隣接無線装置との間の無線リンクを維持/切断する方法を説明するための他の概念図である。なお、図13においても、太実線は、ユニキャストフレームであるアプリケーションデータの流れを表し、太点線は、経路を維持/切断するための制御パケットである制御パケットの流れを表す。
無線装置36は、無線装置39からのデータパケットを基準通信量Dstd以上で無線装置32へ中継し、無線装置32,39から制御パケットを定期的に正常に受信している。このような状況において、無線装置36の通信手段204は、リンク導通確認期間LCT内に無線装置37からの制御パケットの受信に失敗する。
無線装置36の経路維持手段203は、通信手段204が無線装置39から無線装置32へのデータパケットを正常に中継しているので、その無線通信の中継に用いていない無線装置36−無線装置37間の無線リンクを維持する。即ち、無線装置36が無線装置39からのデータパケットを無線装置32へ中継している状況においては、無線装置37は、無線装置32,39に対して隠れ端末の関係にあり、無線装置37から無線装置36へ送信された制御パケットは、パケットロスによって消失し易い。従って、無線装置39→無線装置36→無線装置32からなる経路によって基準通信量Dstd以上の無線通信が正常に行なわれている状況において、無線装置36が無線装置37からの制御パケットを正常に受信できなくても、それは、無線装置32,37,39が相互に隠れ端末の関係にあるからであり、無線装置36−無線装置37間の無線通信状況が悪化しているためではない。そこで、このような状況においては、無線装置36の経路維持手段203は、無線装置37からの制御パケットを正常に受信できなくても、無線装置36−無線装置37間の無線リンクを維持することにしたものである。つまり、この発明においては、無線通信に実際に使用されている無線リンクのみならず、未使用の無線リンクも維持する。
なお、無線装置36の経路維持手段203が無線装置36−無線装置37間の無線リンクを維持する前提として無線装置36−無線装置37間の無線通信に用いられるチャネルと無線装置36−無線装置39間の無線通信に用いられるチャネルとがお互いの無線通信品質への影響を及ぼすチャネルであることが必要である。2つの無線リンクにおける無線通信品質が互いに影響しなければ、本来、衝突によるパケットロスが発生しないからである。
そして、2つの無線リンクにおける無線通信品質が互いに影響を及ぼすか否かは、次のようにして判定される。例えば、無線装置36−無線装置37間の無線通信に用いられるチャネルの周波数と無線装置36−無線装置39間の無線通信に用いられるチャネルの周波数との少なくとも一部がオーバーラップする場合に2つの無線リンクにおける無線通信品質が互いに影響を及ぼすと判定される。また、パケットロスが基準値以上に達する場合に、2つの無線リンクにおける無線通信品質が互いに影響を及ぼすと判定される。
更に、無線リンク36−37を維持する前提として、無線装置39と無線装置37とが互いに隠れ端末の位置にあることの判断を加えることもできる。そして、互いに隠れ端末の位置にあるか否かは、隣接無線装置から受信する制御パケット(=Helloパケット)に含まれる隣接無線装置集合を参照して判断する。図13に示す例では、無線装置36が無線装置39から受信する制御パケット(=Helloパケット)の隣接無線装置集合に無線装置37が含まれず、無線装置36が無線装置37から受信する制御パケット(=Helloパケット)の隣接無線装置集合に無線装置39が含まれないとき、無線装置36は、無線装置37と無線装置39とが互いに隠れ端末の位置にあると判定する。
従って、無線装置36は、上述した方法によって、無線装置37と無線装置39とが互いに隠れ端末の位置にあるか否かを判定し、無線装置37と無線装置39とが互いに隠れ端末の位置にあれば、無線リンク36−37を維持する。
無線装置37と無線装置39とが互いに隠れ端末の位置にあれば、無線装置36−無線装置37間の無線通信品質と無線装置36−無線装置39間の無線通信品質とは、互いに影響を及ぼすので、無線装置36が無線装置37と無線装置39とが互いに隠れ端末の位置にあるか否かを判定して無線リンク36−37を維持することは、無線装置36が無線リンク36−39の隣接無線装置(=無線装置39)と無線リンク36−37の隣接無線装置(=無線装置37)との位置関係から無線通信品質の影響を判断し、相互に影響があるとき、無線リンク36−37を維持することに相当する。
図14は、無線リンクを維持する条件を説明するための他の概念図である。無線装置32は、無線装置36から制御パケットを正常に受信し(Com6参照)、リンク導通確認期間LCTを開始する。そして、無線装置32は、リンク導通確認期間LCT内に、データパケットの無線装置36への送信(Com7参照)、無線装置36からのACKパケットの受信(Com8参照)および制御パケットの無線装置36への送信(Com9参照)を、順次、正常に行なうとともに、パケットロスによって無線装置36からの制御パケットの受信に失敗する(Com10参照)。
このように、無線装置32は、リンク導通確認期間LCT内に無線装置36からの制御パケットの受信に失敗するが、リンク導通確認期間LCT内にデータパケットを無線装置36へ正常に送信(ACKパケットを無線装置36から正常に受信)しているので、無線装置36との間の無線リンクを維持する。
なお、無線装置32は、リンク導通確認期間LCT内に無線装置36から制御パケットを正常に受信すれば、当然に無線装置36との間の無線リンクを維持する。従って、この発明においては、送信側である無線装置32は、リンク導通確認期間LCT内に何らかのパケットPKTを無線装置36との間で正常に送信または受信すれば、無線装置36との間の無線リンクを維持する。
また、無線装置32は、リンク導通確認期間LCT内に、無線装置36との間でパケットPKTを、一切、送信または受信しないとき、無線装置36との間の無線リンクを切断する。
図15は、無線リンクを維持する条件を説明するための更に他の概念図である。無線装置32は、無線装置36から制御パケットを正常に受信し(Com11参照)、リンク導通確認期間LCTを開始する。そして、無線装置32は、リンク導通確認期間LCT内に、ブロードキャストまたはマルチキャストによるデータパケットの無線装置36への送信(Com12参照)、無線装置36からのフラッディングによるデータパケットの受信(Com13参照)および制御パケットの無線装置36への送信(Com14参照)を、順次、正常に行なうとともに、パケットロスによって無線装置36からの制御パケットの受信に失敗する(Com15参照)。
このように、無線装置32は、リンク導通確認期間LCT内に無線装置36からの制御パケットの受信に失敗するが(Com15参照)、リンク導通確認期間LCT内にデータパケットをフラッディングによって無線装置36から正常に受信(パッシブにACKパケットを受信)しているので(Com13参照)、無線装置36との間の無線リンクを維持する。
なお、無線装置32は、リンク導通確認期間LCT内に無線装置36から制御パケットを正常に受信すれば、当然に無線装置36との間の無線リンクを維持する。従って、この発明においては、送信側である無線装置32は、リンク導通確認期間LCT内に何らかのパケットPKTを無線装置36との間で正常に送信または受信すれば、無線装置36との間の無線リンクを維持する。
また、無線装置32は、リンク導通確認期間LCT内に、無線装置36との間でパケットPKTを、一切、送信または受信しないとき、無線装置36との間の無線リンクを切断する。
上述したように、この発明においては、各無線装置31〜43の経路維持手段203は、リンク導通確認期間LCT内に隣接無線装置との間で何らかのパケットPKTを通信品質を保持して正常に送信および/または受信すると、隣接無線装置との間の無線リンクを維持する。
そして、各無線装置31〜43の経路維持手段203は、リンク導通確認期間LCT内に受信したパケットPKTの通信品質が保持されていないとき、またはリンク導通確認期間LCT内にパケットPKTを受信しないとき、隣接無線装置との間の無線リンクを切断する。
図16は、この発明における通信方法を説明するための概念図である。また、図17は、専用パケットPKT_Dの他の例を示す図である。更に、図18は、ルーティングテーブル21の更に他の具体例を示す図である。なお、図16において、実線および太実線は、ユニキャストフレームであるアプリケーションデータの流れを表し、太点線は、無線リンクを維持/切断するための制御パケットである制御パケットの流れを表す。また、実線の太さは、通信量を表し、通信量は、実線が太い方が多い。
図1に示す無線装置31〜43のうち、無線装置42は、無線装置39,36を経由して無線装置32へデータパケットを送信している。そして、無線装置39は、リンク導通確認期間LCT内に無線装置42からの制御パケットの受信に失敗する(図16の(a)参照)。この場合、無線装置39の通信手段204は、無線装置42からのデータパケットを通信品質を保持して無線装置36へ中継しているので、リンク導通確認期間LCT内に通信品質を保持してデータパケットを無線装置42から受信する。従って、無線装置39の経路維持手段203は、無線装置39−無線装置42間の無線リンクを維持し、専用パケットPKT_D2(図17参照)を生成して通信手段204へ出力し、専用パケットPKT_D2(図17参照)を隣接無線装置36,41,42へ送信する。
この場合、専用パケットPKT_D2は、[無線リンク36−39 有 品質高/無線リンク39−42 有 品質低(救済中)/無線リンク39−41 有 品質高]からなる情報を含む。
無線装置42の通信手段204は、無線装置39から専用パケットPKT_D2を受信し、その受信した専用パケットPKT_D2を経路維持手段203へ出力する。無線装置42の経路維持手段203は、通信手段204から受けた専用パケットPKT_D2に含まれる[無線リンク36−39 有 品質高/無線リンク39−42 有 品質低(救済中)/無線リンク39−41 有 品質高]を参照して、無線装置39−無線装置42間の無線リンク39−42が維持されていることを検知し、無線リンク39−42を維持する。また、無線装置42の通信手段204は、専用パケットPKT_D2に含まれる[無線リンク36−39 有 品質高/無線リンク39−42 有 品質低(救済中)/無線リンク39−41 有 品質高]を参照して、無線装置39−無線装置42間の無線リンク39−42の品質が低く、救済中であることを検知する。
そうすると、無線装置42の通信手段204は、その維持された無線リンク39−42を用いて、通信量を減少してデータパケットを無線装置32へ送信する(図16の(b)における実線参照)。
一方、無線装置42に近接して配置された無線装置41の通信手段204は、無線装置39から専用パケットパケットPKT_D2を受信し、その受信した専用パケットPKT_D2を経路維持手段203へ出力する。無線装置41の経路維持手段203は、通信手段204から受けた専用パケットPKT_D2に含まれる[無線リンク36−39 有 品質高/無線リンク39−42 有 品質低(救済中)/無線リンク39−41 有 品質高]を参照して、無線装置39−無線装置41間の無線リンク39−41が維持されていることを検知し、無線リンク39−41を維持する。また、無線装置41の通信手段204は、専用パケットPKT_D2に含まれる[無線リンク36−39 有 品質高/無線リンク39−42 有 品質低(救済中)/無線リンク39−41 有 品質高]を参照して、無線装置39−無線装置42間の無線リンク39−42の品質が低く、救済中であることを検知する。
そうすると、無線装置41の通信手段204は、ルーティングテーブル21J(図18参照)を検索して無線装置39ではなく、無線装置37を経由する経路を選択して無線装置32へデータパケットを送信する(図16の(b)参照)。
ここで、無線装置41の通信手段204は、無線リンク39−41が維持されており、通信品質が高いにも関わらず、無線装置39ではなく無線装置37を経由する経路を選択して無線装置32へデータパケットを送信するのは、次の理由による。
無線リンク39−42は、品質が低く、救済中であるので、これ以上、無線装置41が無線装置39へデータパケットを送信すると、無線装置39においてデータパケットの衝突が発生し、無線装置39がリンク導通確認期間LCT内に制御パケットのみならず、データパケットも正常に受信できず、無線リンク39−42または無線リンク39−41を切断するのを防止するためである。
このように、この発明においては、何らかのパケットPKTをリンク導通確認期間LCT内に正常に受信して無線リンクを維持した場合、その維持の対象となった無線リンクを隣接無線装置へ通知し、隣接無線装置も含めて維持の対象となった無線リンクが切断されるのを防止するように無線通信が行なわれる。
図19は、図1に示す無線通信ネットワーク100における通信動作を説明するためのフローチャートである。一連の動作が開始すると、各無線装置31〜43の経路維持手段203は、通信手段204が制御パケットを初めて受信したか否かを判定する(ステップS1)。ステップS1において、通信手段204が制御パケットを正常に受信しなかったと判定されたとき、一連の動作は、ステップS6へ移行する。
一方、ステップS1において、各無線装置31〜43の経路維持手段203は、通信手段204が制御パケットを正常に受信したと判定したとき、リンク導通確認動作を行なう(ステップS2)。そして、各無線装置31〜43の経路維持手段203は、リンク導通確認動作において、無線リンクを救済したか否かを判定する(ステップS3)。
ステップS3において、各無線装置31〜43の経路維持手段203は、無線リンクを救済したと判定したとき、救済した無線リンクを隣接無線装置へ通知する(ステップS4)。より具体的には、各無線装置31〜43の経路維持手段203は、救済した無線リンクおよびその無線リンクに関連する情報を含む専用パケットPKT_Dを生成し、その生成した専用パケットPKT_Dを通信手段204によって隣接無線装置へ送信する。
そして、隣接無線装置の通信手段204は、専用パケットPKT_Dを受信し、その受信した専用パケットPKT_D中の救済された無線リンクおよびその無線リンクに関連する情報を読み出す。そして、隣接無線装置の通信手段204は、救済された無線リンクを用いて無線通信を行なう場合、通信量を減少して無線通信を行なう。また、隣接無線装置の通信手段204は、救済された無線リンク以外の無線リンクを用いて無線通信を行なう場合、ルーティングテーブル21を検索し、救済された無線リンク以外の無線リンクを用いる新たな経路を決定して無線通信を行なう(ステップS5)。
一方、ステップS1において、通信手段204が制御パケットを正常に受信しなかったと判定されたとき、またはステップS3において、無線リンクが救済されなかったと判定されたとき、各無線装置31〜43の通信手段204は、通常の無線通信を行なう(ステップS6)。即ち、各無線装置31〜43の通信手段204は、リンク導通確認動作を行なわずに、ルーティングテーブル21を検索して送信先までの経路を決定し、その決定した経路を用いて送信先との間で無線通信を行なう。そして、ステップS5またはステップS6の後、一連の動作は終了する。
図20は、図19に示すステップS2の詳細な動作を説明するためのフローチャートである。図19に示すステップS1において、通信手段204が制御パケットを正常に受信したと判定されたとき、各無線装置31〜43の経路維持手段203は、期間設定要求RCPを生成して期間設定手段201へ出力し、期間設定手段201は、期間設定要求RCPに応じて、リンク導通確認期間LCTを設定し(ステップS11)、その設定したリンク導通確認期間LCTを経路維持手段203へ出力する。
そして、各無線装置31〜43の経路維持手段203は、リンク導通確認期間LCTを受けると、内蔵したタイマーによってリンク導通確認期間LCTを計測し、リンク導通確認期間LCTが経過したか否かを判定する(ステップS12)。
そして、各無線装置31〜43の経路維持手段203は、リンク導通確認期間LCTが経過すると、リンク導通確認期間LCT内に制御パケットを受信したか否かを更に判定する(ステップS13)。
ステップS13において、リンク導通確認期間LCT内に制御パケットが受信されたと判定されたとき、一連の動作は、ステップS20へ移行する。
一方、ステップS13において、各無線装置31〜43の経路維持手段203は、リンク導通確認期間LCT内に制御パケットを受信しなかったと判定したとき、リンク導通確認期間LCT内に制御パケット以外のデータパケットからなるフレームを該当隣接無線装置から受信したか否かを更に判定する(ステップS14)。
ステップS14において、リンク導通確認期間LCT内にフレームが受信されなかったと判定されたとき、一連の動作は、ステップS17へ移行する。
一方、ステップS14において、各無線装置31〜43の経路維持手段203は、通信手段204がリンク導通確認期間LCT内にフレームを受信したと判定したとき、最も最近に受信した制御パケットの受信信号強度RSSIn−1とフレーム(=データパケット)の受信信号強度RSSInとの差分ΔRSSIを検出する(ステップS15)。
そして、各無線装置31〜43の経路維持手段203は、差分ΔRSSIがしきい値の範囲か否かを判定する(ステップS16)。なお、しきい値の範囲は、例えば、各無線装置31〜43が配置された無線通信空間における受信信号強度RSSIの変動幅に設定される。従って、ステップS16においては、無線通信品質が基準品質を満たす無線通信によってフレーム(=データパケット)が受信されたか否かが判定される。
ステップS16において、差分ΔRSSIがしきい値の範囲であると判定されたとき、一連の動作は、ステップS18へ移行する。
一方、ステップS14において、リンク導通確認期間LCT内にフレームを受信しなかったと判定されたとき、またはステップS16において、差分ΔRSSIがしきい値の範囲外であると判定されたとき、各無線装置31〜43の経路維持手段203は、未使用リンクを救済するか否かを更に判定する(ステップS17)。より具体的には、各無線装置31〜43の経路維持手段203は、リンク導通確認期間LCT内に所定量の無線通信の送受信が正常に行なわれているか否かを判定することによって未使用リンクを救済するか否かを判定する。即ち、各無線装置31〜43の経路維持手段203は、リンク導通確認期間LCT内に所定量の無線通信の送受信が正常に行なわれているとき、未使用リンクを救済すると判定し、リンク導通確認期間LCT内に所定量の無線通信の送受信が正常に行なわれていないとき、未使用リンクを救済しないと判定する。
そして、ステップS16において、差分ΔRSSIがしきい値の範囲であると判定されたとき、またはステップS17において、未使用リンクを救済すると判定されたとき、各無線装置31〜43の経路維持手段203は、無線リンクを維持する維持回数が基準回数以下であるか否かを更に判定する(ステップS18)。
そして、ステップS17において、未使用リンクを救済しないと判定されたとき、またはステップS18において、維持回数が基準回数以下でないと判定されたとき、各無線装置31〜43の経路維持手段203は、該当リンクを切断する(ステップS19)。より具体的には、各無線装置31〜43の経路維持手段203は、該当リンクの経路情報をルーティングテーブル21から削除することによって該当リンクを切断する。
一方、ステップS13において、リンク導通確認期間LCT内に制御パケットを正常に受信したと判定されたとき、またはステップS18において、維持回数が基準回数以下であると判定されたとき、各無線装置31〜43の経路維持手段203は、該当リンクを維持し、情報維持手段205は、維持したリンクの関連情報を維持する(ステップS20)。より具体的には、各無線装置31〜43の経路維持手段203は、該当リンクの経路情報をルーティングテーブル21において維持することによって該当リンクを維持する。また、各無線装置31〜43の情報維持手段205は、上述したように、ローカルリンク情報がOLSRプロトコルに従って構築される段階において、各無線装置31〜43に隣接する隣接無線装置(隣接無線装置集合)、隣接無線装置に更に隣接する無線装置(2ホップ隣接無線装置集合)、無線通信ネットワーク100における無線装置31〜43のトポロジー(配置状態)、およびMPRセレクタ集合を保持しているので、これらを維持する。そして、この発明においては、関連情報は、各無線装置31〜43に隣接する隣接無線装置(隣接無線装置集合)、隣接無線装置に更に隣接する無線装置(2ホップ隣接無線装置集合)、無線通信ネットワーク100における無線装置31〜43のトポロジー(配置状態)、およびMPRセレクタ集合の少なくとも1つから構成されていればよい。
そして、ステップS19またはステップS20の後、一連の動作は、図19に示すステップS3へ移行する。
なお、上述した図19に示すフローチャートおよび図20に示すフローチャートは、無線リンク毎に繰り返し実行される。そして、図19に示すステップS1が2回目以降に実行される場合、各無線装置31〜43の経路維持手段203は、ステップS1において、リンク導通確認期間LCTが終了した後に制御パケットを初めて受信したか否かを判定する。
上述した図20に示すフローチャートにおいて、ステップS14の“YES”→ステップS15→ステップS16の“YES”→ステップS18の“YES”を経てステップS20へ至る経路は、制御パケットを送信した無線装置から制御パケットを受信しなくても、その制御パケットを送信した無線装置から制御パケット以外のフレーム(=データパケット)を受信し、そのフレーム(=データパケット)の無線通信品質が基準品質を満たしているとき、その制御パケットを送信した無線装置との間の無線リンクを維持する経路である。即ち、この経路は、制御パケットを受信しなくても、安定した無線通信に用いられている無線リンクを救済する経路である。
また、図20に示すフローチャートにおいて、ステップS14の“NO”→ステップS17の“YES”→ステップS18の“YES”を経てステップS20へ至る経路、またはステップS14の“YES”→ステップS15→ステップS16の“NO”→ステップS17の“YES”→ステップS18の“YES”を経てステップS20へ至る経路は、無線通信に用いられていない無線リンクを救済する経路である。
このように、この発明においては、制御パケットを受信しなくても、一定条件下で無線通信に用いられている無線リンクまたは無線通信に用いられていない無線リンクを救済する。
従って、この発明によれば、無線リンクの切断を抑制できるとともに、無線リンクの切断による経路の切り替えを抑制できる。また、無線リンクが一度切断されると、その切断された無線リンクに関連する隣接情報およびトポロジー情報が無効になり、無線リンクの再構築に時間を要するが、この発明によれば、無線リンクの切断を抑制できるので、無線リンクの再構築が生じる割合を低減でき、安定した無線通信を行なうことができる。
更に、維持した無線リンクの関連情報(隣接情報およびトポロジー情報等)は維持されるので(ステップS20参照)、一旦、維持された無線リンクが、その後、切断されても、無線リンクを再構築するための関連情報は維持されているので、無線リンクの再構築を従来よりも短時間で行なうことができる。
更に、未使用の無線リンクも救済されるので(ステップS17の“YES”参照)、隠れ端末の存在により制御パケットが正常に受信されず、無線リンクが切断されるのを抑制できる。
図20に示すステップS14の“YES”→ステップS15→ステップS16の“NO”→ステップS17の“YES”→ステップS18の“YES”を経てステップS20へ至り、該当リンクが維持される場合としては、図13において、無線装置36が無線装置37からフレーム(=データパケット)をリンク導通確認期間LCT内に受信し(ステップS14の“YES”参照)、差分ΔRSSIがしきい値の範囲外であるとき(ステップS16の“NO”参照)、無線リンク36−37を維持する場合が想定される。このように、無線装置36は、フレーム(=データパケット)を受信するが、そのフレーム(=データパケット)を受信するときの無線通信品質が低いとき(=差分ΔRSSIがしきい値の範囲外であるとき)、無線リンク36−37を未使用リンクと見做して無線リンク36−37を救済する。従って、この発明においては、未使用リンクとは、切断されている無線リンク、または維持されているが、無線通信品質が低い無線リンクを言う。
更に、ステップS18において、無線リンクを維持する維持回数が基準回数以下であるか否かを判定するのは、維持している無線リンクのうち、切断したい無線リンクを検出するため、または真に切断されている無線リンクを検出するためである。
即ち、ステップS16においては、ステップS14においてリンク導通確認期間LCT内にフレームを受信したと判定された後に、ΔRSSIがしきい値の範囲か否かが判定されるので、維持回数に制限を設けない場合、リンク導通確認期間LCT内にフレームを受信し続ける限り、無線リンクは、何回でも維持される。そうすると、OLSR動作を停止した無線装置との無線リンクがずっと維持されることになる。そこで、これを防止するために、維持回数に制限を設けることにしたものである。
また、ステップS17においては、制御パケットおよびデータパケット等の何らかのパケットPKTを実際に受信しなくても、リンク導通確認期間LCT内に所定量の無線通信の送受信が正常に行なわれているとき、未使用リンクを救済すると判定されるので、維持回数に制限を設けない場合、実際には切断されている無線リンクを維持することになる。これでは、実際に切断されている無線リンクも救済してしまうため、これを防止して、真に切断されている無線リンクを検出するために、維持回数に制限を設けることにしたものである。
そして、基準回数は、例えば、無線通信ネットワーク100において、一定期間内に発生するパケットロスの平均回数に設定される。この一定期間内に発生するパケットロスの平均回数を超えて無線リンクが維持されるときは、その無線リンクにおいて制御パケットが送信先へ到達しないのは、パケットロスが原因ではなく、その無線リンクが真に切断されていると判定できるからである。従って、経路維持手段203は、一定期間内に発生するパケットロスの平均回数を計測する機能を有し、その計測したパケットロスの平均回数を基準回数として用いて維持回数が基準回数以下であるか否かを判定する。
なお、ステップS18における基準回数を、ステップS16の“YES”を経てステップS18へ至る場合の基準回数1(無線リンクを切断したい場合の基準回数)と、ステップS17の“YES”を経てステップS18へ至る場合の基準回数2(真に切断されている無線リンクを検出するための基準回数)とから構成してもよい。そして、基準回数1は、基準回数2と同じであっても、異なっていてもよい。
制御パケットを受信しなくても、データパケットを受信すれば、無線リンクを維持する効果を検証するために行なった実験について説明する。比較例として制御パケットの受信のみによって無線リンクを維持する従来のプロトコルを用いた。
実験においては、IEEE802.11bの無線方式が用いられ、無線伝送レートは、11Mbpsに固定された。そして、制御パケットは、5秒間隔でブロードキャストされ、トポロジー情報は、15秒間隔でブロードキャストされた。また、無線装置の配置は、1台の中継ノード(中継無線装置)を挟んで両側に5台づつの無線装置を配置し、両端の無線装置は、中継無線装置を経由せずには、直接、通信をできないようにした。データパケットとして、両端の無線装置間でG711によって規定されているVoIP(Voice over Internet Protocol)の1セッション相当のフロー(UDPペイロード372バイト、50msec間隔)を送受信できるようにした。これを5セッションまで増加させて、パケットエラー率、無線リンクの切断回数および制御パケットのエラー率について、この発明による方式と従来方式との比較を行なった。
表1は、5セッションを送受信したときの無線リンクの切断回数、データパケットのエラー率の最大値およびデータパケットのエラー率の10回の測定の平均値を示す。
パケットエラー率および無線リンクの切断回数は、セッション数を増やすに従って増加する。5セッションを送受信したときの無線リンクの切断回数は、この発明による方式が“0回”であり、従来方式が“3.5回”である。従って、この発明による方式では、無線リンクを切断することなく維持できている。
また、データパケットのエラー率は、従来方式では、最大75.05%であるのに対し、この発明による方式では、最大17.35%に抑えることができている。
従って、制御パケットを受信できなくても、データパケットの送受信に成功すれば、無線リンクを切断することなく維持することで、データパケットのエラー率を低く保つことができることを確認できた。
なお、図20に示すステップS16においては、フレーム(=データパケット)を受信したときの受信信号強度RSSInと、最も最近に受信したパケットの受信信号強度RSSIn−1との差分ΔRSSIがしきい値の範囲であるか否かを判定すると説明したが、この発明においては、これに限らず、ノイズレベルを考慮した信号対ノイズ比(SNR)から判定するようにしてもよいし、受信信号強度RSSInが安定した電波環境において送受信される電波の最小強度以上の強度を検出するための閾値WIth以上であるか否かを判定するようにしてもよい。
そして、ステップS16において、受信信号強度RSSInが安定した電波環境において送受信される電波の最小強度以上の強度を検出するための閾値WIth以上であるか否かを判定する場合、閾値WIthは、次の方法によって検出される。図1に示す無線装置36は、自己の周囲に存在する無線装置32,35,37,38,39から制御パケットを定期的に受信するので、無線装置32,35,37,38,39の各々から複数の制御パケットを受信する。そして、無線装置36の強度検出手段202は、無線装置32から複数の制御パケットを受信したときの複数の受信信号強度から最大値/最小値の組MAX[k],MIN[k](kは1≦k≦mを満たす整数、mは、無線装置36の周囲に存在する無線装置の個数)を検出する。無線装置36の強度検出手段202は、同様に、無線装置35,37,38,39の各々から受信する複数の制御パケットの複数の受信信号強度に基づいて、最大値/最小値の組を検出する。その結果、無線装置36の強度検出手段202は、m組の最大値/最小値MAX[1],MIN[1]〜MAX[m],MIN[m]を検出する。
そうすると、無線装置36の経路維持手段203は、強度検出手段202からm組の最大値/最小値MAX[1],MIN[1]〜MAX[m],MIN[m]を受け、その受けたm組の最大値/最小値MAX[1],MIN[1]〜MAX[m],MIN[m]をm個の最大値MAX[1]〜MAX[m]が大きい順または小さい順になるように並べ替えてm組の最大値/最小値D_MAX[1],D_MIN[1]〜D_MAX[m],D_MIN[m]を生成する。
そして、無線装置36の経路維持手段203は、m組の最大値/最小値D_MAX[1],D_MIN[1]〜D_MAX[m],D_MIN[m]を無線装置の数に対してプロットしたグラフを作成する。
そうすると、無線装置36の経路維持手段203は、隣接する2つの最大値D_MAX[j],D_MAX[j+1]間の差が最も大きくなるときの2つの最大値D_MAX[i],D_MAX[i+1]を検出し、その検出した2つの最大値D_MAX[i],D_MAX[i+1]に対応する2つの最小値D_MIN[i],D_MIN[i+1]を検出する。そして、無線装置36の経路維持手段203は、2つの最小値D_MIN[i],D_MIN[i+1]の平均=[(D_MIN[i]+D_MIN[i+1])/2]を閾値WIthとして検出する。
この検出された閾値WIthは、安定な電波環境において送受信される電波の最小強度以上の強度を検出するための閾値であるので、フレーム(=データパケット)を受信したときの受信信号強度RSSInが閾値WIth以上であれば、そのフレーム(=データパケット)は、安定な電波環境において受信されたことになる。従って、経路維持手段203は、ステップS16において、受信信号強度RSSInが閾値WIth以上であるか否かを判定することによって、フレーム(=データパケット)が安定な無線通信によって受信されたか否かを判定できる。
また、上記においては、制御パケットを正常に送信または受信したことに起因してリンク導通確認期間LCTが開始されると説明したが、この発明においては、これに限らず、リンク導通確認期間LCTは、制御パケット以外のデータパケット、RTSパケット、CTSパケット、ACKパケットおよび管理フレーム(beacon,probe)等の何らかのパケットPKTを正常に送信または受信したことに起因してリンク導通確認期間LCTを開始するようにしてもよい。
更に、上記においては、維持された無線リンクが救済の対象であることを示す広告を専用パケットPKT_Dに含めると説明したが、この発明においては、これに限らず、この広告を格納する領域を制御パケットに設けた拡張制御パケットを生成してもよい。従って、この発明における「専用パケット」は、上述した専用パケットPKT_Dまたは拡張制御パケットからなる。
更に、上記においては、テーブル駆動型のルーティングプロトコルを用いて無線通信を行なう場合に無線リンクを救済すると説明したが、この発明においては、これに限らず、AODV等のオンデマンド型のルーティングプロトコルを用いて無線通信を行なう場合にも、上述した方法によって無線リンクを救済するようにしてもよい。
更に、上記においては、レイヤー3のインターネット層でルーティングを行なう場合について説明したが、この発明においては、インターネット層以外の層がルーティングを行なう場合にも、上述した方法によって無線リンクを救済するようにしてもよい。
更に、この発明においては、リンク導通確認期間LCTは、「経路確認期間」を構成する。
更に、この発明においては、図19に示すステップS5において、ルーティングテーブル21を参照して新たな経路を探索する通信手段204は、「経路決定手段」を構成する。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
11 アンテナ、12 入力部、13 出力部、14 ユーザアプリケーション、15 通信制御部、16 無線インターフェースモジュール、17 MACモジュール、18 バッファ、19 LLCモジュール、20 IPモジュール、21,21A,21B,21C,21D,21E,21F,21G,21H,21J ルーティングテーブル、22 TCPモジュール、23 UDPモジュール、24 ルーティングデーモン、31〜43 無線装置、51〜63 アンテナ、70 経路メンテナンス手段、100 無線通信ネットワーク、201 記間設定手段、202 強度検出手段、203 経路維持手段、204 通信手段、205 情報維持手段。