(57)【特許請求の範囲】
【請求項１】
複数の通信装置を含むネットワーク中の第１の通信装置として動作する通信装置であって、
送信処理で使用する電力の大きさとパケットの宛先に対応付けて、前記パケットの転送先を記憶する記憶部と、
送信に失敗した送信パケットの宛先装置と、前記送信パケットが到達しない第２の通信装置との組み合わせを示す情報とともに、転送経路の変更要求を取得すると、前記宛先装置宛のパケットの転送に使用した第１の送信電力より大きい第２の送信電力と前記宛先装置に対応付けられた転送先を、前記宛先装置宛てのパケットを転送する転送先装置に設定する設定部と、
前記転送先装置が前記宛先装置と前記第２の通信装置のいずれとも一致しない場合、前記組み合わせを示す情報と変更要求を、前記転送先装置に送信する送信部
を備えることを特徴とする通信装置。
【請求項２】
前記設定部は、前記第２の送信電力と前記宛先装置に対応付けられた転送先が前記記憶部に記憶されていない場合、前記第１の通信装置を回避して前記宛先装置に到達する経路の設定の要求と、前記組み合わせを示す情報を含む回避要求パケットを生成し、
前記送信部は、前記回避要求パケットを送信する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記設定部は、
前記転送先装置に宛てたパケットの転送処理に使用している送信電力の大きさである第３の送信電力よりも前記第２の送信電力が大きい場合、前記宛先装置に宛てたパケットを前記転送先装置に転送するときに使用する電力を前記第３の送信電力に設定し、
前記第２の送信電力が前記第３の送信電力以下の場合、前記宛先装置に宛てたパケットを前記転送先装置に転送するときに使用する電力を前記第２の送信電力に設定し、
前記送信部は、前記設定部が送信した電力を用いて送信処理を行う
ことを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記記憶部は、前記宛先装置に宛てたパケットの送信元の情報をさらに記憶し、
前記設定部は、前記転送先装置が前記宛先装置か前記第２の通信装置のいずれかと一致すると、前記宛先装置に至る経路の変更が終了したことを通知する終了通知パケットを生成し、
前記送信部は、前記終了通知パケットを、前記送信元に向けて送信する
ことを特徴とする請求項１〜３のいずれか１項に記載の通信装置。
【請求項５】
パケットを前記パケットの宛先である宛先装置に向けて送信する送信元装置と、
前記送信元装置と前記宛先装置を含むネットワークを形成する複数の通信装置
を含む通信システムであって、
第１の経路を用いた前記宛先装置への送信パケットの送信が失敗すると、前記送信元装置および前記複数の通信装置の各々は、
前記送信元装置が送信に使用している第１の送信電力よりも大きい第２の送信電力を用いて、前記送信元装置と前記宛先装置が通信するための第２の経路を生成し、
前記第１の送信電力で前記送信パケットが到達しない装置と、前記宛先装置の組み合わせを示す情報とともに、転送経路の変更要求を取得すると、前記宛先装置宛のパケットの転送先である転送先装置を前記第２の経路を用いて変更し、
前記転送先装置が前記組み合わせ中のいずれの装置とも一致しない場合、前記組み合わせを示す情報と前記変更要求を、前記転送先装置に送信する
ことを特徴とする通信システム。
【請求項６】
前記組み合わせを示す情報と前記変更要求を取得した通信装置は、前記第２の経路が当該通信装置を経由しない場合、当該通信装置を回避して前記宛先装置に到達する経路の設定の要求と、前記組み合わせを示す情報を含む回避要求パケットを送信する
ことを特徴とする請求項５に記載の通信システム。
【請求項７】
前記第２の経路を用いて前記宛先装置宛のパケットの転送経路の変更を行った通信装置は、
前記転送先装置に宛てたパケットの転送処理に使用している送信電力の大きさである第３の送信電力よりも前記第２の送信電力が大きい場合、前記宛先装置に宛てたパケットを、前記第３の送信電力を用いて、前記転送先装置に転送し、
前記第２の送信電力が前記第３の送信電力以下の場合、前記宛先装置に宛てたパケットを、前記第２の送信電力を用いて、前記転送先装置に転送する
ことを特徴とする請求項５または６に記載の通信システム。
【請求項８】
前記第２の経路を用いて前記宛先装置宛のパケットの転送経路の変更を行った通信装置は、
前記送信元装置を特定する情報を記憶しており、
前記転送先装置が前記組み合わせ中の装置のいずれかと一致すると、前記宛先装置に至る経路の変更が終了したことを通知する終了通知パケットを、前記送信元装置に送信する
ことを特徴とする請求項５〜７のいずれか１項に記載の通信システム。
【請求項９】
複数の通信装置を含むネットワークで行われる通信方法であって、
送信パケットを送信する送信元装置から前記送信パケットの宛先装置への第１の経路を用いた送信が失敗すると、前記複数の通信装置の各々は、前記送信元装置が送信に使用している第１の送信電力よりも大きい第２の送信電力を用いて、前記送信元装置と前記宛先装置が通信するための第２の経路を生成し、
前記第１の経路を用いた送信の失敗を検出した通信装置である検出装置は、前記第１の送信電力で前記送信パケットが到達しない装置と、前記宛先装置の組み合わせを示す情報とともに、転送経路の変更要求をブロードキャストし、
前記検出装置に前記送信パケットを転送した通信装置は、前記宛先装置宛のパケットの転送先である転送先装置を前記第２の経路を用いて変更し、
前記転送先装置が前記組み合わせ中のいずれの装置とも一致しない場合、前記組み合わせを示す情報と前記変更要求を、前記転送先装置に送信する
ことを特徴とする通信方法。
【請求項１０】
複数の通信装置を含むネットワーク中の第１の通信装置として動作する通信装置に、
送信処理で使用する電力の大きさとパケットの宛先に対応付けて、前記パケットの転送先を取得し、
送信に失敗した送信パケットの宛先装置と、前記送信パケットが到達しない第２の通信装置との組み合わせを示す情報とともに、転送経路の変更要求を取得すると、前記宛先装置宛のパケットの転送に使用した第１の送信電力より大きい第２の送信電力と前記宛先装置に対応付けられた転送先を、前記宛先装置宛てのパケットを転送する転送先装置に設定し、
前記転送先装置が前記宛先装置と前記第２の通信装置のいずれとも一致しない場合、前記組み合わせを示す情報と変更要求を、前記転送先装置に送信する
処理を行わせることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の通信装置を含むネットワークで行われる通信に関する。
【背景技術】
【０００２】
アドホックネットワークは、ネットワークに参加する通信装置が追加または削除された場合でも、動的にネットワークが形成される。通信装置間での配線が困難な場合には、無線アドホックネットワークが用いられることがある。無線アドホックネットワークでは、通信装置の周辺の環境の変化によって一部の経路が切断されても、自律的に通信経路が設定しなおされるため、利便性が高い。そこで、アドホックネットワークは、センサネットワークなど、通信装置の設置位置で得られる情報を収集するためのシステムに適用されることもある。この場合、個々の通信装置は、設置地点でデータを取得し、アドホックネットワークを用いて、予め決められた中継装置にデータを送信する。中継装置は、得られたデータを所定のサーバ等に送信する。
【０００３】
関連する技術として、宛先への経路情報がない場合、リアルタイム性が要求されない通信では、最小送信電力による経路探索を行う無線通信装置が提案されている。この無線通信装置は、最小送信電力による経路探索に失敗したときは、送信電力を段階的に上げて経路探索を行い、送信電力が所定値になるまで経路探索を繰り返す（例えば、特許文献１）。また、ルート検出の際にエラーが発生すると、自装置の送信電力を大きくしてからルートリクエストを再送信する制御装置が提案されている。この制御装置は、カバーエリアの増大後もエラーが発生すると自装置に近い中継局での送信電力を大きくしてルートリクエストを再送信する（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１４２６５８号公報
【特許文献２】特開２００１−７７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
アドホックネットワーク中の一部のリンクの切断により通信経路を再設定する場合、リンクの切断の原因や通信装置の配置によっては、通信経路の再設定に失敗することがある。この場合、アドホックネットワークに参加している各通信装置でのパケットの送信出力を大きくして、通信経路を再設定することになる。しかし、パケットの送信出力を大きくすると、通信装置での消費電力が大きくなってしまう。通信に失敗した通信装置に限ってパケットの送信電力を大きくすることにより、消費電力の増大を抑えることも考えられるが、リンクが切断された原因によっては、リンクが切断された通信装置での送信電力を変更しても通信できない可能性もある。
【０００６】
本発明は、システムでの消費電力の増加量を抑えつつ、通信経路を確保することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、複数の通信装置を含むネットワーク中の第１の通信装置として動作する通信装置は、記憶部、設定部、送信部を備える。記憶部は、送信処理で使用する電力の大きさとパケットの宛先に対応付けて、前記パケットの転送先を記憶する。設定部は、送信に失敗した送信パケットの宛先装置と、前記送信パケットが到達しない第２の通信装置との組み合わせを示す情報とともに、転送経路の変更要求を取得すると、前記宛先装置宛てのパケットを転送する転送先装置を設定する。ここで、設定部は、前記宛先装置宛のパケットの転送に使用した第１の送信電力より大きい第２の送信電力と前記宛先装置に対応付けられた転送先を転送先装置に設定する。前記転送先装置が前記宛先装置と前記第２の通信装置のいずれとも一致しない場合、送信部は、前記組み合わせを示す情報と変更要求を、前記転送先装置に送信する。
【発明の効果】
【０００８】
１つの側面として、システムでの消費電力の増加量を抑えつつ、通信経路を確保できる。
【図面の簡単な説明】
【０００９】
【図１】実施形態にかかる通信方法の例を説明する図である。
【図２】通信装置の構成の例を示す図である。
【図３】中継装置の構成の例を示す図である。
【図４】通信装置および中継装置のハードウェア構成の例を示す図である。
【図５】ネットワーク中での障害発生の例を説明する図である。
【図６】第１の経路と第２の経路の例を説明する図である。
【図７】ルート更新開始パケットの例を説明する図である。
【図８】回避要求パケットの例を説明する図である。
【図９】経路の変更処理の例を説明する図である。
【図１０】終了通知パケットの例を説明する図である。
【図１１】ケース２での第１の経路と第２の経路の例を説明する図である。
【図１２】経路の変更処理の例を説明する図である。
【図１３】ルート変更要求パケットの例を説明する図である。
【図１４】経路の変更処理の例を説明する図である。
【図１５】ルート更新開始パケットを受信した通信装置で行われる処理の例を説明するフローチャートである。
【図１６】回避要求パケットを受信した通信装置で行われる処理の例を説明するフローチャートである。
【図１７】ルート変更要求パケットを受信した通信装置で行われる処理の例を説明するフローチャートである。
【図１８】中継装置で行われる処理の例を説明するフローチャートである。
【図１９】第２の実施形態で行われる処理の例を説明する図である。
【図２０】第２の実施形態で行われる処理の例を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、実施形態にかかる通信方法の例を説明する図である。図１に示す無線ネットワークには、ノードＡ〜Ｅが含まれている。まず、経路Ｒ１に示すように、ノードＡは、ノードＢ、ノードＣ、ノードＤを介して、ノードＥと通信しているとする。ノードＡ〜Ｅの各装置は、経路Ｒ１を使用する際には、第１の送信電力を使用しているとする。その後、ノードＣとノードＤの間の経路の状況が変動したことにより、ノードＣがノードＤにパケットを送信できなくなったとする。ノードＣは、ノードＥ宛てのパケットをノードＤに転送できないことを、パケットの送信元であるノードＡに通知する。
【００１１】
ノードＡは、ノードＥとの間の通信経路を確立するために、第１の送信電力よりも大きい第２の送信電力を用いて、ノードＥに至る経路の探索処理を行う。第２の送信電力を用いた経路探索により、図１の経路Ｒ２が得られたとする。経路Ｒ２では、ノードＡは、ノードＢ、ノードＤを介して、ノードＥと通信できる。ノードＡ、ノードＢ、ノードＤは、第２の送信電力に対応付けて、ノードＥ宛てのパケットの転送先を記憶する。
【００１２】
ノードＡは、経路Ｒ２が得られると、経路Ｒ１を用いた時にノードＥ宛てのパケットの転送に失敗した装置であるノードＣに対して、ルート更新の開始を通知する。ノードＣは、第１の送信電力よりも大きな送信電力に対応付けて、ノードＥ宛てのパケットの転送先を記憶しているかを判定する。図１の例では、ノードＣは経路Ｒ２に示すノードＡからノードＥに至る経路に含まれていないので、ノードＣは、第１の送信電力よりも大きな送信電力を用いたときのノードＥ宛てのパケットの転送先を記憶していない。そこで、ノードＣは、ノードＣからはパケットがノードＥに到達しないと判定して、ノードＥ宛てのパケットの転送先としてノードＣを回避することを要求するための回避要求パケットをブロードキャストする。ここで、ノードＣは、ノードＥ宛てのパケットがノードＤに到達しないため、ノードＣを経由した経路が使用できないことを表す情報を、回避要求パケットに含めている。
【００１３】
ノードＢは、ノードＣからブロードキャストされた回避要求パケットを受信する（経路Ｒ３の矢印Ｘ）。ノードＢは、ノードＣの回避が要求されているのでノードＣを通らずにノードＥ宛てのパケットを転送する経路を保持しているかを、ルーティングテーブルを用いて判定する。このとき、ノードＢは、第１の送信電力よりも大きな電力を使用する経路から、使用する経路を選択する。図１の経路Ｒ２に示すように、ノードＢは、第２の経路に含まれており、ノードＢが第２の経路を用いてノードＥ宛てのパケットを転送すると、パケットはノードＤに転送される。そこで、ノードＢは、ノードＥ宛てのパケットの転送に使用する経路を、第２の送信電力を使用した場合の経路に切り替える。さらに、ノードＢは、切り替え後の転送先が、転送処理に失敗したパケットの最終的な宛先か、パケットの転送の失敗によりパケットが到達していない装置のいずれかと一致するかを判定する。図１の例では、転送処理に失敗したパケットの最終的な宛先はノードＥである。また、ノードＢには、回避要求パケットにより、ノードＤにパケットが到達しないことにより、ノードＥ宛てのパケットが転送できないことが通知されている。そこで、ノードＢは、パケットの転送の失敗によりパケットが到達しなかったノードＤにパケットを転送できるので、ノードＥ宛てのパケットを、ノードＣを迂回して転送するルートができたと判定する。そこで、ノードＢは、経路変更の終了をノードＡに通知する。すると、ノードＡは、ノードＥ宛てのパケットを再送する。
【００１４】
このため、実施形態にかかる方法では、図１に示す経路Ｒ３が使用される。経路Ｒ３では、ノードＡとノードＢの間のリンクと、ノードＤとノードＥの間のリンクは、経路Ｒ１と経路Ｒ２で共通なので、経路Ｒ１と同様に、第１の送信電力を用いる区間として、経路Ｒ３に組み込まれている。一方、ノードＢでの転送先の変更により、ノードＥ宛てのパケットは、第２の送信電力を用いてノードＢからノードＤに転送されるので、ノードＢからノードＤへの転送では、経路Ｒ２の一部が使用されている。
【００１５】
すなわち、経路Ｒ３では、第１の送信電力を用いて通信できる経路Ｒ１のうちで通信に失敗しているリンクを迂回するために、第２の送信電力を用いて生成した経路Ｒ２が使用される。さらに、経路Ｒ３では、経路Ｒ２と経路Ｒ１で共通して使用されるリンクは、経路Ｒ１を用いる際と同様に第１の送信電力で使用される。このため、実施形態にかかる方法では、システムでの消費電力の増加を抑えつつ、通信経路を確保できる。
【００１６】
＜装置構成＞
以下、通信装置１０が、設置地点でのデータを取得し、中継装置４０の要求に応じてデータを中継装置４０に通知する場合を例として説明する。通信装置１０と中継装置４０のいずれも無線通信を行う。このため、以下の説明では、ある通信装置１０から送信されたパケットを受信することができる範囲内に位置する装置のことを、通信装置１０に「隣接する」装置と記載することがある。同様に、中継装置４０から送信されたパケットを受信できる通信装置１０を、中継装置４０に隣接した通信装置１０と記載することもある。
【００１７】
図２は、通信装置１０の構成の例を示す図である。通信装置１０は、送受信部１３、制御部２０、記憶部３０を備える。送受信部１３は、受信部１１と送信部１２を備える。制御部２０は、振り分け部２１、経路生成処理部２２、経路設定部２３、転送処理部２４を備える。記憶部３０は、ルーティングテーブル３１を記憶し、さらに、通信装置１０の処理に使用される情報を、適宜、記憶する。
【００１８】
受信部１１は、ネットワーク中の他の通信装置１０や中継装置４０からパケットを受信し、受信したパケットを振り分け部２１に出力する。送信部１２は、ネットワーク中の他の通信装置１０や中継装置４０に向けてパケットを送信する。振り分け部２１は、入力されたパケットを、そのパケットの種類に応じた出力先に出力する。
【００１９】
経路生成処理部２２は、経路生成に使用される制御パケットを処理することにより、経路の生成処理を行う。経路生成処理部２２は得られた転送経路を、転送処理に使用される送信電力に対応付けてルーティングテーブル３１に記録する。経路設定部２３は、ルーティングテーブル３１に含まれている複数の経路のうちで有効にする経路の情報を決定することにより、転送経路を設定する。経路設定部２３で行われる処理については後で詳しく説明する。転送処理部２４は、通信装置１０が受信したパケットのうち、他の通信装置１０や中継装置４０に転送するパケットの転送処理を行う。
【００２０】
図３は、中継装置４０の構成の例を示す図である。中継装置４０は、送受信部１３、記憶部３０、制御部５０を備える。送受信部１３の動作と記憶部３０に保持されている情報は、中継装置４０においても通信装置１０と同様である。制御部５０は、振り分け部２１、経路生成処理部２２、経路設定部２３、転送処理部２４、および、データ要求部５１を有する。また、振り分け部２１、経路生成処理部２２、経路設定部２３、転送処理部２４の処理は、中継装置４０においても通信装置１０と同様である。
【００２１】
データ要求部５１は、定期的に、通信装置１０にデータの送信を要求するためのデータ要求パケットを生成する。データ要求部５１は、ルーティングテーブル３１を参照して、データ要求パケットの転送先を決定すると、送信部１２を介して、データ要求パケットを転送先に送信する。
【００２２】
図４は、通信装置１０および中継装置４０のハードウェア構成の例を示す図である。通信装置１０は、プロセッサ１００ａ、バス１０１（１０１ａ、１０１ｂ）、タイマＩＣ（integrated circuit）１０４、ＤＲＡＭ（Dynamic Random Access Memory）１０６、フラッシュメモリ１０７、無線モジュール１０８を備える。バス１０１ａ、１０１ｂは、プロセッサ１００ａ、タイマＩＣ１０４、ＤＲＡＭ１０６、フラッシュメモリ１０７、無線モジュール１０８の間を、相互にデータを入出力できるように接続する。中継装置４０は、プロセッサ１００ｂ、バス１０１（１０１ｄ〜１０１ｆ）、ＰＨＹチップ１０３、タイマＩＣ１０４、ＤＲＡＭ１０６、フラッシュメモリ１０７、無線モジュール１０８を備える。バス１０１ｄ〜１０１ｆは、プロセッサ１００ｂ、タイマＩＣ１０４、ＤＲＡＭ１０６、フラッシュメモリ１０７、無線モジュール１０８の間を、相互にデータを入出力できるように接続する。
【００２３】
プロセッサ１００（１００ａ、１００ｂ）は、Micro-Processing Unit（ＭＰＵ）などの任意の処理回路である。プロセッサ１００ａ、１００ｂは、フラッシュメモリ１０７に格納されたファームウェアなどのプログラムを読み込んで処理を行う。このとき、プロセッサ１００は、ＤＲＡＭ１０６をワーキングメモリとして使用できる。
【００２４】
通信装置１０において、プロセッサ１００ａは制御部２０として動作し、ＤＲＡＭ１０６は記憶部３０を実現する。また、無線モジュール１０８は送受信部１３として動作する。タイマＩＣ１０４は、パケットの転送に成功したかの判定の際に行われる時刻情報の取得などに用いられる。
【００２５】
中継装置４０において、プロセッサ１００ｂは、制御部５０として動作する。中継装置４０中のタイマＩＣ１０４は、データを収集する周期の測定に用いられるため、データ要求部５１の一部として動作する。中継装置４０においても、ＤＲＡＭ１０６は、記憶部３０として動作し、無線モジュール１０８は、送受信部１３として動作する。さらに、中継装置４０は、ＰＨＹチップ１０３を介して他のネットワークとの間の通信を行うことができる。
【００２６】
なお、ファームウェアなどのプログラムは、コンピュータ読み取り可能な記憶媒体に格納されて提供され、通信装置１０や中継装置４０にインストールされてもよい。また、プログラムは、ネットワークからＰＨＹチップ１０３や無線モジュール１０８を介してダウンロードされることにより通信装置１０や中継装置４０にインストールされてもよい。さらに、実施形態に応じて、ＤＲＡＭ１０６やフラッシュメモリ１０７以外の他の種類の記憶装置が利用されることがある。また、通信装置１０および中継装置４０は、コンピュータによって実現されても良い。
【００２７】
＜第１の実施形態＞
図５は、ネットワーク中での障害発生の例を説明する図である。以下の説明では、処理を行っている装置をわかりやすくするために、中継装置４０の識別子としてＧＷを用い、通信装置１０については、「ノード」という文字列と通信装置の識別に使用するアルファベットを示すことがある。さらに、通信装置１０や中継装置４０の内部の説明を行うときは、符号の末尾に、通信装置１０または中継装置４０に割り当てられた識別子と同じアルファベットの小文字を付すものとする。例えば、経路要求部２１ａは、ノードＡに含まれている経路要求部２１を指す。さらに、ルーティングテーブル３１中の情報が更新されていく様子を分かりやすくするために、以下の説明では、参照番号の後に、ハイフンを挟んで、数字を記載する。例えば、図５の例では、中継装置４０が保持しているルーティングテーブル３１に、「３１ｇｗ−１」という番号を付している。
【００２８】
図５を参照しながら、まず、パケットの送信処理が失敗する前に行われている通信について説明する。図５に示すネットワークには、中継装置４０とノードＡ〜ノードＥが含まれている。パケットの送信処理に失敗する前は、中継装置４０およびノードＡ〜ノードＥのいずれも、１ｍＷの送信電力で通信を行っている。以下、中継装置４０中のデータ要求部５１は、定期的に、ノードＡ〜Ｅに対して、データの送信を要求し、ノードＡ〜Ｅは、データの送信の要求に応じて、パケットを中継装置４０に返信する場合を例として説明する。
【００２９】
図５には、一部の装置が保持しているルーティングテーブル３１中の情報も示す。パケット送信の失敗前は、中継装置４０はルーティングテーブル３１ｇｗ−１、ノードＢはルーティングテーブル３１ｂ−１、ノードＣはルーティングテーブル３１ｃ−１、ノードＤはルーティングテーブル３１ｄ−１を保持している。図では、見やすくするために、中継装置４０から遠ざかる方向に向かう経路の情報を示している。ルーティングテーブル３１は、経路ごとに、目的ノード、転送先、送信電力、有効フラグが対応付けられている。目的ノードは、パケットの最終的な宛先である。転送先は、目的ノードにパケットを転送する際の転送先となる装置である。送信電力は、パケットを転送先に転送する際に使用される電力の大きさを示す。有効フラグは、目的ノードへのパケットの転送に使用されている経路の情報であるかを示す。以下の説明では、有効フラグの値が丸印になっている経路は有効な経路として、パケットの転送処理に使用されるものとする。一方、有効フラグによって有効な経路に設定されていない経路は、ルーティングテーブル３１に含まれていてもパケットの転送処理に使用されない。
【００３０】
障害の発生前は、中継装置４０はルーティングテーブル３１ｇｗ−１の５番目のエントリに従って、ノードＥ宛のパケットを１ｍＷの送信電力でノードＢに転送する。同様に、ノードＢは、ルーティングテーブル３１ｂ−１の３番目のエントリを用いて、ノードＥ宛のパケットを１ｍＷの送信電力でノードＣに転送する。ノードＣは、ルーティングテーブル３１ｃ−１の２番目のエントリを用いて、ノードＥ宛のパケットを１ｍＷの送信電力でノードＤに転送する。ノードＤは、ルーティングテーブル３１ｄ−１中のエントリを用いて、ノードＥ宛のパケットを１ｍＷの送信電力でノードＥに転送する。従って、中継装置４０から送信されたノードＥ宛のパケットは、ノードＢ、ノードＣ、ノードＤを介して、ノードＥに送信される。このとき、ノードＥ宛のパケットは、いずれの装置においても１ｍＷの送信電力で送信される。
【００３１】
その後、図５に示すように、ノードＣとノードＤの間で伝搬路の状態が変化したことにより、ノードＣは、１ｍＷの送信電力を用いたときにノードＤへのパケットの転送に失敗するようになったとする。すると、ノードＣの転送処理部２４ｃは、ノードＥ宛のパケットの転送に失敗したことを中継装置４０（ＧＷ）に通知するための通知パケットを生成し、送信部１２ｃを介して中継装置４０に向けて転送する。さらに、転送処理部２４ｃは、ルーティングテーブル３１ｃ−１の経路のうち、ノードＤを介してノードＥへパケットを転送する転送経路を無効にする（図６のルーティングテーブル３１ｃ−２を参照）。
【００３２】
ここで、図５中には記載されていないが、ネットワーク中の各通信装置１０は中継装置４０へパケットを転送するための経路を保持している。このため、中継装置４０は、ノードＢを介して、ノードＣからの通知パケットを受信する。中継装置４０は、現在使用中の電力を用いて、ノードＥに至る新たな経路を生成できる可能性があるかを、ルーティングテーブル３１ｇｗ−１を用いて判定する。ここでの判定方法は、既知の任意の方法である。中継装置４０は、現在使用中の電力を用いて、ノードＥに至る新たな経路が得られないと判定すると、現在使用中の経路のうちで通信に失敗している箇所を迂回する経路を生成するための処理を開始する。以下、中継装置４０（ＧＷ）からノードＥに至る経路を再生成する際に行われる処理の例を、ケース１とケース２に分けて説明する。
【００３３】
（１）ケース１
ケース１では、第１の経路に含まれている通信装置１０を用いて、経路が再生成される場合について説明する。
【００３４】
図６は、第１の経路と第２の経路の例を説明する図である。図６では、第１の経路を実線の矢印、第２の経路を一点鎖線の矢印で示す。第１の経路は、図５を参照しながら説明した、ノードＣとノードＤの間で伝搬路の状態が変化する前に中継装置４０からのノードＥ宛のパケットの転送に使用されていた経路である。第２の経路は、これから述べる経路検索により得られる経路である。第２の経路の検索には、第１の経路での通信に使用される電力より大きな電力が使用される。
【００３５】
中継装置４０（ＧＷ）中の経路生成処理部２２ｇｗは、現在使用中の電力を用いて、ノードＥに至る新たな経路が得られないと判定すると、使用中の電力よりも大きな電力での通信経路（第２の経路）を検索するための経路探索パケットを生成する。以下の説明では、１０ｍＷの送信電力を用いた場合の経路が第２の経路として求められる場合の例を用いて説明するが、第２の経路の探索の際に使用される送信電力は、第１の経路での通信に使用される送信電力よりも大きな任意の値である。経路探索パケットには、経路の始点の情報、経路の終点となる通信装置１０の情報、通信に使用する送信電力、経路の始点から経路探索パケットを生成したノードまでのコスト値などの情報が含まれる。例えば、経路生成処理部２２ｇｗによって、探索対象の経路の始点が中継装置４０、探索対象の経路の終点がノードＥ、通信に使用する電力が１０ｍＷ、コスト値が０であることを示す経路探索パケットが生成されたとする。なお、中継装置４０は探索対象の経路の始点であるので、中継装置４０が生成する経路探索パケットでは、コスト値は０に設定される。経路生成処理部２２ｇｗは、生成した経路探索パケットを、送信部１２ｇｗを介して、中継装置４０に隣接する装置にブロードキャストする。このため、ノードＡとノードＢが経路探索パケットを、中継装置４０から受信したとする。
【００３６】
経路探索パケットを受信した各装置の経路生成処理部２２は、受信部１１および振り分け部２１を介して経路探索パケットを取得すると、経路探索パケットを用いて探索されている経路の始点から自ノードまでのコスト値を求める。なお、探索中の経路の始点から自ノードまでのコスト値は、経路探索パケットで通知されたコスト値と、経路探索パケットを送信してきた装置と自ノードの間の経路のコスト値を用いて計算される。経路生成処理部２２は、求めたコスト値と共に、探索中の経路の始点と終点の情報を含めた経路探索パケットを生成し、送信部１２を介してブロードキャストする。この処理は、経路探索パケットで探索されている終点以外の通信装置１０によって繰り返される。図６の例では、ノードＢが１０ｍＷで送信した経路探索パケットがノードＣとノードＤとに到達したとする。また、ノードＤが送信した経路探索パケットは、ノードＥに到達したとする。
【００３７】
ノードＥ中の経路生成処理部２２ｅは、経路探索パケットを用いて、中継装置４０と通信する際のパケットの転送先としてノードＤを使用できることを特定すると、送信部１２ｅを介して、ノードＤに応答パケットを送信する。
【００３８】
ノードＤの受信部１１ｄは、ノードＥから送信された応答パケットを受信し、振り分け部２１ｄに出力する。振り分け部２１ｄは、応答パケットを経路生成処理部２２ｄに出力する。すると、経路生成処理部２２ｄは、ノードＥ宛のパケットの転送先をノードＥに決定するので、ルーティングテーブル３１ｄ−１（図５）をルーティングテーブル３１ｄ−２（図６）に更新する。このとき、経路生成処理部２２ｄは、新たに得られた経路の有効フラグを無効（図６では×印）に設定する。さらに、経路生成処理部２２ｄは、ノードＤに経路探索パケットを送信してきたノードＢに対して、応答パケットを送信する。
【００３９】
ノードＤから応答パケットを受信すると、ノードＢは、ノードＤがノードＥから応答パケットを受信したときの処理と同様の処理を行う。このため、ノードＢは、ルーティングテーブル３１ｂ−１（図５）に送信電力が１０ｍＷの場合の経路を追加することにより、ルーティングテーブル３１ｂ−２を得ると共に、中継装置４０に応答パケットを送信する。応答パケットを受信したときの中継装置４０でもノードＢと同様にルーティングテーブル３１の更新が行われる。このため、経路生成処理部２２ｇｗによって、ルーティングテーブル３１ｇｗ−１（図５）がルーティングテーブル３１ｇｗ−２（図６）に更新される。第２の経路では、中継装置４０からノードＥに至る経路は、ノードＢとノードＤを経由し、中継装置４０、ノードＢ、ノードＤでの送信電力は１０ｍＷである。
【００４０】
なお、図６は一例であり、例えば、経路の終点のノードが複数のノードから経路探索パケットを受信しても良い。この場合、経路の始点から終点までのコストが最小の経路が採用される。また、応答パケットを受信したノードが複数のノードから経路探索パケットを受信した場合も、応答パケットを受信したノードは、経路の始点から終点までのコストが最小となるように、応答パケットの送信先を決定する。このように、経路中の各装置が経路のコストが最小となる経路探索パケットの送信元に応答パケットを送信することにより、第２の経路の生成が行われる。
【００４１】
中継装置４０の経路生成処理部２２ｇｗは、第２の経路が得られると第２の経路の探索の終了を経路設定部２３ｇｗに通知する。すると、経路設定部２３ｇｗは、ルート更新開始パケットＰ１を生成する。ルート更新開始パケットは、第１の経路を使用したときにパケットが到達しない装置か、第１の経路での送信に失敗しているパケットの最終宛先までの迂回経路を、第２の経路を用いて生成することを要求するための制御パケットである。ルート更新パケットに含まれている情報要素については、図７を参照しながら説明する。ルート更新開始パケットは、第１の経路での転送処理に失敗した通信装置１０に充てて送信される。図６の例ではノードＣからノードＤへのパケットの転送が失敗しているので、経路設定部２３ｇｗは、ノードＣ宛のルート更新開始パケットＰ１を生成し、ノードＣに向けて送信する。なお、ルート更新開始パケットは、第１の経路を用いて、ノードＣに転送されるが、図６では、図を見やすくするために、中継装置４０とノードＣを直接結ぶ矢印で、ルート更新開始パケットＰ１の転送を図示している。
【００４２】
図７は、ルート更新開始パケットの例を説明する図である。ルート更新開始パケットのフォーマットを、図７のＦ１に示す。図７は、さらに、ルート更新開始パケットＰ１に含まれている情報要素の具体例も示している。
【００４３】
ルート更新開始パケットには、受信ＰＩＤ（Personal Area Network ID）、受信アドレス、送信ＰＩＤ、送信アドレス、コマンドＩＤ、通信不可装置ＩＤ、終点装置ＩＤ、変更前出力、変更後出力、チェックサムが含まれる。受信ＰＩＤと受信アドレスの組合せは、ルート更新開始パケットの宛先の特定に使用される。ルート更新開始パケットＰ１では、受信ＰＩＤと受信アドレスにより、ノードＣが特定される。送信ＰＩＤと送信アドレスの組合せは、ルート更新開始パケットの送信元の特定に使用される。ルート更新開始パケットＰ１では、送信ＰＩＤと送信アドレスにより、中継装置４０（ＧＷ）が特定される。コマンドＩＤは、制御パケットの種類の特定に使用される。ルート更新開始パケットでは、コマンドＩＤは、ルート更新開始を示す値である。
【００４４】
通信不可装置ＩＤは、第１の経路を用いたときにパケットが到達しない装置を特定する情報である。ルート更新開始パケットＰ１では、通信不可装置ＩＤはノードＤの識別情報に設定される。終点装置ＩＤは、更新される経路でのパケットの最終宛先の情報であり、第１の経路の終点に設定されている装置の特定に使用される。ルート更新開始パケットＰ１では、終点装置ＩＤは、ノードＥの識別情報に設定される。変更前出力は、第１の経路で使用されている送信電力である。ルート更新開始パケットＰ１の場合、変更前出力は１ｍＷである。変更後出力は、第２の経路で使用されている送信電力である。ルート更新開始パケットＰ１の場合、変更後出力は１０ｍＷである。
【００４５】
以下、図７に示すルート更新開始パケットＰ１を受信したときのノードＣで行われる処理の例を説明する。ノードＣの振り分け部２１ｃは、受信部１１ｃを介してルート更新開始パケットＰ１を取得する。振り分け部２１ｃは、ルート更新開始パケットＰ１の受信ＰＩＤと受信アドレスの組合せがノードＣを表わしているので、ルート更新開始パケットＰ１は自ノード宛のパケットであると判定する。振り分け部２１は、コマンドＩＤの値がルート更新開始を示す値であるので、ルート更新開始パケットＰ１を経路設定部２３ｃに出力する。
【００４６】
経路設定部２３ｃは、ルート更新開始パケットＰ１中の終点装置ＩＤと変更後出力を用いて、ノードＥ宛に１０ｍＷで送信するときの経路を使用することが要求されたと判定する。そこで、経路設定部２３ｃは、ノードＥ宛のパケットを１０ｍＷで送信するための経路がルーティングテーブル３１ｃに含まれているかを判定する。この時点では、ノードＣは、ルーティングテーブル３１ｃ−２（図６）を保持している。ルーティングテーブル３１ｃ−２には、送信電力＝１０ｍＷに対応付けられたノードＥ宛の経路が含まれていない。そこで、経路設定部２３ｃは、ノードＣを介した経路ではノードＥにパケットが到達しないと判定し、ノードＥ宛のパケットの転送経路をノードＣに到達する前に変更することを決定する。経路設定部２３ｃは、ノードＥ宛のパケットがノードＣに到達することを回避するために、回避要求パケットを生成する。
【００４７】
図８は、回避要求パケットの例を説明する図である。回避要求パケットのフォーマットを、図８のＦ２に示す。回避要求パケットには、受信ＰＩＤ、受信アドレス、送信ＰＩＤ、送信アドレス、コマンドＩＤ、要求元ＩＤ、通信不可装置ＩＤ、終点装置ＩＤ、変更前出力、変更後出力、チェックサムが含まれる。受信ＰＩＤ、受信アドレス、送信ＰＩＤ、送信アドレス、通信不可装置ＩＤ、終点装置ＩＤ、変更前出力、変更後出力、チェックサムは、回避要求パケットでもルート更新開始パケットと同様である。ただし、回避要求パケットは、回避要求パケットの送信元に隣接する全ての装置にブロードキャストされるので、受信ＰＩＤと受信アドレスの組み合わせは、送信元に隣接する全ての装置を意味する値である。回避要求パケットでは、コマンドＩＤは、回避要求を示す値に設定される。また、要求元ＩＤは、回避要求によって、終点装置に至る経路に自ノードを含めないことを要求している装置を特定する情報であり、回避要求パケットの送信元の装置の識別情報である。
【００４８】
図８のＰ２は、経路設定部２３ｃが生成する回避要求パケットＰ２の例である。経路設定部２３ｃは、ノードＥ宛のパケットの転送経路にノードＣを含めないことを要求するために、回避要求パケットＰ２の終点装置をノードＥ、要求元をノードＣに設定する。さらに、経路設定部２３ｃは、第１の経路ではパケットが到達しない装置の情報、変更前出力、変更後出力の情報を、ルート開始要求Ｐ１（図７）から抽出して、回避要求パケットＰ２に含める。このため、回避要求パケットＰ２においても、ルート開始要求Ｐ１と同様に、通信不可装置＝ノードＤ、変更前出力＝１ｍＷ、変更後出力＝１０ｍＷに設定される。経路設定部２３ｃは、生成した回避要求パケットＰ２を、送信部１２ｃを介してブロードキャストする。
【００４９】
図９は、経路の変更処理の例を説明する図である。図９に、ノードＣから送信された回避要求パケットＰ２がノードＢに到達する様子を示す。ノードＢの受信部１１ｂは、回避要求パケットＰ２を受信すると、振り分け部２１ｂに出力する。振り分け部２１ｂは、回避要求パケットＰ２の受信ＰＩＤと受信アドレスがブロードキャストを示しているので、回避要求パケットＰ２を自ノードでの処理対象であると判定する。振り分け部２１ｂは、コマンドＩＤの値が回避要求を示す値であるので、回避要求パケットＰ２を経路設定部２３ｂに出力する。
【００５０】
経路設定部２３ｂは、回避要求パケットＰ２の送信元が、ノードＢにとって、回避要求パケットＰ２中の終点装置ＩＤで識別される装置へのパケットの転送先であるかを判定する。ここで、経路設定部２３は、終点装置宛のパケットの転送先以外の装置から回避要求パケットを取得した場合、回避要求パケットを廃棄する。図８に示すように回避要求パケットＰ２によって、ノードＥ宛のパケットの転送経路にノードＣを含めないことが要求されている。ここで、ルーティングテーブル３１ｂ―２に示すように、ノードＢは、ノードＥ宛のパケットをノードＣに転送している。このため、経路設定部２３ｂは、回避要求パケットＰ２によって、ノードＢでの転送先の変更が要求されていると判定する。
【００５１】
経路設定部２３ｂは、回避要求パケットＰ２中の終点装置ＩＤ、変更後出力、要求元の情報を用いて、ノードＥ宛に１０ｍＷで送信するときの経路で、かつ、ノードＣ以外が転送先となっている経路を使用することが要求されたと判定する。そこで、経路設定部２３ｂは、回避要求パケットＰ２で通知された条件に合う経路がルーティングテーブル３１ｂ−２（図９）に含まれているかを判定する。ルーティングテーブル３１ｂ−２の４番目のエントリには、ノードＥ宛のパケットを１０ｍＷで送信する際に、転送先がノードＤであることが記憶されている。経路設定部２３ｂは、回避要求パケットＰ２で通知された条件に合致する経路が見つかったため、ルーティングテーブル３１ｂ−２の４番目のエントリを有効にする。さらに、現在、ノードＥ宛のパケットの転送先に使用しているルーティングテーブル３１ｂ−２の３番目のエントリを無効に設定する。このため、ルーティングテーブル３１ｂ−２は、ルーティングテーブル３１ｂ―３に更新される。
【００５２】
次に、経路設定部２３ｂは、有効にした経路での転送先が、第１の経路が使用されたときにパケットが到達しない装置（通信不可装置）か、変更対象の経路の最終宛先（終点装置）のいずれかであるかを判定する。有効化された経路での転送先と、通信不可装置が一致する場合、経路設定部２３ｂでの経路変更によって、通信不可装置へパケットを到達させるための迂回経路が生成できたことになる。一方、有効化された経路での転送先と、変更対象の経路の最終宛先が一致する場合、通信不可装置を介さずに、パケットの最終宛先に対する迂回経路が得られたことになる。すなわち、有効化された経路での転送先が通信不可装置か、変更対象の経路の最終宛先のいずれかである場合、最終的な宛先にパケットを到達させるための経路が確保さるので、経路の変更処理は終了できる。
【００５３】
図９の例では、経路設定部２３ｂが有効にした経路での転送先がノードＤであるのに対し、通信不可装置はノードＤ、変更対象の経路の最終宛先はノードＥである。従って、経路設定部２３ｂによるルーティングテーブル３１ｂの変更により、通信不可装置への迂回経路が生成されたことになる。そこで、経路設定部２３ｂは、経路変更の終了を通知するための終了通知パケットＰ３を生成し、送信部１２ｂを介して、中継装置４０に送信する。終了通知パケットＰ３については、図１０を参照しながら詳しく説明する。中継装置４０のデータ要求部５１ｇｗは、終了通知パケットＰ２を受信すると、送信に失敗したパケットを再送するために使用する経路が得られたと判定し、送信部１２ｇｗを介して、ノードＥ宛のパケットを再送する。
【００５４】
図１０は、終了通知パケットの例を説明する図である。終了通知パケットのフォーマットを、図１０のＦ３に示す。終了通知パケットは、受信ＰＩＤ、受信アドレス、送信ＰＩＤ、送信アドレス、コマンドＩＤ、通信不可装置ＩＤ、終点装置ＩＤ、変更前出力、変更後出力、チェックサムが含まれる。終了通知パケットでは、コマンドＩＤは、経路変更の終了を表わす値である。
【００５５】
図１０は、経路設定部２３ｂが生成する終了通知パケットＰ３の例も示している。経路設定部２３ｂは、終了通知パケットＰ３の通信不可装置＝ノードＤ、変更対象の経路の最終宛先＝ノードＥ、変更前出力＝１ｍＷ、変更後出力＝１０ｍＷに設定する。なお、これらの情報は、ノードＢが受信した回避要求パケットＰ２から抽出されている。さらに、受信ＰＩＤと受信アドレスには、中継装置４０を示す値が使用され、送信ＰＩＤと送信アドレスには、ノードＢを示す値が使用される。なお、ネットワーク中の各通信装置１０は、経路の変更が中継装置４０から要求されることと、経路の変更の終了を中継装置４０に通知することを予め記憶しているものとする。
【００５６】
図９に戻って、ケース１によって生成された変更後の経路と、各リンクで使用される送信出力の関係を考察する。図９では、転送に使用される送信電力を分かりやすくするために、１ｍＷが使用されるリンクの矢印を実線、１０ｍＷが使用されるリンクの矢印を太い一点鎖線で示している。さらに、第１の経路のうちで転送経路の変更により使用されなくなったリンクを破線、第２の経路のうちで使用されないリンクを細い一点鎖線で示している。中継装置４０とノードＤでは、ルーティングテーブル３１の更新が行われる前に、経路の更新が終了している。このため、中継装置４０は、ノードＥ宛てのパケットの送信の際に、ルーティングテーブル３１ｇｗ−２を使用する。ルーティングテーブル３１ｇｗ−２では、ノードＥ宛のパケットの転送先はノードＢであり、中継装置４０とノードＢの間の通信は１ｍＷで行われる。次に、ノードＢの転送処理部２４ｂは、ノードＥ宛のパケットの転送の際に、ルーティングテーブル３１ｂ−３を用いる。このため、ノードＥ宛のパケットは、１０ｍＷの送信電力を用いて、ノードＢからノードＤに転送される。ノードＤの転送処理部２４ｄは、ノードＥ宛のパケットをノードＢから受信すると、ルーティングテーブル３１ｄ−２を用いて転送処理を行う。このため、ノードＥ宛のパケットは、１ｍＷの送信電力を用いて、ノードＤからノードＥに転送される。この結果、中継装置４０からノードＥへのパケットの転送は、中継装置４０、ノードＢ、ノードＤ、ノードＥの経路で行われるものの、第２の経路（図６の一点鎖線の矢印）の条件は、ノードＢとノードＤの間でしか使用されない。従って、ノードＢとノードＤの間のリンク以外では、第１の経路と同じ条件での転送処理が行われる。
【００５７】
従って、ケース１では、実施形態にかかる方法により、送信電力を増大させる区間をなるべく限定しつつ、通信を確保することができる。すなわち、実施形態にかかる方法により、システム中での消費電力を抑えつつ、通信経路を確保できる。
【００５８】
（２）ケース２
ケース２では、第１の経路に含まれていない通信装置１０が第２の経路に含まれているため、第１の経路に含まれていない装置を含む経路が更新後の経路として生成される場合について説明する。
【００５９】
図１１は、ケース２での第１の経路と第２の経路の例を説明する図である。図１１の例でも、第１の経路は、図５を参照しながら説明したとおりの経路である。ケース１で説明したように、中継装置４０は、現在使用中の電力を用いて、パケットの宛先に至る経路が得られない場合、使用中の電力よりも大きな電力での通信経路（第２の経路）を検索するための処理を開始する。中継装置４０とネットワーク中の各通信装置１０において、第２の経路を生成するために行われる処理は、ケース１において図６などを参照しながら説明した処理と同様である。図１１の例では、送信電力１０ｍＷを用いたときに、中継装置４０からパケットの宛先であるノードＥに至る経路として、図１１中の一点鎖線の矢印で示すように、中継装置４０からノードＡとノードＤを介してノードＥに至る経路が得られたとする。
【００６０】
中継装置４０と第２の経路中の各通信装置１０は、図６で説明した方法と同様に、１０ｍＷの送信電力でのノードＥに至る経路の情報をルーティングテーブル３１に含めるが、この段階では、第２の経路中の転送先のエントリは無効に設定されている。このため、中継装置４０はルーティングテーブル３１ｇｗ―１１、ノードＡはルーティングテーブル３１ａ−１１、ノードＤはルーティングテーブル３１ｄ−１１を保持する。なお、ノードＢは１０ｍＷの送信電力で通信する際の中継装置４０からノードＥに至る経路に含まれないので、ノードＢは、ルーティングテーブル３１ｂ−１１を有する。また、ノードＣは、図５を参照しながら説明したとおり、ノードＣとノードＤの間で通信不能になっていることから、ノードＤを介してノードＥへパケットを転送する転送経路を無効にするので、ルーティングテーブル３１ｃ−２を保持している。
【００６１】
中継装置４０は、第２の経路が得られると図６と図７を参照しながら説明した処理により、ルート更新開始パケットＰ１を生成する。ルート更新開始パケットＰ１は、ケース１と同様に、中継装置４０からノードＣに送信される。
【００６２】
図１２は、経路の変更処理の例を説明する図である。ルート更新開始パケットＰ１を受信したときのノードＣで行われる処理は、ケース２でもケース１と同様である。このため、ノードＣは、ケース１と同様の処理により、回避要求パケットＰ２（図８）を生成して、ノードＢに送信することにより、ノードＣを介さずにノードＥに至る経路の生成を要求する。
【００６３】
ノードＢは、回避要求パケットＰ２を受信する。ノードＢの経路設定部２３ｂは、ケース１と同様に、受信部１１ｂと振り分け部２１ｂを介して、回避要求パケットＰ２中のデータを取得する。経路設定部２３ｂは、ノードＥ宛に１０ｍＷで送信するときの経路がルーティングテーブル３１ｂ−１１（図１２）に含まれているかを判定する。ルーティングテーブル３１ｂ−１１には、ノードＥ宛のパケットを送信電力が１０ｍＷで送信するための経路が含まれていない。そこで、経路設定部２３ｂは、ノードＢ自身を要求元とした回避要求パケットＰ１１を生成する。経路設定部２３ｂが回避要求パケットＰ１１を生成する際に行う処理はノードＣの経路設定部２３ｃが回避要求パケットＰ２の生成の際に行う処理と同様である。このため、経路設定部２３ｂは、回避要求パケットＰ１１に以下の情報を含める。
受信ＰＩＤと受信アドレス：全ての隣接ノードを示す値
送信ＰＩＤと送信アドレス：ノードＢの情報
コマンドＩＤ            ：回避要求
要求元                  ：ノードＢ
通信不可装置            ：ノードＤ
終点装置                ：ノードＥ
変更前出力              ：１ｍＷ
変更後出力              ：１０ｍＷ
【００６４】
回避要求パケットＰ１１はノードＢの全ての隣接装置に送信されるので、図１２の例では、中継装置４０とノードＣに受信される。ノードＣの経路設定部２３ｃは、回避要求パケットＰ１１の要求元がノードＢであるのに対し、回避要求パケットＰ１１中の終点装置であるノードＥに宛てたパケットについての有効な転送先を有さないことから、回避要求パケットＰ１１を廃棄する。
【００６５】
一方、中継装置４０の経路設定部２３ｇｗは、回避要求パケットＰ１１の要求元がノードＢであり、回避要求パケットＰ１１中の終点装置であるノードＥに宛てたパケットの転送先もノードＢであることから、回避要求パケットＰ１１を処理対象とする。経路設定部２３ｇｗは、ノードＥ宛に１０ｍＷで送信するときの経路であって、転送先がノードＢとは異なる経路がルーティングテーブル３１ｇｗ−１１（図１１）に含まれているかを判定する。ルーティングテーブル３１ｇｗ−１１には、ノードＥ宛のパケットを１０ｍＷで送信する際に、転送先をノードＡとすることが記録されている。経路設定部２３ｇｗは、回避要求パケットＰ１１によって回避が要求されているノードＢ以外を転送先として、ノードＥに向けて変更後出力で送信するための経路が見つかったため、ルーティングテーブル３１ｇｗ−１１の６番目のエントリを有効にする。さらに、現在、ノードＥ宛のパケットの転送先に使用しているルーティングテーブル３１ｇｗ−１１の５番目のエントリを無効に設定する。このため、ルーティングテーブル３１ｇｗ−１１（図１１）は、ルーティングテーブル３１ｇｗ−１２（図１２）に示すように更新される。
【００６６】
さらに、経路設定部２３ｇｗは、有効にした経路での転送先が、第１の経路が使用されたときの通信不可装置か、変更対象の経路の最終宛先のいずれかであるかを判定する。図１２の例では、経路設定部２３ｇｗが有効にした経路での転送先がノードＡであるのに対し、通信不可装置はノードＤ、変更対象の経路の最終宛先はノードＥである。従って、経路設定部２３ｇｗによってルーティングテーブル３１ｇｗが変更されても、通信不可装置への迂回経路も、パケットの最終宛先への迂回経路も完成しない。そこで、経路設定部２３ｇｗは、有効にした経路での転送先に対しても経路の変更を要求するために、ルート変更要求パケットを生成する。
【００６７】
図１３は、ルート変更要求パケットの例を説明する図である。ルート変更要求パケットのフォーマットを、図１３のＦ４に示す。ルート変更要求パケットは、受信ＰＩＤ、受信アドレス、送信ＰＩＤ、送信アドレス、コマンドＩＤ、要求元ＩＤ、通信不可装置ＩＤ、終点装置ＩＤ、変更前出力、変更後出力、チェックサムが含まれる。ルート変更要求パケットでは、コマンドＩＤは、ルート変更要求を表わす値である。要求元ＩＤは、ルート変更要求パケットの送信元を示す値である。なお、ルート変更要求パケットは、要求元ＩＤに含まれている装置を含む経路を、第１の経路を用いたときの通信不可装置か、変更対象の経路の最終宛先のいずれかにまで延長することを要求するための制御パケットである。このため、ルート変更要求パケットを受信した装置では、ルート変更要求パケットの要求元ＩＤに記録されている装置から受信したパケットの転送処理に使用する経路の探索が行われる。
【００６８】
図１３は、経路設定部２３ｇｗが生成するルート変更要求パケットＰ１２の例も示している。経路設定部２３ｇｗは、ルート変更要求パケットＰ１２の通信不可装置＝ノードＤ、変更対象の経路の最終宛先＝ノードＥ、変更前出力＝１ｍＷ、変更後出力＝１０ｍＷに設定する。なお、これらの情報は、中継装置４０が受信した回避要求パケットＰ１１から抽出されている。さらに、受信ＰＩＤと受信アドレスには、ノードＡを示す値が使用され、送信ＰＩＤと送信アドレスには、中継装置４０を示す値が使用される。さらに、経路設定部２３ｇｗは、ルート変更要求パケットＰ１２の要求元を、中継装置４０（ＧＷ）を表わす情報に設定する。
【００６９】
図１４は、経路の変更処理の例を説明する図である。経路設定部２３ｇｗは、図１３を参照しながら説明したルート変更要求パケットＰ１２を、送信部１２ｇｗを介して、ノードＡに送信する。ノードＡの受信部１１ａは、ルート変更要求パケットＰ１２を受信すると、振り分け部２１ａに出力する。振り分け部２１ａは、ルート変更要求パケットＰ１２の受信ＰＩＤと受信アドレスがノードＡを識別する情報であるので、ルート変更要求パケットＰ１２を自ノードでの処理対象であると判定する。振り分け部２１ａは、コマンドＩＤの値がルート変更要求を示す値であるので、ルート変更要求パケットＰ１２を経路設定部２３ａに出力する。
【００７０】
経路設定部２３ａは、ルート変更要求パケットＰ１２中の終点装置ＩＤと変更後出力を用いて、ノードＥ宛に１０ｍＷでパケットを送信するための経路を使用することが要求されたと判定する。ルーティングテーブル３１ａ−１１の１番目のエントリには、ノードＥ宛のパケットを１０ｍＷで送信する際の転送先がノードＤであることが記憶されている。経路設定部２３ａは、ルート変更要求パケットＰ１２によって設定が要求されている条件に合致する経路が見つかったため、ルーティングテーブル３１ａ−１１の１番目のエントリを有効にする。このため、ルーティングテーブル３１ａ−１１は、ルーティングテーブル３１ａ−１２に更新される。
【００７１】
さらに、経路設定部２３ａは、有効にした経路での転送先が、第１の経路が使用されたときの通信不可装置か、変更対象の経路の最終宛先のいずれかであるかを判定する。図１４の例では、経路設定部２３ａが有効にした経路での転送先がノードＤであるのに対し、通信不可装置はノードＤ、変更対象の経路の最終宛先はノードＥである。従って、経路設定部２３ａによるルーティングテーブル３１ａの変更により、通信不可装置への迂回経路が生成されたことになる。そこで、経路設定部２３ａは、経路変更の終了を通知するために、以下の情報を含む終了通知パケットＰ１３を生成する。
受信ＰＩＤと受信アドレス：中継装置４０の情報
送信ＰＩＤと送信アドレス：ノードＡの情報
コマンドＩＤ            ：終了通知
通信不可装置            ：ノードＤ
終点装置                ：ノードＥ
変更前出力              ：１ｍＷ
変更後出力              ：１０ｍＷ
経路設定部２３ａは、送信部１２ａを介して、終了通知パケットＰ１３を中継装置４０に送信する。中継装置４０のデータ要求部５１ｇｗは、終了通知パケットＰ２を受信すると、送信に失敗したパケットを再送するために使用する経路が得られたと判定し、送信部１２ｇｗを介して、ノードＥ宛のパケットを再送する。
【００７２】
ここで、ケース２で生成された変更後の経路と、各リンクで使用される送信出力の関係を考察する。図１４では、ノードＥ宛のパケットの転送処理に使用されるリンクのうち、１ｍＷが使用されるリンクの矢印を実線の矢印、１０ｍＷが使用されるリンクの矢印を太い一点鎖線の矢印で示している。中継装置４０は、ノードＥ宛てのパケットの送信の際に、ルーティングテーブル３１ｇｗ−１２を使用する。このため、中継装置４０は、ノードＥ宛のパケットを１０ｍＷでノードＡに転送する。ノードＡの転送処理部２４ａは、ノードＥ宛のパケットの転送の際に、ルーティングテーブル３１ａ−１２を用いる。このため、ノードＥ宛のパケットは、１０ｍＷの送信電力を用いて、ノードＡからノードＤに転送される。ここで、ケース２では、ノードＤでの経路の変更が行われないので、ノードＤの転送処理部２４ｄは、ノードＥ宛のパケットを、ルーティングテーブル３１ｄ−１１に従って転送する。このため、ノードＥ宛のパケットは、１ｍＷの送信電力を用いて、ノードＤからノードＥに転送される。この結果、中継装置４０からノードＥへのパケットの転送は、中継装置４０、ノードＡ、ノードＤ、ノードＥの経路で行われる。ここで、中継装置４０からノードＥに至る第２の経路（図１１の一点鎖線の矢印）と第１の経路で共通しているリンクでは、第１の経路で使用された条件での転送処理が行われる。このため、図１４にかかる経路では、ノードＤとノードＥの間のリンクにおいて、第１の経路と同じ条件での転送処理が行われる。
【００７３】
従って、ケース２においても、実施形態にかかる方法により、送信電力を増大させる区間を限定しつつ、通信を確保することができる。このため、システム中での消費電力を抑えつつ、通信経路を確保することができる。
【００７４】
（３）装置ごとの動作例
以下、第１の実施形態で行われる処理を、装置ごとの動作としてフローチャートを参照しながら説明する。
【００７５】
図１５は、ルート更新開始パケットを受信した通信装置で行われる処理の例を説明するフローチャートである。ルート更新開始パケットは、中継装置４０が他の通信装置１０からデータを収集するシステムでは、中継装置４０から送信されるので、図１５は、通信装置１０での処理の例である。なお、図１５に示す処理の順序は一例であり、例えば、ステップＳ６の判定よりもステップＳ８の判定が先に行われるように手順を変更するなどの変更が実装に応じて行われうる。
【００７６】
受信部１１は、ルート更新開始パケットを受信する（ステップＳ１）。振り分け部２１は、ルート更新開始パケットを取得し、ルート更新開始パケットを経路設定部２３に出力する。経路設定部２３は、ルート更新開始パケット中の変更後出力で、更新する経路の終点（終点装置）に向けてパケットを転送するための経路をルーティングテーブル３１に保持しているかを判定する（ステップＳ２）。変更後出力で、終点装置に向けてパケットを転送するための経路を保持していない場合、経路設定部２３は回避要求パケットを生成し、送信部１２を介してブロードキャストする（ステップＳ２でＮｏ、ステップＳ３）。変更後出力で終点装置に向けてパケットを転送するための経路を保持している場合、経路設定部２３は、変更前出力に対応付けられた経路を無効にし、変更後出力に対応付けられた経路を有効にする（ステップＳ２でＮｏ、ステップＳ４）。
【００７７】
その後、経路設定部２３は、終点装置宛のパケットの転送先は通信不可装置であるかを判定する（ステップＳ５）。終点装置宛のパケットの転送先が通信不可装置である場合、経路設定部２３は、更新処理が完了したと判定し、終了通知パケットを中継装置４０に送信する（ステップＳ５でＹｅｓ、ステップＳ６）。一方、終点装置宛のパケットの転送先が通信不可装置ではない場合、経路設定部２３は、終点装置宛のパケットの転送先は終点装置であるかを判定する（ステップＳ５でＮｏ、ステップＳ７）。終点装置宛のパケットの転送先が終点装置である場合、経路設定部２３は、更新処理が完了したと判定し、終了通知パケットを中継装置４０に送信する（ステップＳ７でＹｅｓ、ステップＳ８）。終点装置宛のパケットの転送先が終点装置でない場合、経路設定部２３は、ルート更新要求パケットを、終点装置宛のパケットの転送先に送信する（ステップＳ７でＮｏ、ステップＳ９）。
【００７８】
図１６は、回避要求パケットを受信した通信装置で行われる処理の例を説明するフローチャートである。回避要求パケットは、中継装置４０と通信装置１０のいずれも受信し得る。回避要求パケットの受信の際に行われる処理は、中継装置４０と通信装置１０で共通している。また、図１６に示す処理は、実装に応じて変更され得る。例えば、図１６において、ステップＳ２６の処理を省略して、ステップＳ２４でＹｅｓと判定された場合にステップＳ２７の処理が行われるように変更されてもよい。
【００７９】
受信部１１は、回避要求パケットを受信する（ステップＳ２１）。振り分け部２１は、回避要求パケットを取得し、回避要求パケットを経路設定部２３に出力する。経路設定部２３は、回避要求パケット中の要求元が終点装置宛のパケットの転送先であるかを判定する（ステップＳ２２）。回避要求パケット中の要求元が終点装置宛のパケットの転送先ではない場合、経路設定部２３は、パケットを廃棄して処理を終了する（ステップＳ２２でＮｏ、ステップＳ２３）。回避要求パケット中の要求元が終点装置宛のパケットの転送先である場合、経路設定部２３は、回避要求パケットを処理対象とする（ステップＳ２２でＹｅｓ）。
【００８０】
回避要求パケットを処理対象とする場合、経路設定部２３は、回避要求パケット中の変更後出力で、終点装置に向けてパケットを転送するための経路をルーティングテーブル３１に保持しているかを判定する（ステップＳ２４）。変更後出力で、終点装置に向けてパケットを転送するための経路を保持していない場合、経路設定部２３は回避要求パケットを生成し、送信部１２を介してブロードキャストする（ステップＳ２４でＮｏ、ステップＳ２５）。変更後出力で終点装置に向けてパケットを転送するための経路を保持している場合、経路設定部２３は、終点装置宛てのパケットの転送先が、変更前出力と変更後出力で同じかを判定する（ステップＳ２４でＹｅｓ、ステップＳ２６）。終点装置宛てのパケットの転送先が変更前出力と変更後出力で異なる場合、経路設定部２３は、変更前出力に対応付けられた経路を無効にし、変更後出力に対応付けられた経路を有効にする（ステップＳ２６でＮｏ、ステップＳ２７）。終点装置宛てのパケットの転送先が変更前出力と変更後出力で同じ場合、経路設定部２３は、ステップＳ２７の処理は行わない（ステップＳ２６でＹｅｓ）。その後、ステップＳ２８〜Ｓ３２に示す処理が行われる。なお、ステップＳ２８〜Ｓ３２に示す処理は、図１５を参照しながら説明したステップＳ５〜Ｓ９に示す処理と同様である。
【００８１】
図１７は、ルート変更要求パケットを受信した通信装置で行われる処理の例を説明するフローチャートである。受信部１１は、ルート変更要求パケットを受信する（ステップＳ４１）。振り分け部２１は、受信部１１からルート変更要求パケットを取得し、ルート変更要求パケットを経路設定部２３に出力する。経路設定部２３は、ステップＳ４２〜Ｓ４８の処理を行う。図１７のステップＳ４２〜Ｓ４８に示す処理は、図１６を参照しながら説明したステップＳ２６〜Ｓ３２に示す処理と同様である。
【００８２】
なお、図１７に示す処理は、実装に応じて変更され得る。例えば、図１７において、ステップＳ４２の処理を省略して、ルート変更要求パケットを受信した全ての装置で、ステップＳ４３の処理が行われるように変更されてもよい。
【００８３】
図１８は、中継装置４０で行われる処理の例を説明するフローチャートである。図１８は、パケットの送信に失敗したことが検出されてからパケットの転送に使用する新たな経路が得られるまでに行われる処理を示している。なお、図１８において、経路更新により検索の対象となっている経路の終点装置をノードＸと記載している。
【００８４】
中継装置４０中の受信部１１は、ネットワーク中の通信装置１０から、通信に失敗した通信先（ノードＸ）を通知するパケットを受信する（ステップＳ５１）。経路設定部２３は、現在使用中の電力で、ノードＸに至る新たな経路を生成できるかを判定する（ステップＳ５２）。なお、ステップＳ５２で行われる判定処理では、任意の既知の方法が使用されうる。現在使用中の電力で、ノードＸに至る新たな経路を生成できる場合、経路設定部２３は、新たな経路を設定するための処理を行った後で、ノードＸ宛にパケットを送信する（ステップＳ５２でＹｅｓ、ステップＳ５３）。
【００８５】
一方、現在使用中の電力で、ノードＸに至る新たな経路を生成できない場合、経路生成処理部２２は、送信電力を上げたときのノードＸに至る経路の検索を行う（ステップＳ５２でＮｏ、ステップＳ５４）。経路設定部２３は、送信電力を上げたときの経路の検索が終わると、通信の失敗を通知してきたノードに対して、ルート更新開始パケットを送信する（ステップＳ５５）。その後、中継装置４０は、終了通知パケットを受信するまで待機する（ステップＳ５６でＮｏ）。なお、中継装置４０は、終了通知パケットを受信する前に、回避要求パケットを受信した場合には、図１６を参照しながら説明した処理を行う。中継装置４０は、終了通知パケットを受信すると、ノードＸ宛にパケットを送信し、処理を終了する（ステップＳ５６でＹｅｓ、ステップＳ５７）。
【００８６】
以上説明したように、第１の実施形態を用いることにより、通信経路を再生成する際に、送信電力を増大させる区間を限定できる。このため、システム中の各装置での消費電力を抑えつつ、通信経路を確保できる。
【００８７】
無線アドホックネットワークに含まれている各装置は、太陽電池などのバッテリーで動作していることが多いため、各装置で使用する電力を小さくすることが望ましい。しかしながら、通信状態が悪化した場合には、通信状態が悪化している領域での通信を確立するために送信電力を大きくすることも望ましい。また、通信状況が悪化した原因が、障害物による反射である場合には、送信電力を大きくしても通信経路を再確立することは難しく、異なる経路を使用する方が効率的である。
【００８８】
第１の実施形態を用いると、通信装置１０や中継装置４０を、通信状態が悪化したときに、通信状況が悪化している領域での経路の再構築や通信状況が悪化している領域の迂回を行う装置だけ、大きな電力で動作させることができる。このため、第１の実施形態によると、無線アドホックネットワークを、省電力で効果的に運用することができる。
【００８９】
＜第２の実施形態＞
第２の実施形態では、パケットの転送の失敗が発生した第１の経路と、第１の経路よりも大きな送信電力で生成した第２の経路を用いて、経路の更新を行う際に、送信電力の増大を減らすための処理がさらに行われる。以下の説明では、分かりやすくするために、第１の経路を用いた通信に使用される送信電力を「第１の送信電力」、第２の経路を用いた通信に対応付けられている送信電力を「第２の送信電力」と記載することがある。
【００９０】
第２の実施形態では、ルーティングテーブル３１中でいずれかの経路を有効化した装置は、有効化した経路の転送先を目的ノードとした経路の情報がルーティングテーブル３１に含まれているかを判定する。ここで、有効化された経路は、第２の経路の一部であるので、第２の送信電力に対応付けられている。有効化した経路の転送先を目的ノードとした経路がルーティングテーブル３１に含まれている場合、経路設定部２３は、有効化した経路の転送先を目的ノードとした経路で使用されている送信電力（第３の送信電力）が、第２の送信電力よりも小さいかを判定する。経路設定部２３は、第３の送信電力が、第２の送信電力よりも小さい場合、有効化した経路の転送先との間では、第２の送信電力よりも小さい第３の送信電力を用いても通信が可能であると判定する。そこで、経路設定部２３は、ルーティングテーブル３１において、有効化したエントリに対応付けられている送信電力を、第２の送信電力から第３の送信電力に引き下げる。以後、有効化したエントリを用いた通信では第３の送信電力が使用されるため、システム中の消費電力を削減できる。
【００９１】
以下、第２の実施形態の具体例として、第１の実施形態においてケース２で説明した場合を例として、送信電力を増大させるリンクを減らすための処理の例を説明する。まず、第１の実施形態のケース２の図１１、図１２を参照して説明したように、ノードＢが中継装置４０に対して、回避要求パケットＰ１１を送信したとする。中継装置４０は、図１２を参照しながら説明した手順により、ルーティングテーブル３１ｇｗ−１１をルーティングテーブル３１ｇｗ−１２に更新する。その後、中継装置４０は、ノードＥ宛のパケットの新たな転送先に決定したノードＡとの通信に使用する送信電力の増大を抑えるための処理を行う。送信電力の増大を抑えるための処理の例を、図１９を参照しながら説明する。
【００９２】
図１９は、第２の実施形態で行われる処理の例を説明する図である。中継装置４０は、ルーティングテーブル３１ｇ−１２を保持しており、ノードＥ宛のパケットをノードＡに転送する経路を新たに有効にしている。また、ルーティングテーブル３１ｇ−１２には、目的ノードがノードＡの場合の経路も含まれている。そこで、経路設定部２３ｇｗは、ノードＡを目的ノードとした経路で有効に使用されている送信電力と、ノードＥ宛のパケットの転送に使用する送信電力を比較する。ルーティングテーブル３１ｇ−１２において、ノードＥ宛のパケットの転送先はノードＡ、送信電力は１０ｍＷである。一方、ノードＡに至る経路での転送先はノードＡで、送信電力は１ｍＷである。ノードＡが目的ノードとなっている経路において送信電力が１ｍＷであることから、経路設定部２３ｇｗは、送信電力を１ｍＷにしてもノードＡへパケットを転送できると判定する。そこで経路設定部２３は、ルーティングテーブル３１ｇ−１２で有効化されているノードＥ宛の経路の送信電力を１ｍＷに引き下げる。送信電力の引き下げにより、中継装置４０は、ルーティングテーブル３１ｇｗ−２１を得る。
【００９３】
その後、経路設定部２３ｇｗは、図１２を参照しながら説明した処理と同様の処理により、ノードＡにルート更新要求パケットを送信する。ノードＡでもルート更新の処理が行われる。ここで、ノードＡは、ノードＤを目的ノードとした経路を保持していないので、有効化された経路の送信電力は変更されない。このため、ノードＡは、図１３、図１４を参照しながら説明した処理により得られたルーティングテーブル３１ａ−１２を転送処理に使用する。
【００９４】
なお、第２の実施形態においても、ノードＤにはルートの変更処理が要求されないので、ノードＤが保持するルーティングテーブル３１ｄ−１１では、送信電力＝１ｍＷの経路が有効になっている。
【００９５】
以上の処理により、第２の実施形態によると、中継装置４０からノードＥ宛に送信されたパケットは、ノードＡ、ノードＤを経由してノードＥに到達する。また、中継装置４０がノードＡへのパケットの転送に使用する送信電力と、ノードＤがノードＥへのパケットの転送に使用する送信電力は、いずれも１ｍＷである。従って、第２の送信電力である１０ｍＷを用いて転送処理が行われるリンクは、ノードＡとノードＤの間のリンクだけになる。
【００９６】
図２０は、第２の実施形態で行われる処理の例を説明するフローチャートである。図２０のステップＳ６１〜Ｓ６７は、図１６を参照しながら説明したステップＳ２１〜Ｓ２７と同様である。
【００９７】
ルーティングテーブル３１の有効フラグの更新処理の後で、経路設定部２３は、有効にしたルートでの転送先が目的ノードになっている経路の送信電力（Ｘ）は、変更後出力よりも低いかを判定する（ステップＳ６８）。有効にしたルートでの転送先を目的ノードとした経路の送信電力（Ｘ）の方が変更後出力よりも低い場合、経路設定部２３は、有効にしたルートでの使用電力をＸに変更する（ステップＳ６８でＹｅｓ）。有効にしたルートでの転送先を目的ノードとした経路の送信電力（Ｘ）が変更後出力以上の場合、経路設定部２３は、ステップＳ６９の処理を行わない（ステップＳ６８でＮｏ）。この場合、経路設定部２３は、ステップＳ６７の処理により、有効にしたルートでの使用電力を第２の送信電力に設定することになる。その後、ステップＳ７０〜Ｓ７４の処理が行われる。ステップＳ７０〜Ｓ７４の処理は、図１５を参照しながら説明したステップＳ５〜Ｓ９と同様である。また、ステップＳ６６においてＹｅｓと判定された場合もステップＳ７０〜Ｓ７４の処理が行われる。
【００９８】
図２０を参照しながら、回避要求パケットを受信したノードでの処理の例を説明したが、第２の実施形態で説明したように、他のノードへの経路を用いた送信電力の引き下げは、回避要求パケットを受信したノード以外で行われても良い。例えば、ルート更新開始パケットまたはルート更新要求パケットを受信したノードでも、ルーティングテーブル３１の有効フラグの更新処理の後で、ステップＳ６８、Ｓ６９と同様の処理が行われうる。
【００９９】
このように、第２の実施形態では、経路の更新を行う際に、送信電力を増大させるリンクを減らすための処理が行われるので、送信電力を増大させる区間を限定できる。このため、システム中の各装置での消費電力を抑えつつ、通信経路を確保できる。
【０１００】
＜その他＞
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
【０１０１】
以上の説明で述べたテーブルやパケットに含まれている情報要素は例であり、実装に応じて変更され得る。
【０１０２】
図１２などを用いて説明した回避要求パケットを送信するノードの処理も実装に応じて変更されても良い。例えば、ノードＢがノードＥを終点装置として回避要求パケットＰ１１を送信する際に、ノードＢの経路設定部２３ｂは、ルーティングテーブル３１ｂ中のノードＥを目的ノードとする経路に対応付けられた有効フラグを無効にしても良い。
【０１０３】
以上の説明では、中継装置４０がデータの送信元や経路の生成を開始する装置である場合を例として説明したが、中継装置４０以外の任意の通信装置１０がデータの送信元や経路の生成を開始する装置として動作しても良い。この場合、変更する経路の始点となる装置を特定するための情報が、適宜、回避要求パケット、ルート変更要求パケット、ルート更新開始パケットなどに含められる。記憶部３０は、変更する経路の始点となる装置を特定するための情報を適宜記憶する。なお、変更する経路の始点となる装置は、終了装置に宛てたパケットを送信した装置である。
【０１０４】
上述の第１および第２の実施形態を含む実施形態に関し、以下の付記を開示する。
（付記１）
複数の通信装置を含むネットワーク中の第１の通信装置として動作する通信装置であって、
送信処理で使用する電力の大きさとパケットの宛先に対応付けて、前記パケットの転送先を記憶する記憶部と、
送信に失敗した送信パケットの宛先装置と、前記送信パケットが到達しない第２の通信装置との組み合わせを示す情報とともに、転送経路の変更要求を取得すると、前記宛先装置宛のパケットの転送に使用した第１の送信電力より大きい第２の送信電力と前記宛先装置に対応付けられた転送先を、前記宛先装置宛てのパケットを転送する転送先装置に設定する設定部と、
前記転送先装置が前記宛先装置と前記第２の通信装置のいずれとも一致しない場合、前記組み合わせを示す情報と変更要求を、前記転送先装置に送信する送信部
を備えることを特徴とする通信装置。
（付記２）
前記設定部は、前記第２の送信電力と前記宛先装置に対応付けられた転送先が前記記憶部に記憶されていない場合、前記第１の通信装置を回避して前記宛先装置に到達する経路の設定の要求と、前記組み合わせを示す情報を含む回避要求パケットを生成し、
前記送信部は、前記回避要求パケットを送信する
ことを特徴とする付記１に記載の通信装置。
（付記３）
前記設定部は、
前記転送先装置に宛てたパケットの転送処理に使用している送信電力の大きさである第３の送信電力よりも前記第２の送信電力が大きい場合、前記宛先装置に宛てたパケットを前記転送先装置に転送するときに使用する電力を前記第３の送信電力に設定し、
前記第２の送信電力が前記第３の送信電力以下の場合、前記宛先装置に宛てたパケットを前記転送先装置に転送するときに使用する電力を前記第２の送信電力に設定し、
前記送信部は、前記設定部が送信した電力を用いて送信処理を行う
ことを特徴とする付記１または２に記載の通信装置。
（付記４）
前記記憶部は、前記宛先装置に宛てたパケットの送信元の情報をさらに記憶し、
前記設定部は、前記転送先装置が前記宛先装置か前記第２の通信装置のいずれかと一致すると、前記宛先装置に至る経路の変更が終了したことを通知する終了通知パケットを生成し、
前記送信部は、前記終了通知パケットを、前記送信元に向けて送信する
ことを特徴とする付記１〜３のいずれか１項に記載の通信装置。
（付記５）
パケットを前記パケットの宛先である宛先装置に向けて送信する送信元装置と、
前記送信元装置と前記宛先装置を含むネットワークを形成する複数の通信装置
を含む通信システムであって、
第１の経路を用いた前記宛先装置への送信パケットの送信が失敗すると、前記送信元装置および前記複数の通信装置の各々は、
前記送信元装置が送信に使用している第１の送信電力よりも大きい第２の送信電力を用いて、前記送信元装置と前記宛先装置が通信するための第２の経路を生成し、
前記第１の送信電力で前記送信パケットが到達しない装置と、前記宛先装置の組み合わせを示す情報とともに、転送経路の変更要求を取得すると、前記宛先装置宛のパケットの転送先である転送先装置を前記第２の経路を用いて変更し、
前記転送先装置が前記組み合わせ中のいずれの装置とも一致しない場合、前記組み合わせを示す情報と前記変更要求を、前記転送先装置に送信する
ことを特徴とする通信システム。
（付記６）
前記組み合わせを示す情報と前記変更要求を取得した通信装置は、前記第２の経路が当該通信装置を経由しない場合、当該通信装置を回避して前記宛先装置に到達する経路の設定の要求と、前記組み合わせを示す情報を含む回避要求パケットを送信する
ことを特徴とする付記５に記載の通信システム。
（付記７）
前記第２の経路を用いて前記宛先装置宛のパケットの転送経路の変更を行った通信装置は、
前記転送先装置に宛てたパケットの転送処理に使用している送信電力の大きさである第３の送信電力よりも前記第２の送信電力が大きい場合、前記宛先装置に宛てたパケットを、前記第３の送信電力を用いて、前記転送先装置に転送し、
前記第２の送信電力が前記第３の送信電力以下の場合、前記宛先装置に宛てたパケットを、前記第２の送信電力を用いて、前記転送先装置に転送する
ことを特徴とする付記５または６に記載の通信システム。
（付記８）
前記第２の経路を用いて前記宛先装置宛のパケットの転送経路の変更を行った通信装置は、
前記送信元装置を特定する情報を記憶しており、
前記転送先装置が前記組み合わせ中の装置のいずれかと一致すると、前記宛先装置に至る経路の変更が終了したことを通知する終了通知パケットを、前記送信元装置に送信する
ことを特徴とする付記５〜７のいずれか１項に記載の通信システム。
（付記９）
複数の通信装置を含むネットワークで行われる通信方法であって、
送信パケットを送信する送信元装置から前記送信パケットの宛先装置への第１の経路を用いた送信が失敗すると、前記複数の通信装置の各々は、前記送信元装置が送信に使用している第１の送信電力よりも大きい第２の送信電力を用いて、前記送信元装置と前記宛先装置が通信するための第２の経路を生成し、
前記第１の経路を用いた送信の失敗を検出した通信装置である検出装置は、前記第１の送信電力で前記送信パケットが到達しない装置と、前記宛先装置の組み合わせを示す情報とともに、転送経路の変更要求をブロードキャストし、
前記検出装置に前記送信パケットを転送した通信装置は、前記宛先装置宛のパケットの転送先である転送先装置を前記第２の経路を用いて変更し、
前記転送先装置が前記組み合わせ中のいずれの装置とも一致しない場合、前記組み合わせを示す情報と前記変更要求を、前記転送先装置に送信する
ことを特徴とする通信方法。
（付記１０）
前記検出装置に前記送信パケットを転送した通信装置は、前記第２の経路が当該通信装置を経由しない場合、当該通信装置を回避して前記宛先装置に到達する経路の設定の要求と、前記組み合わせを示す情報を含む回避要求パケットをブロードキャストする
ことを特徴とする付記９に記載の通信方法。
（付記１１）
前記送信パケットを転送した通信装置から前記回避要求パケットを受信した通信装置は、前記第２の経路が当該通信装置を経由しない場合、当該通信装置を回避して前記宛先装置に到達する経路の設定の要求と、前記組み合わせを示す情報を含む他の回避要求パケットをブロードキャストする
ことを特徴とする付記１０に記載の通信方法。
（付記１２）
前記第２の経路を用いて前記宛先装置宛のパケットの転送経路の変更を行った通信装置は、
前記転送先装置に宛てたパケットの転送処理に使用している送信電力の大きさである第３の送信電力よりも前記第２の送信電力が大きい場合、前記宛先装置に宛てたパケットを、前記第３の送信電力を用いて、前記転送先装置に転送し、
前記第２の送信電力が前記第３の送信電力以下の場合、前記宛先装置に宛てたパケットを、前記第２の送信電力を用いて、前記転送先装置に転送する
ことを特徴とする付記９〜１１のいずれか１項に記載の通信方法。
（付記１３）
前記第２の経路を用いて前記宛先装置宛のパケットの転送経路の変更を行った通信装置は、
前記送信元装置を特定する情報を記憶しており、
前記転送先装置が前記組み合わせ中の装置のいずれかと一致すると、前記宛先装置に至る経路の変更が終了したことを通知する終了通知パケットを、前記送信元装置に送信する
ことを特徴とする付記９〜１２のいずれか１項に記載の通信方法。
（付記１４）
複数の通信装置を含むネットワーク中の第１の通信装置として動作する通信装置に、
送信処理で使用する電力の大きさとパケットの宛先に対応付けて、前記パケットの転送先を取得し、
送信に失敗した送信パケットの宛先装置と、前記送信パケットが到達しない第２の通信装置との組み合わせを示す情報とともに、転送経路の変更要求を取得すると、前記宛先装置宛のパケットの転送に使用した第１の送信電力より大きい第２の送信電力と前記宛先装置に対応付けられた転送先を、前記宛先装置宛てのパケットを転送する転送先装置に設定し、
前記転送先装置が前記宛先装置と前記第２の通信装置のいずれとも一致しない場合、前記組み合わせを示す情報と変更要求を、前記転送先装置に送信する
処理を行わせることを特徴とする通信プログラム。
【符号の説明】
【０１０５】
１０  通信装置
１１  受信部
１２  送信部
１３  送受信部
２０、５０  制御部
２１  振り分け部
２２  経路生成処理部
２３  経路設定部
２４  転送処理部
３０  記憶部
３１  ルーティングテーブル
４０  中継装置
５１  データ要求部
１００  プロセッサ
１０１  バス
１０３  ＰＨＹ
１０４  タイマＩＣ
１０６  ＤＲＡＭ
１０７  フラッシュメモリ
１０８  無線モジュール
【図１】
0006459665.tif 000002
【図２】
0006459665.tif 000003
【図３】
0006459665.tif 000004
【図４】
0006459665.tif 000005
【図５】
0006459665.tif 000006
【図６】
0006459665.tif 000007
【図７】
0006459665.tif 000008
【図８】
0006459665.tif 000009
【図９】
0006459665.tif 000010
【図１０】
0006459665.tif 000011
【図１１】
0006459665.tif 000012
【図１２】
0006459665.tif 000013
【図１３】
0006459665.tif 000014
【図１４】
0006459665.tif 000015
【図１５】
0006459665.tif 000016
【図１６】
0006459665.tif 000017
【図１７】
0006459665.tif 000018
【図１８】
0006459665.tif 000019
【図１９】
0006459665.tif 000020
【図２０】
0006459665.tif 000021