(57)【要約】【課題】単位時間当たりの送信総和時間の抵触によるフレーム送信が抑止されることを防止する。【解決手段】ネットワーク装置２０は、ネットワーク装置２０の単位時間当たりのデータの送信時間の総和を計測する。ネットワーク装置２０は、計測した送信時間の総和が第１の閾値以上となった場合に、宛先にデータを送信する際の転送先をネットワーク装置２０以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信する。また、ネットワーク装置２０は、迂回指示信号を隣接ノードから受信した場合に、迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードの候補から除外する。【選択図】図１
2014093668.tif 000002
【特許請求の範囲】
【請求項１】
自ネットワーク装置の単位時間当たりのデータの送信時間の総和を計測する計測部と、
前記送信時間の総和が上限値未満の第１の閾値以上となった場合に、宛先にデータを送信する際の転送先を自ネットワーク装置以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信する送信部と、
前記迂回指示信号を隣接ノードから受信した場合に、前記迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードから削除する更新部と
を有することを特徴とするネットワーク装置。
【請求項２】
前記送信部は、前記送信時間の総和が前記第１の閾値よりも大きい第２の閾値以上となった場合に、前記第１の閾値以上前記第２の閾値未満となった際に前記迂回指示信号を送信する隣接ノードの数よりも多くの隣接ノードに前記迂回指示信号を送信することを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
前記送信部は、前記送信時間の総和が前記第１の閾値よりも大きい第２の閾値以上となった場合に、全ての隣接ノードに前記迂回指示信号を送信することを特徴とする請求項１に記載のネットワーク装置。
【請求項４】
前記送信部は、前記送信時間の総和が前記第１の閾値未満となる第３の閾値未満となった場合に、前記宛先にデータを送信する際の転送先を自ネットワーク装置に戻すことを依頼する解除指示信号を、送信することを特徴とする請求項１、２または３に記載のネットワーク装置。
【請求項５】
コンピュータに、
前記コンピュータの単位時間当たりのデータの送信時間の総和を計測し、
前記送信時間の総和が上限値未満の第１の閾値以上となった場合に、宛先にデータを送信する際の転送先を前記コンピュータ以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信し、
迂回指示信号を隣接ノードから受信した場合に、前記迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードから削除する
各処理を実行させることを特徴とする送信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク装置等に関する。
【背景技術】
【０００２】
アドホックネットワークに含まれる各ノードは、隣接ノードとの間でハロー（Ｈｅｌｌｏ）フレームを送受信し、最終的な宛先に至る複数の経路を構築する。宛先に至る複数の経路の情報は、ルーティングテーブルに登録される。各ノードは、経路を構築した後も、定期的にハローフレームを送受信して各経路の通信品質を計算し、経路の維持や最適な経路を学習し、随時ルーティングテーブルの更新を行う。各ノードは、同一の宛先に至る複数の経路が存在する場合には、各経路に優先順位を設定し、優先順位の高い経路を選択してデータを転送する。
【０００３】
図１８は、従来のアドホックネットワークの一例を示す図である。図１８に示すように、このアドホックネットワークは、ノード１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ，１０Ｆ，１０Ｇ，１０Ｈ，１０Ｉ，１０Ｘを有する。以下の説明において、ノード１０Ａ〜１０Ｉ、１０Ｘをまとめて適宜、ノード１０と表記する。各ノード１０はハローフレームを送受信して、宛先「ノード１０Ｘ」に至る複数の経路を構築済みとする。
【０００４】
例えば、ノード１０Ｆがデータを宛先「ノード１０Ｘ」に送信する場合には、ノード１０Ｃ、ノードＤまたはノードＥにフレームを転送する経路を有するものとする。ノード１０Ｆから、宛先「ノード１０Ｘ」に至る複数の経路のうち、優先順位の最も高い経路を、ノード１０Ｆ，１０Ｃ，１０Ａ，１０Ｘの経路とすると、ノード１０Ｆは、ノード１０Ｃにフレームを転送する。以下の説明において、宛先「ノード１０Ｘ」に至る経路のうち、優先順位の最も高い経路上の隣接ノードを、第１転送先と表記する。ノード１０Ｆの第１転送先をノード１０Ｃとする。
【０００５】
ノード１０Ｇの第１転送先を、ノード１０Ｄとする。ノード１０Ｈの第１転送先を、ノード１０Ｅとする。ノード１０Ｉの第１転送先を、ノード１０Ｅとする。ノード１０Ｃの第１転送先を、ノード１０Ａとする。ノード１０Ｄの第１転送先を、ノード１０Ａとする。ノード１０Ｅの第１転送先を、ノード１０Ａとする。ノード１０Ａの第１転送先を、ノード１０Ｘとする。ノード１０Ｂの第１転送先を、ノード１０Ｘとする。
【０００６】
上記のように、各ノード１０の第１転送先が設定されると、ノード１０Ｆから送信されるフレームは、ノード１０Ｃ，１０Ａを経由して、ノード１０Ｘに到達する。ノード１０Ｇから送信されるフレームは、ノード１０Ｄ，１０Ａを経由して、ノード１０Ｘに到達する。ノード１０Ｈから送信されるフレームは、ノード１０Ｅ，１０Ａを経由して、ノード１０Ｘに到達する。ノード１０Ｉから送信されるフレームは、ノード１０Ｅ，１０Ａを経由して、ノード１０Ｘに到達する。
【０００７】
例えば、各ノード１０は、単位時間当たりのフレームの送信時間の総和の上限値が設定されており、係る上限値の範囲内において、フレームを送信する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−５１６２号公報
【特許文献２】特開平１１−３１３１０８号公報
【特許文献３】国際公開第２０１１／０１３１６５号
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、送信時間の総和が上限値に近づいたノードのフレーム送信が抑制されるという問題がある。
【００１０】
例えば、図１８で説明したように各ノード１０の第１転送先が設定されると、各ノード１０が宛先に「ノード１０Ｘ」を設定してフレームを送信した場合に、ノード１０Ａがノード１０Ｃ〜１０Ｅからのフレームを転送することになる。このため、ノード１０Ａの単位時間当たりの送信時間の総和が大きくなり、ノード１０Ａの送信時間の総和が上限値に近づくため、ノード１０Ａのフレーム送信が抑制される。
【００１１】
１つの側面では、ノードのフレーム送信が抑止されることを防止することができるネットワーク装置および送信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の案では、ネットワーク装置は、計測部、送信部、更新部を有する。計測部は、自ネットワーク装置の単位時間当たりのデータの送信時間の総和を計測する。送信部は、送信時間の総和が上限値未満の第１の閾値以上となった場合に、宛先にデータを送信する際の転送先を自ネットワーク装置以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信する。更新部は、迂回指示信号を隣接ノードから受信した場合に、迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードから削除する。
【発明の効果】
【００１３】
本発明の１実施形態によれば、ノードのフレーム送信が抑止されることを防止することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本実施例１に係るネットワーク装置の構成を示す図である。
【図２】図２は、本実施例２に係るアドホックネットワークの一例を示す図である。
【図３】図３は、各ノードのルーティングテーブルの一例を示す図である。
【図４】図４は、送信時間の総和が閾値Ａ以上となった場合の処理を示す図である。
【図５】図５は、送信時間の総和が閾値Ｂ以上となった場合の処理を示す図である。
【図６】図６は、送信時間の総和が閾値Ｃ未満となった場合の処理を示す図である。
【図７】図７は、迂回指示フレームおよび解除指示フレームのデータ構造の一例を示す図である。
【図８】図８は、本実施例２に係るノードの構成を示す機能ブロック図である。
【図９】図９は、状態遷移例を示す図である。
【図１０】図１０は、送信時間テーブルのデータ構造の一例を示す図である。
【図１１Ａ】図１１Ａは、リンクテーブルのデータ構造の一例を示す図（１）である。
【図１１Ｂ】図１１Ｂは、リンクテーブルのデータ構造の一例を示す図（２）である。
【図１２】図１２は、閾値Ｂの算出方法の一例を説明するための図である。
【図１３】図１３は、迂回指示フレームおよび解除指示フレームと送信時間の総和との関係を示す図である。
【図１４】図１４は、迂回指示フレームを送信する処理の処理手順を示すフローチャートである。
【図１５】図１５は、解除指示フレームを送信する処理の処理手順を示すフローチャートである。
【図１６】図１６は、迂回指示フレームまたは解除指示フレームを受信した場合の処理手順を示すフローチャートである。
【図１７】図１７は、送信プログラムを実行するコンピュータの一例を示す図である。
【図１８】図１８は、従来のアドホックネットワークの一例を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示するネットワーク装置および送信制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１６】
本実施例１に係るネットワーク装置の構成について説明する。図１は、本実施例１に係るネットワーク装置の構成を示す図である。図１に示すように、このネットワーク装置２０は、計測部２１、送信部２２、更新部２３を有する。
【００１７】
計測部２１は、ネットワーク装置２０の単位時間当たりのデータの送信時間の総和を計測する。
【００１８】
送信部２２は、送信時間の総和が上限値未満の第１の閾値以上となった場合に、宛先にデータを送信する際の転送先を自ネットワーク装置２０以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信する。
【００１９】
更新部２３は、迂回指示信号を隣接ノードから受信した場合に、迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードから削除する。
【００２０】
次に、本実施例１に係るネットワーク装置２０の効果について説明する。ネットワーク装置２０は、ネットワーク装置２０の単位時間当たりのデータの送信時間の総和を計測する。ネットワーク装置２０は、計測した送信時間の総和が第１の閾値以上となった場合に、宛先にデータを送信する際の転送先をネットワーク装置２０以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信する。このため、迂回指示信号を受信した隣接ノードがデータの転送先から、ネットワーク装置２０を外して、データ転送を行うことになる。従って、ネットワーク装置２０の単位時間当たりのデータの送信時間の総和が増加することを抑え、ネットワーク装置２０のデータ送信が抑止されることを防止することができる。
【００２１】
また、ネットワーク装置２０は、迂回指示信号を隣接ノードから受信した場合に、迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードから削除する。このため、ネットワーク装置２０は、迂回指示信号の送信元ノードを、データの転送先から外して、データ転送を行うこととなる。従って、迂回指示信号の送信元ノードの単位時間当たりのデータの送信時間の総和の増加を抑え、迂回指示信号の送信元ノードのデータ送信が抑止されることを防止することができる。
【実施例２】
【００２２】
次に、本実施例２に係るアドホックネットワークについて説明する。図２は、本実施例２に係るアドホックネットワークの一例を示す図である。図２に示すように、このアドホックネットワークは、ノード１００Ａ，１００Ｂ，１００Ｃ，１００Ｄ，１００Ｅ，１００Ｆ，１００Ｇ，１００Ｈ，１００Ｉ，１００Ｘを有する。以下の説明では、ノード１００Ａ〜１００Ｉ，１００Ｘをまとめて適宜、ノード１００と表記する。ノード１００は、ネットワーク装置の一例である。
【００２３】
各ノード１００は、ハローフレームを相互に送受信することにより、宛先に至る複数の経路を構築し、ルーティングテーブルに経路情報を登録する。ハローフレームを送受信して経路を構築する処理は、周知技術と同様でよい。
【００２４】
図３は、各ノードのルーティングテーブルの一例を示す図である。図３に示す各ルーティングテーブル１０１ａ〜１０１ｉは、ノード１００Ａ〜１００Ｉのルーティングテーブルに対応する。以下の説明では、ルーティングテーブル１０１ａ〜１０１ｉをまとめて適宜、ルーティングテーブル１０１と表記する。
【００２５】
例えば、ルーティングテーブル１０１は、ＧＤ（Global  Destination）とＬＤ（Local  Destination）とを有する。ＧＤは、フレームの最終的な宛先を示す。ＬＤは、フレームを最終的な宛先に送信するための転送先を示す。ルーティングテーブル１０１は、同一のＧＤに対して、複数のＬＤを持つ場合がある。例えば、上段のＬＤほど優先順位が高いものとする。最も優先順位の高いＬＤを、第１転送先と表記する。ノード１００は、フレームを宛先に送信するために、ルーティングテーブル１０１の第１転送先を選択して、フレームを送信する。
【００２６】
例えば、ノード１００Ｆは、ルーティングテーブル１０１ｆを参照し、ノード１００Ｘ宛のフレームを、ノード１００Ｃに送信する。ノード１００Ｃは、ルーティングテーブル１０１ｃを参照し、ノード１００Ｘ宛のフレームを、ノード１００Ａに送信する。ノード１００Ａは、ルーティングテーブル１０１ａを参照し、ノード１００Ｘ宛のフレームを、ノード１００Ｘに送信する。
【００２７】
ノード１００は、単位時間当たりのフレームの送信時間の総和の上限値が決められている。ノード１００は、係る上限値の範囲内において、フレームを送信する。単位時間当たりのフレームの送信時間の総和を、適宜、送信時間の総和と表記する。ノード１００は、閾値Ａ、閾値Ｂ、閾値Ｃと、送信時間の総和とを比較して、各種のフレームを送受信する。ここで、閾値Ａ、閾値Ｂ、閾値Ｃの大小関係を、「送信時間の総和の上限値＞閾値Ｂ＞閾値Ａ＞閾値Ｃ」とする。閾値Ａは、第１の閾値の一例である。閾値Ｂは、第２の閾値の一例である。閾値Ｃは、第３の閾値の一例である。
【００２８】
ノード１００は、送信時間の総和が閾値Ａ以上となった場合には、迂回指示フレームを少なくとも１つの隣接ノードに送信する。迂回指示フレームを受信したノードは、迂回指示フレームの送信元のノード１００を、ルーティングテーブル１０１のＬＤから外す。
【００２９】
ただし、ノード１００は、ルーティングテーブル１０１のＧＤに対するＬＤが１つしか存在していない場合には、ルーティングテーブル１０１のＬＤを残す。また、ノード１００は、ＧＤとＬＤとが同一のノードである場合には、ルーティングテーブル１０１のＬＤを残す。
【００３０】
送信時間の総和が閾値Ａ以上となった場合の処理の一例を、ノード１００Ａを用いて説明する。図４は、送信時間の総和が閾値Ａ以上となった場合の処理を示す図である。ノード１００Ａは、送信時間の総和が閾値Ａ以上となった場合に、迂回指示フレーム３０を、ノード１００Ｃに送信する。ノード１００Ｃは、ノード１００Ａから迂回指示フレーム３０を受信した場合に、ルーティングテーブル１０１ｃのＬＤから「ノード１００Ａ」を外す。これにより、ノード１００Ｃは、ノード１００Ｘ宛のフレームを、ノード１００Ｂに送信する。
【００３１】
ノード１００は、送信時間の総和が閾値Ｂ以上となった場合には、閾値Ａ以上閾値Ｂ未満となった際に迂回指示フレームを送信する隣接ノードの数よりも多くの隣接ノードに迂回指示フレームを送信する。迂回指示フレームを受信した各ノードは、迂回指示フレームの送信元のノード１００を、ルーティングテーブル１０１のＬＤから外す。
【００３２】
送信時間の総和が閾値Ｂ以上となった場合の処理の一例を、ノード１００Ａを用いて説明する。図５は、送信時間の総和が閾値Ｂ以上となった場合の処理を示す図である。ノード１００Ａは、送信時間の総和が閾値Ｂ以上となった場合に、迂回指示フレーム３０を、１ホップブロードキャストにて送信する。ノード１００Ｃ，１００Ｄ，１００Ｅ，１００Ｘは、ノード１００Ａから迂回指示フレーム３０を受信した場合に、ルーティングテーブル１０１のＬＤから「ノード１００Ａ」を外す。
【００３３】
ノード１００は、迂回指示フレームを送信した後に、送信時間の総和が閾値Ｃ未満となった場合には、解除指示フレームを、送信信号強度を弱めて送信する。解除指示フレームを受信したノードは、迂回指示フレームによって外した、解除指示フレームの送信元のノードを、ＬＤに戻す。
【００３４】
送信時間の総和が閾値Ｃ未満となった場合の処理の一例を、ノード１００Ａを用いて説明する。図６は、送信時間の総和が閾値Ｃ未満となった場合の処理を示す図である。ノード１００Ａは、送信時間の総和が閾値Ｃ未満となった場合に、解除指示フレームを、送信信号強度を弱めて送信する。例えば、解除指示フレームが到達する範囲を範囲３１とすると、ノード１００Ｃ，１００Ｄが、解除指示フレームを受信する。ノード１００Ｃ，１００Ｄは、ＧＤ「ノード１００Ｘ」に対応するＬＤを「ノード１００Ａ」に戻す。
【００３５】
次に、本実施例で送受信する迂回指示フレームおよび解除指示フレームのデータ構造の一例について説明する。図７は、迂回指示フレームおよび解除指示フレームのデータ構造の一例を示す図である。図７に示すように、このフレームは、ＬＤ、ＬＳ、フレームタイプ等を有する。ＬＤは、フレームの転送先を示す。ＬＳ（Local  Source）は、フレームの転送元を示す。
【００３６】
フレームタイプは、暗号鍵種別、フレーム種別を含む。暗号鍵種別は、フレームを暗号化する場合の暗号鍵の種別を示す。フレーム種別は、フレームの種別を示す。例えば、フレーム種別に「１０」が設定されている場合には、フレームの種別が迂回指示フレームとなる。フレーム種別に「１１」が設定されている場合には、フレームの種別が解除指示フレームとなる。なお、フレーム種別に「１」が設定されている場合には、フレームの種別がハローフレームとなる。フレーム種別に「２」が設定されている場合には、フレームの種別がデータフレームとなる。
【００３７】
次に、本実施例２に係るノードの構成について説明する。図８は、本実施例２に係るノードの構成を示す機能ブロック図である。図８に示すように、このノード１００は、通信部１１０、入力部１２０、表示部１３０、記憶部１４０、制御部１５０を有する。
【００３８】
通信部１１０は、隣接ノードとの間でフレームを送受信する処理部である。例えば、通信部１１０は、通信カードに対応する。
【００３９】
入力部１２０は、各種の情報をノードに入力するための入力装置である。例えば、入力部１２０は、入力ボタンやタッチパネル等に対応する。表示部１３０は、制御部１５０から出力される各種の情報を表示する表示装置である。例えば、表示部１３０は、ディスプレイやタッチパネル等に対応する。
【００４０】
記憶部１４０は、状態情報１４１、送信時間テーブル１４２、リンクテーブル１４３、ルーティングテーブル１０１を有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
【００４１】
状態情報１４１は、自ノード１００の状態の情報を有する。例えば、状態情報１４１は、通常状態、準転送不可状態、転送不可状態のいずれかとなる。初期状態を、通常状態とする。図９は、状態遷移例を示す図である。図９に示すように、（１）送信時間の総和が閾値Ａ以上になった場合には、通常状態から準転送不可状態に遷移する。（２）送信時間の総和が閾値Ｃ未満になった場合には、準転送不可状態から通常状態に遷移する。
【００４２】
（３）送信時間の総和が閾値Ｂ以上になった場合には、準転送不可状態から転送不可状態に遷移する。（４）送信時間の総和が閾値Ｃ未満となった場合には、転送不可状態から通常状態に遷移する。（５）一定時間継続して送信時間の総和が閾値Ａ以上となる場合には、準転送不可状態にとどまる。
【００４３】
送信時間テーブルは、所定区間でノード１００が経路維持に使うフレームの送信時間を算出するための情報を保持する。本実施例２では一例として、所定区間を１０分間とする。図１０は、送信時間テーブルのデータ構造の一例を示す図である。図１０に示すように、この送信時間テーブルは、項、フレームタイプ、送信時間、１区間の送信回数、１区間の送信時間を対応付ける。
【００４４】
項は、送信時間テーブルの各エントリを識別する番号である。フレームタイプは、フレームの種別を示すものである。送信時間は、該当するフレームを１回送信するために要する時間である。１区間の送信回数は、該当するフレームを１区間で送信する回数である。１区間の送信時間は、該当するフレームを送信するための１区間当たりの送信時間である。
【００４５】
例えば、フレームタイプ「Ｈｅｌｌｏ」のハローフレームは、１回の送信に要する送信時間は「１秒」である。このハローフレームを１区間に「１０回」送信したものとすると、ハローフレームに対する１区間の送信時間は「１０秒」となる。なお、送信時間テーブル１４２のαおよびβは、統計的に導出される値である。
【００４６】
図１０の送信時間ｔ１秒は、データフレームの送信時間の統計的な値を設定しても良いし、管理者が過去の経験や過去のデータフレームの送信時間の履歴から求められる値を設定しても良い。送信時間ｔ２秒は、ハローフレーム以外の定期的なデータの送信時間の統計的な値を設定しても良いし、管理者が過去の経験やハローフレーム以外の定期的なデータの送信時間の履歴から求められる値を設定しても良い。
【００４７】
リンクテーブル１４３は、隣接ノードの情報を保持するテーブルである。ここでは一例として、ノード１００Ａのリンクテーブル１４３ａについて説明する。以下の説明では、各ノード１００のリンクテーブル１４３をまとめて適宜、リンクテーブル１４３と表記する。また、ノード１００Ａ〜１００Ｉのリンクテーブルをそれぞれ、リンクテーブル１４３ａ〜１４３ｉと表記する。
【００４８】
図１１Ａは、リンクテーブルのデータ構造の一例を示す図（１）である。図１１Ａに示すように、リンクテーブル１４３ａは、ＬＤ、経路関連情報、転送不可指定、転送不可設定を有する。ＬＤは、転送先となる隣接ノードを示す。経路関連情報は、経路を選択する場合の指標となるパラメータである。図１１Ａに示す例では、一つのパラメータを示すが、複数のパラメータで構成されても良い。パラメータは、例えば、信号受信強度等に対応する。
【００４９】
転送不可指定は、迂回指示フレームを送信したか否かをノード毎に示す情報である。転送不可指定は、迂回指示フレームを送信したノードに対して「ＯＮ」となり、迂回指示フレームを送信していないノードに対して「ＯＦＦ」となる。図１１Ａに示す例では、ノード１００Ｃに対応する転送不可指定が「ＯＮ」となっている。このため、ノード１００Ａは、ノード１００Ｃに迂回指示フレームを送信していることを示す。ノード１００Ｘ，１００Ｄ，１００Ｅに対応する転送不可指定が「ＯＦＦ」となっている。このため、ノード１００Ａは、ノード１００Ｘ，１００Ｄ，１００Ｅに迂回指示フレームが送信していないことを示す。
【００５０】
転送不可設定は、フレームの転送先とするか否かをノード毎に示す情報である。転送不可設定は、フレームの転送先とするノードに対して「ＯＦＦ」となり、転送先としないノードに対して「ＯＮ」となる。図１１Ａに示す例では、ノード１００Ｘ，１００Ｃ，１００Ｄ，１００Ｅに対応する転送不可設定が「ＯＦＦ」になっている。このため、ノード１００Ａは、ノード１００Ｘ，１００Ｃ，１００Ｄ，１００Ｅのいずれかを転送先に設定して、フレームを送信する。
【００５１】
図１１Ｂは、リンクテーブルのデータ構造の一例を示す図（２）である。図１１Ｂに示すように、リンクテーブル１４３ｃは、ＬＤ、経路関連情報、転送不可指定、転送不可設定を有する。ＬＤ、経路関連情報、転送不可指定、転送不可設定に関する説明は、図１１Ａのリンクテーブル１４３ａと同様である。
【００５２】
図１１Ｂに示す例では、ノード１００Ａ，１００Ｂ，１００Ｆ，１００Ｇ，１００Ｈに対応する転送不可指定が「ＯＦＦ」となっている。このため、ノード１００Ａは、ノード１００Ａ，１００Ｂ，１００Ｆ，１００Ｇ，１００Ｈに迂回指示フレームを送信していないことを示す。
【００５３】
図１１Ｂに示す例では、ノード１００Ａに対応する転送不可設定が「ＯＮ」となっている。このため、ノード１００Ｃは、フレームを転送する場合に、ノード１００Ａを転送先から外す。また、図１１Ｂに示す例では、ノード１００Ｂ，１００Ｆ，１００Ｇ，１００Ｈに対応する転送不可指定が「ＯＦＦ」となっている。このため、ノード１００Ｃは、ノード１００Ｂ，１００Ｆ，１００Ｇ，１００Ｈのいずれかを転送先に設定して、フレームを送信する。
【００５４】
図１１Ａに示したリンクテーブル１４３ａは、ノード１００Ａの記憶部１４０に記憶される。図１１Ｂに示したリンクテーブル１４３ｃは、ノード１００Ｃの記憶部１４０に記憶される。
【００５５】
ルーティングテーブル１０１は、図３に示したルーティングテーブルに対応する。例えば、ノード１００Ａは、ルーティングテーブル１０１ａを記憶部１４０に記憶する。
【００５６】
制御部１５０は、ハローフレーム処理部１５１、計測部１５２、フレーム処理部１５３、更新部１５４、転送部１５５を有する。制御部１５０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）や、ＦＰＧＡ（Field  Programmable  Gate  Array）などの集積装置に対応する。また、制御部１５０は、例えば、ＣＰＵやＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。
【００５７】
ハローフレーム処理部１５１は、隣接ノードとハローフレームを送受信して、リンクテーブル１４３、ルーティングテーブル１０１を更新する処理部である。ハローフレーム処理部１５１が、ハローフレームを送受信して、リンクテーブル１４３のＬＤや、ルーティングテーブル１０１のＧＤ、ＬＤを更新する処理は、周知の技術を用いればよい。
【００５８】
計測部１５２は、ノード１００の単位時間当たりのフレームの送信時間の総和を計測する処理部である。例えば、計測部１５２は、１時間を一区切りとして、フレームの送信時間の総和を計測する。計測部１５２は、計測した送信時間の総和の情報をフレーム処理部１５３に出力する。
【００５９】
例えば、計測部１５２は、通信部１１０によって送信されるフレームタイプを判定し、判定したフレームタイプの送信回数を計数する。計測部１５２は、送信時間テーブル１４２と、フレームタイプ毎の送信回数とを基にして、フレームタイプ毎の送信時間を算出し、算出したフレームタイプ毎の送信時間を合計することで、送信時間の総和を計測する。
【００６０】
また、計測部１５２は、その他の手法によって、送信時間の総和を計算してもよい。例えば、計測部１５２は、通信部１１０が送信するフレームのデータ量を計測し、計測したデータ量を、ノード１００のデータ送信速度によって除算することで、送信時間の総和を算出しても良い。
【００６１】
フレーム処理部１５３は、送信時間の総和と、閾値Ａ、Ｂ、Ｃとの比較結果に基づいて、迂回指示フレームおよび解除指示フレームを送信する処理部である。閾値Ａ、Ｂ、Ｃについて順に説明する。なお、フレーム処理部１５３は、送信部の一例である。
【００６２】
閾値Ａは、例えば、ノード１００が隣接ノードから転送先のノードとして選ばれる頻度、隣接ノードの数、一定時間で転送する隣接ノードからのデータ量の総和などによって決定される値である。または、管理者が、過去の経験から閾値Ａを予め設定しても良い。
【００６３】
閾値Ｂは、式（１）によって求められる値である。一例として、１時間を６分割にした場合の閾値Ｂの値について説明する。
【００６４】
閾値Ｂ＝送信時間の総和の上限値−（１時間を分割した数−現在時刻のタイムゾーン＋１）×１０分間隔のブロックで経路維持に使うデータの送信時間・・・（１）
【００６５】
１時間を６分割にしている場合には、１時間を分割した数は「６」となる。タイムゾーンは、１時間を６分割した場合の何番目の区間に現在時刻が含まれているのかを示す値であり、１〜６の値をとる。例えば、現在時刻が、１〜１０分に含まれる場合にはタイムゾーン「１」、１１〜２０分に含まれる場合にはタイムゾーン「２」、２１〜３０分に含まれる場合にはタイムゾーン「３」となる。また、現在時刻が、３１〜４０分に含まれる場合にはタイムゾーン「４」、現在時刻が、４１〜５０分に含まれる場合にはタイムゾーン「５」、５１〜６０分に含まれる場合にはタイムゾーン「６」となる。
【００６６】
式（１）の「１０分間隔のブロックで経路維持に使うデータの送信時間」は、送信時間テーブル１４２を基に求められる。ここでは、１０分間を１区間として取り扱う。例えば、経路維持に使うフレームのフレームタイプと送信回数を下記のものとする。すなわち、フレームタイプ「Ｈｅｌｌｏ」の１区間の送信回数「１０回」、フレームタイプ「Ｄａｔａ  ＡＣＫ」の１区間の送信回数「３０回」、フレームタイプ「迂回指示フレーム」の１区間の送信回数「３回」とする。この場合には、「１０分間隔のブロックで経路維持に使うデータの送信時間」は、「１×１０＋０．５×３０＋１×３＝２８」となる。
【００６７】
図１２は、閾値Ｂの算出方法の一例を説明するための図である。図１２の縦軸は送信時間の総和を示す軸であり、横軸は時間を示す軸である。図１２に示す例では、１時間を６分割しており、ＴＴ１〜ＴＴ６の区間が含まれる。また、送信時間の総和の上限値を「３６０」とし、現在時刻をＮＴとする。この場合、現在時刻ＮＴのタイムゾーンは「６」となる。
【００６８】
フレーム処理部１５３は、上記の条件を式（１）に代入することで、閾値Ｂを算出すると、式（２）に示すものとなり、閾値Ｂ「３３２」が求められる。
【００６９】
閾値Ｂ＝３６０−（６−６＋１）×２８＝３３２・・・（２）
【００７０】
閾値Ｃは、閾値Ａ未満の値が設定される。管理者は、過去の経験から閾値Ｃを適宜調整しても良い。
【００７１】
フレーム処理部１５３が、迂回指示フレームおよび解除指示フレームを送信する処理について説明する。送信時間の総和が、閾値Ａ以上閾値Ｂ未満となった場合について説明する。ここでは一例として、フレーム処理部１５３は、ノード１００Ａのフレーム処理部として説明を行う。
【００７２】
フレーム処理部１５３は、送信時間の総和が、閾値Ａ以上閾値Ｂ未満となった場合には、リンクテーブル１４３を参照し、隣接ノードのいずれか一つを選択する。ここでは一例として、フレーム処理部１５３は、ノード１００Ｃを選択する。フレーム処理部１５３は、迂回指示フレームのＬＤにノード１００Ｃのアドレスを設定し、ＬＳにノード１００Ａのアドレスを設定する。また、フレーム処理部１５３は、迂回指示フレームのフレーム種別に「１０」を設定する。
【００７３】
フレーム処理部１５３は、上記のように、各種情報を設定した迂回指示フレームを、ノード１００Ｃに送信する。フレーム処理部１５３は、リンクテーブル１４３ａのＬＤ「１００Ｃ」に対応する転送不可指定を「ＯＮ」に設定する。フレーム処理部１５３は、状態情報１４１を通常状態から準転送不可状態に遷移させる。
【００７４】
続いて、送信時間の総和が、閾値Ｂ以上となった場合について説明する。ここでは一例として、フレーム処理部１５３は、ノード１００Ａのフレーム処理部として説明を行う。
【００７５】
フレーム処理部１５３は、送信時間の総和が、閾値Ｂ以上となった場合には、リンクテーブル１４３を参照し、全エントリの転送不可指定を「ＯＮ」にする。フレーム処理部１５３は、迂回指示フレームのＬＤにブロードキャストアドレスを設定し、ＬＳにノード１００Ａのアドレスを設定する。また、フレーム処理部１５３は、迂回指示フレームのフレーム種別に「１０」を設定する。また、フレーム処理部１５３は、迂回指示フレームのホップ数を１に設定する。
【００７６】
フレーム処理部１５３は、上記のように、各種情報を設定した迂回指示フレームを１ホップブロードキャストする。フレーム処理部１５３は、リンクテーブル１４３ａの全てのＬＤに対応する転送不可指定を「ＯＮ」に設定する。フレーム処理部１５３は、状態情報１４１を、準転送不可状態から転送不可状態に遷移させる。
【００７７】
続いて、送信時間の総和が、閾値Ｃ未満となった場合について説明する。ここでは一例として、フレーム処理部１５３は、ノード１００Ａのフレーム処理部として説明を行う。
【００７８】
フレーム処理部１５３は、送信時間の総和が閾値Ｃ未満となった場合には、解除指示フレームのＬＤにブロードキャストアドレスを設定し、ＬＳにノード１００Ａのアドレスを設定する。また、フレーム処理部１５３は、迂回指示フレームのフレーム種別に「１１」を設定する。また、フレーム処理部１５３は、解除指示フレームのホップ数を１に設定する。
【００７９】
フレーム処理部１５３は、上記のように、各種情報を設定した解除指示フレームを１ホップブロードキャストする。ただし、フレーム処理部１５３は、解除指示フレームを１ホップブロードキャストする場合に、送信信号強度を弱めて送信する。例えば、管理者は、一部の隣接ノードにより、解除指示フレームが届く送信信号強度を予め調べておき、係る送信信号強度をノード１００に設定しておく。フレーム処理部１５３は、リンクテーブルに登録されている全エントリの転送不可設定を「ＯＦＦ」に設定する。フレーム処理部１５３は、状態情報１４１を、準転送不可状態または転送不可状態から通常状態に遷移させる。
【００８０】
ここで、フレーム処理部１５３によって送信される迂回指示フレームおよび解除指示フレームと送信時間の総和との関係について説明する。図１３は、迂回指示フレームおよび解除指示フレームと送信時間の総和との関係を示す図である。図１３の縦軸は、送信時間の総和を示し、横軸は、時間軸を示す。図１３のＴ１、Ｔ２、Ｔ４において、送信時間の総和が閾値Ａ以上となっている。このため、フレーム処理部１５３は、Ｔ１、Ｔ２、Ｔ４で、隣接ノードのいずれかに迂回指示フレームをユニキャストする。
【００８１】
図１３のＴ３において、送信時間の総和が閾値Ｃ未満となっている。このため、フレーム処理部１５３は、解除指示フレームをブロードキャストする。図１３のＴ５において、送信時間の総和が閾値Ｂ以上となっている。このため、フレーム処理部１５３は、迂回指示フレームをブロードキャストする。
【００８２】
更新部１５４は、隣接ノードから迂回指示フレームおよび解除指示フレームを受信した場合に、リンクテーブル１４３、ルーティングテーブル１０１を更新する処理部である。
【００８３】
更新部１５４が、隣接ノードから迂回指示フレームを受信した場合の処理について説明する。ここでは一例として、ノード１００Ｃの更新部１５４が、隣接ノード１００Ａから迂回指示フレームを受信した場合について説明する。
【００８４】
更新部１５４は、ノード１００Ｃ宛の迂回指示フレームを受信した場合に、迂回指示フレームのＬＳに登録されたノードに対応するエントリが、リンクテーブル１４３ｃに存在するか否かを判定する。エントリがリンクテーブル１４３ｃに存在する場合には、対応するエントリの転送不可設定を「ＯＮ」に設定する。例えば、更新部１５４は、リンクテーブル１４３ｃのＬＤ「１００Ａ」のエントリの転送不可設定を「ＯＮ」に設定する。
【００８５】
また、更新部１５４は、転送不可設定を「ＯＮ」にしたエントリのＬＤに対応するＬＤを、ルーティングテーブル１０１から検索し、検索したＬＤを削除する。なお、削除された空きエントリには、以降のノード１００からのハローフレームを受信し、エントリされる。
【００８６】
更新部１５４が、隣接ノードから解除指示フレームを受信した場合の処理について説明する。ここでは一例として、ノード１００Ｃの更新部１５４が、隣接ノード１００Ａから解除指示フレームを受信した場合について説明する。
【００８７】
更新部１５４は、ノード１００Ｃ宛の解除指示フレームを受信した場合に、解除指示フレームのＬＳに登録されたノードに対応するエントリが、リンクテーブル１４３ｃに存在するか否かを判定する。エントリがリンクテーブル１４３ｃに存在する場合には、対応するエントリの転送不可設定を「ＯＦＦ」に設定する。例えば、更新部１５４は、リンクテーブル１４３ｃのＬＤ「１００Ａ」のエントリの転送不可設定を「ＯＦＦ」に設定する。
【００８８】
ルーティングテーブル１０１に対応するＬＤが登録されるのは、従来通り、ハローフレームを受信した契機で行われる。例えば、更新部１５４は、ノード１００Ａから１００Ｘの情報が搭載されたハローフレームを受信した場合に、ＧＤ「１００Ｘ」に対応するＬＤに「１００Ａ」を登録する。
【００８９】
転送部１５５は、データフレームを受信した場合に、ルーティングテーブル１０１を基にして、データフレームの転送先を判定し、判定した転送先にデータフレームを転送する処理部である。
【００９０】
次に、本実施例２に係るノード１００の各処理手順について説明する。図１４は、迂回指示フレームを送信する処理の処理手順を示すフローチャートである。ノード１００は、図１４に示す処理を定期的に実行する。図１４に示すように、ノード１００は、自ノードの状態が、通常状態であるか否かを判定する（ステップＳ１０１）。ノード１００は、通常状態である場合には（ステップＳ１０１，Ｙｅｓ）、送信時間の総和が閾値Ａ以上であるか否かを判定する（ステップＳ１０２）。
【００９１】
ノード１００は、送信時間の総和が閾値Ａ以上である場合には（ステップＳ１０２，Ｙｅｓ）、リンクテーブルの該当エントリの転送不可指定を「ＯＮ」にし（ステップＳ１０３）、そのエントリの宛先に対して、迂回指示フレームをユニキャストする（ステップＳ１０４）。ノード１００は、状態を準転送不可に遷移させ（ステップＳ１０５）、処理を終了する。
【００９２】
一方、ノード１００は、送信時間の総和が閾値Ａ未満である場合には（ステップＳ１０２，Ｎｏ）、処理を終了する。
【００９３】
ステップＳ１０１の説明に戻る。ノード１００は、自ノードの状態が通常状態でない場合には（ステップＳ１０１，Ｎｏ）、自ノードの状態が準転送不可状態であるか否かを判定する（ステップＳ１０６）。ノード１００は、自ノードの状態が転送不可状態である場合には（ステップＳ１０６，Ｎｏ）、処理を終了する。
【００９４】
一方、ノード１００は、準転送不可状態である場合には（ステップＳ１０６，Ｙｅｓ）、送信時間の総和が閾値Ｂ以上であるか否かを判定する（ステップＳ１０７）。ノード１００は、送信時間の総和が閾値Ｂ以上である場合には（ステップＳ１０７，Ｙｅｓ）、リンクテーブルの全エントリの転送不可指定を「ＯＮ」にし（ステップＳ１０８）、迂回指示フレームを１Ｈｏｐブロードキャストする（ステップＳ１０９）。ノード１００は、状態を転送不可に遷移させ（ステップＳ１１０）、処理を終了する。
【００９５】
ステップＳ１０７の説明に戻る。ノード１００は、送信時間の総和が閾値Ｂ未満である場合には（ステップＳ１０７，Ｎｏ）、一定時間経過したか否かを判定する（ステップＳ１１１）。ノード１００は、一定時間経過していない場合には（ステップＳ１１１，Ｎｏ）、処理を終了する。
【００９６】
一方、ノード１００は、一定時間経過している場合には（ステップＳ１１１，Ｙｅｓ）、リンクテーブルの該当エントリの転送不可指定を「ＯＮ」にし（ステップＳ１１２）、そのエントリの宛先に対して、迂回指示フレームをユニキャストし（ステップＳ１１３）、処理を終了する。
【００９７】
図１５は、解除指示フレームを送信する処理の処理手順を示すフローチャートである。ノード１００は、図１５に示す処理を定期的に実行する。図１５に示すように、ノード１００は、自ノード１００が通常状態であるか否かを判定する（ステップＳ２０１）。ノード１００は、通常状態である場合には（ステップＳ２０１，Ｙｅｓ）、処理を終了する。
【００９８】
一方、ノード１００は、自ノード１００が通常状態ではない場合には（ステップＳ２０１，Ｎｏ）、送信時間の総和が閾値Ｃ未満であるか否かを判定する（ステップＳ２０２）。ノード１００は、送信時間の総和が閾値Ｃ以上である場合には（ステップＳ２０２，Ｎｏ）、処理を終了する。
【００９９】
一方、ノード１００は、送信時間の総和が閾値Ｃ未満である場合には（ステップＳ２０２，Ｙｅｓ）、リンクテーブルの全エントリの転送不可指定を「ＯＦＦ」にし（ステップＳ２０３）、解除指示フレームを１Ｈｏｐブロードキャストする（ステップＳ２０４）。ノード１００は、状態を通常状態に遷移させる（ステップＳ２０５）。
【０１００】
図１６は、迂回指示フレームまたは解除指示フレームを受信した場合の処理手順を示すフローチャートである。例えば、ノード１００は、フレームを受信したことを契機にして、図１６に示す処理を実行する。図１６に示すように、ノード１００は、フレーム種別が解除指示フレームであるか否かを判定する（ステップＳ３０１）。
【０１０１】
ノード１００は、フレーム種別が解除指示フレームである場合には（ステップＳ３０１，Ｙｅｓ）、フレームの宛先がブロードキャストアドレスであるか否かを判定する（ステップＳ３０２）。ノード１００は、フレームの宛先がブロードキャストアドレスではない場合には（ステップＳ３０２，Ｎｏ）、処理を終了する。
【０１０２】
一方、ノード１００は、フレーム種別がブロードキャストアドレスである場合には（ステップＳ３０２，Ｙｅｓ）、リンクテーブルの該当エントリの転送不可設定がＯＮであるか否かを判定する（ステップＳ３０３）。ノード１００は、リンクテーブルの該当エントリの転送不可設定がＯＦＦである場合には（ステップＳ３０３，Ｎｏ）、処理を終了する。
【０１０３】
一方、ノード１００は、リンクテーブルの該当エントリの転送不可設定がＯＮの場合には（ステップＳ３０３，Ｙｅｓ）、該当エントリの転送不可設定をＯＦＦに変更する（ステップＳ３０４）。
【０１０４】
ステップＳ３０１の説明に戻る。ノード１００は、フレーム種別が迂回指示フレームである場合には（ステップＳ３０１，Ｎｏ）、フレームの宛先が自ノード１００またはブロードキャストアドレスであるか否かを判定する（ステップＳ３０５）。ノード１００は、フレームの宛先が自ノード１００ではなく、かつ、ブロードキャストアドレスではない場合に（ステップＳ３０５，Ｎｏ）、処理を終了する。
【０１０５】
一方、ノード１００は、フレームの宛先が自ノード１００またはブロードキャストアドレスである場合には（ステップＳ３０５，Ｙｅｓ）、リンクテーブルに該当エントリが存在するか否かを判定する（ステップＳ３０６）。ノード１００は、リンクテーブルに該当エントリが存在しない場合には（ステップＳ３０６，Ｎｏ）、処理を終了する。
【０１０６】
一方、ノード１００は、リンクテーブルに該当エントリが存在する場合には（ステップＳ３０６，Ｙｅｓ）、該当エントリの転送不可設定をＯＮに変更する（ステップＳ３０７）。ノード１００は、ルーティングテーブルを検索し、該当ＬＤを削除する（ステップＳ３０８）。
【０１０７】
次に、本実施例２に係るノード１００の効果について説明する。ノード１００は、送信時間の総和が閾値Ａ以上となった場合に、宛先にフレームを送信する際の転送先を自ノード１００以外にすることを依頼する迂回指示フレームを少なくとも１つの隣接ノードに送信する。このため、迂回指示フレームを受信した隣接ノードがデータの転送先から、ノード１００を外して、データ転送を行うことになる。従って、ノード１００の単位時間当たりのデータの送信時間の総和の増加を抑え、ノード１００のデータ送信が抑止されることを防止することができる。
【０１０８】
また、ノード１００は、迂回指示フレームを隣接ノードから受信した場合に、迂回指示フレームの送信元ノードをルーティングテーブルに設定された転送先ノードから削除する。このため、ノード１００は、迂回指示フレームの送信元ノードを、データの転送先から外して、データ転送を行うこととなる。従って、迂回指示フレームの送信元ノードの単位時間当たりのデータの送信時間の総和が増加することを抑え、迂回指示フレームの送信元ノードのデータ送信が抑止されることを防止することができる。
【０１０９】
また、ノード１００は、送信時間の総和が閾値Ｂ以上となった場合に、閾値Ａ以上となった際に迂回指示フレームを送信する隣接ノードの数よりも多くの隣接ノードに迂回指示フレームを送信する。このため、複数の隣接ノードが、ノード１００を転送先としたデータ転送を行わなくなるため、上限値間近となったノード１００の単位時間当たりのデータの送信時間の総和が増加することを更に抑えることができる。
【０１１０】
また、ノード１００は、送信時間の総和が閾値Ｃ未満となった場合に、宛先にフレームを送信する際の転送先を自ネットワーク装置に戻すことを依頼する解除指示フレームを、送信信号強度を弱めて送信する。このため、解除指示フレームの届いた一部の隣接ノードが、ノード１００を転送先としたデータ転送を開始するため、ノード１００の送信時間の総和が急に増加することを防止することができる。
【０１１１】
次に、上記の実施例に示したノード１００と同様の機能を実現する送信プログラムを実行するコンピュータの一例を説明する。図１７は、送信プログラムを実行するコンピュータの一例を示す図である。
【０１１２】
図１７に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３を有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取る読み取り装置２０４と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置２０５とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７を有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【０１１３】
ハードディスク装置２０７は、例えば、計測プログラム２０７ａ、送信プログラム２０７ｂ、更新プログラム２０７ｃを有する。ＣＰＵ２０１は、各プログラム２０７ａ〜２０７ｃを読み出してＲＡＭ２０６に展開する。
【０１１４】
計測プログラム２０７ａは、計測プロセス２０６ａとして機能する。送信プログラム２０７ｂは、送信プロセス２０６ｂとして機能する。更新プログラム２０７ｃは、更新プロセス２０６ｃとして機能する。
【０１１５】
例えば、計測プロセス２０６ａは、計測部２１、１５２等に対応する。送信プロセス２０６ｂは、送信部２２、フレーム処理部１５３等に対応する。更新プロセス２０６ｃは、更新部２３，１５４等に対応する。
【０１１６】
なお、各プログラム２０７ａ〜２０７ｃについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくてもよい。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００がこれらから各プログラム２０７ａ〜２０７ｃを読み出して実行するようにしてもよい。
【０１１７】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１８】
（付記１）自ネットワーク装置の単位時間当たりのデータの送信時間の総和を計測する計測部と、
前記送信時間の総和が上限値未満の第１の閾値以上となった場合に、宛先にデータを送信する際の転送先を自ネットワーク装置以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信する送信部と、
前記迂回指示信号を隣接ノードから受信した場合に、前記迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードから削除する更新部と
を有することを特徴とするネットワーク装置。
【０１１９】
（付記２）前記送信部は、前記送信時間の総和が前記第１の閾値よりも大きい第２の閾値以上となった場合に、前記第１の閾値以上前記第２の閾値未満となった際に前記迂回指示信号を送信する隣接ノードの数よりも多くの隣接ノードに前記迂回指示信号を送信することを特徴とする付記１に記載のネットワーク装置。
【０１２０】
（付記３）前記送信部は、前記送信時間の総和が前記第１の閾値よりも大きい第２の閾値以上となった場合に、全ての隣接ノードに前記迂回指示信号を送信することを特徴とする付記１に記載のネットワーク装置。
【０１２１】
（付記４）前記送信部は、前記送信時間の総和が前記第１の閾値未満となる第３の閾値未満となった場合に、前記宛先にデータを送信する際の転送先を自ネットワーク装置に戻すことを依頼する解除指示信号を、送信することを特徴とする付記１、２または３に記載のネットワーク装置。
【０１２２】
（付記５）コンピュータに、
前記コンピュータの単位時間当たりのデータの送信時間の総和を計測し、
前記送信時間の総和が上限値未満の第１の閾値以上となった場合に、宛先にデータを送信する際の転送先を前記コンピュータ以外にすることを依頼する迂回指示信号を少なくとも１つの隣接ノードに送信し、
迂回指示信号を隣接ノードから受信した場合に、前記迂回指示信号の送信元ノードをルーティングテーブルに設定された転送先ノードから削除する
各処理を実行させることを特徴とする送信制御プログラム。
【０１２３】
（付記６）前記迂回指示信号を送信する処理は、前記送信時間の総和が前記第１の閾値よりも大きい第２の閾値以上となった場合に、前記第１の閾値以上前記第２の閾値未満となった際に前記迂回指示信号を送信する隣接ノードの数よりも多くの隣接ノードに前記迂回指示信号を送信することを特徴とする付記５に記載の送信制御プログラム。
【０１２４】
（付記７）前記迂回指示信号を送信する処理は、前記送信時間の総和が前記第１の閾値よりも大きい第２の閾値以上となった場合に、全ての隣接ノードに前記迂回指示信号を送信することを特徴とする付記５に記載の送信制御プログラム。
【０１２５】
（付記８）前記送信時間の総和が前記第１の閾値未満となる第３の閾値未満となった場合に、前記宛先にデータを送信する際の転送先を自ネットワーク装置に戻すことを依頼する解除指示信号を、送信する処理を更に実行することを特徴とする付記５、６または７に記載の送信制御プログラム。
【符号の説明】
【０１２６】
２０  ネットワーク装置
２１  計測部
２２  送信部
２３  更新部
【図１】
2014093668.tif 000003
【図２】
2014093668.tif 000004
【図３】
2014093668.tif 000005
【図４】
2014093668.tif 000006
【図５】
2014093668.tif 000007
【図６】
2014093668.tif 000008
【図７】
2014093668.tif 000009
【図８】
2014093668.tif 000010
【図９】
2014093668.tif 000011
【図１０】
2014093668.tif 000012
【図１１Ａ】
2014093668.tif 000013
【図１１Ｂ】
2014093668.tif 000014
【図１２】
2014093668.tif 000015
【図１３】
2014093668.tif 000016
【図１４】
2014093668.tif 000017
【図１５】
2014093668.tif 000018
【図１６】
2014093668.tif 000019
【図１７】
2014093668.tif 000020
【図１８】
2014093668.tif 000021