(57)【要約】【課題】ループ経路の発生を抑制しつつ、より適した経路を維持することを可能とする経路選択方法、ノード装置、及び、プログラムを提供する。【解決手段】リンクの到達率を算出し、使用頻度が高いリンクにおける到達率が多く存在する範囲における閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている閾値に基づいて、算出した到達率を離散化し、離散化した後の値に基づいて、リンクコストを算出する。そして、隣接ノード装置から到達可能な各最終宛先までの経路毎のルートコストを隣接ノード装置から取得し、取得したルートコストに算出したリンクコストを積算して、自ノード装置から隣接ノード装置を経由して到達可能な各最終宛先までの経路のルートコストを算出する。そして、データフレームを送信する際に、送信対象のデータフレームの最終宛先までの経路のルートコストに基づいて、送信先となる隣接ノード装置を選択する。【選択図】図３
2015180014.tif 000002
【特許請求の範囲】
【請求項１】
隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出し、
予め設定されている複数の閾値に基づいて、算出した前記到達率を離散化し、
前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出し、
前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得し、
取得した前記ルートコストに算出した前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出し、
前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択し、
前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、
ことを特徴とするノード装置の経路選択方法。
【請求項２】
前記閾値は、前記到達率を離散化した後の値の逆数と前記到達率の逆数との差と、前記到達率のリンクにおける前記使用頻度と、を乗算した値である乗算値を前記到達率毎に求め、前記到達率毎に求めた前記乗算値を積算した値が最小となるような閾値である、
ことを特徴とする請求項１に記載のノード装置の経路選択方法。
【請求項３】
前記閾値を、所定のタイミングで更新する、
ことを特徴とする請求項１又は２に記載のノード装置の経路選択方法。
【請求項４】
前記到達率を離散化した後の値の逆数を、前記隣接ノード装置との間の前記リンクにおける前記リンクコストとして算出する、
ことを特徴とする請求項１乃至３のいずれか一に記載のノード装置の経路選択方法。
【請求項５】
前記隣接ノード装置より送信された特定のフレームタイプのフレームの受信率を算出し、算出した前記受信率と各フレームタイプのフレーム長とに基づいて、前記到達率を算出する、
ことを特徴とする請求項１乃至４のいずれか一に記載のノード装置の経路選択方法。
【請求項６】
前記特定のフレームタイプのフレームはハローフレームである、
ことを特徴とする請求項５に記載のノード装置の経路選択方法。
【請求項７】
隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出する第１の算出手段と、
予め設定されている複数の閾値に基づいて、算出された前記到達率を離散化する離散化手段と、
前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出する第２の算出手段と、
前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得する第１の取得手段と、
取得された前記ルートコストに算出された前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出する第３の算出手段と、
前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択する選択手段と、
を備え、
前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、
ことを特徴とするノード装置。
【請求項８】
前記閾値は、前記到達率を離散化した後の値の逆数と前記到達率の逆数との差と、前記到達率のリンクにおける前記使用頻度と、を乗算した値である乗算値を前記到達率毎に求め、前記到達率毎に求めた前記乗算値を積算した値が最小となるような閾値である、
ことを特徴とする請求項７に記載のノード装置。
【請求項９】
前記閾値を、所定のタイミングで更新する更新手段を、更に、備える、
ことを特徴とする請求項７又は８に記載のノード装置。
【請求項１０】
ゲートウェイ装置として機能し、
配下のノード装置から前記リンクの前記到達率と前記リンクの前記使用頻度とを対応付けた使用頻度情報を取得する第２の取得手段と、
取得された前記使用頻度情報に基づいて、前記閾値を算出する第４の算出手段と、
算出された前記閾値を前記配下の前記ノード装置に報知する報知手段と、
を、更に、備える、
ことを特徴とする請求項７乃至９のいずれか一に記載のノード装置。
【請求項１１】
ノード装置のコンピュータに、
隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出し、
予め設定されている複数の閾値に基づいて、算出した前記到達率を離散化し、
前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出し、
前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得し、
取得した前記ルートコストに算出した前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出し、
前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択する、
処理を実行させ、
前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、経路選択方法、ノード装置、及び、プログラムに関する。
【背景技術】
【０００２】
近年、複数の通信装置（以下、ノード装置という）が自律分散的に相互接続するアドホックネットワークの研究が進められている。アドホックネットワークの各ノード装置は、通信環境に応じて自立的にネットワークを構築する。
【０００３】
具体的には、アドホックネットワークでは、アクセスポイントは設置されず、各ノード装置が、隣接するノード装置（以下、隣接ノード装置という）から受信したデータフレームをネットワークトポロジに基づいて、他の隣接ノード装置に中継することで、データフレームをゲートウェイ装置（以下、ＧＷ装置という）などの最終宛先の装置（以下、最終宛先装置という）に伝送する。
【０００４】
この際、各ノード装置は、ルートコストＣＲｏｕｔｅに基づいて経路を選択してデータフレームを送信する。つまり、最終宛先装置への経路が複数存在する場合には、各ノード装置が、どの経路を選択するかはルートコストＣＲｏｕｔｅの定義によることとなる。
【０００５】
経路上のリンクの品質（以下、リンク品質という）が変化し、経路の切換えが行われると、ループ経路が発生する場合がある。このループ経路は、ハローフレームが伝搬され、リンク品質の低下が各ノード装置に伝えられることで解消される。
【０００６】
このように、アドホックネットワークにおけるループ経路は、経路の切換えを発端として発生し、ハローフレームが伝搬され、経路が再形成されることで、解消される。
【０００７】
しかしながら、リンク品質の変動が大きな環境では、経路の切換えが頻発することとなる。この場合、ハローフレームの伝搬が間に合わないため、ループ経路が多数発生し、その結果、到達率が悪化してしまう。
【０００８】
この問題の解決方法として、例えば、ルートコストＣＲｏｕｔｅの元となるリンクコストＣＬｉｎｋを離散化することで、リンク品質の変化に伴うルートコストＣＲｏｕｔｅの変化の発生頻度を抑制する方法がある（例えば、特許文献１を参照）。ルートコストＣＲｏｕｔｅの変化の発生頻度を抑制することで、経路の切換えが抑制され、その結果、ループ経路の発生を抑えることが可能となる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特表２０１０−５１８７４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１で提案されている方法では、経路の安定化のために、単に、ルートコストＣＲｏｕｔｅに誤差を含ませているに過ぎず、ルートコストＣＲｏｕｔｅに大きな誤差が含まれてしまうと、適した経路選択ができなくなる可能性がある。
【００１１】
一つの側面では、本発明は、ループ経路の発生を抑制しつつ、より適した経路を維持することを可能とする経路選択方法、ノード装置、及び、プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１２】
一つの態様では、経路選択方法は、隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出し、予め設定されている複数の閾値に基づいて、算出した前記到達率を離散化し、前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出し、前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得し、取得した前記ルートコストに算出した前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出し、前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択し、前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、ことを特徴とする。
【００１３】
一つの態様では、ノード装置は、隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出する第１の算出手段と、予め設定されている複数の閾値に基づいて、算出された前記到達率を離散化する離散化手段と、前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出する第２の算出手段と、前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得する第１の取得手段と、取得された前記ルートコストに算出された前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出する第３の算出手段と、前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択する選択手段と、を備え、前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、ことを特徴としている。
【００１４】
一つの態様では、プログラムは、ノード装置のコンピュータに、隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出し、予め設定されている複数の閾値に基づいて、算出した前記到達率を離散化し、前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出し、前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得し、取得した前記ルートコストに算出した前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出し、前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択する、処理を実行させ、前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、ことを特徴としている。
【発明の効果】
【００１５】
１つの側面として、ループ経路の発生を抑制しつつ、より適した経路を維持することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】実施形態１におけるネットワークの構成例の一部を示す図である。
【図２】ハローフレームの受信率に対する到達率と、到達率を離散化した後の値と、ハローフレームの受信率に対するリンクの使用率を、それぞれ、グラフで表した例である。
【図３】実施形態１におけるネットワークを構成するノード装置の構成例を示す機能ブロック図である。
【図４】実施形態１におけるデータフレームのヘッダのフォーマット例を示す図である。
【図５】図４に示すフォーマット例における各フィールドの説明である。
【図６】実施形態１におけるハローフレームのヘッダのフォーマット例を示す図である。
【図７】図６に示すフォーマット例における各フィールドの説明である。
【図８】実施形態１におけるフレーム長管理テーブルの例を示す図である。
【図９】実施形態１における閾値管理テーブルの例を示す図である。
【図１０】実施形態１における受信回数管理テーブルの例を示す図である。
【図１１】実施形態１におけるルーティングテーブルの例を示す図である。
【図１２】実施形態１におけるフレーム受信処理のフローを説明するためのフローチャートの例である。
【図１３】実施形態１における転送処理のフローを説明するためのフローチャートの例である。
【図１４】実施形態１における更新処理のフローを説明するためのフローチャートの例の一部である。
【図１５】実施形態１における更新処理のフローを説明するためのフローチャートの例の他の一部である。
【図１６】実施形態１におけるハローフレーム生成処理のフローを説明するためのフローチャートの例である。
【図１７】実施形態２におけるネットワークを構成するノード装置の構成例を示す機能ブロック図である。
【図１８】実施形態２における閾値管理テーブルの例を示す図である。
【図１９】実施形態２における使用頻度管理テーブルの例を示す図である。
【図２０】実施形態２におけるハローフレームのヘッダのフォーマット例を示す図である。
【図２１】図２０に示すフォーマット例における各フィールドの説明である。
【図２２】実施形態２におけるＧＷ装置として機能するノード装置の構成例を示す機能ブロック図である。
【図２３】実施形態２における使用率算出用テーブルの例を示す図である。
【図２４】実施形態２における転送処理のフローを説明するためのフローチャートの例である。
【図２５】実施形態２における更新処理のフローを説明するためのフローチャートの例の一部である。
【図２６】実施形態２における更新処理のフローを説明するためのフローチャートの例の他の一部である。
【図２７】実施形態２におけるハローフレーム生成処理のフローを説明するためのフローチャートの例である。
【図２８】実施形態２におけるデータフレーム生成処理のフローを説明するためのフローチャートの例である。
【図２９】実施形態２におけるＧＷ装置で実行される閾値算出処理のフローを説明するためのフローチャートの例である。
【図３０】実施形態におけるノード装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【００１７】
以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１８】
（実施形態１）
図１は、本実施形態１におけるネットワーク１００の構成例の一部を示す図である。ネットワーク１００は、アドホックネットワークの一例であり、複数のノード装置１を含んで構成されている。ノード装置１間には、リンクが存在しており、図１では、リンクを実線で表している。
【００１９】
ノード装置１は、例えば、電力メータなどの検針ノード装置や各種のセンサを具備するセンサノード装置などである。ノード装置１がセンサノード装置の場合、ノード装置１は、データサーバの命令に従って、あるいは、自立的にセンサ等から情報を収集し、収集した情報（データフレーム）を、データサーバへ送信する。
【００２０】
ノード装置１は、図１においては、「Ｎｉ」（ｉ＝１，・・，７）として示されている。「Ｎｉ」は、ノード装置１を一意に識別可能なノードＩＤ（IDentification）、例えば、ノード装置１のアドレスである。以下において、特定のノード装置１を指す場合、例えば、ノードＩＤがＮｉのノード装置１を指す場合には、ノード装置Ｎｉと称することとする。なお、図１におけるノード装置Ｎ１はＧＷ装置であるものとする。
【００２１】
リンクは、無線リンクでも、有線リンクでもよい。例えば、図１を参照して、ノード装置Ｎ１とノード装置Ｎ２とが、他のノード装置１による中継を経ることなく、直接、通信可能な場合に、「ノード装置Ｎ１とノード装置Ｎ２との間にリンクが存在する」という。
【００２２】
リンクは、動的に変化し、例えば、天候や遮蔽物などの影響で、ノード装置１間にリンクが新たに確立されたり、今まで確立されていたリンクが消滅したりすることがある。また、例えば、ノード装置１が可動式であれば、ノード装置１間の距離の変動によってリンクの有無が変化することもある。また、例えば、ケーブルの接続替えにより、新たなリンクが確立されたり、今まで存在していたリンクが消滅したり、ケーブルの切断等の障害によってリンクが消滅することもある。
【００２３】
次に、本実施形態１におけるリンクコストＣＬｉｎｋの算出の際に用いるアルゴリズムについて説明する。本アルゴリズムでは、詳しくは後述するユニキャストフレームの到達率ｉを、以下に説明する方法で算出した閾値Ｓｋ（ｋ＝１，２，・・，Ｋ）に基づいて離散化し、到達率ｉを離散化した後の値ｉＳの逆数をリンクコストＣＬｉｎｋとする。
【００２４】
まず、閾値Ｓｋの算出方法について説明する。閾値Ｓｋは、以下の式１のように定義されている推定メトリックＭＥが最小となるように最適化された閾値である。つまり、閾値Ｓｋは、実際使用されるリンクの到達率ｉの存在確率（確率分布）を考慮して、到達率ｉを離散化することで生じる誤差がシステム全体で最小となるように最適化したものである。
【００２５】
【数１】
2015180014.tif 000003
【００２６】
なお、式中のＳＣＯＲＥ（ｉ）、ＳＣＯＲＥＳ（ｉ）、ＵＲ（ｉ）、Ｉは、それぞれ、以下のように定義されているものである。但し、これに限定されるものではないが、ｉ＜０．１の場合、ＳＣＯＲＥ（ｉ）＝ＳＣＯＲＥＳ（ｉ）＝１０とする。
【００２７】
ＳＣＯＲＥ（ｉ）：到達率ｉの逆数（１／ｉ）
ＳＣＯＲＥＳ（ｉ）：到達率ｉを、閾値Ｓｋに基づいて離散化した後の値ｉＳの逆数（１／ｉＳ）
ＵＲ（ｉ）：本ネットワーク１００における到達率ｉのリンクの使用率、つまり、到達率ｉを確率変数とした場合における、確率変数の値がｉである確率
Ｉ：到達率ｉから成る集合
【００２８】
到達率ｉの閾値Ｓｋに基づく離散化は、例えば、以下の式２にしたがって、行われる。但し、Ｓｋ＜Ｓｋ＋１とする。
【００２９】
【数２】
2015180014.tif 000004
【００３０】
ここで、本実施形態１におけるリンクコストＣＬｉｎｋを、以下の式３のように定義する。すなわち、リンクにおける到達率ｉを、推定メトリックＭＥが最小となるように最適化した閾値Ｓｋに基づいて、式２にしたがって離散化した後の値ｉＳの逆数、つまり、推定メトリックＭＥが最小となるように最適化した場合の閾値ＳｋにおけるＳＣＯＲＥＳ（ｉ）をリンクコストＣＬｉｎｋとして定義する。
【００３１】
【数３】
2015180014.tif 000005
【００３２】
また、本実施形態１におけるルートコストＣＲｏｕｔｅを、以下の式４のように定義する。つまり、ルートコストＣＲｏｕｔｅを、経路上の各リンクのリンクコストＣＬｉｎｋの積算値と定義する。
【００３３】
【数４】
2015180014.tif 000006
【００３４】
この場合、図１を参照して、経路（Ｎ７，Ｎ６，Ｎ５，Ｎ１）のルートコストＣＲｏｕｔｅ（Ｎ７，Ｎ６，Ｎ５，Ｎ１）は、以下の式５のように、経路（Ｎ７，Ｎ４，Ｎ３，Ｎ２，Ｎ１）のルートコストＣＲｏｕｔｅ（Ｎ７，Ｎ４，Ｎ３，Ｎ２，Ｎ１）は、以下の式６のように、それぞれ、表すことができる。なお、リンクＮｉ−ＮｊにおけるリンクコストＣＬｉｎｋを、リンクコストＣＬｉｎｋ（Ｎｉ，Ｎｊ）と表すものとする。
【００３５】
【数５】
2015180014.tif 000007
【００３６】
【数６】
2015180014.tif 000008
【００３７】
次に、本実施形態１におけるユニキャストフレームの到達率ｉの算出の際に用いるアルゴリズムについて説明する。本実施形態１における到達率算出のアルゴリズムでは、ハローフレームの受信率のみに基づいて、つまり、リンクの片方向の受信率のみに基づいて、各リンクにおけるユニキャストフレームの到達率ｉを算出（推定）する。
【００３８】
ここで、本実施形態１においては、ユニキャストフレームはデータフレームとＡＣＫ（ACKnowledgement）フレームのことであり、ユニキャストフレームの到達率ｉは、データフレームが転送先の隣接ノード装置１に到達し、且つ、転送先の隣接ノード装置１からのＡＣＫフレームが転送元のノード装置１に到達する確率である。つまり、ユニキャストフレームの到達率ｉは、リンクの往路の受信率（データフレームの受信率）と復路の受信率（ＡＣＫフレームの受信率）とを乗算したものである。
【００３９】
１ビットのデータの片方向の受信率と、フレーム長ＬＨビットのハローフレームの受信率を、それぞれ、以下の式７と式８のように表すとすると、以下の式９が成り立つ。
【００４０】
【数７】
2015180014.tif 000009
【００４１】
【数８】
2015180014.tif 000010
【００４２】
【数９】
2015180014.tif 000011
【００４３】
したがって、１ビットのデータの片方向の受信率は、フレーム長ＬＨビットのハローフレームの受信率に基づいて、以下の式１０により算出することが可能である。つまり、１ビットのデータの片方向の受信率は、フレーム長ＬＨビットのハローフレームの受信率をフレーム長ＬＨの逆数（１／ＬＨ）乗することで算出することが可能である。
【００４４】
【数１０】
2015180014.tif 000012
【００４５】
また、フレーム長ＬＤビットのデータフレームの受信率と、フレーム長ＬＡビットのＡＣＫフレームの受信率は、１ビットのデータの片方向の受信率を用いて、それぞれ、以下の式１１と式１２にしたがって、算出することが可能である。
【００４６】
【数１１】
2015180014.tif 000013
【００４７】
【数１２】
2015180014.tif 000014
【００４８】
ユニキャストフレームの到達率ｉは、上述したように、リンクの往路の受信率（データフレームの受信率）と復路の受信率（ＡＣＫフレームの受信率）とを乗算したものである。したがって、ユニキャストフレームの到達率ｉは、式１０乃至式１２に基づいて、以下の式１３のように表すことができる。つまり、ユニキャストフレームの到達率ｉは、ハローフレームの受信率と各フレームタイプのフレーム長とに基づいて、算出することが可能である。
【００４９】
【数１３】
2015180014.tif 000015
【００５０】
ここで、図２は、ハローフレームの受信率に対する到達率ｉと、到達率ｉを離散化した後の値ｉＳと、ハローフレームの受信率に対するリンクの使用率ＵＲ（ｉ）を、それぞれ、グラフで表した例である。なお、図２に示す例は、閾値Ｓｋ（ｋ＝１，２，３，４）とした場合、つまり、閾値の数を４とした場合における式１で定義した推定メトリックＭＥを最小化する閾値Ｓｋの例である。式１で定義した推定メトリックＭＥを最小化するように閾値Ｓｋを設定することは、図２に示すように、使用率ＵＲ（ｉ）の高いハローフレームの受信率の範囲をより細分化するように到達率ｉの閾値Ｓｋを設定することを意味する。すなわち、これは、使用率ＵＲ（ｉ）の高い到達率ｉの範囲において、閾値Ｓｋの間隔をより狭く設定することを意味する。
【００５１】
次に、図３を参照して、本実施形態１におけるノード装置１について説明する。図３は、本実施形態１におけるネットワーク１００を構成するノード装置１の構成例を示す機能ブロック図である。
【００５２】
ノード装置１は、図３に示すように、通信部１０と、記憶部２０と、制御部３０と、を備えて構成されている。
【００５３】
通信部１０は、通信モジュールなどで構成され、他のノード装置１との間で通信を行う。例えば、通信部１０は、ハローフレームなどのフレームを送受信する。また、通信部１０は、フレームを受信すると、受信したフレームをフレーム種別特定部３１（詳しくは後述）に出力する。
【００５４】
記憶部２０は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリなどで構成されている。記憶部２０は、制御部３０を構成する、例えば、ＭＰＵ（Micro-Processing Unit）のワークエリア、ノード装置１全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、詳しくは後述のフレーム長管理テーブルＴ１、閾値管理テーブルＴ２、受信回数管理テーブルＴ３、ルーティングテーブルＴ４などの各種データを格納するデータエリアとして機能する。また、データエリアには、自ノードＩＤなども格納されている。
【００５５】
ここで、図４と図５を参照して、データフレーム処理部３３（詳しくは後述）により生成されるデータフレームのヘッダについて説明する。図４は、本実施形態１におけるデータフレームのヘッダのフォーマット例を示す図である。図５は、図４に示すフォーマット例における各フィールドの説明である。
【００５６】
本実施形態１におけるデータフレームのヘッダは、図４に示すように、ＬＤ（Local Destination）と、ＬＳ（Local Source）と、ＧＤ（Global Destination）と、ＧＳ（Global Source）と、ＦＩＤ（Frame IDentification）と、フレームタイプと、を含む。
【００５７】
ＬＳは、転送元のノード装置１であり、例えば、図１を参照して、ノード装置Ｎ７によりノード装置Ｎ６へ送信されたデータフレームのＬＳは、ノード装置Ｎ７である。ＬＤは、転送先となる隣接ノード装置１であり、ＬＳとなるノード装置１のルート選択部３４（詳しくは後述）が、ルーティングテーブルＴ４を参照して、ＬＤを選択する。例えば、図１を参照して、ノード装置Ｎ７によりノード装置Ｎ６へ送信されたデータフレームのＬＤは、ノード装置Ｎ６である。
【００５８】
ＧＳは、データフレームの発行元のノード装置１であり、ＧＤは、データフレームの最終的な宛先となるノード装置１である。例えば、図１を参照して、ノード装置Ｎ７により発行されたデータフレームが、ノード装置Ｎ６、ノード装置Ｎ５の順番で中継され、最終的にノード装置Ｎ１へと送信される場合、該データフレームのＧＤは、ノード装置Ｎ１であり、ＧＳは、ノード装置Ｎ７である。
【００５９】
ＦＩＤは、データフレームの発行元のノード装置１におけるフレームＩＤ、つまり、発行元のノード装置１におけるデータフレームの生成回数を示す通し番号である。
【００６０】
フレームタイプは、フレームの種別を示す情報であり、データフレームにおいては、フレームの種別がデータフレームであることを示す情報が、「フレームタイプ」フィールドに格納される。フレームの種別としては、本実施形態１においては、データフレームと、ＡＣＫフレームと、ハローフレームの３つが存在するものとする。
【００６１】
データフレームは、発行元のノード装置１（ＧＳ）が最終的な宛先となるノード装置１（ＧＤ）に伝達しようとしている情報を、ペイロードとして含むフレームである。
【００６２】
ＡＣＫフレームは、データフレームを受信した受信側のノード装置１（ＬＤ）が、「データフレームを受信した旨」を送信側のノード装置１（ＬＳ）に伝えるために送信されるフレーム、つまり、肯定応答である。
【００６３】
ハローフレームは、ハローフレーム生成部３５（詳しくは後述）により生成され、自ノード装置１の存在を他のノード装置１に対して通知するためのフレームであり、後述するように、経路作成に必要な情報を含んでいる。
【００６４】
次に、図６と図７を参照して、ハローフレーム生成部３５により生成されるハローフレームのヘッダについて説明する。図６は、本実施形態１におけるハローフレームのヘッダのフォーマット例を示す図である。図７は、図６に示すフォーマット例における各フィールドの説明である。
【００６５】
本実施形態１におけるハローフレームのヘッダは、図６に示すように、送信元ＩＤと、ＦＩＤと、フレームタイプと、ＧＤとルートコストＣＲｏｕｔｅとの組と、を含む。
【００６６】
送信元ＩＤは、ハローフレームの送信元のノード装置１のノードＩＤであり、例えば、送信元のノード装置１のアドレスである。
【００６７】
ＦＩＤは、ハローフレームの送信元のノード装置１におけるフレームＩＤ、つまり、送信元のノード装置１におけるハローフレームの生成回数（すなわち、送信回数）を示す通し番号である。
【００６８】
フレームタイプは、フレームの種別を示す情報であり、ハローフレームにおいては、フレームの種別がハローフレームであることを示す情報が、「フレームタイプ」フィールドに格納される。
【００６９】
ＧＤとルートコストＣＲｏｕｔｅとの組は、ハローフレームの送信元のノード装置１から到達可能な最終的な宛先（ＧＤ）のノードＩＤと当該ＧＤから送信元のノード装置１に至る経路の内で最小のルートコストＣＲｏｕｔｅとの組である。
【００７０】
次に、図８乃至図１１を参照して、記憶部２０のデータエリアに格納されている、フレーム長管理テーブルＴ１、閾値管理テーブルＴ２、受信回数管理テーブルＴ３、ルーティングテーブルＴ４について、それぞれ、説明する。
【００７１】
図８は、本実施形態１におけるフレーム長管理テーブルＴ１の例を示す図である。本実施形態１におけるフレーム長管理テーブルＴ１は、例えば、リンク管理部３２（詳しくは後述）が到達率を算出する際に参照されるテーブルであり、図８に示すように、「フレームタイプ」と「フレーム長」とが対応付けられているテーブルである。
【００７２】
図９は、本実施形態１における閾値管理テーブルＴ２の例を示す図である。本実施形態１における閾値管理テーブルＴ２は、リンク管理部３２がリンクコストＣＬｉｎｋを算出する際に参照されるテーブルであり、図９に示すように、各閾値Ｓｋの値が管理されているテーブルである。これらの閾値Ｓｋは、上述した方法により予め算出された閾値である。
【００７３】
図１０は、本実施形態１における受信回数管理テーブルＴ３の例を示す図であり、ノード装置Ｎ７の受信回数管理テーブルＴ３の例である。本実施形態１における受信回数管理テーブルＴ３は、リンク管理部３２により管理されているテーブルであり、図１０に示すように、「隣接ノード装置１のノードＩＤ」と「受信回数」とが対応付けられているテーブルである。
【００７４】
受信回数は、対応する隣接ノード装置１から送信されたハローフレームの受信回数であり、対応する隣接ノード装置１からのハローフレームが受信される度に、リンク管理部３２によりインクリメントされる。
【００７５】
図１１は、本実施形態１におけるルーティングテーブルＴ４の例を示す図であり、ノード装置Ｎ７のルーティングテーブルＴ４の例である。本実施形態１におけるルーティングテーブルＴ４は、リンク管理部３２により管理されており、データフレームの転送先となる隣接ノード装置１を選択するために必要となる情報（各経路のルートコスト）をＧＤごとに管理しているテーブルである。例えば、本実施形態１におけるルーティングテーブルＴ４は、図１１に示すように、「ＧＤのノードＩＤ」と「隣接ノード装置１のノードＩＤ」と「リンクコストＣＬｉｎｋ」と「ルートコストＣＲｏｕｔｅ」とが対応付けられているテーブルである。
【００７６】
隣接ノード装置１のノードＩＤは、対応するＧＤにデータフレームを送信する際の転送先候補となる隣接ノード装置１のノードＩＤである。
【００７７】
リンクコストＣＬｉｎｋは、対応する隣接ノード装置１との間のリンクのリンクコストＣＬｉｎｋである。ルートコストＣＲｏｕｔｅは、ＧＤから自ノード装置１までの経路上の各リンクのリンクコストＣＬｉｎｋの積算値であり、対応する隣接ノード装置１からのハローフレームに含まれるルートコストＣＲｏｕｔｅと対応する隣接ノード装置１との間のリンクのリンクコストＣＬｉｎｋとの積算値が、リンク管理部３２により格納される。
【００７８】
図３に戻り、制御部３０は、例えば、ＭＰＵなどで構成され、記憶部２０のプログラムエリアに格納されている動作プログラムを実行して、図３に示すように、フレーム種別特定部３１と、リンク管理部３２と、データフレーム処理部３３と、ルート選択部３４と、ハローフレーム生成部３５と、ＡＣＫフレーム処理部３６としての機能を実現すると共に、ノード装置１全体を制御する制御処理や詳しくは後述のフレーム受信処理やハローフレーム生成処理などの処理を実行する。       
【００７９】
フレーム種別特定部３１は、通信部１０で受信したフレームの種別を特定する。具体的には、通信部１０は、フレームを受信すると、受信したフレームをフレーム種別特定部３１に出力する。フレーム種別特定部３１は、入力されたフレームのヘッダを解析して、フレームタイプに基づいて、フレームの種別を特定する。そして、フレーム種別特定部３１は、特定したフレームの種別がハローフレームの場合には、受信したフレームをリンク管理部３２に、特定したフレームの種別がデータフレームの場合には、受信したフレームをデータフレーム処理部３３に、特定したフレームの種別がＡＣＫフレームの場合には、受信したフレームをＡＣＫフレーム処理部３６に、それぞれ、出力する。
【００８０】
リンク管理部３２は、受信回数管理テーブルＴ３とルーティングテーブルＴ４の管理を行うことで、経路管理を行う。より具体的には、リンク管理部３２は、受信したフレームがハローフレームの場合に、受信したハローフレームを解析し、解析結果に基づいて、受信回数管理テーブルＴ３とルーティングテーブルＴ４の更新を行う。
【００８１】
例えば、リンク管理部３２は、受信したハローフレームの送信元ＩＤに基づいて、ハローフレームの送信元の隣接ノード装置１を特定する。そして、リンク管理部３２は、受信回数管理テーブルＴ３を参照して、特定した隣接ノード装置１に対応する受信回数をインクリメントする。この際、リンク管理部３２は、受信したハローフレームの送信元ＩＤと一致するノードＩＤが受信回数管理テーブルＴ３にない場合には、エントリを追加し、送信元ＩＤと受信回数“１”とを対応付けて格納する。
【００８２】
また、例えば、リンク管理部３２は、受信したハローフレームのＦＩＤに基づいて、送信元のノード装置１におけるハローフレームの送信回数を特定する。そして、リンク管理部３２は、インクリメントした後の受信回数と特定した送信回数とに基づいて、ハローフレームの受信率を算出すると共に、フレーム長管理テーブルＴ１を参照して、各フレームタイプのフレーム長（ＬＤ、ＬＡ、ＬＨ）を取得する。
【００８３】
そして、リンク管理部３２は、算出したハローフレームの受信率と各フレームタイプのフレーム長とに基づいて、上述の式１３に従って、受信したハローフレームの送信元のノード装置１との間のリンクおけるユニキャストフレームの到達率ｉを算出する。
【００８４】
そして、リンク管理部３２は、閾値管理テーブルＴ２を参照して、閾値Ｓｋを取得し、取得した閾値Ｓｋに基づいて、算出した到達率ｉを離散化する。より具体的には、リンク管理部３２は、例えば、式２にしたがって、算出した到達率ｉを離散化する。そして、リンク管理部３２は、算出した到達率ｉを離散化した後の値ｉＳの逆数をリンクコストＣＬｉｎｋとして算出し、算出したリンクコストＣＬｉｎｋで、ルーティングテーブルＴ４の特定した隣接ノード装置１に対応するリンクコストＣＬｉｎｋをそれぞれ更新する。
【００８５】
この際、特定した隣接ノード装置１のエントリがルーティングテーブルＴ４に存在しない場合、あるいは、ハローフレームに含まれるルートコストＣＲｏｕｔｅに対応付けられているＧＤの一部に特定した隣接ノード装置１のエントリが存在しない場合に、リンク管理部３２は、エントリを追加して、対応するフィールドに算出したリンクコストＣＬｉｎｋを格納する。
【００８６】
更に、リンク管理部３２は、受信したハローフレームに含まれるＧＤに対応付けられているルートコストＣＲｏｕｔｅに算出したリンクコストＣＬｉｎｋを積算した値で、ルーティングテーブルＴ４における対応するＧＤの特定した隣接ノード装置１（送信元）に対応するルートコストＣＲｏｕｔｅをそれぞれ更新する。
【００８７】
データフレーム処理部３３は、受信したデータフレームの処理を行う。より具体的には、まず、フレーム種別特定部３１よりデータフレームが入力されると、データフレーム処理部３３は、入力されたデータフレームのヘッダを解析し、ＬＤが自ノードＩＤと一致するか否かを判定する。そして、データフレーム処理部３３は、ＬＤが自ノードＩＤと一致しない場合には、受信したデータフレームを破棄する。
【００８８】
一方、ＬＤが自ノードＩＤと一致する場合には、データフレーム処理部３３は、ＡＣＫフレーム処理部３６に対して、ＡＣＫフレームの生成の指示を行うと共に、ＧＤが自ノードＩＤと一致するか否かを判定する。すなわち、データフレーム処理部３３は、受信したデータフレームの最終的な宛先が自ノード装置１か否かを判定する。
【００８９】
受信したデータフレームの最終的な宛先が自ノード装置１の場合には、データフレーム処理部３３は、受信したデータフレームを上位層に出力する。上位層は、データフレームの入力に応答して、受信したデータフレームの処理を行う。
【００９０】
一方、受信したデータフレームの最終的な宛先が他のノード装置１の場合には、データフレーム処理部３３は、受信したデータフレームの転送を行うために、ルート選択部３４に対して、ＬＤの選択を指示する。
【００９１】
また、データフレーム処理部３３は、ルート選択部３４より選択されたＬＤが通知されると、データフレームの送信処理を行う。より具体的には、データフレーム処理部３３は、ルート選択部３４より選択されたＬＤが通知されると、ヘッダのＬＳに自ノードＩＤを設定すると共に、ヘッダのＬＤにルート選択部３４より選択されたＬＤを設定する。そして、データフレーム処理部３３は、通信部１０を介して、設定したＬＤである隣接ノード装置１にデータフレームを転送する。
【００９２】
更に、データフレーム処理部３３は、上位層の要求に応答して、データフレームを生成し、通信部１０を介して、隣接ノード装置１に生成したデータフレームを送信する。この際、送信先の隣接ノード装置１は、ＧＤに応じてルート選択部３４により選択される。
【００９３】
ルート選択部３４は、受信したデータフレーム（又は、生成されたデータフレーム）を他のノード装置１へ転送する必要がある場合に、ルーティングテーブルＴ４を参照して、データフレームの転送先となる隣接ノード装置１、すなわち、ＬＤを選択する。そして、ルート選択部３４は、選択したＬＤをデータフレーム処理部３３へ通知する。
【００９４】
より具体的には、データフレーム処理部３３よりＬＤの選択を指示された場合に、ルート選択部３４は、転送対象のデータフレームのＧＤに対応するルーティングテーブルＴ４を特定する。そして、ルート選択部３４は、特定したルーティングテーブルＴ４のルートコストＣＲｏｕｔｅに基づいて、ＧＤまでのルートコストＣＲｏｕｔｅが最小となるように、送信先の隣接ノード装置１、すなわち、ＬＤを選択する。
【００９５】
ハローフレーム生成部３５は、所定のタイミング（例えば、定期的に）が到来すると、図６に例示するハローフレームを生成し、通信部１０を介して、生成したハローフレームを隣接ノード装置１へ送信する。この際、ハローフレーム生成部３５は、ルーティングテーブルＴ４を参照して、登録されているＧＤ毎に、当該ＧＤに対応する隣接ノード装置１のルートコストＣＲｏｕｔｅの内で最小のルートコストＣＲｏｕｔｅを特定し、特定したルートコストＣＲｏｕｔｅを当該ＧＤのノードＩＤと対応付けてそれぞれハローフレームに格納する。
【００９６】
ＡＣＫフレーム処理部３６は、データフレーム処理部３３によるＡＣＫフレームの生成の指示に応答して、ＡＣＫフレームを生成し、通信部１０を介して、受信したデータフレームの送信元のノード装置１（ＬＳ）に生成したＡＣＫフレームを送信する。
【００９７】
次に、図１２を参照して、本実施形態１におけるフレーム受信処理の流れについて説明する。図１２は、本実施形態１におけるフレーム受信処理のフローを説明するためのフローチャートの例である。本フレーム受信処理は、フレームの受信をトリガとして開始される。
【００９８】
フレーム種別特定部３１は、フレームを受信したか否かを判定する（ステップＳ００１）。フレーム種別特定部３１によりフレームを受信していないと判定された場合には（ステップＳ００１；ＮＯ）、処理はステップＳ００１の処理を繰り返し、フレームの受信を待つ。
【００９９】
一方、フレームを受信したと判定した場合には（ステップＳ００１；ＹＥＳ）、フレーム種別特定部３１は、受信したフレームのヘッダを解析し、フレームタイプに基づいて、フレームの種別を特定し（ステップＳ００２）、特定した種別がデータフレームか否かを判定する（ステップＳ００３）。
【０１００】
データフレームであると判定した場合には（ステップＳ００３；ＹＥＳ）、フレーム種別特定部３１は、受信したフレームをデータフレーム処理部３３に出力する（ステップＳ００４）。そして、データフレーム処理部３３は、ルート選択部３４などと連係して、受信したデータフレームの転送処理を行い（ステップＳ００５）、処理はステップＳ００１の処理へと戻り、前述の処理を繰り返す。
【０１０１】
一方、データフレームではないと判定した場合には（ステップＳ００３；ＮＯ）、フレーム種別特定部３１は、更に、特定した種別がハローフレームか否かを判定する（ステップＳ００６）。
【０１０２】
ＡＣＫフレームであると判定した場合には（ステップＳ００６；ＮＯ）、フレーム種別特定部３１は、受信したＡＣＫフレームをＡＣＫフレーム処理部３６に出力し（ステップＳ００７）、処理はステップＳ００１の処理へと戻り、前述の処理を繰り返す。
【０１０３】
一方、ハローフレームであると判定した場合には（ステップＳ００６；ＹＥＳ）、フレーム種別特定部３１は、受信したフレームをリンク管理部３２に出力する（ステップＳ００８）。そして、リンク管理部３２は、受信回数管理テーブルＴ３とルーティングテーブルＴ４の更新処理を行い（ステップＳ００９）、処理はステップＳ００１の処理へと戻り、前述の処理を繰り返す。
【０１０４】
次に、図１３を参照して、本実施形態１における転送処理の流れについて説明する。図１３は、本実施形態１における転送処理のフローを説明するためのフローチャートの例である。本転送処理は、上述のフレーム受信処理のステップＳ００５の処理に対応する処理である。
【０１０５】
データフレーム処理部３３は、受信したデータフレームのヘッダを解析し、ＬＤが自ノードＩＤと一致するか否かを判定する（ステップＳ１０１）。
【０１０６】
ＬＤが自ノードＩＤと一致しないと判定した場合には（ステップＳ１０１；ＮＯ）、データフレーム処理部３３は、受信したデータフレームを破棄する（ステップＳ１０２）。そして、本処理は終了する。
【０１０７】
一方、ＬＤが自ノードＩＤと一致すると判定した場合には（ステップＳ１０１；ＹＥＳ）、データフレーム処理部３３は、ＡＣＫフレーム処理部３６に対して、ＡＣＫフレームの生成の指示を行う（ステップＳ１０３）。そして、ＡＣＫフレーム処理部３６は、ＡＣＫフレームを生成し、通信部１０を介して、送信元のノード装置１（ＬＳ）に生成したＡＣＫフレームを送信する（ステップＳ１０４）。
【０１０８】
そして、データフレーム処理部３３は、ＧＤが自ノードＩＤと一致するか否かを判定する（ステップＳ１０５）。すなわち、データフレーム処理部３３は、受信したデータフレームの最終的な宛先が自ノード装置１か否かを判定する。
【０１０９】
ＧＤが自ノードＩＤと一致すると判定した場合には（ステップＳ１０５；ＹＥＳ）、データフレーム処理部３３は、受信したデータフレームを上位層に出力し、上位層は、データフレームの入力に応答して、受信したデータフレームの処理を行う（ステップＳ１０６）。そして、本処理は終了する。
【０１１０】
一方、ＧＤが自ノードＩＤと一致しないと判定した場合には（ステップＳ１０５；ＮＯ）、データフレーム処理部３３は、ルート選択部３４に対して、ＬＤの選択を指示する（ステップＳ１０７）。
【０１１１】
ＬＤの選択の指示を受けたルート選択部３４は、転送対象のデータフレームのＧＤに対応するルーティングテーブルＴ４を特定し（ステップＳ１０８）、ＧＤまでのルートコストＣＲｏｕｔｅが最小となるように、ＬＤを選択する（ステップＳ１０９）。そして、ルート選択部３４は、データフレーム処理部３３に対し、選択したＬＤを通知する（ステップＳ１１０）。
【０１１２】
選択されたＬＤの通知を受けたデータフレーム処理部３３は、ヘッダの設定を行い（ステップＳ１１１）、通信部１０を介して、ルート選択部３４により選択されたＬＤである隣接ノード装置１にデータフレームを転送する（ステップＳ１１２）。そして、本処理は終了する。
【０１１３】
次に、図１４と図１５を参照して、本実施形態１における更新処理の流れについて説明する。図１４と図１５は、それぞれ、本実施形態１における更新処理のフローを説明するためのフローチャートの例の一部と、他の一部である。本更新処理は、上述のフレーム受信処理のステップＳ００９の処理に対応する処理である。
【０１１４】
リンク管理部３２は、受信したハローフレームを解析し、送信元ＩＤに基づいて、ハローフレームの送信元の隣接ノード装置１を特定し（ステップＳ２０１）、特定した隣接ノード装置１のエントリが受信回数管理テーブルＴ３に有るか否かを判定する（ステップＳ２０２）。
【０１１５】
特定した隣接ノード装置１のエントリは存在しないと判定した場合には（ステップＳ２０２；ＮＯ）、リンク管理部３２は、エントリを追加し、送信元ＩＤと受信回数“１”とを対応付けて受信回数管理テーブルＴ３に格納する（ステップＳ２０３）。そして、処理は後述のステップＳ２０５の処理へと進む。
【０１１６】
一方、特定した隣接ノード装置１のエントリが存在すると判定した場合には（ステップＳ２０２；ＹＥＳ）、リンク管理部３２は、特定した隣接ノード装置１に対応する受信回数をインクリメントする（ステップＳ２０４）。
【０１１７】
そして、リンク管理部３２は、受信したハローフレームのＦＩＤに基づいて、送信元のノード装置１におけるハローフレームの送信回数を特定する（ステップＳ２０５）。そして、リンク管理部３２は、インクリメントした後の受信回数と特定した送信回数とに基づいて、ハローフレームの受信率を算出すると共に（ステップＳ２０６）、フレーム長管理テーブルＴ１を参照して、各フレームタイプのフレーム長（ＬＤ、ＬＡ、ＬＨ）を取得する（ステップＳ２０７）。
【０１１８】
そして、リンク管理部３２は、算出したハローフレームの受信率と取得した各フレームタイプのフレーム長とに基づいて、上述の式１３に従って、受信したハローフレームの送信元のノード装置１との間のリンクおけるユニキャストフレームの到達率ｉを算出する（ステップＳ２０８）。
【０１１９】
そして、リンク管理部３２は、閾値管理テーブルＴ２を参照して、閾値Ｓｋを取得し（ステップＳ２０９）、取得した閾値Ｓｋに基づいて、算出した到達率ｉを離散化する（ステップＳ２１０）。
【０１２０】
そして、リンク管理部３２は、離散化した後の値ｉＳの逆数をリンクコストＣＬｉｎｋとして算出し（ステップＳ２１１）、算出したリンクコストＣＬｉｎｋで、ルーティングテーブルＴ４の特定した隣接ノード装置１に対応するリンクコストＣＬｉｎｋをそれぞれ更新する（ステップＳ２１２）。この際、特定した隣接ノード装置１のエントリがルーティングテーブルＴ４に存在しない場合、あるいは、ハローフレームに含まれるルートコストＣＲｏｕｔｅに対応付けられているＧＤの一部に特定した隣接ノード装置１のエントリが存在しない場合に、リンク管理部３２は、エントリを追加して、対応するフィールドに算出したリンクコストＣＬｉｎｋを格納する。
【０１２１】
そして、リンク管理部３２は、受信したハローフレームに含まれる各ルートコストＣＲｏｕｔｅに算出したリンクコストＣＬｉｎｋを積算して、自ノード装置１までのルートコストＣＲｏｕｔｅを算出する（ステップＳ２１３）。
【０１２２】
そして、リンク管理部３２は、受信したハローフレームに含まれる各ルートコストＣＲｏｕｔｅに算出したリンクコストＣＬｉｎｋを積算した後のルートコストＣＲｏｕｔｅで、ルーティングテーブルＴ４の対応するルートコストＣＲｏｕｔｅをそれぞれ更新する（ステップＳ２１４）。そして、本処理は終了する。
【０１２３】
次に、図１６を参照して、本実施形態１におけるハローフレーム生成処理の流れについて説明する。図１６は、本実施形態１におけるハローフレーム生成処理のフローを説明するためのフローチャートの例である。本ハローフレーム生成処理は、所定のタイミングの到来をトリガとして開始される。
【０１２４】
ハローフレーム生成部３５は、所定のタイミングが到来したか否かを判定する（ステップＳ３０１）。ハローフレーム生成部３５により、所定のタイミングはまだ到来していないと判定された場合には（ステップＳ３０１；ＮＯ）、処理はステップＳ３０１の処理を繰り返し、所定のタイミングの到来を待つ。
【０１２５】
一方、所定のタイミングが到来したと判定した場合には（ステップＳ３０１；ＹＥＳ）、ハローフレーム生成部３５は、ルーティングテーブルＴ４を参照して、登録されているＧＤ毎に、当該ＧＤに対応する隣接ノード装置１のルートコストＣＲｏｕｔｅの内で最小のルートコストＣＲｏｕｔｅを特定する（ステップＳ３０２）。そして、ハローフレーム生成部３５は、当該ＧＤのノードＩＤと特定したルートコストＣＲｏｕｔｅとの組を含むハローフレームを生成する（ステップＳ３０３）。
【０１２６】
そして、ハローフレーム生成部３５は、通信部１０を介して、生成したハローフレームを隣接ノード装置１へ送信する（ステップＳ３０４）。そして、処理はステップＳ３０１の処理へと戻り、前述の処理を繰り返す。
【０１２７】
上記実施形態１によれば、ノード装置１は、隣接ノード装置１との間のリンクにおける到達率ｉを算出し、使用頻度ＦＵ（ｉ）が高いリンクにおける到達率ｉが多く存在する範囲における閾値Ｓｋの間隔が、他の範囲と比較して、より狭くなるように設定されている閾値Ｓｋに基づいて、算出した到達率ｉを離散化する。そして、ノード装置１は、離散化した後の値ｉＳに基づいて、リンクコストＣＬｉｎｋを算出し、隣接ノード装置１から到達可能な各ＧＤまでの経路毎のルートコストＣＲｏｕｔｅを隣接ノード装置１から取得する。そして、ノード装置１は、取得したルートコストＣＲｏｕｔｅに算出したリンクコストＣＬｉｎｋを積算して、自ノード装置１から隣接ノード装置１を経由して到達可能な各ＧＤまでの経路のルートコストＣＲｏｕｔｅを算出する。そして、ノード装置１は、データフレームを送信する際に、自ノード装置１から送信対象のデータフレームのＧＤまでの経路のルートコストＣＲｏｕｔｅに基づいて、データフレームの送信先となる隣接ノード装置１を選択する。
【０１２８】
このように構成することで、ループ経路の発生を抑制しつつ、使用頻度ＦＵ（ｉ）が高いリンクにおける到達率ｉと離散化後の値ｉＳとの誤差をより小さくすることが可能となり、これにより、より適した経路選択が可能となる。
【０１２９】
また、上記実施形態１によれば、ノード装置１は、ハローフレームの受信率を算出し、算出したハローフレームの受信率に基づいて、リンクコストＣＬｉｎｋを算出した。このように構成することで、ハローフレームは定期的に送信されるため、定期的にリンクコストＣＬｉｎｋを算出することが可能となる。したがって、適切な経路を維持することが可能となる。
【０１３０】
また、上記実施形態１によれば、ノード装置１は、自ノード装置１から送信対象のデータフレームのＧＤまでの経路のルートコストＣＲｏｕｔｅが最小となるように、データフレームの送信先となる隣接ノード装置１を選択する。このように構成することで、より適切な経路を選択することが可能となる。
【０１３１】
また、上記実施形態１によれば、ノード装置１は、特定のフレームタイプのフレームの受信回数と受信した特定のフレームタイプのフレームに含まれる当該特定のフレームタイプのフレームが自ノード装置１に送信された送信回数とに基づいて、受信率を算出した。このように構成することで、簡単な方法で、ネットワーク負荷を増大させることなく、リンクコストＣＬｉｎｋを算出することが可能となる。
【０１３２】
（実施形態２）
本実施形態２においては、ノード装置１が閾値管理テーブルＴ２で管理している閾値Ｓｋを更新する場合について説明する。
【０１３３】
図１７は、本実施形態２におけるノード装置１の構成例を示す機能ブロック図である。本実施形態２におけるノード装置１の基本的な構成は、実施形態１の場合と同じである。但し、図１７に示すように、記憶部２０のデータエリアに使用頻度管理テーブルＴ５を格納する点で、実施形態１の場合と異なっている。また、閾値管理テーブルＴ２の構成が実施形態１の場合と異なっている。また、リンク管理部３２とデータフレーム処理部３３とハローフレーム生成部３５が果たす機能が、実施形態１の場合と若干異なっている。
【０１３４】
ここで、図１８と図１９を参照して、記憶部２０のデータエリアに格納されている閾値管理テーブルＴ２と使用頻度管理テーブルＴ５について、それぞれ、説明する。
【０１３５】
図１８は、本実施形態２における閾値管理テーブルＴ２の例を示す図である。本実施形態２における閾値管理テーブルＴ２は、図１８に示すように、各閾値Ｓｋの値が管理されているテーブルであり、更に、閾値Ｓｋが更新された際にセットされる更新フラグが対応付けられている。
【０１３６】
更新フラグは、上述したように、閾値Ｓｋが更新されたか否かを示すフラグであり、リンク管理部３２が閾値Ｓｋを更新した際に、閾値Ｓｋが更新されたことを示す値“１”にリンク管理部３２により変更される。そして、ハローフレーム生成部３５が、更新後の閾値Ｓｋを含むハローフレーム（詳しくは後述）を生成し、隣接ノード装置１に送信した際に、更新フラグは、ハローフレーム生成部３５により、初期化され、再び、“０”に変更される。
【０１３７】
図１９は、本実施形態２における使用頻度管理テーブルＴ５の例を示す図である。本実施形態２における使用頻度管理テーブルＴ５は、隣接ノード装置１との間のリンクの使用頻度ＦＵ（ｉ）、つまり、データフレームを送信する際に、当該リンクを構成する隣接ノード装置１を転送先（ＬＤ）とした回数を管理するテーブルである。本実施形態２における使用頻度管理テーブルＴ５は、図１９に示すように、リンクが存在する隣接ノード装置毎に、当該リンクの到達率ｉと使用頻度ＦＵ（ｉ）とフラグとが対応付けられているテーブルである。
【０１３８】
使用頻度ＦＵ（ｉ）は、対応する到達率ｉのリンクがデータフレームを転送する際に使用された回数であり、データフレーム処理部３３により対応する隣接ノード装置１が転送先として選択される度にインクリメントされる。
【０１３９】
フラグは、対応する隣接ノード装置１との間のリンクにおける最新の到達率ｉを示すフラグであり、フラグ値“１”が、最新の到達率ｉであることを示している。
【０１４０】
図１７に戻り、本実施形態２におけるリンク管理部３２とデータフレーム処理部３３とハローフレーム生成部３５がそれぞれ果たす機能について、実施形態１の場合と異なる部分を中心に説明する。
【０１４１】
リンク管理部３２は、更に、閾値管理テーブルＴ２の管理を行う。より具体的には、リンク管理部３２は、受信したハローフレームを解析し、ハローフレームに閾値Ｓｋが含まれている場合に、ハローフレームに含まれている閾値Ｓｋで、閾値管理テーブルＴ２に登録されている閾値Ｓｋをそれぞれ更新する。そして、リンク管理部３２は、閾値管理テーブルＴ２の更新フラグの値を“１”に変更する。
【０１４２】
また、リンク管理部３２は、使用頻度管理テーブルＴ５の管理を行う。より具体的には、リンク管理部３２は、リンクコストＣＬｉｎｋを算出する過程で算出した到達率ｉを対応する隣接ノード装置１と対応付けて、使用頻度管理テーブルＴ５に格納すると共に、対応する使用頻度ＦＵ（ｉ）のフィールドに初期値“０”を格納する。そして、リンク管理部３２は、対応する隣接ノード装置１のフラグ値を初期化し、格納した最新の到達率ｉに対応するフラグ値を“１”に変更する。
【０１４３】
データフレーム処理部３３は、更に、所定のタイミング（例えば、定期的に）が到来すると、使用頻度管理テーブルＴ５を参照して、使用頻度管理テーブルＴ５の登録内容を示す使用頻度情報を、ペイロードとして含むデータフレームを生成し、ＧＷ装置１を最終宛先（ＧＤ）として、送信する。そして、データフレーム処理部３３は、使用頻度管理テーブルＴ５を初期化する。本実施形態２における使用頻度情報は、到達率ｉと使用頻度ＦＵ（ｉ）とを対応付けた情報である。
【０１４４】
また、データフレーム処理部３３は、データフレームを隣接ノード装置１に転送した際に、使用頻度管理テーブルＴ５の対応する使用頻度ＦＵ（ｉ）をインクリメントする。より具体的には、データフレーム処理部３３は、使用頻度管理テーブルＴ５を参照して、転送先（ＬＤ）として選択した隣接ノード装置１に対応する使用頻度ＦＵ（ｉ）の内、対応するフラグ値が“１”の使用頻度ＦＵ（ｉ）を特定し、特定した使用頻度ＦＵ（ｉ）をインクリメントする。
【０１４５】
ハローフレーム生成部３５は、所定のタイミング（例えば、定期的に）が到来すると、詳しくは後述する図２０に例示するヘッダのハローフレームを生成し、通信部１０を介して、生成したハローフレームを隣接ノード装置１へ送信する。この際、ハローフレーム生成部３５は、ルーティングテーブルＴ４を参照して、登録されているＧＤ毎に、当該ＧＤに対応する隣接ノード装置１のルートコストＣＲｏｕｔｅの内で最小のルートコストＣＲｏｕｔｅを特定し、特定したルートコストＣＲｏｕｔｅを当該ＧＤのノードＩＤと対応付けてそれぞれハローフレームに格納する。また、ハローフレーム生成部３５は、閾値管理テーブルＴ２を参照して、更新フラグのフラグ値が“１”の場合には、閾値管理テーブルＴ２に登録されている閾値Ｓｋを取得し、取得した閾値Ｓｋをハローフレームに格納する。そして、ハローフレーム生成部３５は、閾値管理テーブルＴ２の更新フラグを初期化する。
【０１４６】
ここで、図２０と図２１を参照して、本実施形態２におけるハローフレームのヘッダのフォーマットについて説明する。図２０は、本実施形態２におけるハローフレームのヘッダのフォーマット例を示す図であり、図２１は、図２０に示すフォーマット例における各フィールドの説明である。
【０１４７】
本実施形態２におけるハローフレームのヘッダは、図２０に示すように、送信元ＩＤと、ＦＩＤと、フレームタイプと、ＧＤとルートコストＣＲｏｕｔｅとの組と、閾値Ｓｋと、を含む。
【０１４８】
閾値Ｓｋは、閾値Ｓｋが更新された際に格納される更新後の閾値Ｓｋであり、閾値Ｓｋが更新されていない場合には、ＮＵＬＬが格納される。
【０１４９】
次に、図２２は、本実施形態２におけるＧＷ装置１として機能するノード装置１の構成例を示す機能ブロック図である。本実施形態２おけるＧＷ装置１の基本的な構成は、通常のノード装置１の構成と同じである。
【０１５０】
但し、本実施形態２のＧＷ装置１の制御部３０が、図２２に示すように、使用頻度管理部３７と、閾値算出部３８と、を更に備える点で、通常のノード装置１とは異なっている。また、本実施形態２におけるＧＷ装置１の記憶部２０は、図２２に示すように、使用率算出用テーブルＴ６を更にデータエリアに格納する点で、通常のノード装置１とは異なっている。
【０１５１】
ここで、図２３を参照して、ＧＷ装置１の記憶部２０のデータエリアに格納されている使用率算出用テーブルＴ６について説明する。図２３は、本実施形態２における使用率算出用テーブルＴ６の例を示す図である。本実施形態２における使用率算出用テーブルＴ６は、図２３に示すように、到達率ｉ毎に、使用頻度ＦＵ（ｉ）と使用率ＵＲ（ｉ）とが対応付けられているテーブルである。
【０１５２】
到達率ｉは、ＧＷ装置１の配下の各ノード装置１から収集した各リンクのユニキャストフレームの到達率ｉである。使用頻度ＦＵ（ｉ）は、対応する到達率ｉのリンクの使用頻度であり、配下の各ノード装置１から収集したリンクの使用頻度ＦＵ（ｉ）である。使用率ＵＲ（ｉ）は、対応する到達率ｉのリンクの使用率であり、閾値算出部３８により算出され、格納される。
【０１５３】
図２２に戻り、使用頻度管理部３７は、使用頻度情報をペイロードとして含む自ＧＷ装置１宛のデータフレームを受信すると、到達率ｉと使用頻度ＦＵ（ｉ）とを対応付けて、使用率算出用テーブルＴ６に格納する。この際、使用頻度管理部３７は、到達率ｉと一致するエントリが既に存在する場合には、そのエントリの使用頻度ＦＵ（ｉ）にデータフレームの対応する使用頻度ＦＵ（ｉ）を積算する。一方、到達率ｉと一致するエントリが存在しない場合には、使用頻度管理部３７は、エントリを追加して、到達率ｉと使用頻度ＦＵ（ｉ）とを対応付けて、使用率算出用テーブルＴ６に格納する。
【０１５４】
閾値算出部３８は、所定のタイミング（例えば、定期的に）が到来すると、使用率算出用テーブルＴ６を参照して、使用頻度ＦＵ（ｉ）に基づいて、登録されている到達率ｉ毎に使用率ＵＲ（ｉ）を算出する。そして、閾値算出部３８は、算出した使用率ＵＲ（ｉ）で、使用率算出用テーブルＴ６の対応する使用率ＵＲ（ｉ）をそれぞれ更新する。
【０１５５】
そして、閾値算出部３８は、到達率ｉと対応する更新後の使用率ＵＲ（ｉ）とに基づいて、上述した式１で定義されている推定メトリックＭＥが最小となる閾値Ｓｋを算出する。そして、閾値算出部３８は、ハローフレーム生成部３５に対して、算出した閾値Ｓｋを含むハローフレームの生成を指示する。ハローフレーム生成部３５は、これに応答して、閾値算出部３８により算出された閾値Ｓｋを格納した、図２０に例示するヘッダのハローフレームを生成して、送信する。これにより、配下の各ノード装置１は閾値管理テーブルＴ２に格納されている閾値Ｓｋを更新することが可能となる。
【０１５６】
次に、図２４を参照して、本実施形態２における転送処理の流れについて説明する。図２４は、本実施形態２における転送処理のフローを説明するためのフローチャートの例である。本転送処理は、実施形態１で説明したフレーム受信処理のステップＳ００５の処理に対応する処理である。
【０１５７】
データフレーム処理部３３は、受信したデータフレームのヘッダを解析し、ＬＤが自ノードＩＤと一致するか否かを判定する（ステップＳ１０１）。
【０１５８】
ＬＤが自ノードＩＤと一致しないと判定した場合には（ステップＳ１０１；ＮＯ）、データフレーム処理部３３は、受信したデータフレームを破棄する（ステップＳ１０２）。そして、本処理は終了する。
【０１５９】
一方、ＬＤが自ノードＩＤと一致すると判定した場合には（ステップＳ１０１；ＹＥＳ）、データフレーム処理部３３は、ＡＣＫフレーム処理部３６に対して、ＡＣＫフレームの生成の指示を行う（ステップＳ１０３）。そして、ＡＣＫフレーム処理部３６は、ＡＣＫフレームを生成し、通信部１０を介して、送信元のノード装置１（ＬＳ）に生成したＡＣＫフレームを送信する（ステップＳ１０４）。
【０１６０】
そして、データフレーム処理部３３は、ＧＤが自ノードＩＤと一致するか否かを判定する（ステップＳ１０５）。すなわち、データフレーム処理部３３は、受信したデータフレームの最終的な宛先が自ノード装置１か否かを判定する。
【０１６１】
ＧＤが自ノードＩＤと一致すると判定した場合には（ステップＳ１０５；ＹＥＳ）、データフレーム処理部３３は、受信したデータフレームを上位層に出力し、上位層は、データフレームの入力に応答して、受信したデータフレームの処理を行う（ステップＳ１０６）。そして、本処理は終了する。
【０１６２】
一方、ＧＤが自ノードＩＤと一致しないと判定した場合には（ステップＳ１０５；ＮＯ）、データフレーム処理部３３は、ルート選択部３４に対して、ＬＤの選択を指示する（ステップＳ１０７）。
【０１６３】
ＬＤの選択の指示を受けたルート選択部３４は、転送対象のデータフレームのＧＤに対応するルーティングテーブルＴ４を特定し（ステップＳ１０８）、ＧＤまでのルートコストＣＲｏｕｔｅが最小となるように、ＬＤを選択する（ステップＳ１０９）。そして、ルート選択部３４は、データフレーム処理部３３に対し、選択したＬＤを通知する（ステップＳ１１０）。
【０１６４】
選択されたＬＤの通知を受けたデータフレーム処理部３３は、ヘッダの設定を行い（ステップＳ１１１）、通信部１０を介して、ルート選択部３４により選択されたＬＤである隣接ノード装置１にデータフレームを転送する（ステップＳ１１２）。
【０１６５】
そして、データフレーム処理部３３は、使用頻度管理テーブルＴ５を参照して、転送先（ＬＤ）として選択した隣接ノード装置１に対応する使用頻度ＦＵ（ｉ）の内、対応するフラグ値が“１”の使用頻度ＦＵ（ｉ）を特定し（ステップＳ１１３）、特定した使用頻度ＦＵ（ｉ）をインクリメントする（ステップＳ１１４）。そして、本処理は終了する。
【０１６６】
次に、図２５と図２６を参照して、本実施形態２における更新処理の流れについて説明する。図２５と図２６は、それぞれ、本実施形態２における更新処理のフローを説明するためのフローチャートの例の一部と、他の一部である。本更新処理は、実施形態１で説明したフレーム受信処理のステップＳ００９の処理に対応する処理である。
【０１６７】
リンク管理部３２は、受信したハローフレームを解析し、送信元ＩＤに基づいて、ハローフレームの送信元の隣接ノード装置１を特定し（ステップＳ２０１）、特定した隣接ノード装置１のエントリが受信回数管理テーブルＴ３に有るか否かを判定する（ステップＳ２０２）。
【０１６８】
特定した隣接ノード装置１のエントリは存在しないと判定した場合には（ステップＳ２０２；ＮＯ）、リンク管理部３２は、エントリを追加し、送信元ＩＤと受信回数“１”とを対応付けて受信回数管理テーブルＴ３に格納する（ステップＳ２０３）。そして、処理は後述のステップＳ２０５の処理へと進む。
【０１６９】
一方、特定した隣接ノード装置１のエントリが存在すると判定した場合には（ステップＳ２０２；ＹＥＳ）、リンク管理部３２は、特定した隣接ノード装置１に対応する受信回数をインクリメントする（ステップＳ２０４）。
【０１７０】
そして、リンク管理部３２は、受信したハローフレームのＦＩＤに基づいて、送信元のノード装置１におけるハローフレームの送信回数を特定する（ステップＳ２０５）。そして、リンク管理部３２は、インクリメントした後の受信回数と特定した送信回数とに基づいて、ハローフレームの受信率を算出すると共に（ステップＳ２０６）、フレーム長管理テーブルＴ１を参照して、各フレームタイプのフレーム長（ＬＤ、ＬＡ、ＬＨ）を取得する（ステップＳ２０７）。
【０１７１】
そして、リンク管理部３２は、算出したハローフレームの受信率と取得した各フレームタイプのフレーム長とに基づいて、上述の式１３に従って、受信したハローフレームの送信元のノード装置１との間のリンクおけるユニキャストフレームの到達率ｉを算出する（ステップＳ２０８）。
【０１７２】
そして、リンク管理部３２は、算出した到達率ｉを対応する隣接ノード装置１と対応付けて、使用頻度管理テーブルＴ５に格納すると共に（ステップＳ４０１）、対応する使用頻度ＦＵ（ｉ）のフィールドに初期値“０”を格納する（ステップＳ４０２）。そして、リンク管理部３２は、対応する隣接ノード装置１のフラグ値を初期化し（ステップＳ４０３）、格納した最新の到達率ｉに対応するフラグ値を“１”に変更する（ステップＳ４０４）。
【０１７３】
そして、リンク管理部３２は、閾値管理テーブルＴ２を参照して、閾値Ｓｋを取得し（ステップＳ２０９）、取得した閾値Ｓｋに基づいて、算出した到達率ｉを離散化する（ステップＳ２１０）。
【０１７４】
そして、リンク管理部３２は、離散化した後の値ｉＳの逆数をリンクコストＣＬｉｎｋとして算出し（ステップＳ２１１）、算出したリンクコストＣＬｉｎｋで、ルーティングテーブルＴ４の特定した隣接ノード装置１に対応するリンクコストＣＬｉｎｋをそれぞれ更新する（ステップＳ２１２）。この際、特定した隣接ノード装置１のエントリがルーティングテーブルＴ４に存在しない場合、あるいは、ハローフレームに含まれるルートコストＣＲｏｕｔｅに対応付けられているＧＤの一部に特定した隣接ノード装置１のエントリが存在しない場合に、リンク管理部３２は、エントリを追加して、対応するフィールドに算出したリンクコストＣＬｉｎｋを格納する。
【０１７５】
そして、リンク管理部３２は、受信したハローフレームに含まれる各ルートコストＣＲｏｕｔｅに算出したリンクコストＣＬｉｎｋを積算して、自ノード装置１までのルートコストＣＲｏｕｔｅを算出する（ステップＳ２１３）。
【０１７６】
そして、リンク管理部３２は、受信したハローフレームに含まれる各ルートコストＣＲｏｕｔｅに算出したリンクコストＣＬｉｎｋを積算した後のルートコストＣＲｏｕｔｅで、ルーティングテーブルＴ４の対応するルートコストＣＲｏｕｔｅをそれぞれ更新する（ステップＳ２１４）。
【０１７７】
そして、リンク管理部３２は、受信したハローフレームに閾値Ｓｋが含まれているか否かを判定する（ステップＳ４０５）。リンク管理部３２により、閾値Ｓｋは含まれていないと判定された場合には（ステップＳ４０５；ＮＯ）、本処理は終了する。
【０１７８】
一方、閾値Ｓｋが含まれていると判定した場合には（ステップＳ４０５；ＹＥＳ）、リンク管理部３２は、ハローフレームに含まれている閾値Ｓｋで、閾値管理テーブルＴ２に登録されている閾値Ｓｋをそれぞれ更新する（ステップＳ４０６）。そして、リンク管理部３２は、閾値管理テーブルＴ２の更新フラグの値を“１”に変更し（ステップＳ４０７）、本処理は終了する。
【０１７９】
次に、図２７を参照して、本実施形態２におけるハローフレーム生成処理の流れについて説明する。図２７は、本実施形態２におけるハローフレーム生成処理のフローを説明するためのフローチャートの例である。本ハローフレーム生成処理は、所定のタイミングの到来をトリガとして開始される。
【０１８０】
ハローフレーム生成部３５は、所定のタイミングが到来したか否かを判定する（ステップＳ３０１）。ハローフレーム生成部３５により、所定のタイミングはまだ到来していないと判定された場合には（ステップＳ３０１；ＮＯ）、処理はステップＳ３０１の処理を繰り返し、所定のタイミングの到来を待つ。
【０１８１】
一方、所定のタイミングが到来したと判定した場合には（ステップＳ３０１；ＹＥＳ）、ハローフレーム生成部３５は、ルーティングテーブルＴ４を参照して、登録されているＧＤ毎に、当該ＧＤに対応する隣接ノード装置１のルートコストＣＲｏｕｔｅの内で最小のルートコストＣＲｏｕｔｅを特定する（ステップＳ３０２）。
【０１８２】
そして、ハローフレーム生成部３５は、閾値管理テーブルＴ２を参照して、更新フラグのフラグ値が“１”であるか否かを判定する（ステップＳ５０１）。更新フラグのフラグ値が“１”ではないと判定した場合には（ステップＳ５０１；ＮＯ）、ハローフレーム生成部３５は、当該ＧＤのノードＩＤと特定したルートコストＣＲｏｕｔｅとの組を含むハローフレームを生成する（ステップＳ３０３）。そして、処理はステップＳ３０４の処理へと進む。
【０１８３】
一方、更新フラグのフラグ値は“１”であると判定した場合には（ステップＳ５０１；ＹＥＳ）、ハローフレーム生成部３５は、閾値管理テーブルＴ２に登録されている閾値Ｓｋを取得し（ステップＳ５０２）、当該ＧＤのノードＩＤと特定したルートコストＣＲｏｕｔｅとの組と、取得した閾値Ｓｋと、を含むハローフレームに生成する（ステップＳ５０３）。そして、ハローフレーム生成部３５は、閾値管理テーブルＴ２の更新フラグを初期化する（ステップＳ５０４）。
【０１８４】
そして、ハローフレーム生成部３５は、通信部１０を介して、生成したハローフレームを隣接ノード装置１へ送信する（ステップＳ３０４）。そして、処理はステップＳ３０１の処理へと戻り、前述の処理を繰り返す。
【０１８５】
次に、図２８を参照して、使用頻度情報をペイロードとして含むデータフレームの生成処理の流れについて説明する。図２８は、本実施形態２におけるデータフレーム生成処理のフローを説明するためのフローチャートの例である。本データフレーム生成処理は、所定のタイミングの到来をトリガとして開始される。
【０１８６】
データフレーム処理部３３は、所定のタイミングが到来したか否かを判定する（ステップＳ６０１）。データフレーム処理部３３により、所定のタイミングはまだ到来していないと判定された場合には（ステップＳ６０１；ＮＯ）、処理はステップＳ６０１の処理を繰り返し、所定のタイミングの到来を待つ。
【０１８７】
一方、所定のタイミングが到来したと判定した場合には（ステップＳ６０１；ＹＥＳ）、データフレーム処理部３３は、使用頻度管理テーブルＴ５を参照して、使用頻度情報をペイロードとして含むデータフレームを生成し、ＧＷ装置１を最終宛先（ＧＤ）として、送信する（ステップＳ６０２）。そして、データフレーム処理部３３は、使用頻度管理テーブルＴ５を初期化し（ステップＳ６０３）、本処理は、ステップＳ６０１の処理へと戻り、前述の処理を繰り返す。
【０１８８】
次に、図２９を参照して、ＧＷ装置１で実行される閾値算出処理の流れについて説明する。図２９は、本実施形態２におけるＧＷ装置１で実行される閾値算出処理のフローを説明するためのフローチャートの例である。本閾値算出処理は、所定のタイミングの到来をトリガとして開始される。
【０１８９】
閾値算出部３８は、所定のタイミングが到来したか否かを判定する（ステップＳ７０１）。閾値算出部３８により、所定のタイミングはまだ到来していないと判定された場合には（ステップＳ７０１；ＮＯ）、処理はステップＳ７０１の処理を繰り返し、所定のタイミングの到来を待つ。
【０１９０】
一方、所定のタイミングが到来したと判定した場合には（ステップＳ７０１；ＹＥＳ）、閾値算出部３８は、使用率算出用テーブルＴ６を参照して、使用頻度ＦＵ（ｉ）に基づいて、登録されている到達率ｉ毎に使用率ＵＲ（ｉ）を算出する（ステップＳ７０２）。そして、閾値算出部３８は、算出した使用率ＵＲ（ｉ）で、使用率算出用テーブルＴ６の対応する使用率ＵＲ（ｉ）をそれぞれ更新する（ステップＳ７０３）。
【０１９１】
そして、閾値算出部３８は、到達率ｉと対応する更新後の使用率ＵＲ（ｉ）とに基づいて、推定メトリックＭＥが最小となる閾値Ｓｋを算出し（ステップＳ７０４）、ハローフレーム生成部３５に対して、算出した閾値Ｓｋを含むハローフレームの生成を指示する（ステップＳ７０５）。
【０１９２】
ハローフレーム生成部３５は、これに応答して、閾値算出部３８により算出された閾値Ｓｋを格納したハローフレームを生成して、送信する（ステップＳ７０６）。そして、処理はステップＳ７０１の処理へと戻り、前述の処理を繰り返す。
【０１９３】
上記実施形態２によれば、ＧＷ装置１として機能するノード装置１は、配下のノード装置１から使用頻度情報を収集し、収集した使用頻度情報に基づいて、閾値Ｓｋを算出し、配下のノード装置１に算出した閾値Ｓｋを報知する。そして、配下の各ノード装置１は、報知された閾値Ｓｋで、閾値管理テーブルＴ２の閾値Ｓｋをそれぞれ更新する。このように構成することで、ループ経路の発生を抑制しつつ、より適した経路を維持し続けることが可能となる。
【０１９４】
なお、上記実施形態１と２において、到達率ｉは、ハローフレームの受信率と各フレームタイプのフレーム長とに基づいて、算出すると説明したが、これに限定されるものではなく、他の方法により到達率ｉを算出しても良い。例えば、隣接ノード装置１に対してデータフレームを送信し、データフレームの送信回数と送信先の隣接ノード装置１からのＡＣＫフレームの受信回数とに基づいて、ユニキャストフレームの到達率ｉを算出してよい。この際、到達率ｉを算出するために、測定用の専用フレームを利用してもよい。
【０１９５】
また、リンクを構成する隣接ノード装置１の双方で受信電界強度を測定し、測定した受信電界強度に基づいて、データフレームの受信率とＡＣＫフレームの受信率を算出することで、ユニキャスフレームの到達率ｉを算出してもよい。
【０１９６】
例えば、図１を参照して、データフレームの送信元（ＬＳ）をノード装置Ｎ２とし、送信先（ＬＤ）をノード装置Ｎ１とする。この場合、送信先（ＬＤ）のノード装置Ｎ１は、測定した受信電界強度に基づいてデータフレームの受信率を算出し、算出したデータフレームの受信率を、例えば、ＡＣＫフレームに含めて、送信元（ＬＳ）のノード装置Ｎ２に送信する。送信元（ＬＳ）のノード装置Ｎ２は、測定した受信電界強度に基づいてＡＣＫフレームの受信率を算出し、受信したＡＣＫフレームに含まれているデータフレームの受信率と算出したＡＣＫフレームの受信率とを乗算することで、当該隣接ノード装置１との間のリンクにおけるユニキャストフレームの到達率ｉを算出する。なお、データフレーム又はＡＣＫフレームの受信率は、測定した受信電界強度に基づいてＳＮＲ（Signal to Noise Ratio）を算出し、算出したＳＮＲに基づいて、算出することが可能である。
【０１９７】
また、上記実施形態１と２において、ハローフレームの受信率と各フレームタイプのフレーム長とに基づいて、ユニキャストフレームの到達率ｉを算出すると説明したが、これに限定されるものではなく、データフレームの受信率（又は、ＡＣＫフレームの受信率）と各フレームタイプのフレーム長とに基づいて、ユニキャストフレームの到達率ｉを算出してもよい。
【０１９８】
例えば、データフレームの受信率とデータフレームのフレーム長ＬＤとに基づいて、１ビットのデータの片方向の受信率を、同様の方法により、算出することが可能である。したがって、データフレームの受信率に基づいて、ユニキャストフレームの到達率ｉを算出することが可能である。この場合、データフレームに送信先の隣接ノード装置１にデータフレームを送信した回数を含めればよい。しかしながら、ハローフレームは定期的に送信されるため、定期的にリンクコストＣＬｉｎｋを算出することが可能である。したがって、ハローフレームの受信率に基づいて、リンクコストＣＬｉｎｋを算出するのが好ましい。
【０１９９】
また、上記実施形態１と２において、各フレームタイプのフレーム長が固定化されているものとして説明したが、これに限定されるものではなく、フレーム長が可変の場合には、例えば、各フレームタイプのフレーム長を、使用している無線方式で使用可能な最大フレーム長として、リンクコストＣＬｉｎｋを算出してもよい。また、各フレームタイプのフレーム長の平均値をそれぞれ算出し、算出した平均値を用いてリンクコストＣＬｉｎｋを算出してもよい。
【０２００】
また、上記実施形態１と２において、推定メトリックＭＥは式１で定義されているものであると説明した。しかしながら、これに限定されるものではなく、使用頻度ＦＵ（ｉ）は使用率ＵＲ（ｉ）に比例することから、推定メトリックＭＥは、使用率ＵＲ（ｉ）の替りに使用頻度ＦＵ（ｉ）を用いて、以下の式１４で定義されるものであってもよい。
【０２０１】
【数１４】
2015180014.tif 000016
【０２０２】
また、上記実施形態２において、ＧＷ装置１（図１においては、上述したように、ノード装置Ｎ１）は、閾値Ｓｋを算出し、算出した閾値Ｓｋを配下の各ノード装置１に報知すると説明した。しかしながら、これに限定されるものではなく、ＧＷ装置１は、使用頻度管理テーブルＴ６における到達率ｉと使用率ＵＲ（ｉ）とを対応付けた対応情報、つまり、到達率ｉを確率変数とした場合の確率分布を配下の各ノード装置１に報知し、各ノード装置１が閾値Ｓｋを算出するように構成してもよい。
【０２０３】
図３０は、実施形態におけるノード装置１のハードウェア構成の例を示す図である。図３などに示すノード装置１は、例えば、図３０に示す各種ハードウェアにより実現されてもよい。図３０の例では、ノード装置１は、ＭＰＵ２０１、ＰＨＹ（PHYsical layer）チップ２０２、およびタイマＩＣ（Integrated Circuit）２０３を備える。また、ノード装置１は、ＤＲＡＭ（Dynamic Random Access Memory）２０４、フラッシュメモリ２０５、無線通信モジュール２０６、および読取装置２０７を備える。
【０２０４】
ＭＰＵ２０１とＰＨＹチップ２０２の間を接続する通信インタフェースは、ＭＩＩ／ＭＤＩＯ（Media Independent Interface or Management Data Input/Output）２０９である。ＭＩＩとＭＤＩＯはいずれも、物理層とＭＡＣ（Media Access Control sublayer）副層との間のインタフェースである。また、ＭＰＵ２０１とタイマＩＣ２０３は、Ｉ２Ｃ／ＰＩＯ（Inter-Integrated Circuit or Parallel Input/Output）バス２１０を介して、接続されている。そして、ＤＲＡＭ２０４とフラッシュメモリ２０５と無線通信モジュール２０６と読取装置２０７は、ＰＣＩ（Peripheral Component Interconnect）バス２１１を介して、ＭＰＵ２０１に接続されている。
【０２０５】
ＭＰＵ２０１は、不揮発性記憶装置の一種であるフラッシュメモリ２０５に格納された動作プログラムをＤＲＡＭ２０４にロードし、ＤＲＡＭ２０４をワーキングメモリとして使いながら各種処理を実行する。ＭＰＵ２０１は、動作プログラムを実行することで、図３などに示す制御部３０の各機能部を実現することができる。
【０２０６】
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical disk）などのコンピュータで読み取り可能な記録媒体２０８に記憶して配布し、これをノード装置１の読取装置２０７で読み取ってコンピュータにインストールすることにより、上述の処理を実行するように構成してもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、ＰＨＹチップ２０２もしくは無線通信モジュール２０６を介して、ノード装置１のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
【０２０７】
なお、実施形態に応じて、ＤＲＡＭ２０４やフラッシュメモリ２０５以外の他の種類の記憶装置が利用されてもよい。例えば、ノード装置１は、ＣＡＭ（Content Addressable Memory）、ＳＲＡＭ（Static Random Access Memory）、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）などの記憶装置を有してもよい。
【０２０８】
図３などに示すフレーム長管理テーブルＴ１、閾値管理テーブルＴ２、受信回数管理テーブルＴ３、ルーティングテーブルＴ４、使用頻度管理テーブルＴ５、使用率算出用テーブルＴ６は、ＤＲＡＭ２０４、フラッシュメモリ２０５、あるいは不図示のその他の記憶装置により実現される。また、フラッシュメモリ２０５は、動作プログラムだけでなく、自ノードＩＤなども記憶している。
【０２０９】
ＰＨＹチップ２０２は、有線接続における物理層の処理を行う回路である。ネットワーク１００が無線ネットワークの場合には、ノード装置１はＰＨＹチップ２０２を備えなくてもよい。しかし、ノード装置１と外部ネットワークとの接続のために、ノード装置１はＰＨＹチップ２０２を備えていてもよい。
【０２１０】
例えば、ノード装置１は、イーサネット（登録商標）規格にしたがった有線ＬＡＮポートを備え、有線ＬＡＮポートに接続されたケーブルを介して外部ネットワークのＧＷ装置などに接続されていてもよい。
【０２１１】
その場合、ＭＰＵ２０１は、イーサネットフレームを生成し、ＭＩＩ／ＭＤＩＯ２０９を介してＰＨＹチップ２０２に出力することができる。そして、ＰＨＹチップ２０２は、ＭＰＵ２０１からの出力（すなわちイーサネットフレームを表す論理信号）を、ケーブルの種類に応じた信号（つまり電気信号または光信号）に変換し、ケーブルに出力する。こうして、ノード装置１はＰＨＹチップ２０２を用いて外部ネットワークにデータ（例えば、フレーム）を送信することができる。
【０２１２】
また、ＰＨＹチップ２０２は、ケーブルと有線ＬＡＮポートを介して外部ネットワークから入力される電気信号または光信号を、論理信号に変換し、ＭＩＩ／ＭＤＩＯ２０９を介してＭＰＵ２０１に出力することもできる。こうして、ノード装置１はＰＨＹチップ２０２を用いて外部ネットワークからデータ（例えば、フレーム）を受信することができる。
【０２１３】
タイマＩＣ２０３は、設定された時間が経過するまでカウントアップ動作を行い、設定された時間が経過すると割り込み信号を出力する回路である。
【０２１４】
無線通信モジュール２０６は、無線接続における物理層の処理を行うハードウェアである。無線通信モジュール２０６は、例えば、アンテナ、ＡＤＣ（Analog-to-Digital Converter）、ＤＡＣ（Digital-to-Analog Converter）、変調器、復調器、符号化器、復号器などを含む。
【０２１５】
なお、実施形態に応じて、ノード装置１のハードウェア構成は図３０とは異なっていてもよく、図３０に例示した規格・種類以外のその他のハードウェアをノード装置１に適用することもできる。
【０２１６】
例えば、図３などに示す制御部３０の各機能部は、ハードウェア回路により実現されてもよい。具体的には、ＭＰＵ２０１の代わりに、ＦＰＧＡ（Field Programmable Gate Array）などのリコンフィギュラブル回路や、ＡＳＩＣ（Application Specific Integrated Circuit）などにより、図３などに示す制御部３０の各機能部が実現されてもよい。もちろん、ＭＰＵ２０１とハードウェア回路の双方により、これらの機能部が実現されてもよい。
【０２１７】
以上において、いくつかの実施形態について説明した。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態を成すことができることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。
【０２１８】
以上の実施形態１と２を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出し、
予め設定されている複数の閾値に基づいて、算出した前記到達率を離散化し、
前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出し、
前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得し、
取得した前記ルートコストに算出した前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出し、
前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択し、
前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、
ことを特徴とするノード装置の経路選択方法。
（付記２）
前記閾値は、前記到達率を離散化した後の値の逆数と前記到達率の逆数との差と、前記到達率のリンクにおける前記使用頻度と、を乗算した値である乗算値を前記到達率毎に求め、前記到達率毎に求めた前記乗算値を積算した値が最小となるような閾値である、
ことを特徴とする付記１に記載のノード装置の経路選択方法。
（付記３）
前記閾値を、所定のタイミングで更新する、
ことを特徴とする付記１又は２に記載のノード装置の経路選択方法。
（付記４）
前記到達率を離散化した後の値の逆数を、前記隣接ノード装置との間の前記リンクにおける前記リンクコストとして算出する、
ことを特徴とする付記１乃至３のいずれか一に記載のノード装置の経路選択方法。
（付記５）
前記隣接ノード装置より送信された特定のフレームタイプのフレームの受信率を算出し、算出した前記受信率と各フレームタイプのフレーム長とに基づいて、前記到達率を算出する、
ことを特徴とする付記１乃至４のいずれか一に記載のノード装置の経路選択方法。
（付記６）
前記特定のフレームタイプのフレームはハローフレームである、
ことを特徴とする付記５に記載のノード装置の経路選択方法。
（付記７）
隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出する第１の算出手段と、
予め設定されている複数の閾値に基づいて、算出された前記到達率を離散化する離散化手段と、
前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出する第２の算出手段と、
前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得する第１の取得手段と、
取得された前記ルートコストに算出された前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出する第３の算出手段と、
前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択する選択手段と、
を備え、
前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、
ことを特徴とするノード装置。
（付記８）
前記閾値は、前記到達率を離散化した後の値の逆数と前記到達率の逆数との差と、前記到達率のリンクにおける前記使用頻度と、を乗算した値である乗算値を前記到達率毎に求め、前記到達率毎に求めた前記乗算値を積算した値が最小となるような閾値である、
ことを特徴とする付記７に記載のノード装置。
（付記９）
前記閾値を、所定のタイミングで更新する更新手段を、更に、備える、
ことを特徴とする付記７又は８に記載のノード装置。
（付記１０）
前記第２の算出手段は、前記到達率を離散化した後の値の逆数を、前記隣接ノード装置との間の前記リンクにおける前記リンクコストとして算出する、
ことを特徴とする付記７乃至９のいずれか一に記載のノード装置。
（付記１１）
前記第１の算出手段は、前記隣接ノード装置より送信された特定のフレームタイプのフレームの受信率を算出し、算出した前記受信率と各フレームタイプのフレーム長とに基づいて、前記到達率を算出する、
ことを特徴とする付記７乃至１０のいずれか一に記載のノード装置。
（付記１２）
前記特定のフレームタイプのフレームはハローフレームである、
ことを特徴とする付記１１に記載のノード装置。
（付記１３）
ゲートウェイ装置として機能し、
配下のノード装置から前記リンクの前記到達率と前記リンクの前記使用頻度とを対応付けた使用頻度情報を取得する第２の取得手段と、
取得された前記使用頻度情報に基づいて、前記閾値を算出する第４の算出手段と、
算出された前記閾値を前記配下の前記ノード装置に報知する報知手段と、
を、更に、備える、
ことを特徴とする付記７乃至１２のいずれか一に記載のノード装置。
（付記１４）
ノード装置のコンピュータに、
隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出し、
予め設定されている複数の閾値に基づいて、算出した前記到達率を離散化し、
前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出し、
前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得し、
取得した前記ルートコストに算出した前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出し、
前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択する、
処理を実行させ、
前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、
ことを特徴とするプログラム。
（付記１５）
ノード装置のコンピュータに、
隣接するノード装置である隣接ノード装置との間のリンクにおける双方向の受信率を乗算した値である到達率を算出し、
予め設定されている複数の閾値に基づいて、算出した前記到達率を離散化し、
前記到達率を離散化した後の値に基づいて、前記隣接ノード装置との間の前記リンクにおけるリンクコストを算出し、
前記隣接ノード装置から到達可能な各最終宛先のノード装置までの経路毎に、経路上の前記リンクの前記リンクコストの積算値であるルートコストを前記隣接ノード装置から取得し、
取得した前記ルートコストに算出した前記リンクコストを積算して、自ノード装置から前記隣接ノード装置を経由して到達可能な各最終宛先のノード装置までの経路のルートコストを算出し、
前記データフレームを送信する際に、自ノード装置から送信対象の前記データフレームの最終宛先のノード装置までの経路の前記ルートコストに基づいて、送信対象の前記データフレームの送信先となる前記隣接ノード装置を選択する、
処理を実行させ、
前記閾値は、使用頻度が高い前記リンクにおける前記到達率が多く存在する範囲における前記閾値の間隔が、他の範囲と比較して、より狭くなるように設定されている、
ことを特徴とするプログラムを記憶した記録媒体。
【符号の説明】
【０２１９】
１００    ネットワーク
Ｎｉ      ノード装置のノードＩＤ
１        ノード装置（又は、ＧＷ装置）
１０      通信部
２０      記憶部
Ｔ１      フレーム長管理テーブル
Ｔ２      閾値管理テーブル
Ｔ３      受信回数管理テーブル
Ｔ４      ルーティングテーブル
Ｔ５      使用頻度管理テーブル
Ｔ６      使用率算出用テーブル
３０      制御部
３１      フレーム種別特定部
３２      リンク管理部
３３      データフレーム処理部
３４      ルート選択部
３５      ハローフレーム生成部
３６      ＡＣＫフレーム処理部
３７      使用頻度管理部
３８      閾値算出部
２０１    ＭＰＵ
２０２    ＰＨＹチップ
２０３    タイマＩＣ
２０４    ＤＲＡＭ
２０５    フラッシュメモリ
２０６    無線通信モジュール
２０７    読取装置
２０８    記録媒体
２０９    ＭＩＩ／ＭＤＩＯ
２１０    Ｉ２Ｃ／ＰＩＯバス
２１１    ＰＣＩバス
【図１】
2015180014.tif 000017
【図３】
2015180014.tif 000018
【図４】
2015180014.tif 000019
【図５】
2015180014.tif 000020
【図６】
2015180014.tif 000021
【図７】
2015180014.tif 000022
【図８】
2015180014.tif 000023
【図９】
2015180014.tif 000024
【図１０】
2015180014.tif 000025
【図１１】
2015180014.tif 000026
【図１２】
2015180014.tif 000027
【図１３】
2015180014.tif 000028
【図１４】
2015180014.tif 000029
【図１５】
2015180014.tif 000030
【図１６】
2015180014.tif 000031
【図１７】
2015180014.tif 000032
【図１８】
2015180014.tif 000033
【図１９】
2015180014.tif 000034
【図２０】
2015180014.tif 000035
【図２１】
2015180014.tif 000036
【図２２】
2015180014.tif 000037
【図２３】
2015180014.tif 000038
【図２４】
2015180014.tif 000039
【図２５】
2015180014.tif 000040
【図２６】
2015180014.tif 000041
【図２７】
2015180014.tif 000042
【図２８】
2015180014.tif 000043
【図２９】
2015180014.tif 000044
【図３０】
2015180014.tif 000045
【図２】
2015180014.tif 000046