(57)【要約】【課題】ネットワークにおいて孤立した無線装置が発生するのを抑制可能な無線装置を提供する。【解決手段】無線ネットワークシステム１００において、無線装置３２，３５は、無線装置３６〜４３から偏った位置に配置されている。無線装置３２は、周囲の無線装置３５〜３８から受信した複数のＨｅｌｌｏパケットの複数の受信信号強度に基づいて、安定な電波環境において送受信される電波の最小強度以上の強度を検出するための閾値ＷＩｔｈ（３２）を決定する。そして、無線装置３２は、閾値ＷＩｔｈ（３２）を導入した場合の無線装置３２に隣接する隣接無線装置の個数が基準値（例えば、５個）よりも少ない場合、閾値ＷＩｔｈ（３２）を導入せずに無線装置３６〜３８をネイバーリストに登録し、そのネイバーリストに基づいて、無線装置３６〜３８を経由する経路の経路情報をルーティングテーブルにおいて維持する。【選択図】図２２
2008085583.tif 000002
【特許請求の範囲】
【請求項１】
自律的に確立され、かつ、送信元と送信先との間で無線通信が行なわれる無線ネットワークを構成する無線装置であって、
ｎ（ｎは正の整数）個の無線装置から受信した複数の受信電波に基づいて、安定な電波環境において送受信される電波の最小強度以上の強度を検出するための閾値を決定する閾値決定手段と、
前記決定された閾値以上の受信信号強度を有する経路の経路情報に基づいて、前記送信元と前記送信先との間の経路情報を示すルーティングテーブルを作成するテーブル作成手段と、
当該無線装置と前記ｎ個の無線装置との間の無線通信空間において電波的な偏りがある場合、前記閾値決定手段によって決定された閾値を導入せずに、前記ルーティングテーブルに格納された前記経路情報を維持し、または前記経路情報を前記ルーティングテーブルに登録する経路確保手段とを備える無線装置。
【請求項２】
前記閾値決定手段は、
前記複数の受信電波に基づいて、ｍ（ｍは所定数以上の整数）個の最大受信信号強度と前記ｍ個の最大受信信号強度に対応するｍ個の最小受信信号強度とからなる第１のｍ個の信号強度ペアを検出する信号強度検出処理を実行する信号強度検出手段と、
前記ｍ個の最大受信信号強度が大きい順または小さい順になるように前記検出された第１のｍ個の信号強度ペアを並べ替えて第２のｍ個の信号強度ペアを作成する並替処理を実行する並替手段と、
前記第２のｍ個の信号強度ペアを構成するｍ個の最大受信信号強度において隣接する２つの最大受信信号強度の差が最大になるときの前記２つの最大受信信号強度に対応する２つの最小受信信号強度を検出し、その検出した２つの最小受信信号強度を両端とする範囲に前記閾値を設定する設定手段とを含む、請求項１に記載の無線装置。
【請求項３】
前記経路確保手段は、前記閾値を導入した場合に当該無線装置に隣接する隣接無線装置の個数が基準値よりも少ないとき、前記閾値を導入せずに前記ルーティングテーブルに格納された経路情報を維持する、請求項１または請求項２に記載の無線装置。
【請求項４】
前記経路確保手段は、前記ｎ個の無線装置のいずれかから受信した隣接無線装置リストに含まれる無線装置の個数が基準値よりも少ないとき、前記ルーティングテーブルに格納された経路情報を無条件に維持する、請求項１または請求項２に記載の無線装置。
【請求項５】
前記経路確保手段は、受信信号強度が前記閾値よりも低く、かつ、パケットエラー率がしきい値よりも低いとき、前記閾値を導入せずに前記ルーティングテーブルに格納された経路情報を維持する、請求項１または請求項２に記載の無線装置。
【請求項６】
前記経路確保手段は、当該無線装置における第１の隣接無線装置リストに登録された無線装置と、当該無線装置に隣接する隣接無線装置から受信した第２の隣接無線装置リストに登録された無線装置との相違数が基準値以上であるとき、前記第２の隣接無線装置リストを送信した隣接無線装置を経由する経路の経路情報を前記ルーティングテーブルに無条件に登録する、請求項１または請求項２に記載の無線装置。
【請求項７】
前記基準値は、前記ｎ個の無線装置の個数に応じて決定される、請求項６に記載の無線装置。
【請求項８】
前記経路確保手段が前記閾値を導入せずに前記経路情報を維持または登録したとき、前記閾値を決定できないことを示す緊急フラグをパケットに含めて送信する送信手段を更に備える、請求項３から請求項７のいずれか１項に記載の無線装置。
【請求項９】
前記経路確保手段は、前記緊急フラグを含むパケットを他の無線装置から受信すると、前記緊急フラグを含むパケットを送信した無線装置を経由する経路の経路情報を前記ルーティングテーブルにおいて維持し、または前記ルーティングテーブルに登録する、請求項８に記載の無線装置。
【請求項１０】
前記閾値を導入せずに維持または登録された経路情報によって示される経路上の無線装置を中継無線装置から除外する選択手段を更に備える、請求項１から請求項９のいずれか１項に記載の無線装置。
【請求項１１】
前記閾値決定手段は、前記無線ネットワークにおけるトポロジーが変更されたとき、前記閾値を再決定する、請求項１から請求項１０のいずれか１項に記載の無線装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線装置に関し、特に、複数の無線装置によって、自律的、かつ、即時的に構築されるアドホックネットワークを構成する無線装置に関するものである。
【背景技術】
【０００２】
アドホックネットワークは、複数の無線装置が相互に通信を行なうことによって自律的、かつ、即時的に構築されるネットワークである。アドホックネットワークでは、通信する２つの無線装置が互いの通信エリアに存在しない場合、２つの無線装置の中間に位置する無線装置がルータとして機能し、データパケットを中継するので、広範囲のマルチホップネットワークを形成することができる。
【０００３】
このようなアドホックネットワークは、被災地での無線通信網やＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ）車車間通信でのストリーミングなど、様々な方面に応用されようとしている（非特許文献１）。
【０００４】
マルチホップ通信をサポートする動的なルーティングプロトコルとしては、テーブル駆動型プロトコルとオンデマンド型プロトコルとがある。テーブル駆動型プロトコルは、定期的に経路に関する制御情報の交換を行ない、予め経路表を構築しておくものであり、ＦＳＲ（Ｆｉｓｈ−ｅｙｅ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）、ＯＬＳＲ（Ｏｐｔｉｍｉｚｅｄ  Ｌｉｎｋ  Ｓｔａｔｅ  Ｒｏｕｔｉｎｇ）およびＴＢＲＰＦ（Ｔｏｐｏｌｏｇｙ  Ｄｉｓｓｅｍｉｎａｔｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ｒｅｖｅｒｓｅ−Ｐａｔｈ  Ｆｏｒｗａｒｄｉｎｇ）等が知られている。
【０００５】
また、オンデマンド型プロトコルは、データ送信の要求が発生した時点で、初めて宛先までの経路を構築するものであり、ＤＳＲ（Ｄｙｎａｍｉｃ  Ｓｏｕｒｃｅ  Ｒｏｕｔｉｎｇ）およびＡＯＤＶ（Ａｄ  Ｈｏｃ  Ｏｎ−Ｄｅｍａｎｄ  Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ｒｏｕｔｉｎｇ）等が知られている。
【０００６】
そして、従来のアドホックネットワークにおいては、送信元から送信先へデータ通信を行なう場合、送信元から送信先までのホップ数ができる限り少なくなるように通信経路が決定される（非特許文献２）。
【０００７】
しかし、無線環境は不安定であるため、ホップ数が少ない経路が必ずしも品質の良い経路であるとは限らない。そのため、何らかの方法によって安定な経路のみを選択する方が良く、その主な方法として信号強度閾値を導入する方法と、パケットロス率を観測する方法とが知られている。
【０００８】
パケットロス率を観測する方法は、パケットロスが連続的に発生している場合に効果的である。
【０００９】
また、信号強度閾値を導入する方法として、信号強度の平均値を用いて安定な経路を抽出する方法が知られている（非特許文献３）。
【非特許文献１】渡辺正浩“無線アドホックネットワーク”，自動車技術会春季大会ヒューマトロニクスフォーラム，ｐｐ１８−２３，横浜，５月２００３年．
【非特許文献２】Guangyu Pei, at al, “Fisheye state routing: a routing scheme for ad hoc wireless networks”, ICC2000. Commun., Volume 1, pp70-74, L.A., June 2000.
【非特許文献３】Robit Dube, Cynthia D. Rais, Kuang-Yeh Wang, and Satish K. Tripathi,“Signal Stability based Adaptive Routing (SSA) for Ad-Hoc Mobile Networks”, IEEE Personal Communications, February 1997, pp.36-45.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、信号強度を用いて安定な経路を選択する方法を採用した場合、ネットワークにおける無線装置の配置に偏りがあるために他の無線装置から受信した受信信号の信号強度が低くなるとネットワークから排除される無線装置が発生するという問題がある。
【００１１】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、ネットワークにおいて孤立した無線装置が発生するのを抑制可能な無線装置を提供することである。
【課題を解決するための手段】
【００１２】
この発明によれば、無線装置は、自律的に確立され、かつ、送信元と送信先との間で無線通信が行なわれる無線ネットワークを構成する無線装置であって、閾値決定手段と、テーブル作成手段と、経路確保手段とを備える。閾値決定手段は、ｎ（ｎは正の整数）個の無線装置から受信した複数の受信電波に基づいて、安定な電波環境において送受信される電波の最小強度以上の強度を検出するための閾値を決定する。テーブル作成手段は、閾値決定手段によって決定された閾値以上の受信信号強度を有する経路の経路情報に基づいて、送信元と送信先との間の経路情報を示すルーティングテーブルを作成する。経路確保手段は、当該無線装置とｎ個の無線装置との間の無線通信空間において電波的な偏りがある場合、閾値決定手段によって決定された閾値を導入せずに、ルーティングテーブルに格納された経路情報を維持し、または経路情報をルーティングテーブルに登録する。
【００１３】
好ましくは、閾値決定手段は、信号強度検出手段と、並替手段と、設定手段とを含む。信号強度検出手段は、複数の受信電波に基づいて、ｍ（ｍは所定数以上の整数）個の最大受信信号強度とｍ個の最大受信信号強度に対応するｍ個の最小受信信号強度とからなる第１のｍ個の信号強度ペアを検出する信号強度検出処理を実行する。並替手段は、ｍ個の最大受信信号強度が大きい順または小さい順になるように検出された第１のｍ個の信号強度ペアを並べ替えて第２のｍ個の信号強度ペアを作成する並替処理を実行する。設定手段は、第２のｍ個の信号強度ペアを構成するｍ個の最大受信信号強度において隣接する２つの最大受信信号強度の差が最大になるときの２つの最大受信信号強度に対応する２つの最小受信信号強度を検出し、その検出した２つの最小受信信号強度を両端とする範囲に閾値を設定する。
【００１４】
好ましくは、経路確保手段は、閾値を導入した場合に当該無線装置に隣接する隣接無線装置の個数が基準値よりも少ないとき、閾値を導入せずにルーティングテーブルに格納された経路情報を維持する。
【００１５】
好ましくは、経路確保手段は、ｎ個の無線装置のいずれかから受信した隣接無線装置リストに含まれる無線装置の個数が基準値よりも少ないとき、ルーティングテーブルに格納された経路情報を無条件に維持する。
【００１６】
好ましくは、経路確保手段は、受信信号強度が閾値よりも低く、かつ、パケットエラー率がしきい値よりも低いとき、閾値を導入せずにルーティングテーブルに格納された経路情報を維持する。
【００１７】
好ましくは、経路確保手段は、当該無線装置における第１の隣接無線装置リストに登録された無線装置と、当該無線装置に隣接する隣接無線装置から受信した第２の隣接無線装置リストに登録された無線装置との相違数が基準値以上であるとき、第２の隣接無線装置リストを送信した隣接無線装置を経由する経路の経路情報をルーティングテーブルに無条件に登録する。
【００１８】
好ましくは、基準値は、ｎ個の無線装置の個数に応じて決定される。
【００１９】
好ましくは、無線装置は、送信手段を更に備える。送信手段は、経路確保手段が閾値を導入せずに経路情報を維持または登録したとき、閾値を決定できないことを示す緊急フラグをパケットに含めて送信する。
【００２０】
好ましくは、経路確保手段は、緊急フラグを含むパケットを他の無線装置から受信すると、緊急フラグを含むパケットを送信した無線装置を経由する経路の経路情報をルーティングテーブルにおいて維持し、またはルーティングテーブルに登録する。
【００２１】
好ましくは、無線装置は、選択手段を更に備える。選択手段は、閾値を導入せずに維持または登録された経路情報によって示される経路上の無線装置を中継無線装置から除外する。
【００２２】
好ましくは、閾値決定手段は、無線ネットワークにおけるトポロジーが変更されたとき、閾値を再決定する。
【発明の効果】
【００２３】
この発明による無線装置においては、無線通信空間において電波的な偏りがある場合、閾値を導入せずに、経路情報がルーティングテーブルにおいて維持され、または経路情報がルーティングテーブルに登録される。即ち、本来、受信信号強度が閾値よりも低くて、ルーティングテーブルにおいて維持または登録されない経路であっても、閾値を導入せずに、受信信号強度が閾値よりも低い無線装置との間の経路がルーティングテーブルにおいて維持または登録される。つまり、受信信号強度が閾値よりも低い無線装置との間でも経路が確保される。
【００２４】
したがって、この発明によれば、ネットワークにおいて孤立した無線装置が発生するのを抑制できる。
【発明を実施するための最良の形態】
【００２５】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２６】
図１は、この発明の実施の形態による無線装置を用いた無線ネットワークシステムの概略図である。無線ネットワークシステム１００は、無線装置３１〜４３を備える。無線装置３１〜４３は、無線通信空間に配置され、自律的にネットワークを構成している。アンテナ５１〜６３は、それぞれ、無線装置３１〜４３に装着される。
【００２７】
例えば、無線装置３１から無線装置４２へデータを送信する場合、無線装置３２，３５〜４１は、無線装置３１からのデータを中継して無線装置４２へ届ける。
【００２８】
この場合、無線装置３１は、各種の経路を介して無線装置４２との間で無線通信を行なうことができる。即ち、無線装置３１は、無線装置３７，４１を介して無線装置４２との間で無線通信を行なうことができ、無線装置３２，３６，３９を介して無線装置４２との間で無線通信を行なうこともでき、無線装置３２，３５，３８，４０を介して無線装置４２との間で無線通信を行なうこともできる。
【００２９】
無線装置３７，４１を介して無線通信を行なう場合、ホップ数が”３”と最も少なく、無線装置３２，３６，３９を介して無線通信を行なう場合、ホップ数が”４”であり、無線装置３２，３５，３８，４０を介して無線通信を行なう場合、ホップ数が”５”と最も多い。
【００３０】
従って、無線装置３７，４１を介して無線通信を行なう経路を選択すると、ホップ数が”３”と最も少なくなる。
【００３１】
しかし、無線装置３１−無線装置３７−無線装置４１−無線装置４２の経路によって無線装置３１と無線装置４２との間で無線通信を行なうことが無線装置３１，４２間の安定した無線通信を保証するわけではない。
【００３２】
そこで、以下においては、無線ネットワークシステム１００において、安定した経路からなるルーティングテーブルを作成し、その作成したルーティングテーブルに基づいて送信元と送信先との間で無線通信を行なう方法について説明する。
【００３３】
なお、送信元と送信先との間で通信経路を確立するプロトコルの例としてＯＬＳＲプロトコルを用いる。このＯＬＳＲプロトコルは、テーブル駆動型のルーティングプロトコルであり、ＨｅｌｌｏメッセージおよびＴＣ（Ｔｏｐｏｌｏｇｙ  Ｃｏｎｔｒｏｌ）メッセージを用いて経路情報を交換し、ルーティングテーブルを作成するプロトコルである。
【００３４】
図２は、図１に示す無線装置３１の構成を示す概略ブロック図である。無線装置３１は、アンテナ１１と、入力部１２と、出力部１３と、ユーザアプリケーション１４と、通信制御部１５とを含む。
【００３５】
アンテナ１１は、図１に示すアンテナ５１〜６３の各々を構成する。そして、アンテナ１１は、無線通信空間を介して他の無線装置からデータを受信し、その受信したデータを通信制御部１５へ出力するとともに、通信制御部１５からのデータを無線通信空間を介して他の無線装置へ送信する。
【００３６】
入力部１２は、無線装置１の操作者が入力したメッセージおよびデータの宛先を受付け、その受付けたメッセージおよび宛先をユーザアプリケーション１４へ出力する。出力部１３は、ユーザアプリケーション１４からの制御に従ってメッセージを表示する。
【００３７】
ユーザアプリケーション１４は、入力部１２からのメッセージおよび宛先に基づいてデータを生成して通信制御部１５へ出力する。
【００３８】
通信制御部１５は、ＡＲＰＡ（Ａｄｖａｎｃｅｄ  Ｒｅｓｅａｒｃｈ  Ｐｒｏｊｅｃｔｓ  Ａｇｅｎｃｙ）インターネット階層構造に従って、通信制御を行なう複数のモジュールからなる。即ち、通信制御部１５は、無線インターフェースモジュール１６と、ＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）モジュール１７と、バッファ１８と、ＬＬＣ（Ｌｏｇｉｃａｌ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）モジュール１９と、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）モジュール２０と、ルーティングテーブル２１と、ＴＣＰモジュール２２と、ＵＤＰモジュール２３と、ルーティングデーモン２４とからなる。
【００３９】
無線インターフェースモジュール１６は、物理層に属し、所定の規定に従って送信信号または受信信号の変復調を行なうとともに、アンテナ１１を介して信号を送受信する。そして、無線インターフェースモジュール１６は、アンテナ１１が他の無線装置から受信したＨｅｌｌｏパケットの受信信号強度を検出し、その検出した受信信号強度をルーティングデーモン２４へ出力する。
【００４０】
ＭＡＣモジュール１７は、ＭＡＣ層に属し、ＭＡＣプロトコルを実行して、以下に述べる各種の機能を実行する。
【００４１】
即ち、ＭＡＣモジュール１７は、ルーティングデーモン２４から受けたＨｅｌｌｏパケットを無線インターフェースモジュール１６を介してブロードキャストする。
【００４２】
また、ＭＡＣモジュール１７は、データ（パケット）の再送制御等を行なう。
【００４３】
バッファ１８は、データリンク層に属し、パケットを一時的に格納する。
【００４４】
ＬＬＣモジュール１９は、データリンク層に属し、ＬＬＣプロトコルを実行して隣接する無線装置との間でリンクの接続および解放を行なう。
【００４５】
ＩＰモジュール２０は、インターネット層に属し、ＩＰパケットを生成する。ＩＰパケットは、ＩＰヘッダと、上位のプロトコルのパケットを格納するためのＩＰデータ部とからなる。そして、ＩＰモジュール２０は、ＴＣＰモジュール２２からデータを受けると、その受けたデータをＩＰデータ部に格納してＩＰパケットを生成する。
【００４６】
そうすると、ＩＰモジュール２０は、テーブル駆動型のルーティングプロトコルであるＯＬＳＲプロトコルに従ってルーティングテーブル２１を検索し、生成したＩＰパケットを送信するための経路を決定する。そして、ＩＰモジュール２０は、ＩＰパケットをＬＬＣモジュール１９へ送信し、決定した経路に沿ってＩＰパケットを送信先へ送信する。
【００４７】
ルーティングテーブル２１は、インターネット層に属し、後述するように、各送信先に対応付けて経路情報を格納する。
【００４８】
ＴＣＰモジュール２２は、トランスポート層に属し、ＴＣＰパケットを生成する。ＴＣＰパケットは、ＴＣＰヘッダと、上位のプロトコルのデータを格納するためのＴＣＰデータ部とからなる。そして、ＴＣＰモジュール２２は、生成したＴＣＰパケットをＩＰモジュール２０へ送信する。
【００４９】
ＵＤＰモジュール２３は、トランスポート層に属し、ルーティングデーモン２４によって作成されたＵｐｄａｔｅパケットをブロードキャストし、他の無線装置からブロードキャストされたＵｐｄａｔｅパケットを受信してルーティングデーモン２４へ出力する。
【００５０】
ルーティングデーモン２４は、プロセス／アプリケーション層に属し、他の通信制御モジュールの実行状態を監視するとともに、他の通信制御モジュールからのリクエストを処理する。
【００５１】
また、ルーティングデーモン２４は、後述する方法によって、安定な電波環境において送受信される電波の最小強度以上の受信信号強度を決定するための閾値を決定し、その決定した閾値以上の受信信号強度を有するＨｅｌｌｏパケットの経路情報に基づいて、最適な経路を算出してルーティングテーブル２１をインターネット層に動的に作成する。
【００５２】
更に、ルーティングデーモン２４は、無線ネットワークシステム１００における経路情報を他の無線装置へ送信するとき、隣接する無線装置に関する情報等の各種のメッセージを含むＨｅｌｌｏパケットを作成し、その作成したＨｅｌｌｏパケットをＭＡＣモジュール１７へ出力する。
【００５３】
更に、ルーティングデーモン２４は、後述する方法によって、無線装置３１の周囲の無線通信空間において電波的な偏りがあるか否かを判定し、電波的な偏りがある場合、閾値を導入せずにルーティングテーブル２１に登録された経路情報を維持する。
【００５４】
なお、図１に示す無線装置３２〜４３の各々も、図２に示す無線装置３１の構成と同じ構成からなる。
【００５５】
図３は、ＩＰヘッダの構成図である。ＩＰヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別番号、フラグ、フラグメントオフセット、生存時間、プロトコル、ヘッダチェックサム、送信元ＩＰアドレス、送信先ＩＰアドレス、およびオプションからなる。
【００５６】
図４は、ＴＣＰヘッダの構成図である。ＴＣＰヘッダは、送信元ポート番号、送信先ポート番号、シーケンス番号、確認応答（ＡＣＫ）番号、データオフセット、予約、フラグ、ウィンドサイズ、ヘッダチェックサムおよびアージェントポインタからなる。
【００５７】
送信元ポート番号は、送信元の無線装置で複数のアプリケーションが動作しているときに、ＴＣＰパケットを出力したアプリケーションを特定する番号である。また、送信先ポート番号は、送信先の無線装置で複数のアプリケーションが動作しているときに、ＴＣＰパケットを届けるアプリケーションを特定する番号である。
【００５８】
ＴＣＰ通信は、エンド・ツー・エンドのコネクション型通信プロトコルである。ＴＣＰ通信のコネクション接続を要求する無線装置（以下、「ＴＣＰ通信接続要求装置」という。）のＴＣＰモジュール２２は、コネクションの確立時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮ（Ｓｙｎｃｈｒｏｎｉｚｅ  Ｆｌａｇ）を設定したコネクションの接続要求を示す第１パケットをＴＣＰ通信のコネクション接続を受理する端末（以下、「ＴＣＰ通信接続受理装置」という。）のＴＣＰモジュール２２へ送信する。これを受けて、ＴＣＰ通信接続受理装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔにＳＹＮおよびＡＣＫ（確認応答）を設定したコネクションの接続要求受理および接続完了を示す第２パケットをＴＣＰ通信接続要求装置のＴＣＰモジュール２２へ送信する。更に、これを受けて、ＴＣＰ通信接続要求装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ（確認応答）に設定したコネクションの接続完了を示す第３パケットをＴＣＰ通信接続受理装置のＴＣＰモジュール２２へ送信する。
【００５９】
コネクションの切断要求は、ＴＣＰ通信要求装置およびＴＣＰ通信受理装置のいずれの側からでも行なうことができる。ＴＣＰ通信のコネクション切断を要求する無線装置（以下、「ＴＣＰ通信切断要求装置」という。）のＴＣＰモジュール２２は、コネクションの切断時に、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮ（Ｆｉｎｉｓｈ  Ｆｌａｇ）に設定したコネクションの切断要求を示す第１パケットをＴＣＰ通信のコネクション切断を受理する無線装置（以下、「ＴＣＰ通信切断受理装置」という。）へ送信する。これを受けて、ＴＣＰ通信切断受理装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断要求受理を示す第２パケットと、ＴＣＰヘッダ内のＣｏｄｅ  ＢｉｔをＦＩＮに設定したコネクションの切断完了を示す第３パケットをＴＣＰ通信切断要求装置のＴＣＰモジュール２２へ送信する。更に、これを受けて、ＴＣＰ通信切断要求装置のＴＣＰモジュール２２は、ＴＣＰヘッダ内のＣｏｄｅ
ＢｉｔをＡＣＫ(確認応答)に設定したコネクションの切断完了を示す第４パケットをＴＣＰ通信切断受理装置のＴＣＰモジュール２２へ送信する。
【００６０】
図５は、ＯＬＳＲプロトコルにおけるパケットＰＫＴの構成図である。パケットＰＫＴは、パケットヘッダＰＨＤと、メッセージヘッダＭＨＤ１，ＭＨＤ２，・・・とからなる。なお、パケットＰＫＴは、ＵＤＰモジュール２３のポート番号６９８番を使用して送受信される。
【００６１】
パケットヘッダＰＨＤは、パケット長と、パケットシーケンス番号とからなる。パケット長は、１６ビットのデータからなり、パケットのバイト数を表す。また、パケットシーケンス番号は、１６ビットのデータからなり、どのパケットが新しいかを区別するために用いられる。そして、パケットシーケンス番号は、新しいパケットが生成される度に“１”づつ増加される。従って、パケットシーケンス番号が大きい程、そのパケットＰＫＴが新しいことを示す。
【００６２】
メッセージヘッダＭＨＤ１，ＭＨＤ２，・・・の各々は、メッセージタイプと、有効時間と、メッセージサイズと、発信元アドレスと、ＴＴＬと、ホップ数と、メッセージシーケンス番号と、メッセージと、フラグとからなる。
【００６３】
メッセータイプは、８ビットのデータからなり、メッセージ本体に書かれたメッセージの種類を表し、０〜１２７は、予約済みである。有効時間は、８ビットのデータからなり、受信後に、このメッセージを管理しなければならない時間を表す。そして、有効時間は、仮数部と、指数部とからなる。
【００６４】
メッセージサイズは、１６ビットのデータからなり、メッセージの長さを表す。発信元アドレスは、３２ビットのデータからなり、メッセージを生成した無線装置を表す。ＴＴＬは、８ビットのデータからなり、メッセージが転送される最大ホップ数を指定する。そして、ＴＴＬは、メッセージが転送される時に”１”づつ減少される。そして、ＴＴＬが“０”か“１”である場合、メッセージは、転送されない。ホップ数は、８ビットのデータからなり、メッセージの生成元からのホップ数を表す。そして、ホップ数は、最初、“０”に設定され、転送される毎に“１”づつ増加される。メッセージシーケンス番号は、１６ビットのデータからなり、各メッセージに割当てられる識別番号を表す。そして、メッセージシーケンス番号は、メッセージが作成される毎に、“１”づつ増加される。メッセージは、送信対象のメッセージである。フラグは、閾値を決定できたか否かを示し、閾値を決定できなかったとき、“１”が格納され、閾値を決定できたとき、“０”が格納される。
【００６５】
ＯＬＳＲプロトコルにおいては、各種のメッセージが図５に示す構成のパケットＰＫＴを用いて送受信される。
【００６６】
図６は、図２に示すルーティングテーブル２１の構成図である。ルーティングテーブル２１は、送信先、次の無線装置、ホップ数およびフラグからなる。送信先、次の無線装置、ホップ数およびフラグは、相互に対応付けられている。“送信先”は、送信先の無線装置のＩＰアドレスを表す。“次の無線装置”は、送信先にパケットＰＫＴを送信するときに、次に送信すべき無線装置のＩＰアドレスを表す。“ホップ数”は、送信先までのホップ数を表す。例えば、図１において、無線装置３１−無線装置３２−無線装置３６−無線装置３９−無線装置４２の経路によって無線装置３１と無線装置４２との間で無線通信が行なわれる場合、無線装置３２のルーティングテーブル２１のホップ数には、“３”が格納される。フラグは、閾値を導入せずに経路を維持したか否かを示し、閾値を導入せずに経路を維持した場合、“１”が格納され、閾値を導入して経路を維持した場合、“０”が格納される。
【００６７】
図７は、図２に示すルーティングデーモン２４の機能ブロック図である。ルーティングデーモン２４は、信号強度測定モジュール２４１と、閾値導入モジュール２４２と、テーブル作成モジュール２４３とを含む。
【００６８】
信号強度測定モジュール２４１は、アンテナ１１が受信したＨｅｌｌｏパケットの複数の受信信号強度Ｒｅｃｅｉｖｅ［ｎ］を無線インターフェースモジュール１６から受信し、その受信した複数の受信信号強度Ｒｅｃｅｉｖｅ［ｎ］に基づいてｍ（ｍは所定数（例えば、５以上の整数））個の最大値ＭＡＸ［ｎ］とｍ個の最大値ＭＡＸ［ｎ］に対応するｍ個の最小値ＭＩＮ［ｎ］とからなるｍ組の最大値／最小値ＭＡＸ［ｎ］，ＭＩＮ［ｎ］を検出し、その検出したｍ組の最大値／最小値ＭＡＸ［ｎ］，ＭＩＮ［ｎ］を閾値導入モジュール２４２へ出力する。
【００６９】
なお、ｍが所定数（＝例えば、５以上の整数）に設定されるのは、後述する図１０に示すように、５組以上の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｍ］，ＭＩＮ［ｍ］を検出できれば、その５組以上の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｍ］，ＭＩＮ［ｍ］に基づいて、安定な電波環境において送受信される電波の全ての受信信号強度を検出するための閾値ＷＩｔｈを信頼性良く決定できるからである。
【００７０】
閾値導入モジュール２４２は、信号強度測定モジュール２４１からのｍ組の最大値／最小値ＭＡＸ［ｎ］，ＭＩＮ［ｎ］に基づいて、後述する方法によって、閾値ＷＩｔｈを決定し、その決定した閾値ＷＩｔｈをテーブル作成モジュール２４３へ出力する。
【００７１】
テーブル作成モジュール２４３は、閾値導入モジュール２４２から閾値ＷＩｔｈを受けると、無線インターフェースモジュール１６から受けたＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［ｎ］を閾値ＷＩｔｈと比較し、閾値ＷＩｔｈ以上の受信信号強度Ｒｅｃｅｉｖｅ［ｎ］を有するＨｅｌｌｏパケットを抽出し、その抽出したＨｅｌｌｏパケットに基づいて、図６に示すルーティングテーブル２１を動的に作成する。
【００７２】
また、テーブル作成モジュール２４３は、自己が搭載された無線装置におけるネイバーリストに基づいて、自己が搭載された無線装置に隣接する隣接無線装置の個数が基準値（例えば、５個）よりも少ないか否かを判定する。より具体的には、テーブル作成モジュール２４３は、閾値ＷＩｔｈを導入した場合に、ネイバーリストに残る隣接無線装置の個数が基準値よりも少ないか否かを判定する。
【００７３】
そして、テーブル作成モジュール２４３は、隣接無線装置の個数が基準値よりも少ないとき、閾値ＷＩｔｈを導入せずにルーティングテーブル２１に登録された経路情報を維持する。また、テーブル作成モジュール２４３は、隣接無線装置の個数が基準値以上であるとき、閾値ＷＩｔｈを導入してルーティングテーブル２１に登録された経路情報を維持または削除する。
【００７４】
更に、テーブル作成モジュール２４３は、閾値ＷＩｔｈを導入せずに経路情報を維持した場合、閾値ＷＩｔｈを決定できなかったことを示すフラグＦｎｄを含むＨｅｌｌｏパケットを作成して他の無線装置へ送信する。
【００７５】
更に、テーブル作成モジュール２４３は、フラグＦｎｄを含むＨｅｌｌｏパケットを他の無線装置から受信すると、そのＨｅｌｌｏパケットを送信した無線装置を無条件にネイバーリストに登録する。
【００７６】
ＯＬＳＲプロトコルに従ったルーティングテーブル２１の作成について詳細に説明する。無線装置３１〜４３は、ルーティングテーブル２１を作成する場合、ＨｅｌｌｏメッセージおよびＴＣメッセージを送受信する。
【００７７】
Ｈｅｌｌｏメッセージは、各無線装置３１〜４３が有する情報の配信を目的として、定期的に送信される。このＨｅｌｌｏメッセージを受信することによって、各無線装置３１〜４３は、周辺の無線装置に関する情報を収集でき、自己の周辺にどのような無線装置が存在するのかを認識する。
【００７８】
ＯＬＳＲプロトコルにおいては、各無線装置３１〜４３は、ローカルリンク情報を管理する。そして、Ｈｅｌｌｏメッセージは、このローカルリンク情報の構築および送信を行なうためのメッセージである。ローカルリンク情報は、「リンク集合」、「隣接無線装置集合」、「２ホップ隣接無線装置集合とそれらの無線装置へのリンク集合」、「ＭＰＲ（Ｍｕｌｔｉｐｏｉｎｔ  Ｒｅｌａｙ）集合」、および「ＭＰＲセレクタ集合」を含む。
【００７９】
リンク集合は、直接的に電波が届く無線装置（隣接無線装置）の集合へのリンクのことであり、各リンクは２つの無線装置間のアドレスの組の有効時間によって表現される。なお、有効時間は、そのリンクが単方向なのか双方向なのかを表すためにも利用される。
【００８０】
隣接無線装置集合は、各隣接無線装置のアドレス、およびその無線装置の再送信の積極度（Ｗｉｌｌｉｎｇｎｅｓｓ）等によって構成される。２ホップ隣接無線装置集合は、隣接無線装置に隣接する無線装置の集合を表す。
【００８１】
ＭＰＲ集合は、ＭＰＲとして選択された無線装置の集合である。なお、ＭＰＲとは、各パケットＰＫＴを無線ネットワークシステム１００の全ての無線装置３１〜４３へ送信する場合、各無線装置３１〜４３が１つのパケットＰＫＴを１回だけ送受信することによってパケットＰＫＴを全ての無線装置３１〜４３へ送信できるように中継無線装置を選択することである。
【００８２】
ＭＰＲセレクタ集合は、自己をＭＰＲとして選択した無線装置の集合を表す。
【００８３】
ローカルリンク情報が確立される過程は、概ね、次のようになる。Ｈｅｌｌｏメッセージは、初期の段階では、各無線装置３１〜４３が自己の存在を知らせるために、自己のアドレスが入ったＨｅｌｌｏメッセージを隣接する無線装置へ送信する。これを、無線装置３１〜４３の全てが行ない、各無線装置３１〜４３は、自己の周りにどのようなアドレスを持った無線装置が存在するのかを把握する。このようにして、リンク集合および隣接無線装置集合が構築される。
【００８４】
そして、構築されたローカルリンク情報は、再び、Ｈｅｌｌｏメッセージによって定期的に送り続けられる。これを繰返すことによって、各リンクが双方向であるのか、隣接無線装置の先にどのような無線装置が存在するのかが徐々に明らかになって行く。各無線装置３１〜４３は、このように徐々に構築されたローカルリンク情報を蓄える。
【００８５】
更に、ＭＰＲに関する情報も、Ｈｅｌｌｏメッセージによって定期的に送信され、各無線装置３１〜４３へ告知される。各無線装置３１〜４３は、自己が送信するパケットＰＫＴの再送信を依頼する無線装置として、いくつかの無線装置をＭＰＲ集合として隣接無線装置の中から選択している。そして、このＭＰＲ集合に関する情報は、Ｈｅｌｌｏメッセージによって隣接する無線装置へ送信されるので、このＨｅｌｌｏメッセージを受信した無線装置は、自己がＭＰＲとして選択してきた無線装置の集合を「ＭＰＲセレクタ集合」として管理する。このようにすることにより、各無線装置３１〜４３は、どの無線装置から受信したパケットＰＫＴを再送信すればよいのかを即座に認識できる。
【００８６】
Ｈｅｌｌｏメッセージの送受信により各無線装置３１〜４３において、ローカルリンク集合が構築されると、無線ネットワークシステム１００全体のトポロジーを知らせるためのＴＣメッセージが無線装置３１〜４３へ送信される。このＴＣメッセージは、ＭＰＲとして選択されている全ての無線装置によって定期的に送信される。そして、ＴＣメッセージは、各無線装置とＭＰＲセレクタ集合との間のリンクを含んでいるため、無線ネットワークシステム１００の全ての無線装置３１〜４３は、全てのＭＰＲ集合および全てのＭＰＲセレクタ集合を知ることができ、全てのＭＰＲ集合および全てのＭＰＲセレクタ集合に基づいて、無線ネットワークシステム１００全体のトポロジーを知ることができる。各無線装置３１〜４３は、無線ネットワークシステム１００全体のトポロジーを用いて最短路を計算し、それに基づいて経路表を作成する。
【００８７】
なお、各無線装置３１〜４３は、Ｈｅｌｌｏメッセージとは別に、ＴＣメッセージを頻繁に交換する。そして、ＴＣメッセージの交換にも、ＭＰＲが利用される。
【００８８】
各無線装置３１〜４３のＵＤＰモジュール２３は、上述したＨｅｌｌｏメッセージおよびＴＣメッセージを送受信し、ルーティングデーモン２４のテーブル作成モジュール２４３は、ＵＤＰモジュール２３が受信したＨｅｌｌｏメッセージおよびＴＣメッセージのうち、閾値ＷＩｔｈ以上の受信信号強度を有するＨｅｌｌｏメッセージおよびＴＣメッセージに基づいて無線ネットワークシステム１００全体のトポロジーを認識し、その無線ネットワークシステム１００全体のトポロジーに基づいて、最短路を計算し、それに基づいて、図６に示すルーティングテーブル２１を動的に作成する。
【００８９】
以下、閾値ＷＩｔｈを決定する方法について説明する。なお、図１に示す無線装置３６が閾値ＷＩｔｈを決定する場合を例にして説明する。
【００９０】
無線装置３６が閾値ＷＩｔｈを決定する場合、無線装置３６は、１ホップ内の無線装置３２，３５，３７〜３９，４１から一定時間内に受信する複数のＨｅｌｌｏパケットの受信強度である複数の受信信号強度を検出し、その検出した複数の受信信号強度から受信信号強度の最大値ＭＡＸ［ｎ］および最小値ＭＩＮ［ｎ］を抽出する。
【００９１】
より具体的には、無線装置３６において、ルーティングデーモン２４の信号強度測定モジュール２４１は、無線装置３２から一定時間内に順次受信したｍ個のＨｅｌｌｏパケットのｍ個の受信信号強度Ｒｅｃｅｉｖｅ［３２］１〜Ｒｅｃｅｉｖｅ［３２］ｍを無線インターフェースモジュール１６から順次受ける。そして、信号強度測定モジュール２４１は、順次受けるｍ個の受信信号強度Ｒｅｃｅｉｖｅ［３２］１〜Ｒｅｃｅｉｖｅ［３２］ｍに基づいて、ｍ個の受信信号強度Ｒｅｃｅｉｖｅ［３２］１〜Ｒｅｃｅｉｖｅ［３２］ｍの最大値／最小値の組ＭＡＸ［３２］，ＭＩＮ［３２］を検出する。
【００９２】
この場合、信号強度測定モジュール２４１は、最初の受信信号強度Ｒｅｃｅｉｖｅ［３２］１を最大値ＭＡＸ［３２］および最小値ＭＩＮ［３２］に設定し、２番目以降に受信した受信信号強度Ｒｅｃｅｉｖｅ［３２］２〜Ｒｅｃｅｉｖｅ［３２］ｍを最大値ＭＡＸ［３２］および最小値ＭＩＮ［３２］と比較する。そして、信号強度測定モジュール２４１は、Ｒｅｃｅｉｖｅ［３２］２〜Ｒｅｃｅｉｖｅ［３２］ｍが最大値ＭＡＸ［３２］よりも大きければ、受信信号強度Ｒｅｃｅｉｖｅ［３２］２〜Ｒｅｃｅｉｖｅ［３２］ｍによって最大値ＭＡＸ［３２］を更新し、Ｒｅｃｅｉｖｅ［３２］２〜Ｒｅｃｅｉｖｅ［３２］ｍが最小値ＭＩＮ［３２］よりも小さければ、受信信号強度Ｒｅｃｅｉｖｅ［３２］２〜Ｒｅｃｅｉｖｅ［３２］ｍによって最小値ＭＩＮ［３２］を更新して最終的に最大値／最小値の組ＭＡＸ［３２］，ＭＩＮ［３２］を検出する。
【００９３】
また、信号強度測定モジュール２４１は、無線装置３５，３７，３８，３９，４１から一定時間内に順次受信したｍ個の受信信号強度Ｒｅｃｅｉｖｅ［３５］１〜Ｒｅｃｅｉｖｅ［３５］ｍ，Ｒｅｃｅｉｖｅ［３７］１〜Ｒｅｃｅｉｖｅ［３７］ｍ，Ｒｅｃｅｉｖｅ［３８］１〜Ｒｅｃｅｉｖｅ［３８］ｍ，Ｒｅｃｅｉｖｅ［３９］１〜Ｒｅｃｅｉｖｅ［３９］ｍ，Ｒｅｃｅｉｖｅ［４１］１〜Ｒｅｃｅｉｖｅ［４１］ｍを無線インターフェースモジュール１６から順次受け、その受けたｍ個の受信信号強度Ｒｅｃｅｉｖｅ［３５］１〜Ｒｅｃｅｉｖｅ［３５］ｍ，Ｒｅｃｅｉｖｅ［３７］１〜Ｒｅｃｅｉｖｅ［３７］ｍ，Ｒｅｃｅｉｖｅ［３８］１〜Ｒｅｃｅｉｖｅ［３８］ｍ，Ｒｅｃｅｉｖｅ［３９］１〜Ｒｅｃｅｉｖｅ［３９］ｍ，Ｒｅｃｅｉｖｅ［４１］１〜Ｒｅｃｅｉｖｅ［４１］ｍに基づいて、同様にして、最大値／最小値の組ＭＡＸ［３５］，ＭＩＮ［３５］；ＭＡＸ［３７］，ＭＩＮ［３７］；ＭＡＸ［３８］，ＭＩＮ［３８］；ＭＡＸ［３９］，ＭＩＮ［３９］；ＭＡＸ［４１］，ＭＩＮ［４１］を検出する。
【００９４】
そして、信号強度測定モジュール２４１は、その検出した６組の最大値／最小値の組ＭＡＸ［３２］，ＭＩＮ［３２］；ＭＡＸ［３５］，ＭＩＮ［３５］；ＭＡＸ［３７］，ＭＩＮ［３７］；ＭＡＸ［３８］，ＭＩＮ［３８］；ＭＡＸ［３９］，ＭＩＮ［３９］；ＭＡＸ［４１］，ＭＩＮ［４１］を６組の最大値／最小値の組ＭＡＸ［０］，ＭＩＮ［０］；ＭＡＸ［１］，ＭＩＮ［１］；ＭＡＸ［２］，ＭＩＮ［２］；ＭＡＸ［３］，ＭＩＮ［３］；ＭＡＸ［４］，ＭＩＮ［４］；ＭＡＸ［５］，ＭＩＮ［５］として閾値導入モジュール２４２へ出力する。
【００９５】
図８は、並べ替えの概念図である。閾値導入モジュール２４２は、信号強度測定モジュール２４１から６組の最大値／最小値の組ＭＡＸ［０］，ＭＩＮ［０］；ＭＡＸ［１］，ＭＩＮ［１］；ＭＡＸ［２］，ＭＩＮ［２］；ＭＡＸ［３］，ＭＩＮ［３］；ＭＡＸ［４］，ＭＩＮ［４］；ＭＡＸ［５］，ＭＩＮ［５］を受けると、６個の最大値ＭＡＸ［０］，ＭＡＸ［１］，ＭＡＸ［２］，ＭＡＸ［３］，ＭＡＸ［４］，ＭＡＸ［５］が大きい順になるように６組の最大値／最小値の組ＭＡＸ［０］，ＭＩＮ［０］；ＭＡＸ［１］，ＭＩＮ［１］；ＭＡＸ［２］，ＭＩＮ［２］；ＭＡＸ［３］，ＭＩＮ［３］；ＭＡＸ［４］，ＭＩＮ［４］；ＭＡＸ［５］，ＭＩＮ［５］を並べ替える。
【００９６】
より具体的には、閾値導入モジュール２４２は、最大値／最小値の組ＭＡＸ［３］，ＭＩＮ［３］、最大値／最小値の組ＭＡＸ［４］，ＭＩＮ［４］、最大値／最小値の組ＭＡＸ［０］，ＭＩＮ［０］、最大値／最小値の組ＭＡＸ［５］，ＭＩＮ［５］、最大値／最小値の組ＭＡＸ［１］，ＭＩＮ［１］、最大値／最小値の組ＭＡＸ［２］，ＭＩＮ［２］の順に並べ替え、最大値／最小値の組ＭＡＸ［３］，ＭＩＮ［３］、最大値／最小値の組ＭＡＸ［４］，ＭＩＮ［４］、最大値／最小値の組ＭＡＸ［０］，ＭＩＮ［０］、最大値／最小値の組ＭＡＸ［５］，ＭＩＮ［５］、最大値／最小値の組ＭＡＸ［１］，ＭＩＮ［１］、最大値／最小値の組ＭＡＸ［２］，ＭＩＮ［２］をそれぞれ最大値／最小値の組｛Ｄ＿ＭＡＸ［０］，Ｄ＿ＭＩＮ［０］｝、最大値／最小値の組｛Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］｝、最大値／最小値の組｛Ｄ＿ＭＡＸ［２］，Ｄ＿ＭＩＮ［２］｝、最大値／最小値の組｛Ｄ＿ＭＡＸ［３］，Ｄ＿ＭＩＮ［３］｝、最大値／最小値の組｛Ｄ＿ＭＡＸ［４］，Ｄ＿ＭＩＮ［４］｝、最大値／最小値の組｛Ｄ＿ＭＡＸ［５］，Ｄ＿ＭＩＮ［５］｝として設定する。
【００９７】
そうすると、閾値導入モジュール２４２は、６個の最大値Ｄ＿ＭＡＸ［０］〜Ｄ＿ＭＡＸ［５］のうち、隣接する２つの最大値の差が最大になるときの２組の最大値／最小値｛Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＩＮ［ｉ］｝；｛Ｄ＿ＭＡＸ［ｉ＋１］，Ｄ＿ＭＩＮ［ｉ＋１］｝を検出し、その検出した２組の最大値／最小値｛Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＩＮ［ｉ］｝；｛Ｄ＿ＭＡＸ［ｉ＋１］，Ｄ＿ＭＩＮ［ｉ＋１］｝に含まれる２個の最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の平均値を閾値ＷＩｔｈとして決定する。
【００９８】
閾値ＷＩｔｈを決定するための実験結果について説明する。図９は、受信信号強度およびパケットエラー率と、無線装置の数との関係を示す図である。図９において、縦軸は、受信信号強度およびパケットエラー率を表し、横軸は、無線装置の数を表す。
【００９９】
１ホップ内の複数の無線装置から一定時間内に受信したＨｅｌｌｏパケットの受信信号強度の最大値／最小値の組ＭＡＸ［ｎ］，ＭＩＮ［ｎ］をプロットすると、図９に示すようになる。この場合、●は、受信信号強度の最大値ＭＡＸ［ｎ］を示し、×は、受信信号強度の最小値ＭＩＮ［ｎ］を示し、△は、パケットエラー率を示す。
【０１００】
また、図１０は、複数の最大値が大きい順に並べ換えられたときの受信信号強度およびパケットエラー率と、無線装置の数との関係を示す図である。図１０において、縦軸は、受信信号強度およびパケットエラー率を表し、横軸は、無線装置の数を表す。また、●は、受信信号強度の最大値ＭＡＸ［ｎ］を示し、×は、受信信号強度の最小値ＭＩＮ［ｎ］を示し、△は、パケットエラー率を示す。
【０１０１】
図９から明らかなように、最大値は、無線装置の数が多くなるに従って上下しており、大きい順に並べられていない。そこで、図１０に示すように、最大値が大きい順になるように複数の最大値／最小値の組を並べ替える。
【０１０２】
そして、隣接する２つの最大値の差が最大となるときの２組の最大値／最小値｛Ｄ＿ＭＡＸ（１４），Ｄ＿ＭＩＮ（１４）｝，｛Ｄ＿ＭＡＸ（１５），Ｄ＿ＭＩＮ（１５）｝が検出され、２個の最小値Ｄ＿ＭＩＮ（１４），Ｄ＿ＭＩＮ（１５）の平均値が閾値ＷＩｔｈとして決定される。
【０１０３】
図１０において、最大値／最小値の組ＭＡＸ［１４］，ＭＩＮ［１４］よりも右側の領域においては、受信信号強度の最大値は、大きく低下し、パケットエラー率は、ばらついている。
【０１０４】
一方、最大値／最小値の組ＭＡＸ［１５］，ＭＩＮ［１５］よりも左側の領域においては、受信信号強度の最大値は、大きく、パケットエラー率は、無線装置の数が増加しても略０％である。従って、最大値／最小値の組ＭＡＸ［１５］，ＭＩＮ［１５］よりも左側の領域は、安定な電波環境において送受信される電波の全ての受信信号強度が分布する領域であり、最大値／最小値の組ＭＡＸ［１４］，ＭＩＮ［１４］よりも右側の領域は、不安定な電波環境において送受信される電波の全ての受信信号強度が分布する領域である。
【０１０５】
その結果、閾値ＷＩｔｈ以上の受信信号強度を検出することは、安定な電波環境において送受信される電波を全て検出することになる。
【０１０６】
従って、上述した方法によって閾値ＷＩｔｈを決定することにより、安定な電波環境で送受信される電波を全て検出し、不安定な電波環境で送受信される電波を全て排除できる。
【０１０７】
閾値導入モジュール２４２は、閾値ＷＩｔｈを決定すると、その決定した閾値ＷＩｔｈをテーブル作成モジュール２４３へ出力する。
【０１０８】
ルーティングテーブル２１の作成方法について説明する。図１１は、隣の無線装置に関する情報からなるネイバーリストを示す図である。また、図１２は、他のネイバーリストを示す図である。更に、図１３は、ネイバーリストおよびルーティングテーブルを示す図である。
【０１０９】
図１１においては、図１に示す無線装置３６が保持するネイバーリストが示され、図１２においては、図１に示す無線装置３２，３５，３７，３８が保持するネイバーリストが示され、図１３においては、図１に示す無線装置３９，４１が保持するネイバーリストおよび無線装置３６が保持するルーティングテーブルが示されている。
【０１１０】
無線装置３６においては、閾値導入モジュール２４２は、上述した方法によって閾値ＷＩｔｈを決定し、その決定した閾値ＷＩｔｈをテーブル作成モジュール２４３へ出力する。
【０１１１】
無線装置３６のテーブル作成モジュール２４３は、無線装置３２，３５，３８，３７，３９，４１からそれぞれ受信したＨｅｌｌｏパケットＰＫＴ１〜ＰＫＴ６をＵＤＰモジュール２３から受け、その受けたＨｅｌｌｏパケットＰＫＴ１〜ＰＫＴ６からそれぞれネイバーリスト１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇを読み出す。
【０１１２】
そして、テーブル作成モジュール２４３は、その読み出したネイバーリスト１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇに基づいて、無線装置３２，３５，３７，３８，３９，４１が無線装置３６に隣接することを検知し、ネオバーリスト１０を作成する。
【０１１３】
また、テーブル作成モジュール２４３は、ＨｅｌｌｏパケットＰＫＴ１〜ＰＫＴ６を受信したときの受信信号強度Ｒｅｃｅｉｖｅ［３２］，Ｒｅｃｅｉｖｅ［３５］，Ｒｅｃｅｉｖｅ［３８］，Ｒｅｃｅｉｖｅ［３７］，Ｒｅｃｅｉｖｅ［３９］，Ｒｅｃｅｉｖｅ［４１］を無線インターフェースモジュール１６から受ける。
【０１１４】
そうすると、テーブル作成モジュール２４３は、受信信号強度Ｒｅｃｅｉｖｅ［３２］，Ｒｅｃｅｉｖｅ［３５］，Ｒｅｃｅｉｖｅ［３８］，Ｒｅｃｅｉｖｅ［３７］，Ｒｅｃｅｉｖｅ［３９］，Ｒｅｃｅｉｖｅ［４１］の各々を閾値ＷＩｔｈと比較し、受信信号強度Ｒｅｃｅｉｖｅ［３２］，Ｒｅｃｅｉｖｅ［３５］，Ｒｅｃｅｉｖｅ［３８］，Ｒｅｃｅｉｖｅ［３７］，Ｒｅｃｅｉｖｅ［３９］，Ｒｅｃｅｉｖｅ［４１］の中から閾値ＷＩｔｈ以上の受信信号強度を抽出する。
【０１１５】
例えば、受信信号強度Ｒｅｃｅｉｖｅ［３７］のみが閾値ＷＩｔｈよりも小さいとすると、テーブル作成モジュール２４３は、無線装置３７をネイバーリスト１０から削除し、ネイバーリスト１０Ａを作成する。即ち、テーブル作成モジュール２４３は、無線装置３６に隣接する無線装置３２，３５，３７，３８，３９，４１のうち、無線装置３６との間の受信信号強度が閾値ＷＩｔｈ以上になる無線装置３２，３５，３８，３９，４１を無線装置３６に隣接する無線装置として選択する。
【０１１６】
その後、テーブル作成モジュール２４３は、ネイバーリスト１０Ｂ，１０Ｃ，１０Ｄ，１０Ｆ，１０Ｇと、トポロジーに関する情報を含むＴＣメッセージとに基づいて、ルーティングテーブル２１Ａを作成する（図１３の（ｃ）参照）。
【０１１７】
テーブル作成モジュール２４３は、ネイバーリスト１０Ｄを見れば、無線装置３８が無線装置３６、無線装置３９および無線装置４０に隣接していることを検知でき、ネイバーリスト１０Ｆを見れば、無線装置３９が無線装置３６および無線装置４０に隣接していることを検知できる。その結果、テーブル作成モジュール２４３は、無線装置４０が無線装置３６からのホップ数が“２ホップ”である位置に存在することを検知し、ルーティングテーブル２１Ａの第１行目の経路を作成する。
【０１１８】
また、テーブル作成モジュール２４３は、ネイバーリスト１０Ｆを見れば、無線装置３９が無線装置３６および無線装置４２に隣接していることを検知でき、ネイバーリスト１０Ｇを見れば、無線装置４１が無線装置３６、無線装置３９および無線装置４２に隣接していることを検知できる。その結果、テーブル作成モジュール２４３は、無線装置４２が無線装置３６からのホップ数が“２ホップ”である位置に存在することを検知し、ルーティングテーブル２１Ａの第２行目の経路を作成する。
【０１１９】
更に、テーブル作成モジュール２４３は、ネイバーリスト１０Ｇを見れば、無線装置４１が無線装置３６、無線装置３９および無線装置４３に隣接していることを検知できる。その結果、テーブル作成モジュール２４３は、無線装置４３が無線装置３６からのホップ数が“２ホップ”である位置に存在することを検知し、ルーティングテーブル２１Ａの第３行目の経路を作成する。この場合、テーブル作成モジュール２４３は、閾値ＷＩｔｈを導入してルーティングテーブル２１Ａを作成したので、ルーティングテーブル２１Ａのフラグに“０”を格納する。
【０１２０】
上述したように、閾値ＷＩｔｈを決定することにより、安定な電波環境において送受信されるＨｅｌｌｏパケットに基づいてルーティングテーブル２１を作成できる。
【０１２１】
その結果、各無線装置に隣接する無線装置の情報が頻繁に変更されず、安定したルーティングテーブル２１を作成でき、安定したルーティングが可能である。
【０１２２】
図１４は、ルーティングテーブルを作成する動作を説明するためのフローチャートである。
【０１２３】
一連の動作が開始されると、各無線装置３１〜４３において、ルーティングデーモン２４の信号強度測定モジュール２４１は、周りのｎ個の無線装置から受信した複数のＨｅｌｌｏパケットの複数の受信信号強度に基づいて、ｍ個の最大値／最小値の組を検出し（ステップＳ１）、その検出したｍ個の最大値／最小値の組を閾値導入モジュール２４２へ出力する。
【０１２４】
そして、閾値導入モジュール２４２は、信号強度測定モジュール２４１から受けたｍ個の最大値／最小値の組に基づいて、安定な電波環境において送受信される電波の最小強度以上の受信信号強度を検出するための閾値ＷＩｔｈを設定する（ステップＳ２）。
【０１２５】
そして、テーブル作成モジュール２４３は、閾値ＷＩｔｈを閾値導入モジュール２４２から受け、その受けた閾値ＷＩｔｈ以上の受信信号強度を有するＨｅｌｌｏパケットを受信し、上述した方法によってルーティングテーブル２１を作成する（ステップＳ３）。これによって、一連の動作が終了する。
【０１２６】
図１５は、図１４に示すステップＳ１の詳細な動作を説明するためのフローチャートである。一連の動作が開始されると、信号強度測定モジュール２４１は、ｋ＝１を設定し（ステップＳ１０）、ｍ＝１を設定し（ステップＳ１１）、ＨｅｌｌｏパケットをＵＤＰモジュール２３から受信する（ステップＳ１２）。
【０１２７】
そして、無線インターフェースモジュール１６は、無線装置ｋ（ｋは、無線装置を識別する情報である）からＨｅｌｌｏパケットを受信すると、そのＨｅｌｌｏパケットを受信したときの受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍを検出してルーティングデーモン２４の信号強度測定モジュール２４１へ出力する。
【０１２８】
信号強度測定モジュール２４１は、無線インターフェースモジュール１６から受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍを受け、無線装置ｋから受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍを検出する（ステップＳ１３）。
【０１２９】
そして、信号強度測定モジュール２４１は、その検出した受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍを受信信号強度の最大値ＭＡＸ［ｋ］および最小値ＭＩＮ［ｋ］として設定する（ステップＳ１４）。つまり、信号強度測定モジュール２４１は、最大値ＭＡＸ［ｋ］および最小値［ｋ］を初期化する。
【０１３０】
その後、信号強度測定モジュール２４１は、ｍ＝ｍ＋１を設定し（ステップＳ１５）、Ｈｅｌｌｏパケットを受信する（ステップＳ１６）。そして、信号強度測定モジュール２４１は、ステップＳ１３における動作と同じ動作によってステップＳ１６において受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１を検出する（ステップＳ１７）。
【０１３１】
そうすると、信号強度測定モジュール２４１は、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１が最大値ＭＡＸ［ｋ］よりも大きいか否かを判定し（ステップＳ１８）、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１が最大値ＭＡＸ［ｋ］よりも大きいとき、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１を最大値ＭＡＸ［ｋ］として設定する（ステップＳ１９）。
【０１３２】
一方、ステップＳ１８において、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１が最大値ＭＡＸ［ｋ］以下であると判定されたとき、信号強度測定モジュール２４１は、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１が最小値ＭＩＮ［ｋ］よりも小さいか否かを更に判定し（ステップＳ２０）、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１が最小値ＭＩＮ［ｋ］よりも小さいとき、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１を最小値ＭＩＮ［ｋ］として設定する（ステップＳ２１）。
【０１３３】
ステップＳ２０において、受信信号強度Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１が最小値ＭＩＮ［ｋ］以上であると判定されたとき、またはステップＳ１９の後、またはステップＳ２１の後、信号強度測定モジュール２４１は、ｍがｍａｘ＿ｎｕｍよりも小さいか否かを判定し（ステップＳ２２）、ｍがｍａｘ＿ｎｕｍよりも小さいとき、一連の動作は、ステップＳ１５へ移行する。そして、ステップＳ２２において、ｍがｍａｘ＿ｎｕｍに到達するまで、上述したステップＳ１５〜ステップＳ２２が繰返し実行される。
【０１３４】
ｍａｘ＿ｎｕｍは、１つの無線装置からＨｅｌｌｏパケットを一定時間内に受信する最大受信回数を表し、例えば、ｍａｘ＿ｎｕｍ＝３０回に設定される。この３０回は、１分間に受信するＨｅｌｌｏパケットの個数に基づく。
【０１３５】
従って、ステップＳ２２において、１分間にＨｅｌｌｏパケットを３０回受信したと判定されるまで、ステップＳ１５〜ステップＳ２２が繰返し実行される。
【０１３６】
そして、ステップＳ２２において、Ｈｅｌｌｏパケットの受信回数ｍがｍａｘ＿ｎｕｍ（＝３０）に到達したと判定されると、信号強度測定モジュール２４１は、ｋ＝ｎであるか否かを判定し（ステップＳ２３）、ｋ＝ｎでないとき、ｋ＝ｋ＋１を設定し（ステップＳ２４）、その後、一連の動作は、ステップＳ１１へ移行する。そして、ステップＳ２３において、ｋ＝ｎであると判定されるまで、上述したステップＳ１１〜ステップＳ２４が繰返し実行される。
【０１３７】
ｎは、各無線装置から１ホップ内に存在する無線装置の個数を表し、より具体的には、上述した閾値ＷＩｔｈを決定するための無線装置の個数を表す。そして、ｎは、例えば、“５”に設定される。１つの無線装置の１ホップ内に５個の無線装置が存在し、５個の無線装置が１つの無線装置へＨｅｌｌｏパケットを定期的に送信すれば、その１つの無線装置は、図１０に示すような受信信号強度と無線装置の数との関係を取得でき、閾値ＷＩｔｈを信頼性良く決定できるからである。
【０１３８】
そして、ステップＳ２３において、ｋ＝ｎであると判定されると、一連の動作は、図１４のステップＳ２へ移行する。
【０１３９】
このように、図１５に示すフローチャートに従えば、１つの無線装置の信号強度測定モジュール２４１は、自己の１ホップ内に存在するｎ個の無線装置の各々からｍ個のＨｅｌｌｏパケットを順次受け、その受けたｍ個のＨｅｌｌｏパケットのｍ個の受信信号強度に基づいて、ｎ個の無線装置の各々ごとに最大値／最小値の組ＭＡＸ［ｋ］，ＭＩＮ［ｋ］を検出し、その検出したｎ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｎ］，ＭＩＮ［ｎ］を閾値導入モジュール２４２へ出力する。
【０１４０】
図１６は、図１４に示すステップＳ２の詳細な動作を説明するためのフローチャートである。
【０１４１】
一連の動作が開始されると、閾値導入モジュール２４２は、信号強度測定モジュール２４１からｎ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｎ］，ＭＩＮ［ｎ］を受け、ｎ個の最大値ＭＡＸ［１］〜ＭＡＸ［ｎ］が大きい順序になるようにｎ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｎ］，ＭＩＮ［ｎ］を並べ替え（図８参照）、その並べ替えたｎ組の最大値／最小値をｎ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［ｎ］，Ｄ＿ＭＩＮ［ｎ］として設定する（ステップＳ３１）。
【０１４２】
そして、閾値導入モジュール２４２は、隣接する２つの最大値の差Ｄ＿ＭＡＸ［ｊ］−Ｄ＿ＭＡＸ［ｊ＋１］を順次演算し、差Ｄ＿ＭＡＸ［ｊ］−Ｄ＿ＭＡＸ［ｊ＋１］が最大となる２組の最大値／最小値｛Ｄ＿ＭＡＸ［ｉ］，ＭＩＮ［ｉ］｝，｛Ｄ＿ＭＡＸ［ｉ＋１］，ＭＩＮ［ｉ＋１］｝を検出する（ステップＳ３２）。
【０１４３】
その後、閾値導入モジュール２４２は、最小値ＭＩＮ［ｉ］と最小値ＭＩＮ［ｉ＋１］との平均（＝（ＭＩＮ［ｉ］＋ＭＩＮ［ｉ＋１］）／２）を演算し、その演算結果を閾値ＷＩｔｈとして決定する（ステップＳ３３）。
【０１４４】
そして、一連の動作は、図１４のステップＳ３へ移行する。
【０１４５】
このように、各無線装置は、自己の１ホップ内に存在するｎ（ｎは５以上の整数）個の無線装置の各々から所定数（＝３０個）のＨｅｌｌｏパケットを受信し、ｎ個の無線装置の各々について受信信号強度の最大値／最小値の組ＭＡＸ［ｋ］，ＭＩＮ［ｋ］を検出する。そして、各無線装置は、その検出したｎ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｎ］，ＭＩＮ［ｎ］をｎ個の最大値ＭＡＸ［１］〜ＭＡＸ［ｎ］が大きい順に配列されるように並べ替え、その並べ替えたｎ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［ｎ］，Ｄ＿ＭＩＮ［ｎ］において、隣接する２つの最大値の差が最大になる２つの最大値Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＡＸ［ｉ＋１］を検出し、その検出した２つの最大値Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＡＸ［ｉ＋１］に対応する２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の平均値を閾値ＷＩｔｈとして決定する。
【０１４６】
各無線装置に隣接する無線装置が５個以上存在するときは、上述した方法によって閾値ＷＩｔｈを安定して決定できるが、各無線装置に隣接する無線装置が５個よりも少ないとき、上述した方法によって閾値ＷＩｔｈを安定して決定することが困難である。
【０１４７】
そこで、各無線装置に隣接する無線装置が５個よりも少ないときは、次の方法によって閾値ＷＩｔｈを決定する。無線装置３６に隣接する無線装置が無線装置３９のみである場合を例にして説明する。
【０１４８】
無線装置３９は、送信パワーをＰ（Ｐは５以上の整数）個の送信パワーに順次切換え、各送信パワーにおいて一定時間（１分）内に一定個数（ｍ＝３０個）のＨｅｌｌｏパケットを無線装置３６へ送信する。
【０１４９】
そして、無線装置３６の信号強度測定モジュール２４１は、各送信パワーにおいて受信したｍ個のＨｅｌｌｏパケットのｍ個の受信信号強度に基づいて各送信パワーにおける受信信号強度の最大値／最小値の組ＭＡＸ［ｐ］，ＭＩＮ［ｐ］を検出し、その検出したＰ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］を閾値導入モジュール２４２へ出力する。
【０１５０】
閾値導入モジュール２４２は、Ｐ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］をＰ個の最大値ＭＡＸ［１］〜ＭＡＸ［Ｐ］が大きい順に配列されるように並べ替え、その並べ替えたＰ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［Ｐ］，Ｄ＿ＭＩＮ［Ｐ］において、隣接する２つの最大値の差が最大になる２つの最大値Ｄ＿ＭＡＸ［ｉ］，ＭＡＸ［ｉ＋１］を検出し、その検出した２つの最大値Ｄ＿ＭＡＸ［ｉ］，ＭＡＸ［ｉ＋１］に対応する２つの最小値Ｄ＿ＭＩＮ［ｉ］，ＭＩＮ［ｉ＋１］の平均値を閾値ＷＩｔｈと決定する。
【０１５１】
図１７は、図１４に示すステップＳ１の詳細な動作を説明するための他のフローチャートである。図１７に示すフローチャートは、図１５に示すフローチャートのステップＳ１０，Ｓ１２，Ｓ１６，Ｓ２３，Ｓ２４をそれぞれステップＳ１０Ａ，Ｓ１２Ａ，Ｓ１６Ａ，Ｓ２３Ａ，Ｓ２４Ａに代えたものであり、その他は、図１５に示すフローチャートと同じである。
【０１５２】
一連の動作が開始されると、信号強度測定モジュール２４１は、ｐ＝１を設定する（ステップＳ１０Ａ）。そして、上述したステップＳ１１が実行された後、信号強度測定モジュール２４１は、送信パワーＰＷｐで送信されたＨｅｌｌｏパケットを受信する（ステップＳ１２Ａ）。その後、上述したステップＳ１３〜Ｓ１５が実行される。この場合、図１５のステップＳ１３，Ｓ１４に示されるＲｅｃｅｉｖｅ［ｋ］ｍは、Ｒｅｃｅｉｖｅ［ｐ］ｍに読み替えられ、図１５のステップＳ１４に示されるＭＡＸ［ｋ］，ＭＩＮ［ｋ］は、それぞれ、ＭＡＸ［ｐ］，ＭＩＮ［ｐ］に読み替えられる。
【０１５３】
ステップＳ１５の後、信号強度測定モジュール２４１は、送信パワーＰＷｐで送信されたＨｅｌｌｏパケットを受信する（ステップＳ１６Ａ）。そして、上述したステップＳ１７〜ステップＳ２２が実行される。この場合、Ｒｅｃｅｉｖｅ［ｋ］ｍ＋１，ＭＡＸ［ｋ］，ＭＩＮ［ｋ］は、それぞれ、Ｒｅｃｅｉｖｅ［ｐ］ｍ＋１，ＭＡＸ［ｐ］，ＭＩＮ［ｐ］に読み替えられる。
【０１５４】
ステップＳ２２において、ｍがｍａｘ＿ｎｕｍに到達したと判定されると、信号強度測定モジュール２４１は、ｐ＝Ｐであるか否かを判定し（ステップＳ２３Ａ）、ｐ＝Ｐでないとき、ｐ＝ｐ＋１を設定し（ステップＳ２４Ａ）、その後、一連の動作は、ステップＳ１１へ移行する。
【０１５５】
そして、ステップＳ２３Ａにおいて、ｐ＝Ｐであると判定されるまで、上述したステップＳ１１，Ｓ１２Ａ，Ｓ１３〜Ｓ１５，Ｓ１６Ａ，Ｓ１７〜Ｓ２２，Ｓ２３Ａ，Ｓ２４Ａが繰返し実行される。つまり、送信パワーＰＷｐがＰ個の送信パワーの全てに変えられるまで、上述したステップＳ１１，Ｓ１２Ａ，Ｓ１３〜Ｓ１５，Ｓ１６Ａ，Ｓ１７〜Ｓ２２，Ｓ２３Ａ，Ｓ２４Ａが繰返し実行される。
【０１５６】
これにより、Ｐ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］が検出される。
【０１５７】
そして、ステップＳ２３Ａにおいて、ｐ＝Ｐであると判定されると、一連の動作は、図１４に示すステップＳ２へ移行し、図１６に示すフローチャートに従って、Ｐ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］に基づいて閾値ＷＩｔｈが決定される。
【０１５８】
このように、各無線装置は、自己の１ホップ内に存在する１個の無線装置から送信パワーＰＷをＰ個に変えながら、各送信パワーＰＷにおいて所定数（ｍ＝３０個）のＨｅｌｌｏパケットを受信し、Ｐ個の送信パワーＰＷの各々について受信信号強度の最大値／最小値の組ＭＡＸ［ｐ］，ＭＩＮ［ｐ］を検出する。そして、各無線装置は、その検出したＰ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］をＰ個の最大値ＭＡＸ［１］〜ＭＡＸ［Ｐ］が大きい順に配列されるように並べ替え、その並べ替えたＰ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［Ｐ］，Ｄ＿ＭＩＮ［Ｐ］において、隣接する２つの最大値の差が最大になる２つの最大値Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＡＸ［ｉ＋１］を検出し、その検出した２つの最大値Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＡＸ［ｉ＋１］に対応する２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の平均値を閾値ＷＩｔｈとして決定する。
【０１５９】
上述したように、この発明によれば、無線ネットワークシステム１００を構成する無線装置３１〜４３が定期的にブロードキャストするＨｅｌｌｏパケットを利用して、各無線装置から受信したＨｅｌｌｏパケットの最大受信信号強度／最小受信信号強度ＭＡＸ［ｋ］，ＭＩＮ［ｋ］（またはＭＡＸ［ｐ］，ＭＩＮ［ｐ］）を検出できる。
【０１６０】
従って、各無線装置は、アドホックネットワークにおける通常の動作を利用して安定な電波環境において送受信されるＨｅｌｌｏパケットのみを受信し、その受信したＨｅｌｌｏパケットに基づいて、安定なルーティングテーブル２１を作成できる。その結果、安定なルーティングが可能である。
【０１６１】
上述したように、各無線装置に隣接する無線装置の個数が５個以上であれば、１個の無線装置から受信したＨｅｌｌｏパケットの受信信号強度の最大値／最小値の組ＭＡＸ［ｋ］，ＭＩＮ［ｋ］を５個以上の無線装置の各々について検出し、その検出した５組以上の最大値／最小値ＭＡＸ［ｋ］，ＭＩＮ［ｋ］に基づいて閾値ＷＩｔｈを決定し、各無線装置に隣接する無線装置の個数が５個よりも少なければ、１個の無線装置から受信したＨｅｌｌｏパケットの受信信号強度の最大値／最小値の組ＭＡＸ［ｐ］，ＭＩＮ［ｐ］を５個以上の送信パワーの各々について検出し、その検出した５組以上の最大値／最小値ＭＡＸ［ｐ］，ＭＩＮ［ｐ］に基づいて閾値ＷＩｔｈを決定する。
【０１６２】
従って、この発明においては、Ｈｅｌｌｏパケットを送信する無線装置の個数をカウントし、そのカウント結果に応じて、上述した２つの方法のいずれかによって閾値ＷＩｔｈを決定してもよい。
【０１６３】
図１８は、ルーティングテーブルを作成する動作を説明するための他のフローチャートである。一連の動作が開始されると、各無線装置３１〜４３の信号強度測定モジュール２４１は、ブロードキャストされたＨｅｌｌｏパケットの発信元アドレスに基づいて、隣の無線装置の個数Ｎ（Ｎは正の整数）をカウントし（ステップＳ４１）、そのカウントした個数Ｎが基準値Ｎｓｔｄ（例えば、５個）以上であるか否かを判定する（ステップＳ４２）。
【０１６４】
そして、隣の無線装置の個数Ｎが基準値Ｎｓｔｄ以上であるとき、信号強度測定モジュール２４１は、図１５に示すフローチャートに従ってｎ組の最大値／最小値ＭＡＸ［ｋ］，ＭＩＮ［ｋ］を検出し、その検出したｎ組の最大値／最小値ＭＡＸ［ｋ］，ＭＩＮ［ｋ］を閾値導入モジュール２４２へ出力する。
【０１６５】
閾値導入モジュール２４２は、信号強度測定モジュール２４１から受けたｎ組の最大値／最小値ＭＡＸ［ｋ］，ＭＩＮ［ｋ］に基づいて、図１６に示すフローチャートに従って閾値ＷＩｔｈを決定し、その決定した閾値ＷＩｔｈをテーブル作成モジュール２４３へ出力する（ステップＳ４３）。
【０１６６】
一方、ステップＳ４２において、隣の無線装置の個数Ｎが基準値Ｎｓｔｄよりも小さいと判定されたとき、信号強度測定モジュール２４１は、図１７に示すフローチャートに従ってＰ組の最大値／最小値ＭＡＸ［ｐ］，ＭＩＮ［ｐ］を検出し、その検出したＰ組の最大値／最小値ＭＡＸ［ｐ］，ＭＩＮ［ｐ］を閾値導入モジュール２４２へ出力する。
【０１６７】
閾値導入モジュール２４２は、信号強度測定モジュール２４１から受けたＰ組の最大値／最小値ＭＡＸ［ｐ］，ＭＩＮ［ｐ］に基づいて、図１６に示すフローチャートに従って閾値ＷＩｔｈを決定し、その決定した閾値ＷＩｔｈをテーブル作成モジュール２４３へ出力する（ステップＳ４４）。
【０１６８】
そして、ステップＳ４３またはステップＳ４４の後、テーブル作成モジュール２４３は、閾値導入モジュール２４２から受けた閾値ＷＩｔｈ以上の受信信号強度を有するＨｅｌｌｏパケットを受信し、上述した方法によってルーティングテーブル２１を作成する（ステップＳ４５）。これによって、一連の動作は終了する。
【０１６９】
このように、図１８に示すフローチャートに従えば、隣接する無線装置の個数に拘わらず、閾値ＷＩｔｈを決定でき、その決定した閾値ＷＩｔｈに基づいて、安定したルーティングテーブル２１を作成できる。その結果、安定したルーティングが可能である。
【０１７０】
図１９は、ルーティングテーブルを作成する動作を説明するための更に他のフローチャートである。この発明においては、図１９に示すフローチャートに従ってルーティングテーブル２１が作成されてもよい。
【０１７１】
図１９に示すフローチャートは、図１８に示すフローチャートのステップＳ４５を削除し、ステップＳ４６〜ステップＳ５２を追加したものであり、その他は、図１８に示すフローチャートと同じである。なお、図１９に示すフローチャートにおいては、ステップＳ４３において閾値ＷＩｔｈ１が決定され、ステップＳ４４において閾値ＷＩｔｈ２が決定される。
【０１７２】
ステップＳ４３の後、各無線装置３１〜４３のテーブル作成モジュール２４３は、閾値ＷＩｔｈ１以上の受信信号強度を有するＨｅｌｌｏパケットを受信してルーティングテーブル２１を作成する（ステップＳ４６）。
【０１７３】
また、ステップＳ４４の後、各無線装置３１〜４３のテーブル作成モジュール２４３は、閾値ＷＩｔｈ２以上の受信信号強度を有するＨｅｌｌｏパケットを受信してルーティングテーブル２１を作成する（ステップＳ４７）。そして、各無線装置３１〜４３の信号強度測定モジュール２４１は、隣接する無線装置の個数Ｎが基準値Ｎｓｔｄ以上に増加したか否かを判定し（ステップＳ４８）、個数Ｎが基準値Ｎｓｔｄ以上に増加したとき、図１５に示すフローチャートに従ってｎ組の最大値／最小値ＭＡＸ［ｋ］，ＭＩＮ［ｋ］を検出し、閾値導入モジュール２４２は、ｎ組の最大値／最小値ＭＡＸ［ｋ］，ＭＩＮ［ｋ］に基づいて、図１６に示すフローチャートに従って閾値ＷＩｔｈ３を決定する（ステップＳ４９）。
【０１７４】
その後、テーブル作成モジュール２４３は、閾値ＷＩｔｈ３以上の受信信号強度を有するＨｅｌｌｏパケットを受信してルーティングテーブル２１を作成する（ステップＳ５０）。
【０１７５】
一方、ステップＳ４８において、個数Ｎが基準値Ｎｓｔｄ以上に増加していないと判定されたとき、テーブル作成モジュール２４３は、閾値ＷＩｔｈ２を維持してルーティングテーブル２１を作成する（ステップＳ５１）。その後、一連の動作は、ステップＳ４８へ移行する。
【０１７６】
そして、ステップＳ４６またはステップＳ５０の後、各無線装置３１〜４３のテーブル作成モジュール２４３は、隣の無線装置の個数Ｎが変化（増加または減少）しても、閾値ＷＩｔｈ１（またはＷＩｔｈ３）を維持してルーティングテーブル２１を作成する（ステップＳ５２）。
【０１７７】
これにより、一連の動作が終了する。
【０１７８】
図１９に示すフローチャートは、隣の無線装置の個数Ｎが基準値Ｎｓｔｄ以上であれば、その後、個数Ｎが変化しても、最初に決定した閾値ＷＩｔｈ１を維持してルーティングテーブル２１を作成し（ステップＳ４２の“Ｙｅｓ”，ステップＳ４３，Ｓ４６，Ｓ５２参照）、最初、隣の無線装置の個数Ｎが基準値Ｎｓｔｄに達しないとき、送信パワーを変化させて閾値ＷＩｔｈ２を決定し（ステップＳ４２の“Ｎｏ”およびステップＳ４４参照）、隣の無線装置の個数Ｎが基準値Ｎｓｔｄ以上に増加すると、再度、閾値ＷＩｔｈ３を決定し、その決定した閾値Ｗｉｔｈ３によって閾値ＷＩｔｈ１を更新し、その後、閾値ＷＩｔｈ３を維持してルーティングテーブル２１を作成する（Ｓ４７〜Ｓ５２参照）。
【０１７９】
即ち、この発明においては、隣の無線装置の個数Ｎが基準値Ｎｓｔｄ以上に増加した場合に、閾値ＷＩｔｈが更新され、それ以外の場合には、閾値ＷＩｔｈは更新されない。
【０１８０】
なお、図１９に示すフローチャートにおいては、隣接する無線装置の個数Ｎが一定数増加した場合に、閾値ＷＩｔｈを更新するようにしてもよい。この場合、図１９に示すステップＳ４８においては、無線装置の個数Ｎが一定数増加したか否かが判定される。それ以外は、図１９に示すフローチャートと同じである。
【０１８１】
図２０は、ルーティングテーブルを作成する動作を説明するための更に他のフローチャートである。この発明においては、図２０に示すフローチャートに従ってルーティングテーブル２１が作成されてもよい。
【０１８２】
図２０に示すフローチャートは、図１９に示すフローチャートのステップＳ４８〜ステップＳ５２をステップＳ４８Ａ〜ステップＳ５２Ａに代えたものであり、その他は、図１９に示すフローチャートと同じである。
【０１８３】
ステップＳ４６またはステップＳ４７の後、信号強度測定モジュール２４１は、パケットロスを検出する（ステップＳ４８Ａ）。より具体的には、信号強度測定モジュール２４１は、一定時間内に規定数のパケットを受信しなかったことによりパケットロスを検出する。
【０１８４】
そして、信号強度測定モジュール２４１は、その検出したパケットロスが所定数以上であるか否かを判定する（ステップＳ４９Ａ）。パケットロスが所定数以上でないとき、テーブル作成モジュール２４３は、閾値ＷＩｔｈ１またはＷＩｔｈ２を維持してルーティングテーブル２１を作成する（ステップＳ５０Ａ）。その後、一連の動作は、ステップＳ４８Ａへ移行する。
【０１８５】
一方、ステップＳ４９Ａにおいて、パケットロスが所定数以上であると判定されたとき、信号強度測定モジュール２４１および閾値導入モジュール２４２は、図１５および図１６に示すフローチャートに従って、または図１７および図１６に示すフローチャートに従って閾値ＷＩｔｈ４を決定し、その決定した閾値ＷＩｔｈ４によって閾値ＷＩｔｈ１またはＷＩｔｈ２を更新する（ステップＳ５１Ａ）。
【０１８６】
その後、テーブル作成モジュール２４３は、閾値ＷＩｔｈ４以上の受信信号強度を有するＨｅｌｌｏパケットを受信してルーティングテーブル２１を作成する（ステップＳ５２Ａ）。これによって、一連の動作が終了する。
【０１８７】
図２０に示すフローチャートは、パケットロスが所定数以上になると、閾値ＷＩｔｈを更新し、それ以外の場合、閾値ＷＩｔｈを更新しない。パケットロスが所定数以上になると、電波環境が不安定になっている可能性が高いので、閾値Ｗｉｔｈを更新することにしたものである。
【０１８８】
図２１は、パケットエラー率と実験回数との関係を示す図である。図２１において、縦軸は、パケットエラー率を表し、横軸は、実験回数を表す。また、閾値ＷＩｔｈ＿Ｈ，ＷＩｔｈ＿Ｌ，ＷＩｔｈ＿Ｊは、それぞれ、図１０に示すＷＩｔｈ＿Ｈ，ＷＩｔｈ＿Ｌ，ＷＩｔｈ＿Ｊであり、閾値ＷＩｔｈ＿Ｈは、高過ぎる閾値を表し、閾値ＷＩｔｈ＿Ｌは、低過ぎる閾値を表し、閾値ＷＩｔｈ＿Ｊは、この発明による閾値を表す。更に、ＷＩｔｈ＿ＮＯは、閾値を設定しなかった場合を表す。
【０１８９】
図２１から明らかなように、この発明によって決定した閾値ＷＩｔｈ＿Ｊを用いた場合、パケットエラー率は、１０回の実験回数まで零である。しかし、閾値ＷＩｔｈが高過ぎる場合、閾値ＷＩｔｈが低過ぎる場合、および閾値ＷＩｔｈを設定しなかった場合は、パケットエラー率が実験回数とともに大きく変化する。即ち、閾値ＷＩｔｈが高過ぎる場合、閾値ＷＩｔｈが低過ぎる場合、および閾値ＷＩｔｈを設定しなかった場合は、ルーティングテーブル２１が頻繁に書き換えられ、無線ネットワークシステム１００内にループが発生し、パケットの到着順序が大幅に入れ替わり、パケットエラー率が増加する。
【０１９０】
従って、この発明による方法によって閾値ＷＩｔｈを決定することによって、安定したルーティングテーブル２１を作成でき、安定してルーティングを行なえることが実験的にも証明できた。
【０１９１】
閾値ＷＩｔｈを導入することによって、安定したルーティングテーブル２１を作成することができるが、無線ネットワークシステム１００において、無線装置３１〜４３の配置に偏りがある場合、偏った位置に配置された無線装置が無線ネットワークシステム１００から排除されてしまう。
【０１９２】
図２２は、無線装置の配置に偏りがあるネットワーク構成の概念図である。無線装置３２，３５は、無線装置３６〜４３の配置位置から偏った位置に配置されている。このような状況において、無線装置３２は、無線装置３５〜３８から受信した複数のＨｅｌｌｏパケットの複数の受信信号強度に基づいて、上述した方法によって閾値ＷＩｔｈ（３２）を決定する。この場合、無線装置３２と無線装置３５との距離は、無線装置３２と無線装置３６，３７，３８との距離よりも短いため、閾値ＷＩｔｈ（３２）は、無線装置３５から受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［３５］が大きく反映されて決定される。即ち、閾値ＷＩｔｈ（３２）は、受信信号強度Ｒｅｃｅｉｖｅ［３５］に近い値に決定される。
【０１９３】
そうすると、無線装置３２が無線装置３６〜３８から受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［３６］〜Ｒｅｃｅｉｖｅ［３８］は、閾値ＷＩｔｈ（３２）よりも低くなり、無線装置３２のテーブル作成モジュール２４３は、無線装置３６〜３８をネイバーリストから削除し、無線装置３６〜３８を経由する経路の経路情報をルーティングテーブル２１から削除する。
【０１９４】
その結果、無線装置３２，３５と無線装置３６〜４３との間で無線通信が行なわれず、無線装置３２，３５は、無線ネットワークシステム１００において孤立する。
【０１９５】
そこで、以下においては、上述したような無線装置の孤立が発生するのを防止する方法について説明する。
【０１９６】
図２３は、ネイバーリスト、ルーティングテーブルおよびＨｅｌｌｏパケットを示す図である。無線装置３２のテーブル作成モジュール２４３は、閾値ＷＩｔｈ（３２）を導入しない場合、ネイバーリスト１０Ｈを作成して保持する。そして、無線装置３２のテーブル作成モジュール２４３は、ネイバーリスト１０Ｈに基づいて、閾値ＷＩｔｈ（３２）を導入した場合の無線装置３２に隣接する隣接無線装置の個数が基準値（例えば、５個）よりも少ないか否かを判定する。
【０１９７】
この場合、無線装置３２が無線装置３６〜３８から受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［３６］〜Ｒｅｃｅｉｖｅ［３８］は、閾値ＷＩｔｈ（３２）よりも低く、無線装置３２が無線装置３５から受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［３５］は、閾値ＷＩｔｈ（３２）よりも高いので、無線装置３２のテーブル作成モジュール２４３は、閾値ＷＩｔｈ（３２）を導入した場合の隣接無線装置の個数を“１”とカウントし、隣接無線装置の個数が基準値よりも少ないと判定する（図２３の（ａ）参照）。
【０１９８】
そうすると、無線装置３２のテーブル作成モジュール２４３は、閾値ＷＩｔｈ（３２）を導入せずにネイバーリスト１０Ｈを作成し、その作成したネイバーリスト１０Ｈに基づいて、ルーティングテーブル２１Ｂにおいて無線装置３６〜３８を経由する経路の経路情報を維持し、無線装置３６〜３８を経由する経路の経路情報のフラグに“１”を格納する（図２３の（ｂ）参照）。
【０１９９】
そして、無線装置３２のテーブル作成モジュール２４３は、閾値ＷＩｔｈ（３２）を導入せずに経路情報を維持した場合、無線装置３２において閾値ＷＩｔｈ（３２）を決定できなかったので、閾値ＷＩｔｈ（３２）を決定できなかったことを示すフラグを含むＨｅｌｌｏパケットＨＬＰ１を作成して無線装置３５〜３８へ送信する。この場合、ＨｅｌｌｏパケットＨＬＰ１は、無線装置３２のＩＰアドレスＩＰａｄｄｒｅｓｓ３２および閾値ＷＩｔｈ（３２）を決定できなかったことを示すフラグ“１”を含む（図２３の（ｃ）参照）。
【０２００】
無線装置３６のテーブル作成モジュール２４３は、無線装置３２からＨｅｌｌｏパケットＨＬＰ１を受信し、ＨｅｌｌｏパケットＨＬＰ１の送信元である無線装置３２のＩＰアドレスＩＰａｄｄｒｅｓｓ３２と、フラグ“１”とをＨｅｌｌｏパケットＨＬＰ１から検出する。そして、無線装置３６のテーブル作成モジュール２４３は、無線装置３２において閾値ＷＩｔｈ（３２）を決定できなかったことを検知し、無線装置３２を無条件にネイバーリストに登録し、ネイバーリスト１０Ｊを作成する（図２３の（ｄ）参照）。そうすると、無線装置３６のテーブル作成モジュール２４３は、ネイバーリスト１０Ｊに基づいて、無線装置３２を経由する経路の経路情報をルーティングテーブル２１において維持する。無線装置３７，３８のテーブル作成モジュール２４３も、無線装置３６のテーブル作成モジュール２４３と同様にして無線装置３２を経由する経路の経路情報をルーティングテーブル２１において維持する。
【０２０１】
このように、無線装置３２のテーブル作成モジュール２４３は、閾値ＷＩｔｈ（３２）を導入せずに、無線装置３６〜３８をネイバーリスト１０Ｈに登録するとともに、無線装置３６〜３８を経由する経路の経路情報をルーティングテーブル２１において維持し、無線装置３６〜３８のテーブル作成モジュール２４３は、無線装置３２を無条件にネイバーリスト１０Ｊに登録するとともに、無線装置３２を経由する経路の経路情報をルーティングテーブル２１において維持する。
【０２０２】
従って、この発明によれば、無線ネットワークシステム１００において、無線装置３２，３５が孤立するのを防止できる。
【０２０３】
図２４は、更に他のネイバーリストを示す図である。図２２に示すトポロジーにおいて、無線装置３２の隣接無線装置は、無線装置３５，３６であるとする。この場合、無線装置３２のテーブル作成モジュール２４３は、ネイバーリスト１０Ｋを作成し、その作成したネイバーリスト１０Ｋを含むＨｅｌｌｏパケットを作成して無線装置３５，３６へ送信する。
【０２０４】
無線装置３６のテーブル作成モジュール２４３は、無線装置３２からネイバーリスト１０Ｋを含むＨｅｌｌｏパケットを受信し、ネイバーリスト１０Ｋを読み出す。そして、無線装置３６のテーブル作成モジュール２４３は、ネイバーリスト１０Ｋに登録されている隣接無線装置の個数が基準値（例えば、３個）よりも少ないか否かを判定する。無線装置３６のテーブル作成モジュール２４３は、隣接無線装置の個数が基準値よりも少ないとき、無線装置３２を自己のネイバーリストに無条件に登録し、隣接無線装置の個数が基準値以上であるとき、閾値ＷＩｔｈを導入して無線装置３２を自己のネイバーリストに登録するか否かを決定する。
【０２０５】
この場合、ネイバーリスト１０Ｋは、２個の隣接無線装置を含むので（図２４の（ａ）参照）、無線装置３６のテーブル作成モジュール２４３は、隣接無線装置の個数が基準値よりも少ないと判定し、無線装置３２を自己のネイバーリストに無条件で登録し、ネイバーリスト１０Ｌを作成する（図２４の（ｂ）参照）。そして、無線装置３６のテーブル作成モジュール２４３は、ネイバーリスト１０Ｌに基づいて、無線装置３２を経由する経路の経路情報をルーティングテーブル２１において維持する。
【０２０６】
このように、この発明においては、他の無線装置から受信したネイバーリストに登録されている隣接無線装置の個数が基準値よりも少ないとき、そのネイバーリストを送信した無線装置をネイバーリストに無条件に登録し、そのネイバーリストを送信した無線装置を経由する経路の経路情報をルーティングテーブル２１において維持するようにしてもよい。
【０２０７】
また、この発明においては、パケットエラー率ＰＥＲの観測も行ない、受信信号強度が閾値ＷＩｔｈよりも低くても、パケットエラー率がしきい値ＰＥＲ＿ｔｈよりも低い場合、経路を維持するようにしてもよい。
【０２０８】
例えば、図２２に示すトポロジーにおいて、無線装置３６のＩＰモジュール２０は、無線装置３２から受信したパケットのパケットエラー率ＰＥＲを演算し、その演算したパケットエラー率ＰＥＲ［３２］をルーティングデーモン２４のテーブル作成モジュール２４３へ出力する。そして、無線装置３６のテーブル作成モジュール２４３は、無線装置３２から受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［３２］が閾値ＷＩｔｈ［３６］よりも低くても、パケットエラー率ＰＥＲ［３２］がしきい値ＰＥＲ＿ｔｈよりも低い場合、無線装置３２を自己のネイバーリストに登録し、無線装置３２を経由する経路の経路情報を維持する。
【０２０９】
次に、図２２に示す偏りと異なる偏りがある場合について説明する。図２５は、無線装置の配置に偏りがある他のネットワーク構成の概念図である。無線装置３１〜３５は、無線装置３６〜４３から偏った位置に配置されている。
【０２１０】
このような状況において、無線装置３５は、無線装置３１〜３４，３６〜３８から受信した複数のＨｅｌｌｏパケットの複数の受信信号強度に基づいて、上述した方法によって閾値ＷＩｔｈ（３５）を決定する。この場合、無線装置３５と無線装置３１〜３４との距離は、無線装置３５と無線装置３６〜３８との距離よりも短いため、閾値ＷＩｔｈ（３５）は、無線装置３１〜３４から受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［３１］，Ｒｅｃｅｉｖｅ［３２］，Ｒｅｃｅｉｖｅ［３３］，Ｒｅｃｅｉｖｅ［３４］が大きく反映されて決定される。即ち、閾値ＷＩｔｈ（３５）は、受信信号強度Ｒｅｃｅｉｖｅ［３１］，Ｒｅｃｅｉｖｅ［３２］，Ｒｅｃｅｉｖｅ［３３］，Ｒｅｃｅｉｖｅ［３４］に近い値に決定される。
【０２１１】
そうすると、無線装置３５が無線装置３６〜３８から受信したＨｅｌｌｏパケットの受信信号強度Ｒｅｃｅｉｖｅ［３６］〜Ｒｅｃｅｉｖｅ［３８］は、閾値ＷＩｔｈ（３５）よりも低くなり、無線装置３５のテーブル作成モジュール２４３は、無線装置３６〜３８をネイバーリストに登録せず、無線装置３６〜３８を経由する経路の経路情報をルーティングテーブル２１に格納しない。
【０２１２】
その結果、無線装置３１〜３５と無線装置３６〜４３との間で無線通信が行なわれず、無線装置３１〜３５は、無線ネットワークシステム１００において孤立する。
【０２１３】
無線装置３１〜３５が無線ネットワークシステム１００において孤立するのを防止するためには、無線装置３５が自己のネイバーリストを他の無線装置から受信したネイバーリストと比較し、登録されている無線装置の相違数が基準値（＝８０〜９０％）以上であるとき、閾値ＷＩｔｈを導入せずにネイバーリストを作成し、その作成したネイバーリストに基づいて、経路情報をルーティングテーブル２１に格納する。
【０２１４】
具体的に説明する。図２６は、ネイバーリストおよびルーティングテーブルを示す他の図である。無線装置３５のテーブル作成モジュール２４３は、無線装置３５におけるネイバーリスト１０Ｍ（図２６の（ａ）参照）を作成し、無線装置３６からネイバーリスト１０Ｎ（図２６の（ｂ）参照）を含むＨｅｌｌｏパケットを受信する。そして、無線装置３５のテーブル作成モジュール２４３は、受信したＨｅｌｌｏパケットからネイバーリスト１０Ｎを読み出し、ネイバーリスト１０Ｍに登録されている無線装置とネイバーリスト１０Ｎに登録されている無線装置との相違数をカウントする。図２６に示す場合、ネイバーリスト１０Ｍに登録されている４個の無線装置３１〜３４の全てがネイバーリスト１０Ｎに登録されている無線装置３７〜３９，４１と異なる。従って、無線装置３５のテーブル作成モジュール２４３は、ネイバーリスト１０Ｍに登録されている４個の無線装置３１〜３４のうち、１００％（＝４／４×１００）がネイバーリスト１０Ｎに登録されている無線装置３７〜３９，４１と異なると判定し、閾値ＷＩｔｈ（３５）を導入せずに無線装置３６をネイバーリスト１０Ｍに登録する。そして、無線装置３５のテーブル作成モジュール２４３は、ネイバーリスト１０Ｍをネイバーリスト１０Ｐ（図２６の（ｃ）参照）に更新するとともに、その更新したネイバーリスト１０Ｐに基づいて、ルーティングテーブル２１Ｃ（図２６の（ｄ）参照）を作成する。この場合、無線装置３５のテーブル作成モジュール２４３は、無線装置３６を経由する経路が閾値ＷＩｔｈ（３５）を導入せずに登録した経路であることを示す“１”をフラグに格納する。
【０２１５】
また、無線装置３５のテーブル作成モジュール２４３は、無線装置３５において閾値ＷＩｔｈ（３５）を決定できなかったことを他の無線装置に知らせるために、図２３の（ｃ）に示すＨｅｌｌｏパケットＨＬＰ１と同じ形式のＨｅｌｌｏパケットＨＬＰ２＝［ＩＰａｄｄｒｅｓｓ３５／１］を作成して他の無線装置へ送信する。
【０２１６】
無線装置３６のテーブル作成モジュール２４３は、無線装置３５からＨｅｌｌｏパケットＨＬＰ２を受信し、その受信したＨｅｌｌｏパケットＨＬＰ２から無線装置３５において閾値ＷＩｔｈ（３５）を決定できなかったことを示すフラグ“１”を検知する。そして、無線装置３６のテーブル作成モジュール２４３は、無線装置３５を自己のネイバーリストに登録し、無線装置３５を登録したネイバーリストに基づいて、無線装置３５を経由する経路の経路情報をルーティングテーブル２１に登録する。
【０２１７】
これによって、無線装置３５と無線装置３６との間で経路が確保され、無線ネットワークシステム１００において、無線装置３１〜３５が孤立するのを防止できる。
【０２１８】
なお、相違数の基準値（＝８０〜９０％）は、固定的でなくてもよく、例えば、隣接無線装置の個数に応じて変えられてもよい。即ち、隣接無線装置の個数が相対的に多くなれば、相違数の基準値（＝８０〜９０％）は、相対的に低く設定され、隣接無線装置の個数が相対的に少なくなれば、相違数の基準値（＝８０〜９０％）は、相対的に高く設定される。
【０２１９】
図２２および図２５に示すトポロジーにおいて、各無線装置３１〜４３の閾値導入モジュール２４２は、隣接無線装置の個数が一定数以上増減したとき、またはネイバーリストに登録されている無線装置が一定数以上変更されたとき、または各無線装置からのパケットエラー率の変化率がしきい値以上であるとき、トポロジーに変化があったと判定し、閾値を再決定する。
【０２２０】
上述したように、各無線装置３１〜４３のテーブル作成モジュール２４３は、各種の方法によって閾値ＷＩｔｈを導入せずにネイバーリストに各無線装置を登録し、その各無線装置を登録したネイバーリストに基づいて、各経路の経路情報をルーティングテーブル２１において維持し、または各経路の経路情報をルーティングテーブル２１に登録する。そして、各無線装置３１〜４３のテーブル作成モジュール２４３は、閾値ＷＩｔｈを導入せずに経路情報を維持または登録したとき、閾値ＷＩｔｈを導入せずに経路情報を維持または登録したことを示すフラグ“１”をルーティングテーブル２１に立てるので、各無線装置３１〜４３のＩＰモジュール２０は、フラグ“１”が立っている経路を除外して各送信先との間で無線通信を行なう。
【０２２１】
閾値ＷＩｔｈを導入せずに経路情報を維持または登録するのは、無線ネットワークシステム１００において、孤立した無線装置の発生を防止するためであり、閾値ＷＩｔｈを導入せずに維持または登録された経路情報は、本来、通信品質が低い経路である。そこで、制御データ（例えば、Ｈｅｌｌｏパケット）の送受信を継続して接続性を維持するが、閾値ＷＩｔｈを導入せずに維持または登録された経路情報を無線通信経路としては選択しないことにしたものである。
【０２２２】
上記においては、図２２および図２５に示すように無線装置の配置に偏りがある場合、閾値ＷＩｔｈを導入せずに経路情報をルーティングテーブル２１において維持し、または閾値ＷＩｔｈを導入せずに経路情報をルーティングテーブル２１に登録すると説明したが、図２２および図２５に示すように無線装置の配置に偏りがある場合、無線通信空間において電波的な偏りあるので、この発明は、一般的には、無線通信空間において電波的な偏りがある場合、閾値ＷＩｔｈを導入せずに経路情報をルーティングテーブル２１において維持し、または閾値ＷＩｔｈを導入せずに経路情報をルーティングテーブル２１に登録するものであればよい。
【０２２３】
図２７は、無線ネットワークシステム１００において無線装置の孤立が発生するのを抑制する動作を説明するためのフローチャートである。なお、図２７に示すフローチャートを無線装置３２−無線装置３６間の経路を維持または登録する場合を例にして説明する。
【０２２４】
一連の動作が開始されると、無線装置３２のテーブル作成モジュール２４３は、上述した動作によって閾値ＷＩｔｈを決定し（ステップＳ６１）、上述した各種の方法によって、無線通信空間において電波的な偏りが有るか否かを判定する（ステップＳ６２）。
【０２２５】
そして、無線装置３２のテーブル作成モジュール２４３は、電波的な偏りがあると判定した場合（例えば、無線装置３６から受信したＨｅｌｌｏパケットの受信信号強度が閾値ＷＩｔｈよりも低く、無線装置３２の隣接無線装置の個数が基準値よりも少ない場合）、ステップＳ６１において決定した閾値ＷＩｔｈを導入せずに無線装置３６を経由する経路の経路情報をルーティングテーブル２１において維持し、または閾値ＷＩｔｈを導入せずに無線装置３６を経由する経路の経路情報をルーティングテーブル２１に登録する（ステップＳ６３）。
【０２２６】
そして、無線装置３２のテーブル作成モジュール２４３は、閾値ＷＩｔｈを決定できなかったことを示す緊急フラグを含むＨｅｌｌｏパケットを生成して他の無線装置へ送信する（ステップＳ６４）。
【０２２７】
緊急フラグを含むＨｅｌｌｏパケットを受信した無線装置３６は、緊急フラグを含むＨｅｌｌｏパケットを送信した無線装置３２を経由する経路を、ルーティングテーブル２１において維持し、またはルーティングテーブル２１に登録する（ステップＳ６５）。
【０２２８】
その後、無線装置３２，３６のＩＰモジュール２０は、閾値ＷＩｔｈを導入せずにルーティングテーブル２１において維持した経路、または閾値ＷＩｔｈを導入せずにルーティングテーブル２１に登録した経路を除外して無線通信を行なう（ステップＳ６６）。
【０２２９】
一方、ステップＳ６２において、電波的な偏りがないと判定されたとき、無線装置３２のテーブル作成モジュール２４３は、閾値ＷＩｔｈを導入してルーティングテーブル２１において経路情報を維持し、または閾値ＷＩｔｈを導入してルーティングテーブル２１に経路情報を登録する（ステップＳ６７）。
【０２３０】
そして、ステップＳ６６またはステップＳ６７の後、一連の動作は終了する。
【０２３１】
上記においては、ｎ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｎ］，ＭＩＮ［ｎ］（またはＰ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］）をｎ個の最大値ＭＡＸ［１］〜ＭＡＸ［ｎ］（またはＰ個の最大値ＭＡＸ［１］〜ＭＡＸ［Ｐ］）が大きい順に配列されるように並べ替えると説明したが、この発明においては、これに限らず、ｎ個の最大値ＭＡＸ［１］〜ＭＡＸ［ｎ］（またはＰ個の最大値ＭＡＸ［１］〜ＭＡＸ［Ｐ］）が小さい順に配列されるようにｎ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｎ］，ＭＩＮ［ｎ］（またはＰ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］）を並べ替え、その並べ替えたｎ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［ｎ］，Ｄ＿ＭＩＮ［ｎ］において、隣接する２つの最大値の差が最大となる２組の最大値／最小値Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＩＮ［ｉ］；Ｄ＿ＭＡＸ［ｉ＋１］，Ｄ＿ＭＩＮ［ｉ＋１］を検出し、その検出した２組の最大値／最小値Ｄ＿ＭＡＸ［ｉ］，Ｄ＿ＭＩＮ［ｉ］；Ｄ＿ＭＡＸ［ｉ＋１］，Ｄ＿ＭＩＮ［ｉ＋１］に含まれる２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の平均（（Ｄ＿ＭＩＮ［ｉ］＋Ｄ＿ＭＩＮ［ｉ＋１］）／２）を閾値ＷＩｔｈとして決定してもよい。
【０２３２】
また、上記においては、２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の平均（（Ｄ＿ＭＩＮ［ｉ］＋Ｄ＿ＭＩＮ［ｉ＋１］）／２）を閾値ＷＩｔｈとすると説明したが、この発明においては、これに限らず、２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の重み付け平均を閾値ＷＩｔｈとしてもよい。
【０２３３】
この場合、重み付け平均は、次式により演算される。
【０２３４】
（α×（Ｄ＿ＭＩＮ［ｉ］）＋（１−α）×（Ｄ＿ＭＩＮ［ｉ＋１］））／２
・・・（１）
式（１）において、αは、０＜α＜１の範囲の実数である。
【０２３５】
そして、αは、ｎ個の最大値Ｄ＿ＭＡＸ［１］〜Ｄ＿ＭＡＸ［ｎ］またはＰ個の最大値Ｄ＿ＭＡＸ［１］〜Ｄ＿ＭＡＸ［Ｐ］が大きい順に並べられたときは、Ｄ＿ＭＩＮ［ｉ］とＤ＿ＭＩＮ［ｉ＋１］との差（＝Ｄ＿ＭＩＮ［ｉ］−Ｄ＿ＭＩＮ［ｉ＋１］）が相対的に大きくなると、相対的に大きく設定され、差（＝Ｄ＿ＭＩＮ［ｉ］−Ｄ＿ＭＩＮ［ｉ＋１］）が相対的に小さくなると、相対的に小さく設定される。
【０２３６】
差（＝Ｄ＿ＭＩＮ［ｉ］−Ｄ＿ＭＩＮ［ｉ＋１］）が相対的に大きくなると、最小値Ｄ＿ＭＡＸ［ｉ＋１］が不安定な電波環境における受信信号強度の最小値（図１０のＭＩＮ［１５］よりも右側に存在する最小値）よりも小さくなる可能性があり、平均（（Ｄ＿ＭＩＮ［ｉ］＋Ｄ＿ＭＩＮ［ｉ＋１］）／２）を閾値ＷＩｔｈとしたのでは、不安定な電波環境において送受信されたＨｅｌｌｏパケットを用いてルーティングテーブル２１が作成される可能性があるので、安定な電波環境における受信信号強度のみを検出するために最小値Ｄ＿ＭＩＮ［ｉ］により近い受信信号強度を閾値ＷＩｔｈとして設定するために上記のように重み付け平均を演算することにしたものである。
【０２３７】
また、αは、ｎ個の最大値Ｄ＿ＭＡＸ［１］〜Ｄ＿ＭＡＸ［ｎ］またはＰ個の最大値Ｄ＿ＭＡＸ［１］〜Ｄ＿ＭＡＸ［Ｐ］が小さい順に並べられたときは、Ｄ＿ＭＩＮ［ｉ＋１］とＤ＿ＭＩＮ［ｉ］との差（＝Ｄ＿ＭＩＮ［ｉ＋１］−Ｄ＿ＭＩＮ［ｉ］）が相対的に大きくなると、相対的に大きく設定され、差（＝Ｄ＿ＭＩＮ［ｉ＋１］−Ｄ＿ＭＩＮ［ｉ］）が相対的に小さくなると、相対的に小さく設定される。
【０２３８】
このようにして重み付け平均を演算する理由は、上記と同じである。
【０２３９】
更に、上記においては、２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の平均（＝（Ｄ＿ＭＩＮ［ｉ］＋Ｄ＿ＭＩＮ［ｉ＋１］）／２）、または２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］の重み付け平均（式（１）参照）によって閾値ＷＩｔｈを決定すると説明したが、この発明においては、これに限らず、２つの最小値Ｄ＿ＭＩＮ［ｉ］，Ｄ＿ＭＩＮ［ｉ＋１］を両端とする範囲に含まれるように閾値ＷＩｔｈを決定してもよい。
【０２４０】
更に、上記においては、信頼性を高くして閾値ＷＩｔｈを決定するための隣接無線装置の数を５個として説明したが、この発明においては、これに限らず、信頼性を高くして閾値ＷＩｔｈを決定するための隣接無線装置の数は、５個以外であってもよく、周辺の電波環境に応じて決定されてもよい。
【０２４１】
なお、この発明においては、信号強度測定モジュール２４１および閾値導入モジュール２４２は、「閾値決定手段」を構成する。
【０２４２】
また、テーブル作成モジュール２４３は、「テーブル作成手段」を構成する。
【０２４３】
更に、信号強度測定モジュール２４１は、「信号強度検出手段」を構成する。
【０２４４】
更に、ｎ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［ｎ］，ＭＩＮ［ｎ］をｎ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［ｎ］，Ｄ＿ＭＩＮ［ｎ］に並べ替える閾値導入モジュール２４２、またはＰ組の最大値／最小値ＭＡＸ［１］，ＭＩＮ［１］〜ＭＡＸ［Ｐ］，ＭＩＮ［Ｐ］をＰ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［Ｐ］，Ｄ＿ＭＩＮ［Ｐ］に並べ替える閾値導入モジュール２４２は、「並替手段」を構成する。
【０２４５】
更に、ｎ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［ｎ］，Ｄ＿ＭＩＮ［ｎ］またはＰ組の最大値／最小値Ｄ＿ＭＡＸ［１］，Ｄ＿ＭＩＮ［１］〜Ｄ＿ＭＡＸ［Ｐ］，Ｄ＿ＭＩＮ［Ｐ］に基づいて閾値ＷＩｔｈを決定する閾値導入モジュール２５３は、「設定手段」を構成する。
【０２４６】
更に、閾値を導入せずに経路情報をルーティングテーブル２１において維持し、または閾値を導入せずに経路情報をルーティングテーブル２１に登録するテーブル作成モジュール２４３は、「経路確保手段」を構成する。
【０２４７】
更に、“１”からなるフラグは、「緊急フラグ」を構成し、緊急フラグを含むＨｅｌｌｏパケットＨＬＰ１を送信するテーブル作成モジュール２４３は、「送信手段」を構成する。
【０２４８】
更に、フラグに“１”が格納された経路を除外して送信元と送信先との間で無線通信を行なうＩＰモジュール２０は、「選択手段」を構成する。
【０２４９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２５０】
この発明は、ネットワークにおいて孤立した無線装置が発生するのを抑制可能な無線装置に適用される。
【図面の簡単な説明】
【０２５１】
【図１】この発明の実施の形態による無線装置を用いた無線ネットワークシステムの概略図である。
【図２】図１に示す無線装置の構成を示す概略ブロック図である。
【図３】ＩＰヘッダの構成図である。
【図４】ＴＣＰヘッダの構成図である。
【図５】ＯＬＳＲプロトコルにおけるパケットＰＫＴの構成図である。
【図６】図２に示すルーティングテーブルの構成図である。
【図７】図２に示すルーティングデーモンの機能ブロック図である。
【図８】並べ替えの概念図である。
【図９】受信信号強度と、無線装置の数との関係を示す図である。
【図１０】複数の最大値が大きい順に並べ換えられたときの受信信号強度およびパケットエラー率と、無線装置の数との関係を示す図である。
【図１１】隣の無線装置に関する情報からなるネイバーリストを示す図である。
【図１２】他のネイバーリストを示す図である。
【図１３】ネイバーリストおよびルーティングテーブルを示す図である。
【図１４】ルーティングテーブルを作成する動作を説明するためのフローチャートである。
【図１５】図１４に示すステップＳ１の詳細な動作を説明するためのフローチャートである。
【図１６】図１４に示すステップＳ２の詳細な動作を説明するためのフローチャートである。
【図１７】図１４に示すステップＳ１の詳細な動作を説明するための他のフローチャートである。
【図１８】ルーティングテーブルを作成する動作を説明するための他のフローチャートである。
【図１９】ルーティングテーブルを作成する動作を説明するための更に他のフローチャートである。
【図２０】ルーティングテーブルを作成する動作を説明するための更に他のフローチャートである。
【図２１】パケットエラー率と実験回数との関係を示す図である。
【図２２】無線装置の配置に偏りがあるネットワーク構成の概念図である。
【図２３】ネイバーリスト、ルーティングテーブルおよびＨｅｌｌｏパケットを示す図である。
【図２４】更に他のネイバーリストを示す図である。
【図２５】無線装置の配置に偏りがある他のネットワーク構成の概念図である。
【図２６】ネイバーリストおよびルーティングテーブルを示す他の図である。
【図２７】無線ネットワークシステムにおいて無線装置の孤立が発生するのを抑制する動作を説明するためのフローチャートである。
【符号の説明】
【０２５２】
１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇ，１０Ｈ，１０Ｊ，１０Ｋ，１０Ｌ，１０Ｍ，１０Ｎ，１０Ｐ  ネイバーリスト、１１  アンテナ、１２  入力部、１３  出力部、１４  ユーザアプリケーション、１５  通信制御部、１６  無線インターフェースモジュール、１７  ＭＡＣモジュール、１８  バッファ、１９  ＬＬＣモジュール、２０  ＩＰモジュール、２１，２１Ａ，２１Ｂ，２１Ｃ  ルーティングテーブル、２２  ＴＣＰモジュール、２３  ＵＤＰモジュール、２４  ルーティングデーモン、３１〜４３  無線装置、５１〜６３  アンテナ、１００  無線ネットワークシステム、２４１  信号強度測定モジュール、２４２  閾値導入モジュール、２４３  テーブル作成モジュール。
【図１】
2008085583.tif 000003
【図２】
2008085583.tif 000004
【図３】
2008085583.tif 000005
【図４】
2008085583.tif 000006
【図５】
2008085583.tif 000007
【図６】
2008085583.tif 000008
【図７】
2008085583.tif 000009
【図８】
2008085583.tif 000010
【図９】
2008085583.tif 000011
【図１０】
2008085583.tif 000012
【図１１】
2008085583.tif 000013
【図１２】
2008085583.tif 000014
【図１３】
2008085583.tif 000015
【図１４】
2008085583.tif 000016
【図１５】
2008085583.tif 000017
【図１６】
2008085583.tif 000018
【図１７】
2008085583.tif 000019
【図１８】
2008085583.tif 000020
【図１９】
2008085583.tif 000021
【図２０】
2008085583.tif 000022
【図２１】
2008085583.tif 000023
【図２２】
2008085583.tif 000024
【図２３】
2008085583.tif 000025
【図２４】
2008085583.tif 000026
【図２５】
2008085583.tif 000027
【図２６】
2008085583.tif 000028
【図２７】
2008085583.tif 000029