(57)【要約】【課題】電力残量に応じた経路探索を行い、少ない電力残量の中継デバイスも有効に活用することを目的とする。【解決手段】複数のネットワーク機器１００からなるアドホックネットワークにおいて、各ネットワーク機器１００は、通信コストを算出し、算出した通信コストを互いに共有する。ここで各ネットワーク機器１００の閾値記憶部１１２は所定の電力値を閾値として記憶し、電力残量計測部１１４は電力残量を計測する。電力残量計測部１１４が計測した電力残量が閾値以下である場合、各ネットワーク機器１００の閾値電力残量差算出部１１８は閾値と電力残量との差・比率等を示す閾値電力残量差を算出し、通信コスト算出部１２０は、閾値電力残量差に基づき、他の機器との間の通信コストを算出する。そしてネットワーク機器１００は算出した通信コストを共有し、共有した通信コストに基づきルーティングを行う。【選択図】図２
2008066914.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された機器の間の通信経路を求めるための通信コストを算出するネットワーク機器において、
所定の電力値を閾値として記憶装置に記憶する閾値記憶部と、
電力残量を計測して記憶装置に記憶する電力残量計測部と、
上記閾値記憶部が記憶した閾値と上記電力残量計測部が計測した電力残量との差を示す閾値電力残量差を処理装置により算出する閾値電力残量差算出部と、
上記閾値電力残量差算出部が算出した閾値電力残量差に基づいて、ネットワークを介して接続された機器との通信コストを処理装置により算出する通信コスト算出部と
を備えることを特徴とするネットワーク機器。
【請求項２】
上記ネットワーク機器は、さらに、
上記電力残量が上記閾値以下であるか否かを処理装置により判定する電力残量判定部を備え、
上記通信コスト算出部は、上記電力残量が上記閾値以下であると上記電力残量判定部が判定した場合のみ、通信コストの算出に閾値電力残量差を使用する
ことを特徴とする請求項１記載のネットワーク機器。
【請求項３】
上記通信コスト算出部は、上記電力残量が上記閾値以下でないと上記電力残量判定部が判定した場合、閾値電力残量差に基づかない所定の方法で通信コストを算出するとともに、上記電力残量が上記閾値以下であると上記電力残量判定部が判定した場合、上記閾値電力残量差に基づかない所定の方法で算出したコストと閾値電力残量差とに基づいて通信コストを算出する
ことを特徴とする請求項２記載のネットワーク機器。
【請求項４】
上記通信コスト算出部は、電力残量が０に近い値であるほど通信コストの上限値に近い値を通信コストとして算出する
ことを特徴とする請求項１記載のネットワーク機器。
【請求項５】
上記通信コスト算出部は、上記電力残量が上記閾値以下であると上記電力残量判定部が判定した場合、上記電力残量が上記閾値以下でないと上記電力残量判定部が判定した場合よりも大きい通信コストを算出する
ことを特徴とする請求項２記載のネットワーク機器。
【請求項６】
上記通信コスト算出部は、電力残量が閾値に近い値であるほど、上記電力残量が上記閾値以下でないと上記電力残量判定部が判定した場合に算出する通信コストに近い通信コストを算出する
ことを特徴とする請求項１記載のネットワーク機器。
【請求項７】
上記通信コスト算出部は、上記電力残量が上記閾値以下であると上記電力残量判定部が判定した場合、以下の式に基づき時刻Ｔにおける通信コストρ（Ｔ）を算出する
ことを特徴とする請求項１記載のネットワーク機器。
ρ（Ｔ）＝（（Ｖ（Ｔ）／ε）＊（ρＵＢＯＵＮＤ＊Ｘ／Ｔｉｍｅｏｕｔ））＋（１−Ｖ（Ｔ）／ε）＊ρＵＢＯＵＮＤ
Ｖ（Ｔ）：時刻Ｔにおける電力残量，
ε：閾値，
ρＵＢＯＵＮＤ：通信コストの上限値，
Ｘ：上記ネットワークを介して接続された機器との通信時間，
Ｔｉｍｅｏｕｔ：上記ネットワークを介して接続された機器との通信時間の最大値
【請求項８】
ネットワークを介して接続された機器の間の通信経路を求めるための通信コストを算出するネットワーク機器において、
所定の電力値を閾値として記憶装置に記憶する閾値記憶部と、
電力残量を計測して記憶装置に記憶する電力残量計測部と、
上記電力残量計測部が計測した電力残量に基づき、所定の時間後の予測電力残量を処理装置により算出する電力残量予測部と、
上記電力残量予測部が算出した予測電力残量が上記閾値以下であるか否かを処理装置により判定する電力残量判定部と、
上記予測電力残量が上記閾値以下であると上記電力残量判定部が判定した場合、上記閾値と上記予測電力残量との差を示す予測閾値電力残量差を処理装置により算出する閾値電力残量差算出部と、
上記閾値電力残量差算出部が算出した予測閾値電力残量差に基づいて予測通信コストを処理装置により算出する通信コスト算出部と
を備えることを特徴とするネットワーク機器。
【請求項９】
上記通信コスト算出部は、上記電力残量計測部が電力残量を計測した時点の通信コストを算出するとともに、算出した通信コストと予測閾値電力残量差とに基づいて予測通信コストを算出する
ことを特徴とする請求項８記載のネットワーク機器。
【請求項１０】
上記通信コスト算出部は、上記予測電力残量が上記閾値以下であると上記電力残量判定部が判定した場合、以下の式に基づき時刻Ｔにおいて時刻Ｔ＋φにおける予測通信コストρ（Ｔ＋φ）を算出する
ことを特徴とする請求項７記載のネットワーク機器。
ρ（Ｔ＋φ）＝（（Ｖ（Ｔ＋φ）／ε）＊ρ（Ｔ））＋（１−Ｖ（Ｔ＋φ）／ε）＊ρＵＢＯＵＮＤ
Ｖ（Ｔ＋φ）：時刻Ｔ＋φにおける予測電力残量，
ε：閾値，
ρ（Ｔ）：時刻Ｔにおける通信コスト，
ρＵＢＯＵＮＤ：通信コストの上限値
【請求項１１】
複数のネットワーク機器を備えるネットワークシステムにおいて、
上記複数のネットワーク機器の各ネットワーク機器は、
請求項１記載のネットワーク機器であり、
上記複数のネットワーク機器の他のネットワーク機器の通信コスト算出部が算出した通信コストを上記他のネットワーク機器から通信装置を介して取得する通信コスト取得部と、
上記通信コスト取得部が取得した通信コストに基づき、データ送信先の機器への経路の中で最小の通信コストになる経路を処理装置により検索する経路検索部と
を備えることを特徴とするネットワークシステム。
【請求項１２】
ネットワークを介して接続された機器の間の通信経路を求めるための通信コストを算出する通信コスト算出プログラムにおいて、
電力残量を計測して記憶装置に記憶する電力残量計測処理と、
記憶装置に記憶した所定の電力値を示す閾値と上記電力残量計測処理で計測した電力残量との差を示す閾値電力残量差を処理装置により算出する閾値電力残量差算出処理と、
上記閾値電力残量差算出処理で算出した閾値電力残量差に基づいて、ネットワークを介して接続された機器との通信コストを処理装置により算出する通信コスト算出処理と
をコンピュータに実行させることを特徴とする通信コスト算出プログラム。
【請求項１３】
ネットワークを介して接続された機器の間の通信経路を求めるための通信コストを算出するネットワーク機器の通信コスト算出方法において、
記憶装置が、電力残量を計測して記憶装置に記憶する電力残量計測ステップと、
処理装置が、予め記憶装置に記憶した所定の電力値を示す閾値と上記電力残量計測ステップで計測した電力残量との差を示す閾値電力残量差を算出する閾値電力残量差算出ステップと、
処理装置が、上記閾値電力残量差算出ステップで算出した閾値電力残量差に基づいて、ネットワークを介して接続された機器との通信コストを算出する通信コスト算出ステップと
を備えることを特徴とする通信コスト算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、アドホックネットワーク等において経路探索（ルーティング）を行う場合に使用する通信コストを算出する技術、及び算出した通信コストを用いて経路探索を行う技術に関する。
【背景技術】
【０００２】
アドホックネットワークにおいては、ある送信元デバイスから送出されたデータは、その送信元デバイスの伝送範囲内にある中継機能を持った中継デバイス及びその中継デバイスの伝送範囲内にある中継機能を持った他の中継デバイスを経由し、宛先へ送られる。この時、個々の中継デバイス間リンクにおける中継にかかるコスト及びそのリンク数（ホップ数）から最適な経路を探索し、その経路を用いて伝送を行う経路探索がある。しかし、この経路探索では、中継デバイスの分散状況等によって経路の偏りを発生させる。この経路の偏りは、次に示す課題を発生させる。
（１）トラフィックの偏りが発生することによるパケットの衝突。
（２）特定の中継デバイス（ノード）に電力消費が偏ること、また、電力消費の偏りに伴い中継デバイスの電源停止（ネットワーク離脱）によるネットワークの機能低下。
従来、これらの課題に対して、電力コストに閾値を設け、閾値を超える電力コストが中継デバイスにかかると判定された場合に、その中継デバイスの中継機能を停止する、あるいは一定幅でその中継デバイスのコストを高く設定して、その中継デバイスの電力消費の調整を行うという電力コストを使用した経路探索がある。
【特許文献１】特許公開２００５−１６００６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記電力コストを使用した経路探索は、閾値を越えた中継デバイスには転送を行わないというＯＮ／ＯＦＦのみの制御である。あるいは、上記電力コストを使用した経路探索は、閾値を越えた中継デバイスにはコスト計算時に一定の幅でコスト加算を行う、即ち閾値を越えた中継デバイスは一律にランク（中継に使用する優先度）を下げるというものである。したがって、上記電力コストを使用した経路探索は、中継デバイスの電力残量を考慮しているが、中継デバイスの電力残量に応じた経路探索はできていない。
本発明は、例えば、電力残量に応じた経路探索を行い、少ない電力残の中継デバイスも有効に活用することを目的とする。
【課題を解決するための手段】
【０００４】
本発明に係るネットワーク機器は、ネットワークを介して接続された機器の間の通信経路を求めるための通信コストを算出するネットワーク機器において、
所定の電力値を閾値として記憶装置に記憶する閾値記憶部と、
電力残量を計測して記憶装置に記憶する電力残量計測部と、
上記閾値記憶部が記憶した閾値と上記電力残量計測部が計測した電力残量との差を示す閾値電力残量差を処理装置により算出する閾値電力残量差算出部と、
上記閾値電力残量差算出部が算出した閾値電力残量差に基づいて、ネットワークを介して接続された機器との通信コストを処理装置により算出する通信コスト算出部と
を備えることを特徴とする。
【発明の効果】
【０００５】
本発明に係るネットワーク機器によれば、通信コスト算出部が閾値電力残量差に基づいて通信コストを算出するため、電力残量に応じた、細かな通信経路の制御が可能となり、少ない電力残量の中継デバイスも有効に活用可能となる。
【発明を実施するための最良の形態】
【０００６】
図１は、実施の形態におけるネットワーク機器１００のハードウェア資源の一例を示す図である。ここで、ネットワーク機器１００は、中継デバイスの一例であり、例えばルータ、スイッチ、モデムやゲートウェイ、ファイアウォール等のコンピュータである。
図１において、ネットワーク機器１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、ＬＣＤ９１６（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、キーボード９１７（Ｋ／Ｂ）、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置等の記憶装置でもよい。あるいは、磁気ディスク装置９２０等は備えていなくても構わない。
【０００７】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置９８４の一例である。
キーボード９１７は、入力装置９８２の一例である。
ＬＣＤ９１６は、表示装置９８６の一例である。
通信ボード９１５は、通信装置９８８の一例である。
【０００８】
通信ボード９１５は、ネットワークに接続されている。
磁気ディスク装置９２０又はＲＯＭ９１３等には、オペレーティングシステム９２１（ＯＳ）、プログラム群９２２、ファイル群９２３が記憶されている。プログラム群９２２のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、により実行される。
【０００９】
上記プログラム群９２２には、以下に述べる実施の形態の説明において「経路算出部１１０」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２３には、以下に述べる実施の形態の説明において、「閾値」、「電力残量」、「閾値電力残量差」、「通信コスト」、「予測電力残量」、「〜判定」等として説明する情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶されている。「ファイル」や「データベース」は、ディスクやメモリ等の記録媒体に記憶される。ディスクやメモリ等の記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示等のＣＰＵ９１１の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵ９１１の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤのフレキシブルディスク、コンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１０】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線等のハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１１】
実施の形態１．
実施の形態１では、電力残量に応じた経路探索を行うため、ネットワーク機器１００が電力残量に基づき通信コストを算出する方法について説明する。
【００１２】
まず、図２に基づき実施の形態１に係るネットワーク機器１００の機能について説明する。図２は、実施の形態１に係るネットワーク機器１００の機能を示す機能ブロック図である。
ネットワーク機器１００は、経路算出部１１０、処理装置９８０、入力装置９８２、記憶装置９８４、表示装置９８６、通信装置９８８を備える。経路算出部１１０は、ネットワークを介して接続された機器の間の通信経路を求めるための通信コストを算出する。経路算出部１１０は、閾値記憶部１１２、電力残量計測部１１４、電力残量判定部１１６、閾値電力残量差算出部１１８、通信コスト算出部１２０を備える。経路算出部１１０は、例えば、ソフトウェア、プログラムであり、通信コスト算出プログラムの一例である。また、経路算出部１１０が行う処理は、通信コスト算出方法の一例である。
閾値記憶部１１２は、予め所定の電力値を閾値として記憶装置９８４に記憶する。電力残量計測部１１４は、電力残量を計測して記憶装置９８４に記憶する。つまり、電力残量計測部１１４は、定期的に、または、データ送信等の特定のイベント毎に、ネットワーク機器１００自身の電力残量等の電力の能力に関わるデータの測定を行う。電力残量の計測方法は、どのようなものであっても構わない。電力残量判定部１１６は、電力残量計測部１１４が計測した電力残量が、閾値記憶部１１２が記憶した閾値以下であるか否かを処理装置９８０により判定する。閾値電力残量差算出部１１８は、閾値記憶部１１２が記憶した閾値と電力残量計測部１１４が計測した電力残量との差を示す閾値電力残量差を処理装置９８０により算出する。ここで、閾値と電力残量との差とは、閾値から電力残量の値を引いて得られた値であっても、閾値と電力残量との比率であっても、閾値と電力残量と数値の違いを示すものであれば構わない。通信コスト算出部１２０は、閾値電力残量差算出部１１８が算出した閾値電力残量差に基づいて、ネットワークを介して接続された機器との通信コストを処理装置９８０により算出する。通信コスト算出部１２０は、後述するように、電力残量が閾値以下であると電力残量判定部１１６が判定した場合のみ、閾値電力残量差に基づいて通信コストを算出する。つまり、電力残量が閾値以下でないと電力残量判定部１１６が判定した場合、通信コスト算出部１２０は閾値電力残量差に基づかず通信コストを算出する。
【００１３】
次に、図３に基づきネットワーク機器１００を備えるネットワークシステム２００の構成について説明する。図３に示す機器１、機器α、機器β、機器γ、・・・、機器ｌ、機器ｍ、機器ｎ、機器ｎ＋１はそれぞれ中継デバイスである。ここでは、上記機器は、ネットワーク機器１００であるとする。各機器は１つ以上の他の機器とネットワークを介して接続されている。また、各機器は他の機器と通信装置９８８を介して通信し、パケットの送受信を行う。
ここで、中継デバイスとは、少なくとも、自身を宛先としないパケットを受信し宛先に向けて、あるいは宛先へ中継する他の中継デバイスへと送信する機能を持ったデバイスである。また、中継デバイスには、自身宛のパケットに関しては自身で受信する機能があっても構わない。
【００１４】
次に、図４、図５に基づきネットワーク機器１００が通信コストを算出する動作について説明する。
図４はネットワークシステム２００におけるネットワーク機器１００の通信コストを算出するシーケンスを示す図である。
まず、送信デバイス（ネットワーク機器１００の一例）から受信デバイス（ネットワーク機器１００の一例）に対し、通信品質情報を取得するための通信品質情報取得用パケットを送る。この通信品質情報取得パケットは、例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）のパケットに送信時刻情報を含めたものである。受信デバイスは、通信品質情報取得用パケットの受信時刻と通信品質情報取得用パケットに含まれる送信時刻情報とから送信デバイスからの通信時間を計る。ここでは、受信デバイスは、原則として通信時間が長くかかるものほど、品質が低く（通信コストが高く）なるように、所定の方式で通信品質情報への変換を行う。次に送信デバイスと受信デバイスとの間の通信品質情報と、受信デバイスの電力残量を元に、送信デバイスと受信デバイスとの間の通信コストの計算を行う。また、受信デバイスは、通信品質情報取得用パケットを複数受信して、計測された平均時時間を使用して通信コストを求めるとしても構わない。
【００１５】
図５は、ネットワークシステム２００におけるネットワーク機器１００の通信コストの合計を計算する動作を示すフローチャートである。図５に示すフローチャートは、図４における受信デバイスが通信品質情報取得用パケットを受信した場合の処理を示す。
まず、電力残量計測処理（Ｓ１１０）では、電力残量計測部１１４は、電力残量を計測する。電力残量計測部１１４が予め定期的に計測した電力残量を使用するとしても構わない。
次に、電力残量判定処理（Ｓ１２０）では、電力残量判定部１１６は、電力残量が閾値以下であるか否かを判定する。つまり、電力残量判定部１１６は、Ｖ（Ｔ）≦εであるか否かを判定する。ここで、Ｖ（Ｔ）は、時刻Ｔにおける電力残量であり、εは閾値である。電力残量判定部１１６は、例えば、閾値を全体の２０％とした場合、計測された電力残量が２０％より低くなった場合（例えば１８％）には、閾値以下であると判定する。（Ｓ１２０）で、電力残量が閾値を超えていないと判定された場合（Ｓ１２０でＮｏ）、電力残量判定部１１６は通常コスト計算処理（Ｓ１３０）を行う。一方、（Ｓ１２０）で、電力残量が閾値を超えたと判定された場合（Ｓ１２０でＹｅｓ）、電力残量判定部１１６は電力残量を考慮したコスト計算処理（Ｓ１４０）を行う。
【００１６】
通常コスト計算処理（Ｓ１３０）では、通信コスト算出部１２０は、以下の式（１）により、通信コストρＴの計算を行う。
ρＴ  ＝  ρＵＢＯＵＮＤ＊Ｘ／Ｔｉｍｅｏｕｔ      ・・・（１）
ここで、
「ρＵＢＯＵＮＤ」は、通信コストの上限値である。
「Ｘ」は、送信デバイスから受信デバイスまでの通信時間である。つまり、Ｘ＝「受信デバイスの通信品質情報取得用パケット受信時刻」−「送信デバイスの通信品質情報取得用パケット送信時刻」である。
「Ｔｉｍｅｏｕｔ」は、送信デバイスから受信デバイスまでの通信におけるタイムアウト値であり、システム毎に設定した値である。
【００１７】
例えば、送信デバイスから受信デバイスまでの通信におけるタイムアウト値が１５ｍｓｅｃ、そのときのコスト（つまり、通信コストの上限値）を４．５とした場合に、送信デバイスから受信デバイスまでの通信時間が１０ｍｓｅｃである場合、通信コストは、
４．５（ρＵＢＯＵＮＤ）＊１０（通信時間）／１５（Ｔｉｍｅｏｕｔ）＝３（通信コスト）
となる。
【００１８】
電力残量を考慮したコスト計算処理（Ｓ１４０）では、通信コスト算出部１２０は、以下の式（２）により、通信コストρＴの計算を行う。
ρＴ＝（（Ｖ（Ｔ）／ε）＊（ρＵＢＯＵＮＤ＊Ｘ／Ｔｉｍｅｏｕｔ））＋（１−Ｖ（Ｔ）／ε）＊ρＵＢＯＵＮＤ      ・・・（２）
「Ｖ（Ｔ）」は、時刻Ｔにおける電力残量である。
「ε」は、閾値である。
「ρＵＢＯＵＮＤ」は、通信コストの上限値である。
「Ｘ」は、送信デバイスから受信デバイスまでの通信時間である。つまり、Ｘ＝「受信デバイスの通信品質情報取得用パケット受信時刻」−「送信デバイスの通信品質情報取得用パケット送信時刻」である。
「Ｔｉｍｅｏｕｔ」は、送信デバイスから受信デバイスまでの通信におけるタイムアウト値であり、システム毎に設定した値である。
ここで、式（２）の「Ｖ（Ｔ）／ε」は、閾値電力残量差算出部１１８が算出した閾値と電力残量との差を示す閾値電力残量差である。つまり、コスト計算処理（Ｓ１４０）では、まず、閾値電力残量差算出部１１８が閾値電力残量差を算出し、通信コスト算出部１２０が閾値電力残量差に基づいて通信コストを算出する。
【００１９】
例えば、送信デバイスから受信デバイスまでの通信におけるタイムアウト値が１５ｍｓｅｃ、そのときのコスト（つまり、通信コストの上限値）を４．５とした場合に、送信デバイスから受信デバイスまでの通信時間が１０ｍｓｅｃであり、電力残量が閾値の８割である場合、通信コストは、
０．８（閾値電力残量差）＊（４．５（ρＵＢＯＵＮＤ）＊１０（通信時間）／１５（Ｔｉｍｅｏｕｔ））＋（１−０．８（閾値電力残量差）＊４．５（ρＵＢＯＵＮＤ）＝３．３（通信コスト）
となる。
【００２０】
ここで、式（２）の「ρＵＢＯＵＮＤ＊Ｘ／Ｔｉｍｅｏｕｔ」は、式（１）そのものである。つまり、通信コスト算出部１２０は、電力残量が閾値以下でないと電力残量判定部１１６が判定した場合、閾値電力残量差に基づかない所定の方法（ここでは、式（１））で通信コストを算出する。一方、通信コスト算出部１２０は、電力残量が上記閾値以下であると電力残量判定部１１６が判定した場合、上記閾値電力残量差に基づかない所定の方法（ここでは、式（１））で算出したコストと、閾値電力残量差とに基づいて通信コストを算出する。
これにより、常に電力残量の多いネットワーク機器１００を考慮するのではなく、一定の電力残量値を切り電源停止によるネットワークの機能低下を起こす可能性のあるネットワーク機器１００についてのみ電力残量を考慮し、その他のものは例えば通信時間のみを考慮して、使用するネットワーク機器１００を決定することが可能である。
【００２１】
また、式（２）の「（Ｖ（Ｔ）／ε）＊（ρＵＢＯＵＮＤ＊Ｘ／Ｔｉｍｅｏｕｔ）」は、電力残量が閾値以下でないと電力残量判定部１１６が判定した場合のコストと閾値電力残量差との積である。したがって、閾値電力残量差の値が大きいほど、つまり、電力残量が閾値に近い値であるほど、通信コスト算出部１２０は電力残量が閾値以下でないと電力残量判定部１１６が判定した場合に算出する通信コストに近い通信コストを算出する。
一方、式（２）の「１−Ｖ（Ｔ）／ε＊ρＵＢＯＵＮＤ」は、通信コストの上限値と「１−閾値電力残量差」との積である。したがって、閾値電力残量差が小さいほど、つまり、電力残量が０に近い値であるほど、通信コスト算出部１２０は通信コストの上限値に近い値を通信コストとして算出する。
これにより、電力残量が閾値を切っているネットワーク機器１００は一律に使用しないのではなく、電力残量と通信時間等とのバランスからネットワーク機器１００を使用するか否かを判断することが可能である。
【００２２】
また、式（２）の「１−Ｖ（Ｔ）／ε＊ρＵＢＯＵＮＤ」の存在により、式（１）で算出される通信コストよりも、式（２）で算出される通信コストの方が大きい値となる。つまり、通信コスト算出部１２０は、電力残量が閾値以下であると電力残量判定部１１６が判定した場合、電力残量が閾値以下でないと電力残量判定部１１６が判定した場合よりも大きい通信コストを算出する。
これにより、電力残量が閾値を切ったネットワーク機器１００よりも、電力残量が閾値を切っていないネットワーク機器１００が優先的に使用される。
【００２３】
つまり、実施の形態１に係る通信コスト算出方法によれば、電力残量に応じて通信コストを算出することができる。この通信コスト算出方法で算出した通信コストに基づいて経路探索を行うことで、中継デバイスの電力残量に応じて最適な経路を選択することが可能である。
【００２４】
実施の形態２．
実施の形態２では、実施の形態１で通信コスト算出部１２０が算出した通信コストに基づき経路探索する方法について説明する。
【００２５】
まず、図６に基づき実施の形態２に係るネットワーク機器１００の機能について説明する。図６は、実施の形態２に係るネットワーク機器１００の機能を示す機能ブロック図である。
実施の形態２に係るネットワーク機器１００は、実施の形態１に係るネットワーク機器１００に加え、経路算出部１１０が通信コスト取得部１２２、経路検索部１２４を備える。通信コスト取得部１２２は、他のネットワーク機器１００の通信コスト算出部１２０が算出した通信コストを上記他のネットワーク機器１００から通信装置９８８を介して取得する。経路検索部１２４は、通信コスト取得部１２２が取得した通信コストに基づき、データ送信先の機器への経路の中で最小の通信コストになる経路を処理装置９８０により検索する。
実施の形態２では、通信コスト取得部１２２と経路検索部１２４との処理を主に説明する。
【００２６】
まず、図７、図８に基づき実施の形態２に係る経路探索方法の概要を説明する。
図７は、図３に示すネットワークシステム２００の機器１から機器ｎ＋１への経路を示す図である。図７に示すように、機器１から機器ｎ＋１への経路は、中継する中継デバイスの選択の仕方により複数存在する。
図８は、ネットワークシステム２００における機器１から機器ｎ＋１への経路の通信コストを算出するシーケンスを示す図である。図８では、一例として、機器αから機器α＋ｋ及び機器ｎを中継デバイスとして中継し機器ｎ＋１へ到達する経路の通信コストを求める。
まず、機器１は、機器αへ経路探索要求パケットを送信する。上述した通信品質情報取得用パケットは、経路探索要求パケットの一例である。経路探索要求パケットの構成については後述するが、経路探索要求パケットには経路探索要求パケットを機器１が送信した時刻が含まれている。そこで、経路探索要求パケットを受信した機器αは、経路探索要求パケットに含まれる送信時刻を使用して、実施の形態１で説明した方法により機器１から機器αへの通信コストを算出する。そして、機器αは次の中継デバイスへ経路探索要求パケットを送信する。機器αが送信する経路探索要求パケットには、機器αが経路探索要求パケットを送信する時刻を含める。そして、経路探索要求パケットを受信した中継デバイスでは、機器αが経路探索要求パケットを送信した時刻を使用して、実施の形態１で説明した方法により機器αからの通信コストを算出する。そして、次の中継デバイスへ経路探索要求パケットを送信する。これを繰り返し、機器ｎ＋１が経路探索要求パケットを機器ｎから受信する。機器ｎ＋１は、機器ｎから機器ｎ＋１までの通信コストを上記と同様に算出する。そして、機器ｎ＋１は、この通信コストを経路探索応答パケットに含めて中継デバイスｎへ送信する。機器ｎ＋１から経路探索応答パケットを受信した機器ｎは、機器ｎが算出した通信コストを経路探索応答パケットに追加し、経路探索要求パケットの送信元である１つ前の中継デバイスである機器α＋ｋへ経路探索応答パケットを送信する。つまり、機器ｎが送信する経路探索応答パケットには、機器ｎ＋１が算出した通信コストと機器ｎが算出した通信コストとが含まれている。これを繰り返し、機器１が機器αから経路探索応答パケットを受信する。機器１が受信した経路探索応答パケットには、機器α、・・・、機器α＋ｋ、機器ｎ、機器ｎ＋１が算出した通信コストが含まれている。これらの通信コストの合計は、機器αから機器α＋ｋ及び機器ｎを中継デバイスとして中継する場合の機器１から機器ｎ＋１までの通信コストである。
機器１は経路探索要求パケットをブロードキャストし、また経路探索要求パケットを受信した機器も経路探索要求パケットをブロードキャストすることですべての経路の通信コストを得ることができる。
【００２７】
次に、図９から図１７に基づきネットワークシステム２００におけるネットワーク機器１００による経路探索およびコスト計算を含むパケットの送受信に関する一連の処理を詳細に説明する。
【００２８】
まず、ネットワークシステム２００におけるパケットについて図９、図１０、図１１に基づき説明する。図９は、ネットワーク機器１００が送受信するパケットの構成の一例を示す図である。図１０は、経路探索要求パケットのペイロード部の構成の一例を示す図である。図１１は、経路探索応答パケットのペイロード部の構成の一例を示す図である。
ネットワークシステム２００におけるパケットは、例えば、図９にて示す情報を持っている。図９において、パケット種別９０１は、固定長データのパケット種別を示す値が入る。パケット種別９０１は、例えば、１バイトの大きさの文字列で、経路探索要求パケット＝「Ａ」、経路探索応答パケット＝「Ｂ」、その他データ＝「Ｃ」と予め定められている。宛先アドレス９０２は、固定長の宛先アドレスを示す値が入る。宛先アドレス９０２は、例えば、４バイトの大きさの１以上の整数と定められている。宛先アドレス９０２は、例えば、経路探索要求パケット等ブロードキャストアドレスを示す特殊アドレスの場合もある。送信元アドレス９０３は、固定長の送信元アドレスを示す値が入る。送信元アドレス９０３は、例えば、４バイトの大きさの１以上の整数と定められている。ペイロード部９０４は、可変長であり、パケット種別毎に定まったフォーマットを持つ。
経路探索要求パケットのペイロード部９０４の構成について図１０に基づき説明する。図１０において、経路探索要求パケットのペイロード部９０４は、経路探索先アドレス情報１０００、中継デバイスアドレス１１００１、中継デバイスアドレス２１００２、・・・、送信時刻１００３、ペイロード終端１００４を備える。ここで、中継デバイスアドレスは、ホップ数の最大値と同じ数存在する可能性がある。つまり、ホップ数の最大値が５であるとすると、最大で中継デバイスアドレスが５存在することとなる。ホップ数の最大値とは、その宛先までに中継が許されている予め定められたホップ数である。経路探索先アドレス情報１０００は、送信デバイスがパケット送信を試みようとしている宛先を示す。中継デバイスアドレスは、これまでに中継した中継デバイスに関する情報が入る。中継デバイスアドレスは、中継するデバイスのアドレスが入る。中継デバイスアドレスは、ホップ数の最大が５の場合で実際のホップ情報が２つの場合、残りの領域には、例えば、ＮＵＬＬが入るとしても構わない。送信時刻１００３は、ネットワーク機器１００が経路探索要求パケットを送信した時刻が入る。ペイロード終端１００４は、ペイロードの終端を表す固定長で且つ固定値の情報が入る。
経路探索応答パケットのペイロード部９０４の構成について図１１に基づき説明する。経路探索応答パケットのペイロード部９０４は、中継先デバイスアドレス１１００、中継元デバイスアドレス１１０１、中継デバイスアドレス１１１０２とコスト１１１０３との組、・・・、中継デバイスアドレスＮ１１０４とコストＮ１１０５との組、ペイロード終端１１０６を備える。中継先デバイスアドレス１１００は、経路探索応答パケットの送信先デバイスを示すアドレスが入る。中継元デバイスアドレス１１０１は、経路探索応答パケットの送信元デバイスを示すアドレスが入る。中継デバイスアドレスとコストとの組は、送信元のデバイスから宛先のデバイスまでの間に中継した全ての中継デバイスに関する情報のセットが入る。中継デバイスアドレスとコストとは、経路探索要求パケットのペイロード部９０４の中継デバイスアドレスとコストと同様である。ペイロード終端１１０６は、経路探索要求パケットのペイロード部９０４のペイロード終端１００４と同様である。
【００２９】
次に、ネットワーク機器１００が記憶装置９８４に記憶する経路管理テーブルについて図１２に基づき説明する。図１２は、経路管理テーブルの一例を示す図である。
経路管理テーブルは、宛先アドレス１２０１、次ホップアドレス１２０２、コスト１２０３、経路探索要求受信時刻１２０４を備える。宛先アドレス１２０１は、パケットを送信する場合のパケットの宛先のアドレスが入る。次ホップアドレス１２０２は、宛先アドレス１２０１が示すアドレスへパケットを送信する場合に、次に送信する先のデバイスのアドレスが入る。コスト１２０３は、宛先アドレス１２０１までの片道の通信コストが入る。経路探索要求受信時刻１２０４は、経路探索要求パケットを受信した時刻が入る。
【００３０】
次に、ネットワークシステム２００におけるネットワーク機器１００のパケット送受信の一連の動作を上述した図９から図１２、及び図１３から図１８に基づき説明する。図１３から図１５は、ネットワークシステム２００においてネットワーク機器１００が経路探索する場合の動作を示すフローチャートである。図１３は、ネットワーク機器１００がパケットを受信した場合の切り分け処理である受信イベント処理を示すフローチャートである。図１４は、宛先になっていないパケットを受信した場合のネットワーク機器１００の動作であるパケット中継処理を示すフローチャートである。図１５は、宛先になっているパケットを受信した場合のネットワーク機器１００の動作である自宛パケット受信処理を示すフローチャートである。図１６と図１８とは、経路探索要求パケットのペイロード部に記憶された情報の一例を示す図である。図１７は、経路探索応答パケットのペイロード部に記憶された情報の一例を示す図である。
【００３１】
パケットの送受信動作には、パケットの送信元としての動作と、パケットを受信した場合の動作とがある。
まず、パケットの送信元としての動作について説明する。パケットの送信元としてネットワーク機器１００は、経路探索要求パケット又は通常のパケットを送信する。通常のパケットとは、経路探索要求パケット及び経路探索応答パケットでないパケットである。
まず、経路探索要求パケットを送信する場合について説明する。通信コスト取得部１２２は、図９、図１０に示す構成の経路探索要求パケットを生成して、ブロードキャストする。具体的には、通信コスト取得部１２２は、パケット種別９０１に経路探索要求パケットを示す「Ａ」を入れ、宛先アドレス９０２には、ブロードキャストアドレスを入れ、送信元アドレス９０３には、自アドレスを入れる。また、通信コスト取得部１２２は、ペイロード部９０４の経路探索アドレス１０００には、目的地である宛先のアドレスを入れ、中継デバイス１００１・・・の領域にはデフォルト値（例えばＮＵＬＬ）を入れ、送信時刻１００３にはパケットを送信する時刻を入れ、ペイロード終端１００４には所定の値を入れる。また、通信コスト取得部１２２は、経路管理テーブルに目的地である宛先用のエントリを作成する。通信コスト取得部１２２は、目的地である宛先アドレスが、経路管理テーブルの宛先アドレス１２０１に登録されていない場合、その宛先のエントリを新規に作成する。具体的には、通信コスト取得部１２２は、宛先アドレス１０００として受信した経路探索要求パケットの経路探索先アドレス１０００を入力し、次ホップアドレス１２０２にデフォルト値（例えばＮＵＬＬ）を入れ、コスト１２０３にデフォルト値（例えばＮＵＬＬ）を入れ、経路探索要求受信時刻１２０４にパケット送信時刻を入れて、新しくエントリを作成する。一方、目的地である宛先アドレスが、経路管理テーブルの宛先アドレス１２０１に登録されている場合、そのエントリの情報をクリアする。具体的には、通信コスト取得部１２２は、次ホップアドレス１２０２にデフォルト値を入れ、コスト１２０３にデフォルト値を入れ、経路探索要求受信時刻１２０４にパケット送信時刻を入れる。
次に、通常のパケットを送信する場合について説明する。通常のパケットを送信する場合には、ネットワーク機器１００は、通常のパケットを生成する。具体的には、図９に示すパケット種別９０１に、その他データを示す「Ｃ」を入れ、宛先アドレス９０２に目的地である宛先のアドレスを入れ、送信元アドレス９０３に自アドレスを入れる。ペイロード部９０４には所定のデータを入れる。そして、図１２に示す経路管理テーブルから宛先アドレス１２０１をキーとしてエントリを検索し、そのエントリの次ホップアドレス１２０２へパケットを送信する。
【００３２】
次に、パケットを受信した場合の動作について説明する。ネットワーク機器１００である中継デバイスｎはパケットを受信すると図１３に示す一連の処理を開始する。
まず、宛先判定処理（Ｓ２１０）では、通信コスト取得部１２２は、受信パケットが自宛か否かを判定する。通信コスト取得部１２２は、パケットにおける宛先アドレス９０２がブロードキャストアドレスでない場合は宛先アドレス９０２と自アドレスとを比較する。通信コスト取得部１２２は、宛先アドレス９０２と自アドレスとが一致する場合、受信パケットは自宛であると判定する。また、通信コスト取得部１２２は、パケットにおける宛先アドレス９０２がブロードキャストアドレスである場合、ここではパケットが経路探索要求パケットであると判断する。そして、パケットにおける宛先アドレス９０２がブロードキャストアドレスである場合、通信コスト取得部１２２は、ペイロード部９０４の経路探索先アドレス１０００と自アドレスとを比較し、経路探索先アドレス１０００と自アドレスが一致する場合、受信パケットは自宛であると判定する。
【００３３】
受信パケットが自宛でないと判定した場合（Ｓ２１０でＮｏ）、通信コスト取得部１２２は、パケット中継処理（Ｓ２２０）へと進む。一方、受信パケットが自宛であると判定した場合（Ｓ２１０でＹｅｓ）、通信コスト取得部１２２は、自宛パケット受信処理（Ｓ２３０）へと進む。
【００３４】
次に、パケット中継処理（Ｓ２２０）の詳細について図１４に基づき説明する。
まず、経路探索要求判定処理（Ｓ３１０）では、通信コスト取得部１２２は、パケット種別情報９０１により、受信パケットが経路探索要求パケットか否かを判定する。（Ｓ３１０）で、受信パケットが経路探索要求パケットであると判定した場合（Ｓ３１０でＹｅｓ）、通信コスト取得部１２２は、経路情報エントリ作成処理（Ｓ３３０）へ進む。一方、受信パケットが経路探索要求パケットでないと判定した場合（Ｓ３１０でＮｏ）、通信コスト取得部１２２は、経路探索応答判定処理（Ｓ３２０）へ進む。
経路探索応答判定処理（Ｓ３２０）では、通信コスト取得部１２２は、パケット種別情報９０１により、受信パケットが経路探索応答パケットか否かを判定する。（Ｓ３２０）で、受信パケットが経路探索応答パケットであると判定した場合（Ｓ３２０でＹｅｓ）、通信コスト取得部１２２は、経路情報エントリ判定処理（Ｓ３６０）へ進む。一方、受信パケットが経路探索応答パケットでないと判定した場合（Ｓ３２０でＮｏ）、通信コスト取得部１２２は、その他パケット受信処理（Ｓ３９０）へ進む。
【００３５】
経路情報エントリ作成処理（Ｓ３３０）では、通信コスト取得部１２２は、図１２に示す経路管理テーブルに受信したパケットの宛先用のエントリを作成する。
まず、通信コスト取得部１２２は、受信した経路探索要求パケットの経路探索先アドレス１０００が、経路管理テーブルの宛先アドレス１２０１に登録されているか否かを判定する。宛先アドレス１２０１に登録されていない場合、その宛先のエントリを新規に作成する。具体的には、通信コスト取得部１２２は、宛先アドレス１０００として受信した経路探索要求パケットの経路探索先アドレス１０００を入力し、次ホップアドレス１２０２にデフォルト値（例えばＮＵＬＬ）を入れ、コスト１２０３にデフォルト値（例えばＮＵＬＬ）を入れ、経路探索要求受信時刻１２０４に経路探索要求パケットを受信した時刻を入れて、新しくエントリを作成する。一方、受信した経路探索要求パケットの経路探索先アドレス１０００が、経路管理テーブルの宛先アドレス１２０１に登録されていた場合、そのエントリの情報をクリアする。具体的には、通信コスト取得部１２２は、次ホップアドレス１２０２にデフォルト値を入れ、コスト１２０３にデフォルト値を入れ、経路探索要求受信時刻１２０４に経路探索要求パケットを受信した時刻を入れる。
【００３６】
（Ｓ３３０）に続き、通信コスト算出処理（Ｓ３４０）を行う。通信コスト算出処理（Ｓ３４０）では、電力残量計測部１１４、電力残量判定部１１６、閾値電力残量差算出部１１８及び通信コスト算出部１２０が、実施の形態１で説明した方法により通信コストを算出する。通信コストの算出では、図９、図１０に示す経路探索要求パケットのペイロード部９０４の送信時刻１００３（前の中継デバイスが経路探索要求パケットを送信した時刻）と、図１２に示す経路探索要求受信時刻１２０４（経路探索要求パケットを受信した時刻）とを用いる。算出した通信コストは、どの経路探索要求パケットに対して算出したものであるか判別可能な状態にして記憶装置９８４に記憶される。
【００３７】
（Ｓ３４０）に続き、経路探索要求転送処理（Ｓ３５０）を行う。経路探索要求転送処理（Ｓ３５０）では、通信コスト取得部１２２は、受信パケットのペイロード部９０４に中継デバイスアドレスとして自アドレスを追加する。通信コスト取得部１２２は、例えば、図１６に示すペイロード部９０４を持つ経路探索要求パケットを受信した場合、中継デバイスアドレス１１６０２から順次検索して、最初のデフォルト値（ＮＵＬＬ）が入った部分（図１６においては１６０４）に自アドレスを入れる。つまり、デフォルト値（ＮＵＬＬ）を自アドレスに置き換える。ここで、中継デバイスを挿入する空きがない場合、つまり中継デバイスアドレス、送信時刻およびペイロード終端でペイロード部９０４が埋まっている場合は、既に転送回数の最大値分転送されてきた経路探索要求パケットである。したがって、この場合には、受信した経路探索要求パケットとこの経路探索要求パケットにより追加した経路管理テーブルのエントリを破棄し、処理を終了する。また、通信コスト取得部１２２は、受信パケットのペイロード部９０４の送信時刻１００３（図１６においては１６０６）にパケットを送信する時刻を入れる。
そして、通信コスト取得部１２２は、自アドレスを加えた経路探索要求パケットを経路探索先アドレスへ向けてブロードキャストする。
【００３８】
経路情報エントリ判定処理（Ｓ３６０）では、通信コスト取得部１２２は、経路管理テーブルに該当のエントリが存在するか否かを判定する。具体的には、通信コスト取得部１２２は、経路管理テーブルの宛先アドレス１２０１として経路探索応答パケットの宛先アドレス９０２と一致するアドレスがあるか否かを判定する。また、併せて、通信コスト取得部１２２は、経路探索応答パケットのペイロード部９０４の中継先デバイスアドレス１１００が自アドレスと一致するか否かを判定する。経路管理テーブルに該当のエントリがない、または、中継先デバイスアドレスが自アドレスと一致しないと判定された場合（Ｓ３６０でＮｏ）、通信コスト取得部１２２は、パケットを破棄し処理を終了する。一方、経路管理テーブルに該当のエントリがあり、かつ、中継先デバイスアドレスが自アドレスと一致すると判定された場合（Ｓ３６０でＹｅｓ）、通信コスト取得部１２２は、経路情報更新処理（Ｓ３７０）を行う。ここで、経路探索応答パケットのペイロード部９０４の中継先デバイスアドレス１１００が自アドレスと一致しない場合は、受信したパケットが他の中継デバイスに向けて送信した経路探索応答パケットであったと判断できる。原則このような場合は起こらないが、仮に起こった場合には上述したようにパケットを破棄し処理を終了する。
【００３９】
経路情報更新処理（Ｓ３７０）では、通信コスト取得部１２２は、経路管理テーブルの該当のエントリの次ホップアドレス１２０２がデフォルト値（ＮＵＬＬ）であるか否かを判定する。ここで、経路管理テーブルの該当のエントリとは、経路管理テーブルの宛先アドレスが経路探索応答パケットの宛先アドレス９０２と一致するエントリである。
経路管理テーブルの該当のエントリの次ホップアドレス１２０２がデフォルト値（ＮＵＬＬ）であると判定した場合、通信コスト取得部１２２は、経路探索応答パケットのペイロード部９０４の中継元デバイスアドレス１１０１を、経路管理テーブルの該当のエントリの次ホップアドレス１２０２に入れる。また、通信コスト算出部１２０は、経路探索応答パケットのペイロード部９０４に含まれるコストを合計して、宛先までの通信コストを算出する。そして、通信コスト算出部１２０は、算出した通信コストを経路管理テーブルの該当のエントリのコスト１２０３に入れる。
一方、経路管理テーブルの該当のエントリの次ホップアドレス１２０２がデフォルト値（ＮＵＬＬ）ではない場合、通信コスト取得部１２２は、新しくエントリを追加する。また、通信コスト取得部１２２は、追加したエントリの宛先アドレス１２０１と経路探索要求受信時刻１２０４とを経路管理テーブルの該当のエントリの宛先アドレス１２０１と経路探索要求受信時刻１２０４とから転記する。さらに、通信コスト取得部１２２は、受信した経路探索応答パケットのペイロード部９０４の中継元デバイスアドレス１１０１を追加したエントリの次ホップアドレスに入れる。また、通信コスト算出部１２０は、経路探索応答パケットのペイロード部９０４に含まれるコストを合計して、宛先までの通信コストを算出する。そして、通信コスト算出部１２０は、算出した通信コストを経路管理テーブルの該当のエントリのコスト１２０３に入れる。そして、通信コスト取得部１２２は、宛先アドレスが同一の各エントリのコストを比較し、コストの最小のエントリを残して、他方を削除する。例えば、図１２における一行目と二行目の宛先は共にＦ１００で同一であるが、二行目のエントリがコストが３で一行目よりも低いため、こちらを残して一行目のエントリは削除する。こうすることで、通信コストが最小のもののみが経路管理テーブルに残る。そのため、ネットワーク管理装置１００はこれを用いて、パケットの送信または中継を行うことができる。つまり、各ネットワーク機器１００が、受信したパケットの宛先アドレスを持つエントリを経路管理テーブルから検索し、そのエントリの次ホップアドレス１２０２へ送信することで、最小のコストで宛先へパケットを送信することができる。
【００４０】
（Ｓ３７０）に続き、経路探索応答転送処理（Ｓ３８０）では、通信コスト取得部１２２は、まず転送用にパケットを加工する。通信コスト取得部１２２は、経路探索応答パケットのペイロード部９０４の中継先デバイスアドレス１１００に、自アドレスが入っている中継デバイスアドレスの領域（図１７の中継デバイスアドレス３１７０６であるとする）の直前にある中継デバイスアドレスの領域（図１７の中継デバイスアドレス２１７０４）の値を代入する。また、通信コスト取得部１２２は、中継元デバイスアドレス１１０１に、自アドレスを代入する。また、自アドレスが入っていた中継デバイスアドレスの領域（図１７の中継デバイスアドレス３１７０６）の次の領域（図１７のコスト３１７０７）に経路探索要求パケット受信時に算出した通信コストを代入する。そして、通信コスト取得部１２２は、パケットの送信を行う。
【００４１】
その他パケット受信処理（Ｓ３９０）では、ネットワーク機器１００は、経路管理テーブルを使用して受信したパケットを転送する。
【００４２】
次に、自宛パケット受信処理（Ｓ２３０）の詳細について図１５に基づき説明する。
まず、経路探索要求判定処理（Ｓ４１０）では、通信コスト取得部１２２は、パケット種別情報９０１により、受信パケットが経路探索要求パケットか否かを判定する。（Ｓ４１０）で、受信パケットが経路探索要求パケットであると判定した場合（Ｓ４１０でＹｅｓ）、通信コスト取得部１２２は、通信コスト算出処理（Ｓ４３０）へ進む。一方、受信パケットが経路探索要求パケットでないと判定した場合（Ｓ４１０でＮｏ）、通信コスト取得部１２２は、経路探索応答判定処理（Ｓ４２０）へ進む。
経路探索応答判定処理（Ｓ４２０）では、通信コスト取得部１２２は、パケット種別情報９０１により、受信パケットが経路探索応答パケットか否かを判定する。（Ｓ４２０）で、受信パケットが経路探索応答パケットであると判定した場合（Ｓ４２０でＹｅｓ）、通信コスト取得部１２２は、経路情報エントリ判定処理（Ｓ４５０）へ進む。一方、受信パケットが経路探索応答パケットでないと判定した場合（Ｓ４２０でＮｏ）、通信コスト取得部１２２は、その他パケット受信処理（Ｓ４７０）へ進む。
【００４３】
通信コスト算出処理（Ｓ４３０）では、電力残量計測部１１４、電力残量判定部１１６、閾値電力残量差算出部１１８及び通信コスト算出部１２０が、実施の形態１で説明した方法により通信コストを算出する。通信コストの算出では、図９、図１０に示す経路探索要求パケットのペイロード部９０４の送信時刻１００３（前の中継デバイスが経路探索要求パケットを送信した時刻）と、図１２に示す経路探索要求受信時刻１２０４（経路探索要求パケットを受信した時刻）とを用いる。算出した通信コストは、どの経路探索要求パケットに対して算出したものであるか判別可能な状態にして記憶装置９８４に記憶される。
【００４４】
（Ｓ４３０）に続き、経路探索応答処理（Ｓ４４０）では、通信コスト取得部１２２は、まず経路探索応答パケットを作成する。通信コスト取得部１２２は、作成するパケットのパケット種別９０１に経路探索応答パケットであることを示す値「Ｂ」を入れる。また、通信コスト取得部１２２は、宛先アドレス９０２に受信した経路探索要求パケットの送信元アドレス９０３を入れる。さらに、通信コスト取得部１２２は、送信元アドレス９０３に自アドレスを入れる。また、通信コスト取得部１２２は、ペイロード部９０４の中継先デバイスアドレス１１００に受信した経路探索要求パケットのペイロード部９０４の最後の中継デバイスアドレス（図１８における中継デバイスアドレスＮ１８０３）の値を入れる。さらに、通信コスト取得部１２２は、中継元デバイス１１０１に自アドレスを入れる。また、通信コスト取得部１２２は、中継デバイスアドレス１１１０２以降の中継デバイスアドレスの領域に受信した経路探索要求パケットのペイロード部９０４に含まれる中継デバイスアドレス（図１８における中継デバイスアドレス１１８０１から中継デバイスアドレスＮ１８０３まで）を追加する。さらに、通信コスト取得部１２２は、上記で追加した中継デバイスアドレスの次の中継デバイスアドレスの領域に自己のアドレスを代入し、その次のコストの領域に算出したコストを代入する。最後にペイロード終端を付加してパケットを作成する。そして、通信コスト取得部１２２は、作成した経路探索応答パケットの送信を行う。
【００４５】
経路情報エントリ判定処理（Ｓ４５０）では、通信コスト取得部１２２は、経路管理テーブルに該当のエントリが存在するか否かを判定する。具体的には、通信コスト取得部１２２は、経路管理テーブルの宛先アドレスとして経路探索応答パケットの宛先アドレス９０２と一致するアドレスがあるか否かを判定する。経路管理テーブルに該当のエントリがないと判定された場合（Ｓ４５０でＮｏ）、通信コスト取得部１２２は、パケットを破棄し処理を終了する。一方、経路管理テーブルに該当のエントリがると判定された場合（Ｓ４５０でＹｅｓ）、通信コスト取得部１２２は、経路情報更新処理（Ｓ４６０）を行う。
【００４６】
経路情報更新処理（Ｓ４６０）は、上述した経路情報更新処理（Ｓ３７０）と同様である。
【００４７】
ここで、ネットワーク機器１００は、所定の時間をタイムアウト値として持ち、経路探索要求パケット送信から上記所定の時間経過後は、その経路探索要求パケットに対する経路探索応答パケットは破棄するとしても構わない。この場合、経路探索要求パケット及び経路探索応答パケットには、経路探索要求パケットを一意に識別する識別情報を持たせる必要がある。
また、経路管理テーブルのエントリは、時限を持ち一定時間毎にクリアされるとしても構わない。これに限られず、経路管理テーブルのエントリは、経路探索要求パケットが来たときに作られ、経路探索応答パケットにより経路を確定し、そのエントリを用いた送信およびそれに対する応答等の一連操作毎（転送毎）にクリアされるとしても構わない。
また、経路管理テーブルは、仮経路管理テーブルと本経路管理テーブルとを備えるとしても構わない。つまり、経路探索要求パケットと経路探索応答パケットとにより、通信経路探索を行うのに使用するのは仮経路管理テーブルであるとし、通常のパケットの送信に使用するのは本経路管理テーブルであるとする。そして、例えば、経路管理テーブルの経路探索要求受信時刻からタイムアウト値に設定した時刻が経過したエントリについて、仮経路管理テーブルの内容を本経路管理テーブルへ上書きする。経路情報エントリ作成処理（Ｓ３３０）では、経路探索要求パケットを受信した場合に、経路管理テーブルから経路探索要求パケットの宛先のエントリの情報をクリアすることがある。しかし、仮経路管理テーブルと本経路管理テーブルとを備えることにより、あるネットワーク機器１００が送信した経路探索要求パケットにより、経路管理テーブルの該当のエントリの情報がクリアされおり、他のネットワーク機器１００が送信した通常のパケットを送信することができないことは発生しない。
【００４８】
実施の形態２によれば、実施の形態１で説明した通信コスト算出方法に基づき算出した通信コストを用いて経路選択することが可能である。つまり、中継デバイスの電力残量に基づき経路選択することが可能である。
【００４９】
実施の形態３．
実施の形態３では、ネットワーク機器１００が所定の時間後の電力残量を予測し、予測した電力残量に基づき予測通信コストを算出する方法について説明する。
【００５０】
ここで、所定の時間後の電力残量を使用するのは、実施の形態１の通信コスト算出方法と比べ、より厳密に電力残量に応じた経路探索をするためである。つまり、算出した通信コストに基づき経路選択を行って送信されたパケットは、所定の時間が経過した後に自己に到着する。そのため、通信コストを算出した時点での電力残量とパケットが到着する時点の電力残量とは異なる。そこで、実際にパケットが到着する時点の電力残量に基づき通信コストを算出して、経路探索を行うことで、より厳密に電力残量に応じた経路探索をすることができる。
【００５１】
まず、図１９に基づき実施の形態３に係るネットワーク機器１００の機能について説明する。図１９は、実施の形態３に係るネットワーク機器１００の機能を示す機能ブロック図である。
実施の形態３に係るネットワーク機器１００は、実施の形態２に係るネットワーク機器１００に加え、経路算出部１１０が電力残量予測部１２６を備える。電力残量予測部１２６は、電力残量計測部１１４が計測した電力残量に基づき、所定の時間後の予測電力残量を処理装置９８０により算出する。そして、電力残量判定部１１６は、電力残量予測部１２６が算出した予測電力残量が閾値以下であるか否かを判定し、閾値電力残量差算出部１１８は、予測電力残量が閾値以下であると電力残量判定部１１６が判定した場合、閾値と予測電力残量との差を示す予測閾値電力残量差を算出し、通信コスト算出部１２０は、閾値電力残量差算出部１１８が算出した予測閾値電力残量差に基づいて予測通信コストを算出する。つまり、電力残量予測部１２６が算出した予測電力残量を電力残量計測部１１４が計測した電力残量の代わりに使用することを除き実施の形態１及び実施の形態２と同様である。
【００５２】
次に、通信コストの算出について説明する。
【００５３】
まず、通常コスト計算処理（Ｓ１３０）については、実施の形態１と同様であるとする。つまり、電力残量が閾値を超えていない場合、実施の形態１と同様に式（１）により、通信コストρＴの計算を行う。
次に、電力残量を考慮したコスト計算処理（Ｓ１４０）について説明する。通信コスト算出部１２０は、以下の式（３）により、時刻Ｔにおいて時刻Ｔ＋φにおける予測通信コストρＴ＋φを算出する。
ρＴ＋φ＝（（Ｖ（Ｔ＋φ）／ε）＊ρＴ）＋（１−Ｖ（Ｔ＋φ）／ε）＊ρＵＢＯＵＮＤ      ・・・（３）
「Ｖ（Ｔ＋φ）」は、時刻Ｔ＋φにおける予測電力残量である。
ε：閾値，
「ε」は、閾値である。
「ρＵＢＯＵＮＤ」は、通信コストの上限値である。
【００５４】
ここで、式（３）の「ρＴ」は、式（１）そのものである。つまり、通信コスト算出部１２０は、電力残量が閾値以下でないと電力残量判定部１１６が判定した場合、閾値電力残量差に基づかない所定の方法（ここでは、式（１））で通信コストを算出する。一方、通信コスト算出部１２０は、電力残量が上記閾値以下であると電力残量判定部１１６が判定した場合、上記閾値電力残量差に基づかない所定の方法（ここでは、式（１））で算出した通信コストと、予測閾値電力残量差とに基づいて通信コストを算出する。
【００５５】
また、式（３）の「（Ｖ（Ｔ＋φ）／ε）＊ρＴ」は、電力残量が閾値以下でないと電力残量判定部１１６が判定した場合の通信コストと閾値電力残量差との積である。言い換えると、時刻Ｔにおける通信コストと予測閾値電力残量差との積である。したがって、予測閾値電力残量差が大きいほど、つまり、電力残量が閾値に近い値であるほど、時刻Ｔの通信コストに近い通信コストを算出する。
一方、式（３）の「１−Ｖ（Ｔ＋φ）／ε＊ρＵＢＯＵＮＤ」は、通信コストの上限値と「１−予測閾値電力残量差」との積である。したがって、閾値電力残量差が小さいほど、つまり、電力残量が０に近い値であるほど、通信コスト算出部１２０は通信コストの上限値に近い値を通信コストとして算出する。
【００５６】
また、式（３）の「１−Ｖ（Ｔ＋φ）／ε＊ρＵＢＯＵＮＤ」の存在により、式（１）で算出される通信コストよりも、式（３）で算出される通信コストの方が大きい値となる。つまり、通信コスト算出部１２０は、電力残量が閾値以下であると電力残量判定部１１６が判定した場合、電力残量が閾値以下でないと電力残量判定部１１６が判定した場合よりも大きい通信コストを算出する。
【００５７】
ここで、通信コスト算出部１２０は、近傍の単位時間φ当たりのパケットの平均受信量と平均送信量とを計測し、記憶装置９８４に記憶する。また、通信コスト算出部１２０は、単位量のパケット受信に必要な電力と単位量のパケット送信に必要な電力とを記憶装置９８４に記憶している。そのため、これらの情報からφ時間後の電力残量を予測することが可能である。
【００５８】
実施の形態３に係るネットワーク機器１００によれば、所定の時間後の電力残量を予測し、予測した電力残量に基づき通信コストを算出する。そのため、実施の形態３に係るネットワーク機器１００は、実施の形態１のネットワーク機器１００と比べ、より厳密に電力残量に応じた経路探索をすることが可能である。
【００５９】
以上をまとめると、ネットワーク機器１００は、電力残量の閾値、電力消費予測機能を持ち、電力残量予測値が閾値を超えた場合に、電力残量予測値、電力残量の閾値を利用して隣接ノードとの間の通信コストを算出することを特徴とする。
【００６０】
また、上記に加え、ネットワーク機器１００は、データ中継機能および、ルーティング情報の交換機能を持ち、コストが最小となる経路を検出し、最小コスト経路で中継を行うことを特徴とする。
【００６１】
さらに、上記ネットワーク機器１００を組み合わせて通信を行うネットワークシステムであることを特徴とする。
【図面の簡単な説明】
【００６２】
【図１】実施の形態におけるネットワーク機器１００のハードウェア資源の一例を示す図。
【図２】実施の形態１に係るネットワーク機器１００の機能を示す機能ブロック図。
【図３】ネットワーク機器１００を備えるネットワークシステム２００の構成を示す図。
【図４】ネットワークシステム２００におけるネットワーク機器１００の通信コストを算出するシーケンスを示す図。
【図５】ネットワークシステム２００におけるネットワーク機器１００の通信コストの合計を計算する動作を示すフローチャート。
【図６】実施の形態２に係るネットワーク機器１００の機能を示す機能ブロック図。
【図７】図３に示すネットワークシステム２００の機器１から機器ｎ＋１への経路を示す図。
【図８】ネットワークシステム２００における機器１から機器ｎ＋１への経路の通信コストを算出するシーケンスを示す図。
【図９】ネットワーク機器１００が送受信するパケットの構成の一例を示す図。
【図１０】経路探索要求パケットのペイロード部の構成の一例を示す図。
【図１１】経路探索応答パケットのペイロード部の構成の一例を示す図。
【図１２】経路管理テーブルの一例を示す図。
【図１３】ネットワーク機器１００がパケットを受信した場合の切り分け処理である受信イベント処理を示すフローチャート。
【図１４】宛先になっていないパケットを受信した場合のネットワーク機器１００の動作であるパケット中継処理を示すフローチャート。
【図１５】宛先になっているパケットを受信した場合のネットワーク機器１００の動作である自宛パケット受信処理を示すフローチャート。
【図１６】経路探索要求パケットのペイロード部に記憶された情報の一例を示す図。
【図１７】経路探索応答パケットのペイロード部に記憶された情報の一例を示す図。
【図１８】経路探索要求パケットのペイロード部に記憶された情報の一例を示す図。
【図１９】実施の形態３に係るネットワーク機器１００の機能を示す機能ブロック図。
【符号の説明】
【００６３】
１００  ネットワーク機器、１１０  経路算出部、１１２  閾値記憶部、１１４  電力残量計測部、１１６  電力残量判定部、１１８  閾値電力残量差算出部、１２０  通信コスト算出部、１２２  通信コスト取得部、１２４  経路検索部、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９１６  ＬＣＤ、９１７  Ｋ／Ｂ、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  プログラム群、９２３  ファイル群、９８０  処理装置、９８２  入力装置、９８４  記憶装置、９８６  表示装置、９８８  通信装置。
【図１】
2008066914.tif 000003
【図２】
2008066914.tif 000004
【図３】
2008066914.tif 000005
【図４】
2008066914.tif 000006
【図５】
2008066914.tif 000007
【図６】
2008066914.tif 000008
【図７】
2008066914.tif 000009
【図８】
2008066914.tif 000010
【図９】
2008066914.tif 000011
【図１０】
2008066914.tif 000012
【図１１】
2008066914.tif 000013
【図１２】
2008066914.tif 000014
【図１３】
2008066914.tif 000015
【図１４】
2008066914.tif 000016
【図１５】
2008066914.tif 000017
【図１６】
2008066914.tif 000018
【図１７】
2008066914.tif 000019
【図１８】
2008066914.tif 000020
【図１９】
2008066914.tif 000021