(57)【要約】【構成】ネットワーク１０は端末１２ａ〜１２ｄを含み、端末１２ａ〜１２ｄは、アドホックモードで互いに直接通信できる。たとえば、端末１２ａが、自身のＭＡＣアドレスを含むハローパケットをブロードキャストで送信する。端末１２ｂ〜１２ｄは、当該ハローパケットを受信したときの受信電波強度を取得する。そして、端末１２ｂ〜１２ｄは、その受信電波強度を含むネットワーク情報パケットをブロードキャストで送信する。このような処理が端末１２ａ〜１２ｄのそれぞれで実行され、端末１２ａ〜１２ｄはハローパケットを受信したときの受信電波強度および他の端末間の受信電波強度を取得できる。この取得した受信電波強度に基づいて、端末１２ａ〜１２ｄは端末間の距離を算出する。【効果】受信電波に基づいて距離を算出するので、基地局を有しなくても正確な距離感を把握できる。【選択図】　図１
2004015147.tif 000002
【特許請求の範囲】
【請求項１】
無線アドホックネットワークに用いられる無線通信端末であって、
少なくとも自身の第１識別情報を含む第１ハローパケットを他の無線通信端末に送信する第１送信手段、
前記他の無線通信端末から送信される第２ハローパケットを受信する第１受信手段、
前記第２ハローパケットを受信したときの第１受信電波強度を取得する取得手段、
少なくとも前記受信電波強度を含む第１ネットワーク情報パケットを前記他の無線通信端末に送信する第２送信手段、
前記他の無線通信端末から送信される第２ネットワーク情報パケットを受信する第２受信手段、および
前記第１受信電波強度および前記第２ネットワーク情報パケットに含まれる第２受信電波強度に基づいて端末間の距離を算出する算出手段を備える、無線通信端末。
【請求項２】
前記第２識別情報を管理する識別情報管理テーブル、
前記第２ハローパケットを受信したとき、前記第２ハローパケットに含まれる第２識別情報を前記識別情報管理テーブルに登録済みかどうかを判断する第１判断手段、および
前記第１判断手段によって登録済みでないと判断されたとき、前記第２識別情報を前記識別情報管理テーブルに登録する第１登録手段をさらに備え、
前記取得手段は、前記第１判断手段によって登録済みであると判断されたとき、前記第１受信電波強度を取得する、請求項１記載の無線通信端末。
【請求項３】
前記算出手段は、前記第１受信電波強度および前記第２受信電波強度を距離情報に変換する変換手段、前記距離情報を用いて無向グラフを作成する作成手段、および前記作成手段によって作成された前記無向グラフから前記距離を算出する端末間距離算出手段を含む、請求項１または２記載の無線通信端末。
【請求項４】
少なくとも前記第２受信電波強度を管理する受信電波強度管理テーブル、
前記受信した第２ネットワーク情報パケットに含まれる前記第２受信電波強度が前記受信電波強度管理テーブルに登録済みかどうかを判断する第２判断手段、前記判断手段によって前記第２受信電波強度が登録済みであると判断されたとき当該第２ネットワーク情報パケットを破棄する破棄手段、および
前記判断手段によって前記第２受信電波強度が登録済みでないと判断されたとき当該第２ネットワーク情報パケットに含まれる前記第２受信電波強度を前記第２受信電波強度管理テーブルに登録する第２登録手段をさらに備える、請求項１ないし３のいずれかに記載の無線通信端末。
【請求項５】
無線アドホックネットワークに用いられる無線通信端末であって、
少なくとも自身の第１識別情報を含む第１ハローパケットを他の無線通信端末に送信する第１送信ステップ、
前記他の無線通信端末から送信される第２ハローパケットを受信する第１受信ステップ、
前記第２ハローパケットを受信したときの第１受信電波強度を取得する取得ステップ、
少なくとも前記受信電波強度を含む第１ネットワーク情報パケットを前記他の無線通信端末に送信する第２送信ステップ、
前記他の無線通信端末から送信される第２ネットワーク情報パケットを受信する第２受信ステップ、および
前記第１受信電波強度および前記第２ネットワーク情報パケットに含まれる第２受信電波強度に基づいて端末間の距離を算出する算出ステップを実行するようにプログラムされている、無線通信端末。
【請求項６】
請求項１ないし５のいずれかに記載の無線通信端末を少なくとも２つ以上備える、無線アドホックネットワーク。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は無線通信端末およびそれを用いた無線アドホックネットワークに関し、特にたとえば無線通信機能を有しアドホックモードで他の無線通信端末と直接通信できる、無線通信端末およびそれを用いた無線アドホックネットワークに関する。
【０００２】
【従来の技術】
図１３に示す従来のネットワーク１はアクセスポイントとしての基地局２を有するインフラストラクチャネットワークであり、当該基地局２を介して端末３ａと端末３ｂとの間の無線通信が実行される。このとき、基地局２は、或る一定時間間隔で自身の位置情報を含んだパケットをブロードキャストする。このパケットを受信した端末３ａや端末３ｂ等は、そのパケットに自身の識別ＩＤを書き込んで転送する。この操作を繰り返して、端末３ａおよび端末３ｂを含む各端末は基地局２の位置と隣接する端末とついての情報を把握する。その情報から取得した基地局２からのホップ数をもとに、ＳＯＭ（自己組織化マップ）を利用したネットワークトポロジの再現アルゴリズムに従って位置情報が推定される。これにより、基地局２と端末（３ａ，３ｂ）との距離等を管理していた。
【０００３】
【発明が解決しようとする課題】
しかし、この従来技術は、基地局の存在しないアドホックネットワークには利用することができない。また、アドホックネットワークにおいて、ホップ数からネットワークトポロジを再現する方法もあるが、ホップ数と距離とは等しくないため、正確な距離を算出することはできないという問題があった。
【０００４】
それゆえに、この発明の主たる目的は、アドホックモードでしかも距離感を比較的正確に把握できる、無線通信端末およびそれを用いた無線アドホックネットワークを提供することである。
【０００５】
【課題を解決するための手段】
第１の発明は、無線アドホックネットワークに用いられる無線通信端末であって、少なくとも自身の第１識別情報を含む第１ハローパケットを他の無線通信端末に送信する第１送信手段、他の無線通信端末から送信される第２ハローパケットを受信する第１受信手段、第２ハローパケットを受信したときの第１受信電波強度を取得する取得手段、少なくとも受信電波強度を含む第１ネットワーク情報パケットを他の無線通信端末に送信する第２送信手段、他の無線通信端末から送信される第２ネットワーク情報パケットを受信する第２受信手段、および第１受信電波強度および第２ネットワーク情報パケットに含まれる第２受信電波強度に基づいて端末間の距離を算出する算出手段を備える、無線通信端末である。
【０００６】
第２の発明は、無線アドホックネットワークに用いられる無線通信端末であって、少なくとも自身の第１識別情報を含む第１ハローパケットを他の無線通信端末に送信する第１送信ステップ、他の無線通信端末から送信される第２ハローパケットを受信する第１受信ステップ、第２ハローパケットを受信したときの第１受信電波強度を取得する取得ステップ、少なくとも受信電波強度を含む第１ネットワーク情報パケットを他の無線通信端末に送信する第２送信ステップ、他の無線通信端末から送信される第２ネットワーク情報パケットを受信する第２受信ステップ、および第１受信電波強度および第２ネットワーク情報パケットに含まれる第２受信電波強度に基づいて端末間の距離を算出する算出ステップを実行するようにプログラムされている、無線通信端末である。
【０００７】
第３の発明は、第１の発明または第２の発明に記載の無線通信端末を２つ以上備える、無線アドホックネットワークである。
【０００８】
【作用】
第１の発明の無線通信端末は、無線アドホックネットワークに用いられ、アドホックモードで他の無線通信端末と直接通信することができる。この無線通信端末では、第１送信手段が少なくとも自身の第１識別情報を含む第１ハローパケットをブロードキャストで送信する。一方、他の無線通信端末から送信される第２ハローパケットを第１受信手段が受信し、取得手段がその受信時の電波強度（第１受信電波強度）を取得する。そして、第２送信手段が、少なくとも第１受信電波強度を含むネットワーク情報パケットをブロードキャストで送信する。また、第２受信手段が、他の無線通信端末から送信される第２ネットワーク情報パケットを受信する。すると、算出手段が、第１受信電波強度および第２ネットワーク情報パケットに含まれる第２受信電波強度に基づいて、端末間の距離を算出する。
【０００９】
たとえば、判断手段が、第１受信手段によって受信された第２ハローパケットに含まれる第２識別情報を登録済みかどうかを判断する。そして、当該第２識別情報を登録済みでない場合には、第１登録手段が当該識別情報を識別情報管理テーブルに登録する。逆に、当該第２識別情報を登録済みの場合には、たとえば、自身に装着されたＰＣカード（ＬＡＮカード）のドライバから、当該第２ハローパケットの受信時における電波強度（受信電波強度）を取得する。このように、隣接する他の無線通信端末との間における受信電波強度を容易に取得することができる。
【００１０】
また、変換手段が取得した第１受信電波強度および第２受信電波強度を距離情報（メトリック）に変換し、変換したすべてのメトリックを用いて、作成手段が方向性を有しない端末間の距離関係を示すグラフ（無向グラフ）を作成する。そして、端末間距離算出手段が、無向グラフにより端末間の距離を算出するので、比較的正確な距離感を把握することができる。
【００１１】
さらに、第２判断手段が、受信した第２ネットワーク情報パケットに含まれる第２受信電波強度が受信電波強度管理テーブルに登録済みかどうかを判断する。第２判断手段によって、既に第２受信電波強度を登録済みと判断されると、破棄手段が当該第２ネットワーク情報パケットを破棄し、逆に、第２受信電波強度を登録済みでないと判断されると、当該第２ネットワーク情報パケットに含まれる第２受信電波強度を受信電波強度管理テーブルに登録する。つまり、ハローパケットの送信および受信では取得することができない、他の無線通信端末間における受信電波強度などを取得することもできる。
【００１２】
第２の発明の無線通信端末は、無線アドホックネットワークに用いられ、アドホックモードで他の無線通信端末と直接通信することができる。この無線通信端末では、第１送信ステップで、少なくとも自身の第１識別情報を含む第１ハローパケットをブロードキャストで送信する。一方、他の無線通信端末から送信される第２ハローパケットを、第１受信ステップで受信し、取得ステップで受信処理時の電波強度（第１受信電波強度）を取得する。そして、第２送信ステップで、少なくとも第１受信電波強度を含むネットワーク情報パケットをブロードキャストで送信する。また、第２受信ステップで、他の無線通信端末から送信される第２ネットワーク情報パケットを受信する。その後、算出ステップで、第１受信電波強度および第２ネットワーク情報パケットに含まれる第２受信電波強度に基づいて、端末間の距離を算出する。
【００１３】
第３の発明の無線アドホックネットワークは、第１の発明または第２の発明の無線通信端末を２つ以上備える。つまり、上述したような動作或いはステップを各無線通信端末が実行することにより、それぞれにおいて、端末間の距離を算出することができる。
【００１４】
【発明の効果】
この発明によれば、隣接する無線通信端末との間の受信電波強度に基づいて端末間の距離を算出するので、基地局がなくても正確な距離感を算出することができる。
【００１５】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１６】
【実施例】
図１を参照して、この実施例の無線アドホックネットワーク（以下、単に「ネットワーク」という。）１０は、いわゆるラップトップのように移動可能なコンピュータ（端末）１２ａ〜１２ｄを含む。ただし、端末１２ａ〜１２ｄは、ラップトップに限られず、ＰＤＡのような携帯型のコンピュータ、さらには、ＰＨＳや携帯電話機のような通話機能を有するものであってもよい。
【００１７】
なお、この実施例では、端末１２ａ〜１２ｄによってネットワーク１０が構成されるようにしているが、端末は少なくとも２つ以上であればよい。
【００１８】
端末１２ａ〜１２ｄのそれぞれには、図示は省略．するが、たとえばＩＥＥＥ８０２．１１ｂ（ＩＥＥＥ８０２．１１ａでもよい。）に準拠したＰＣカード（ＬＡＮカード）が装着される。これにより、無線通信機能が付加され、アドホックモードで直接通信（ピア・ツー・ピア）することができる。
【００１９】
なお、ＰＣカードは、同じ種類（メーカ）のものが使用される。これは、メーカの相違により、取り扱うデータやパケットのフォーマット或いは仕様が異なるためである。
【００２０】
このようなネットワーク１０では、或る端末は電波の届く範囲内に存在する他の端末との間で直接通信することができる。無線通信では、一般的に、端末同士の距離が近く、壁などの通信の障害となるものが少ない方が、通信エラーを少なくすることができ、通信時間を短くすることもできる。また、チャットや簡易メールのような機能を使用することもできるが、端末同士の距離が近い場合には、直接会話したり、直接メッセージ（伝言）を伝えたりした方が早い（簡単な）場合もある。したがって、この実施例では、アドホックネットワークにおける端末間の距離を計算し、端末間の距離感を取得するようにしてある。
【００２１】
一般的に、電波強度ＰＲは、距離ｄのｎ乗に反比例することが知られており、数１のように表すことができる。
【００２２】
【数１】
ＰＲ＝γｄ−ｎ
ただし、γは定数であり、たとえば電波強度の測定環境によって決定される値である。
【００２３】
これを用いて、端末（ノード）間のエッジの長さ（距離）Ｌは数２で算出することができる。
【００２４】
【数２】
2004015147.tif 000003
【００２５】
ただし、α（この実施例では、１００）は正規化定数であり、経験的に得られる値である。また、後述する実験結果に基づいてｎは２（ｎ＝２）とした。
【００２６】
このような距離を算出し、端末間の距離感を得るために、図１に示した端末１２ａ〜１２ｄは、それぞれ、ユーザの指示に従って以下に示すような処理を実行する。ただし、ハローパケット送信処理（図２参照）およびハローパケット受信処理（図４参照）では、分かり易く説明するために、端末１２ａをハローパケットの送信端末とし、他の端末１２ｂ〜１２ｄをハローパケットの受信端末として説明することにする。
【００２７】
図２に示すように、端末１２ａは、ユーザの指示に従ってハローパケット送信処理を開始し、ステップＳ１で自身のＭＡＣアドレス（Ｍｅｄｉａ　Ａｃｃｅｓｓ　Ｃｏｎｔｒｏｌ　ａｄｄｒｅｓｓ）を取得する。つまり、自身に装着されているＰＣカード固有のＭＡＣアドレスを読み出す。
【００２８】
続くステップＳ３では、取得したＭＡＣアドレスを用いて、図３（Ａ）に示すようなハローパケットを生成し、そのハローパケットをステップＳ５でブロードキャストで送信する。このハローパケットは、パケットの種類を示すヘッダ部およびステップＳ１で取得した自身のＭＡＣアドレス（自ＭＡＣアドレス）によって構成される。
【００２９】
そして、ステップＳ７で一定時間（この実施例では、５秒）待機し、ステップＳ９で終了かどうかを判断する。つまり、ステップＳ９では、ユーザによって終了の指示が入力されたかどうかを判断する。ステップＳ９で“ＮＯ”であれば、つまり終了の指示がなければ、ハローパケット送信処理の終了でないと判断し、そのままステップＳ５に戻ってハローパケットを再度送信する。一方、ステップＳ９で“ＹＥＳ”であれば、つまり終了の指示が入力されれば、ハローパケット送信処理の終了であると判断し、そのまま処理を終了する。
【００３０】
なお、ステップＳ７において、一定時間待機するのは、ブロードキャストによる送信では、膨大なデータがネットワーク１０に流れるとともに、ハローパケットを受ける端末（端末１２ｂ〜１２ｄ）が移動するためである。厳密に言えば、この一定時間は、端末１２ｂ〜１２ｄ（以下、「他の端末」と呼ぶことがある。）の移動速度に応じて決定する必要がある。
【００３１】
このようにしてハローパケット送信処理が実行され、端末１２ａと通信可能に配置される（隣接する）他の端末は、図４に示すようなハローパケット受信処理を実行する。ユーザの指示に従ってハローパケット受信処理を開始すると、他の端末は、ステップＳ２１で、ハローパケットを受信する。このとき、他のパケットがネットワーク１０に流れている場合であっても、ヘッダ部でパケットの種類を識別することができる。
【００３２】
次にステップＳ２３では、ハローパケットに含まれる自ＭＡＣアドレスを取得する。つまり、他の端末は、送信元（端末１２ａ）のＭＡＣアドレスを取得することができる。続いて、ステップＳ２５で、取得したＭＡＣアドレスを、図３（Ｃ）に示すような隣接端末情報テーブルに登録済みかどうかを判断する。
【００３３】
図３（Ｃ）に示すように、隣接端末情報テーブルは、隣接端末情報すなわち登録時間，相手ＩＰアドレス（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ　ａｄｄｒｅｓｓ），相手ＭＡＣアドレス（識別情報）および受信電波強度を含み、各端末１２ａ〜１２ｄによって管理される。つまり、各端末１２ａ〜１２ｄは、自身に隣接する端末すなわち通信可能な端末についての隣接端末情報をテーブル管理し、当該通信可能な端末を識別（認識）している。
【００３４】
たとえば、端末１２ａで作成される隣接端末情報テーブルについて考えると、この実施例では、他の端末１２ｂ〜１２ｄのＩＰアドレスおよびＭＡＣアドレスが記述されるとともに、当該他の端末１２ｂ〜１２ｄから送信されたハローパケットを受信した際の端末１２ａの受信電波強度がそれぞれ記述される。また、このような他の端末１２ｂ〜１２ｄのＩＰアドレス、ＭＡＣアドレスおよび受信電波強度が隣接端末情報テーブルに登録された時間が登録時間に記述される。
【００３５】
ステップＳ２５で“ＹＥＳ”であれば、つまり端末１２ａのＭＡＣアドレスを登録していれば、ステップＳ２７で当該ＭＡＣアドレスの受信電波強度をドライバ（ＰＣカードのドライバ）から取得する。そして、ステップＳ２９で、取得した受信電波強度を上述した隣接端末情報テーブルに書き込み、ステップＳ３５に進む。つまり、ステップＳ２９では、今回取得した受信電波強度に更新する。これにより、他の端末についての隣接端末情報を更新することができる。
【００３６】
一方、ステップＳ２５で“ＮＯ”であれば、つまり端末１２ａのＭＡＣアドレスを登録していなければ、ステップＳ３１で隣接端末情報テーブルに新しいエントリを作成する。具体的には、隣接端末情報テーブルに、端末１２ａについての隣接端末情報の欄が確保され（設けられ）、相手ＭＡＣアドレスの欄に当該端末１２ａのＭＡＣアドレスが記述される。続くステップＳ３３では、当該ＭＡＣアドレスをドライバに登録してから、ステップＳ３５に進む。
【００３７】
ステップＳ３５では、ハローパケット受信処理の終了かどうかを判断する。つまり、ユーザによってハローパケット受信処理の終了指示が入力されたかどうかを判断する。ステップＳ３５で“ＮＯ”であれば、つまり終了指示が入力されなければ、ハローパケット受信処理を終了しないと判断し、そのままステップＳ２１に戻る。一方、ステップＳ３５で“ＹＥＳ”であれば、つまり終了指示が入力されれば、ハローパケット受信処理を終了すると判断して、そのまま処理を終了する。
【００３８】
このようなハローパケットの送信および受信により、ネットワーク１０を構成する端末１２ａ〜１２ｄの存在が、それぞれの端末１２ａ〜１２ｄで認識（識別）される。また、ハローパケットを受信した他の端末は、端末１２ａを認識した後では、その後にハローパケットを受信するときの受信電波強度を知ることができる。このとき、送信端末が端末１２ａで受信端末が他の端末である。
【００３９】
なお、他の端末を送信端末とし、端末１２ａを受信端末とすると、端末１２ａは他の端末を認識した後では、当該他の端末との間における受信電波強度を知ることができる。
【００４０】
図５はネットワーク情報パケット送信処理を示すフロー図であって、この図を参照して、端末１２ａ〜１２ｄはまた、それぞれ、ユーザの指示に従ってネットワーク情報パケット送信処理を実行する。このネットワーク情報パケット送信処理を開始すると、端末１２ａ〜１２ｄは、ステップＳ４１でシーケンス番号ｋを初期化（ｋ＝１）する。続くステップＳ４３では、隣接端末情報テーブルから隣接端末情報を取得し、ステップＳ４５で、取得した隣接端末情報に基づいて図３（Ｂ）に示すようなネットワーク情報パケットを生成する。
【００４１】
ここで、シーケンス番号ｋ（ｋは１以上の自然数）は、図３（Ｄ）に示すようなシーケンス番号テーブルに含まれる。このシーケンス番号テーブルは、隣接する端末のＩＰアドレスがシーケンス番号ｋに対応して記述される。また、シーケンス番号テーブルにＩＰアドレスが登録された時間が登録時間の欄に記述される。たとえば、端末１２ａについて考えると、この実施例では、端末１２ａ以外の端末１２ｂ〜１２ｄのＩＰアドレス（端末アドレス）がシーケンス番号ｋに対応して記述される。このようなシーケンス番号テーブルは、たとえば、隣接端末情報テーブルを作成したとき、或いは、その後、後述するネットワーク情報パケットの受信処理を開始する前に作成される。
【００４２】
また、ネットワーク情報パケットは、パケットの種類を示すヘッダ部，ＴＬＬ（Ｔｉｍｅ　ｔｏ　Ｌｉｖｅ），送信端末アドレス（ＩＰアドレス），受信端末アドレス（ＩＰアドレス）および受信電波強度を含む。
【００４３】
ＴＬＬは、ネットワーク情報パケットがネットワーク１０内を巡回し続けるのを制限するための生存期限を示す数値（回数）情報であり、この実施例では、１０に固定的に設定される。
【００４４】
また、送信端末アドレスは、他の端末（送信端末）のＰＣカードに割り当てられるＩＰアドレスであり、これは、隣接端末情報から取得される。また、受信端末アドレスは、自身の端末（受信端末）のＰＣカードに割り当てられるＩＰアドレスである。
【００４５】
さらに、受信電波強度は、他の端末（送信端末）と自身の端末（受信端末）との間における電波強度すなわち受信端末の受信電波強度であり、これも隣接端末情報テーブルから取得される。
【００４６】
このようなネットワーク情報パケットを生成すると、続くステップＳ４７で、生成したネットワーク情報パケットをブロードキャストで送信する。そして、ステップＳ４９でシーケンス番号ｋを１加算（インクリメント）し、ステップＳ５１で一定時間待機した後、ステップＳ５３でネットワーク情報パケット送信処理の終了かどうかを判断する。つまり、ユーザからネットワーク情報パケット送信処理の終了指示があるかどうかを判断する。
【００４７】
ステップＳ５３で“ＮＯ”であれば、つまり終了指示がなければ、ネットワーク情報パケット送信処理を終了しないと判断し、そのままステップＳ４３に戻る。一方、ステップＳ５３で“ＹＥＳ”であれば、つまり終了指示があれば、ネットワーク情報パケット送信処理を終了すると判断し、そのまま処理を終了する。
【００４８】
なお、ステップＳ５１において、一定時間待機するようにしているのは、図２を用いて先に説明したステップＳ７の処理と同様の理由によるものである。
【００４９】
図６に示すように、端末１２ａ〜１２ｄは、ユーザの指示に従ってネットワーク情報パケット受信処理を開始し、ステップＳ６１でネットワーク情報パケットを受信する。続くステップＳ６３では、シーケンス番号ｋがあるかどうかを判断する。具体的には、端末１２ａ〜１２ｄが管理するシーケンス番号テーブルの端末アドレスに、受信したネットワーク情報パケットに含まれる受信端末アドレスと一致するアドレスが存在するかどうかを調べて、既に当該ネットワーク情報を取得しているかどうかを判断する。
【００５０】
ステップＳ６３で“ＹＥＳ”であれば、つまり受信端末アドレスに一致する端末アドレスが存在すれば、既にシーケンス番号ｋがあると判断して、ステップＳ６５で当該ネットワーク情報パケットを破棄してからステップＳ６１に戻る。一方、ステップＳ６３で“ＮＯ”であれば、つまり受信端末アドレスに一致する端末アドレスが存在しなければ、シーケンス番号ｋがないと判断し、当該ネットワーク情報パケットをシーケンス番号テーブルに登録する。
【００５１】
なお、この実施例では、既にシーケンス番号ｋがある場合には、受信したネットワーク情報パケットを破棄するようにしているが、登録時間が一定時間（たとえば、１分）経過している場合には、シーケンス番号テーブルを上書き（更新）するようにしてもよい。これにより、移動可能な端末１２ａ〜１２ｄについての情報を更新することができる。
【００５２】
続いて、ステップＳ６９では、当該ネットワーク情報パケットに含まれるＴＬＬの数値が１以上かどうかを判断する。ステップＳ６９で“ＮＯ”であれば、つまりＴＬＬが０であれば、当該パケットの生存期間が終了したと判断し、そのままステップＳ７５に進む。一方、ステップＳ６９で“ＹＥＳ”であれば、つまりＴＬＬが１以上であれば、当該パケットの生存期間が終了していないと判断し、ステップＳ７１でＴＬＬを１減算し、ステップＳ７３で当該ネットワーク情報パケットを転送してからステップＳ７５に進む。
【００５３】
この実施例のネットワーク１０は、フラッディングを用いるため、マルチホップ無線ネットワークを構成することができる。つまり、たとえば端末１２ａ→端末１２ｂ→端末１２ｃ→端末１２ｄ→…といったデータの転送を行うことができる。これにより、電波の届かない端末同士であっても、その間に存在する少なくとも１つの端末がデータを転送することによって通信可能となるのである。
【００５４】
ステップＳ７５では、当該ネットワーク情報パケットが示すネットワーク情報が図３（Ｄ）に示すようなネットワーク情報テーブルに登録（エントリ）されているかどうかを判断する。ステップＳ７５で“ＮＯ”であれば、つまりエントリされていなければ、ステップＳ７７で当該ネットワーク情報についてのエントリを追加してからステップＳ７９に進む。一方、ステップＳ７５で“ＹＥＳ”であれば、つまりエントリされていれば、そのままステップＳ７９に進む。
【００５５】
ここで、ネットワーク情報テーブルは、送信端末および受信端末のＩＰアドレス、その受信端末の受信電波強度およびネット情報テーブルへの登録時間を含む。つまり、送信端末と受信端末との間における受信電波強度を管理するテーブルであると言える。
【００５６】
たとえば、端末１２ａについて考えると、上述したようなハローパケット受信処理において作成された隣接端末情報テーブルを用いてネットワーク情報テーブルを作成することができる。つまり、受信端末を端末１２ａとし、送信端末を端末１２ｂ〜１２ｄとすると、受信端末と送信端末との間における受信端末すなわち端末１２ａの受信電波強度を取得することができる。この場合、送信端末アドレスには、送信端末すなわち端末１２ｂ〜１２ｄのＩＰアドレスが記述され、それに対応して受信端末すなわち端末１２ａのＩＰアドレスが記述される。そして、端末１２ａにおける受信電波強度が記述される。
【００５７】
また、他の端末１２ｂ〜１２ｄから送信されるネットワーク情報パケットを取得（受信）することにより、ネットワーク情報が追加（更新）される。したがって、送信端末を端末１２ａとし、受信端末を端末１２ｂ〜１２ｄとした場合のそれぞれのＩＰアドレスおよび受信電波強度を取得し、ネットワーク情報テーブルに追加することができる。さらに、端末１２ａ以外の端末間の受信電波強度も取得される。具体的には、（１）送信端末を端末１２ｂとし、受信端末を端末１２ｃ、端末１２ｄとした場合の受信電波強度、（２）送信端末を端末１２ｃとし、受信端末を端末１２ｂ、端末１２ｄとした場合の受信電波強度、そして、（３）送信端末を端末１２ｄとし、受信端末を端末１２ｂ、端末１２ｃとした場合の受信電波強度が得られる。
【００５８】
すなわち、ネットワーク情報パケットを送信および受信することにより、自身以外の端末間の受信電波強度を取得することができるのである。
【００５９】
なお、上述したように、ネットワーク情報テーブルにおいては、送信端末および受信端末の欄には、端末１２ａ〜１２ｄのそれぞれに割り当てられるＩＰアドレスが記述される。
【００６０】
つまり、ステップＳ７９では、今回取得したネットワーク情報を書き込んで（追加して）、ネットワーク情報テーブルを更新する。そして、ステップＳ８１で後述する距離計算処理を実行し、ステップＳ８３でネットワーク情報パケット受信処理の終了かどうかを判断する。つまり、ユーザからネットワーク情報パケット受信処理の終了指示があるかどうかを判断する。
【００６１】
ステップＳ８３で“ＮＯ”であれば、つまり終了指示がなければ、ネットワーク情報パケット受信処理を終了しないと判断して、そのままステップＳ６１に戻る。一方、ステップＳ８３で“ＹＥＳ”であれば、つまり終了指示があれば、ネットワーク情報パケット受信処理を終了すると判断して、そのまま処理を終了する。
【００６２】
図７に示すように、図６のステップＳ８１に示した距離計算処理が開始されると、端末１２ａ〜１２ｄは、ステップＳ９１で、現在のエントリを先頭にセットする。たとえば、登録時間が一番遅いネットワーク情報をネットワーク情報テーブルから選択する。続くステップＳ９３では、最後のエントリかどうかを判断する。つまり、登録時間が一番早いネットワーク情報かどうかを判断する。
【００６３】
ステップＳ９３で“ＹＥＳ”であれば、つまり最後のエントリであれば、ステップＳ１０１に進む。一方、ステップＳ９３で“ＮＯ”であれば、つまり最後のエントリでなければ、ステップＳ９５でネットワーク情報テーブルから受信電波強度を取得する。つまり、当該エントリのネットワーク情報に含まれる受信電波強度を読み出す。
【００６４】
続くステップＳ９７では、読み出した受信電波強度を数３に従ってメトリック（距離情報）に変換し、ステップＳ９９では、現在のエントリを次のエントリに更新する。つまり、次に遅い登録時間のネットワーク情報をネットワーク情報テーブルから選択する。このようにして、すべてのネットワーク情報に含まれるすなわち隣接する各端末についての受信電波強度がメトリックに変換される。
【００６５】
ただし、この実施例では、２つの端末間では、受信端末と送信端末とが互いに逆になる場合についての２つの受信電波強度がネットワーク情報テーブルに存在するため、これら２つの受信電波強度を用いて、メトリックに変換するようにしてある。つまり、２つのリンク（辺）として、２つの受信電波強度を取り込んでいる。
【００６６】
【数３】
2004015147.tif 000004
【００６７】
また、ステップＳ１０１では、変換したメトリックを用いて無向グラフを作成（描画）し、ステップＳ１０３で無向グラフの各端末（ノード）の位置情報から各ノード間の距離を算出して、処理を終了する。
【００６８】
ここで、無向グラフとは、方向性を持たないグラフをいい、各端末（ノード）間の距離のみの関係を表現している。この実施例では、メトリックのグラフ化（無向グラフの描画）には、「ＮＥＡＴＯ」が採用され、この描画方法は、インターネット上に開示されている（「Ｄｒａｗｉｎｇ　ｇｒａｐｈｓ　ｗｉｔｈ　ＮＥＡＴＯ」；Ｓｔｅｐｈｅｎ　Ｃ．Ｎｏｒｔｈ氏著書）。
【００６９】
なお、図７を用いて説明したように、この実施例では、ネットワーク情報の登録時間を参照して、選択するネットワーク情報を決定するようにしたが、これに限定される必要はない。つまり、ネットワーク情報テーブルから１つずつネットワーク情報を選択すればよいのであって、たとえば、テーブルの上から順に選択するようにしてもよい。
【００７０】
この実施例についての検証を行うため、本願発明者は以下に説明するような実験を行った。たとえば、図８に示すように、多数の部屋を有する建物内において、７つの端末▲１▼〜▲７▼を配置して、ネットワーク１０が構成される場合を考えてみる。端末▲１▼〜▲７▼にはＰＤＡが用いられ、このＰＤＡには図２，図４〜図７に示したようなフロー図を処理するためのプログラム（ソフト）が実装（記憶）される。また、すべての端末▲１▼〜▲７▼には、ＩＥＥＥ８０２．１１ｂに準拠した同じ種類のＰＣカードが使用（装着）され、その通信レートは１１Ｍｂｐｓに設定される。
【００７１】
このような環境で実験した結果では、数２において、ｎ＝１，２，４，６とした場合の無向グラフは、それぞれ、図９（Ａ），図９（Ｂ），図１０（Ａ）および図１０（Ｂ）に示すように描画される。ただし、図９および図１０に示す無向グラフは、端末（ノード）▲３▼を基準に描画したグラフである。
【００７２】
実際に端末▲１▼〜▲７▼を配置した配置図（図８）と４つの無向グラフ（図９，図１０）とをそれぞれ対比すると、ｎ＝２以上で実際の距離感に近くなるのが分かる。また、ｎ＝４，６の場合には、端末▲２▼と端末▲３▼、または端末▲５▼と端末▲７▼のように、見通しのよい環境下では距離が短くなり過ぎてしまう。したがって、この実験結果に基づいて、ｎ＝２とした場合が、実際の距離感に最も近いと考えることができる。
【００７３】
さらに、端末▲３▼および端末▲５▼を基準にした場合の端末▲１▼〜▲７▼についての距離関係は、図１１および図１２のような折れ線グラフで示すことができる。この折れ線グラフでは、基準となる端末（▲３▼，▲５▼）との距離が一番遠い端末との端末間の距離を１とした場合に、基準となる端末（▲３▼，▲５▼）との距離を各端末について相対的に示したものであり、それを線で結んである。
【００７４】
この図１１および図１２からも分かるように、ｎ＝２以上では、実測値（実値）に比較的近似していることが分かる。また、上述したように、端末▲５▼と端末▲７▼とは見通しのよい環境下に配置されるため、図１２のように、算出される距離が少し短くなってしまう様子が分かる。
【００７５】
この実施例によれば、受信電波強度に基づいて距離を算出するようにしたので、基地局を有しないアドホックネットワークであっても、比較的正確な距離感を算出することができる。
【図面の簡単な説明】
【図１】この発明の一実施例の構成を示す図解図である。
【図２】図１実施例に示す各端末のハローパケット送信処理を示すフロー図である。
【図３】図１実施例のネットワークで送受信されるパケットのフォーマットおよび各端末で管理されるテーブルを示す図解図である。
【図４】図１実施例に示す各端末のハローパケット受信処理を示すフロー図である。
【図５】図１実施例に示す各端末のネットワーク情報パケット送信処理を示すフロー図である。
【図６】図１実施例に示す各端末のネットワーク情報パケット受信処理を示すフロー図である。
【図７】図１実施例に示す各端末の距離計算処理を示すフロー図である。
【図８】この実施例の距離算出方法を検証するための実験環境を示す図解図である。
【図９】図８における実験環境下において、端末３を中心に距離算出した場合の無向グラフの一例を示す図解図である。
【図１０】図８における実験環境下において、端末３を中心に距離算出した場合の無向グラフの他の一例を示す図解図である。
【図１１】図８における実験環境下において、端末３を中心にして算出した距離関係および実値を示す折れ線グラフである。
【図１２】図８における実験環境下において、端末５を中心にして算出した距離関係および実値を示す折れ線グラフである。
【図１３】従来技術のインフラストラクチャネットワークを示す構成図である。
【符号の説明】
１０　…ネットワーク
１２ａ，１２ｂ，１２ｃ，１２ｄ　…端末（ノード）
【図１】
2004015147.tif 000005
【図２】
2004015147.tif 000006
【図３】
2004015147.tif 000007
【図４】
2004015147.tif 000008
【図５】
2004015147.tif 000009
【図６】
2004015147.tif 000010
【図７】
2004015147.tif 000011
【図８】
2004015147.tif 000012
【図９】
2004015147.tif 000013
【図１０】
2004015147.tif 000014
【図１１】
2004015147.tif 000015
【図１２】
2004015147.tif 000016
【図１３】
2004015147.tif 000017