(57)【要約】【課題】無線環境の変化に即応してノード間の通信タイミングと送信経路とを相互調整し、発信衝突や輻輳を回避できるようにする。【解決手段】本発明の通信制御装置は、他ノードとの間でデータ信号を送信する帯域を取り合い、自ノードの通信タイミングを示す帯域幅の獲得を行う通信タイミング制御手段と、自ノードの帯域幅の中で各データ信号の送信経路を決定する経路制御手段と、制御情報通信手段とデータ信号送信手段とを備え、経路制御手段が、各他ノードからの制御情報を用いて各他ノードにおいてデータ信号の停滞や廃棄がなく深さの小さいノードに向けて各データ信号が到達する可能性を示す第１の評価値をリンク毎に算出し、第１の評価値に応じた各リンクの帯域幅に基づいて各送信先ノードを決定し、通信タイミング制御手段及び経路制御手段が、それぞれの処理に係る状態情報を相互に拘束条件として自ノードの帯域の調整及び各リンクの帯域の調整を行う。【選択図】      図１
2011109265.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成する複数のノードのそれぞれに搭載される通信制御装置において、
１又は複数の他ノードとの間でデータ信号を送信する帯域を取り合い、自ノードの通信タイミングを示す帯域幅の獲得を行う通信タイミング制御手段と、
上記通信タイミング制御手段が獲得した自ノードの帯域幅の中で、各データ信号を送信する帯域を調整し、各データ信号を送信する１又は複数の送信経路を決定する経路制御手段と、
各他ノードとの間で制御情報を送受信する制御情報通信手段と、
上記経路制御手段により決定された上記各送信経路に係る各送信先ノードに対して各データ信号を送信するデータ信号送信手段と
を備え、
上記経路制御手段が、
送信先ノードとする各他ノードから受信した上記制御情報を用いて、各他ノードにおいてデータ信号の停滞や廃棄がなされることなく、当該他ノードよりも深さの小さいノードに向けて各データ信号が到達する可能性を示す第１の評価値をリンク毎に算出する第１の評価値算出部と、
上記各リンクの第１の評価値に応じた各リンクの帯域幅に基づいて、上記各送信先ノードを決定する送信先決定部と
を有し、
上記通信タイミング制御手段及び上記経路制御手段が、それぞれの処理に係る状態情報を相互に受け渡し、相手の状態情報を拘束条件として、自ノードの帯域の調整及び上記各送信先ノードとの間のリンクの帯域の調整を行うものであることを特徴とする通信制御装置。
【請求項２】
上記経路制御手段が、上記第１の評価値に基づいて上記各リンクのリンク帯域獲得度を求めて上記各リンクの帯域幅を算出するリンク帯域幅算出部を有し、
上記送信先決定部が、上記各リンクのリンク帯域獲得度と、自ノードと各他ノードとの深さの大小関係とに基づき所定条件を満たすか否かの判定を行い、その判定結果に応じて上記各リンクのリンク帯域獲得度を変更し、自ノードより深さの小さい他ノード、自ノードと深さが同一の他ノード、自ノードより深さの大きい他ノードの全て又はいずれかを、送信先ノードとして決定する
ことを特徴とする請求項１に記載の通信制御装置。
【請求項３】
上記経路制御手段が、
自ノードにおける上記各リンクのリンク品質を求めるリンク品質算出部と、
自ノードにおける全てのリンクについて、上記各リンクの帯域幅の大きさに応じて、自ノードが寄与する上記各リンクのリンク品質加重平均値を求める加重平均値算出手段と、
上記通信タイミング制御手段からの自ノードの獲得帯域幅と、自ノードのデータ信号の送信に必要な帯域幅とに基づいて、自ノードと各他ノードとの間の帯域の競合解消度を求める競合解消度算出部と、
各他ノードから受信した上記制御情報に含まれている当該他ノードにおける上記帯域の競合解消度による上記第１の評価値への影響度を示す感度関数値を調整する感度関数算出部と
を有し、
上記第１の評価値算出部は、少なくとも、
自ノードの上記リンク品質算出部により求められた上記各リンクのリンク品質と、
各他ノードから受信した上記制御情報に含まれている当該他ノードにおける上記各リンクのリンク品質加重平均値と、
上記感度関数算出部により求められた各他ノードの上記感度関数値と
に基づいて、上記各リンクの上記第１の評価値を求めることを特徴とする請求項１又は２に記載の通信制御装置。
【請求項４】
上記経路制御手段が、自ノードが送信先とする各他ノードの深さと、当該他ノードが送信先とする各他ノードの深さとの関係に基づくペナルティー関数値を決定するペナルティー関数値算出部を有し、
上記第１の評価値算出部が、上記ペナルティー関数値算出部により決定された上記ペナルティー関数値を用いて、上記第１の評価値を求めることを特徴とする請求項３に記載の津新制御装置。
【請求項５】
上記経路制御手段が、自ノードを送信元とするリンク同士で帯域を獲得する際に、それぞれ異なるリンクに対する上記第１の評価値の微小差を解消させる演算抑制部を有することを特徴とする請求項１〜４のいずれかに記載の通信制御装置。
【請求項６】
上記演算抑制部が、自ノードを送信元とする各リンクの上記第１の評価値と最大値との差が閾値より小さいとき、当該第１の評価値を上記最大値とすることを特徴とする請求項５に記載の通信制御装置。
【請求項７】
上記通信タイミング制御手段が、各他ノードの通信タイミングを示す位相情報と自ノードの通信タイミングを示す位相情報とに基づき、１周期の期間で位相の状態を変化させて、自ノードの通信タイミングを獲得するものであり、
上記経路制御手段が、上記リンク帯域幅算出部が算出する上記各リンクのリンク帯域獲得度の変化速度と、上記通信タイミング制御手段における位相の変化速度とを調整する速度調整部を有することを特徴とする請求項１〜６のいずれかに記載の通信制御装置。
【請求項８】
上記経路制御手段は、上記リンク帯域幅算出部により求められる上記各リンクのリンク帯域獲得度の、自他のリンクの帯域獲得度から受ける影響度を示すパラメータを設定するパラメータ設定部を有することを特徴とする請求項１〜７のいずれかに記載の通信制御装置。
【請求項９】
ネットワークを構成する複数のノードのそれぞれに搭載される通信制御装置を、
１又は複数の他ノードとの間でデータ信号を送信する帯域を取り合い、自ノードの通信タイミングを示す帯域幅の獲得を行う通信タイミング制御手段、
上記通信タイミング制御手段が獲得した自ノードの帯域幅の中で、各データ信号を送信する帯域を調整し、各データ信号を送信する１又は複数の送信経路を決定する経路制御手段、
各他ノードとの間で制御情報を送受信する制御情報通信手段、
上記経路制御手段により決定された上記各送信経路に係る各送信先ノードに対して各データ信号を送信するデータ信号送信手段
として機能させ、
上記経路制御手段として、
送信先ノードとする各他ノードから受信した上記制御情報を用いて、各他ノードにおいてデータ信号の停滞や廃棄がなされることなく、当該他ノードよりも深さの小さいノードに向けて各データ信号が到達する可能性を示す第１の評価値をリンク毎に算出する第１の評価値算出部、
上記各リンクの第１の評価値に応じた各リンクの帯域幅に基づいて、上記各送信先ノードを決定する送信先決定部
として機能させ、
上記通信タイミング制御手段及び上記経路制御手段が、それぞれの処理に係る状態情報を相互に受け渡し、相手の状態情報を拘束条件として、自ノードの帯域の調整及び上記各送信先ノードとの間のリンクの帯域の調整を行うように機能させることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置及びプログラムに関し、例えば、無線センサネットワークやアドホックネットワーク、あるいは無線ＬＡＮ（Local  Area  Network）に接続された複数の機器から構成されるシステム等のように、空間に分散配置された多数のノードや移動体に設置されたノードが、相互にデータ通信を行う場合において、電波干渉等による通信データの衝突や幅輳を回避する装置や方法に関するものである。
【背景技術】
【０００２】
集中管理サーバを必要とせず、個々のノードが自律分散的に通信タイミングをスケジューリングすることによって発信衝突を回避する方法として、特許文献１〜特許文献７に開示される技術がある。また、特許文献１〜特許文献７に記載の技術によって得られる機能に、幅輳回避のための経路制御機能を付加した方法として、特願２００９−１５１０７５号（以下、先行出願１という）に記載の技術がある。
【０００３】
一般に、無線センサネットワーク等が設置される空間内には、様々な形状の構造物や壁などが存在し、しばしば、そこに新たな障害物が出現する場合がある。障害物は単にリンク切れを引き起こす要因になるだけではなく、例えば、金属製の構造物の場合、反射波等の影響が顕著に表れ、無線環境の変化は複雑な状況を呈する。
【０００４】
上記先行出願１の記載技術の方法は、こうした複雑な無線環境の変化に適応して、ネットワークを構成するノード間において、通信タイミングと送信経路とを相互調整することによって、発信衝突と幅輳をともに回避したマルチホップ通信を実現する基本的な機能を有する。
【０００５】
特許文献１〜特許文献７及び先行出願１に開示される方法では、各ノードが近傍ノードとの間で周期的に制御パケット（自ノードの発信タイミングを示す制御情報）を送受信することによって、通信タイミングの相互調整を行う。以後、制御パケットの発信周期を、単に周期と呼ぶ。
【０００６】
通信タイミングの相互調整により、近傍ノード間で１周期の期間を分け合って、各ノードが送信に必要な時間区間を獲得する。１周期内において、各ノートが送信に用いる時間区間は、通信タイミング制御ための演算における位相区間に対応する。すなわち、通信タイミングを示す時間は、制御演算上は、位相に置き換えて処理される。以後の本発明の説明において、１周期内において、各ノードが送信に用いる時間区間や位相区間を、そのノードが獲得している帯域と呼ぶ。同様に、時間区間幅や位相区間幅を帯域幅と呼ぶ。
【０００７】
また、近傍ノード間における制御パケットの送受信方法にはいくつかの形態がある。図２は、この近傍ノード間における制御パケットの送受信方法を説明する説明図である。
【０００８】
第１番目の形態は、図２（ａ）に示すように、制御パケットの電波到達範囲を、データパケットの電波到達範囲よりも広くし、例えば、その比を２倍程度とする。この場合、制御パケットとデータパケットとの送信電力比を調節することによって、電波到達範囲の比を設定する。制御パケットとデータパケットとの電波到達範囲の比を、このようにする理由は、隠れ端末などによる発信衝突の発生を回避するためである。
【０００９】
第２番目の形態は、図２（ｂ）に示すように、制御パケットとデータパケットの電波到達範囲は同一（つまり、送信電力は同一）とし、他ノードから受信した制御パケットに基づいて、自身の内部に生成した当該ノードに対する仮想位相（特許文献５参照）を、自身が制御パケットを送信する際に付加する方法である。
【００１０】
着目ノードから制御パケットを受信したノード（図２（ｂ）における実線の円内のノード）は、自身の内部に着目ノードに対する仮想位相が存在しなければ新たに生成し、すでに存在する場合はその値を調整する。生成あるいは調整された仮想位相の値は、その後、固有角振動数に相当する一定の速度で変化する。そして、自身が制御パケットを送信する際に、現時刻における着目ノードに対する仮想位相の値を付加して送信する。このようにすることで、着目ノードの位相情報が１ホップ先のノード（図２（ｂ）における実線の円内のノード）を介して間接的に２ホップ先（図２（ｂ）において、点線の円内のノードで実線の円内に含まれないもの）のノードに伝えられる。
【００１１】
上記では、着目ノードの位相情報が２ホップ先のノードに間接的に伝えられる仕組みについて説明したが、すべてのノードの位相情報が同様にして２ホップ先のノードに伝えられる。したがって、通信タイミング調整における相互作用範囲は、各ノードの２ホップ近傍範囲となる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００５−０９４６６３号公報
【特許文献２】特開２００６−０７４６１７号公報
【特許文献３】特開２００６−０７４６１９号公報
【特許文献４】特開２００６−１５７４３８号公報
【特許文献５】特開２００６−１５７４４１号公報
【特許文献６】特開２００６−２１１５８５号公報
【特許文献７】特開２００６−２１１５６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
上述した先行出願１に記載の方法は、無線環境が変化した場合でも、その変化に即応して発信衝突や輻輳を回避することができるので有効な方法であるが、次に示すような課題が生じ得る。
【００１４】
（ａ）ネットワークを構成する各ノードｉの送信先ノードｊが、ノードｉの１ホップ近傍範囲内に存在する他ノードで、「深さがノードｉより小さい」という条件を満たすノードに限定されている。このため、「深さがノードｉと同一」、あるいは「深さがノードｉより大きい」ノードを用いた送信経路制御方法は提供されていない。ここで、ノードｉの深さとは、シンクノードからノードｉまでの最短ホップ数を表す。以後、必要に応じてノードｉの深さをＤｉと記述する。
【００１５】
（ｂ）発信衝突と幅輳をともに回避した状態が実現されれば、各ノードｉの送信先ノードｊは複数であっても問題ないが、先行出願１に記載の方法を用いた場合、１つに収束する傾向がある。その結果、必要以上に制御動作を持続する傾向が生まれ、その分、収束時間が増加する。
【００１６】
そのため、ネットワークを構成する各ノードが、自ノードと深さが同一あるいは大きいノードを送信先ノードとして指定することができ、送信先ノードを決定する際の制御動作の収束時間の増加を抑制することができる通信制御装置及びプログラムが望まれている。
【課題を解決するための手段】
【００１７】
かかる課題を解決するために、第１の本発明の通信制御装置は、ネットワークを構成する複数のノードのそれぞれに搭載される通信制御装置において、（１）１又は複数の他ノードとの間でデータ信号を送信する帯域を取り合い、自ノードの通信タイミングを示す帯域幅の獲得を行う通信タイミング制御手段と、（２）通信タイミング制御手段が獲得した自ノードの帯域幅の中で、各データ信号を送信する帯域を調整し、各データ信号を送信する１又は複数の送信経路を決定する経路制御手段と、（３）各他ノードとの間で制御情報を送受信する制御情報通信手段と、（４）経路制御手段により決定された各送信経路に係る各送信先ノードに対して各データ信号を送信するデータ信号送信手段とを備え、経路制御手段が、（２−１）送信先ノードとする各他ノードから受信した制御情報を用いて、各他ノードにおいてデータ信号の停滞や廃棄がなされることなく、当該他ノードよりも深さの小さいノードに向けて各データ信号が到達する可能性を示す第１の評価値をリンク毎に算出する第１の評価値算出部と、（２−２）各リンクの第１の評価値に応じた各リンクの帯域幅に基づいて、各送信先ノードを決定する送信先決定部とを有し、（５）通信タイミング制御手段及び経路制御手段が、それぞれの処理に係る状態情報を相互に受け渡し、相手の状態情報を拘束条件として、自ノードの帯域の調整及び各送信先ノードとの間のリンクの帯域の調整を行うものであることを特徴とする。
【００１８】
第２の本発明の通信制御プログラムは、ネットワークを構成する複数のノードのそれぞれに搭載される通信制御装置を、（１）１又は複数の他ノードとの間でデータ信号を送信する帯域を取り合い、自ノードの通信タイミングを示す帯域幅の獲得を行う通信タイミング制御手段、（２）通信タイミング制御手段が獲得した自ノードの帯域幅の中で、各データ信号を送信する帯域を調整し、各データ信号を送信する１又は複数の送信経路を決定する経路制御手段、（３）各他ノードとの間で制御情報を送受信する制御情報通信手段、（４）経路制御手段により決定された各送信経路に係る各送信先ノードに対して各データ信号を送信するデータ信号送信手段として機能させ、経路制御手段として、（２−１）送信先ノードとする各他ノードから受信した制御情報を用いて、各他ノードにおいてデータ信号の停滞や廃棄がなされることなく、当該他ノードよりも深さの小さいノードに向けて各データ信号が到達する可能性を示す第１の評価値をリンク毎に算出する第１の評価値算出部、（２−２）各リンクの第１の評価値に応じた各リンクの帯域幅に基づいて、各送信先ノードを決定する送信先決定部として機能させ、（５）通信タイミング制御手段及び経路制御手段が、それぞれの処理に係る状態情報を相互に受け渡し、相手の状態情報を拘束条件として、自ノードの帯域の調整及び各送信先ノードとの間のリンクの帯域の調整を行うように機能させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、ネットワークを構成する各ノードが、自ノードと深さが同一あるいは大きいノードを送信先ノードとすることができるので、無線環境の変化に応じた適応性を向上させることができる。また、本発明によれば、送信先ノードを決定する際の制御動作の収束時間を短縮することができるので、無線環境の変化に応じた適応速度を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施形態のノードの内部構成を示す内部構成図である。
【図２】従来技術により近傍ノード間での制御パケットの送受信方法を説明する説明図である。
【図３】本発明の通信制御方法の動作を概念的に示した概念図である。
【図４】第１の実施形態の経路制御演算部の演算処理に係る機能構成を説明する機能ブロック図である。
【図５】第１の実施形態の通信タイミング制御演算部における位相応答関数の具体的な例を説明する説明図である。
【図６】第１の実施形態におけるノードが他ノードとの間のリンクの獲得帯域幅を説明する説明図である。
【発明を実施するための形態】
【００２１】
（Ａ）第１の実施形態
以下では、本発明の通信制御装置及びプログラムの第１の実施形態を、図面を参照しながら詳細に説明する。
【００２２】
第１の実施形態では、空間に分散配置された多数のノードや移動体等に設置されたノードが、例えばマルチホップ通信により相互にデータ通信を行う通信システムに本発明を適用した場合の実施形態を例示して説明する。
【００２３】
第１の実施形態では、近傍ノード間における制御パケットの送受信方法として、例えば、図２（ｂ）で説明した仮想位相を用いた方法を適用する場合を仮定して例示する。ただし、説明の便宜上、このような仮定をするのであって、本発明は図２（ａ）で説明した形態に対しても適用可能である。
【００２４】
また、シンクノードからの各ノードのホップ数は、あらかじめ各ノードに与えられていると仮定する。これは、例えば、次のようにして与えることができる。シンクノードから制御パケットと同等のパケットを発信し、マルチホップで転送しながら転送回数をカウントして、各ノードに到達するまでのホップ数を観測する。各ノードは、自ノードで観測されたホップ数の最小値を、「自ノードからシンクノードまでのホップ数」として保持する。このような処理を事前に行うことにより、前記のホップ数を各ノードにあらかじめ与えておくことができる。
【００２５】
さらに、以下において、リンクｉ→ｊは、ノードｉがノードｊを送信先ノードとするリンクを示す。
【００２６】
（Ａ−１）基本概念の説明
図３は、本発明の通信制御方法の動作を概念的に説明する概念説明図である。図３は、ネットワークを構成する各ノードが、無線環境の変化に応じて、他ノードとの間の通信タイミングと経路制御とを相互調整する通信制御方法の概念を示す。
【００２７】
図３において、通信タイミング制御機構Ｍ１は、ノード間で通信タイミングをずらしあう動作を実行する機構である。また、通信タイミングパターン形成過程Ｐ１は、通信タイミング制御機構Ｍ１の動作により、ノード間に通信タイミングのずれを生じさせる過程である。通信タイミングは、各ノードがデータパケットの送信に要する時間だけずれる必要がある。もし、ずれの時間幅がデータパケットの送信に必要な大きさ以上になっていなければ、ノード間で発信衝突が発生する。したがって、通信タイミングパターン形成過程Ｐ１は、ノード間で通信に必要な帯域を取り合う過程に対応する。
【００２８】
一方、経路制御機構Ｍ２は、ネットワーク上におけるデータパケットの送信経路を制御する機構である。また、ネットワークトポロジー形成過程Ｐ２は、経路制御機構Ｍ２の動作により、ネットワーク上におけるデータパケットの送信経路を決定する過程である。ネットワークトポロジー形成過程Ｐ２の詳細な説明は後述するが、本発明では、このネットワークトポロジー形成過程Ｐ２は、ノード間のリンク同士で帯域を取り合う過程に対応する。
【００２９】
本発明では、無線環境の変化に応じて、上記の２つの過程（通信タイミングパターン形成過程Ｐ１、ネットワークトポロジー形成過程Ｐ２）が相互に拘束しあいながら、次第に整合する関係を形成する動作を実行する。
【００３０】
一般に、ネットワーク上の送信経路が変化すれば、各ノードの通信負荷は変化し、それぞれが必要とする帯域幅も変化する。したがって、送信経路の決定は、通信タイミングパターン形成過程Ｐ１における拘束条件となる。
【００３１】
一方、通信タイミングパターン形成過程Ｐ１では、ノード間における通信タイミングの衝突や競合（以後、コンフリクトと呼ぶ）が発生する。本発明では、通信タイミングパターン形成過程Ｐ１で発生するコンフリクトの状態を、ネットワークトポロジー形成過程Ｐ２における拘束条件としてフィードバックさせる。
【００３２】
すなわち、ノード間において通信に必要な帯域を取り合う過程で生じるコンフリクトの状態が、データパケットの送信経路を決定する過程に影響し、コンフリクトを低減する方向に作用する。このようにして、本発明では、上記の２つの過程が相互に拘束しあいながら、次第に整合する関係を形成するように進行する。その結果、無線環境の変化に応じて、ノード間において通信タイミングと送信経路とが相互に調整され、発信衝突と幅輳をともに回避したマルチホップ通信が可能になる。
【００３３】
（Ａ−２）第１の実施形態の構成
図１は、第１の実施形態の各ノードの通信制御装置の内部構成を示す内部構成図である。図３に示す通信タイミング制御機構Ｍ１と経路制御機構Ｍ２は、図１に示す内部構成を有するノードを複数用いて構成されるネットワークにおいて実現される機構である。
【００３４】
図１において、ノード１は、制御パケット受信部１１、通信タイミング制御演算部１２、経路制御演算部１３、制御パケット送信部１４、データパケット送受信部１５を少なくとも有して構成される。
【００３５】
第１の実施形態において、ネットワークは複数のノード１を有して構成される。各ノード１は、他のノードとの間で周期的に制御パケットの送受信を相互に行い、ノード間で通信タイミングの相互調整を行う。これにより、各ノード１は、自律的な通信タイミングを求めることができる。また、各ノード１は、他ノードとの間で授受する制御パケットに基づいて、図３で説明した通信タイミング制御機構Ｍ１と経路制御機構Ｍ２との相互調整を行う。これにより、無線環境が変化した場合でも即応性のある通信制御を行うことができる。
【００３６】
通信タイミング制御演算部１２は、制御パケット受信部１１から他ノードの位相情報を受け取り、この他ノードの位相情報に基づいて他ノード及び自ノードの帯域を取り合い、自ノードの通信タイミングを調整するものである。また、通信タイミング制御演算部１２は、経路制御演算部１３から自ノードの送信に必要な帯域幅を受け取り、この自ノードの送信に必要な帯域幅も用いて、通信タイミングの調整を行う。
【００３７】
ここで、通信タイミング制御演算部１２による通信タイミングの演算方法としては、例えば、特許文献１〜特許文献７及び先行出願１に記載の種々の方法を適用することができきる。通信タイミングの演算方法の例については、後述するが、例えば特許文献５に記載されるように、自ノードに対する仮想位相を用いて通信タイミングを演算する方法を適用することができる。
【００３８】
また、通信タイミング制御演算部１２は、通信タイミングの演算により得られた自ノードの位相情報及び他ノードの位相情報を、制御パケット送信部１４、データパケット送受信部１５に与えるものである。また、通信タイミング制御演算部１２は、自ノードが獲得している帯域幅を経路制御演算部１３に与えるものである。
【００３９】
経路制御演算部１３は、制御パケット受信部１１から制御パケットに含まれる各種情報を受け取り、各種情報に基づいて、自ノードが送信するデータパケットの送信先ノードを決定するものである。また、経路制御演算部１３は、通信タイミング制御演算部１２から自ノードが獲得している帯域幅を受け取り、この自ノードが獲得している帯域幅を用いて、送信先ノードを決定する。
【００４０】
また、経路制御演算部１３は、送信先ノードを決定する際に得た各種情報を、制御パケット送信部１４、データパケット送受信部１５に与えるものである。これにより、これら各種情報を含んだ制御パケットを制御パケット送信部１４に送信させたり、データパケット送受信部１５に対して、自ノードから他ノードへの中継要求帯域幅でデータパケットを送信させたりすることができる。さらに、経路制御演算部１３は、送信先ノードの決定の際に自ノードの送信に必要な帯域幅を求め、その自ノードが送信に必要な帯域幅を通信タイミング制御演算部１２に与えるものである。
【００４１】
ここで、制御パケットに含まれる上記の各種情報としては、他ノードから自ノードへの中継要求帯域幅、他ノードの競合解消度、他ノードを送信元とするリンクに対するリンク品質の加重平均、他ノードにおけるペナルティー関数値、他ノードの深さなどである。なお、これらの各種情報の説明も含め、経路制御演算部１３による送信先ノードの決定方法の詳細な説明は後述する。
【００４２】
図４は、経路制御演算部１３の演算処理に係る機能構成を説明する機能ブロック図である。図４において、経路制御演算部１３は、パケット流動度算出部２１、リンク品質算出部２１１、リンク品質加重平均算出部２１２、演算抑制部２１３、ペナルティー関数算出部２２、競合解消度算出部２３、感度関数算出部２４、リンク獲得帯域幅算出部２５、パラメータ設定部２６、速度調整部２７、送信先決定部２８、条件格納部２０、送信先条件格納部２９、を少なくとも有する。
【００４３】
図４において、パケット流動度算出部２１、送信先決定部２８、及び、ペナルティー関数算出部２２は、自ノードと深さが同じ又は大きい他ノードも送信先とできるようにする手段である。
【００４４】
また、競合解消度算出部２３、感度関数算出部２４、演算抑制部２１３、及び、速度調整部２７は、送信先の決定の制御動作に係る収束時間を短縮するようにする手段である。
【００４５】
パケット流動度算出部２１は、「自ノードｉがリンクｉ→ｊを用いて送信したデータパケット」が、ノードｊで停滞する、あるいは廃棄されることなく、その後、より深さの小さい他ノードヘ到達する可能性を評価する尺度である「パケット流動度」（第１の評価値ともいう）を算出するものである。
【００４６】
リンク品質算出部２１１は、自ノードと他ノードとの間のリンク品質を求めるものである。
【００４７】
リンク品質加重平均算出部２１２は、すべての送信先ノードのリンク品質の平均値を求めるものである。リンク品質加重平均算出部２１２は、自ノードのすべての送信先ノードのリンク品質の平均値を求めると、その演算結果を制御パケットに含めて送信させるようにする。
【００４８】
送信先決定部２８は、他ノードの深さに応じて、それぞれの他ノードを送信先として決定するか否かを判断して、送信先ノードを決定するものである。送信先決定方法については後述するが、送信先決定部２８は、各リンクｉ→ｊに対する帯域幅φｉｊ（ｔ）の値に基づいて送信先ノードｊを決定する。また、送信先決定部２８は、制御パケット受信部１１から受け取った他ノードの深さに基づいて、当該他ノードが、「自ノードより深さが小さい」、「自ノードと深さが同一」又は「自ノードより深さが深い」のいずれかを認識し、送信先条件格納部２９に格納される所定の条件を満たすか否かを判断し、条件を満たす場合に当該条件に応じて所定の処理を行い、その処理結果による各リンクｉ→ｊに対する帯域幅φｉｊ（ｔ）の値に基づいて送信先ノードｊを決定する。
【００４９】
ペナルティー関数算出部２２は、自ノードｉの送信先をノードｊとするとき、「ノードｊの深さＤｊ」と「ノードｊが送信先に指定している他ノードｕの深さＤｕ」との関係に基づいて、「リンクｉ→ｊに対するパケット流動度」にペナルティーを与えるものである。ペナルティー関数算出部２２は、「ノードｊの深さＤｊ」と「ノードｊが送信先に指定している他ノードｕの深さＤｕ」との関係が、条件格納部２０に格納される条件を満たすか否かを判断して、「リンクｉ→ｊに対するパケット流動度」に与えるペナルティーを決定する。
【００５０】
競合解消度算出部２３は、自ノードｉの送信先をノードｊとするとき、ノードｊにおける競合解消度を算出するものである。
【００５１】
感度関数算出部２４は、リンクｉ→ｊのパケット流動度に対する「ノードｊにおける競合解消度」の与える影響度を調整するための関数（以後、感度関数という）を算出するものである。感度関数算出部２４は、競合解消度算出部２３による「ノードｊにおける競合解消度」と、リンク品質算出部２１１による「ノードｊを送信元とするリンク品質」とは独立にリンクｉ→ｊのパケット流動度に対する感度関数を評価する。
【００５２】
演算抑制部２１３は、自ノードｉを送信元とするリンクｉ→ｋ（ｋ＝１，２，…，Ｎ）同士で帯域を取り合う演算を実行する過程において、異なるリンクに対するパケット流動度のわずかな差を解消することによって、必要以上の演算を抑制するものである。
【００５３】
パラメータ設定部２６は、リンクｉ→ｊの帯域獲得度ｗｉｊ（ｔ）が、自他のリンクｉ→ｋ（ｋ＝ｊの場合を含む）の帯域獲得度ｗｉｋ（ｔ）から受ける影響度を示すパラメータを設定するものである。
【００５４】
速度調整部２７は、自ノードｉにおいて、リンクｉ→ｊの帯域獲得度の変化する速度と、位相の変化する速度との関係を調整するものである。
【００５５】
リンク獲得帯域幅算出部２５は、自ノードｉの送信先をノードｊとするときに、リンクｉ→ｊの獲得帯域幅を算出するものである。
【００５６】
制御パケット受信部１１は、他ノードから出力された制御パケットを入力制御パケットとして受信し、当該制御パケットに含まれている情報を、通信タイミング制御演算部１２、経路制御演算部１３に与えるものである。
【００５７】
制御パケット送信部１４は、通信タイミング制御演算部１２、経路制御演算部１３から受け取った情報を含む制御パケットを出力制御パケットとして送信するものである。
【００５８】
データパケット送受信部１５は、自ノードが獲得した帯域幅のうち、自ノードから該当する送信先ノードへの帯域幅において、当該送信先ノードに向けてデータパケットを送信するものである。なお、データパケットの送信先ノードは、経路制御演算部１３により決定されたノードとする。
【００５９】
（Ａ−３）第１の実施形態の動作
以下では、第１の実施形態のノード１における通信制御方法の処理の動作を具体的に説明する。
【００６０】
（Ａ−３−１）通信タイミング制御演算部１２における処理
自ノードの１ホップ範囲内に存在する他ノードから受信した制御パケットを用いて、通信タイミングの調整動作を実行する。この通信タイミングの調整動作は、図１の通信タイミング制御演算部１２における演算結果に基づいて、自ノードが制御パケットを送信するタイミングを制御することによって実行される。各ノードが並列に調整動作を実行することにより、ノード間における相互調整機構として機能する。
【００６１】
ここで、自ノードが他ノードから受信する制御パケットには、他ノードの１ホップ範囲内に存在するすべての他ノードに対する仮想位相が付加されている。したがって、各ノードは、１ホップ近傍範囲内に存在する他ノードから制御パケットを受信することによって、間接的に２ホップ近傍範囲内の他ノードに対する位相情報を得ることができる。
【００６２】
通信タイミング制御演算部１２では、制御パケットの受信タイミングで得られる２ホップ近傍範囲内の他ノードに対する位相情報を用いて、当該ノードに対する仮想位相モデルを生成し、以後、受信のたびにその仮想位相の値を調整する。そして、通信タイミング制御演算部１２における演算は、２ホップ近傍範囲内の他ノードに対する仮想位相を用いて実行される。
【００６３】
通信タイミングは、各ノードがデータパケットの送信に要する時間だけずれる必要がある。一般に、通信負荷は各ノードよって異なるため、各ノードが必要とする帯域幅も異なる。もし、それぞれが必要な帯域幅を獲得できなければ、ノード間で発信衝突が発生する。通信タイミング制御演算部１２では、ノード間で通信に必要な帯域を取り合う過程に対応する演算を実行する。
【００６４】
以下に、通信タイミング制御演算部１２における演算の例を示す。通信タイミング制御演算部１２の演算は、例えば、次の（１．１）式及び（１．２）式のような非線形振動子が結合した系をモデル化した数式を用いて行うことができる。
【数１】
2011109265.tif 000003
【００６５】
ここで、変数ｔは時間を表し、θｉ（ｔ）は、時刻ｔにおける自ノードｉの位相を表す。θｉ（ｔ）は、ｍｏｄ２π（２πで割った余り）の演算を施すことにより、常に、区間０≦θｉ（ｔ）＜２πの値を取るものとする。
【００６６】
ｄ／ｄｔは、時間ｔに関する微分演算を表す記号であり、ｄθｉ（ｔ）／ｄｔは位相θｉ（ｔ）を時間ｔで微分した状態変数を表す。
【００６７】
Δθ＾ｉｊ（ｔ）（＾はハット）は、他ノードｊに対する仮想位相θ＾ｉｊ（ｔ）と、自ノードｉの位相θｉ（ｔ）との位相差である。ただし、位相差Δθ＾ｉｊ（ｔ）は、２πを加算した備にｍｏｄ２π（２πで割った余り）の演算を施すことにより、便宜的に区間０≦Δθ＾ｉｊ（ｔ）＜２πの値を取るものとする。
【００６８】
ωｉは、固有角振動数パラメータであり、各ノード固有の振動リズムを表す。ここでは、一例として、ωｉの値をあらかじめ全ノードで同一の値に統一しておくものと仮定する。
【００６９】
Ｒ（Δθ＾ｉｊ（ｔ））は、位相差Δθ＾ｉｊ（ｔ）に応じて自ノードの振動リズムを変化させる応答特性を表現する位相応答関数である。位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））の具体的な関数形の例を図５に示す。
【００７０】
図５に示す位相応答関数の具体例は、下記式を適用できる。
【数２】
2011109265.tif 000004
【００７１】
図５のような位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））を用いることにより、通信負荷、すなわち送信に必要な帯域幅ｂｉ（ｔ）に応じて、他ノードの位相との間に反発特性が働く。図５に示す位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））において、反発特性の働く位相差範囲が、ｂｉ（ｔ）に応じて決定されている点に注意されたい。また、σは実験的に決定する定数パラメータである。帯域幅ｂｉ（ｔ）と、後述の経路制御演算部１３における処理で説明する変数ｂｉ（ｒｅｌ）（ｔ）、ｂｉ（ｉｎｔ）（ｔ）との間には、次の関係がある。
【００７２】
ｂｉ（ｔ）＝ｂｉ（ｒｅｌ）（ｔ）＋ｂｉ（ｉｎｔ）（ｔ）      …（２）
上記のように、位相応答関数に対して通信負荷に応じた特性を持たせることにより、送信経路の決定が、通信タイミングパターン形成過程Ｐ１における拘束条件となる。
【００７３】
Ｒ（Δθ＾ｉｊ（ｔ））を含む項のＮ＾ｉは、時刻ｔにおける仮想位相モデルの総数、Ｋは結合定数パラメータを表す。ここで、結合定数パラメータＫは、位相の時間発展に対するＲ（Δθ＾ｉｊ（ｔ））を含む項の寄与度を決定するパラメータであり、その値は実験的に決定する。
【００７４】
ξ（Ｓｉ（ｔ））は、自ノードと他ノードとの相対位相差が小さい場合にストレスを蓄積し、蓄積されたストレス値Ｓｉ（ｔ）に応じてランダムな大きさで位相シフト（位相状態変化）を実行する働きをする項である。ここで、相対位相差とは次のように定義される量である。
【００７５】
位相差Δθ＾ｉｊ（ｔ），相対位相差Ｅとすると
Δθ＾ｉｊ（ｔ）≦π      のとき      Ｅ＝Δθ＾ｉｊ（ｔ）            …（３．１）
Δθ＾ｉｊ（ｔ）＞π      のとき      Ｅ＝２π−Δθ＾ｉｊ（ｔ）      …（３．２）
すなわち、ξ（Ｓｉ（ｔ））は、蓄積されたストレス値Ｓｉ（ｔ）に対する応答特性を表現する関数である。ξ（Ｓｉ（ｔ））の関数形の具体例は、特許文献１〜特許文献７及び先行出願１に記載されている例を適用することができる。
【００７６】
（Ａ−３−２）経路制御演算部１３における処理
経路制御演算部１３では、各ノードが時刻ｔに獲得している帯域を、リンク同士で取り合う過程に対する演算を実行する。
【００７７】
ここで、リンクとは、各ノードに対する送信先ノード（１ホップ近傍範囲内に存在する他ノード）との間のリンクを指す。一般に、各ノードに対する送信先ノードは複数存在するため、各ノードに対するリンクも複数存在する。これらのリンク同士で帯域を取り合う。
【００７８】
以下に、経路制御演算部１３における演算の例を示す。経路制御演算部１３の演算は、次の（１．３）〜（１．１１）式に示す数式を用いて行う。
【数３】
2011109265.tif 000005
【００７９】
変数ｔは時間を表す。ｗｉｊ（ｔ）は、時刻ｔにノードｉが獲得している帯域幅Φｉ（ｔ）の内、リンクｉ→ｊが獲得する割合を決定するための変数であり、時刻ｔにおけるリンクｉ→ｊの帯域獲得度を示す。
【００８０】
ここで、Φｉ（ｔ）は、時刻ｔにノードｉが獲得している帯域幅であり、その値は、通信タイミング制御演算部１２の動作に基づいて以下のように決定される。
【００８１】
ノードｉの獲得する帯域幅は、
「後続との位相差」＞「送信に必要な位相差」ならば、「送信に必要な位相差」
「後続との位相差」＜「送信に必要な位相差」ならば、「後続との位相差」
で与える。
【００８２】
ここで、「後続との位相差」とは、通信タイミング制御演算部の動作において、「自ノードｉの位相」と「後続する他ノードの位相」との位相差である。ただし、「後続する他ノードの位相」は、「自ノードｉの位相」の直後の位相である。また、「送信に必要な位相差」とは、時刻ｔにノードｉがパケットの送信に必要な帯域幅（位相区間幅）であり、後述する（１．７）式における右辺の分母によって表される量である。
【００８３】
（１．３）式において、τはｗｉｊ（ｔ）の変化する速度を制御するための定数パラメータ（τ＞０）である。τの値は、速度調整部２７において調整されるものとし、例えば、その値は実験的に決定した値を用いる。τは、帯域獲得度ｗｉｊ（ｔ）の変化する速度と、位相θｉ（ｔ）の変化する速度との関係を調整するという機能を有する。すなわち、τは、経路制御機構Ｍ２と通信タイミング制御機構Ｍ１における制御動作速度の関係を調整する。経路制御機構Ｍ２と通信タイミング制御機構Ｍ１とは、相互に影響を与え合いながら、それぞれの状態を変化させるため、τを用いて制御動作速度の関係を調整することにより、適切な状態に収束する安定性が向上し、収束時間の増加を抑制する効果が得られる。
【００８４】
（１．３）、（１．４）式において、Ｎはノードｉの送信先ノードの総数である。ここで、送信先ノードとは、ノードｉの１ホップ近傍範囲内に存在する他ノードである。
【００８５】
φｉｊ（ｔ）は、Φｉ（ｔ）とｗｉｊ（ｔ）に基づいて、時刻ｔにリンクｉ→ｊが獲得している帯域幅を表す。φｉｊ（ｔ）は、自ノードｉが他ノードｊに対して中継要求するデータパケットを送信するために必要な帯域幅に対応する。（１．４）式からわかるようにΦｉ（ｔ）とφｉｊ（ｔ）との間には、次の（１．１２）式の関係がある。
【数４】
2011109265.tif 000006
【００８６】
ｄ／ｄｔは時間ｔに関する微分演算を表す記号であり、ｄｗｉｊ（ｔ）／ｄｔはｗｉｊ（ｔ）を時間ｔで微分した状態を表す。
【００８７】
μjk(i)は定数パラメータであり、パラメータ設定部２６により設定されるものである。定数パラメータμjk(i)は、ノードｉが時刻ｔに獲得している帯域Φｉ（ｔ）を、リンク同士で取り合う過程に対応する演算を実行する際に、リンクｉ→ｊの帯域獲得度ｗｉｊ（ｔ）が、自他のリンクｉ→ｋ（ｋ＝ｊの場合を含む）の帯域獲得度ｗｉｋ（ｔ）から受ける影響度を表す。例えば、パラメータ設定部２６による典型的な設定方法として、μjk(i)の値をｉ、ｊ、ｋによらず一律に設定する方法がある。すなわち、（１．１３）式に例示するようにして、μjk(i)の値を設定する。
【数５】
2011109265.tif 000007
【００８８】
ここで、λは定数パラメータで、その値は実験的に決定する。ただし、この実施形態に限定されるものではないことに注意されたい。このように設定することにより、ノードｉが時刻ｔに獲得している帯域Φｉ（ｔ）を、リンク同士で取り合う過程に対応する演算が抑制され、収束時間が低減するという効果が得られる。
【００８９】
ｆｉｊ（ｔ）は、例えば（１．５）式で定義される評価関数であり、リンクｉ→ｊにおけるパケット流動度である。パケット流動度ｆｉｊ（ｔ）は、パケット流動度算出部２１により求められる。以下では、（１．５）式の構成を説明する。
【００９０】
Ｌｉｊはリンクｉ→ｊのリンク品質を示す。このリンク品質Ｌｉｊは、ノードｉが送信したパケットを、ノードｊが受信に成功する割合（送信成功度）を表す。リンク品質Ｌｉｊは、リンク品質算出部２１１により算出される。
【００９１】
Ｌ〜ｊは、（１．６）式で与えられるように、ノードｉの送信先ノードｊにおいて、ノードｊが送信先とするノードｕとのリンクｊ→ｕのリンク品質Ｌｊｕを、ノードｊのすべての送信先ノードについて加重平均した値である。加重平均を求める際の重み係数は、例えばリンクｊ→ｕの帯域獲得度ｗｉｊ（ｔ）に基づいて算出する。したがって、Ｌ〜ｊは、ノードｊを送信元とする全リンクの中で、獲得している帯域幅が大きいリンクほど寄与度が高い「リンク品質の平均値」を表す。（１．６）式において、Ｍはノードｊの送信先ノードの総数である。なお、Ｌ〜ｊは制御パケットに含まれており、パケット流動度算出部２１は、制御パケットに含まれている他ノードｊを送信元とするリンクに対するＬ〜ｊを用いる。
【００９２】
ｃｊ（ｔ）は、例えば（１．７）式で定義される評価関数であり、競合解消度算出部２３により求められる。ｃｉ（ｔ）は、以下に示すように、時刻ｔにノードｊがパケットの送信に必要な帯域幅に対して獲得している帯域幅の割合、すなわちノード間の帯域の競合解消度を示す。
【００９３】
（１．７）式において、ｂｊ（ｒｅｌ）（ｔ）は、例えば（１・８）式で定義されるものであり、ノードｊが、１周期の間に、他ノードから中継要求されたデータパケットを送信するために必要な帯域幅である。なお、（１．８）式において、Ｂは、１周期の間に、ノードｊに対して中継要求したノードの集合を表す。ただし、ノードｊに対して中継要求をすることができるノードは、ノードｊの１ホップ近傍範囲内に存在する他ノードである。
【００９４】
また、（１．７）式において、ｂｊ（ｉｎｔ）（ｔ）は、ノードｊが、１周期の間に、自ノード内部で発生したデータパケットを送信するために必要な帯域幅である。
【００９５】
したがって、（１．７）式の分母は、時刻ｔにノードｊがパケットの送信に必要なトータルの帯域幅を表す。一方、（１．７）式の分子は、時刻ｔにノードｊが獲得している帯域幅Φｊ（ｔ）を表す。そのため、ｃｊ（ｔ）は、上述したように、時刻ｔにノードｊがパケットの送信に必要な帯域幅に対して獲得している帯域幅の割合、すなわち、ノード間における帯域の競合解消度を示している。
【００９６】
ｇ（ｃｊ（ｔ））は、ｆｉｊ（ｔ）に対する競合解消度ｃｊ（ｔ）の与える影響度を調整するための関数（感度関数）を示す。ｇ（ｃｊ（ｔ））は、例えば（１．９）式に示すような関数形を適用することができ、感度関数算出部２４により求められる。ただし、ｇ（ｃｊ（ｔ））の関数形はこの形態に限定されない。（１．９）式は、関数値がｃｊ（ｔ）のｎ乗（ｎは正の整数値）で与えられる例を示している。
【００９７】
δｊ（ｔ）は、例えば（１．１０）式のように定義されるペナルティー関数である。δｊ（ｔ）は、ペナルティー関数算出部２２により求められる。ただし、ペナルティー関数δｊ（ｔ）の関数形は、（１．１０）式の形態に限定されないことに注意されたい。
【００９８】
（１．１０）式は、例えば、以下の条件（Ｃｏｎ１），（Ｃｏｎ２），（Ｃｏｎ３）のいずれに該当するかによって関数値が決定されることを示している。
【００９９】
すなわち、δｊ（ｔ）の値は、
（Ｃｏｎ１）の場合、１，
（Ｃｏｎ２）の場合、α，
（Ｃｏｎ３）の場合、β（０≦β≦α＜１）であることを表す。
【０１００】
ただし、以下の条件（Ｃｏｎ１）,（Ｃｏｎ２），（Ｃｏｎ３）において、ノードｊは自ノードｉの送信先ノードを表す。
【０１０１】
（１．１０）式で定義されるδｊ（ｔ）は、自ノードｉの送信先をノードｊとするとき、「ノードｊの深さＤｊ」と「ノードｊが送信先に指定している他ノードｕの深さＤｕ」との関係に基づいて、ｆｉｊ（ｔ）の値にペナルティーを与える。
【０１０２】
例えば、自ノードｉの送信先ノードｊが、自身より深さの大きい他ノードｕを送信先に指定している場合、ｆｉｊ（ｔ）の値が低下することにより、リンクｉ→ｊの帯域獲得度ｗｉｊ（ｔ）は減少する傾向が生じる。自ノードｉを送信元とする複数のリンクの中で、リンクｉ→ｊの帯域獲得度ｗｉｊ（ｔ）の小さくなる傾向が相対的に強ければ、自ノードｉが送信先ノードｊに対して送信するパケットの量は減少する。
【０１０３】
一般に、「ノードｊが送信先に指定している他ノードｕ」は時間的に変化する可能性があるため、δｊ（ｔ）は時間ｔの関数となる。
【０１０４】
［条件］
（Ｃｏｎ１）：ノードｊが、自身より深さの小さい他ノードｕを送信先に指定している、かつ、条件（Ｃｏｎ２），（Ｃｏｎ３）を満足しない。
【０１０５】
（Ｃｏｎ２）：ノードｊが、自身と同じ深さの他ノードｕを送信先に指定している、かつ、条件（Ｃｏｎ３）を満足しない。ただし、条件（Ｃｏｎ１）を満足するか否かは問わない。
【０１０６】
（Ｃｏｎ３）：ノードｊが、自身より深さの大きい他ノードｕを送信先に指定している。ただし、条件（Ｃｏｎ１）、（Ｃｏｎ２）を満足するか否かは問わない。
【０１０７】
以上、（１．５）式の右辺における各変数が表す量について説明した。（１．５）式に示すように、パケット流動度ｆｉｊ（ｔ）は、以下の量の積で与えられる評価尺度である。以下において、ノードｊは自ノードｉの送信先ノードを表す。
【０１０８】
（１）リンクｉ→ｊのリンク品質Ｌｉｊ
（２）ノードｊにおけるリンク品質の加重平均Ｌ〜ｊ
（３）ノードｊにおける「競合解消度ｃｉ（ｔ）」の感度関数値ｇ（ｃｊ（ｔ））
（４）ノードｊにおけるペナルティー関数値δｊ（ｔ）
ｆｉｊ（ｔ）には、「リンクｉ→ｊのリンク品質Ｌｉｊ」や、「ノードｊを送信元とするリンクに対するリンク品質」だけでなく、「ノードｊにおける帯域の競合解消度」や、『「ノードｊの深さＤｊ」と「ノードｊが送信先に指定している他ノードｕの深さＤｕ」との関係に基づいて決定されるペナルティー関数値δｊ（ｔ）』が反映されている点に注意されたい。
【０１０９】
このように、ｆｉｊ（ｔ）は、時刻ｔにおいて、「自ノードｉがリンクｉ→ｊを用いて送信したデータパケット」が、ノードｊで停滞する、あるいは廃棄されることなく、その後、より深さの小さい他ノードヘ到達する可能性を評価する尺度になっている。そこで、第１の実施形態では、ｆｉｊ（ｔ）を、時刻ｔにおけるリンクｉ→ｊの「パケット流動度」と呼ぶ。
【０１１０】
自ノードｉの送信先ノードｊにおいて、「帯域の競合」や、「深さがＤｊより大きい他ノードを送信先に指定する事態」が発生している場合、「パケット流動度ｆｉｊ（ｔ）」が低下することによって、当該リンクｉ→ｊを用いたデータパケットの送信を抑制する作用が働く。
【０１１１】
また、パケット流動度算出部２１において、演算抑制部２１３は、ｆｉｊ（ｔ）の値を、上記以外に（１．１１）式に示す演算を実行することにより更新する。以下では、（１．１１）式によるパケット流動度ｆｉｊ（ｔ）の値の更新を説明する。
【０１１２】
（１．１１）式は、自ノードｉを送信元とするリンクｉ→ｋ（ｋ＝１，２，…，Ｎ）に対するパケット流動度ｆｉｋ（ｔ）の中で、リンクｉ→ｊに対する値ｆｉｊ（ｔ）が最大でない場合、
「最大値ｍａｘｆｉｋ（ｔ）とｆｉｊ（ｔ）との差が閾値Ｔｈｆよりも小さい」ならば、
「ｆｉｊ（ｔ）にｍａｘｆｉｋ（ｔ）の値を代入する」
ことを示している。ここで、Ａは集合Ａ＝｛１，２，…，Ｎ｝であり、ｋ，ｊは集合Ａの要素である。また、閾値Ｔｈｆは実験的に決定する定数パラメータである。
【０１１３】
上記の処理を実行することにより、自ノードｉを送信元とするリンクｉ→ｋ（ｋ＝１，２，…，Ｎ）同士で帯域を取り合う演算を実行する過程において、異なるリンクに対するｆｉｋ（ｔ）のわずかな差に左右されずに、収束状態に至る動作が実現される。その結果、収束時間が低減するという効果が得られる。
【０１１４】
先行出願１に開示される方法ではｆｉｊ（ｔ）を算出する演算にリンクｉ→ｊが獲得する帯域幅Φｉｊ（ｔ）の値が直接影響を与えている。そのため、Φｉｊ（ｔ）の値が大きいリンクほど、Φｉｊ（ｔ）がより成長しやすいという性質があった。その結果、発信衝突と幅輳をともに回避した状態が実現されても、一般に複数存在する「自ノードｉの送信先ノードｊ」が１つに収束するまで制御動作を継続する傾向が生まれ、その分、収束時間が増加するという問題を引き起こしていた。
【０１１５】
また、先行出願１に開示される方法では、ｆｉｊ（ｔ）を算出する演算に、自ノードｉの送信先ノードｊにおける活性度ａｉ（ｔ）を用いている。ａｉ（ｔ）は、ノードｊに対する通信負荷と、それに対する（リンク品質を考慮した）実効的な送信能力とのバランスを表す。ａｉ（ｔ）の値が低いほど、上記のバランスが悪く、ノードｊにデータパケットの蓄積が発生する傾向が強いことを表している。しかし、ａｉ（ｔ）は、「ノードｊにおける帯域の競合度」と、「ノードｊを送信元とするリンク品質」とを独立に評価していない。そのため、ｆｉｊ（ｔ）に対する「ノードｊにおける帯域の競合度」の与える影響度を調整できず、コンフリクトを低減する作用が十分得られない場合があった。
【０１１６】
それに対して、本発明では、上記の構成によってｆｉｊ（ｔ）の値を算出することにより、こうした問題を解消している。このように、先行出願１に開示される方法におけるｆｉｊ（ｔ）は、リンクｉ→ｊを用いて送信したデータパケットの流れの良し悪しを評価する尺度（リンクｉ→ｊの帯域幅Φｉｊ（ｔ）が関与する尺度）になっているのに対して、本発明におけるｆｉｊ（ｔ）は、「リンクｉ→ｊを用いて送信したデータパケット」が、ノードｊで停滞する、あるいは廃棄されることなく、その後、より深さの小さい他ノードヘ到達する可能性を評価する尺度になっている。その結果、上記の問題が解消されるという効果が得られる。
【０１１７】
（Ａ−３−３）各ノードにおける送信先の指定方法
次に、（１．３）〜（１．１１）式を用いた演算を実行する過程での「各ノードにおける送信先の指定方法」について説明する。送信先決定部２８は、以下で説明する条件判定及び処理を行い、その処理結果を用いて送信先を指定する。
【０１１８】
以下の説明において、［初期設定］は、（１．３）〜（１．１１）式を用いた演算を実行する際の初期設定、［初期設定］以外は、（１．３）〜（１．１１）式を用いた演算を実行する過程で、当該の条件を満足した場合に実行する処理を示している。
【０１１９】
また、以下の説明において、自ノードｉの送信先に指定可能であるノードは、「自ノードｉの１ホップ近傍範囲内に存在する他ノードｊ」である。
【０１２０】
さらに、以下の説明において、例えば、単に「自ノードｉより深さの小さい他ノードｊ」等と記述されている場合も、他ノードｊは「自ノードｉの１ホップ近傍範囲内に存在する他ノード」であるという条件を満たす点に注意されたい。
【０１２１】
［初期設定］
初期設定として、「自ノードｉより深さの小さい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）に、ｗｉｊ（ｔ）＞０の初期値を設定する。
【０１２２】
初期値は実験的に決定する定数パラメータである。「自ノードｉより深さの小さい他ノードｊ」が複数存在する場合も、すべて同様に設定を行う。上記の操作は、「自ノードｉより深さの小さい他ノードｊ」を、すべて送信先に指定することを意味する。
【０１２３】
また、「自ノードｉと深さが同じ他ノードｊ」、及び「自ノードｉより深さの大きい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）は、ｗｉｊ（ｔ）＝０と設定する。この操作は、「自ノードｉと深さが同じ他ノードｊ」、及び「自ノードｉより深さの大きい他ノードｊ」を、送信先に指定しないことを意味する。
【０１２４】
同様に以下の説明においても、リンクｉ→ｊに対するｗｉｊ（ｔ）が、ｗｉｊ（ｔ）＞０ならば、「自ノードｉは他ノードｊを送信先に指定している状態」であり、逆にｗｉｊ（ｔ）＝０ならば、「自ノードｉは他ノードｊを送信先に指定していない状態」であることを意味する。
【０１２５】
（ア）［条件判定と処理１］
［条件１］
自ノードｉが他ノードｊを送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、閾値Ｔｈ１以下である。ここで、閾値Ｔｈ１は実験的に決定する定数パラメータである。
【０１２６】
［処理］
上記［条件１］を満足する場合、当該リンクに対するｗｉｊ（ｔ）を、ｗｉｊ（ｔ）＝０とする。
【０１２７】
（イ）［条件判定と処理２］
［条件２］
「自ノードｉより深さの小さい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、すべて閾値Ｔｈ２以下である。
【０１２８】
かつ、「自ノードｉより深さの小さい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）の内、少なくとも１つはｗｉｊ（ｔ）＞０である。
【０１２９】
かつ、「自ノードｉと深さが同じ他ノードｊ」、及び「自ノードｉより深さの大きい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、すべてｗｉｊ（ｔ）＝０である。
【０１３０】
かつ、「自ノードｉと深さが同じ他ノードｊ」が、自ノードｉより相互作用対象ノード数が少ない。
【０１３１】
ここで、閾値Ｔｈ２は実験的に決定する定数パラメータである。
【０１３２】
［処理２］
上記［条件２］を満足する場合、「自ノードｉと深さが同じ他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）に、ｗｉｊ（ｔ）＞０の値を設定する。設定する値は実験的に決定する定数パラメータである。
【０１３３】
「自ノードｉと深さが同じ他ノードｊ」が複数存在する場合も、すべて同様に設定を行う。
【０１３４】
ただし、「自ノードｉと深さが同じ他ノードｊ」が、自ノードｉを送信先に指定している場合は、当該リンクｉ→ｊに対するｗｉｊ（ｔ）を更新せず、ｗｉｊ（ｔ）＝０とする。すなわち、自ノードｉは、当該リンクｉ→ｊの他ノードｊを送信先に指定しない。
【０１３５】
また、「自ノードｉと深さが同じ他ノードｊ」が、すべて自ノードｉを送信先に指定している場合は、「自ノードｉより深さの大きい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）に、ｗｉｊ（ｔ）＞０の値を設定する。設定する値は実験的に決定する定数パラメータである。「自ノードｉより深さの大きい他ノードｊ」が複数存在する場合も、すべて同様に設定を行う。上記の処理は、「自ノードｉより深さの大きい他ノードｊ」が、自ノードｉを送信先に指定している状態であっても実行する。
【０１３６】
第１の実施形態の典型的な利用形態では、閾値Ｔｈ２は、閾値Ｔｈ１以上の値を設定する。すなわち、Ｔｈ１≦Ｔｈ２を満たすように、閾値Ｔｈ２を設定する。
【０１３７】
（ウ）［条件判定と処理３］
［条件３］
「自ノードｉより深さの小さい他ノードｊ」、及び「自ノードｉと深さが同じ他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、すべて閾値Ｔｈ３以下である。
【０１３８】
かつ、「自ノードｉと深さが同じ他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）の内、少なくとも１つはｗｉｊ（ｔ）＞０である。
【０１３９】
かつ、「自ノードｉより深さの大きい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、すべてｗｉｊ（ｔ）＝０である。
【０１４０】
ここで、閾値Ｔｈ３は実験的に決定する定数パラメータである。
【０１４１】
［処理３］
上記［条件３］を満足する場合、「自ノードｉより深さの大きい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）に、ｗｉｊ（ｔ）＞０の値を設定する。設定する値は実験的に決定する定数パラメータである。「自ノードｉより深さの大きい他ノードｊ」が複数存在する場合も、すべて同様に設定を行う。上記の処理は、「自ノードｉより深さの大きい他ノードｊ」が、自ノードｉを送信先に指定している状態であっても実行する。
【０１４２】
第１の実施形態の典型的な利用形態では、閾値Ｔｈ３は、閾値Ｔｈ２と等しい値を設定する。すなわち、Ｔｈ３＝Ｔｈ２を満たすように、閾値Ｔｈ３を設定する。
【０１４３】
（エ）条件判定と処理４
［条件４］
「自ノードｉより深さの小さい他ノードｊ」が、自ノードｉを送信先に指定している。
【０１４４】
［処理４］
上記［条件４］を満足する場合、
当該リンクｉ→ｊに対するｗｉｊ（ｔ）を、ｗｉｊ（ｔ）＝０とする。すなわち、自ノードｉは、当該リンクｉ→ｊの他ノードｊを送信先に指定しない。
【０１４５】
上記の処理は、例え、自ノードｉが他ノードｊを送信先に指定している状態であっても、他ノードｊが自ノードｉを送信先に指定した場合は、「自ノードｉは他ノードｊを送信先に指定しない状態に変更する」ということを意味する。
【０１４６】
（オ）条件判定と処理５
［条件５］
「自ノードｉが他ノードｋを送信先に指定している状態、すなわち、ｗｉｋ（ｔ）＞０」のとき、リンクｉ→ｋに対する、ｗｉｋ（ｔ）が、すべて閾値Ｔｈ５Ａ以下である。
【０１４７】
かつ、「自ノードｉより深さの小さい他ノードｊ」を送信先とするリンクｉ→ｊに対する、ｗｉｊ（ｔ）が、ｗｉｊ（ｔ）＝０である。
【０１４８】
かつ、当該リンクｉ→ｊに対するｆｉｊ（ｔ）が、閾値Ｔｈ５Ｂ以上である。
【０１４９】
ここで、閾値Ｔｈ５Ａ及び閾値Ｔｈ５Ｂは、実験的に決定する定数パラメータである。
【０１５０】
［処理５］
上記［条件５］を満足する場合、当該リンクｉ→ｊに対するｗｉｊ（ｔ）に、ｗｉｊ（ｔ）＞０の値を設定する。設定する値は実験的に決定する定数パラメータである。上記［条件５］を満足するリンクｉ→ｊが複数存在する場合も、すべて同様に設定を行う。
【０１５１】
上記の処理は、例え、「自ノードｉより深さの小さい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、ｗｉｊ（ｔ）＝０である状態（自ノードｉが他ノードｊを送信先に指定していない状態）になっても、その後、無線環境が変化して、当該リンクｉ→ｊに対するｆｉｊ（ｔ）が、閾値Ｔｈ５Ｂ以上になれば、ｗｉｊ（ｔ）＞０である状態（自ノードｉが他ノードｊを送信先に指定している状態）に変化することを意味する。
【０１５２】
（カ）条件判定と処理６
［条件６］
上記［条件５］を満足しない。
【０１５３】
かつ、「自ノードｉが他ノードｋを送信先に指定している状態、すなわち、ｗｉｋ（ｔ）＞０」のとき、リンクｉ→ｋに対するｆｉｋ（ｔ）が、すべて閾値Ｔｈ６Ａ以下である。
【０１５４】
かつ、「自ノードｉより深さの小さい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、すべてｗｉｊ（ｔ）＝０である。
【０１５５】
かつ、「自ノードｉと深さが同じ他ノードｐ」を送信先とするリンクｉ→ｐに対するｗｉｐ（ｔ）が、ｗｉｐ（ｔ）＝０である。
【０１５６】
かつ、当該リンクｉ→ｐに対するｆｉｐ（ｔ）が、閾値Ｔｈ６Ｂ以上である。
【０１５７】
ここで、閾値Ｔｈ６Ａ、及びＴｈ６Ｂは実験的に決定する定数パラメータである。
【０１５８】
［処理６］
上記［条件６］を満足する場合、当該リンクｉ→ｐに対するｗｉｐ（ｔ）に、ｗｉｐ（ｔ）＞０の値を設定する。設定する値は実験的に決定する定数パラメータである。上記［条件６］を満足するリンクｉ→ｐが複数存在する場合も、すべて同様に設定を行う。
【０１５９】
（キ）［条件判定と処理７］
［条件７］
上記［条件５］及び［条件６］を満足しない。
【０１６０】
かつ、「自ノードｉが他ノードｋを送信先にしている状態、すなわち、ｗｉｋ（ｔ）＞０」のとき、リンクｉ→ｋに対するｆｉｋ（ｔ）が、すべて閾値Ｔｈ７Ａ以下である。
【０１６１】
かつ、「自ノードｉより深さの小さい他ノードｊ」を送信先とするリンクｉ→ｊに対するｗｉｊ（ｔ）が、すべてｗｉｊ（ｔ）＝０である。
【０１６２】
かつ、「自ノードｉと深さが同じ他ノードｐ」を送信先とするリンクｉ→ｐに対するｗｉｐ（ｔ）が、すべてｗｉｐ（ｔ）＝０である。
【０１６３】
かつ、「自ノードｉより深さの大きい他ノードｑ」を送信先とするリンクｉ→ｑに対するｗｉｑ（ｔ）が、ｗｉｑ（ｔ）＝０である。
【０１６４】
かつ、当該リンクｉ→ｑに対するｆｉｑ（ｔ）が、閾値Ｔｈ７Ｂ以上である。
【０１６５】
ここで、閾値Ｔｈ７Ａ及び閾値Ｔｈ７Ｂは実験的に決定する定数パラメータである。
【０１６６】
［処理７］
上記［条件７］を満足する場合、当該リンクｉ→ｑに対するｗｉｑ（ｔ）に、ｗｉｑ（ｔ）＞０の値を設定する。設定する値は実験的に決定する定数パラメータである。上記［条件７］を満足するリンクｉ→ｐが複数存在する場合も、すべて同様に設定を行う。
【０１６７】
（Ａ−３−４）経路制御動作
（１．３）〜（１．１１）式を用いた演算を実行することにより、自ノードのリンクの中で「パケット流動度ｆｉｊ（ｔ）」が大きい値をとるリンクほど、その帯域幅φｉｊ（ｔ）が時間と共に増大する。
【０１６８】
すなわち、リンクｉ→ｊ（ｊ＝１，２，…，Ｎ）が獲得する帯域幅φｉｊ（ｔ）は、そのリンクの「パケット流動度ｆｉｊ（ｔ）」に依存して、時間と共に増大、あるいは減衰する。
【０１６９】
これは、図６に示すように、自ノードｉが獲得している帯域幅Φｉ（ｔ）において、自ノードｉのリンク同士（例えば、リンクｉ→ｊ、リンクｉ→ｋ等）で帯域幅を取り合う動作に相当する。
【０１７０】
したがって、例えば、図６において、あるリンクｉ→ｊの帯域幅φｉｊ（ｔ）が増大すれば、その分、他のリンクｉ→ｋ（ｋ≠ｊ）の帯域幅φｉｋ（ｔ）は減衰する。定数パラメータμは、上述したように、その演算を実行する際に、リンクｉ→ｊが他のリンクｉ→ｋ（ｋ≠ｊ）から受ける影響度を表す。その結果、次の２つの状態のいずれかを収束する。
【０１７１】
（１）自ノードｉのリンクの中で、１個のリンクが帯域幅Φｉ（ｔ）をすべて獲得する。
【０１７２】
（２）自ノードｉのリンクの中で、複数のリンクが帯域幅Φｉ（ｔ）をある比率で分割する。
【０１７３】
上記の２つの状態の内、どちらに収束するかは、定数パラメータμと「パケット流動度ｆｉｊ（ｔ）」の値に依存する。定数パラメータμの値は、アプリケーションの要求等に合わせて実験的に決定する。
【０１７４】
（Ａ−３−５）通信タイミングバターン形成過程の状態が経路制御動作に与える影響
通信タイミングパターン形成過程Ｐ１で発生するコンフリクトは、ノードの「競合解消度」の値に反映される。
【０１７５】
例えば、ノードｊでコンフリクトが発生すれば、ノードｊの「競合解消度ｃｊ（ｔ）」の値が低下する。その結果、リンクｉ→ｊの「パケット流動度ｆｉｊ（ｔ）」の値が減少し、リンクｉ→ｊが獲得する帯域幅Φｉｊ（ｔ）を減衰させる作用が働く。
【０１７６】
これは、ノードｉにおける他のリンクｉ→ｊ（ｋ≠ｊ）の帯域幅φｉｋ（ｔ）を増大させる。このようにして、コンフリクトが発生しているノードｊに対する通信負荷を軽減し、それを他のノードに分散させる機能が働く。
【０１７７】
したがって、ノード間において通信に必要な帯域を取り合う過程で生じるコンフリクトの状態が、データパケットの送信経路を決定する過程に影響し、コンフリクトを低減する方向に作用する。
【０１７８】
（Ａ−３−６）制御パケット送信部１４及び制御パケット受信部１１
制御パケット送信部１４では、通信タイミング制御演算部１２の演算結果に基づくタイミングで、制御パケットに制御情報を付加して送信する。また、制御パケット受信部１１では、他ノードが送信した制御パケットを受信し、制御情報の読み出しを行う。
【０１７９】
制御パケットには、近傍ノードの位相情報以外に、以下の制御情報を付加する。
【０１８０】
（１）自ノードｉにおける「競合解消度ｃｊ（ｔ）」
（２）他ノードｊに対して中継要求する「データパケットを送信するために必要な帯域幅φｉｊ（ｔ）」
（３）自ノードｉを送信元とするリンクに対する「リンク品質の加重平均Ｌ〜ｉ」
（４）自ノードｉの深さＤｉ
（５）自ノードｉにおけるペナルティー関数δｉ（ｔ）の値
（Ａ−３−７）データパケット送受信部１５
自ノードｉのデータパケット送受信部１５は、経路制御演算部１３の演算結果に基づいて、他ノードｊに対して中継要求するデータパケットを送信する。つまり、データパケット送受信部１５は、経路制御演算部１３の演算結果から、自ノードｉから各他ノードｊへの帯域幅φｉｊ（ｔ）を用いて、各他ノードｊ宛のデータパケットを送信する。
【０１８１】
また、データパケット送受信部１５は、他ノードから中継要求されたデータパケットを受信する。
【０１８２】
（Ａ−４）微分方程式の演算方法について
（１．１）及び（１．３）式で示した微分方程式の演算は、例えば、オイラー方やルンゲ・クッタ法などの一般的な数値計算法を用いて、ソフトウェアとしてノード上に実行可能である。すなわち、上述したノードにおける各処理は、ソフトウェア処理により実現することができ、例えば、ＲＯＭに格納される演算を実行させる処理プログラムをＣＰＵが読み出し、ＣＰＵが処理プログラムを実行することにより実現できる。これらの数値計算法は、微分方程式を差分化（連続時間変数ｔを離散化）して得られる差分方程式（漸化式）を用いて状態変数の変化（時間発展）を計算する手法を適用することができる。さらに、（１．１）及び（１．３）式と同様の動作をする電子回路を構成すれば、ハードウェアとしてノード上に実装することも可能である。
【０１８３】
（Ａ−５）第１の実施形態の効果
以上のように、第１の実施形態によれば、パケット流動度算出部、送信先決定部、ペナルティ関数算出部を備えることにより、「自ノードより深さが小さいノード」だけでなく、「自ノードと深さが同一」又は「自ノードより深さが大きい」ノードを用いた送信経路制御が可能となり、無線環境の変化に対する適応性が向上する。
【０１８４】
また、第１の実施形態によれば、競合解消度算出部、感度関数算出部、演算抑制部、速度調整部を備えることにより、必要以上に制御動作を継続することによる収束時間の増加を抑制することが可能になり、無線環境の変化に対する適応速度が向上する。
【符号の説明】
【０１８５】
１…ノード、１１…制御パケット受信部、１２…通信タイミング制御演算部、
１３…経路制御演算部、１４…制御パケット送信部、１５…データパケット送受信部、
２１…パケット流動度算出部、２１１…リンク品質算出部、
２１２…リンク品質加重平均算出部、２１３…演算抑制部、
２２…ペナルティー関数算出部、２３…競合解消度算出部、２４…感度関数算出部、
２５…リンク獲得帯域幅、２６…パラメータ設定部、２７…速度調整部、
２８…送信先決定部、２９…送信先条件格納部、２０…条件格納部。
【図１】
2011109265.tif 000008
【図２】
2011109265.tif 000009
【図３】
2011109265.tif 000010
【図４】
2011109265.tif 000011
【図５】
2011109265.tif 000012
【図６】
2011109265.tif 000013