(57)【特許請求の範囲】
【請求項１】
最終宛先から送信されるＨｅｌｌｏパケットに基づき生成された前記最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶した記憶部と、
前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自立型マルチホップ方式で通信する通信部と、
前記最終宛先と前記送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出する抽出部と、
前記抽出された前記送信元を最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成する生成部と、
前記生成された第２の経路情報を前記記憶部に登録し、前記第２の経路情報に基づき変換した前記最終宛先にデータを送信する制御部と
を有することを特徴とする通信装置。
【請求項２】
前記制御部は、
前記生成された第２の経路の経路情報を前記記憶部に登録し、同一の最終宛先に対応する第２の経路の経路情報内の隣接宛先が複数登録された場合に、前記複数の隣接宛先の内、前記第１の経路で直近に受信したデータに基づき生成された前記第２の経路の経路情報の隣接宛先を、当該第２の経路で最終宛先にデータを優先的に送信する第１位の隣接宛先として選定することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制御部は、
前記第１の経路で直近の同一のタイミングで受信したデータに基づき生成された第２の経路の経路情報内の隣接宛先が複数登録された場合に、当該第２の経路の経路情報内の複数の隣接宛先の内、各隣接宛先に対応した各第１の経路側の通信実績に基づき、前記第１位の隣接宛先を選定することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記制御部は、
前記同一の最終宛先の第２の経路の経路情報内の隣接宛先が複数登録された場合に、当該経路情報内の前記第１位の隣接宛先にデータを送信し、当該データの送信が失敗した場合、当該経路情報内の当該第１位の隣接宛先以外の他の隣接宛先にデータを送信すること特徴とする請求項２に記載の通信装置。
【請求項５】
前記制御部は
前記同一の最終宛先の第２の経路の経路情報内の各隣接宛先に対するデータ送信が全て失敗した場合、他の通信装置に対して最終宛先に対するデータ送信を依頼することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記抽出部は、
前記第１の経路が構築された後、当該第１の経路でダミーデータを受信した場合に、当該ダミーデータ内の送信元を抽出することを特徴とする請求項１または２に記載の通信装置。
【請求項７】
前記制御部は、
前記第１の経路が構築された後、当該第１の経路で代替経路数を含むダミーデータを受信した場合に、当該代替経路数に基づき、当該ダミーデータを当該第１の経路上の他の通信装置に送信することを特徴とする請求項１または２に記載の通信装置。
【請求項８】
最終宛先から送信されるＨｅｌｌｏパケットに基づき生成された前記最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶し、
前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自立型マルチホップ方式で通信し、
前記最終宛先と前記送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出し、
前記抽出された前記送信元を最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成する
処理をコンピュータが実行することを特徴とする経路構築方法。
【請求項９】
最終宛先から送信されるＨｅｌｌｏパケットに基づき生成された前記最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶し、
前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自立型マルチホップ方式で通信し、
前記最終宛先と前記送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出し、
前記抽出された前記送信元を最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成する
処理をコンピュータに実行させることを特徴とする経路構築プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、経路構築方法及び経路構築プログラムに関する。
【背景技術】
【０００２】
近年、各通信ユニットが自律的にルーティングを行ってマルチホップ方式でデータを無線送信する自律型マルチホップ方式の通信システムが広く知られている。自律型マルチホップ方式の通信システムでは、各通信ユニットが１ホップで接続される隣接ユニットと経路情報を定期的に交換して経路情報を更新する。そして、各通信ユニットは、更新された経路情報に基づき送信元の通信ユニットから最終宛先の通信ユニットまで１又は複数の通信ユニットを中継してデータを送信する。
【０００３】
また、自律型マルチホップ方式の通信システムは、通信ユニットと、ゲートウェイ（以下、単にＧＷと称する）とを有する。ＧＷは、有線ネットワークと接続すると共に、自律型マルチホップ方式の通信システム内の任意の通信ユニットを収容する。また、自律型マルチホップ方式の通信システムは、有線ネットワークに対して冗長構成で接続すべく、複数のＧＷを備える。
【０００４】
各通信ユニットは、複数のＧＷ宛の経路情報を管理する。経路情報には、各ＧＷの経路の優先度を示す評価値が含まれる。そして、各通信ユニットには、経路情報内の評価値に基づき、通常の運用に使用する主ＧＷと、主ＧＷ障害時や主ＧＷ切替時に使用する副ＧＷとがある。
【０００５】
ＧＷ及び通信ユニットは、Ｈｅｌｌｏフレームの無線電波品質やデータ送信の成功実績に応じて経路情報内の評価値を更新する。ＧＷ及び通信ユニットは、例えば、Ｈｅｌｌｏフレームを隣接ユニットとの間で定期的に交換する。そして、ＧＷ及び通信ユニットは、交換されたフレーム内の経路情報に基づき経路テーブルを生成する。経路テーブルは、最終宛先及び送信元毎に隣接宛先及び隣接送信元の経路情報を管理している。ＧＷ及び通信ユニットは、経路情報内の評価値に基づき、評価値が良好なユニット経由で宛先ユニットに対してデータを送信する。
【０００６】
また、ＧＷ及び通信ユニットは、Ｈｅｌｌｏフレーム受信時の無線電波品質やデータ送信の成功実績に応じて経路テーブル内の評価値を更新する。そして、データ送信の成功回数に応じて評価値が高くなる。また、例えば、センサネットワーク等で使用される近距離無線通信では、各通信ユニットがデータを送信する直前にフラッディングを出し、最終宛先までの最短経路を検出してマルチホップで無線通信するものも知られている。しかしながら、フラッディングは、ネットワーク全体にかかる負荷が極めて大きい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２６７５３２号公報
【特許文献２】特開２０１１−９９６７号公報
【特許文献３】特開２０１１−９９６９号公報
【特許文献４】特開２００７−３６３９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来の方式では、例えば、通信ユニットからＧＷへの上り経路でデータを送信する場合や、ＧＷから通信ユニットへの下り経路で制御データを送信する場合がある。この際、通信ユニット及びＧＷは、Ｈｅｌｌｏフレーム及び、Ｈｅｌｌｏフレームに対する応答を相互に通知することで上り経路及び下り経路を構築する。しかしながら、各通信ユニット及びＧＷでは、上り経路及び下り経路を構築するためにはＨｅｌｌｏフレーム及び応答等の制御フレームを相互に通知する必要があるため、フラッディングに比較してネットワークへの負荷が小さいものの、その負荷は大である。
【０００９】
しかも、従来の方式では、例えば、上り経路に対する下り経路が１経路しかない場合に、下り経路に障害が発生すると、下りデータを最終宛先に到達できなくなる。そこで、データを最終宛先に到達させるべく、フラッディングで新たな下り経路を構築することになるが、前述した通り、フラッディングによるネットワークへの負荷が大きい。
【００１０】
また、センサネットワーク等で使用される近距離無線通信のネットワークでは、狭帯域であるため、フラッディングによる負荷が多大である。
【００１１】
一つの側面では、データ到達の確率を高めながら経路構築に要する負荷を軽減できる通信装置等を提供することを目的とする。
【課題を解決するための手段】
【００１２】
開示の態様は、最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶した記憶部と、前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自律型マルチホップ方式で通信する通信部とを有する。開示の態様は、前記最終宛先と前記送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出する抽出部を有する。開示の態様は、前記抽出された前記送信元を前記最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成する生成部を有する。開示の態様は、前記生成された第２の経路の経路情報を前記記憶部に登録する制御部を有する。更に、制御部は、同一の最終宛先に対応する第２の経路の経路情報内の隣接宛先が複数登録された場合に、複数の隣接宛先の内、前記第１の経路で直近に受信したデータに基づき生成された前記第２の経路の経路情報の隣接宛先を、当該第２の経路で最終宛先にデータを優先的に送信する第１位の隣接宛先として選定する。
【発明の効果】
【００１３】
開示の態様では、データ到達の確率を高めながら経路構築に要する負荷を軽減できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施例の通信システムの一例を示す説明図である。
【図２】図２は、ＧＷのハードウェア構成の一例を示すブロック図である。
【図３】図３は、ＧＷの機能構成の一例を示すブロック図である。
【図４】図４は、経路テーブルのテーブル構成（ＬＤ１〜ＬＤ３）の一例を示す説明図である。
【図５】図５は、フレーム転送テーブルのテーブル構成の一例を示す説明図である。
【図６】図６は、フレーム構成の一例を示す説明図である。
【図７】図７は、通信ユニットのハードウェア構成の一例を示すブロック図である。
【図８】図８は、通信ユニットの機能構成の一例を示すブロック図である。
【図９】図９は、各上り経路の一例を示す説明図である。
【図１０】図１０は、各下り経路の一例を示す説明図である。
【図１１Ａ】図１１Ａは、Ｈｅｌｌｏフレームによる上り経路構築の一例を示す説明図である。
【図１１Ｂ】図１１Ｂは、上りデータ受信による下り経路構築の一例を示す説明図である。
【図１１Ｃ】図１１Ｃは、下りデータ送信の一例を示す説明図である。
【図１１Ｄ】図１１Ｄは、上りデータ受信による対向側経路の下り経路構築の一例を示す説明図である。
【図１１Ｅ】図１１Ｅは、対向側経路の下りデータ送信の一例を示す説明図である。
【図１１Ｆ】図１１Ｆは、対向側経路の下り経路障害時の下りデータ送信の一例を示す説明図である。
【図１２】図１２は、データ受信処理に関わる通信ユニット（又はＧＷ）の処理動作の一例を示すフローチャートである。
【図１３】図１３は、データ受信処理に関わる通信ユニット（又はＧＷ）の処理動作の一例を示すフローチャートである。
【図１４】図１４は、経路構築プログラムを実行する通信機器の一例を示す説明図である。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて、本願の開示する通信装置、経路構築方法及び経路構築プログラムの実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。
【実施例】
【００１６】
図１は、本実施例の通信システムの一例を示す説明図である。図１に示す通信システム１は、有線ネットワークシステム（以下、単に有線システムと称する）２と、マルチホップネットワークシステム（以下、単にマルチホップシステムと称する）３とを有する。有線システム２は、例えば、ＷＡＮ（Wide  Area  Network）で構築し、通信システム１全体を監視するサーバ４を有する。また、マルチホップシステム３は、自律型マルチホップ方式のアドホック通信ネットワークで構築し、通信ユニット５と、中継ユニット６と、ゲートウェイ（以下、単にＧＷと称する）７とを有する。尚、通信ユニット５、中継ユニット６及びＧＷ７は、通信装置である。
【００１７】
通信ユニット５、中継ユニット６及びＧＷ７は、自律型マルチホップ方式の無線通信でデータを送信する。ＧＷ７は、マルチホップシステム３内の通信ユニット５及び中継ユニット６等と自律型マルチホップ方式の無線で通信すると共に、有線システム２内のサーバ４と有線で通信する。
【００１８】
図１に示す通信システム１は、例えば、家庭内の電力量をサーバ４側で収集して管理するシステムである。通信ユニット５は、例えば、家庭内に配置された、図示せぬ電力計に接続するユニットである。そして、サーバ４は、通信ユニット５を通じて各家庭内に配置された電力計から電力量を収集し、これら収集された家庭内の電力量を管理することになる。各通信ユニット５は、電力計から収集された電力量を定期的にＧＷ７経由の上り経路でサーバ４に送信する。更に、サーバ４は、例えば、通信ユニット５を制御する制御データをＧＷ７経由の下り経路で各通信ユニット５に送信する。尚、本システム内の電力計は、家庭内に固定配置されるため、例えば、通信ユニット５も固定配置されたものとなる。
【００１９】
図２は、ＧＷ７のハードウェア構成の一例を示すブロック図である。図２に示すＧＷ７は、ネットワークインタフェース１１と、無線インタフェース１２と、補助記憶装置１３と、メモリ１４と、プロセッサ１５とを有する。ネットワークインタフェース１１は、有線システム２と接続する通信インタフェースである。無線インタフェース１２は、マルチホップシステム３と接続するインタフェースである。補助記憶装置１３は、後述する経路テーブル等の経路情報に関わる各種情報を記憶する、例えば、フラッシュメモリである。メモリ１４は、各種プログラムの各種情報を記憶するものである。プロセッサ１５は、ＧＷ７全体を制御するものである。
【００２０】
図３は、ＧＷ７の機能構成の一例を示すブロック図である。プロセッサ１５は、メモリ１４に格納されたプログラムに基づき各種プロセスとなる機能を構成する。図３に示すプロセッサ１５は、ネットワーク通信部２１と、無線通信部２２と、フレーム解析部２３と、データ生成部２４と、データ取得部２５と、設定情報取得部２６と、ＧＷ情報生成部２７と、経路制御部２８と、記憶部２９と、制御部３０とを機能する。ネットワーク通信部２１は、ネットワークインタフェース１１を通じて有線システム２との有線通信を制御する。無線通信部２２は、無線インタフェース１２を通じてマルチホップシステム３との無線通信を制御する。
【００２１】
フレーム解析部２３は、無線インタフェース１２を通じてマルチホップシステム３内の通信ユニット５、中継ユニット６及びＧＷ７のフレームを解析する。データ生成部２４は、データを生成する。データ取得部２５は、データを取得する。設定情報取得部２６は、設定情報を取得する。経路制御部２８は、自律型マルチホップ方式の通信経路を制御する。ＧＷ情報生成部２７は、自ＧＷ７の負荷、例えば、収容ユニット台数及び転送トラフィック量等を含むＧＷ情報を生成する。記憶部２９は、後述する経路テーブル３１及びフレーム転送テーブル３３等の各種テーブルを管理するものである。制御部３０は、プロセッサ１５全体を制御する。
【００２２】
図４は、経路テーブル３１のテーブル構成の一例を示す説明図である。図４に示す経路テーブル３１は、最終宛先（ＧＤ：Global  Destination）３１Ａ、送信元（ＧＳ：Global  Source）３１Ｂ及び隣接宛先（ＬＤ：Local  Destination）３１Ｃを対応付けた経路情報を管理するものである。尚、経路情報は、上り経路又は下り経路の経路情報である。最終宛先３１Ａは、データの最終宛先のＩＰ／ＭＡＣアドレスである。送信元３１Ｂは、データの送信元のＩＰ／ＭＡＣアドレスである。隣接宛先３１Ｃは、データを最終宛先に送信する際に隣接する宛先側ユニットのＩＰ／ＭＡＣアドレスである。隣接宛先３１Ｃは、隣接宛先として優先的に使用する優先順位として、第１位の隣接宛先ＬＤ１と、第２位の隣接宛先ＬＤ２と、第３位の隣接宛先ＬＤ３とを有する。
【００２３】
また、第１位の隣接宛先ＬＤ１は、更新時刻３１Ｄ及びカウント値３１Ｅを有する。第１位の隣接宛先ＬＤ１内の更新時刻３１Ｄは、第１位の隣接宛先ＬＤ１を通信に使用した最新時刻である。第１位の隣接宛先ＬＤ１内のカウント値３１Ｅは、第１の隣接宛先ＬＤ１を使用してデータ送信に成功した成功回数である。また、第２位の隣接宛先ＬＤ２は、更新時刻３１Ｄ及びカウント値３１Ｅを有する。第２位の隣接宛先ＬＤ２内の更新時刻３１Ｄは、第２位の隣接宛先ＬＤ２を通信に使用した最新時刻である。第２位の隣接宛先ＬＤ２内のカウント値３１Ｅは、第２の隣接宛先ＬＤ２を使用してデータ送信に成功した成功回数である。また、第３位の隣接宛先ＬＤ３は、更新時刻３１Ｄ及びカウント値３１Ｅを有する。第３位の隣接宛先ＬＤ３内の更新時刻３１Ｄは、第３位の隣接宛先ＬＤ３を通信に使用した最新時刻である。第３位の隣接宛先ＬＤ３内のカウント値３１Ｅは、第３の隣接宛先ＬＤ３を使用してデータ送信に成功した成功回数である。
【００２４】
第１位の隣接宛先ＬＤ１には、同一ＧＤ及びＧＳの経路情報内に複数の隣接宛先がある場合、当該経路情報に関わる上り経路で直近に受信したデータに基づき生成された下り経路の隣接宛先が設定される。第２位の隣接宛先ＬＤ２及び第３位の隣接宛先ＬＤ３は、下り経路の隣接宛先のカウント値３１Ｅ及び更新時刻３１Ｄに基づき設定するものである。尚、更新時間３１Ｄからの経過時間が一定時間内で、かつ、カウント値３１Ｅが高い、すなわち成功実績が高い方の隣接宛先を第２位の隣接宛先ＬＤ２に設定するものである。
【００２５】
図５は、フレーム転送テーブル３３のテーブル構成の一例を示す説明図である。図５に示すフレーム転送テーブル３３は、転送フレームの識別情報（ＦＩＤ：Frame  Identification）３３Ａ毎に、送信元（ＧＳ）３３Ｂ、フラグ３３Ｃ及び隣接送信元（ＬＳ）３３Ｄを管理するものである。更に、フレーム転送テーブル３３は、ＦＩＤ３３Ａ毎に、第１の隣接宛先（ＬＤ１）３３Ｅ、第２位の隣接宛先（ＬＤ２）３３Ｆ、第３位の隣接宛先（ＬＤ３）３３Ｇ及び最新隣接宛先（ＬＡＳＴ）３３Ｈを管理するものである。ＦＩＤ３３Ａは、転送フレームを識別するＩＤである。送信元（ＧＳ）３３Ｂは、転送フレームの送信元を識別するＩＰ／ＭＡＣアドレスである。フラグ３３Ｃは、転送フレームの転送を試したカウント値である。
【００２６】
隣接送信元（ＬＳ）３３Ｄは、転送フレームを中継した送信元の隣接ユニットのＩＰ／ＭＡＣアドレスである。第１位の隣接宛先（ＬＤ１）３３Ｅは、転送フレームを最終宛先に転送する際に使用する優先順位が第１位の隣接宛先ユニットのＩＰ／ＭＡＣアドレスである。第２位の隣接宛先（ＬＤ２）３３Ｆは、転送フレームを最終宛先に転送する際に使用する優先順位が第２位の隣接宛先ユニットのＩＰ／ＭＡＣアドレスである。第３位の隣接宛先（ＬＤ３）３３Ｇは、転送フレームを最終宛先に転送する際に使用する優先順位が第３位の隣接宛先ユニットのＩＰ／ＭＡＣアドレスである。最新隣接宛先３３Ｈは、転送フレームを最終宛先に転送する際に最後に使用した隣接宛先ユニットのＩＰ／ＭＡＣアドレスである。尚、最新隣接宛先３３Ｈは、例えば、隣接宛先（ＬＤ１〜ＬＤ３）の何れか一つである。
【００２７】
図６は、フレーム構成の一例を示す説明図である。図６に示すフレーム３４は、最終宛先Ｄ−ＧＤと、送信元Ｄ−ＧＳと、隣接宛先Ｄ−ＬＤと、隣接送信元Ｄ−ＬＳと、フラグ３４Ａと、データ３４Ｂとを有する。Ｄ−ＧＤは、フレーム３４の最終宛先を示すものである。Ｄ−ＧＳは、フレーム３４の送信元を示すものである。Ｄ−ＬＤは、フレーム３４の最終宛先Ｄ−ＧＤ方向の隣接ユニットを示すものである。Ｄ−ＬＳは、フレーム３４の送信元Ｄ−ＧＳ方向の隣接ユニットを示すものである。フラグ３４Ａは、当該フレーム３４の送信失敗を識別するフラグである。尚、フラグ３４Ａは、送信失敗の場合、「１」に設定されるものである。データ３４Ｂは、フレーム３４に搭載するデータである。
【００２８】
図７は、通信ユニット５のハードウェア構成の一例を示すブロック図である。図７に示す通信ユニット５は、外部装置入力部５１と、無線インタフェース５２と、補助記憶装置５３と、メモリ５４と、プロセッサ５５とを有する。外部装置入力部５１は、例えば、電力量を計測する電力計等の外部装置と接続するインタフェースである。無線インタフェース５２は、マルチホップシステム３と無線接続するインタフェースである。補助記憶装置５３は、各種情報を記憶するフラッシュメモリである。メモリ５４は、例えば、経路構築プログラム等の各種プログラムの情報を記憶するメモリである。プロセッサ５５は、通信ユニット５全体を制御する。尚、中継ユニット６のハードウェア構成は、図７に示す通信ユニット５とほぼ同一の構成であり、例えば、外部装置入力部５１を除いた構成である。
【００２９】
図８は、通信ユニット５の機能構成の一例を示すブロック図である。図８に示すプロセッサ５５は、メモリ５４に格納されたプログラムに基づき各種プロセスとなる機能を構成する。図８に示すプロセッサ５５は、無線通信部６１と、フレーム解析部６２と、データ生成部６３と、データ取得部６４と、設定情報取得部６５と、経路制御部６６と、記憶部６７と、制御部６８とを機能する。無線通信部６１は、無線インタフェース５２を通じてマルチホップシステム３との無線通信を制御する。
【００３０】
フレーム解析部６２は、無線インタフェース５２を通じてマルチホップシステム３内のＧＷ７、通信ユニット５や中継ユニット６のフレームを解析する。データ生成部６３は、データを生成する。データ取得部６４は、データを取得する。設定情報取得部６５は、設定情報を取得する。経路制御部６６は、自律型マルチホップ方式の通信経路を制御する。経路制御部６６は、経路テーブル３１を参照し、最終宛先３１Ａの隣接宛先ＬＤ１〜ＬＤ３に基づき最終宛先のデータを送信する。記憶部６７は、図４に示す経路テーブル３１及び図５に示すフレーム転送テーブル３３等を管理するものである。記憶部６７は、主ＧＷアドレス領域に主ＧＷ７のＩＰ／ＭＡＣアドレス、副ＧＷアドレス領域に副ＧＷ７のＩＰ／ＭＡＣアドレスを対応付けて管理する。尚、主ＧＷ７は、通信ユニット５が運用時に使用するＧＷ７であり、副ＧＷ７は、例えば、主ＧＷ７の障害時や保守時に使用する他のＧＷ７である。
【００３１】
制御部６８は、抽出部６８Ａと、生成部６８Ｂと、制御部６８Ｃとを有する。抽出部６８Ａは、上り経路が構築された後、上り経路で上りデータを受信した場合に、上りデータ内の送信元Ｄ−ＧＳを抽出する。尚、上りデータは、例えば、電力計で計測された電力量である。そして、各通信ユニット５は、例えば、定期的に上り経路で上りデータをＧＷ７経由でサーバ４に送信する。生成部６８Ｂは、抽出された送信元Ｄ−ＧＳを最終宛先ＧＤとして上り経路と逆経路の下り経路を構築する経路情報を生成する。制御部６８Ｃは、生成された下り経路の経路情報を経路テーブル３１に登録する。更に、制御部６８Ｃは、上り経路で直近に受信したデータに基づき生成された経路情報内の隣接宛先を第１位の隣接宛先ＬＤ１に設定する。また、制御部６８Ｃは、隣接宛先を使用した時刻を監視し、隣接宛先ＬＤ毎の通信使用時刻を更新時刻３１Ｄに登録し、その送信成功回数をカウント値３１Ｅに登録する。尚、制御部６８Ｃは、下り経路の経路情報の第１位の隣接宛先ＬＤ１を選定する際、上り経路の更新時刻を使用するが、更新時刻が同一時刻の場合、カウント値３１Ｅが高い方を選定するものである。
【００３２】
制御部６８Ｃは、同一最終宛先ＧＤ及び送信元ＧＳの下り経路の経路情報が複数ある場合、上り経路で直近に受信したデータに基づき生成された下り経路の隣接宛先を隣接宛先ＬＤ１に設定する。更に、制御部６８Ｃは、更新時刻３１Ｄからの経過時間が一定時間以内、かつ、カウント値３１Ｅが高い方の隣接宛先を第２位の隣接宛先ＬＤ２に設定し、次位の隣接宛先を第３位の隣接宛先ＬＤ３に設定する。尚、一定時間とは、例えば、３日である。また、制御部６８Ｃは、第２位の隣接宛先ＬＤ２及び第３位の隣接宛先ＬＤ３の更新時刻３１Ｄからの経過時間が一定時間を超えた場合、第２位の隣接宛先ＬＤ２及び第３位の隣接宛先ＬＤ３を経路情報から削除する。また、制御部６８Ｃは、上り経路のデータ送信が失敗した場合、上り経路に対応する下り経路の経路情報内の送信失敗の隣接宛先を削除する。
【００３３】
通信ユニット５は、経路情報内の隣接宛先ＬＤ１〜ＬＤ３に基づき、最終宛先ＧＤにデータを送信する。図９は、各上り経路の一例を示す説明図である。図９では、２台のＧＷ７Ａ及び７Ｂと、複数台の通信ユニット５Ａ〜５Ｌとを有し、通信ユニット５Ｈは、最終宛先ＧＷ７Ａに対して３本の上り経路８０Ａを構築したとする。第１の上り経路８０Ａは、通信ユニット５Ｈ→通信ユニット５Ｄ→通信ユニット５Ａ→ＧＷ７Ａである。第２の上り経路８０Ｂは、通信ユニット５Ｈ→通信ユニット５Ｂ→ＧＷ７Ａである。第３の上り経路８０Ｃは、通信ユニット５Ｈ→通信ユニット５Ｄ→通信ユニット５Ｂ→ＧＷ７Ａである。この際、通信ユニット５Ｈは、最終宛先ＧＷ７Ａに対して上り経路でデータを送信する場合、例えば、第１の上り経路８０Ａを優先的に使用する。通信ユニット５Ｈは、第１の上り経路８０Ａでのデータ送信が失敗した場合、例えば、第２の上り経路８０Ｂを使用する。更に、通信ユニット５Ｈは、第２の上り経路８０Ｂでのデータ送信が失敗した場合、例えば、第３の上り経路８０Ｃを使用する。
【００３４】
図１０は、各下り経路の一例を示す説明図である。図１０では、図９の３本の上り経路８０Ａ〜８０Ｃのデータ送信に応じて３本の下り経路８１Ａ〜８１Ｃを構築したものとする。第１の下り経路８１Ａは、ＧＷ７Ａ→通信ユニット５Ａ→通信ユニット５Ｄ→通信ユニット５Ｈである。第２の下り経路８１Ｂは、ＧＷ７Ａ→通信ユニット５Ｂ→通信ユニット５Ｈである。第３の下り経路８１Ｃは、ＧＷ７Ａ→通信ユニット５Ｂ→通信ユニット５Ｄ→通信ユニット５Ｈである。この際、ＧＷ７Ａは、最終宛先ＧＤの通信ユニット５Ｈに対して下り経路でデータを送信する場合、例えば、第１の下り経路８１Ａを使用する。ＧＷ７Ａは、第１の下り経路８１Ａでのデータ送信が失敗した場合、例えば、第２の下り経路８１Ｂを使用する。更に、ＧＷ７Ａは、第２の下り経路８１Ｂでのデータ送信が失敗した場合、例えば、第３の下り経路８１Ｃを使用する。
【００３５】
次に本実施例の通信システム１の動作について説明する。図１１Ａは、Ｈｅｌｌｏフレームによる上り経路構築の一例を示す説明図である。説明の便宜上、１台のＧＷ７Ａ、４台の通信ユニット５Ａ、５Ｄ、５Ｄ及び５Ｈの通信システム１で説明する。図１１Ａに示す通信ユニット５Ａは、ＧＷ７ＡからのＨｅｌｌｏフレームに応じて、最終宛先ＧＤにＧＷ７Ａ、隣接宛先ＬＤ１にＧＷ７Ａを上り経路の経路情報として経路テーブル３１に登録する。更に、通信ユニット５Ｄは、通信ユニット５ＡからのＨｅｌｌｏフレームに応じて、最終宛先ＧＤにＧＷ７Ａ、隣接宛先ＬＤ１に通信ユニット５Ａを上り経路の経路情報として経路テーブル３１に登録する。通信ユニット５Ｈは、通信ユニット５ＤからのＨｅｌｌｏフレームに応じて、最終宛先ＧＤにＧＷ７Ａ、隣接宛先ＬＤ１に通信ユニット５Ｄを上り経路の経路情報として経路テーブル３１に登録する。その結果、通信ユニット５Ａ、５Ｄ及び５Ｈは、ＧＷ７Ａとの上り経路を新規に構築したことになる。
【００３６】
図１１Ｂは、上りデータ受信による下り経路構築の一例を示す説明図である。図１１Ｂの通信ユニット５Ｈは、Ｄ−ＧＤにＧＷ７Ａ、Ｄ−ＧＳに通信ユニット５Ｈ、Ｄ−ＬＤに通信ユニット５Ｄ及びＤ−ＬＳに通信ユニット５Ｈを含む上りデータを上り経路で送信する。通信ユニット５Ｄは、通信ユニット５Ｈから上りデータを受信した場合、最終宛先ＧＤにＧＷ７Ａ、送信元ＧＳに通信ユニット５Ｈ、隣接宛先ＬＤ１にＧＷ７Ａの上り経路の経路情報として経路テーブル３１内に更新登録する。更に、通信ユニット５Ｄは、Ｄ−ＧＳの通信ユニット５Ｈを最終宛先ＧＤとし、隣接宛先ＬＤ１に通信ユニット５Ｈの下り経路の経路情報として経路テーブル３１に更新登録する。その結果、通信ユニット５Ｄは、通信ユニット５Ｈとの下り経路を新規に構築したことになる。通信ユニット５Ｄは、Ｄ−ＧＤにＧＷ７Ａ、Ｄ−ＧＳに通信ユニット５Ｈ、Ｄ−ＬＤに通信ユニット５Ａ及びＤ−ＬＳに通信ユニット５Ｄを含む上りデータを上り経路で送信する。
【００３７】
通信ユニット５Ａは、通信ユニット５Ｄから上りデータを受信した場合、最終宛先ＧＤにＧＷ７Ａ、送信元ＧＳに通信ユニット５Ｈ、隣接宛先ＬＤにＧＷ７Ａの上り経路の経路情報として経路テーブル３１内に更新登録する。更に、通信ユニット５Ａは、Ｄ−ＧＳの通信ユニット５Ｈを最終宛先ＧＤとし、隣接宛先ＬＤ１に通信ユニット５Ｄの下り経路の経路情報として経路テーブル３１に更新登録する。その結果、通信ユニット５Ａは、通信ユニット５Ｈとの下り経路を新規に構築したことになる。そして、通信ユニット５Ａは、Ｄ−ＧＤにＧＷ７Ａ、Ｄ−ＧＳに通信ユニット５Ｈ、Ｄ−ＬＤにＧＷ７Ａ及びＤ−ＬＳに通信ユニット５Ａを含む上りデータを上り経路で送信する。
【００３８】
図１１Ｃは、下りデータ送信の一例を示す説明図である。図１１ＣのＧＷ７Ａは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ａ及びＤ−ＬＳにＧＷ７Ａを含む下りデータを下り経路で送信する。通信ユニット５Ａは、ＧＷ７Ａから下りデータを受信した場合、最終宛先ＧＤに通信ユニット５Ｈ、送信元ＧＳにＧＷ７Ａ、隣接宛先ＬＤ１に通信ユニット５Ｄの下りの経路情報として経路テーブル３１内に更新登録する。そして、通信ユニット５Ａは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ｄ及びＤ−ＬＳに通信ユニット５Ａを含む下りデータを下り経路で送信する。通信ユニット５Ｄは、通信ユニット５Ａから下りデータを受信した場合、最終宛先ＧＤに通信ユニット５Ｈ、送信元ＧＳにＧＷ７Ａ、隣接宛先ＬＤ１に通信ユニット５Ｈの下りの経路情報として経路テーブル３１内に更新登録する。そして、通信ユニット５Ｄは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ｈ及びＤ−ＬＳに通信ユニット５Ｄを含む下りデータを下り経路で送信する。
【００３９】
図１１Ｄは、上りデータ受信による対向側経路の下り経路構築の一例を示す説明図である。図１１Ｄでは、通信ユニット５Ａと対向する対向側経路上の通信ユニット５Ｂは、ＧＷ７Ａとの間のＨｅｌｌｏフレームで上り経路を構築する。更に、通信ユニット５Ｄは、通信ユニット５Ｂとの間のＨｅｌｌｏフレームで上り経路を構築する。その後、通信ユニット５Ｄは、最終宛先ＧＤにＧＷ７Ａ、送信元ＧＳに通信ユニット５Ｈ、第１位の隣接宛先ＬＤ１に通信ユニット５Ｂ、第２位の隣接宛先ＬＤ２に通信ユニット５Ａの上り経路の経路情報として経路テーブル３１に登録するものとする。通信ユニット５Ｈは、Ｄ−ＧＤにＧＷ７Ａ、Ｄ−ＧＳに通信ユニット５Ｈ、Ｄ−ＬＤに通信ユニット５Ｄ及びＤ−ＬＳに通信ユニット５Ｈを含む上りデータを上り経路で送信する。通信ユニット５Ｄは、Ｄ−ＧＤにＧＷ７Ａ、Ｄ−ＧＳに通信ユニット５Ｈ、Ｄ−ＬＤに通信ユニット５Ｂ及びＤ−ＬＳに通信ユニット５Ｄを含む上りデータを上り経路で送信する。
【００４０】
通信ユニット５Ｂは、通信ユニット５Ｄから上りデータを受信した場合、最終宛先ＧＤにＧＷ７Ａ、送信元ＧＳに通信ユニット５Ｈ、隣接宛先ＬＤにＧＷ７Ａを経路情報として経路テーブル３１内に更新登録する。更に、通信ユニット５Ｂは、データ内のＤ−ＧＳの通信ユニット５Ｈを最終宛先ＧＤとし、隣接宛先ＬＤに通信ユニット５Ｄの下り経路の経路情報として経路テーブル３１に登録する。その結果、通信ユニット５Ｂは、通信ユニット５Ｄとの下り経路を新規に構築したことになる。
【００４１】
そして、通信ユニット５Ｂは、Ｄ−ＧＤにＧＷ７Ａ、Ｄ−ＧＳに通信ユニット５Ｈ、Ｄ−ＬＤにＧＷ７Ａ及びＤ−ＬＳに通信ユニット５Ｂを含む上りデータを上り経路で送信する。更に、ＧＷ７Ａは、最終宛先ＧＤに通信ユニット５Ｈ、送信元ＧＳにＧＷ７Ａ、第１位の隣接宛先ＬＤ１に通信ユニット５Ｂ、第２位の隣接宛先ＬＤ２に通信ユニット５Ａの下り経路の経路情報として経路テーブル３１に更新登録する。
【００４２】
図１１Ｅは、対向側経路の下りデータ送信の一例を示す説明図である。図１１Ｅでは、ＧＷ７Ａは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ｂ及びＤ−ＬＳにＧＷ７Ａを含む下りデータを下り経路で送信する。通信ユニット５Ｂは、ＧＷ７Ａから上りデータを受信した場合、最終宛先ＧＤに通信ユニット５Ｈ、送信元ＧＳにＧＷ７Ａ、隣接宛先ＬＤに通信ユニット５Ｄの下り経路の経路情報として経路テーブル３１に更新登録する。そして、通信ユニット５Ｂは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ｄ及びＤ−ＬＳに通信ユニット５Ｂを含む下りデータを下り経路で送信する。更に、通信ユニット５Ｄは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ｈ及びＤ−ＬＳに通信ユニット５Ｄを含む下りデータを下り経路で送信する。
【００４３】
図１１Ｆは、対向側経路の下り経路障害時の下りデータ送信の一例を示す説明図である。図１１Ｆでは、ＧＷ７Ａは、Ｄ−ＧＤが通信ユニット５Ｈのフレームを下り経路で送信する際、経路テーブル３１を参照し、第１位の隣接宛先ＬＤ１の通信ユニット５Ｂにデータを送信する。しかし、ＧＷ７Ａは、通信ユニット５Ｂへのデータ送信が失敗した場合、第２位の隣接宛先ＬＤ２の通信ユニット５Ａにデータを送信する。ＧＷ７Ａは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ａ及びＤ−ＬＳにＧＷ７Ａを含む下りデータを下り経路の通信ユニット５Ａ経由で通信ユニット５Ｄに送信する。そして、通信ユニット５Ｄは、Ｄ−ＧＤに通信ユニット５Ｈ、Ｄ−ＧＳにＧＷ７Ａ、Ｄ−ＬＤに通信ユニット５Ｈ及びＤ−ＬＳに通信ユニット５Ｄを含む下りデータを下り経路の通信ユニット５Ｈに送信する。
【００４４】
図１２及び図１３は、データ受信処理に関わる通信ユニット５（又はＧＷ７）の処理動作の一例を示すフローチャートである。データ受信処理は、上り経路の構築後、上り経路でデータを受信した場合に、データ内のＤ−ＧＳを最終宛先ＧＤとして下り経路を構築する経路情報を登録する処理である。尚、説明の便宜上、特に言及しない限り、通信ユニット５を主体にしてデータ受信処理を説明するが、ＧＷ７主体で当該データ受信処理を実行しても良い。
【００４５】
通信ユニット５内のプロセッサ５５内の無線通信部６１は、データを受信したか否かを判定する（ステップＳ１１）。プロセッサ５５内の制御部６８Ｃは、データを受信した場合（ステップＳ１１肯定）、データ内の最終宛先Ｄ−ＧＤがＧＷ７であるか否かを判定する（ステップＳ１２）。制御部６８Ｃは、最終宛先Ｄ−ＧＤがＧＷ７の場合（ステップＳ１２肯定）、上り経路の上りデータと判定し、データ内のフラグ３４Ａが「１」であるか否かを判定する（ステップＳ１３）。尚、フラグ３４Ａが「１」の場合、送信の失敗のデータを識別するものである。上り経路とは、例えば、図１１Ｂに示すように通信ユニット５ＤからＧＷ７Ａへの経路である。
【００４６】
制御部６８Ｃは、データ内のフラグ３４Ａが「１」でない場合（ステップＳ１３否定）、ＧＳ３１ＢがＤ−ＧＳ、ＧＤ３１ＡがＤ−ＧＤの上り経路の経路情報内の第１位の隣接宛先ＬＤ１に対してデータを送信する（ステップＳ１４）。
【００４７】
制御部６８Ｃは、ＧＳ３１ＢがＤ−ＧＤ、ＧＤ３１ＡがＤ−ＧＳの下り経路の経路情報が経路テーブル３１内に登録済みであるか否かを判定する（ステップＳ１５）。制御部６８Ｃは、ＧＳ３１ＢがＤ−ＧＤ、ＧＤ３１ＡがＤ−ＧＳの下り経路の経路情報が経路テーブル３１内に登録済みでない場合（ステップＳ１５否定）、下り経路の経路情報を経路テーブル３１内に登録する（ステップＳ１６）。
【００４８】
制御部６８Ｃは、経路テーブル３１内のＧＤ３１ＡにＤ−ＧＳ、ＧＳ３１ＢにＤ−ＧＤ、第１位の隣接宛先ＬＤ１にＤ−ＬＳ、更新時刻３１Ｄに現在時刻、カウント値３１Ｅに＋１の下り経路の経路情報として新規登録する。つまり、制御部６８Ｃは、上り経路と逆経路の下り経路を構築する。尚、下り経路は、例えば、図１１Ｂに示すようにＧＷ７Ａから通信ユニット５Ｄへの経路である。
【００４９】
制御部６８Ｃは、ステップＳ１６の下り経路の経路情報を経路テーブル３１内に登録後、データを受信したか否かを判定すべく、ステップＳ１１に移行する。制御部６８Ｃは、ＧＳ３１ＢがＤ−ＧＤ、ＧＤ３１ＡがＤ−ＧＳの下り経路の経路情報が経路テーブル３１内に登録済みの場合（ステップＳ１５肯定）、該当経路情報内の第１位の隣接宛先ＬＤ１内にＤ−ＬＳがあるか否かを判定する（ステップＳ１７）。
【００５０】
制御部６８Ｃは、該当下り経路の経路情報内の第１位の隣接宛先ＬＤ１内にＤ−ＬＳがある場合（ステップＳ１７肯定）、経路情報内の第１位の隣接宛先ＬＤ１内の更新時刻３１Ｄに現在時刻、カウント値３１Ｅに＋１を登録する（ステップＳ１８）。そして、制御部６８Ｃは、データを受信したか否かを判定すべく、ステップＳ１１に移行する。
【００５１】
制御部６８Ｃは、該当下り経路の経路情報内の第１位の隣接宛先ＬＤ１内にＤ−ＬＳがない場合（ステップＳ１７否定）、該当下り経路の経路情報内の第２位の隣接宛先ＬＤ２の内容を第３位の隣接宛先ＬＤ３に上書きする（ステップＳ１９）。更に、制御部６８Ｃは、第１位の隣接宛先ＬＤ１の内容を第２位の隣接宛先ＬＤ２に上書きする（ステップＳ１９）。すなわち、制御部６８Ｃは、該当の経路情報内の第１位の隣接宛先ＬＤ１を空きにする。更に、制御部６８Ｃは、該当下り経路の経路情報内の第１位の隣接宛先ＬＤ１にＤ−ＬＳ、更新時刻３１Ｄに現在時刻、カウント値３１Ｅに＋１を登録し（ステップＳ２０）、図１２に示す処理動作を終了する。
【００５２】
制御部６８Ｃは、データ内のフラグ３４Ａが「１」である場合（ステップＳ１３肯定）、送信失敗のデータと判定し、代替経路でデータ送信又は代替経路がない場合には１ホップ前に戻す（ステップＳ２１）。尚、代替経路とは、第１位の隣接宛先ＬＤ１でデータ送信が失敗した場合の代替経路である。例えば、通信ユニット５は、第１位の隣接宛先ＬＤ１でデータ送信が失敗した場合、第２位の隣接宛先ＬＤ２でデータ送信し、第２位の隣接宛先ＬＤ２でデータ送信が失敗した場合、第３位の隣接宛先ＬＤ３でデータ送信する。そして、第３位の隣接宛先ＬＤ３でデータ送信が失敗した場合、１ホップ前のユニットにデータを戻す。
【００５３】
制御部６８Ｃは、代替経路でデータ送信、又は１ホップ前にデータを戻した場合、失敗した代替経路（上り経路）に対応した下り経路の経路情報を経路テーブル３１内から削除し（ステップＳ２２）、図１２に示す処理動作を終了する。
【００５４】
また、制御部６８Ｃは、データを受信したのではない場合（ステップＳ１１否定）、データを受信したか否かを判定すべく、ステップＳ１１に移行する。また、制御部６８Ｃは、データ内のＤ−ＧＤがＧＷ７でない場合（ステップＳ１２否定）、下り経路の下りデータと判定し、図１３に示すＭ１に移行する。
【００５５】
図１３に示すＭ１において制御部６８Ｃは、下り経路のデータ内のフラグ３４Ａが「１」であるか否かを判定する（ステップＳ３１）。制御部６８Ｃは、データ内のフラグ３４Ａが「１」でない場合（ステップＳ３１否定）、ＧＳ３１ＢがＤ−ＧＳ、ＧＤ３１ＡがＤ−ＧＤの下り経路の経路情報内の第１位の隣接宛先ＬＤ１に対してデータを送信する（ステップＳ３２）。制御部６８Ｃは、下り経路の経路情報内の第１位の隣接宛先ＬＤ１内の更新時刻３１Ｄに現在時刻、カウント値３１Ｅに＋１を登録し（ステップＳ３３）、図１２に示すＭ２に移行する。
【００５６】
制御部６８Ｃは、下り経路の下りデータ内のフラグ３４Ａが「１」である場合（ステップＳ３１肯定）、ＧＳ３１ＢがＤ−ＧＳ及びＧＤ３１ＡがＤ−ＧＤの下り経路の経路情報内の隣接宛先ＬＤ１〜ＬＤ３内にＤ−ＬＳがあるか否かを判定する（ステップＳ３４）。制御部６８Ｃは、隣接宛先ＬＤ１〜ＬＤ３内にＤ−ＬＳがある場合（ステップＳ３４肯定）、Ｄ−ＬＳに該当する隣接宛先ＬＤ＊に対応したカウント値３１Ｅを−１、更新時刻３１Ｄをリセットする（ステップＳ３５）。尚、制御部６８Ｃは、前回の隣接宛先ＬＤ＊のデータ送信が失敗したことになるため、そのカウント値３１Ｅを−１デクリメントし、その更新時刻３１Ｄをリセットするものである。隣接宛先ＬＤ＊は、例えば、ＬＤ１、ＬＤ２やＬＤ３である。
【００５７】
制御部６８Ｃは、Ｄ−ＬＳに該当する隣接宛先ＬＤ＊の次位の隣接宛先（ＬＤ＊＋１）があるか否かを判定する（ステップＳ３６）。制御部６８Ｃは、隣接宛先（ＬＤ＊＋１）がある場合（ステップＳ３６肯定）、隣接宛先（ＬＤ＊＋１）にデータを送信し（ステップＳ３７）、隣接宛先（ＬＤ＊＋１）内の更新時刻３１Ｄに現在時刻、カウント値３１Ｅに＋１を登録する（ステップＳ３８）。そして、制御部６８Ｃは、図１２に示すＭ２に移行する。尚、制御部６８Ｃは、例えば、第２位の隣接宛先ＬＤ２へのデータ送信が失敗し、第３位の隣接宛先ＬＤ３にデータ送信する場合、第３位の隣接宛先ＬＤ３内の更新時刻３１Ｄ及びカウント値３１Ｅに更新登録する。
【００５８】
制御部６８Ｃは、ＧＳ３１ＢがＤ−ＧＳ及びＧＤ３１ＡがＤ−ＧＤの下り経路の経路情報内の隣接宛先ＬＤ１〜ＬＤ３内にＤ−ＬＳがない場合（ステップＳ３４否定）、自局がＧＷ７であるか否かを判定する（ステップＳ３９）。制御部６８Ｃは、自局がＧＷ７でない場合（ステップＳ３９否定）、ＧＤ３１ＡがＤ−ＧＳ、ＧＳ３１ＢがＤ−ＧＤの経路情報内の第１位の隣接宛先ＬＤ１に対してフラグ３４Ａが「１」のデータを送信する（ステップＳ４０）。その結果、通信ユニット５は、下り経路の最終宛先ＧＤ宛のデータ送信を中止して１ホップ前にデータを戻す。そして、制御部６８Ｃは、図１２に示すＭ２に移行する。
【００５９】
また、自局がＧＷ７の場合（ステップＳ３９肯定）、ＧＷ７のプロセッサ１５が処理動作する。ＧＷ７の制御部３０は、自局がＧＷ７の場合（ステップＳ３９肯定）、データ内の最終宛先Ｄ−ＧＤに送信できる他のＧＷ７があるか否かを判定する（ステップＳ４１）。制御部３０は、最終宛先Ｄ−ＧＤに送信できる他のＧＷ７がない場合（ステップＳ４１否定）、最終宛先ＧＤに対してフラッディングで経路構築する（ステップＳ４２）。制御３０は、ＧＳ３１ＢがＤ−ＧＳ及びＧＤ３１ＡがＤ−ＧＤの下り経路の経路情報内の隣接宛先ＬＤ１にデータを送信し（ステップＳ４３）、図１２に示すＭ２に移行する。
【００６０】
制御部６８Ｃは、他のＧＷ７がある場合（ステップＳ４１肯定）、他のＧＷ７に対して最終宛先ＧＤのデータの送信を要求し（ステップＳ４４）、図１２に示すＭ２に移行する。その結果、通信ユニット５は、下り経路の最終宛先ＧＤ宛のデータ送信を他のＧＷ７経由で送信することになる。
【００６１】
また、制御部６８Ｃは、隣接宛先（ＬＤ＊＋１）がない場合（ステップＳ３６否定）、自局がＧＷ７であるか否かを判定すべく、ステップＳ３９に移行する。
【００６２】
本実施例の通信ユニット５は、ＧＷ７との上り経路の構築後、上り経路を通じてデータを受信した場合に、データ内のＤ−ＧＳを最終宛先ＧＤ３１Ａとして下り経路の経路情報を経路テーブル３１内に登録する。その結果、片側のＨｅｌｌｏフレームで上り経路は勿論のこと下り経路をも構築するため、制御フレームの通信量を減らしてネットワーク負荷を軽減できる。また、制御フレーム等の通信量を減らしてネットワーク負荷を軽減するため、例えば、９２０ＭＨｚ〜９５０ＭＨｚの狭帯域の近距離無線通信のネットワークに有用である。
【００６３】
更に、通信ユニット５は、上り経路の構築後、上り経路で直近に受信したデータに基づき生成された下り経路の隣接宛先を第１位の隣接宛先ＬＤ１に設定する。その結果、通信ユニット５は、直近で通信が成功した上り経路の逆経路である下り経路を使用するため、最終宛先に対するデータ到達の確率が高まる。
【００６４】
更に、通信ユニット５は、下り経路の第２位の隣接宛先ＬＤ２及び第３位の隣接宛先ＬＤ３を更新時刻３１Ｄ及びカウント値３１Ｅに基づく通信実績に応じて最終宛先の隣接宛先を設定する。そして、通信ユニット５は、最終宛先に対する第１位の隣接宛先ＬＤ１でデータ送信が失敗した場合でも、最終宛先に対して第２位の隣接宛先ＬＤ２でデータ送信を実行する。更に、通信ユニット５は、最終宛先に対して第２位の隣接宛先ＬＤ２でデータ送信が失敗した場合でも、最終宛先に対して第３位の隣接宛先ＬＤ３でデータを送信する。その結果、通信ユニット５は、最終宛先に対する複数の下り経路の代替経路を確保することでデータ到達の信頼性を確保できる。しかも、最終宛先に対するデータ到達の確率を高めながら、従来のようなフラッディングの使用機会を減らしてネットワーク負荷を軽減できる。
【００６５】
更に、通信ユニット５は、下り経路の複数の隣接宛先ＬＤ１〜ＬＤ３に対するデータ送信が失敗した場合でも、１ホップ前のユニットにデータを戻し、当該ユニットからデータを最終宛先に送信する。その結果、最終宛先に対するデータ到達の確率を高めながら、フラッディングの使用機会を減らしてネットワーク負荷を軽減できる。
【００６６】
更に、通信ユニット５は、１ホップ前のユニットにデータを戻して最終宛先に対するデータ送信が失敗した場合でも、他のＧＷ７に対して別経路で最終宛先に対するデータの送信を依頼する。その結果、最終宛先に対するデータ到達の確率が高まるため、フラッディングの使用機会を減らしてネットワーク負荷を軽減できる。
【００６７】
尚、上記実施例では、上り経路の構築後、上り経路でデータ、すなわち実データを受信した場合に下り経路を構築したが、上り経路の構築に応じて上り経路に実データではなく、ダミーデータを自動送信しても良い。そして、通信ユニット５は、上り経路でダミーデータを受信した場合に下り経路を構築できる。
【００６８】
また、通信ユニット５は、上り経路の構築後に同一のＤ−ＧＤ及びＤ−ＧＳのダミーデータを３本の代替経路に送信しても良い。この場合、通信ユニット５は、３本の上り経路に実データを送信しなくても、３本の下り経路を構築できる。
【００６９】
また、構築すべき代替経路の本数を指定する代替経路数をダミーデータ内に登録しても良い。この場合、通信ユニット５は、上り経路でダミーデータを受信した場合に、ダミーデータ内の代替経路数に基づき、代替経路数の範囲内で、下り経路の代替経路を構築する。また、当該ダミーデータを受信した通信ユニット５は、代替経路数の代替経路が構築できない場合、残りの代替経路数を更新したダミーデータを次の通信ユニット５に送信する。そして、通信ユニット５は、当該ダミーデータを受信し、ダミーデータ内の残りの代替経路数に基づき下り経路の代替経路を構築する。例えば、代替経路数が３本の場合、３本の代替経路数を含むダミーデータを受信した通信ユニット５は、代替経路数３本の範囲内で２本の代替経路を構築した場合、残り代替経路数１本のダミーデータを次の通信ユニット５に送信する。そして、次の通信ユニット５は、ダミーデータ内の残り代替経路数が１本のため、１本の代替経路を構築する。その結果、上り経路の上りデータを待つことなく、ダミーデータで３本の代替経路を構築できる。
【００７０】
また、上記実施例では、上り経路の構築後、上り経路で実データを受信した場合に上り経路の下り経路を構築したが、上り経路の構築に応じてＤ−ＧＤ及びＤ−ＧＳの同一データ内容の実データを３経路に送信しても良い。この場合、通信ユニット５は、３本の上り経路で同一実データを受信した場合、３本の下り経路を構築できる。その結果、各上り経路の上りデータを待つことなく、同一内容の実データで３本の代替経路を構築する。この際、下り経路の隣接宛先ＬＤの優先順位は、ホップ数及び電波強度に加え、最終宛先にデータが到達した順に優先順位を決定しても良い。尚、データが到達した順としたのは、電波が混んでなく、中継の通信ユニット５の処理も少なく、一定の電波強度を満たした場合には最適な経路とみなせるからである。
【００７１】
また、上記実施例では、アドホック通信として、自律型マルチホップ方式の無線通信を採用した通信システム１を例示して説明したが、無線通信に限定されるものではなく、赤外線通信や有線通信等にも適用可能である。
【００７２】
また、上記実施例では、経路情報内の隣接宛先ＬＤを３個としたが、これらに限定されるものではなく、適宜変更可能である。
【００７３】
また、上記実施例では、上り経路が構築された後、上り経路で受信したデータで下り経路を構築するようにしたが、下り経路が構築された後、下り経路で受信したデータで上り経路を構築しても良い。
【００７４】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
【００７５】
更に、各装置で行われる各種処理機能は、ＣＰＵ（Central  Processing  Unit）（又はＭＰＵ（Micro  Processing  Unit）、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、ＣＰＵ（又はＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
【００７６】
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを通信機器で実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する通信機器の一例を説明する。図１４は、経路構築プログラムを実行する通信機器の一例を示す説明図である。
【００７７】
図１４に示す経路構築プログラムを実行する通信機器１００は、通信インタフェース１１１と、ＲＡＭ(Random  Access  Memory)１１２と、ＲＯＭ（Read  Only  Memory）１１３と、プロセッサ１１４とを有する。通信インタフェース１１１は、他の通信機器と無線通信する。プロセッサ１１４は、通信機器１００全体を制御する。
【００７８】
そして、ＲＯＭ１１３には、上記実施例と同様の機能を発揮する経路構築プログラムが予め記憶されている。尚、ＲＯＭ１１３ではなく、図示せぬドライブで読取可能な記録媒体に経路構築プログラムが記録されていても良い。また、記録媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。経路構築プログラムとしては、図１４に示すように、抽出プログラム１１３Ａ、生成プログラム１１３Ｂ及び制御プログラム１１３Ｃである。尚、プログラム１１３Ａ〜１１３Ｃについては、適宜統合又は分散してもよい。また、ＲＡＭ１１２には、最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報が記憶してある。
【００７９】
そして、プロセッサ１１４が、これらのプログラム１１３Ａ〜１１３ＣをＲＯＭ１１３から読み出し、これらの読み出された各プログラムを実行する。そして、プロセッサ１１４は、図１４に示すように、各プログラム１１３Ａ〜１１３Ｃを、抽出プロセス１１４Ａ、生成プロセス１１４Ｂ及び制御プロセス１１４Ｃとして機能することになる。
【００８０】
プロセッサ１１４は、最終宛先と送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出する。プロセッサ１１４は、抽出された送信元を最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成する。更に、プロセッサ１１４は、生成された第２の経路の経路情報をＲＡＭ１１２に登録する。プロセッサ１１４は、同一の最終宛先に対応する第２の経路の経路情報の隣接宛先が複数登録された場合に、第１の経路で直近に受信したデータで生成された第２の経路の経路情報の隣接宛先を第１位の隣接宛先として優先的に選定する。その結果、データ到達の確率を高めながら、経路構築に要する負荷が軽減できる。
【００８１】
以上、本実施例を含む実施の形態に関し、更に以下の付記を開示する。
【００８２】
（付記１）最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶した記憶部と、
前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自律型マルチホップ方式で通信する通信部と、
前記最終宛先と前記送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出する抽出部と、
前記抽出された前記送信元を前記最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成する生成部と、
前記生成された第２の経路の経路情報を前記記憶部に登録し、同一の最終宛先に対応する第２の経路の経路情報内の隣接宛先が複数登録された場合に、前記複数の隣接宛先の内、前記第１の経路で直近に受信したデータに基づき生成された前記第２の経路の経路情報の隣接宛先を、当該第２の経路で最終宛先にデータを優先的に送信する第１位の隣接宛先として選定する制御部と
を有することを特徴とする通信装置。
【００８３】
（付記２）前記制御部は、
前記第１の経路で直近の同一のタイミングで受信したデータに基づき生成された第２の経路の経路情報内の隣接宛先が複数登録された場合に、当該第２の経路の経路情報内の複数の隣接宛先の内、各隣接宛先に対応した各第１の経路側の通信実績に基づき、前記第１位の隣接宛先を選定することを特徴とする付記１に記載の通信装置。
【００８４】
（付記３）前記制御部は、
前記同一の最終宛先の第２の経路の経路情報内の隣接宛先が複数登録された場合に、当該経路情報内の前記第１位の隣接宛先にデータを送信し、当該データの送信が失敗した場合、当該経路情報内の当該第１位の隣接宛先以外の他の隣接宛先にデータを送信すること特徴とする付記１に記載の通信装置。
【００８５】
（付記４）前記制御部は
前記同一の最終宛先の第２の経路の経路情報内の各隣接宛先に対するデータ送信が全て失敗した場合、他の通信装置に対して最終宛先に対するデータ送信を依頼することを特徴とする付記３に記載の通信装置。
【００８６】
（付記５）前記抽出部は、
前記第１の経路が構築された後、当該第１の経路でダミーデータを受信した場合に、当該ダミーデータ内の送信元を抽出することを特徴とする付記１に記載の通信装置。
【００８７】
（付記６）前記制御部は、
前記第１の経路が構築された後、当該第１の経路で代替経路数を含むダミーデータを受信した場合に、当該代替経路数に基づき、当該ダミーデータを当該第１の経路上の他の通信装置に送信することを特徴とする付記１に記載の通信装置。
【００８８】
（付記７）最終宛先の通信装置と、送信元の通信装置と、前記最終宛先の通信装置と前記送信元の通信装置との間を通信で中継する中継側の通信装置とを有する通信システムであって、
前記中継側の通信装置は、
最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶した記憶部と、
前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自律型マルチホップ方式で通信する通信部と、
前記最終宛先の通信装置と前記送信元の通信装置との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出する抽出部と、
前記抽出された前記送信元を前記最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成する生成部と、
前記生成された第２の経路の経路情報を前記記憶部に登録し、同一の最終宛先に対応する第２の経路の経路情報内の隣接宛先が複数登録された場合に、前記複数の隣接宛先の内、前記第１の経路で直近に受信したデータに基づき生成された前記第２の経路の経路情報の隣接宛先を、当該第２の経路で最終宛先にデータを優先的に送信する第１位の隣接宛先として選定する制御部と
を有し、
前記送信元の通信装置は、
前記第１の経路が構築された後、当該第１の経路で前記通信装置に前記データを送信することを特徴とする通信システム。
【００８９】
（付記８）前記送信元の通信装置は、
前記第１の経路が構築された後、当該第１の経路で各通信装置にダミーデータを送信することを特徴とする付記７に記載の通信システム。
【００９０】
（付記９）前記送信元の通信装置は、
前記第１の経路が構築された後、当該第１の経路で各通信装置に実データを送信することを特徴とする付記７に記載の通信システム。
【００９１】
（付記１０）最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶した記憶部を参照し、前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自律型マルチホップ方式で通信する通信装置の経路構築方法であって、
前記通信装置は、
前記最終宛先と前記送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出し、
前記抽出された前記送信元を前記最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成し、
前記生成された第２の経路の経路情報を前記記憶部に登録し、同一の最終宛先に対応する第２の経路の経路情報内の隣接宛先が複数登録された場合に、前記複数の隣接宛先の内、前記第１の経路で直近に受信したデータに基づき生成された前記第２の経路の経路情報の隣接宛先を、当該第２の経路で最終宛先にデータを優先的に送信する第１位の隣接宛先として選定する
各処理を実行することを特徴とする経路構築方法。
【００９２】
（付記１１）最終宛先及び送信元を対応付けた隣接宛先に関わる経路情報を記憶した記憶部を参照し、前記経路情報内の選定された隣接宛先に基づき、他の通信装置と自律型マルチホップ方式で通信する通信インタフェースと、プロセッサとを有する通信機器の経路構築プログラムであって、
前記プロセッサに、
前記最終宛先と前記送信元との間の第１の経路が構築された後、当該第１の経路でデータを受信した場合に、当該データ内の送信元を抽出し、
前記抽出された前記送信元を前記最終宛先に変換して隣接宛先を含む、前記第１の経路と逆経路の第２の経路を構築する経路情報を生成し、
前記生成された第２の経路の経路情報を前記記憶部に登録し、同一の最終宛先に対応する第２の経路の経路情報内の隣接宛先が複数登録された場合に、前記複数の隣接宛先の内、前記第１の経路で直近に受信したデータに基づき生成された前記第２の経路の経路情報の隣接宛先を、当該第２の経路で最終宛先にデータを優先的に送信する第１位の隣接宛先として選定する
各処理を実行させることを特徴とする経路構築プログラム。
【符号の説明】
【００９３】
１  通信システム
５  通信ユニット
７  ＧＷ
３０  制御部
６１  無線通信部
６８Ａ  抽出部
６８Ｂ  生成部
６８Ｃ  制御部
１００  通信機器
１１１  通信インタフェース
１１２  ＲＡＭ
１１３  ＲＯＭ
１１４  プロセッサ
１１４Ａ  抽出プロセス
１１４Ｂ  生成プロセス
１１４Ｃ  制御プロセス
【図１】
0006003158.tif 000002
【図２】
0006003158.tif 000003
【図３】
0006003158.tif 000004
【図４】
0006003158.tif 000005
【図５】
0006003158.tif 000006
【図６】
0006003158.tif 000007
【図７】
0006003158.tif 000008
【図８】
0006003158.tif 000009
【図９】
0006003158.tif 000010
【図１０】
0006003158.tif 000011
【図１１Ａ】
0006003158.tif 000012
【図１１Ｂ】
0006003158.tif 000013
【図１１Ｃ】
0006003158.tif 000014
【図１１Ｄ】
0006003158.tif 000015
【図１１Ｅ】
0006003158.tif 000016
【図１１Ｆ】
0006003158.tif 000017
【図１２】
0006003158.tif 000018
【図１３】
0006003158.tif 000019
【図１４】
0006003158.tif 000020