(57)【要約】  無線装置は、電源情報取得部と、評価値算出部と、経路選択部とを有する。電源情報取得部は、隣接の無線装置または自装置の電源が内部電源又は外部電源のいずれであるかを示す電源情報を取得する。評価値算出部は、電源情報取得部によって取得された電源情報が内部電源を示す場合に、隣接の無線装置と自装置との間の経路の評価値として第一の値を算出する。評価値算出部は、電源情報が外部電源を示す場合に、該評価値として第一の値よりも高品質であることを表す第二の値を算出する。経路選択部は、各隣接の無線装置から目的地に至る経路の評価値と評価値算出部にて算出された評価値との加算値のうち最も高品質であることを表す評価値に対応する隣接の無線装置を、目的地にパケットを送信する場合の転送先として選択する。
2013136527.tif 000002
【特許請求の範囲】
【請求項１】
アドホックネットワークを構成する無線装置における経路選択方法であって、
隣接の無線装置または前記無線装置の電源が内部電源又は外部電源のいずれであるかを示す電源情報を取得し、
取得された電源情報が内部電源を示す場合に、前記隣接の無線装置と前記無線装置との間の経路の評価値として第一の値を算出し、前記電源情報が外部電源を示す場合に、該評価値として前記第一の値よりも高品質であることを表す第二の値を算出し、
複数の前記隣接の無線装置からパケットを受信した場合に、該パケットに含まれる各前記隣接の無線装置から目的地に至る経路の評価値と前記算出された評価値との加算値のうち最も高品質であることを表す評価値に対応する前記隣接の無線装置を、前記目的地にパケットを送信する場合の転送先として選択する
ことを含むことを特徴とする経路選択方法。
【請求項２】
前記隣接の無線装置と前記無線装置との間の経路の評価値を算出する処理は、前記無線装置の前記電源情報が内部電源を示す場合に、該内部電源の残存電力を測定し、測定した残存電力の減少に応じて、固定値である前記第二の値と、前記隣接の無線装置と前記無線装置との間の経路の評価値として算出する前記第一の値との差を増大させることを特徴とする請求項１に記載の経路選択方法。
【請求項３】
アドホックネットワークを構成する無線装置であって、
隣接の無線装置または自装置の電源が内部電源又は外部電源のいずれであるかを示す電源情報を取得する電源情報取得部と、
前記電源情報取得部によって取得された電源情報が内部電源を示す場合に、前記隣接の無線装置と自装置との間の経路の評価値として第一の値を算出し、前記電源情報が外部電源を示す場合に、該評価値として前記第一の値よりも高品質であることを表す第二の値を算出する評価値算出部と、
複数の前記隣接の無線装置からパケットを受信した場合に、該パケットに含まれる各前記隣接の無線装置から目的地に至る経路の評価値と前記評価値算出部にて算出された評価値との加算値のうち最も高品質であることを表す評価値に対応する前記隣接の無線装置を、前記目的地にパケットを送信する場合の転送先として選択する経路選択部と
を備える無線装置。
【請求項４】
前記評価値算出部は、自装置の前記電源情報が内部電源を示す場合に、該内部電源の残存電力を測定し、測定した残存電力の減少に応じて、固定値である前記第二の値と、前記隣接の無線装置と自装置との間の経路の評価値として算出する前記第一の値との差を増大させることを特徴とする請求項３に記載の無線装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路選択方法及び無線装置に関する。
【背景技術】
【０００２】
近年、複数の無線装置が自律分散的に相互接続するアドホックネットワークの研究が進められている。以下では、無線装置を単にノードと表記する。アドホックネットワークでは、アクセスポイントは設置されず、各ノードが、隣接のノードから受信したパケットを通信経路情報に基づいて他のノードに中継することで、パケットを目的地に伝送する。すなわち、各ノードは、ある目的ノードに至る複数の通信経路の評価値を算出し、評価値がより良い通信経路に含まれる隣接のノードをパケットの転送先となる中継ノードとして選択し、パケットを転送する。通信経路の評価値は、例えば、複数種類の評価パラメータを組み合わせた評価式を用いて算出される。【０００３】
また、最近のアドホックネットワークでは、交流電源などの外部電源を駆動電源として用いたノードと、電池などの内部電源を駆動電源として用いたノードとが混在することが想定されている。この場合であっても、各ノードは、ノードの電源の種別に関係なくパケットの転送先となる中継ノードを選択する。このため、交流電源を用いたノードと、電池を用いたノードとがパケットの転送先として均等に選択される。ただし、電池を用いたノードは、電池に蓄積された電力が使い尽くされると、使用不能となる。したがって、電池を用いたノードの消費電力をできるだけ抑えることが望まれる。【０００４】
電池を用いたノードの消費電力を抑える技術として、各ノードが他ノードの電源の種別を示す情報を取得し、取得した情報が交流電源を示す場合に他ノードをパケットの転送先として選択し、電池を示す場合に他ノードをパケットの転送先から除外する技術がある。また、各ノードが他ノードの電池の残存電力を測定し、測定した残存電力を基に他ノードをパケットの転送先として選択するか否かを判定する技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２８２２６８号公報
【特許文献２】特開２００５−１６００６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術では、電源として電池を用いたノードの消費電力を抑えることができるものの、必ずしも適切な通信経路を選択することができない恐れがあるという問題があった。【０００７】
すなわち、他ノードの電源の種別が電池を示す場合に他ノードをパケットの転送先から除外する技術では、電源として交流電源を用いたノードのみがパケットの転送先として選択される。このため、交流電源を用いたノードどうしが互いに離れた位置に設置されている場合には通信経路が遠回りとなり、パケットの到達率が低下する恐れがある。【０００８】
また、他ノードの残存電力を基に他ノードをパケットの転送先として選択するか否かを判定する技術では、残存電力が最小となった他ノードがパケットの転送先から除外され、結果として、交流電源を用いたノードのみがパケットの転送先として選択される。このため、交流電源を用いたノードどうしが互いに離れた位置に設置されている場合には通信経路が遠回りとなり、パケットの到達率が低下する恐れがある。【０００９】
開示の技術は、上記に鑑みてなされたものであって、電源として電池を用いたノードの消費電力を抑えつつ、適切な通信経路を選択することができる経路選択方法及び無線装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する経路選択方法は、一つの態様において、アドホックネットワークを構成する無線装置における経路選択方法である。また、経路選択方法は、隣接の無線装置または前記無線装置の電源が内部電源又は外部電源のいずれであるかを示す電源情報を取得する。また、経路選択方法は、取得された電源情報が内部電源を示す場合に、前記隣接の無線装置と前記無線装置との間の経路の評価値として第一の値を算出する。また、経路選択方法は、前記電源情報が外部電源を示す場合に、該評価値として前記第一の値よりも高品質であることを表す第二の値を算出する。また、経路選択方法は、各前記隣接の無線装置から目的地に至る経路の評価値と前記算出された評価値との加算値のうち最も高品質であることを表す評価値に対応する前記隣接の無線装置を、前記目的地にパケットを送信する場合の転送先として選択する。
【発明の効果】
【００１１】
本願の開示する経路選択方法の一つの態様によれば、電源として電池を用いたノードの消費電力を抑えつつ、適切な通信経路を選択することができるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施例１に係るアドホックネットワークの構成を示す図である。
【図２】図２は、実施例１のハローパケットのデータ構造の一例を示す図である。
【図３】図３は、本実施例１に係るノードの構成を示す機能ブロック図である。
【図４】図４は、実施例１のワークテーブルのデータ構造の一例を示す図である。
【図５】図５は、実施例１の通信経路テーブルのデータ構造の一例を示す図である。
【図６】図６は、実施例１における評価値算出部が保持する換算テーブルのデータ構造の一例を示す図である。
【図７】図７は、本実施例１に係るノードがハローパケットを受信してからデータパケットの転送先を選択するまでの処理の流れの一例を説明するための図である。
【図８】図８は、実施例１に係るノードから目的地のノードに至る無線リンクの評価値を算出して通信経路テーブルに格納する処理の処理手順を示すフローチャートである。
【図９】図９は、データパケットを転送する処理の処理手順を示すフローチャートである。
【図１０】図１０は、ハローパケットを送信する処理の処理手順を示すフローチャートである。
【図１１】図１１は、データパケットを送信する処理の処理手順を示すフローチャートである。
【図１２】図１２は、本実施例１に係る検証方法の検証条件を示す図である。
【図１３】図１３は、他の評価パラメータの重み係数を示す図である。
【図１４】図１４は、シミュレーションプログラムに適用するアドホックネットワークの構成を示す図である。
【図１５】図１５は、アドホックネットワークに含まれる電池ノードの中継パケット数の平均値を検証条件ごとに比較した結果を示す図である。
【図１６】図１６は、アドホックネットワークに含まれる交流電源ノードの中継パケット数の平均値を検証条件ごとに比較した結果を示す図である。
【図１７】図１７は、総パケット数に占める、交流電源ノードの中継パケット数と電池ノードの中継パケット数との比率を検証条件ごとに比較した結果を示す図である。
【図１８】図１８は、Ｄｒｏｐ率を検証条件ごとに比較した結果を示す図である。
【図１９】図１９は、実施例２における評価値算出部が保持する換算テーブルのデータ構造の一例を示す図（その１）である。
【図２０】図２０は、実施例２における評価値算出部が保持する換算テーブルのデータ構造の一例を示す図（その２）である。
【図２１】図２１は、実施例２に係るノードから目的地のノードに至る無線リンクの評価値を算出して通信経路テーブルに格納する処理の処理手順を示すフローチャートである。
【図２２】図２２は、アドホックネットワークに含まれる電池切れノードの数を検証条件ごとに比較した結果を示す図である。
【図２３】図２３は、実施例１、２にかかるノードを構成するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する経路選択方法及び無線装置の実施例について、図面を参照しながら詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
本実施例１のアドホックネットワークの構成について説明する。図１は、本実施例１に係るアドホックネットワークの構成を示す図である。図１に示すように、このアドホックネットワークは、ＧＷ（Gate  Way）１及びノード１００ａ〜１００ｅを有する。このノード１００ａ〜１００ｅは、無線装置の一例である。ここでは図示を省略するが、アドホックネットワークは、この他にもノードを有していても良い。【００１５】
ＧＷ１、各ノード１００ａ〜１００ｅは、隣接のノードと無線リンクにより接続する。無線リンクは経路の一例である。例えば、ＧＷ１は、ノード１００ｃ、１００ｄ、１００ｅに接続される。ノード１００ａは、ノード１００ｂ、１００ｃに接続される。ノード１００ｂは、ノード１００ａ、１００ｄ、１００ｅに接続される。ノード１００ｃは、ノード１００ａ、１００ｅ、ＧＷ１に接続される。ノード１００ｄは、ノード１００ｂ、ＧＷ１に接続される。ノード１００ｅは、ノード１００ｂ、１００ｃ、ＧＷ１に接続される。【００１６】
また、図１に示すアドホックネットワークでは、外部電源を駆動電源として用いたノードと、内部電源を駆動電源として用いたノードとが混在する。例えば、ノード１００ａ、１００ｂ、１００ｅは、外部電源の一例である交流電源を駆動電源として用いたノード（以下「交流電源ノード」という）である。ノード１００ｃ、１００ｄは、内部電源の一例である電池を駆動電源として用いたノード（以下「電池ノード」という）である。なお、以下では、ノード１００ａ〜１００ｅを特に区別しない場合にノード１００ａ〜１００ｅをまとめてノード１００と表記する。【００１７】
ノード１００は、ハローパケット（Hello  Packet）を送受信することで、通信経路を構築する。ノード１００は、通信経路を構築する場合に、ノード１００または隣接のノード１００の電源の種別を示すパラメータを含む複数種類の評価パラメータを用いて通信経路の評価値を算出する。そして、ノード１００は、転送対象のデータパケットを受信した場合や、新規のデータパケットを送信する場合に、最も高品質であることを表す評価値に対応する通信経路を選択し、選択した通信経路に対してデータパケットの転送を行う。【００１８】
例えば、ノード１００は、隣接のノード１００又は自ノード１００の電源の種別が電池又は交流電源のいずれであるかに応じて、隣接のノード１００との間の無線リンクの評価値として異なる値を算出する。具体的に、ノード１００は、隣接のノード１００又は自ノード１００の電源の種別が交流電源である場合に、電池に対応する値よりも高品質であることを示す値を無線リンクの評価値として算出する。そして、ノード１００は、隣接のノード１００から目的地のノード１００に至る無線リンクの評価値と、算出した無線リンクの評価値との加算値が最も高品質となる経路を、目的地に送信するデータパケットの転送先として選択する。これにより、電池ノードを含む通信経路の選択機会を減少させつつ、交流電源ノードを含む通信経路を優先的に選択することができる。【００１９】
なお、本実施例１では、一例として、無線リンクの品質が高いほど、評価値の値は小さくなるものとする。また、無線リンクの品質が高いほど小さくなる評価値は、無線リンクの品質を距離の概念で置き換えた評価値に相当するものであり、「経路品質距離」とも呼ばれる。【００２０】
次に、ノード１００が送受信するハローパケットのデータ構造について説明する。図２は、実施例１のハローパケットのデータ構造の一例を示す図である。図２に示すように、このハローパケットは、送信元、電源情報、目的地、ΣＤ、ホップ数を有する。このうち、「送信元」には、ハローパケットの送信元となるノードのアドレスが格納される。「電源情報」には、ハローパケットの「送信元」のノードの電源が電池または交流電源のいずれかであるかを示す電源情報が格納される。「目的地」には、通信経路の目的地のノードのアドレスが格納される。「ΣＤ」には、ハローパケットの「目的地」のノードから「送信元」のノードまでの無線リンクの評価値の合計値が格納される。「ホップ数」には、ハローパケットの「送信元」のノードから「目的地」のノードまでのホップ数が格納される。【００２１】
次に、図１に示したノード１００の構成について説明する。図３は、本実施例１に係るノードの構成を示す機能ブロック図である。図３に示すように、本実施例１に係るノード１００は、無線通信部１１０、入力部１２０、表示部１３０、記憶部１４０及び制御部１５０を有する。【００２２】
無線通信部１１０は、隣接のノードとの間で無線によりデータ通信する装置である。例えば、無線通信部１１０は、無線リンクモジュールなどに対応する。制御部１５０は、無線通信部１１０を介して、隣接のノードとの間でハローパケットやデータパケット等を送受信する。【００２３】
入力部１２０は、各種の情報をノード１００に入力するための入力装置である。例えば、入力部１２０は、キーボード、マウス及びタッチパネル等に対応する。表示部１３０は、各種の情報を表示する表示装置である。例えば、表示部１３０は、ディスプレイ及びタッチパネル等に対応する。【００２４】
記憶部１４０は、例えば、ワークテーブル１４１及び通信経路テーブル１４２を記憶する。この記憶部１４０は、例えば、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。【００２５】
ワークテーブル１４１は、ハローパケットの情報を一時的に格納するテーブルである。図４は、実施例１のワークテーブルのデータ構造の一例を示す図である。図４に示すように、このワークテーブル１４１は、目的地、転送先、ΣＤ、Ｄ、ホップ数を有する。このうち、目的地、転送先は、図２に示したハローパケットの目的地、送信元をそれぞれ格納する。ホップ数は、ハローパケットのホップ数をインクリメントした値を格納する。Ｄは、転送先のノードと自ノード１００との間の無線リンクの評価値を格納する。ΣＤは、ハローパケットのΣＤの値とワークテーブル１４１のＤの値との加算値を格納する。【００２６】
通信経路テーブル１４２は、通信経路の情報を記憶するテーブルである。図５は、実施例１の通信経路テーブルのデータ構造の一例を示す図である。図５に示すように、この通信経路テーブル１４２は、目的地、転送先、ΣＤ、ホップ数、更新時刻を対応づけて記憶する。【００２７】
このうち、目的地は、パケットの目的地を示す。転送先は、目的地にパケットを転送する場合の転送先を示す。ΣＤは、自ノード１００から目的地のノードまでの無線リンクの評価値を合計した値となる。ホップ数は、自ノード１００から目的地のノードに至るホップ数を示す。更新時刻は、通信経路テーブル１４２のレコードの最新の更新時刻を示す。【００２８】
図５に示す通信経路テーブル１４２は、目的地を同一とする通信経路が複数存在することを示している。例えば、図５では、目的地「ＧＷ１」に対する通信経路が２つ存在する。具体的には、転送先を「ノード１００ｂ」とする通信経路と、転送先を「ノード１００ｃ」とする通信経路が存在する。なお、図５では説明の便宜上、目的地や転送先にノードの名称を示したが、ノードのアドレスを登録してもよい。【００２９】
制御部１５０は、電源情報取得部１５１、評価値算出部１５２、経路選択部１５３、ハローパケット生成部１５４及びデータパケット生成部１５５を有する。例えば、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部１５０は、例えば、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。【００３０】
電源情報取得部１５１は、隣接のノードとの間におけるハローパケットの送受信時において、隣接のノード又は自ノード１００の電源が電池又は交流電源のいずれであるかを示す電源情報を取得し、取得した電源情報を評価値算出部１５２に出力する。【００３１】
電源情報取得部１５１が、電源情報を取得する処理の一例について説明する。電源情報取得部１５１は、ハローパケットを受信した場合に、ハローパケットに含まれる電源情報を抽出して、ハローパケットの送信元となる隣接のノードの電源情報を取得する。さらに、電源情報取得部１５１は、記憶部１４０の所定領域に保持された自ノード１００の電源情報を取得する。電源情報取得部１５１は、取得した隣接のノードの電源情報及び自ノード１００の電源情報を評価値算出部１５２に出力する。【００３２】
評価値算出部１５２は、隣接のノードとの間におけるハローパケットの送受信時において、隣接のノードと自ノード１００との間の無線リンクの評価値Ｄを算出する。評価値算出部１５２によって算出される無線リンクの評価値Ｄは、隣接のノード又は自ノード１００の電源の種別に応じて異なる値となる。例えば、評価値算出部１５２は、隣接のノード又は自ノード１００の電源が電池である場合には、無線リンクの評価値として「２０」を算出する。その一方、評価値算出部１５２は、隣接のノード又は自ノード１００の電源が交流電源である場合には、無線リンクの評価値として「２０」よりも高品質であることを表す「１」を算出する。【００３３】
評価値算出部１５２が、無線リンクの評価値を算出する処理の一例について説明する。まず、評価値算出部１５２は、隣接のノードからハローパケットを受信した場合に、ハローパケットの受信品質を検出する。本実施例では、評価値算出部１５２は、受信品質の一例として、ハローパケットの電波強度の平均値、ハローパケットの電波強度の分散値、ハローパケットの受信周期の平均値及びハローパケットの受信周期の分散値を検出する。評価値算出部１５２は、電源情報取得部１５１から隣接ノードの電源情報及び自ノード１００の電源情報を受け付ける。評価値算出部１５２は、評価パラメータとしての各受信品質及び電源情報と、評価パラメータの換算値となる評価値とを対応付けた換算テーブルを保持する。【００３４】
図６は、実施例１における評価値算出部１５２が保持する換算テーブルのデータ構造の一例を示す図である。図６に示す換算テーブルは、評価パラメータと、評価値とを対応付けて記憶する。このうち、評価パラメータは、電波強度平均値、電波強度分散値、受信周期平均値、受信周期分散値及び電源情報という項目を含む。電波強度平均値は、ハローパケットの電波強度の平均値を示す。電波強度分散値は、ハローパケットの電波強度の分散値を示す。受信周期平均値は、ハローパケットの受信周期の平均値を示す。受信周期分散値は、ハローパケットの受信周期の分散値を示す。評価パラメータは、さらに、電源情報という項目を含む。電源情報は、ノードの電源が電池または交流電源のいずれであるかを示す。また、評価値は、各評価パラメータの換算値を示す。【００３５】
評価値は、各受信品質が高いほど、小さな値となる。例えば、図６では、電波強度平均値「ｘ」が大きいほど、評価値が小さな値となる。例えば、電波強度分散値「ｙ」が小さいほど、評価値が小さな値となる。例えば、受信周期平均値「ｚ」が小さいほど、評価値が小さな値となる。受信周期分散値「ｗ」が小さいほど、評価値が小さな値となる。また、評価値は、電源情報が交流電源を示す場合には、電池に対応する値よりも小さな値となる。例えば、図６では、電源情報「ｐｓ」が「交流電源」である場合の評価値「１」は、「電池」に対応する評価値「２０」よりも小さな値となる。【００３６】
続いて、評価値算出部１５２は、換算テーブルと、検出した受信品質及び受け付けた電源情報とを比較して、評価値を判定する。例えば、図６では、評価値算出部１５２は、受信品質である電波強度平均値「ｘ」が「４５」である場合に、評価値「２」を判定する。また、例えば、評価値算出部１５２は、電源情報「ｐｓ」が「電池」である場合に、評価値「２０」を判定する。【００３７】
続いて、評価値算出部１５２は、評価パラメータである各受信品質及び電源情報を重み付けしつつ加算する評価式に、判定した評価値を適用することで、隣接のノードと自ノード１００との間の無線リンクの評価値Ｄを算出する。例えば、評価値算出部１５２は、以下の式（１）で示す評価式に、判定した評価値を適用することで、隣接のノードと自ノード１００との間の無線リンクの評価値Ｄを算出する。式（１）において、ａ、ｂ、ｃ、ｄ及びｄは、重み係数である。Ｐｘ、Ｐｙ、Ｐｚ、Ｐｗ及びＰｐｓは、それぞれ、電波強度平均値、電波強度分散値、受信周期平均値、受信周期分散値及び電波情報を示す評価パラメータである。評価値算出部１５２は、算出したＤを、ワークテーブル１４１に格納する。【００３８】
Ｄ＝ａ・Ｐｘ＋ｂ・Ｐｙ＋ｃ・Ｐｚ＋ｄ・Ｐｗ＋ｅ・Ｐｐｓ  ・・・  （１）【００３９】
なお、受信したハローパケットに隣接のノードと目的地としての自ノード１００との間の無線リンクの評価値Ｄａが含まれている場合には、評価値算出部１５２は、以下の式（２）を用いて、無線リンクの評価値Ｄを算出しても良い。式（２）において、Ｄｂは、式（１）のＤである。式（２）を用いて算出されるＤは、無線リンクの往復の評価値である。【００４０】
Ｄ＝√（Ｄａ×Ｄｂ）  ・・・  （２）【００４１】
また、評価値算出部１５２は、ハローパケットを受信した場合には、ハローパケットに含まれる情報を、ワークテーブル１４１に格納し、ワークテーブル１４１のレコードに基づいて、通信経路テーブル１４２を更新する。【００４２】
評価値算出部１５２が、通信経路テーブル１４２を更新する処理の一例について説明する。具体的に、評価値算出部１５２は、ハローパケットを受信し、ハローパケットに含まれる目的地を、ワークテーブル１４１の目的地に設定する。評価値算出部１５２は、ワークテーブル１４１の転送先に、ハローパケットの送信元のノードを設定する。評価値算出部１５２は、ハローパケットのΣＤの値に、ワークテーブル１４１のＤの値を加算した値を、ワークテーブル１４１のΣＤに格納する。ワークテーブル１４１に格納されたΣＤは、自ノード１００から目的地のノードに至る無線リンクの評価値に対応する。評価値算出部１５２は、ワークテーブル１４１のホップ数に、ハローパケットのホップ数をインクリメントした値を格納する。なお、上記処理により、評価値算出部１５２は、ワークテーブル１４１のＤを設定済みとする。【００４３】
続いて、評価値算出部１５２は、ワークテーブル１４１に基づいて、通信経路テーブル１４２を更新する。具体的に、評価値算出部１５２は、ワークテーブル１４１に含まれる目的地、転送先、ΣＤ、ホップ数を、通信経路テーブル１４２に設定し、各レコードの更新時刻に現時刻を設定する。【００４４】
経路選択部１５３は、通信経路テーブル１４２を基にして、目的地にパケットを送信する場合のパケットの経路を選択する処理部である。【００４５】
経路選択部１５３がパケットの経路を選択する処理について説明する。まず、経路選択部１５３がデータパケットを送信するための経路を選択する処理について説明する。経路選択部１５３は、後述するデータパケット生成部１５５からデータパケットを受け付ける。経路選択部１５３は、通信経路テーブル１４２を参照し、同一の目的地毎に、ΣＤを比較する。経路選択部１５３は、比較の結果、通信経路テーブル１４２のΣＤの値が最も小さい転送先のノードを選択し、選択した転送先のノードにデータパケットを送信する。図５に示す例では、１段目及び２段目の目的地が同一であり、２段目のΣＤの値よりも、１段目のΣＤの値の方が小さい。このため、経路選択部１５３は、ΣＤの値が最も小さい１段目の転送先であるノード１００ｂを選択し、選択したノード１００ｂにデータパケットを送信する。言い換えると、経路選択部１５３は、１段目よりもΣＤの値が大きい２段目の転送先であるノード１００ｃを選択しない。ノード１００ｂは、交流電源ノードであり、ノード１００ｃは、電池ノードである。したがって、本実施例のノード１００は、データパケットの送信先を電池ノードとする経路の選択機会を減少させるとともに、データパケットの送信先として交流電源ノードを優先的に選択することができる。【００４６】
次いで、経路選択部１５３がデータパケットを転送するための経路を選択する処理について説明する。経路選択部１５３は、転送対象となるデータパケットを受信した場合には、通信経路テーブル１４２を参照し、同一の目的地毎に、ΣＤを比較する。経路選択部１５３は、比較の結果、通信経路テーブル１４２のΣＤの値が最も小さい転送先のノードを選択し、選択した転送先のノードにデータパケットを転送する。図５に示す例では、１段目及び２段目の目的地が同一であり、２段目のΣＤの値よりも、１段目のΣＤの値の方が小さい。このため、経路選択部１５３は、ΣＤの値が最も小さい１段目の転送先であるノード１００ｂを選択し、選択したノード１００ｂにデータパケットを転送する。言い換えると、経路選択部１５３は、１段目よりもΣＤの値が大きい２段目の転送先であるノード１００ｃを選択しない。ノード１００ｂは、交流電源ノードであり、ノード１００ｃは、電池ノードである。したがって、本実施例のノード１００は、データパケットの転送先を電池ノードとする経路の選択機会を減少させるとともに、データパケットの転送先として交流電源ノードを優先的に選択することができる。【００４７】
ハローパケット生成部１５４は、通信経路テーブル１４２に基づいて、ハローパケットを生成し、生成したハローパケットをブロードキャストする処理部である。例えば、ハローパケット生成部１５４は、クロックイベントが発生する度に、ハローパケットを生成し、生成したハローパケットをブロードキャストする。【００４８】
ハローパケット生成部１５４がハローパケットを生成する処理の一例について説明する。ハローパケット生成部１５４は、通信経路テーブル１４２を参照し、目的地毎にレコードをグループ分けする。ハローパケット生成部１５４は、ハローパケットの目的地に、グループに共通の目的地を設定し、ハローパケットの送信元に自ノード１００を設定する。ハローパケット生成部１５４は、ハローパケットのホップ数に、通信経路テーブル１４２のホップ数を設定し、ハローパケットの電源情報に、自ノード１００の電源情報を設定する。そして、ハローパケット生成部１５４は、ハローパケットのΣＤに、グループに含まれるΣＤのうち最小のΣＤを設定することで、ハローパケットを生成する。【００４９】
データパケット生成部１５５は、データパケットを生成し、生成したデータパケットを経路選択部１５３に出力する処理部である。例えば、データパケット生成部１５５は、データパケットの送信指示を入力部１２０から受け付けた場合に、データパケットを生成する。なお、データパケット生成部１５５は、クロックイベントが発生する度に、データパケットを生成しても良い。【００５０】
次に、本実施例１に係るノード１００がハローパケットを受信してからデータパケットの転送先を選択するまでの処理の流れの一例を説明する。図７は、本実施例１に係るノード１００がハローパケットを受信してからデータパケットの転送先を選択するまでの処理の流れの一例を説明するための図である。【００５１】
図７に示すように、ノード１００は、隣接ノードからハローパケット１６１を受信した場合に、ハローパケット１６１に含まれる電源情報を抽出することで、ハローパケット１６１の送信元となる隣接ノードの電源情報１６２を取得する。ノード１００は、記憶部１４０に保持された自ノード１００の電源情報１６３を取得する。さらに、ノード１００は、受信したハローパケット１６１の受信品質１６４を検出する。【００５２】
続いて、ノード１００は、評価パラメータとしての受信品質及び電源情報と、評価パラメータの換算値となる評価値とを対応付けた換算テーブルと、隣接ノードの電源情報１６２、自ノード１００の電源情報１６３及び受信品質１６４とを比較する。自ノード１００は、比較の結果、評価値を判定し、各評価パラメータを重み付けして加算する評価式に、判定した評価値を適用することで、隣接ノードと自ノード１００との間の無線リンクの評価値１６５を算出する。なお、隣接ノードと目的地としての自ノード１００との間の無線リンクの評価値がハローパケット１６１に含まれている場合には、ノード１００は、無線リンクの往復の評価値１６５を算出してもよい。【００５３】
続いて、ノード１００は、ハローパケット１６１に含まれる隣接ノードから目的地のノードに至る無線リンクの評価値１６６に、算出した評価値１６５を加算して、自ノード１００から目的地のノードに至る無線リンクの評価値１６７を算出する。自ノード１００は、自ノード１００から目的地のノードに至る無線リンクの評価値１６７を通信経路テーブル１６８に設定し、通信経路テーブル１６８を更新する。なお、通信経路テーブル１６８は、図３に示した通信経路テーブル１４２に対応する。【００５４】
続いて、ノード１００は、転送対象となるデータパケット１６９を受信した場合に、通信経路テーブル１４２を参照し、同一の目的地毎に、ΣＤを比較する。ノード１００は、比較の結果、ΣＤの値が最も小さい転送先のノードを選択し、選択した転送先のノードにデータパケット１６９を転送する。【００５５】
次に、本実施例１に係るノード１００の処理手順について説明する。図８は、実施例１に係るノードから目的地のノードに至る無線リンクの評価値を算出して通信経路テーブルに格納する処理の処理手順を示すフローチャートである。例えば、図８に示す処理は、ハローパケットを受信したことを契機に実行される。【００５６】
図８に示すように、ノード１００は、ハローパケットを受信していない場合には（ステップＳ１０１；Ｎｏ）、処理を終了する。一方、ノード１００は、ハローパケットを受信した場合には（ステップＳ１０１；Ｙｅｓ）、ハローパケットの送信元となる隣接ノードの電源情報と、記憶部１４０に保持された自ノード１００の電源情報を取得する（ステップＳ１０２）。さらに、ノード１００は、受信したハローパケットの受信品質を検出する。【００５７】
ノード１００は、取得した電源情報と検出したハローパケットの受信品質とを基にして、隣接ノードと自ノード１００との間の無線リンクの評価値Ｄを算出する（ステップＳ１０３）。ノード１００は、ワークテーブル１４１にレコードを新規作成し（ステップＳ１０４）、ワークテーブル１４１の「目的地」に、ハローパケットに含まれる「目的地」を設定する（ステップＳ１０５）。ノード１００は、ワークテーブル１４１の「転送先」に、ハローパケットの「送信元」のノードのアドレスを設定する（ステップＳ１０６）。【００５８】
ノード１００は、ワークテーブル１４１の「Ｄ」に、ステップＳ１０３にて算出した「Ｄ」を格納する（ステップＳ１０７）。ノード１００は、ハローパケットに含まれる「ΣＤ」とワークテーブル１４１の「Ｄ」とを加算した値を、ワークテーブル１４１の「ΣＤ」として格納する（ステップＳ１０８）。【００５９】
ノード１００は、通信経路テーブル１４２に、同一の「目的地」及び「転送先」のレコードが存在しない場合には（ステップＳ１０９；Ｎｏ）、ワークテーブル１４１に作成したレコードを、通信経路テーブル１４２に新規追加する（ステップＳ１１０）。そして、ノード１００は、処理をステップＳ１１２に移行する。【００６０】
一方、ノード１００は、通信経路テーブル１４２に、同一の「目的地」及び「転送先」のレコードが存在する場合には（ステップＳ１０９；Ｙｅｓ）、上書きする（ステップＳ１１１）。ノード１００は、受信したパケットに未処理がある場合には（ステップＳ１１２；Ｙｅｓ）、未処理の情報を取得し（ステップＳ１１３）、処理をステップＳ１０４に戻す。【００６１】
一方、ノード１００は、受信したパケットに未処理がない場合には（ステップＳ１１２；Ｎｏ）、処理を終了する。【００６２】
次に、本実施例１に係るノード１００がデータパケットを転送する処理について説明する。図９は、データパケットを転送する処理の処理手順を示すフローチャートである。例えば、図９に示す処理は、データパケットを受信したことを契機にして実行される。【００６３】
図９に示すように、ノード１００は、データパケットを受信していない場合には（ステップＳ２０１；Ｎｏ）、処理を終了する。一方、ノード１００は、データパケットを受信した場合には（ステップＳ２０１；Ｙｅｓ）、データパケットの目的地が自アドレスであるか否かを判定する（ステップＳ２０２）。ノード１００は、データパケットの目的地が自アドレスである場合には（ステップＳ２０２；Ｙｅｓ）、データパケットを基に所定のデータ処理を実行する（ステップＳ２０３）。【００６４】
一方、ノード１００は、データパケットの目的地が自アドレスでない場合には（ステップＳ２０２；Ｎｏ）、通信経路テーブル１４２を検索し、同一の「目的地」毎にグループ分けする（ステップＳ２０４）。ノード１００は、グループ内の「ΣＤ」を比較して、「ΣＤ」が最も小さい「転送先」を選択し（ステップＳ２０５）、選択した「転送先」をデータパケットのヘッダに追加する（ステップＳ２０６）。そして、ノード１００は、選択した「転送先」のノードにデータパケットを転送する（ステップＳ２０７）。【００６５】
次に、本実施例１に係るノード１００がハローパケットを送信する処理について説明する。図１０は、ハローパケットを送信する処理について説明する。図１０は、ハローパケットを送信する処理の処理手順を示すフローチャートである。例えば、図１０に示す処理は、クロックイベントが発生したことを契機にして実行される。【００６６】
図１０に示すように、ノード１００は、クロックイベントがない場合には（ステップＳ３０１；Ｎｏ）、処理をステップＳ３０１に戻す。一方、ノード１００は、クロックイベントがある場合には（ステップＳ３０１；Ｙｅｓ）、通信経路テーブル１４２を検索し、同一の「目的地」毎にグループ分けする（ステップＳ３０２）。ノード１００は、ハローパケットの「目的地」に、グループに共通の目的地を設定する（ステップＳ３０３）。【００６７】
ノード１００は、ハローパケットの「送信元」に、自アドレスを設定する（ステップＳ３０４）。ノード１００は、ハローパケットの「ホップ数」に、通信経路テーブル１４２の「ホップ数」を設定し（ステップＳ３０５）、ハローパケットの「電源情報」に自ノード１００の電源情報を設定する（ステップＳ３０６）。ノード１００は、ハローパケットの「ΣＤ」に、グループ内の最小の「ΣＤ」を設定する（ステップＳ３０７）。そして、ノード１００は、ハローパケットを送信する（ステップＳ３０８）。【００６８】
次に、本実施例１に係るノード１００がデータパケットを送信する処理について説明する。図１１は、データパケットを送信する処理の処理手順を示すフローチャートである。例えば、図１１に示す処理は、データパケットの送信指示を受け付けたことを契機にして実行される。【００６９】
図１１に示すように、ノード１００は、データパケットの送信指示を受け付けていない場合には（ステップＳ４０１；Ｎｏ）、処理をステップＳ４０１に戻す。一方、ノード１００は、データパケットの送信指示を受け付けた場合には（ステップＳ４０１；Ｙｅｓ）、データパケットを生成する（ステップＳ４０２）。ノード１００は、通信経路テーブル１４２を検索し、同一の「目的地」毎にグループ分けする（ステップＳ４０３）。【００７０】
ノード１００は、グループ内の「ΣＤ」を比較して、「ΣＤ」が最も小さい「転送先」を選択する（ステップＳ４０４）。ノード１００は、選択した「転送先」をデータパケットのヘッダに追加する（ステップＳ４０５）。そして、ノード１００は、データパケットを送信する（ステップＳ４０６）。【００７１】
次に、本実施例１に係るアドホックネットワークの効果について説明する。アドホックネットワークに含まれるノード１００は、隣接ノード又は自ノード１００の電源の種別に応じて、隣接ノードとの間の無線リンクの評価値として異なる値を算出する。すなわち、ノード１００は、隣接ノード又は自ノード１００の電源の種別が交流電源である場合には、電池に対応する値よりも高品質であることを示す値を無線リンクの評価値として算出する。そして、自ノード１００は、自ノード１００から目的地のノードに到る無線リンクの評価値の加算値が最も高品質となる経路を、目的地に送信するパケットの転送先として選択する。このため、ノード１００は、電池ノードを含む通信経路の選択の機会を減少させつつ、交流電源ノードを含む通信経路を優先的に選択することができる。結果として、ノード１００は、電池ノードの消費電力を抑えつつ、適切な通信経路を選択することができる。例えば、ノード１００は、交流電源ノードどうしが互いに離れた位置に設置されている場合には、交流電源ノードに代えて電池ノードを含む通信経路を選択することで、遠回りとならず、かつ、パケットの到達率を維持した経路を選択することができる。【００７２】
次に、本実施例１に係るアドホックネットワークの効果の検証方法と、その検証結果について説明する。本検証方法では、アドホックネットワークにおける電池ノードの電池寿命と、パケットの到達率とを既存のシミュレーションプログラムを用いて検証した。電池ノードの電池寿命の検証では、アドホックネットワークの中間ノードとして交流電源ノード及び電池ノードそれぞれが中継したパケット数（以下「中継パケット数」）の平均値を、後述の検証条件ごとに比較する。なお、中継パケット数の平均値は、総パケット数を交流電源ノードの数又は電池ノードの数で除算した値である。また、パケットの到達率の検証では、全パケットに対する、目的地に到達しなかった未到達パケットの比率であるＤｒｏｐ率を、後述の検証条件ごとに比較する。【００７３】
次いで、本実施例１に係る検証方法の検証条件について説明する。図１２は、本実施例１に係る検証方法の検証条件を示す図である。本実施例１に係る検証方法では、上述の式（１）の評価式をシミュレーションプログラムに適用した。図１２に示すように、検証条件「Ａ」は、式（１）で示す評価式において、電源情報に対応する評価パラメータ「Ｐｐｓ」を削除するという条件である。すなわち、検証条件「Ａ」では、評価パラメータ「Ｐｐｓ」の重み係数「ｅ」に「０」を設定する。また、検証条件「Ｂ」は、式（１）で示す評価式において、評価パラメータ「Ｐｐｓ」の重み係数「ｅ」に、相対的に小さい値を設定するという条件である。すなわち、検証条件「Ｂ」では、評価パラメータ「Ｐｐｓ」の重み係数「ｅ」に「１０」を設定する。また、検証条件「Ｃ」は、式（１）で示す評価式において、評価パラメータ「Ｐｐｓ」の重み係数「ｅ」に、検証条件「Ｂ」の値よりも大きい値を設定するという条件である。すなわち、検証条件「Ｃ」では、評価パラメータ「Ｐｐｓ」の重み係数「ｅ」に「１００」を設定する。また、検証条件「Ｄ」は、式（１）で示す評価式において、評価パラメータ「Ｐｐｓ」の重み係数「ｅ」に、シミュレーションプログラムにおける最大値を設定するという条件である。すなわち、検証条件「Ｄ」では、評価パラメータ「Ｐｐｓ」の重み係数「ｅ」に最大値「６５５３５」を設定する。なお、検証条件「Ｄ」は、電池ノードをパケットの転送先から除外する従来技術に対応するものである。なお、本検証方法では、評価パラメータ「Ｐｐｓ」以外の他の評価パラメータの重み係数として、図１３に示す値を用いた。図１３は、他の評価パラメータの重み係数を示す図である。また、本検証方法では、各評価パラメータと評価値とを対応付けた換算テーブルとして、図６に示した換算テーブルを用いた。【００７４】
次いで、本実施例１に係る検証方法のシミュレーションプログラムに適用するアドホックネットワークの構成について説明する。図１４は、シミュレーションプログラムに適用するアドホックネットワークの構成を示す図である。図１４に示すアドホックネットワークは、１台のゲートウェイ（ＧＷ）と、２５台の交流電源ノードと、８１台の電池ノードとを含む。【００７５】
次いで、電池ノードの電池寿命の検証結果について説明する。図１５は、アドホックネットワークに含まれる電池ノードの中継パケット数の平均値を検証条件ごとに比較した結果を示す図である。図１６は、アドホックネットワークに含まれる交流電源ノードの中継パケット数の平均値を検証条件ごとに比較した結果を示す図である。図１７は、総パケット数に占める、交流電源ノードの中継パケット数と電池ノードの中継パケット数との比率を検証条件ごとに比較した結果を示す図である。図１５及び図１６に示す結果から、検証条件「Ａ」よりも検証条件「Ｂ」〜「Ｄ」に対応する電池ノードの中継パケット数の平均値の方が小さいことが分かる。また、検証条件「Ａ」よりも検証条件「Ｂ」〜「Ｄ」に対応する電池ノードの中継パケット数の平均値の方が大きいことが分かる。また、図１７に示す結果から、検証条件「Ｂ」〜「Ｄ」において、電池ノードの中継パケット数の比率よりも交流電源ノードの中継パケット数の比率が大きいことが分かる。これらの結果は、本実施例１に係るアドホックネットワークの各ノードが、電池ノードを含む通信経路の選択の機会を減少させつつ、交流電源ノードを含む通信経路を優先的に選択していることを意味する。すなわち、本実施例１では、電池ノードの電池寿命を延ばすことができることが分かる。【００７６】
次いで、パケットの到達率の検証結果について説明する。図１８は、Ｄｒｏｐ率を検証条件ごとに比較した結果を示す図である。図１８に示す結果から、検証条件「Ｄ」に対応するＤｒｏｐ率が最も大きく、検証条件「Ｂ」及び「Ｃ」に対応するＤｒｏｐ率が検証条件「Ａ」に対応するＤｒｏｐ率と同等に維持されていることが分かる。これらの結果は、本実施例１に係るアドホックネットワークの各ノードが、パケットの到達率を維持した適切な経路を選択していることを意味する。
【実施例２】
【００７７】
次に、実施例２に係るノードについて説明する。実施例２に係るノードは、評価値算出部１５２の処理内容が実施例１に係るノードと異なる以外は実施例１と同様であるため、実施例１と重複する説明を省略する。【００７８】
評価値算出部１５２は、隣接ノードとの間におけるハローパケットの送受信時において、自ノード１００の電池の残存電力を測定し、測定した残存電力に応じて隣接のノードと自ノード１００との間の無線リンクの評価値Ｄを算出する。【００７９】
評価値算出部１５２が無線リンクの評価値を算出する処理の一例について説明する。まず、評価値算出部１５２は、隣接のノードからハローパケットを受信した場合に、ハローパケットの受信品質を検出する。実施例では、評価値算出部１５２は、受信品質の一例として、ハローパケットの電波強度の平均値、ハローパケットの電波強度の分散値、ハローパケットの受信周期の平均値及びハローパケットの受信周期の分散値を検出する。評価値算出部１５２は、電源情報取得部１５１から隣接ノードの電源情報及び自ノード１００の電源情報を受け付ける。【００８０】
続いて、評価値算出部１５２は、自ノード１００の電源情報が電池を示す場合に、電池の残存電力を測定する。評価値算出部１５２は、評価パラメータとしての各受信品、電源情報及び電池の残存電力と、評価パラメータの換算値となる評価値とを対応付けた換算テーブルを保持する。【００８１】
図１９及び図２０は、実施例２における評価値算出部１５２が保持する換算テーブルのデータ構造の一例を示す図である。図１９に示す換算テーブルは、評価パラメータとしての電波強度平均値、電波強度分散値、受信周期平均値、受信周期分散値及び電源情報と、評価値とを対応づけて記憶する。図２０に示す換算テーブルは、評価パラメータとしての電池の残存電力と、電池を示す電源情報の評価値とを対応づけて記憶する。電波強度平均値、電波強度分散値、受信周期平均値、受信周期分散値及び電源情報の説明は、実施例１の図６と同様である。電池の残存電力は、自ノード１００の電池の残存電力を示す。また、評価値は、各評価パラメータの換算値を示す。【００８２】
評価値は、各受信品質が高いほど、小さな値となる。例えば、図１９では、電波強度平均値「ｘ」が大きいほど、評価値が小さな値となる。例えば、電波強度分散値「ｙ」が小さいほど、評価値が小さな値となる。例えば、受信周期平均値「ｚ」が小さいほど、評価値が小さな値となる。受信周期分散値「ｗ」が小さいほど、評価値が小さな値となる。【００８３】
また、評価値は、電源情報が交流電源を示す場合には、電池に対応する値よりも小さな固定値となり、電源情報が電池を示す場合には、交流電源に対応する固定値よりも大きな値となる。さらに、評価値は、電源情報が電池を示す場合には、電池の残存電力の減少に応じて、交流電源に対応する固定値との差が増大する。例えば、図１９及び図２０では、電源情報「ｐｓ」が「電池」である場合の評価値は、電池の残存電力「ｂ」が小さいほど、大きな値となる。さらに、図１９及び図２０では、電源情報「ｐｓ」が「電池」である場合の評価値と電源情報「ｐｓ」が「交流電源」である場合の評価値「１」との差が増大する。【００８４】
続いて、評価値算出部１５２は、換算テーブルと、検出した受信品質、受け付けた電源情報及び電池の残存電力とを比較して、評価値を判定する。例えば、図１９では、評価値算出部１５２は、電源情報「ｐｓ」が「交流電源」である場合に、評価値「１」を判定する。例えば、図１９及び図２０では、評価値算出部１５２は、電源情報「ｐｓ」が「電池」であり、自ノード１００の電池の残存電力「ｂ」が「５５００」である場合に、交流電源の評価値「１」よりも大きい評価値「４」を判定する。また、例えば、評価値算出部１５２は、電源情報「ｐｓ」が「電池」であり、自ノード１００の電池の残存電力「ｂ」が「１５００」である場合に、評価値「２０」を判定し、交流電源の評価値「１」との差を増大させる。すなわち、評価値算出部１５２は、自ノード１００の電池の残存電力の減少に応じて、固定値である交流電源の評価値と、電池の評価値との差を増大させる。【００８５】
続いて、評価値算出部１５２は、評価パラメータである各受信品質及び電源情報を重み付けしつつ加算する評価式に、判定した評価値を適用することで、隣接ノードと自ノード１００との間の無線リンクの評価値Ｄを算出する。例えば、評価値算出部１５２は、上述の式（１）との間の無線リンクの評価値Ｄを算出する。評価値算出部１５２は、算出したＤを、ワークテーブル１４１に格納する。【００８６】
次に、本実施例２に係るノード１００の処理手順について説明する。図２１は、実施例２に係るノードから目的地のノードに至る無線リンクの評価値を算出して通信経路テーブルに格納する処理の処理手順を示すフローチャートである。例えば、図２１に示す処理は、ハローパケットを受信したことを契機に実行される。なお、図２１におけるステップＳ５０５〜Ｓ５１４は、図８におけるステップＳ１０４〜Ｓ１１３と同様であるので、その詳細な説明を省略する。【００８７】
図２１に示すように、ノード１００は、ハローパケットを受信していない場合には（ステップＳ５０１；Ｎｏ）、処理を終了する。一方、ノード１００は、ハローパケットを受信した場合には（ステップＳ５０１；Ｙｅｓ）、ハローパケットの送信元となる隣接ノードの電源情報と、記憶部１４０に保持された自ノード１００の電源情報を取得する（ステップＳ５０２）。さらに、ノード１００は、受信したハローパケットの受信品質を検出する。【００８８】
ノード１００は、自ノード１００の電源情報が電池を示す場合には、自ノード１００の電池の残存電力を測定する（ステップＳ５０３）。ノード１００は、電池の残存電力、電源情報及びハローパケットの受信品質を基にして、隣接ノードと自ノード１００との間の無線リンクの評価値Ｄを算出し（ステップＳ５０４）、処理をステップＳ５０５に移項する。【００８９】
次に、本実施例２に係るアドホックネットワークの効果について説明する。アドホックネットワークに含まれるノード１００は、自ノード１００の電源情報が電池である場合に、電池の残存電力を測定する。ノード１００は、測定した電池の残存電力の減少に応じて、固定値である交流電源に対応する評価値と、電池に対応する評価値との差を増大させる。そして、ノード１００は、自ノード１００から目的地のノードに至る無線リンクの評価値の加算値が最も高品質となる経路を、目的地に送信するパケットの転送先として選択する。このため、ノード１００は、電池ノードの電池の残存電力が減少するほど、電池ノードを含む通信経路の選択の機会を減少させることができ、結果として、電池切れとなるノードの数を抑えることができる。【００９０】
次に、本実施例２に係るアドホックネットワークの効果の検証方法と、その検証結果について説明する。本検証方法では、アドホックネットワークにおける電池ノードのうち電池切れとなる電池ノード（以下「電池切れノード」という）の数を既存のシミュレーションプログラムを用いて検証した。電池切れノードの数の検証では、電池切れノードの数を、検証条件ごとに比較する。なお、本検証方法では、電池ノードの電池の残存電力と、電池ノードの中継パケット数とが反比例の関係にあるため、電池ノードの中継パケット数が所定数（例えば、１０００）を超えた電池ノードを、残存電力「０」の電池切れノードとして計数した。また、本検証方法の検証条件は、図１２に示した実施例１の検証条件「Ａ」〜「Ｃ」と同様である。また、本検証方法では、評価パラメータ「Ｐｐｓ」以外の他の評価パラメータの重み係数として、図１３に示した実施例１の値を用いた。また、本検証方法では、各評価パラメータと評価値とを対応付けた換算テーブルとして、図１９及び図２０に示した換算テーブルを用いた。また、本検証方法では、シミュレーションプログラムに適用するアドホックネットワークの構成として、図１４に示す構成を用いた。【００９１】
次いで、電池切れノードの数の検証結果について説明する。図２２は、アドホックネットワークに含まれる電池切れノードの数を検証条件ごとに比較した結果を示す図である。図２２において、縦軸は、電池切れノードの数を示し、横軸は、シミュレーションプログラムの実行開始から経過した時間を示す。図２２に示す結果から、同一の時間が経過した場合に、検証条件「Ａ」よりも検証条件「Ｂ」及び「Ｃ」に対応する電池切れノードの数の方が少ないことが分かる。すなわち、本実施例２では、電池切れとなるノードの数を抑えることができることが分かる。【００９２】
ところで、ノード１００、２００の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、ノード１００、２００の具体的形態は図示のものに限られず、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図３の各処理部１５１〜１５５の機能をまとめてもよい。【００９３】
上記実施例１，２に示したノード１００の機能は、既知のＰＣ（Personal  Computer）またはＰＤＡ（Personal  Digital  Assistants）などの情報処理装置に、ノードに対応する各機能を搭載することによって実現することもできる。図２３は、実施例１、２にかかるノードを構成するコンピュータのハードウェア構成を示す図である。【００９４】
図２３に示すように、このコンピュータ３００は、各種演算処理を実行するＣＰＵ３０１と、ユーザからのデータの入力を受け付ける入力装置３０２と、ディスプレイ３０３とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読み取る読み取り装置３０４と、他の装置と接続するためのインターフェース装置３０５とを有する。また、コンピュータ３００は、他の装置と無線により接続する無線通信装置３０６と、各種情報を一時記憶するＲＡＭ３０７と、ハードディスク装置３０８とを有する。各装置３０１〜３０８は、バス３０９に接続される。【００９５】
ハードディスク装置３０８には、電源情報取得プログラム、評価値算出プログラム、経路選択プログラムなどの各種のプログラムが記憶される。【００９６】
ＣＰＵ３０１は、ハードディスク装置３０８に記憶された各プログラムを読み出して、ＲＡＭ３０７に展開し、各種の処理を行う。また、これらのプログラムは、コンピュータを図３の電源情報取得部１５１、評価値算出部１５２、経路選択部１５３として機能させることができる。【００９７】
なお、上記のプログラムは、必ずしもハードディスク装置３０８に格納されている必要はない。例えば、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたプログラムを、コンピュータ３００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等に接続された記憶装置に、各プログラムを記憶させておいてもよい。この場合、コンピュータ３００がこれらから各プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００９８】
１  ＧＷ（Gate  Way）
１００、１００ａ〜１００ｅ  ノード
１１０  無線通信部
１２０  入力部
１３０  表示部
１４０  記憶部
１４１  ワークテーブル
１４２  通信経路テーブル
１５０  制御部
１５１  電源情報取得部
１５２  評価値算出部
１５３  経路選択部
１５４  ハローパケット生成部
１５５  データパケット生成部
【図１】
2013136527.tif 000003
【図２】
2013136527.tif 000004
【図３】
2013136527.tif 000005
【図４】
2013136527.tif 000006
【図５】
2013136527.tif 000007
【図６】
2013136527.tif 000008
【図７】
2013136527.tif 000009
【図８】
2013136527.tif 000010
【図９】
2013136527.tif 000011
【図１０】
2013136527.tif 000012
【図１１】
2013136527.tif 000013
【図１２】
2013136527.tif 000014
【図１３】
2013136527.tif 000015
【図１４】
2013136527.tif 000016
【図１５】
2013136527.tif 000017
【図１６】
2013136527.tif 000018
【図１７】
2013136527.tif 000019
【図１８】
2013136527.tif 000020
【図１９】
2013136527.tif 000021
【図２０】
2013136527.tif 000022
【図２１】
2013136527.tif 000023
【図２２】
2013136527.tif 000024
【図２３】
2013136527.tif 000025
【国際調査報告】
2013136527.tif 000026
2013136527.tif 000027