(57)【要約】【課題】従来の位置情報提供システムでは、無線通信波を送信する複数の無線通信装置を固定的に設置する必要があり、また、位置が検出できる範囲が無線通信装置を固定的に設置した近隣に制限されるという問題があった。【解決手段】アドホックネットワークに接続されたノードの位置を図示する方法において、ＧＰＳ受信デバイス等の位置情報検出デバイスをもつノードについては、当該デバイスにより与えられる位置情報を用いて図示するともに、自ノードの位置情報を検出する手段をもたないノードについても、位置情報を検出する手段をもつノードに対する経路情報を用いることによって、位置を図示する方法を提供する。【選択図】  図１
2004356677.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数のノードの位置を管理する位置情報管理方法であって、
前記複数のノードが互いに通信するためのネットワークルーティング情報と、前記複数のノードのうち、自ノードの位置検出手段をもつノードの位置情報および／または予め位置が確定しているノードの位置情報とを用いて、自ノードの位置検出手段をもたないノードの位置情報を計算する。
【請求項２】
請求項１に記載の位置情報管理方法であって、
自ノードの位置検出手段をもつノードの位置情報と、予め位置が確定しているノードの位置情報と、前記計算した位置情報と、を用いて、
前記複数のノードの位置を表示する。
【請求項３】
請求項２に記載の位置情報管理方法であって、
前記ネットワークルーティング情報は、前記複数のノードの各々と他のノードとの論理的な距離情報を含み、
位置検出手段をもたないノードの位置情報を求める際に、前記距離情報に応じた計算を行う。
【請求項４】
請求項３に記載の位置情報管理方法であって、
前記論理的な距離情報は、ホップ数である。
【請求項５】
請求項３に記載の位置情報管理方法であって、
前記位置検出手段をもたないノードの位置情報の計算において、当該ノードが備える無線通信手段が他のノードと直接通信可能な距離を係数として用いる。
【請求項６】
請求項３に記載の位置情報管理方法であって、
前記ノードの位置の表示において、直接通信できる二つのノード間を接続する線を表示する。
【請求項７】
複数のノードがネットワークを介して接続されるネットワークシステムであって、
前記複数のノードの位置を図示する手段を備える接続構成表示サーバを備え、
前記複数のノードは、自ノードの位置検出手段を備えるノードおよび／またはあらかじめ位置が確定しているノードと、自ノードの位置検出手段を持たないノードと、からなり、
前記接続構成表示サーバは、
前記複数のノードが互いに通信するためのネットワークルーティング情報と、前記位置検出手段をもつノードの位置情報および／または予め位置が確定しているノードの位置情報とを用いて、前記自ノードの位置検出手段をもたないノードの位置情報を計算し、
前記計算して求めた位置情報を用いて、前記複数のノードの位置を表示する。
【請求項８】
請求項７に記載のネットワークシステムであって、
前記接続構成表示サーバは、前記ノードの位置の表示において、直接通信できる二つのノード間を接続する線を表示する。
【請求項９】
請求項８に記載のネットワークシステムであって、
前記複数のノードの各々は、自ノードが持つネットワークルーティング情報を前記接続構成表示サーバに送信し、
前記接続構成表示サーバは、前記複数のノードのネットワークルーティング情報を受信する。
【請求項１０】
請求項９に記載のネットワークシステムであって、
前記複数のノードの各々は、自ノードの位置検出手段を備える場合は、位置情報を前記接続構成表示サーバに送信し、
前記接続構成表示サーバは、前記ネットワークルーティング情報と前記位置情報とを受信する。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、無線通信を利用したネットワークに接続されるノードの位置情報を提供する技術に関する。
【０００２】
【従来の技術】
近年、無線通信技術の発展にともない、オフィス通信環境の無線化や公共の場における無線通信サービスが普及している。これらの無線通信環境では、無線ＬＡＮのアクセスポイントを設置し、そのアクセスポイントを介して既存のネットワークに接続、通信を行うことを目的とする。一方、アクセスポイント等の通信インフラを必要とせず、ノード間同士でネットワークを構築して通信するという、いわゆるアドホックネットワークの議論が標準化団体等において盛んになされている。
【０００３】
アドホックネットワークは、ＰＤＡ（Ｐｏｒｔａｂｌｅ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、携帯電話、ノートＰＣ等の無線通信機能をもつ様々なノードによって形成される、その場限りのネットワークである。通信を行うノード同士は、互いに無線通信が可能である領域内、即ちパケットを運ぶ無線通信波が到達可能な領域内にいる場合に通信できるのみならず、直接無線通信波が到達できない領域にいる場合でも他のノードがパケットを中継することで通信が可能となる。
【０００４】
アドホックネットワークでは、パケットを中継するために経路情報の交換を行わなければならない。アドホックネットワークにおいて、ノードＡ、Ｂ、Ｃの３つのノードがある場合について説明する。ノードＡとノードＢは無線通信機能を用いて互いに直接通信が可能とし、同様に、ノードＢとノードＣは直接通信が可能であるとする。これに反して、ノードＡとノードＣは互いに無線通信波の到達範囲外におり直接通信できないとする。この場合、ノードＡとノードＣが互いに通信を行うためには、ノードＢが中継する必要があるということをノードＡ及びノードＣが知らなければならないため、ノードＢは定期的もしくはノードＡやノードＣの要求に応じ、ノードＡ、ノードＣと直接通信が可能であることをノードＡ及びノードＣに通知する。
【０００５】
このようにしてアドホックネットワーク内では経路情報が交換され、無線通信波の到達範囲外にいるノードとの通信ができるようになる。
【０００６】
上記の経路情報の交換が定期的に行われるものをプロアクティブなアドホックネットワークと呼び、データ通信を始めるときに初めて経路情報を交換するものをリアクティブなアドホックネットワークと呼ぶ。プロアクティブなアドホックネットワークでは、定期的にネットワークの経路情報を交換するため、各ノードは互いのノードへの経路情報を予め保持する。
【０００７】
アドホックネットワークでは、上記のような仕組みを用いて通信が行われるノード同士の経路情報を取得することが可能であるが、物理的な位置を把握することができない。しかしながら、ネットワークの構成管理および通信状態を管理するためには、ノードの物理的位置を把握することが必要である。ノードの物理位置を把握できれば、例えば、あるノードの動作不良が原因でネットワークの通信状態に異常があるとわかった場合に、当該箇所にあるノードの復旧作業を行うことで、ネットワークの通信状態を復旧することができる。
【０００８】
従来の位置情報管理方法には、特許文献１に記載の位置情報提供システムがある。このシステムは、通路上に設置された物理的手段により通路ネットワークを構成し、通路ネットワークのノード及びターミナルポイントには無線通信アクセスを可能にする通信手段を具備して旅行者に情報提供を行うシステムを得るものである。より具体的には、旅行者の位置を検出するために複数の無線通信装置をあるエリアに設置し、埋め込まれた無線通信装置が無線通信波を送信し、旅行者が持つ情報通信端末が応答し、その応答を検出することで端末の位置を同定する方法が示されている。
【０００９】
【特許文献１】
特開２００２−１０９６７９号公報
【００１０】
【発明が解決しようとする課題】
上記の従来技術では、無線通信波を送信する複数の無線通信装置を固定的に設置する必要があり、また、位置が検出できる範囲が無線通信装置を固定的に設置した近隣に制限される。このようなシステムでは、位置情報を取得するための範囲が広がるに従い、多くの無線通信装置を固定的に配置しなければならないため、コストがかさむという問題がある。
【００１１】
【課題を解決するための手段】
本発明はアドホックネットワークを利用し、無線通信装置を固定的に設置することなく、ノードの位置情報を提供する。
【００１２】
本発明ではアドホックネットワークに接続されたノードの位置を図示する方法において、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）受信デバイス等の位置情報検出デバイスをもつノードや予め位置が確定しているノードについては、当該デバイスにより与えられる位置情報を用いて図示するともに、自ノードの位置情報を検出する手段をもたないノードについても、位置を図示する方法を提供する。
【００１３】
本発明は、自ノードの位置情報を検出する手段をもたないノードの位置を図示するために、アドホックネットワークに接続されたノード同士が交換する経路情報を利用する技術を提供する。経路情報には、あるノードから別のノードまでの論理的な距離を示す数値（メトリックという）が含まれている。メトリックの一例はホップ数であり、あるノードから近くにいるノードまではホップ数が少なく、遠くにあるノードまではホップ数が大きいことが期待できる。そのため、位置情報検出デバイスをもたないノードが位置情報検出デバイスをもつノードからどれだけ離れているかをホップ数により推測でき、その凡その位置を図示することができる。
【００１４】
【発明の実施の形態】
以下、本発明の一実施形態について図面に基づき説明する。図１は、本発明の一実施形態であるアドホックネットワーク構成例の図である。
【００１５】
図１において、ＰＤＡ１（２０１）、ＰＤＡ２（２０２）  、ＰＤＡ３（２０３）、  ＰＤＡ４（２０４）、  ＰＤＡ５（２０５）は無線通信デバイスを持ち、アドホックネットワークに参加するＰＤＡなどのノード（以下ＰＤＡと称す）である。２０１ｗはＰＤＡ１（２０１）に接続または内蔵されている無線ＬＡＮデバイスである。同様に、２０２ｗ、２０３ｗ、２０４ｗ、はそれぞれＰＤＡ２（２０２）、ＰＤＡ３（２０３）、ＰＤＡ４（２０４）に接続または内蔵されている無線ＬＡＮデバイスである。２０３ｂはＰＤＡ３（２０３）に接続または内蔵されている近距離無線通信デバイスである。同様に２０５ｂはＰＤＡ５（２０５）に接続または内蔵されている近距離無線通信デバイスである。２０２ｇはＰＤＡ２（２０２）に接続または内蔵されており、ＧＰＳ衛星からの電波を受けて地理的位置情報を取得するＧＰＳ受信デバイスである。同様に、２０４ｇ、２０５ｇはそれぞれＰＤＡ４（２０４）、ＰＤＡ５（２０５）に接続または内蔵されているＧＰＳ受信デバイスである。また、２１０は無線ＬＡＮデバイス２１０ｗ、ＧＰＳ受信デバイス２１０ｇが接続または内蔵された位置情報表示サーバ装置（以下、位置情報表示サーバという）である。２２０はＧＰＳ信号を送信する複数のＧＰＳ衛星を表す。
【００１６】
このとき、ＰＤＡ１（２０１）は無線ＬＡＮデバイス２０１ｗを用いてＰＤＡ２（２０２）と直接通信可能である。同様に、ＰＤＡ１（２０１）とＰＤＡ４（２０４）、ＰＤＡ１（２０１）と位置情報表示サーバ２１０、ＰＤＡ２（２０２）とＰＤＡ３（２０３）、ＰＤＡ２（２０２）と位置情報表示サーバ２１０、ＰＤＡ３（２０３）と位置情報表示サーバ２１０は、それぞれ無線ＬＡＮデバイスを用いて互いに直接通信可能であるとする。ＰＤＡ３（２０３）とＰＤＡ５（２０５）は近距離無線通信デバイスを用いて直接通信可能であるとする。ＧＰＳ受信デバイス２０２ｇ、２０４ｇ、２０５ｇ、２１０ｇは地理的位置を特定するためのＧＰＳ信号を、複数のＧＰＳ衛星２２０から受信できるとする。
【００１７】
ＰＤＡ２０１〜２０５の内部構造を図２に示す。ＰＤＡ２０１〜２０５の内部にはＣＰＵ３０１、メモリ３０２、無線通信デバイス３０３及び３０４、表示デバイス３０５があり、それぞれがバスなどの内部通信線（バスという）で接続されている。無線通信デバイス３０３、３０４は無線ＬＡＮデバイス、ＧＰＳ受信デバイス、近距離無線通信デバイスのいずれかかを示すが、いずれか一つのデバイスだけでも良い。
【００１８】
また、位置情報表示サーバ２１０の内部構造を図１１に示す。位置表示サーバの内部にはＣＰＵ１２０１、メモリ１２０２、無線通信デバイス１２０３及び１２０４、ビデオカード１２０５があり、それぞれがバスなどの内部通信線（バスという）で接続されている。無線通信デバイス３０３、３０４は無線ＬＡＮデバイス、ＧＰＳ受信デバイス、近距離無線通信デバイスのいずれかを示すが、いずれか一つのデバイスだけでも良い。また、ビデオカード１２０５は、有線または無線でディスプレイ１２０６と接続されている。
【００１９】
以下に述べる各装置における処理は、個々の装置のメモリに格納されたプログラムがＣＰＵによって実行されることにより、それぞれの装置上で実現されるものである。各プログラムは、あらかじめメモリに格納されていても良いし、必要に応じて、各装置が利用可能な、着脱可能な記憶媒体やネットワークまたはネットワーク上を伝搬する搬送波を介して、メモリに導入されても良い。
【００２０】
図１で互いの経路情報を交換した場合に、ＰＤＡ１（２０１）上のメモリに保持される経路情報の一部を図３に示す。図３は経路情報から生成されたルーティングテーブル４００である。図３では、ＰＤＡ１（２０１）から各ノードに通信を行うために通るべき通信経路を例示している。４０１はＰＤＡ１（２０１）の通信相手となるべきノード識別子である。ここにはノードのＩＰアドレスもしくはノードのＩＰアドレスとＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）によって得られるＩＰアドレスに対応するノード名称が記載される。４０２は４０１に記載されたノードと通信するためには、次にどのノードに対してパケットを送信すればよいかを示すゲートウェイである。ゲートウェイ４０２にも４０１と同様にノードのＩＰアドレスもしくはノードのＩＰアドレスとＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）によって得られるＩＰアドレスに対応するノード名称が記載される。この欄に記載がないレコード、図３では４１０、４２０、４４０、は直接通信できることを示す。４０３は４０１に記載されたノードとの論理的な距離を示す数値、すなわちメトリックである。本実施例では、メトリックがホップ数で表されている場合を例示する。４０４はその４０１に記載されたノードと通信するためには、どのデバイスからパケットを送信すればよいかを示すインターフェースである。この欄には、ＰＤＡ１（２０１）が保持する無線通信デバイスのいずれかの識別子が登録される。
【００２１】
図３において、４１０はＰＤＡ１（２０１）が位置情報表示サーバ２１０と通信するためのルーティングエントリである。このエントリ４１０では、ノード識別子４０１として位置情報表示サーバ２１０が登録されており、ゲートウェイ４０２は登録されておらず、メトリックとして１が登録されており、インターフェースとしてｗｌａｎ０が登録されている。このｗｌａｎ０とは、ＰＤＡ１（２０１）内部で無線ＬＡＮデバイス２０１ｗを指している。また、ルーティングエントリ４２０には、ノード識別子４０１としてＰＤＡ２が、ゲートウェイ４０２は無し、メトリック４０３として１が、インターフェース４０４としてｗｌａｎ０が登録されている。ルーティングエントリ４３０には、ノード識別子４０１としてＰＤＡ３が、ゲートウェイ４０２としてＰＤＡ２が、メトリック４０３として２が、インターフェース４０４としてｗｌａｎ０が登録されている。ルーティングエントリ４４０には、ノード識別子４０１としてＰＤＡ４が、ゲートウェイ４０２は無し、メトリック４０３として１が、インターフェース４０４としてｗｌａｎ０が登録されている。ルーティングエントリ４５０には、ノード識別子４０１としてＰＤＡ５が、ゲートウェイ４０２としてＰＤＡ２が、メトリック４０３として３が、インターフェース４０４としてｗｌａｎ０が登録されている。
【００２２】
図３のルーティングテーブル４００から、ＰＤＡ１（２０１）は位置情報表示サーバ２１０、ＰＤＡ２（２０２）、ＰＤＡ４（２０４）に対しては直接通信することができることがわかり、ＰＤＡ３（２０３）、ＰＤＡ５（２０５）に対しては、ＰＤＡ２（２０２）を介して通信できることがわかる。
【００２３】
以下に、ルーティングテーブル４００を利用して、直接通信できる相手の情報から位置情報を図示する場合について説明する。
【００２４】
図４は本発明の一実施形態での経路情報送信プロセスのフロー図である。このプロセスは、図１におけるＰＤＡ１（２０１）、ＰＤＡ２（２０２）、ＰＤＡ３（２０３）、ＰＤＡ４（２０４）、ＰＤＡ５（２０５）、位置情報表示サーバ２１０の各ノード上にそれぞれ具現化されて、個々に動作する。
【００２５】
本プロセスは開始（５０１）した後、経路情報の送信リクエストの受信待ち（５０２）を行う。送信リクエストを受信すると、自ノードで保持する経路情報読み込み（５０３）を行う。このとき読み込む経路情報５１０は、ルーティングテーブル４００である。もしくは、アドホックルーティングプロセスが生成した別の経路情報であってもよい。
【００２６】
ルーティングテーブル４００の読み込みが終わった後に、送信情報選択処理（５０４）を行う。ここでは、位置情報表示サーバ２１０において、位置情報を図示するために必要となる情報の取捨選択を行う。本実施例では、直接通信可能な端末の情報（ホップ数が１）の情報を用いて図示する場合について説明する。このとき、ルーティングテーブル４００からゲートウェイ４０２として登録がないレコード、つまり当該ノードと直接通信可能であるノードのレコードを検索し、ルーティングエントリ４１０、４２０、４４０を選出する。
【００２７】
ホップ数が１の端末に加え、ホップ数が２以上の端末の情報を用いて図示してもよい。この場合には、ルーティングエントリ４３０、４５０も選出する。
【００２８】
次に、選出したルーティングエントリを、位置情報表示サーバ２１０に送信する（５０５）。送信する情報を図５に示す。また、当該ノードが自身の位置情報測定デバイスを持っており、自身の位置情報がわかる場合、位置情報６０４をデータとして送信する。位置情報測定デバイスを持たないノードは、この位置情報６０４を送信しない。
【００２９】
経路情報を送信（５０４）した後、送信リクエスト受信待ち（５０５）に入り、位置情報表示サーバ２１０からの送信リクエストの受信を待つ。位置情報表示サーバ２１０から送信リクエストを受け取ると、再び経路情報読込み５０２に戻り、上記処理を繰り返す。
【００３０】
図５は上記ステップ５０４において位置情報表示サーバ２１０に送られるパケット６００のフォーマットである。先頭はＩＰ／ＵＤＰヘッダ６０１である。次にデータ長６０２がある。このパケット６００を受信する位置情報表示サーバ２１０では、このデータ長から後述するルーティングエントリがいくつ入っているかが判断できる。
【００３１】
図６は位置情報表示サーバ２１０で動作するプログラムの処理フローを示す図である。このプログラムでは、図５に示したパケットを受信し、それを描画する機能をもつ。本プログラムでは、ユーザからの起動要求によって開始（７０１）した後、２つのプロセスへの分岐（フォーク）（７０２）を行う。一つは各ノードから経路情報を受信するためのプロセスであり、もう一つは位置情報を図示するためのプロセスである。
【００３２】
ノードから経路情報を受信するプロセスでは、まず、各ノードに対して経路情報の送信リクエストを送信する（７０６）。送信リクエストを送信する宛先となるノードは、自身のルーティングテーブル４００から、アドホックネットワークに参加するノードを検索し、該当した全てのノードである。このようにすることで、アドホックネットワークに参加する全てのノードに対して、経路情報の送信リクエストを通知することができる。
【００３３】
送信リクエストのパケットフォーマット８００を図７に示す。本パケットはＩＰ／ＵＤＰヘッダ８０１及び経路情報送信リクエスト８０２からなる。経路情報送信リクエスト８０２には、当該パケットが位置情報表示サーバ２１０から送信された経路情報の送信のリクエストであることが記載されている。これを受信したノードは、図５に示したパケット６００を位置情報表示サーバ２１０に送信する。
【００３４】
位置情報表示サーバ２１０では、送信リクエスト（７０６）の後、パケットの受信待ち（７０７）を行い、パケット６００が各ノードから返信されるまで待つ。受信後、各ノードから送られてきたルーティングエントリに基づいた情報を図９に示すリンク情報テーブル１０００に登録するリンク情報登録と、図５に示した位置情報に基づいた情報を図８に示す位置情報テーブル９００に登録する位置情報登録とを行う（７０８）。これらのテーブルの内容は、共有メモリ７１０に書き込む。
【００３５】
共有メモリ７１０とは、経路情報を受信するプロセスから書き込みでき、かつ位置情報を図示するプロセスから読み込むことができるメモリ３０２上の領域である。リンク情報を登録した後、このプロセスは予め設定された時間スリープ（７０９）する。スリープ時間の設定は、本プログラムが起動するときの引数として渡される。予め設定された時間スリープした後、本プロセスは７０６に戻り、処理を繰り返す。
【００３６】
ステップ７０６〜７０９のプロセスと並行して、位置情報を図示するプロセスが動作する。
【００３７】
本プロセスでは、まず、リンク情報と、位置情報を共有メモリ７１０から読み込む（７０３）。ここで、自らの位置を検出できるノードの位置情報と、各ノードが直接通信を行うことができるノードの情報が得られる。例えば、図１で示したネットワーク構成におけるＰＤＡ２（２０２）の情報として、ＰＤＡ２（２０２）の位置情報および、ＰＤＡ２（２０２）がＰＤＡ１（２０１）、ＰＤＡ３（２０３）、位置情報表示サーバ２１０と直接通信ができることがわかる。また、自らの位置を検出できないノードについても、位置情報は得られないがどのノードと直接通信ができるかの情報が得られる。例えば、図１で示したネットワーク構成におけるＰＤＡ１（２０１）の情報として、位置情報は得られないが、ＰＤＡ２（２０２）、ＰＤＡ４（２０４）、位置情報表示サーバ２１０と直接通信できることがわかる。
【００３８】
これらの情報を基にして、描画位置の計算を行う（７０４）。この描画位置の計算でははじめに、位置情報を送信してきたノードの描画位置を決定する。図８に各ノードから受け取った情報を基に、共有メモリ上に作成された位置情報テーブル９００を示す。この位置情報テーブル９００には、ノード識別子９０１と、その位置情報９０２が登録されている。レコード９１０には位置情報表示サーバ２１０の位置情報（Ｘ、Ｙ）が登録されている。同様にレコード９３０、９５０、９６０には、ＰＤＡ２（２０２）、ＰＤＡ４（２０４）、ＰＤＡ５（２０５）の位置情報としてそれぞれ（Ｘ２、Ｙ２）、（Ｘ４、Ｙ４）、（Ｘ５、Ｙ５）が登録されている。また、レコード９２０のノード識別子としてＰＤＡ１（２０１）が登録されているが、ＰＤＡ１（２０１）は自らの位置を検出できないため、位置情報表示サーバ２１０に位置情報を送信しておらず、位置情報９０２は登録されていない。同様に、レコード９４０もＰＤＡ３（２０３）が自らの位置を検出できないため、位置情報９０２が登録されていない。
【００３９】
描画位置の計算（７０４）では、これらのＸ軸の最大値Ｍｘ、最小値ｍｘ、Ｙ軸の最大値Ｍｙ、最小値ｍｙから描画位置を計算する。例えば、位置情報リストに位置情報が登録された全てのノードを、画面サイズ（Ｓｘ、Ｓｙ）に上下左右２０％のマージンを設けて描画する場合、位置情報（Ｇｘ、Ｇｙ）の描画位置（Ｐｘ、Ｐｙ）は以下のようになる。
【００４０】
Ｐｘ＝［０．２＋（１−０．２×２）｛（Ｇｘｍｘ）／（Ｍｘｍｘ）｝］×Ｓｘ
Ｐｙ＝［０．２＋（１−０．２×２）｛（Ｇｙｍｙ）／（Ｍｙｍｙ）｝］×Ｓｙ
次に、リンク情報を元に、位置情報を送信していないノードの描画位置を決定する。図８からわかるように、ＰＤＡ１（２０１）およびＰＤＡ３（２０３）が位置情報を持っていないため、これらに対して描画位置の計算を行う。描画位置の計算は例えば、以下の規則に従って行う。
（１）描画位置の初期値はランダムに決まるものとする。
（２）直接通信可能な（すなわちホップ数が１の）ノードは互いに近くにあることが想定されるため、引力が働くものとし、距離に比例した値だけノードの描画位置が近づく。
（３）全てのノード間には反発力が働き、互いに離れるように移動するものとし、距離に反比例した値だけ互いのノードの描画位置が移動する。
端末間に引力が作用して互いのノード位置が近づくと、ノードが重なって図示されて見づらくなることがある。これを避けるために、反発力の概念を導入している。
【００４１】
ＰＤＡ１（２０１）の描画計算を例に説明する。現在のＰＤＡ１（２０１）の描画位置を（Ｐｘ１、Ｐｙ１）、ＰＤＡ２（２０２）の描画位置を（Ｐｘ２、Ｐｙ２）として、反発による描画位置の移動量（ｄｘｒ、ｄｙｒ）と引力による描画位置の移動量（ｄｘａ、ｄｙａ）を下式で計算する。ここでＲ、Ａは任意の正数、ＬはＰＤＡ１とＰＤＡ２の描画位置の距離である。
【００４２】
ｄｘｒ  ＝  Ｒ  （Ｐｘ１  −  Ｐｘ２）  ／  Ｌ×Ｌ
ｄｙｒ  ＝  Ｒ  （Ｐｙ１  −  Ｐｙ２）  ／  Ｌ×Ｌ
他のノード、すなわちＰＤＡ３（２０３）、ＰＤＡ４（２０４）、ＰＤＡ５（２０５）、位置情報表示サーバ（２１０）、との反発による移動量の計算を同様に行う。
【００４３】
また、引力を計算する場合、まず直接通信可能なノードを図９に示すリンク情報テーブル１０００を参照して決定する。図９において、１００１、１００２はリンク情報情報登録７０８によって共有メモリ７１０に書き込まれたリンク情報とインターフェースである。１０１０はＰＤＡ１（２０１）がＰＤＡ２（２０２）に直接通信可能であることを示すレコードである。１０２０はＰＤＡ１（２０１）がＰＤＡ４（２０４）に直接通信可能であることを示すレコードである。１０３０はＰＤＡ１（２０２）がＰＤＡ４（２０４）に直接通信可能であることを示すレコードである。レコード１０１０、１０２０、１０３０ではＰＤＡ１から各ノードへの直接通信がｗｌａｎ０を介して行えることが記されている。これらのレコードからＰＤＡ１（２０２）への引力による移動量の計算はＰＤＡ２（２０２）、ＰＤＡ４（２０４）、位置情報表示サーバ（２１０）に対して行えばよいことがわかる。引力によるＰＤＡ１（２０１）の移動量の計算例をＰＤＡ２との直接通信について計算する場合、下式で計算される。
【００４４】
ｄｘａ  ＝  Ａ  （Ｐｘ２  −  Ｐｘ１）
ｄｙａ  ＝  Ａ  （Ｐｙ２  −  Ｐｙ１）
他の直接通信可能なノード、すなわち、ＰＤＡ４、位置情報表示サーバ２１０、との引力による移動量の計算を同様に行う。引力による移動量を計算する場合、ルーティングテーブル４００に記録されているインターフェース情報４０４によって係数Ａを変えることで、より現実の位置に近い描画を行うことが可能である。例えば、インターフェースが近距離無線通信である場合、近距離無線通信は無線ＬＡＮに比べ、無線通信の到達距離が短いため、直接通信できるノードと当該ノードの位置が現実において非常に近い距離にあることが期待される。そのため、そのような無線通信の到達距離が短いインターフェースに対しては、係数Ａの値を大きくし、無線到達距離が長いインターフェースに対しては、係数Ａの値を小さくすることで、位置情報表示サーバ２１０における描画が現実のものと近くなるように調整できる。
【００４５】
また、引力の計算に、前述したようにホップ数が２以上の端末間の情報を用いても良い。その場合、ホップ数に合わせて係数Ａを変化させて引力を計算し、描画位置の移動量を求める際に各ホップ数の端末間の引力を足し合わせればよい。
【００４６】
反発による移動量と引力による移動量の全て足し合わせたものをＰＤＡ１（２０１）の描画位置の移動量とする。移動量の総計を（ｄｘｓｕｍ、ｄｙｓｕｍ）とすると、ＰＤＡ１（２０１）の新しい描画位置（Ｐｘ１ｎｅｗ、Ｐｘ２ｎｅｗ）は下式で表される。
Ｐｘ１ｎｅｗ  ＝  Ｐｘ  ＋  ｄｘｓｕｍ
Ｐｙ１ｎｅｗ  ＝  Ｐｙ  ＋  ｄｙｓｕｍ
以上の計算を、他の位置情報を持っていないノードについても同様に行う。
【００４７】
最後に、求めた新しい描画位置に基づき再描画（７０５）を行い、一定時間スリープ（７１１）する。その後、本プロセスは再びリンク情報および位置情報読込み（７０３）に戻り、以降処理を繰り返す。
【００４８】
位置情報表示サーバ２１０のビデオカード１２０５は、上記の処理によって得られた結果に基づき、各ノードの表示位置をディスプレイ１２０６に表示する。図１０に、表示画面イメージ１１００を示す。各ノードについて、その位置だけでなく他のノードと接続する線によって当該他のノードと直接通信できるかどうかを示している。
【００４９】
本実施形態の位置情報表示方法を用いることで、ＰＤＡ２（２０２）、ＰＤＡ４（２０４）、ＰＤＡ５（２０５）、位置情報表示サーバ（２１０）  のようにＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等の位置情報検出デバイスをもつノードについては、画面イメージ１１００内において１１０２、１１０４、１１０５、１１１０当該デバイスにより与えられる位置情報に基づいた位置が図示され、自デバイスの位置を検出できないノードＰＤＡ１（２０１）、ＰＤＡ３（２０３）についても、アドホックネットワークの経路情報を用いることによって、１１０１、１１０３のように現実に倣った位置が図示することが可能となる。
【００５０】
なお、本実施例は、上述のプロアクティブなアドホックネットワーク、リアクティブなアドホックネットワークのいずれにも適用可能である。
【００５１】
【発明の効果】
本発明によれば、ネットワークに接続されたノードの位置を図示する方法において、自デバイスの位置を検出できないノードについても、ネットワークの経路情報を用いることによって、位置を図示できるようになる。
【図面の簡単な説明】
【図１】実施形態の位置情報管理方法を適用するアドホックネットワークの構成図である。
【図２】アドホックネットワークを構成するＰＤＡのハードウェア構成図である。
【図３】ＰＤＡ上の経路情報から生成されたルーティングテーブル４００を示す図である。
【図４】実施形態の位置情報管理方法のための経路情報送信プロセスのフロー図である。
【図５】実施形態の経路情報送信プロセスから送信されるパケット６００のフォーマットである。
【図６】実施形態の位置情報表示プログラムの処理フローを示す図である。
【図７】実施形態の位置情報表示プログラムから送信される送信リクエストパケット８００のフォーマットを示す図である。
【図８】実施形態の位置情報表示プログラムによって共有メモリ上に作成される位置情報テーブル９００を示す図である。
【図９】実施形態の位置情報表示プログラムによって共有メモリ上に作成されるリンク情報テーブル１０００を示す図である。
【図１０】実施形態の位置情報表示プログラムによって得られる画面イメージ図である。
【図１１】実施形態の位置情報表示サーバのハードウェア構成図である。
【符号の説明】
２０１・・・ＰＤＡ１，  ２０１ｗ・・・ＰＤＡ１に接続された無線ＬＡＮデバイス，  ２０２・・・ＰＤＡ２，  ２０２ｗ・・・ＰＤＡ２に搭載された無線ＬＡＮデバイス，  ２０２ｇ・・・ＰＤＡ２に接続されたＧＰＳ受信デバイス，    ２０３・・・ＰＤＡ３，  ２０３ｗ・・・ＰＤＡ３に搭載された無線ＬＡＮデバイス，  ２０３ｂ・・・ＰＤＡ３に搭載された近距離無線通信デバイス，  ２０４・・・ＰＤＡ４，  ２０４ｗ・・・ＰＤＡ４に搭載された無線ＬＡＮデバイス，  ２０４ｇ・・・ＰＤＡ４に接続されたＧＰＳ受信デバイス，  ２０５・・・ＰＤＡ５，  ２０５ｂ・・・ＰＤＡ５に搭載された近距離無線通信デバイス，  ２０５ｇ・・・ＰＤＡ５に接続されたＧＰＳ受信デバイス，  ２１０・・・位置情報表示サーバ，  ２１０ｗ・・・位置情報サーバに搭載された無線ＬＡＮデバイス，  ２１０ｇ・・・位置情報表示サーバに接続されたＧＰＳ受信デバイス，  ２２０・・・複数のＧＰＳ衛星
【図１】
2004356677.tif 000003
【図２】
2004356677.tif 000004
【図３】
2004356677.tif 000005
【図４】
2004356677.tif 000006
【図５】
2004356677.tif 000007
【図６】
2004356677.tif 000008
【図７】
2004356677.tif 000009
【図８】
2004356677.tif 000010
【図９】
2004356677.tif 000011
【図１０】
2004356677.tif 000012
【図１１】
2004356677.tif 000013