(57)【特許請求の範囲】
【請求項１】
複数のチャネルで通信可能なアドホックネットワークを構成する通信機器を探索する通信機器探索方法であって、
通信機器を探索する探索元の通信機器が、
探索先の通信機器を宛先とした探索要求を、当該探索要求に対する応答を待たないで複数のチャネルで送信し、
前記探索元の通信機器の隣接する通信機器が、
前記送信する処理によって送信された探索要求に対する応答を、前記探索先から受信した場合、受信した応答を保持し、
前記探索元の通信機器が、
前記送信する処理によって送信された探索要求に対する応答を、前記探索先から受信したか否かを、隣接する通信機器に対して、複数のチャネルで問い合わせる
ことを実行することを特徴とする通信機器探索方法。
【請求項２】
前記探索先の通信機器が、
前記送信する処理によって送信された探索要求を受信した場合、受信した探索要求に対する応答に、前記探索元の１つ手前で保持する旨の指示を含んで送信する
ことを実行することを特徴とする請求項１に記載の通信機器探索方法。
【請求項３】
複数のチャネルで通信可能なアドホックネットワークを構成する通信機器であって、
探索先の通信機器を宛先とした探索要求を、当該探索要求に対する応答を待たないで複数のチャネルで送信する探索要求部と、
前記探索要求部によって送信された探索要求に対する応答を、前記探索先から受信した場合に該受信した応答を保持する通信機器に対して、前記探索先から受信したか否かを、複数のチャネルで問い合わせる問合せ部と
を有することを特徴とする通信機器。
【請求項４】
複数のチャネルで通信可能なアドホックネットワークを構成する通信機器に、
探索先の通信機器を宛先とした探索要求を、当該探索要求に対する応答を待たないで複数のチャネルで送信し、
前記送信する処理によって送信された探索要求に対する応答を、前記探索先から受信した場合に該受信した応答を保持する通信機器に対して、前記探索先から受信したか否かを、複数のチャネルで問い合わせる
処理を実行させることを特徴とする通信機器探索プログラム。
【請求項５】
複数のチャネルで通信可能なアドホックネットワークを構成する通信機器を探索するアドホックネットワークシステムであって、
通信機器を探索する探索元の通信機器と、
前記探索元の通信機器の隣接する通信機器と、
探索先の通信機器と、を備え、
前記探索元の通信機器は、
探索先の通信機器を宛先とした探索要求を、当該探索要求に対する応答を待たないで複数のチャネルで送信する探索要求部と、
前記探索要求部によって送信された探索要求に対する応答を、隣接する通信機器に対して、前記探索先から受信したか否かを、複数のチャネルで問い合わせる問合せ部と、を有し、
前記探索先の通信機器は、
前記探索要求部によって送信された探索要求を受信したときに、該受信した探索要求が自機器を宛先としている場合、該受信した探索要求に対する応答に、探索元の１つ手前で保持する旨の指示を含んで送信する応答部を有し、
前記隣接する通信機器は、
前記探索要求部によって送信された探索要求を受信したときに、該受信した探索要求が自機器を宛先としていない場合、該受信した探索要求を中継する中継部と、
前記中継部によって中継された探索要求に対する応答を前記探索先から受信した場合、自機器が探索元の１つ手前であれば該受信した応答を保持する保持部と
を有することを特徴とするアドホックネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信機器探索方法等に関する。
【背景技術】
【０００２】
近年、送信元の無線通信機器から宛先の無線通信機器まで１つまたは複数の無線通信機器を中継してマルチホップにより情報の伝送を行うアドホックネットワークが利用されている。かかるアドホックネットワークでは、周波数を変えることによって複数の論理的な通信チャネルで通信が可能であるが、同時には１つのチャネルでしか通信ができない。すなわち、複数の無線通信機器のそれぞれは、複数あるチャネルのうち１つのチャネルで通信を行う。【０００３】
このような無線通信機器が、複数のチャネルのうちどのチャネルで通信を行っているか不明な相手機器と通信を行う場合、相手機器がどのチャネルを使用しているかを特定する必要がある。【０００４】
ルーティングプロトコルの１つであるプロアクティブ方式の場合、各無線通信機器では、あらかじめネットワーク内の全ての機器の経路が構築されている。このため、送信元の無線通信機器は、各チャネルでの隣接機器に対して相手機器がそのチャネルを使用しているかを問い合わせることで、相手機器が使用しているチャネルを探索する時間を短縮する。【０００５】
他方、ルーティングプロトコルの１つであるリアクティブ方式の場合、各無線通信機器では、あらかじめネットワーク内の装置の経路が構築されていない。このため、送信元の無線通信機器は、通信を行う際に、各チャネルで通信を行う相手機器に対して経路要求（ＲＲＥＱ:Route  Request）を試みる。そして、送信元の無線通信機器は、応答の有無を判定して、相手機器が使用しているチャネルを特定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−６６８６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、複数のチャネルで通信が可能な従来のリアクティブ方式のアドホックネットワークでは、相手機器に関する探索に時間がかかるという問題がある。【０００８】
ここで、従来のリアクティブ方式について、図１３を参照しながら説明する。図１３は、従来のリアクティブ方式を説明する図である。図１３に示すように、送信元の無線通信機器（送信元ノード）が、順次各チャネル（ＣＨ）で、目的のノードに対して経路要求（ＲＲＥＱ）を試みる。ここでは、送信元ノードが、ＣＨ１で、目的のノード（例えば、ノードＺ）に対してＲＲＥＱを試みる。そして、送信元ノードは、応答を待って、応答が無いことを確認して、次のチャネルに移行する。続いて、送信元ノードは、ＣＨ２で、目的のノードに対してＲＲＥＱを試みる。そして、送信元ノードは、応答を待って、応答が無いことを確認して、次のチャネルに移行する。送信元ノードは、各チャネルで、ＲＲＥＱと応答の有無の確認を繰り返す。そして、送信元ノードは、ＣＨＮで、ノードＺからの応答（ＲＲＥＰ：Route  Reply）を受信し、目的のノードが使用しているチャネルがＣＨＮであることを特定する。このように、送信元ノードは、チャネル毎に、順次、経路要求に対する応答の有無の判断を待つこととなるので、目的のノードに関する探索に時間がかかる。【０００９】
また、相手機器に関する探索に時間がかかる問題を、さらに、図１４を用いて説明する。図１４は、相手機器に関する探索に時間がかかる問題を説明する図である。図１４に示すように、Ｘ座標は時間、Ｙ座標はチャネルを表している。送信元ノードは、ＣＨ１でＲＲＥＱを送信し、応答待ちをする。ＣＨ１で応答が無かったので、その後、送信元ノードは、ＣＨ２でＲＲＥＱを送信し、応答待ちをする。ＣＨ２でも応答が無かったので、送信元ノードは、順次、チャネルを変えて、変えたチャネルでＲＲＥＱを送信し、応答待ちをする。そして、送信元ノードは、ＣＨＮでＲＲＥＱを送信したとき、応答を受信する。つまり、送信元ノードは、ＣＨＮで目的のノードである相手機器に関する探索に成功したことになる。このように、送信元ノードは、チャネルの数Ｎ個分応答を待つこととなり、目的のノードに関する探索に時間がかかる。【００１０】
さらに、図１３および図１４で示したように、必ずしも目的のノードに関して成功の探索結果が得られるとは限らない。例えば、マルチホップの数に制限があったり、送信元ノードの存在する場所に通信制限があったりする場合には、チャネルの数分だけ応答を待っても、必ずしも目的のノードに関して成功の探索結果が得られるとは限らない。したがって、複数のチャネルで通信が可能なリアクティブ方式のアドホックネットワークでは、目的のノードに関する探索結果が早期に得られることが望まれる。【００１１】
開示の技術は、複数のチャネルで通信が可能なリアクティブ方式のアドホックネットワークにおいて、相手先の通信機器に関する探索時間を短縮することを目的とする。
【課題を解決するための手段】
【００１２】
開示の通信機器探索方法は、複数のチャネルで通信可能なアドホックネットワークを構成する通信機器を探索する方法である。そして、通信機器探索方法では、通信機器を探索する探索元の通信機器が、探索先の通信機器を宛先とした探索要求を複数のチャネルで送信する。そして、前記探索元の通信機器の隣接する通信機器が、前記送信する処理によって送信された探索要求に対して、前記探索先から応答を受信した場合、受信した応答を保持する。そして、前記探索元の通信機器が、前記送信する処理によって送信された探索要求に対する応答を、前記探索先から受信したか否かを、隣接する通信機器に対して、複数のチャネルで問い合わせる。
【発明の効果】
【００１３】
本願の開示する通信機器探索方法の一つの態様によれば、複数のチャネルで通信が可能なリアクティブ方式のアドホックネットワークにおいて、相手先の通信機器に関する探索時間を短縮することができるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例に係るアドホックネットワークシステムの構成を示す機能ブロック図である。
【図２】図２は、経路要求パケットのフォーマットの一例を示す図である。
【図３】図３は、応答パケットのフォーマットの一例を示す図である。
【図４】図４は、実施例に係る送信元ノードの処理手順を示すフローチャートである。
【図５】図５は、実施例に係る中継ノードの処理手順を示すフローチャートである。
【図６】図６は、実施例に係る宛先ノードの処理手順を示すフローチャートである。
【図７】図７は、実施例に係るアドホックネットワークの具体例を示す図である。
【図８】図８は、実施例に係る経路要求のデータフローを示す図である。
【図９】図９は、実施例に係る応答問合せのデータフローを示す図である。
【図１０】図１０は、実施例に係る通信機器探索処理の時間とチャネルの関係を示す図（１）である。
【図１１】図１１は、実施例に係る通信機器探索処理の時間とチャネルの関係を示す図（２）である。
【図１２】図１２は、通信機器探索プログラムを実行するコンピュータを示す図である。
【図１３】図１３は、従来のリアクティブ方式を説明する図である。
【図１４】図１４は、相手機器に関する探索に時間がかかる問題を説明する図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する通信機器探索方法、通信機器、通信機器探索プログラムおよびアドホックネットワークシステムの実施例を図面に基づいて詳細に説明する。なお、実施例では、複数のチャネルで通信が可能なリアクティブ方式のアドホックネットワークにおいて、移動可能な携帯端末が通信機器を探索する場合について説明するが、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１６】
［実施例に係るアドホックネットワークシステムの構成］
実施例に係るアドホックネットワークシステム９の構成の一例について説明する。図１は、実施例に係るアドホックネットワークシステムの構成を示す機能ブロック図である。図１に示すように、アドホックネットワークシステム９は、同一のチャネルで相互に通信可能となる携帯端末１と複数の通信機器２とを有する。なお、チャネルは、複数存在し、それぞれ異なる周波数帯域に対応する。また、通信機器２は、説明の便宜上、中継ノードを通信機器２１とし、宛先ノードを通信機器２Ｎとして説明するものとする。【００１７】
アドホックネットワークシステム９は、携帯端末１（送信先ノード）から通信機器２Ｎ（宛先ノード）にデータを送信する場合、携帯端末１から宛先の通信機器２Ｎまでマルチホップによりデータの伝送を行う。すなわち、携帯端末１は、隣接する通信機器２１を中継して、宛先の通信機器２Ｎにデータを送信する。【００１８】
［携帯端末１の構成］
携帯端末１は、探索先の通信機器を宛先とした探索要求を、該探索要求に対する応答を待たないで複数のチャネルで送信する。また、携帯端末１は、探索要求を送信した後、隣接する通信機器に対して、探索先からの応答を受信したか否かを、複数のチャネルで問い合わせる。なお、携帯端末１は、例えばハンディターミナルに対応するが、これに限定されず、携帯電話機、ＰＤＡ（Personal  Digital  Assistants）、携帯可能なパーソナルコンピュータであっても良い。【００１９】
携帯端末１は、制御部１０および記憶部３０を有する。制御部１０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路である。さらに、制御部１０は、パケット受信部１１と、パケット送信部１２と、経路要求部１３と、応答問合せ部１４とを有する。【００２０】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（flash  memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。【００２１】
経路要求部１３は、チャネルを変更しながら変更した各チャネルで、探索先の通信機器２Ｎを宛先とした経路要求を、パケット送信部１２を介して送信する。経路要求は、後述する経路要求パケットを用いて送信される。なお、経路要求部１３は、各チャネルでの送信だけを行い、送信に対する応答を待たない。【００２２】
応答問合せ部１４は、チャネルを変更しながら変更した各チャネルで、探索先からの応答を受信したか否かの問合せ要求を、パケット送信部１２を介して隣接する通信機器２１に対して行う。例えば、応答問合せ部１４は、経路要求部１３によって各チャネルで経路要求を送信した後、各チャネルで、応答を問い合わせるべくポーリング（poling）を行う。【００２３】
パケット受信部１１は、問合せ要求に対する応答を、隣接する通信機器２１から受信する。応答は、後述する応答パケットを用いて受信される。パケット送信部１２は、伝送路に各種パケットを送信する。【００２４】
［通信機器２の構成］
通信機器２は、例えば、パーソナルコンピュータ、ワークステーション等の情報処理装置に対応するが、携帯端末１と通信可能な機器であれば良い。【００２５】
中継ノードとしての通信機器２１は、制御部２０および記憶部４０を有する。制御部２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの集積回路、または、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路である。さらに、制御部２０は、パケット受信部２１と、パケット送信部２２と、要求判定部２３Ａと、応答保留部２４と、応答有無判定部２５とを有する。【００２６】
記憶部４０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（flash  memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。さらに、記憶部４０は、応答記憶部４１を有する。応答記憶部４１は、応答パケットを記憶する。【００２７】
パケット受信部２１は、自機器が使用しているチャネルで、各種パケットを受信する。パケット送信部２２は、自機器が使用しているチャネルで、各種パケットを送信する。【００２８】
要求判定部２３Ａは、各種要求を判定し、処理を振り分ける。例えば、要求判定部２３Ａは、携帯端末１からの探索要求である場合、自機器が該探索要求に含まれた宛先であるか否かを判定する。そして、要求判定部２３Ａは、自機器が該探索要求に含まれた宛先でないと判定した場合、自機器が使用しているチャネルで探索要求を中継する。ここでは、自機器は中継ノードであり、宛先ノードでないので、要求判定部２３Ａは、探索要求を中継する。また、要求判定部２３は、探索要求に対する応答の場合、応答保留部２４に処理を振り分ける。また、要求判定部２３Ａは、携帯端末１からの問合せ要求である場合、応答有無判定部２５に処理を振り分ける。【００２９】
応答保留部２４は、応答に、送信元の１ホップ手前で保留する旨の指示を含んでいる場合、自機器が送信元の１ホップ手前であれば、当該応答を保留すべく応答記憶部４１に記憶する。なお、１ホップ手前かどうかの判断は、例えば、ＲＲＥＱを受信した際に、中継ノードを介さずに送信元のノードから直接、ＲＲＥＱを受信したかどうかを記録しておくことによって判断する。【００３０】
応答有無判定部２５は、応答記憶部４１に基づいて、応答を保留しているか否かを判定する。そして、応答有無判定部２５は、応答記憶部４１に応答を保留していると判定した場合、保留していた応答を、パケット送信部２２を介して送信元の携帯端末１に送信する。これにより、送信元の携帯端末１は、応答を保留していた通信機器から応答を受信することで、受信した際のチャネルを探索先の通信機器２Ｎのチャネルとして特定できる。【００３１】
宛先ノードとしての通信機器２Ｎは、通信機器２１と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。通信機器２Ｎが通信機器２１と異なるところは、要求判定部２３Ａを要求判定部２３Ｂとし、パケット編集部２６を追加した点にある。なお、通信機器２Ｎおよび通信機器２１は、実際は、同一の構成を備える通信機器であり、それぞれの構成をマージした構成を備える。【００３２】
要求判定部２３Ｂは、各種要求を判定し、処理を振り分ける。例えば、要求判定部２３Ｂは、携帯端末１からの探索要求である場合、自機器が該探索要求に含まれた宛先であるか否かを判定する。そして、要求判定部２３Ｂは、自機器が該探索要求に含まれた宛先であると判定した場合、パケット編集部２６に処理を振り分ける。【００３３】
パケット編集部２６は、探索要求に対する応答として、送信元の１ホップ手前で保留する旨の指示を含む応答パケットを作成する。そして、パケット編集部２６は、作成した応答パケットを、送信元の携帯端末１を宛先として送信する。これにより、送信元の携帯端末１の１ホップ手前の通信機器２１は、宛先の通信機器２Ｎと同一のチャネルを使用していれば、応答パケットを受信し、受信した応答パケットを保留することが可能となる。【００３４】
［パケットフォーマットの一例］
次に、経路要求パケットおよび応答パケットのパケットフォーマットについて、図２および図３を参照して説明する。図２は、経路要求パケットのフォーマットの一例を示す図である。図３は、応答パケットのフォーマットの一例を示す図である。なお、経路要求パケットは、ＲＲＥＱ（Route  Request）といい、応答パケットは、ＲＲＥＰ（Route  Reply）という。【００３５】
図２に示すように、経路要求パケットには、宛先アドレスａ１、送信元アドレスａ２および経路要求先アドレスａ３が含まれる。宛先アドレスａ１には、ブロードキャストすべく、一例として、隣接する通信機器２１の宛先アドレスを指定するユニキャストアドレスが設定される。別の例として、隣接する通信機器２１のみが受信可能なマルチキャストアドレスが設定される。隣接する通信機器２１のみが受信可能なマルチキャストアドレスの一例として、ＳＴＰ（Spanning  Tree  Protocol）で用いられるＢＰＤＵ（Bridge  Protocol  Data  Unit）で使用されるアドレスが用いられる。【００３６】
送信元アドレスａ２には、送信元ノードのアドレスが設定される。すなわち、送信元アドレスａ２には、携帯端末１のアドレスが設定される。【００３７】
経路要求先アドレスａ３には、宛先ノードのアドレスが設定される。すなわち、経路要求先アドレスａ３には、通信機器２Ｎのアドレスが設定される。【００３８】
図３に示すように、応答パケットには、宛先アドレスｂ１、送信元アドレスｂ２およびポーリングフラグｂ３が含まれる。宛先アドレスｂ１には、応答の宛先である送信元ノードのアドレスが設定される。すなわち、宛先アドレスｂ１には、携帯端末１のアドレスが設定される。【００３９】
送信元アドレスｂ２には、応答の送信元である宛先ノードのアドレスが設定される。すなわち、送信元アドレスｂ２には、通信機器２Ｎのアドレスが設定される。【００４０】
ポーリングフラグｂ３は、送信元ノードがポーリングによって応答を取得するか否かを示すフラグである。言い換えると、ポーリングフラグｂ３は、送信元ノードの１ホップ手前のノードが応答を保留する旨の指示を示すフラグである。送信元ノードの１ホップ手前のノードが応答を保留する旨の指示の場合、例えばＯＮが設定される。送信元ノードの１ホップ手前のノードが応答を保留する旨の指示でない場合、例えばＯＦＦが設定される。すなわち、パケット編集部２６は、探索要求に対する応答として、宛先アドレスｂ１に携帯端末１のアドレスを設定し、送信元アドレスｂ２に自機器のアドレスを設定し、ポーリングフラグｂ３にＯＮを設定するように応答パケットを作成する。【００４１】
［送信元ノードの処理手順］
次に、送信元ノードの処理手順について、図４を参照して説明する。図４は、実施例に係る送信元ノードの処理手順を示すフローチャートである。なお、以下のフローチャートでは、チャネルをＣＨと略記して表すものとする。また、通信可能なチャネルの最大数はＮ（Ｎは１より大きい整数）であるものとする。【００４２】
まず、経路要求部１３は、経路要求が発生したか否かを判定する（ステップＳ１０）。経路要求が発生していないと判定した場合（ステップＳ１０；Ｎｏ）、経路要求部１３は、判定処理を繰り返す。一方、経路要求が発生したと判定した場合（ステップＳ１０；Ｙｅｓ）。経路要求部１３は、ＣＨ１で経路要求、すなわち経路要求パケットを送信する（ステップＳ１１）。続いて、経路要求部１３は、ＣＨ２で経路要求を送信する（ステップＳ１２）。さらに、経路要求部１３は、ＣＨＮで経路要求を送信する（ステップＳ１３）。【００４３】
その後、応答問合せ部１４は、インデックスｉに１を設定する（ステップＳ１４）。そして、応答問合せ部１４は、ＣＨｉでポーリング、すなわち問合せ要求を行う（ステップＳ１５）。そして、応答問合せ部１４は、ポーリングに対する応答があるか否かを判定する（ステップＳ１６）。【００４４】
ポーリングに対する応答がないと判定した場合(ステップＳ１６；Ｎｏ)、応答問合せ部１４は、応答の待ち時間がタイムアウトであるか否かを判定する（ステップＳ１７）。応答の待ち時間がタイムアウトでないと判定した場合（ステップＳ１７；Ｎｏ）、応答問合せ部１４は、インデックスｉの値に１を加算する（ステップＳ１８）。そして、応答問合せ部１４は、インデックスｉの値がＮより大きいか否かを判定する（ステップＳ１９）。【００４５】
インデックスｉの値がＮより大きいと判定した場合（ステップＳ１９；Ｙｅｓ）、応答問合せ部１４は、ＣＨ１から順番に再度ポーリングすべく、ステップＳ１４に移行する。一方、インデックスｉの値がＮより大きくないと判定した場合（ステップＳ１９；Ｎｏ）、応答問合せ部１４は、ＣＨｉでポーリングすべく、ステップＳ１５に移行する。【００４６】
そして、ステップＳ１６では、ポーリングに対する応答があると判定した場合（ステップＳ１６；Ｙｅｓ）、応答問合せ部１４は、ポーリングに対する応答パケットを受信する（ステップＳ２０）。そして、送信元ノードでは、処理が終了する。【００４７】
そして、ステップＳ１７では、応答の待ち時間がタイムアウトであると判定した場合（ステップＳ１７；Ｙｅｓ）、応答問合せ部１４は、エラーと判定する（ステップＳ２１）。例えば、応答問合せ部１４は、自己の携帯端末１のディスプレイに経路要求に対する応答がなかったことを出力する。そして、送信元ノードでは、処理が終了する。【００４８】
［中継ノードの処理手順］
次に、中継ノードの処理手順について、図５を参照して説明する。図５は、実施例に係る中継ノードの処理手順を示すフローチャートである。【００４９】
まず、要求判定部２３Ａは、所定の要求があるか否かを判定する（ステップＳ３１）。所定の要求がないと判定した場合（ステップＳ３１；Ｎｏ）、要求判定部２３Ａは、判定処理を繰り返す。一方、所定の要求があると判定した場合（ステップＳ３１；Ｙｅｓ）、要求判定部２３Ａは、要求に関するパケットを受信する（ステップＳ３２）。【００５０】
そして、要求判定部２３Ａは、受信したパケットがポーリングであるか否かを判定する（ステップＳ３３）。受信したパケットがポーリングであると判定した場合（ステップＳ３３；Ｙｅｓ）、応答有無判定部２５は、応答記憶部４１に保留している応答パケットがあるか否かを判定する（ステップＳ３４）。【００５１】
応答記憶部４１に保留している応答パケットがあると判定した場合（ステップＳ３４；Ｙｅｓ）、応答有無判定部２５は、保留している応答パケットを送信元ノードに送信する（ステップＳ３５）。そして、中継ノードでは、処理が終了する。一方、応答記憶部４１に保留している応答パケットがないと判定した場合（ステップＳ３４；Ｎｏ）、応答有無判定部２５は、次の要求を待つべく、ステップＳ３１に移行する。【００５２】
そして、ステップＳ３３では、受信したパケットがポーリングでないと判定した場合（ステップＳ３３；Ｎｏ）、要求判定部２３Ａは、受信したパケットが保留すべきパケットであるか否かを判定する（ステップＳ３６）。応答パケットでかつポーリングフラグがＯＮでかつ送信元まで１ホップであると判定した場合（ステップＳ３６；Ｙｅｓ）、応答保留部２４は、保留すべきパケットであると判断し、応答パケットを応答記憶部４１に保留する（ステップＳ３７）。そして、中継ノードでは、処理が終了する。【００５３】
一方、受信したパケットが保留すべきパケットでないと判定した場合（ステップＳ３６；Ｎｏ）、要求判定部２３Ａは、受信したパケットを中継する（ステップＳ３８）。要求判定部２３Ａは、受信したパケットを経路要求パケットと判断したものである。そして、中継ノードでは、処理が終了する。【００５４】
［宛先ノードの処理手順］
次に、宛先ノードの処理手順について、図６を参照して説明する。図６は、実施例に係る宛先ノードの処理手順を示すフローチャートである。【００５５】
まず、要求判定部２３Ｂは、所定の要求があるか否かを判定する（ステップＳ４１）。所定の要求がないと判定した場合（ステップＳ４１；Ｎｏ）、要求判定部２３Ｂは、判定処理を繰り返す。一方、所定の要求があると判定した場合（ステップＳ４１；Ｙｅｓ）、要求判定部２３Ｂは、要求に関するパケットを受信する（ステップＳ４２）。【００５６】
そして、要求判定部２３Ｂは、受信したパケットが経路要求パケットであるか否かを判定する（ステップＳ４３）。受信したパケットが経路要求パケットであると判定した場合（ステップＳ４３；Ｙｅｓ）、パケット編集部２６はポーリングフラグｂ３をＯＮにして応答パケットを送信する（ステップＳ４４）。すなわち、パケット編集部２６は、探索要求パケットに対する応答として、送信元の１ホップ手前で保留する旨の指示を含む応答パケットを作成し、作成した応答パケットを送信する。そして、宛先ノードでは、処理が終了する。【００５７】
一方、要求判定部２３Ｂは、受信したパケットが経路要求パケットでないと判定した場合（ステップＳ４３；Ｎｏ）、ポーリングフラグｂ３をＯＦＦのまま応答パケットを送信する（ステップＳ４５）。そして、宛先ノードでは、処理が終了する。【００５８】
［アドホックネットワークの具体例］
次に、実施例に係るアドホックネットワークの具体例を、図７を参照して説明する。図７は、実施例に係るアドホックネットワークの具体例を示す図である。なお、図７では、チャネルをＣＨと略記して表すものとする。また、通信可能なチャネルの最大数はＮ（Ｎは１より大きい整数）であるものとする。【００５９】
図７に示すように、ＣＨ１では、ノードＡ、ノードＢ、ノードＣおよびノードＤがマルチホップにより通信可能となっている。そして、送信元ノードがＣＨ１であれば、隣接するノードＡからマルチホップにより通信可能となる。【００６０】
また、ＣＨ２では、ノードＥ、ノードＦおよびノードＧがマルチホップにより通信可能となっている。そして、送信元ノードがＣＨ２であれば、隣接するノードＥからマルチホップにより通信可能となる。【００６１】
また、ＣＨＮでは、ノードＸ、ノードＹおよびノードＺがマルチホップにより通信可能となっている。そして、送信元ノードがＣＨＮであれば、隣接するノードＸからマルチホップにより通信可能となる。【００６２】
［経路要求および応答問合せのデータフロー］
図７で示したアドホックネットワークの下、実施例に係る経路要求および実施例に係る応答問合せのデータフローを、図８および図９を参照して説明する。図８は、実施例に係る経路要求のデータフローを示す図である。図９は、実施例に係る応答問合せのデータフローを示す図である。なお、送信元ノードが宛先ノードをノードＺとして、ノードＺを探索するものとする。【００６３】
図８に示すように、送信元ノードは、ＣＨ１で、ノードＺを宛先とした経路要求パケット（ＲＲＥＱ）を送信する。送信元ノードから送信されたＲＲＥＱは、ノードＡからノードＢへ、ノードＢからノードＣおよびノードＤへ送信される。ところが、宛先であるノードＺがＣＨ１で通信可能なネットワークに存在しないので、宛先ノードはみつからない。【００６４】
送信元ノードは、ＣＨ１で送信したＲＲＥＱに対する応答を待たないで、チャネルを変更し、変更したＣＨ２で、ノードＺを宛先としたＲＲＥＱを送信する。送信元ノードから送信されたＲＲＥＱは、ノードＥからノードＦおよびノードＧへ送信される。ところが、宛先であるノードＺがＣＨ２で通信可能なネットワークに存在しないので、宛先ノードはみつからない。【００６５】
送信元ノードは、送信したＲＲＥＱに対する応答を待たないで、次々とチャネルを変更し、変更したチャネルで、ノードＺを宛先としたＲＲＥＱを送信する。そして、送信元ノードは、ＣＨＮで、他のチャネルと同じＲＲＥＱを送信すると、送信元ノードから送信されたＲＲＥＱは、ノードＸからノードＹへ、ノードＹからノードＺへ送信される。そして、宛先であるノードＺがＣＨＮで通信可能なネットワークに存在するので、応答パケットであるＲＲＥＰがノードＺから送信される。ＲＲＥＰには、ポーリングフラグｂ３がＯＮに設定されている。【００６６】
ノードＺから送信されたＲＲＥＰは、ノードＹからノードＸへ送信される。そして、送信元ノードの１ホップ手前のノードＸは、ＲＲＥＰを受信し、受信したＲＲＥＰでポーリングフラグｂ３がＯＮに設定されているので、受信したＲＲＥＰを応答記憶部４１に保留する。【００６７】
送信元ノードは、ここでは最後のチャネルであるＣＨＮで、ノードＺを宛先としたＲＲＥＱを送信すると、引き続き、ＣＨ１から順番にポーリングすることとなる。図９に示すように、送信元ノードは、ＣＨ１で、ポーリングを送信する。すなわち、ポーリングは、探索先のノードＺからの応答（ＲＲＥＰ）を受信したか否かの問合せ要求に対応する。ところが、ノードＡは、ＲＲＥＰを保留していないので、要求に応えることができない。【００６８】
続いて、送信元ノードは、ＣＨ２で、ポーリングを送信する。ところが、ノードＢも、ＲＲＥＰを保留していないので、要求に応えることができない。【００６９】
送信元ノードは、次々とチャネルを変更し、変更したチャネルで、ポーリングを送信する。そして、送信ノードは、ＣＨＮで、ポーリングを送信する。ノードＸは、ＲＲＥＰを保留しているので、保留しているＲＲＥＰを送信元ノードに送信する。そして、送信元ノードは、目的のノード、すなわち宛先ノードＺからの応答を受信する。【００７０】
このように、送信元ノードは、ノードＸからＲＲＥＰを受信することで、受信した際のＣＨＮを宛先ノードＺのチャネルとして特定できる。【００７１】
［通信機器探索処理の時間とチャネルの関係］
次に、実施例に係る通信機器探索処理の時間とチャネルの関係について、図１０および図１１を参照しながら説明する。図１０および図１１は、実施例に係る通信機器探索処理の時間とチャネルの関係を示す図である。なお、図１０および図１１では、チャネルをＣＨと略記して表すものとする。また、通信可能なチャネルの最大数はＮ（Ｎは１より大きい整数）であるものとする。【００７２】
図１０に示すように、送信元ノードは、ＣＨ１で経路要求（ＲＲＥＱ）を送信したら、応答を待たないで、順次、ＣＨ２、・・・、ＣＨＮでＲＲＥＱを送信する。ここで、１チャネルに対して経路要求を送信する時間が例えばｔ１ミリ秒（ｍｓ）であるとすると、経路要求を送信する総時間は、ｔ１×Ｎ（ｍｓ）となる。【００７３】
その後、送信元ノードは、全てのチャネルで経路要求を送信した後、ＣＨ１から順番に全てのチャネルでポーリングする。ここで、１ホップに対する経路要求の応答待ち時間が、ｔ２（ｍｓ）であり、仮に最大ホップ数がＨＭＡＸ個であるとすると、最大ホップ数に対する応答待ち時間は、ｔ２×ＨＭＡＸ（ｍｓ）となる。【００７４】
したがって、送信元ノードが宛先ノードを探索する最大時間（探索最大時間）Ｔ１は、経路要求を送信する総時間に最大ホップ数に対する応答待ち時間を加算した時間、すなわち式（１）で表される。
Ｔ１＝ｔ１×Ｎ＋ｔ２×ＨＭＡＸ（ｍｓ）・・・式（１）【００７５】
図１０の例では、送信元ノードが宛先ノードをノードＺとして、探索最大時間Ｔ１の範囲内にＣＨＮでノードＺを探索できた場合を表している。【００７６】
ここで、従来のリアクティブ方式では、送信元ノードは、１つのＣＨでＲＲＥＱを送信し、応答が無いことを確認してから、次のＣＨでＲＲＥＱを送信し、宛先ノードを探索する。つまり、従来のリアクティブ方式の探索最大時間Ｔ２は、以下の式（２）で表される。
Ｔ２＝（ｔ１＋ｔ２×ＨＭＡＸ）×Ｎ（ｍｓ）・・・式（２）
送信元ノードが宛先ノードをノードＺとすると、従来のリアクティブ方式では、Ｔ２だけ待って探索できることとなる。【００７７】
具体的な数字を当てはめてみると、例えば、１チャネルに対して経路要求を送信する時間ｔ１が１０ｍｓ、１ホップに対する経路要求の応答待ち時間ｔ２が１００ｍｓ、最大ホップ数ＨＭＡＸが２０、チャネルの最大数Ｎが１０であるとする。すると、Ｔ１は２１００ｍｓと算出され、Ｔ２は２０１００ｍｓと算出される。したがって、実施例に係る探索時間は、従来のリアクティブ方式の場合と比べて約１／１０に短縮できる。【００７８】
一方、図１１の例では、送信元ノードが目的のノードを探索最大時間Ｔ１の範囲内に探索できなかった場合を表している。例えば、マルチホップの数に制限があったり、送信元ノードの存在する場所に何らかの通信制限があったりする場合である。このような場合であっても、送信元ノードは、探索最大時間Ｔ１だけ待てば目的のノードに関して失敗の探索結果を得られる。したがって、実施例に係る探索結果を取得できる時間は、従来のリアクティブ方式の場合と比べて約１／１０に短縮できる。これにより、送信元ノードは、探索結果を早期に得られるので、探索結果が失敗の場合には、再探索すべき探索場所を早期に変更することができ、最終的な探索時間を短縮することができる。【００７９】
［実施例の効果］
上記実施例では、携帯端末１が、探索先の通信機器２Ｎを宛先とした探索要求を、探索要求に対する応答を待たないで、複数のチャネルで送信する。そして、携帯端末１の隣接する通信機器２１が、探索要求に対して、探索先から応答を受信した場合、受信した応答を保留する。そして、携帯端末１が、複数のチャネルで探索要求を送信した後、通信機器２１に対して、探索先からの応答を受信したか否かを、複数のチャネルで問い合わせる。かかる構成によれば、携帯端末１は、探索先の通信機器が使用しているチャネルが不明である場合に、探索先の通信機器の探索時間を短縮できる。【００８０】
また、上記実施例では、探索先の通信機器２Ｎは、探索要求を受信した場合、受信した探索要求に対する応答に、探索元の携帯端末１の１つ手前で保留する旨の指示を含んで送信する。かかる構成によれば、探索先の通信機器２Ｎは、携帯端末１が探索要求の送信処理を行っている最中であっても、探索元の１つ手前で探索要求の応答を保留させることができる。この結果、探索元の携帯端末１は、応答を保留した通信機器２１のチャネルで問い合わせをしたとき、応答を取得できるので、不明であった探索先の通信機器２Ｎのチャネルを早期に知ることができる。【００８１】
［プログラムなど］
なお、実施例では、携帯端末１が送信元ノードであり、通信機器２が中継ノードおよび宛先ノードであるとして説明した。しかしながら、携帯端末１は、通信機器２の構成を全て含んでも良い。同様に、通信機器２は、携帯端末１の構成を全て含んでも良い。かかる場合、携帯端末１は、制御部１０に要求判定部２３Ａ、要求判定部２３Ｂ、応答保留部２４、応答有無判定部２５およびパケット編集部２６を追加すれば良い。また、携帯端末１は、記憶部３０に応答記憶部４１を追加すれば良い。また、通信機器２は、制御部２０に経路要求部１３および応答問合せ部１４を追加すれば良い。これにより、携帯端末１および通信機器２のいずれの装置も、送信元ノード、中継ノードおよび宛先ノードになり得るので、機能を汎用化できる。【００８２】
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、経路要求部１３と応答問合せ部１４とを１個の部として統合しても良い。一方、応答有無判定部２５を、応答有無を判定する判定部と、応答が有ると判定した場合該応答を保留する保留部とに分散しても良い。また、記憶部３０、４０をそれぞれ携帯端末１、通信機器２の外部装置としてネットワーク経由で接続するようにしても良い。【００８３】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１２を用いて、図１に示した携帯端末１と同様の機能を有する通信機器探索プログラムを実行するコンピュータの一例を説明する。【００８４】
図１２は、通信機器探索プログラムを実行するコンピュータを示す図である。図１２に示すように、コンピュータ１０００は、ＲＡＭ（Random  Access  Memory）１０１０と、ネットワークインタフェース装置１０２０と、ＨＤＤ（Hard  Disk  Drive）１０３０と、ＣＰＵ（Central  Processing  Unit）１０４０と、媒体読取装置１０５０と、バス１０６０とを有する。ＲＡＭ１０１０、ネットワークインタフェース装置１０２０、ＨＤＤ１０３０、ＣＰＵ１０４０、媒体読取装置１０５０は、バス１０６０によって接続されている。【００８５】
そして、ＨＤＤ１０３０は、図１に示した制御部１０と同様の機能を有する通信機器探索プログラム１０３１および通信機器探索関連情報１０３２を記憶する。また、ＨＤＤ１０３０は、図１に示した記憶部３０に対応する。【００８６】
そして、ＣＰＵ１０４０が通信機器探索プログラム１０３１をＨＤＤ１０３０から読み出してＲＡＭ１０１０にロードすることにより、通信機器探索プログラム１０３１は、通信機器探索プロセス１０１１として機能するようになる。そして、通信機器探索プロセス１０１１は、通信機器探索関連情報１０３２から読み出した情報等を適宜ＲＡＭ１０１０上の自身に割り当てられた領域にロードし、このロードしたデータ等に基づいて各種データ処理を実行する。【００８７】
なお、上記の通信機器探索プログラム１０３１は、必ずしもＨＤＤ１０３０に格納させなくても良く、ＣＤ−ＲＯＭ等の「可搬用の物理媒体」に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしても良い。【００８８】
また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておいても良い。この場合には、コンピュータ１０００がこれらからプログラムを読み出して実行する。
【符号の説明】
【００８９】
１    携帯端末
２    通信機器
９    アドホックネットワークシステム
１０、２０  制御部
３０、４０  記憶部
１１、２１  パケット受信部
１２、２２  パケット送信部
１３  経路要求部
１４  応答問合せ部
２３Ａ、２３Ｂ  要求判定部
２４  応答保留部
２５  応答有無判定部
２６  パケット編集部
４１  応答記憶部
【図１】
0005860135.tif 000002
【図２】
0005860135.tif 000003
【図３】
0005860135.tif 000004
【図４】
0005860135.tif 000005
【図５】
0005860135.tif 000006
【図６】
0005860135.tif 000007
【図７】
0005860135.tif 000008
【図８】
0005860135.tif 000009
【図９】
0005860135.tif 000010
【図１０】
0005860135.tif 000011
【図１１】
0005860135.tif 000012
【図１２】
0005860135.tif 000013
【図１３】
0005860135.tif 000014
【図１４】
0005860135.tif 000015