(57)【特許請求の範囲】
【請求項１】
データの送受信を行う複数の無線端末を備えるアドホックネットワークにおけるアドホックネットワーク構築方法であって、
無線端末が、他の無線端末との間の無線リンクの安定状況を判定する判定ステップと、
前記無線リンクが安定と判定された場合に、前記無線端末が、ルーティングパケットを用いてルーティングプロトコルを実行させる実行ステップと、を備え、
前記判定ステップは、
前記無線端末が、判定された前記無線リンクの安定状況に基づき、最適通信レートを算出する算出ステップと、
前記無線端末が、算出された前記最適通信レート及び代替経路の有無に基づき、当該無線端末の通信レートを変更する変更ステップと、を備え、
前記変更ステップは、前記最適通信レートと現在の通信レートとを比較する比較ステップと、
前記最適通信レートが前記現在の通信レートを下回り、代替経路がない場合、前記無線端末が、通信レートを下げるステップと、を備えるアドホックネットワーク構築方法。
【請求項２】
請求項１に記載のアドホックネットワーク構築方法であって、
前記変更ステップは、
前記最適通信レートが前記現在の通信レートを上回る場合であって、かつ、最適通信レートの算出結果を管理する領域に記録された複数の通信レートの値が、前記領域に記録された複数の前記最適通信レートの全ての値が、無効値であること、又は、前記現在の通信レートの設定値より上であるという条件を満たす場合は、前記無線端末が、通信レートを上げるステップと、を備えるアドホックネットワーク構築方法。
【請求項３】
請求項１に記載のアドホックネットワーク構築方法であって、
前記変更ステップは、
前記最適通信レートが前記現在の通信レートを下回る場合に、前記無線端末が、ルーティング情報により代替経路の有無を判定する代替経路確認ステップと、
代替経路が有ると判定された場合に、前記無線端末が、ルーティングパケットを破棄するステップと、を備えるアドホックネットワーク構築方法。
【請求項４】
請求項３に記載のアドホックネットワーク構築方法であって、
前記代替経路確認ステップは、対象端末に対するホップ数が２以上である場合には、代替経路が有ると判定し、ホップ数が２以上でない場合には、代替経路が無いと判定し、代替経路が無いと判定された場合には、前記無線端末が通信レートを下げるステップであるアドホックネットワーク構築方法。
【請求項５】
データの送受信を行い、他の無線端末との間の無線リンクの安定状況を判定し、前記無線リンクが安定と判定された場合に、ルーティングパケットを用いてルーティングプロトコルを実行させる無線端末であって、
前記無線端末は、判定された前記無線リンクの安定状況に基づき、最適通信レートを算出し、算出された前記最適通信レート及び代替経路の有無に基づき、前記最適通信レートと現在の通信レートとを比較し、前記最適通信レートが前記現在の通信レートを下回り、代替経路がない場合、通信レートを下げることにより、当該無線端末の通信レートを変更する無線端末。
【請求項６】
データの送受信を行う複数の無線端末を備え、前記複数の無線端末は、他の無線端末との間の無線リンクの安定状況を判定し、前記無線リンクが安定と判定された場合に、ルーティングパケットを用いてルーティングプロトコルを実行させるアドホックネットワークシステムであって、
前記アドホックネットワークシステムは、前記複数の無線端末が、判定された前記無線リンクの安定状況に基づき、最適通信レートを算出し、算出された前記最適通信レート及び代替経路の有無に基づき、前記最適通信レートと現在の通信レートとを比較し、前記最適通信レートが前記現在の通信レートを下回り、代替経路がない場合、通信レートを下げることにより、当該無線端末の通信レートを変更するアドホックネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線通信を行う際の品質の良い通信経路を構築する技術に関する。
【背景技術】
【０００２】
無線ネットワークにおいて、ノード間で動的に無線マルチホップネットワークを構成するアドホックネットワークという技術がある。アドホックネットワークでは、各ノードがパケットの中継機能を持ち、各ノードの経路表にしたがいパケットを送信／転送することでマルチホップ通信を行う。無線マルチホップネットワークにおいて、隣接ノード間の無線リンクの検知はルーティングパケットの交換により行われるが、リンクの無線状態は周囲の状況やノードの移動によって変化しており、ルーティングパケットの交換では通信品質の良くないリンクを使用するという課題があった。これに対し、隣接ノード間のリンクの品質をビット誤り率より判別し、隣接ノードとのリンク検知を行う技術がある。（特許文献1参照）
また、IETF（Internet Engineering Task Force）にから公表されている技術文書RFC3626（非特許文献１）に示されるリンクの安定性判別方法にリンクヒステリシス方式がある。これはリンクの無線状態が取得できない場合に、ルーティングパケットが間欠的に到着するリンクの安定性を判別する方式である。
【０００３】
また、無線LANでは受信電波強度に閾値を設定することが可能であり、受信電波強度が閾値以下であるパケットは破棄する仕組みが存在する。
【０００４】
一方で、無線の通信方式が複数の通信レートに対応している場合があり、特定のレートに固定して通信を行うと、潜在的な帯域を利用できなかったり（低レートで通信した場合）、電波状態の悪い無線リンクでは通信が不安定になったり（高レートで通信した場合）するという課題があった。これに対し、データを送信する無線端末が、通信のエラー率により通信レートを動的に変更するARF（Auto Rate Feedback）という方式があり（非特許文献２）、無線LANでは標準で組み込まれている。また、RTSパケットを受信した無線端末が受信電波の信号対雑音比をもとに通信レートを決定し、CTSパケットにより送信端末に通信レートを指示する方式も存在する。（非特許文献３）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2005-523619号公報
【非特許文献】
【０００６】
【非特許文献１】T. Clausen, P. Jacquet, “Optimized Link State Routing Protocol     (OLSR)” 2003/10
【非特許文献２】A. Kamerman and L. Monteban, “WaveLAN-II: A high-performance     wireless LAN for the unlicensed band,” Bell Labs Technical Journal, pp. 118-    133, Summer 1997
【非特許文献３】G. Holland, N. Vaidya and P. Bahl, “A Rate-Adaptive MAC Protocol     for Multi-Hop Wireless Networks,” Proc. Of ACM MOBICOM, Rome, July 2001.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、アドホックネットワークの構築にIETFにおいて標準化されているプロトコルを使用することが考慮されていないため、ルーティングプロトコルを設計する必要があり、標準プロトコルとの相互接続性がないという課題があった。
【０００８】
非特許文献１のリンクヒステリシス方式は、定期的にルーティングパケットが到着している場合、安定したリンクと判定しており、電波状態の変化が考慮されていない。
【０００９】
無線LANにおいて受信電波強度に閾値を設定した場合、ユーザーデータのパケットが受信ノードにおいて受信できていても、電波強度が閾値を下回ると破棄されてしまいパケットの損失につながっていた。
【００１０】
非特許文献２のARFは、通信エラー率により通信レートを制御するため、実際にエラーが発生してからでないと適応できないという遅延の問題があった。また、通信が連続して成功すると通信レートを上げるため、頻繁に通信レートが変更され通信が安定しなかった。
【００１１】
非特許文献３のRBARは、送信直前の電波状態をもとに通信レートを設定することができるため、安定した高レート通信を提供することができると考えられるが、無線LANの規格である802.11と異なるプロトコルになるため、標準プロトコルとの相互接続性がないという課題があった。
【００１２】
本発明の目的は、標準プロトコルとの相互接続性を保ったまま、電波の状態を鑑みたノード間の安定なリンク検知を行い、ユーザーデータのパケット損失減少かつスループット向上を実現させるアドホックネットワーク構築方法、プログラム、無線端末を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明においては、複数の無線端末が送受信するデータを中継する無線端末において、アドホックネットワークを構築するためのルーティングパケットをルーティングプロトコルのソフトウェアが処理する前に、送信元である無線端末との間の隣接ノード間リンクの安定判断を行い、安定と判断された場合にのみ、ルーティングプロトコルのソフトウェアがルーティングパケットを処理するよう構成することで、安定な隣接ノード間リンクのみを使用して経路を構築するアドホックネットワーク構築方法を提供する。また、無線の通信方式が複数の通信レートに対応していた場合は、上記無線リンクの安定判断で安定と判断された際に、その安定度によって通信レートを動的に変更することにより、安定かつスループットの高いアドホックネットワーク構築方法を提供する。
【００１４】
また、本発明においては、無線通信インターフェース部と記憶部とこれらと電気的に接続された処理部とから構成され、他の無線端末からのデータを中継する無線端末の処理部において実行されるプログラムとして、無線リンクの安定状況を判断するステップと、無線リンクが安定と判断した場合に、ルーティングパケットを用いてルーティングプロトコルを実行させるステップと、通信レートを設定するステップからなるアドホックネットワーク構築プログラムを提供する。
【００１５】
更に、本発明においては、他の無線端末からのデータを中継する無線端末であって、無線通信インターフェース部と、隣接ノード間の無線リンクの安定状況を測定する安定化プログラムとルーティングパケットを用いて経路を構築するルーティングプロトコルとを記憶する記憶部と、記憶部に記憶された安定化プログラムとルーティングプロトコルとを実行する処理部とからなり、この処理部は、安定化プログラムを実行し、その結果、隣接ノード間の無線リンクが安定と判断した場合に、ルーティングパケットを用いてルーティングプロトコルを実行する無線端末を提供する。
【００１６】
なお、無線リンクの安定状況を判断するにあたっては通信品質を測定するが、好適には電波強度をこの通信品質の評価値と用いるが、これに限定することなく、信号対雑音比、ビット誤り率等を評価値として用いても良い。また、無線リンクの安定性を判断するために、好適にはルーティングパケットを用いると良いが、ルーティングパケット以外のパケットで行っても構わない。ルーティングパケット以外のパケットには例えば無線LANのコントロールパケットであるビーコンパケットやユーザーデータの通信パケット等があり、これらパケットの一部もしくは全てを使用することも可能である。
【００１７】
更に、このようにして求められた通信品質の評価値に従い、リンク品質値を決め、このリンク品質値が設定された閾値を上回った場合にリンク有効設定を行い、リンク品質値が他の閾値を下回った場合にリンク無効設定を行うよう構成し、リンク有効設定の場合にのみ、ルーティングパケットを受信してルーティングプロトコルへ渡し、リンク無効設定の場合にルーティングパケットを破棄するよう構成することもできる。
【発明の効果】
【００１８】
本発明によれば、アドホックネットワークにおいて標準プロトコルとの相互接続性を保ち、高品質かつ高スループットの得られる通信経路を構築することができる。
【図面の簡単な説明】
【００１９】
【図１】第一の実施例のネットワーク安定化システムを説明するための図。
【図２】第一の実施例の安定化方式のレイヤー構造を示す図。
【図３】第一の実施例の安定化アルゴリズム１の処理フロー図。
【図４】第一の実施例の無線リンクの電波強度の変化の例を示す図。
【図５】第一の実施例のリンク品質の変化の例を示す図。
【図６】第一の実施例の安定化アルゴリズム２の処理のフロー図。
【図７】第一、第二の実施例の無線端末のハードウェアの構成例を示す図。
【図８】第一の実施例の無線端末のリンクテーブルの例を示す図。
【図９】第二の実施例のアドホックネットワーク構成の例を示す図。
【図１０】第二の実施例の無線端末のリンクテーブルの例を示す図。
【図１１】第一、第二の実施例における安定化ソフトウェアによるルーティングパケ    ットの特定方法を説明するための図。
【図１２】第三の実施例のアドホックネットワーク構成の例を示す図。
【図１３】第三の実施例の通信レートと電波強度閾値の対応表の例を示す図。
【図１４】第三の実施例の図１２における無線リンクの受信電波強度の例を示す図。
【図１５】第三の実施例の安定化アルゴリズム３の処理のフロー図。
【図１６】第三の実施例の図１２における通信レート設定例を示す図。
【図１７】第三の実施例の図１２における高いスループットが確保可能な通信レート    設定例を示す図。
【図１８】第三の実施例の安定化アルゴリズム４の処理において安定化アルゴリズム    ３からの追加処理分を示す図。
【図１９】第三の実施例の安定化アルゴリズム３における無線端末のリンクテーブル    の例を示す図。
【図２０】第三の実施例の安定化アルゴリズム４における無線端末のルーティングテ    ーブルの例を示す図。
【図２１】第三の実施例の安定化アルゴリズム４における無線端末のルーティングテ    ーブルの例を示す図。
【発明を実施するための形態】
【００２０】
以下、本発明の具体的な実施例を図面を用いて説明する。
【実施例１】
【００２１】
図1は本発明のアドホックネットワークにおけるネットワーク安定化方式の第一の実施例を説明するための図である。
図１において、無線端末1−3は、互いに通信可能であるが、端末1と端末3との間は電波強度が弱い、もしくは、パケット損失率が高い不安定な無線リンク4で結ばれており、端末1と端末2の間は電波強度が高い、もしくはパケット損失率が低い安定した無線リンク5で、端末2と端末3との間は電波強度が高い、もしくはパケット損失率が低い安定した無線リンク6で結ばれている。
【００２２】
無線端末１−３のハードウェア構成の一実施例を図７に示す。同図で700は各無線端末１−３を示す。無線端末700は、処理部（CPU）701、記憶部（メモリ）702と無線通信インターフェース部（無線ＬＡＮＩ／Ｆ）703を具備しており、無線ＬＡＮＩ／Ｆ703はアンテナ704と接続している。無線端末700は無線LANＩ／Ｆ703とアンテナ704を用いてパケットの送受信を行うことができる。本実施例では、無線端末700において、無線通信インターフェース部は１つしか装備していないが複数装備することも可能である。
【００２３】
以下の説明における各無線端末700の処理は、上記CPU701がメモリ702に格納されているプログラムを実行することにより、実現されるものである。プログラムは、あらかじめ、メモリ702に格納されていても良いし、当該端末700が利用可能な、着脱可能な記憶媒体、または通信媒体（有線、無線、光などのネットワーク、または当該ネットワーク上の搬送波やデジタル信号）を介して、必要に応じてメモリ702に導入されてもよい。
【００２４】
一般に、アドホックネットワークにおいて、上述した無線リンクの検知はルーティングパケットの中のＨＥＬＬＯメッセージと言われるパケットの交換により行われる。ＨＥＬＬＯメッセージの交換が、図１に示す不安定な無線リンク4を介して行われると、ルーティングプロトコルにおいて無線端末1と無線端末3間で直接通信することが可能と判断され、無線端末1から無線端末3へ送られるパケットは不安定な無線リンク４を使用して行われる。
【００２５】
このためパケットの損失が起こる可能性が高く通信品質が劣化することになる。本実施例では、まず不安定な無線リンク4をルーティングパケットを用いて検知し、不安定な無線リンクを通信経路として使用可能な無線リンクから排除する。つまり、無線端末1から無線端末3へ送られるパケットは、安定な無線リンク5を介し無線端末2に送られ、無線端末2は安定な無線リンク6を介しパケットを無線端末3へ転送することで、パケット損失率の高い無線リンク４を通らず、高い通信品質を保つことが可能となる。
【００２６】
図2は本実施例のレイヤー構造を示す。なお、本実施例では無線端末間通信で使う通信を無線ＬＡＮとして説明するが、通信方式は無線端末間で通信することができればよく、無線ＬＡＮによる無線通信に限定するものではなく、赤外線通信などの無線通信であっても良い。
【００２７】
さて、無線端末21、22の中にルーティングプロトコル23、26が実装され、ルーティングプロトコルは無線ＬＡＮ25、28を介しルーティングパケットを交換する。本実施例において、交換されるルーティングパケットはルーティングプロトコル23、26に渡される前に、安定化ソフトウェア24、27に渡され、無線端末21と無線端末22の間の無線リンクの安定状況を安定化ソフトウェア24、27で判断し、安定と判断されたパケットがルーティングプロトコル23、26に渡される。例えば、無線端末21から送信されたルーティングパケットは、無線端末21の無線ＬＡＮ25より送信され、無線端末22の無線ＬＡＮ28により受信される。受信されたパケットは安定化ソフトウェア27に渡され、安定化ソフトウェアは受信したルーティングパケットの送信元である無線端末21との無線リンクの通信品質により、安定もしくは不安定の判断を行い、安定と判断されたパケットはルーティングプロトコル26へと渡される。
【００２８】
ルーティングプロトコル23からのパケットの流れを番号29に示す。ルーティングプロトコル26からのルーティングパケットも同様に無線端末21の安定化ソフトウェア24により安定もしくは不安定の判断を行い、安定と判断されたルーティングパケットのみルーティングプロトコル23に渡される。ルーティングプロトコル23、26の前に、安定化ソフトウェア24,27をはさむことで、不安定な無線リンクを経由するルーティングパケットをルーティングプロトコル23、26が受信することがなくなり、ルーティングプロトコル23、26により構築される通信経路に不安定なリンクが含まれない。また、安定化ソフトウェア24、27に送られるパケットは、本実施例においては、ルーティングパケットのみであり、その他の通信パケットは安定化ソフトウェア24、27に送られない様に構成する。
【００２９】
なお、先にも述べたように、無線ＬＡＮにおいて、設定された電波強度が閾値以下のパケットを破棄することも可能であるが、これは全ての通信パケットに適用されてしまい、ルーティングプロトコル以外のユーザーデータの通信パケットの損失につながる。なお、ルーティングプロトコルより送信されるルーティングパケットは無線ＬＡＮより送信される前に、安定化ソフトウェアで処理される必要はないことは言うまでも無い。
【００３０】
さて、本実施例におけるルーティングパケットの特定方法は例えば次のよう構成する。すなわち、ルーティングパケットは、図１１に示すUDPヘッダB01内の宛先ポート番号B02を用いて識別可能になる。例えばOLSRであれば698がIANA（Internet Assigned Number Authority）により割当られており、他のプロトコルやユーザーデータのパケットと識別可能である。
【００３１】
このルーティングパケットをルーティングプロトコルに渡す前に安定化ソフトウェアに渡す方法の一例として、無線端末２１、２２などの各ノードのオペレーティングシステムがLinuxであった場合には、netfilter project、[online]、[2006年6月27日検索]、インターネット<URL; http://www.netfilter.org/>より提供されているソフトウェアiptablesを使用することにより可能となる。iptablesにおいて、指定したルールにマッチする受信パケットをユーザー空間に受け渡すことが可能である。ルーティングパケットをマッチするために、プロトコルにUDPを指定し、宛先ポートに698を指定することでOLSRのルーティングパケットのみをユーザー空間に受け渡す。本実施例における安定化ソフトウェア24、27では、受け渡されたパケットを受信するためのソケットを用意することでiptablesがマッチさせたパケットを受信することが可能となる。なお、ソケットもnetfilter projectより提供されているライブラリlibipqを使用することで可能である。更に、安定化ソフトウェア24、27にて、iptablesより渡されたパケットをルーティングプロトコルに渡す、もしくは、破棄するといった操作もlibipqを使用することで可能である。
【００３２】
次に、図3に本実施例の安定化ソフトウェア２４、２７における電波強度を用いた安定判定アルゴリズム１を示す。安定を判断する閾値はあらかじめ設定されているとする。ルーティングパケットを受信したとき(301でyes)、前記ルーティングパケットの送信元との電波強度が安定閾値以上であるか調べ、安定閾値以上(302でyes)の場合、パケットを通過(303)させルーティングプロトコルにパケットを渡す。前記電波強度が安定閾値以下(302でno)の場合、パケットは破棄(304)されルーティングプロトコルにパケットを渡さない。
【００３３】
電波強度の取得方法の一例はオペレーティングシステムがLinuxである場合、Wireless Tools for Linux、[online]、 [2006年6月27日検索]、インターネット<URL; http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>というソフトウェアに含まれるiwspyというソフトウェアで送信元MACアドレスを指定することで取得可能である。またiwspyが使用しているライブラリlibiwを使用して安定化ソフトウェアに電波強度を取得する関数を実装することも可能である。
【００３４】
図3に示す安定判定アルゴリズム1で不安定なリンクを排除することが可能となるが、設定した無線端末間の無線リンクの電波強度が設定した閾値に近い場合、前記無線リンクの電波強度が時間により揺らぐために、受信したルーティングパケットの安定、不安定判定が揺らぎ、ルーティングパケットを通過させたり、破棄したりしパケットの間欠的な到着が起こる。これにより通信経路の頻繁な変更が発生しパケット損失の可能性がある。
【００３５】
なお、上述したOLSRのリンクヒステリシス方式では無線リンクの使用可否をリンク品質とリンク有効フラグで判断する。リンク品質には上位閾値と下位閾値が設定されており、ルーティングパケットが到着するとリンク品質が上昇する。リンク品質が上位閾値を上回るとリンク有効フラグが設定される。一方、ルーティングパケットの到着時刻になってもルーティングパケットが到着しない場合は、リンク品質が下がる。リンク品質が下位閾値を下回るとリンク有効フラグが取り消される。リンクが有効な期間はリンク有効フラグが設定されている間のみとなる。このリンクヒステリシス方式では、無線端末が移動するなどして無線リンクの状態が良くなった場合にもリンクが有効になるまでリンク品質が上位閾値を上回るまでルーティングパケットが連続して到着する必要があり、リンクが有効になるまで時間がかかる。また、移動などにより無線リンクの状態が悪くなった場合にも、リンク品質が徐々に下がるためリンクが無効になるまで時間がかかり、通信経路として不安定なリンクを使用することになる。
【００３６】
これに対し、ルーティングパケットの受信の際の受信電波強度によりリンクの品質の上昇率を変化させることで、無線リンクの状態が移動などにより良くなった場合にリンクが有効になるまでの時間を短縮することが可能となる。移動等により、無線リンクの状態が悪くなった場合、ルーティングパケットを受信しても電波強度によりリンク品質を下げることを行い、さらに電波強度によりリンク品質の下降率を変化させることで、リンクを無効にする時間を短縮することが可能となり、不安定なリンクを通信経路として使用する時間が短縮出来る。これを安定化アルゴリズム２とする。また、各無線端末では無線リンクの状態をリンクテーブルとして保持する。無線端末１のリンクテーブルの例を図８に示す。
【００３７】
列801に対向する無線端末のＭＡＣアドレスもしくはＩＰアドレスなど対向する無線端末の送信インターフェースを特定する情報を格納する。列802には対向する無線端末からのルーティングパケットを受信する無線ＬＡＮインターフェースを格納する。列803に現在のリンク品質を格納し、列804にリンク有効フラグを格納する。リンクが有効であれば１をセットし、リンクが無効であれば０をセットする。列805にタイムアウトまでの残り時間を格納する。行806に無線端末２との間のリンク情報を格納し、行807に無線端末３との間のリンク情報を格納する。
【００３８】
次に、上述した安定化アルゴリズム２を、図４、図5を用いて説明する。
【００３９】
図4の縦軸410は電波強度を示し、横軸411は時刻を示す。曲線404は時間による無線リンクの電波強度を示している。ルーティングパケットの受信した時点の電波強度を点405−409で示し、時刻をt1-t5で示す。リンク品質の上昇率の変化を2段階に設定する。受信電波強度が通常閾値402以上の場合リンク品質が上昇する。さらに上位閾値401以上の場合、リンク品質が最高値になるとする。受信ルーティングパケットの電波強度が通常閾値を下回る電波強度の場合、リンク品質が下降する。さらに下位閾値403を下回る場合、リンク品質は最低値に設定する。
【００４０】
図5の縦軸501はリンク品質を示し、横軸502は時刻を示す。リンクの品質は0−1の範囲の値で示し、1が最高値508であり、0が最低値502であるとする。リンク品質が上位閾値509を上回ると、リンク有効フラグが設定される。リンク品質が下位閾値510を下回るとリンク有効フラグが解除される。リンク品質の初期値503は0.5であるとする。ルーティングパケットの到着によるリンク品質の変化を説明する。時刻t1では電波強度405が上位閾値以上であるために、リンク品質を最高値まであげ、リンク有効フラグが設定されルーティングパケットを通過させる。時刻t2にでは電波強度406は通常閾値以上であるので、リンク品質を上昇させるがリンク品質はすでに最高値であるためにリンク品質は最高値505であるとする。時刻t3では電波強度407は通常閾値以下であるので、リンク品質をさげる。下降率は任意に設定できるが、ここではリンク品質の30%下がるとする。このときにリンク品質は1であるので、下降後のリンク品質は0.7とする。
【００４１】
リンク品質は上位閾値を下回るがリンク有効フラグが設定されているため、ルーティングパケットは通過させる。時刻ｔ4では電波強度408は下位閾値以下であるので、リンク品質を最低値までさげ0とする。このとき、リンク品質は下位閾値を下回るのでリンク有効フラグを解除し、ルーティングパケットを破棄する。時刻t5では電波強度409は通常閾値以上、上位閾値以下であるため、設定した上昇率に従いリンク品質を上昇させる。上昇率も任意に設定できるが、ここでは一定で0.4あがるとする。他には新しいリンク品質＝リンク品質×上昇率＋定数とすることも可能である。時刻ｔ5ではリンク品質は上位閾値を上回っておらずリンク有効フラグも設定されていないため、ルーティングパケットは破棄する。このアルゴリズムに従うと、時刻t1-t3のルーティングパケットは通過させ、時刻t4,t5のルーティングパケットは破棄される。
【００４２】
次に、図6に安定化アルゴリズム２のアルゴリズムのフローチャートを示す。601〜621はフローチャートの各ステップを示している。
【００４３】
リンクの品質を低下させる要因に電波強度が通常閾値より低いルーティングパケットが到着することに加え、ルーティングパケットの損失を考慮しルーティングパケットが設定時間内に到着しない場合はリンクの品質をさげるタイムアウトを考慮する。リンクテーブルの列805の残り時間がなくなりルーティングパケットのタイムアウトが発生(601でyes)すると、当該リンクのリンク品質803を低下させ（603）、リンク品質の下位閾値を下回る(604でyes)と、リンク有効フラグ804を解除しリンクを無効にする（605）。リンク品質803がリンク品質の下位閾値を下回らない場合(604でno)、リンク有効フラグ804は変化させず、ステップ601に戻る。ルーティングパケットのタイムアウト前に(601でno)ルーティングパケットを受信した場合(602でyes)、リンクテーブルに送信元と受信インターフェースが一致する当該リンク情報があるかチェックし(620)、リンク情報がなかった場合(620でno)はリンクテーブルにリンク情報を追加する(621)。リンクテーブルにリンク情報があった場合(620でyes)、当該無線リンクの電波強度を調べ電波強度が上位閾値以上(606でyes)であれば、リンク品質803を最高値の1に設定し(608)、リンク有効フラグ804を設定する（619）。
【００４４】
電波強度が上位閾値を下回っており(606でno)、さらに下位閾値も下回っていれば(607でyes)リンク品質803を最低値の0に設定し、リンクの有効フラグ804を解除しリンクを無効に設定(616)し、受信したルーティングパケットは破棄する(617)。電波強度が下位閾値を下回っておらず(607でno)、通常閾値以上の(609でyes)場合、リンク品質803を上昇させる(610)。リンク品質が上位閾値以上(611でyes)であれば、リンク有効フラグ804を設定する(619)。リンク品質が上位閾値を下回っていれば(611でno)、設定されているリンク有効フラグ804をチェックし(614)、リンク有効であれば(614でyes)パケット通過(618)、リンク無効であれば(614でno)パケットを破棄する（617）。電波強度が通常閾値を下回っていれば(609でno)、リンク品質を低下させ(612)、リンク品質803が下位閾値を下回っていないかチェックする(613)、リンク品質803が下位閾値以下であれば(613でyes)、リンクを無効に設定し(616)、パケットを破棄する(617)。リンク品質803が下位閾値以上(613でno)であれば、リンク有効フラグ804をチェックし(614)、リンク有効であれば(614でyes)パケット通過(618)、リンク無効であれば(614でno)パケットを破棄する(617)。
【００４５】
以上によりアドホックネットワーク内から不安定な無線リンクを排除し、パケット損失の少ない安定した通信経路の構築が可能となり、頻繁な経路の変更によるパケットの損失を減らすことが可能となる。また、無線端末が移動した場合、通信が断絶するまえに通信の劣化を検知し、新しい通信経路に切り替えることが可能となるため通信切り替え時のパケットの損失を減らすことが可能となる。
【実施例２】
【００４６】
アドホックネットワークを構成するすべての無線端末に前記安定化方式を採用することができない場合がある。例えば、無線端末が無線電波強度を取得することが出来ない場合や、無線端末のオペレーティングシステムにルーティングパケットをルーティングプロトコルに渡す前に安定化ソフトウェアに渡す機能が実装されていない場合などである。また、OLSRでは無線端末毎にWillingnessという値を設定することが可能であり、Willingnessの値により、通信経路における中継端末へのなりやすさを変更することが可能である。
【００４７】
そのため、安定化方式が使用できる端末とできない端末でWillingnessの値を変更し、Willingnessにより中継端末へのなりやすさを変更することにより、パケット損失の少ない安定した経路を選ぶことが可能となる。
【００４８】
図9を用いて安定化方式が使用できる無線端末と使用できない無線端末が混在してアドホックネットワークを構築する場合の経路選択方法を第二の実施例として説明する。無線端末901−905がアドホックネットワークを構成している。無線端末903は上述してきた安定化方式を使用することが可能な端末で、他の無線端末は安定化方式が使用していないとする。無線端末901と無線端末902は無線リンク906で通信可能であり、無線端末902と無線端末904は無線リンク908で通信可能である。無線端末904と無線端末905は無線リンク910で通信可能であるとする。通信経路として使用される無線リンクは通信可能な無線端末双方で有効な無線リンク、いわゆる両方向リンクである場合、安定化方式を使用している無線端末903と安定化方式を使用していない無線端末902、905との間の無線リンク907、909は無線端末903の安定化方式により安定と判断している無線リンクであれば安定した両方向無線リンクである。無線リンク907、909が無線端末903の安定化方式により安定と判断していない無線リンクであれば、無線端末903で受信された無線端末902、905からのルーティングパケットは破棄されるため、両方向リンクは確立されず、無線リンク907、909は通信経路として使われることはない。このため、一つの無線リンクの安定性を判断するためには無線リンクの両端の無線端末のどちらかにおいて、安定化方式が使用できれば無線リンクの安定性を判断することが可能である。
【００４９】
図9において無線リンク907、909は信頼できる安定した無線リンクであり、無線リンク906、908、910は安定性が不明な無線リンクである。無線端末903のWillingness値を上げ、中継装置のなりやすさを安定化方式を使用していない無線端末より上げておくことにより、安定した無線リンクと安定性が不明な無線リンクが通信経路の候補にあった場合、安定した無線リンクを選択するようになり、パケットの損失を減らすことが可能である。
【００５０】
安定化方式を使用するとリンク品質の良くない不安定なリンクの受信ルーティングパケットを破棄するため無線端末の通信範囲が狭くなるという課題がある。アドホックネットワークにおいて、安定なリンクのみを使用して全ての無線端末との間に通信経路が構築できればよいが、必ずしもそうでない場合もある。例えば図9において、無線端末901−905で安定化方式を使用しているとし、無線リンク906が不安定リンクであったとする。このとき無線端末901はどの無線端末とも無線リンクを確立することができず、他の無線端末と通信することができない。このとき、無線端末901と無線端末902において、無線リンク906に関する電波強度の閾値を下げることにより、無線リンク906を通信経路として使用し無線端末901との通信が可能となる。無線端末902において、すべての無線リンクに関する電波強度の閾値を下げてしまうと、他の無線リンク907、908の前記閾値も下がってしまい不安定なリンクを通信経路で使用する可能せいがある。これを防ぐために、前記閾値を下げるのは、他に通信経路が存在しない無線リンクのみとすることで通信経路の安定性を保つ。
【００５１】
無線端末901との通信を可能とする方式を図9と図10を用いて説明する。図10は図8のリンクテーブルを拡張したものである。列A06に電波強度の上位閾値を格納し、列A07に電波強度の通常閾値を格納する。さらに列A08に電波強度の下位閾値を格納する。
【００５２】
図10は無線端末902のリンクテーブルの例である。行A09に無線リンク907の情報が格納されており、行A10に無線リンク908の情報が格納されている。行A11に無線リンク906の情報が格納されている。
【００５３】
ルーティングプロトコルによって構築された通信経路は各無線端末のルーティングテーブルに記載されている。無線端末902において、無線端末901からのルーティングパケットを受信したとき、無線端末902のルーティングテーブルをチェックし、ルーティングパケットの送信元である無線端末901のアドレスがルーティングテーブルに記載されていない場合、無線端末901は代替経路が存在しない無線端末と考えられるので行A11の通常閾値と下位閾値を下げる。これにより、無線端末901からのルーティングパケットはルーティングプロトコルに渡される。同様に無線端末901においても、無線端末902からの受信ルーティングパケットに対する通常閾値と下位閾値をさげることによって、ルーティングプロトコルにルーティングパケットが渡され、双方向リンクが確立することが可能となり通信経路が構築され、通信が可能となる。通常閾値と下位閾値をさげたままにしておくと、無線端末901と無線端末902の間に別の無線端末を介する安定な代替経路が使用可能になっても、不安定な直接リンクを通信経路として選択する可能性があるため一度引き下げられた通常閾値と、下位閾値は設定した時間を経過すると元の設定された閾値に戻る。
【００５４】
このとき直接リンクが安定リンクではない場合、ルーティングテーブルより無線端末９０１宛の経路は一旦削除されるが、安定した代替経路が存在する場合は、通信経路が安定な通信経路に切り替えることが可能となり、ルーティングテーブルに再度登録される。この後、無線端末９０１とのリンクが不安定なまま無線端末９０１からのルーティングパケットを受信した場合には、無線端末９０１はすでにルーティングテーブルに記載されているので、通常閾値と下位閾値をさげることなく、ルーティングパケットを破棄する。
【００５５】
なお、第二の実施例のリンクの安定性判定において、第一の実施例で説明した図6に示すアルゴリズムを使用することも可能であるし、図3に示すアルゴリズムを使用することも可能であることは言うまでもない。
【００５６】
また、第一、第二の実施例では、無線リンクの安定性の判断を、ルーティングパケットを使用して行ったが、無線リンクの安定性の判断をルーティングパケット以外のパケットで行っても構わない。ルーティングパケット以外のパケットには例えば無線LANのコントロールパケットであるビーコンパケットやユーザーデータの通信パケット等があり、無線リンクの安定性の判断にはこれらパケットの一部もしくは全てを使用することが可能である。受信もしくは破棄の対象となるパケットは、無線リンクの安定性の判断をルーティングパケット以外のパケットで行う場合でも、ルーティングパケットのみであり、処理は第一の実施例で説明した方法と同様にiptablesを使用し、安定化ソフトウェアに送りlibipqを使用し受信もしくは破棄の処理を行う。
【００５７】
例えば、図3における処理302の際に参照する電波強度をルーティングパケットの電波強度ではなく、参照する直前に受信した無線LANのビーコンパケットもしくはユーザーデータのパケットなどの電波強度とすることが可能である。また、図6で示される安定化判断アルゴリズムにおいても、ルーティングパケット以外のパケットを用いることが可能である。処理601と処理602において、無線LANのビーコンパケットとユーザーデータパケットのどちらか一方もしくは両方を使用しても構わない。
【実施例３】
【００５８】
第三の実施例では、無線の通信方式が複数の通信レートに対応していた場合のネットワーク安定化方式を、図１２を用いて説明する。
【００５９】
図１２において、無線端末C01-C06でアドホックルーティングプロトコルが動作している。無線リンクC07-C13で通信が可能であるが、無線リンクC07とC13は受信電波強度が低い。
【００６０】
アドホックネットワーク上でより高いスループットを得るためには、より高いレートで通信を行うようにすればよい。ところが、一般的に、同一の通信チャネルを使用した場合、通信レートの高い方が雑音に対して弱くなるため、低レート通信で安定して通信できる範囲に比べ、高レート通信で安定して通信できる範囲は狭くなる。上述した安定化アルゴリズムの閾値調整により、高レート通信においても安定した通信経路を確保することは可能であるが、通信範囲が狭まるため、実施例２でも述べたようにアドホックネットワークが分断されてしまう可能性がある。例えば、図１２で受信電波強度が十分にない無線リンクC07やC13が削除されると、無線端末C01-C03と無線端末C04-C06が相互に通信できなくなる。また、他に通信経路が存在しない不安定な無線リンクの閾値を選択的に下げることで接続性を保ち、ネットワークの分断を防ぐこともできるが、不安定な無線リンク上で高レート通信を行うと、エラー率が高くなり通信を正常に行えない可能性がある。
【００６１】
そこで、安定化ソフトウェアは、受信したルーティングパケットの送信元である無線端末との無線リンクの通信品質により、当該無線リンクを安定した通信が可能な最大の通信レートに設定する。安定化ソフトウェアは、図１３に示すような無線の通信レートと電波強度の閾値の対応表を内部的に持つ。ルーティングパケットを受信した際は、当該無線リンクの電波強度が対応表の閾値を超える最大の通信レートに設定する。例えば、図１２の各無線リンクの電波強度が図１４のようになっていた場合、無線リンクC08-C12では11Mbpsの通信レートに設定され、無線リンクC07とC13はそれぞれ5.5Mbps、2Mbpsに設定される。ここでは各通信レートにつき一つの固定的な閾値を持つものとして扱っているが、先に述べたように上位閾値・下位閾値の複数閾値による判断や、閾値の動的な設定も可能である。また、既存の無線LANドライバでは、無線リンクごとに通信レートを設定することはできず、一つの無線インターフェースで共通の通信レートを設定するしかないことが多い。無線リンクごとに通信レートを設定できない場合は、各無線インターフェースの通信レートを、構成している無線リンクの通信レートの最小値に設定する。先の例では、無線端末C02では、11Mbpsの無線リンクC09、5.5Mbpsの無線リンクC07、2Mbpsの無線リンクC13を有しているので、無線端末C02の無線インターフェースの通信レートは2Mbpsに設定されることになる。これを安定化アルゴリズム３とする。
【００６２】
図１５に安定化アルゴリズム３のフローチャートを示す。F01-F14はフローチャートの各ステップを示している。
【００６３】
ルーティングパケットのタイムアウトの監視（F01）からリンクテーブルの作成までの処理（F01-F04）は、上述した安定化アルゴリズム２の処理（図６）とほぼ同じであり、異なるのは電波強度の閾値判定以降の処理である。無線インターフェースの通信レートを決定する際に、各無線リンクの最適な通信レートが必要となるので、無線リンクの状態を管理するリンクテーブルに最適通信レートの算出結果を管理する領域を追加する。本アルゴリズムにおいて、閾値判定のフェーズに入ると、まず電波強度が最低レート通信の閾値を超えているかどうかを調べ（F05）、もしも閾値以下だったら（F05でno）算出レートを無効値にセットし（F07）、パケットを破棄する（F14）。ルーティングパケットのタイムアウトが発生した場合（F01でyes）も、同じ処理が施される。最低レートの閾値を超えていた場合は（F05でyes）、通信レートと電波強度閾値の対応表から最適な通信レートを算出し、当該リンクテーブルに記録する（F06）。次に、記録した算出レートと現在の無線インターフェースの通信レートを比較し（F08,  F10）、算出レートの方が下だった場合は（F08でnoかつF10でyes）、通信レートを下げる（F12）。一方、算出レートの方が上だった場合は（F08でyes）、全リンクテーブルの算出レートをチェックしてすべてが無効値であるか設定値よりも上だったら、通信レートを上げる。そして、閾値判定及び通信レート設定のステップが終了したら、このパケットを通過させる（F13）。
【００６４】
図１２において具体例を示す。図１９は、各無線リンクの電波強度が図１４のようになっていた場合に図１３の閾値表に従って構築された、無線端末C02のリンクテーブルを表している。図８で示した安定化アルゴリズム２におけるリンクテーブルに対して、この安定化アルゴリズム３のリンクテーブルでは、最適通信レートの算出結果を記録する領域が追加されている。例えば、現在の通信レートが11Mbpsに設定されており、無線端末C01からルーティングパケットを受信したものとする。まず図１３の閾値表に従って最適な通信レート2Mbpsを算出し、リンクテーブルに記録する（F06）。これは現在の通信レートの設定値11Mbpsよりも低いので（F0８でnoかつF10でyes）、通信レートを2Mbpsに設定し（F12）、パケットを通過させる。次に無線端末C04からルーティングパケットを受信した場合、通信レートを算出すると5.5Mbpsとなり、現在の通信レートの設定値2Mbpsよりも高くなるが（F08でyes）、リンクテーブルを参照すると無線端末C02の算出レートが2Mbpsとなっているので（F09でno）通信レートを変更しない。このように他の無線端末の履歴も参照して通信レートを設定するため、通信レートが必要以上頻繁に変更されることはない。
【００６５】
この安定化アルゴリズム３は、受信電波強度に従って通信レートを適応させることにより、安定かつ連結したアドホックネットワークを構築することができる。だが一方で、一つでも不安定なリンクがあると通信レートが低下してしまうため、スループットの観点から効率的な経路を構築できないことがある。例えば、図１２において図１３の閾値表に基づき各無線端末の通信レートを設定すると、図１６で示すようになる。だが、無線リンクG07は、安定した代替経路（G08,G09）が確保されているので、通信レートを下げてまで構築する必要はない。実際、無線リンクG07を構築しなかった場合は、各無線端末の通信レートは図１７で示されるようになり、無線端末H01と無線端末H02の通信レートが向上する。そこで、送信元に対して適切な代替経路が存在する場合に限り、ルーティングパケットを破棄するようにする。代替経路の存在の判断は、実施例２で述べたように、ローカルのルーティングテーブルをチェックすることにより実現される。無線リンクが削除されるのは、代替経路が存在する場合に限定されるので、この処理によりアドホックネットワークの分離が新たに発生することはない。これを安定化アルゴリズム４とする。
【００６６】
図１８は、安定化アルゴリズム４において、図１５の安定化アルゴリズム３に加える修正部分を示したものである。図１５のF10とF12のステップの間に、代替経路の存在をチェックするI15とI16のステップを加えてある。まず、算出レートが現在の設定値よりも下である（F10でyes）ということは、このルーティングパケットの送信元との無線リンクが他の無線リンクに比べて不安定であるということを示している。そこで、ルーティングパケットの送信元に対する有効な経路がルーティングテーブルに含まれているかをチェックする（I15）。含まれていない場合（I15でno）は、代替経路がないことを意味するので、通信レートを適切に下げ（F12）、ルーティングパケットを通過させる。有効経路が含まれていた場合は（I15でyes）、そのホップ数が２以上であれば（I16でyes）、代替経路が存在し使用中であることを意味しているので、ルーティングパケットを破棄する。それ以外の場合は（I16でno）、この無線リンクを現在使用していると考えられるので、通信レートを適切に下げ（F12）、ルーティングパケットを通過させる。
【００６７】
例えば、図１２において電波状態が悪い無線リンクC07と無線リンクC13がまだ接続されていない状態を考える。このときの無線端末C02のルーティングテーブルは図２０に表されるようになり、各端末の通信レートは11Mbpsとなる。ここで無線端末C04からルーティングパケットを無線端末C02が受信すると、通信レートの算出結果が5.5Mbpsとなり、現在の設定値よりも下になる。そこで、当該パケットの送信元である無線端末C04に対する有効経路がルーティングテーブルに含まれているか否かを調べ、含まれていないため通信レートを5.5Mbpsに下げ、無線リンクC13を確立する。一方、無線端末C02が無線端末C01からルーティングパケットを受信した場合は、通信レートの算出結果が2Mbpsとなり現在の設定値よりも下になるが、無線端末C02のルーティングテーブルに無線端末C01に対する有効経路K05が含まれているため、ルーティングパケットを破棄する。したがって、無線リンクC07は確立されず、図２１に表されるようなルーティングテーブルが構築される。そして結果として、図１７に表されるような無線リンク及び通信レートが設定され、通信レートの必要以上な低下を抑制することができる。
【００６８】
無線リンクを確立した後に安定した代替経路が確立された場合に、通信経路を切り替えられない可能性があるが、実施例２のアドホックネットワークの分離を防ぐ部分で述べたような方式により、使用されている不安定な無線リンクを定期的に削除することで、経路が定期的に更新されるようになる。経路が再構築されると、上記アルゴリズムに従って安定な無線リンクを優先的に使用するため、安定な代替経路が新たに構築された場合は、通信経路が代替経路に切り替えられる。
【符号の説明】
【００６９】
１、２、３、２１、２２、700、901、902、903、904、905…無線端末、701…CPU、３…ＡＰ、702…メモリ、703…無線ＬＡＮインターフェース、704…アンテナ、２３、２６…ルーティングプロトコル、２４、２７…安定化ソフトウェア、２５、２８…無線ＬＡＮ、２９…パケットの流れ。
【図１】
0006023760.tif 000002
【図２】
0006023760.tif 000003
【図３】
0006023760.tif 000004
【図４】
0006023760.tif 000005
【図５】
0006023760.tif 000006
【図６】
0006023760.tif 000007
【図７】
0006023760.tif 000008
【図８】
0006023760.tif 000009
【図９】
0006023760.tif 000010
【図１０】
0006023760.tif 000011
【図１１】
0006023760.tif 000012
【図１２】
0006023760.tif 000013
【図１３】
0006023760.tif 000014
【図１４】
0006023760.tif 000015
【図１５】
0006023760.tif 000016
【図１６】
0006023760.tif 000017
【図１７】
0006023760.tif 000018
【図１８】
0006023760.tif 000019
【図１９】
0006023760.tif 000020
【図２０】
0006023760.tif 000021
【図２１】
0006023760.tif 000022