(57)【要約】【課題】ノード間の通信タイミングを自律分散的に調整する際に、他ノードとの間の競合状態を解消する競合解消能力を向上させる。【解決手段】本発明は、１又は複数の他ノードとの間で、少なくとも自ノードのデータ送信に必要とする必要位相区間幅を含む制御信号を送受信する制御信号送受信手段と、各他ノードの通信タイミングを示す位相が反映された当該他ノードからの制御信号の受信に基づき、予め定められた規則に従って内部で位相状態を変化させて、自ノードの通信タイミングを示す位相を求める位相演算手段と、位相演算手段により求められた位相状態において、各他ノードの位相と各他ノードの必要位相区間幅に基づき各他ノードに割り当てたデータ送信の位相区間以外の特定の位相に、自ノードの位相を遷移させる位相遷移制御演算手段とを備えることを特徴とする。【選択図】      図１
2011233975.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成するノードに搭載される通信制御装置において、
１又は複数の他ノードとの間で、少なくとも自ノードのデータ送信に必要とする必要位相区間幅を含む制御信号を送受信する制御信号送受信手段と、
上記各他ノードの通信タイミングを示す位相が反映された当該他ノードからの上記制御信号の受信に基づき、予め定められた規則に従って内部で位相状態を変化させて、自ノードの通信タイミングを示す位相を求める位相演算手段と、
上記位相演算手段により求められた上記位相状態において、上記各他ノードの位相と上記各他ノードの上記必要位相区間幅に基づき上記各他ノードに割り当てたデータ送信の位相区間以外の特定の位相に、自ノードの位相を遷移させる位相遷移制御演算手段と
を備えることを特徴とする通信制御装置。
【請求項２】
上記位相遷移制御演算手段が、
自ノードの位相と相互作用させる相互作用範囲内に存在する上記複数の他ノードの必要位相区間幅を比較して、上記必要位相区間幅の大きい所定数の上記他ノードを選択するノード選択部と、
上記ノード選択部により選択された所定数の上記他ノードの位相及び上記必要位相区間幅に基づいて、上記他ノードがデータ送信に必要とする位相区間を検出する位相区間検出部と、
上記位相区間検出部により検出された位相区間以外の位相区間を選択する位相区間選択部と、
上記位相区間選択部により選択された位相区間から、上記特定の位相を決定する特定位相決定部と
を有することを特徴とする請求項１に記載の通信制御装置。
【請求項３】
上記位相遷移制御演算手段が、上記位相演算手段により求められた上記位相状態に基づいて、自ノードの位相の遷移を行うか否かを確率的に判断する位相遷移実行判断部を有することを特徴とする請求項１又は２に記載の通信制御装置。
【請求項４】
上記位相遷移実行判断部が、
上記位相演算手段の上記位相状態に基づく自ノードの獲得位相区間幅、自ノードの上記必要位相区間幅のいずれ若しくは両方を用いて、
または、上記自ノードの獲得位相区間幅及び又は自ノードの上記必要位相区間幅と上記各他ノードの獲得位相区間幅及び又は上記各他ノードの上記必要位相区間幅との比較結果を用いて、
自ノードの位相の遷移を判断するものであることを特徴とする請求項３に記載の通信制御装置。
【請求項５】
コンピュータを、
１又は複数の他ノードとの間で、少なくとも自ノードのデータ送信に必要とする必要位相区間幅を含む制御信号を送受信する制御信号送受信手段、
上記各他ノードの通信タイミングを示す位相が反映された当該他ノードからの上記制御信号の受信に基づき、予め定められた規則に従って内部で位相状態を変化させて、自ノードの通信タイミングを示す位相を求める位相演算手段、
上記位相演算手段により求められた上記位相状態において、上記各他ノードの位相と上記各他ノードの上記必要位相区間幅に基づき上記各他ノードに割り当てたデータ送信の位相区間以外の特定の位相に、自ノードの位相を遷移させる位相遷移制御演算手段
として機能させるものであることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置及び通信制御プログラムに関し、例えば、無線センサネットワークやアドホックネットワーク、あるいは無線ＬＡＮ（Local  Area  Network）に接続された複数の機器から構成されるシステム等のように、空間に分散配置された多数のノードや移動体に設置されたノードが、相互にデータ通信を行う場合において、電波干渉等による通信データの衝突や輻輳を回避する通信制御装置及び通信制御プログラムに適用し得るものである。
【背景技術】
【０００２】
複数の無線ノードから構成されるネットワークおいて、集中管理的な制御をせずに、個々のノードが、自律分散的に通信タイミングをスケジューリングすることによって、発信衝突を回避する方法として特許文献１に開示される技術がある。
【０００３】
特許文献１において、各ノードが自律的に通信タイミングを獲得する方法は、各ノードが、近傍ノードとの間で周期的に、自ノードのデータ発信タイミングを示す制御情報（以下、制御パケットともいう）を送受信することによって、「通信タイミングの相互調整」を行う技術が開示されている。
【０００４】
各ノードは、近傍ノードから制御パケットの受信に基づき、所定規則（例えば時間発展規則など）に従って自ノードと他ノードの通信タイミングを示す位相の状態を変化させることで、自ノードと近傍ノードとの位相区間の調整を行う。そして、自ノード及び近傍ノードの位相状態の変化が収束し、安定な位相状態が形成されると、自ノードと近傍ノードとの間の競合を回避することができ、各ノードは、自ノードの位相が所定値になるタイミングを自ノードのデータ発信タイミングと決定して制御パケットを発信する。
【０００５】
ここで、１周期内において、各ノードが送信に用いる時間区間は、通信タイミングを制御するための演算における自ノードの位相とこの直前あるいは直後の他ノードの位相との間の位相区間に対応する。すなわち、通信タイミングを示す時間は、通信タイミングの演算上は、位相に置き換えて処理される。ここで、位相とは、周期的な状態変換を示す状態変数である。
【０００６】
この動作により、各ノードは、制御パケットの発信周期に相当する期間を近傍ノードとの間で分け合い、各ノードが送信に必要な時間区間を獲得することができる。各ノードは、自律分散的な通信タイミングのスケジューリングを達成することができる。したがって、制御パケットの発信周期は、通信タイミングのスケジューリング（通信タイミングの割当）における周期と等しい。以後、制御パケットの発信周期を、単に周期とも呼ぶ。
【０００７】
また、近傍ノードとの間における制御パケットの送信方法にはいくつかの形態がある。図２は、近傍ノードとの間の制御パケットの送受信方法例を説明する説明図である。図２では、制御パケットの送受信方法の例として２つの形態例を示す。
【０００８】
１番目の形態は、図２（ａ）に示すように、各ノードが発信する制御パケットの電波到達範囲を、データパケットの電波到達範囲よりも広くする形態である。例えば、図２（ａ）では、制御パケットの電波到達範囲をデータパケットのそれよりも２倍程度広くした場合を示す。この場合、制御パケットとデータパケットとの送信電力比を調節することによって、電波到達範囲の比を設定することで実現することができる。このように、制御パケットとデータパケットとの電波到達範囲の比を設定する理由は、例えば隠れ端末などによる発信衝突の発生を回避するためである。
【０００９】
２番目の形態は、図２（ｂ）に示すように、制御パケットとデータパケットの電波到達範囲は同一（つまり、送信電力は同一）とし、他ノードから受信した制御パケットに基づいて、自ノードの内部に生成した当該他ノードに対する仮想位相を、自ノードが制御パケットを送信する際に付加する方法である。この仮想位相を付加する方法については、特許文献２に開示される技術を用いることができる。
【００１０】
図２（ｂ）において、着目ノードから制御パケットを受信したノード（図２（ｂ）における実線の円内のノード）は、自身の内部に着目ノードに対する仮想位相が存在しない場合には新たに仮想位相の値を生成し、すでに存在する場合にはその値（仮想位相の値）を調整する。生成あるいは調整された仮想位相の値は、その後、固有角振動数に相当する一定の速度で変化する。そして、自ノードが制御パケットを送信する際に、現時刻における着目ノードに対する仮想位相の値を付加して送信する。このようにすることで、着目ノードの位相情報が１ホップ先のノード（図２（ｂ）における実線の円内のノード）を介して間接的に２ホップ先のノード（図２（ｂ）において、点線の円内のノードで実線の円内に含まれないノード）に伝えられる。
【００１１】
上記では、着目ノードの位相情報が２ホップ先のノードに間接的に伝えられる仕組みについて説明したが、すべてのノードの位相情報が同様にして２ホップ先のノードに伝えられる。したがって、通信タイミング調整における相互作用範囲は、各ノードの２ホップ近傍範囲となる。
【００１２】
以下では、近傍ノードとの間における制御パケットの送受信方法として、図２（ｂ）の形態を用いる場合を仮定して説明する。ただし、これは、説明の便宜上、このような仮定を適用するのであって、本発明は図２（ａ）の形態に対しても適用可能である。また、シンクノードからのホップ数は、あらかじめ各ノードに与えられていると仮定する。これは、例えば、次のようにして与えることができる。例えば、シンクノードが制御パケットと同等のパケットをマルチホップで発信する。各ノードは、マルチホップの転送回数をカウントし、転送回数を更新してさらに転送する。また、各ノードは、転送回数のカウントにより、自ノードに到達するまでのホップ数を観測する。各ノードは、自ノードで観測されたホップ数の最小値を、「自ノードからシンクノードまでのホップ数」として保持する。このような処理を事前に行うことにより、シンクノードは前記ホップ数を各ノードにあらかじめ与えておくことができる。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００６−０７４６１７号公報（特許第４１７３１２２号）
【特許文献２】特開２００６−１５７４４１号公報（特許第４１７３１３２号）
【発明の概要】
【発明が解決しようとする課題】
【００１４】
例えば、無線センサネットワークにおいて、各ノードが、センサデータをマルチホップでシンクノードに向けて送信する場合を考える。
【００１５】
特許文献１の記載技術を用いる場合、各ノードは、近傍ノードとの間で通信タイミングのスケジューリングを行う。このとき、各ノードは、センサデータのデータ収集頻度に応じて、通信タイミングのスケジューリングを行い、周期を設定する。そのため、各ノードは、データ収集頻度が高くなるほど、設定周期を小さくする必要がある。これは、センサデータを送信する時間区間を獲得するためである。
【００１６】
例えば、自身で発生するセンサデータが比較的多い場合や、シンクノードの近くに存在するノードほど送信すべきセンサデータが多くなるのでこのような場合等には、データ収集頻度が高くなるから、設定周期を小さくする必要が生じ得る。
【００１７】
しかし、特許文献１の記載技術を用いる場合、設定周期を比較的小さくすると、ノード間における「通信タイミングの相互調整」動作が収束せず、競合状態が解消されないという問題が発生し得る。この問題は、原理的には競合状態を解消することが可能な周期を設定した場合において発生し得る。競合状態の持続はパケットロスを招き、データ収集における通信の信頼性を低下させることになる。
【００１８】
そのため、設定周期を比較的小さくした場合における競合状態を解消する競合解消能力を向上させることが望まれている。
【００１９】
そこで、本発明は、自律分散的に通信タイミングを調整するものであって、高い競合解消能力を有する通信制御装置及び通信制御プログラムを提供する。
【課題を解決するための手段】
【００２０】
かかる課題を解決するために、第１の本発明の通信制御装置は、ネットワークを構成するノードに搭載される通信制御装置において、（１）１又は複数の他ノードとの間で、少なくとも自ノードのデータ送信に必要とする必要位相区間幅を含む制御信号を送受信する制御信号送受信手段と、（２）各他ノードの通信タイミングを示す位相が反映された当該他ノードからの制御信号の受信に基づき、予め定められた規則に従って内部で位相状態を変化させて、自ノードの通信タイミングを示す位相を求める位相演算手段と、（３）位相演算手段により求められた位相状態において、各他ノードの位相と各他ノードの必要位相区間幅に基づき各他ノードに割り当てたデータ送信の位相区間以外の特定の位相に、自ノードの位相を遷移させる位相遷移制御演算手段とを備えることを特徴とする。
【００２１】
第２の本発明の通信制御プログラムは、コンピュータを、（１）１又は複数の他ノードとの間で、少なくとも自ノードのデータ送信に必要とする必要位相区間幅を含む制御信号を送受信する制御信号送受信手段、（２）各他ノードの通信タイミングを示す位相が反映された当該他ノードからの制御信号の受信に基づき、予め定められた規則に従って内部で位相状態を変化させて、自ノードの通信タイミングを示す位相を求める位相演算手段、（３）位相演算手段により求められた位相状態において、各他ノードの位相と各他ノードの必要位相区間幅に基づき各他ノードに割り当てたデータ送信の位相区間以外の特定の位相に、自ノードの位相を遷移させる位相遷移制御演算手段として機能させるものであることを特徴とする。
【発明の効果】
【００２２】
本発明によれば、ノード間における通信タイミングの競合解消能力を向上させることができる。
【図面の簡単な説明】
【００２３】
【図１】実施形態におけるノードの内部構成を示す内部構成図である。
【図２】ノード間における制御パケットの送受信方法を説明する説明図である。
【図３】実施形態の位相演算部の構成を示すブロック図である。
【図４】位相応答関数を説明する説明図である。
【図５】実施形態の位相ジャンプ制御演算部の構成を示すブロック図である。
【図６】実施形態の位相ジャンプ制御演算処理を示すフローチャートである。
【図７】実施形態の位相ジャンプ先の決定方法を説明する説明図である。
【発明を実施するための形態】
【００２４】
（Ａ）主たる実施形態
以下では、本発明の通信制御装置及び通信制御プログラムの実施形態を、図面を参照しながら説明する。
【００２５】
この実施形態では、例えば、マルチホップ通信を採用してセンサデータの通信を行う無線センサネットワークにおいて、無線センサネットワークを構成する各ノードが備える通信制御装置に本発明を適用した場合を例示する。
【００２６】
（Ａ−１）実施形態の構成及び動作
各ノードは、例えばセンサノードを適用することができる。各ノードは、センサを備えており、センサがセンシングしたセンサデータを含むデータパケットや、他ノードから受信したセンサデータを含むデータパケットをシンクノードに向けて送信するものである。
【００２７】
また、各ノードは、他ノードとの間で制御パケットを送受信して、パケットの衝突や輻輳等の競合を回避した通信タイミングを自律的に決定する通信タイミング制御機能を有するものである。
【００２８】
ここで、制御パケットの送受信方法は、種々の方法を広く適用することができるが、例えば、図２（ａ）又は図２（ｂ）に例示する形態を適用することができる。この実施形態では、図２（ｂ）に例示する形態を適用する場合を例示するが、図２（ａ）に例示する形態を適用するようにしてもよい。
【００２９】
また、各ノードは、シンクノードからのホップ数がシンクノードから予め与えられているものとする。このシンクノードからのホップ数を保持する方法としては、例えば、シンクノードが制御パケットと同等のパケットをマルチホップで発信する。各ノードは、マルチホップの転送回数をカウントし、転送回数を更新してさらに転送する。また、各ノードは、転送回数のカウントにより、自ノードに到達するまでのホップ数を観測する。各ノードは、自ノードで観測されたホップ数の最小値を、「自ノードからシンクノードまでのホップ数」として保持する。このような処理を事前に行うことにより、シンクノードは前記ホップ数を各ノードにあらかじめ与えておくことができる。
【００３０】
（Ａ−１−１）ノードの内部構成
図１は、実施形態のノードが備える通信制御装置の内部構成を示す内部構成図である。図１において、ノードの通信制御装置１０は、通信タイミング制御演算部１、制御パケット受信部２、制御パケット送信部３、データパケット送受信部４を少なくとも有して構成される。
【００３１】
制御パケット受信部２は、他ノードが発信した制御パケットを入力制御パケットとして受信するものである。制御パケット受信部２は、受信した制御パケットに含まれる情報を、通信タイミング制御演算部１に与える。
【００３２】
ここで、制御パケットには、他ノードの位相情報、他ノードから自ノードに対して要求する位相区間幅を少なくとも有する。
【００３３】
他ノードの位相情報は、発信元の他ノードの位相情報と、各他ノードが１ホップ範囲内に存在する全ての近傍ノードに対する仮想位相とを含むものである。これにより、各ノードの通信タイミング制御演算部１は、１ホップ範囲内の他ノードから制御パケットを受信することによって、間接的に２ホップ範囲内の他ノードの位相情報を取得することができる。他ノードから自ノードへの中継要求位相区間幅は、当該他ノードが自ノードに対して要求する位相区間幅である。
【００３４】
通信タイミング制御演算部１は、自ノードの１ホップ範囲内に存在する他ノードから受信した制御パケットに基づいて、自ノードの通信タイミングを調整するものである。通信タイミング制御演算部１による調整動作により、自ノードが制御パケットを送信するタイミングを制御することができる。
【００３５】
各ノードにおいて、通信タイミング制御演算部１の動作は自律的に行われる。すなわち、各ノードは並列に自ノードの通信タイミングの調整動作を実行することにより、通信タイミング制御演算部１は、ノード間における通信タイミングの相互調整機構として機能する。
【００３６】
通信タイミング制御演算部１は、制御パケット受信部２から受け取った他ノードの位相情報に基づいて、間接的に２ホップ近傍範囲内の他ノードに対する位相情報を取得することができる。通信タイミング制御演算部１は、他ノードからの制御パケットの受信タイミングで得られる２ホップ近傍範囲内の他ノードに対する位相情報を用いて、当該ノードに対する仮想位相モデルを生成し、以後、制御パケットの受信のたびに、その仮想位相の値を調整する。そして、通信タイミング制御演算部１における演算は、２ホップ近傍範囲内の他ノードに対する仮想位相を用いて実行される。
【００３７】
通信タイミングは、各ノードがデータパケットの送信に要する時間だけずれる必要がある。一般に、通信負荷は各ノードよって異なるため、各ノードが必要とする時間区間幅、すなわち位相区間幅も異なる。もし、それぞれが必要位相区間幅を獲得できなければ、ノード間で発信衝突が発生する。通信タイミング制御演算部１は、ノード間で必要位相区間幅を取り合う過程に対応する演算を実行する。
【００３８】
ここで、必要位相区間幅とは、自ノード、他ノードにおいてデータパケットを送信するために必要な位相区間幅である。
【００３９】
また、通信タイミング制御演算部１は、自ノードの位相情報、他ノードの位相情報、自ノードから他ノードへの中継要求位相幅を制御パケット送信部３に与える。
【００４０】
以上説明した動作を実行する通信タイミング制御演算部１は、次の２つの機能ブロックから構成される。すなわち、通信タイミング制御部１は、位相演算部１１と位相ジャンプ制御演算部１１とを有する。
【００４１】
位相演算部１１は、所定の規則（例えば時間発展規則等）に従って、内部で自ノードの位相と他ノードの位相との状態を変化させて、自ノードの位相状態を求めるものである。位相演算部１１は、制御パケット受信部２からの他ノードの位相情報と他ノードから自ノードへの中継要求位相区間幅とに基づいて、自ノードの位相情報を求める。
【００４２】
また、位相演算部１１は、位相ジャンプ制御演算部１２により決定された遷移先の位相を受け取り、自ノードの位相情報を、受け取った遷移先の位相に遷移する。なお、位相演算部１１は、自ノードの位相を遷移先に位相ジャンプさせた後も、自ノードの位相及び他ノードの位相の状態を変化させて、位相状態の収束化処理を行う。
【００４３】
位相演算部１１による自ノードの位相情報の演算方法は、種々の方法を広く適用することができる。この実施形態では、位相演算部１１が、他ノードに対する仮想位相を設定し、この他ノードに対する仮想位相を用いて自ノードの位相情報を求める場合を例示する。なお、位相演算部１１の詳細な構成及び動作の説明については後述する。
【００４４】
位相ジャンプ制御演算部１２は、位相演算部１１から自ノードの位相情報及び自ノードの必要位相区間幅を受け取り、自ノードの位相情報に基づいて自ノードの必要位相区間幅を獲得できていない状態が所定期間以上継続する場合に、自ノードの位相を遷移させる遷移先の位相を求めて、この遷移先の位相を位相演算部１１に与えるものである。
【００４５】
これにより、自ノードの必要位相区間幅を獲得できない状態が続く場合に、自ノードの位相を遷移先の位相に位相ジャンプさせることができる。その結果、位相演算部１１が形成したノード間の通信タイミングの順序関係を変化させることができるので、位相演算部１１は、新たな通信タイミングの順序関係で、再度ノード間の通信タイミングの調整を図ることができる。なお、位相ジャンプ制御演算部１２の詳細な構成及び動作の説明については後述する。
【００４６】
制御パケット送信部３は、通信タイミング制御演算部１から受け取った自ノードの位相情報が所定値になると制御パケットを出力制御パケットとして送信するものである。制御パケット送信部３は、自ノードの位相情報、他ノードの位相情報、自ノードから他ノードへの中継要求位相区間幅を受け取り、自ノードの位相情報、他ノードの位相情報、自ノードから他ノードへの中継要求位相区間幅、自ノードの必要位相区間幅を含む制御パケットを送信する。
【００４７】
データパケット送受信部４は、自ノードのセンサ（図示しない）がセンシングしたデータパケットあるいは他ノードから受信した転送すべきデータパケットを入力データパケットとして入力する。データパケット送受信部４は、制御パケット送信部３から受け取った自ノードの位相情報及び自ノードから他ノードへの中継要求位相区間幅に基づいて、自ノードのデータパケットを送信すべき必要位相区間において、データパケットを出力データパケットとして送信する。
【００４８】
（Ａ−１−２）位相演算部１１の構成及び動作
図３は、位相演算部１１が行う位相演算処理を機能的に示すブロック図である。図３において、位相演算部１１は、位相算出部１１１、仮想位相モデル生成部１１２、位相応答関数決定部１１３、自ノード必要位相区間幅算出部１１４を少なくとも有する。
【００４９】
仮想位相モデル生成部１１２は、他ノードから制御パケットを受信すると、その他ノードに対する仮想的な位相状態を生成し、当該他ノードに対する仮想位相を位相算出部１１１に与えるものである。仮想位相モデル生成部１１２は、制御パケットの受信のたびに、他ノードに対する仮想位相を生成する。
【００５０】
仮想位相モデル生成部１１２による他ノードに対する仮想位相の生成方法は、種々の方法を適用することができ、例えば、特許文献２に記載されるような方法を適用することができる。
【００５１】
例えば、仮想位相モデル生成部１１２は、自ノードの内部において所定のリズムで位相を時間的に変化させる仮想固有角振動数パラメータを用いて他ノードに対する仮想位相を求めることができる。また、仮想位相モデルの仮想固有角振動数パラメータは、特に限定されないが、例えば、後述する自ノードの位相を求める際に用いる固有角振動数パラメータωｉと同一の値を用いることができる。他ノードに対する仮想位相の状態をθ＾ｉｊとすると、そのとり得る値は０≦θ＾ｉｊ＜２πとする。
【００５２】
位相算出部１１１は、例えば、次の（１．１）式及び（１．２）式に例示するような非線形振動子が結合した系をモデル化した数式を用いて、自ノードｉの位相を求める。
【数１】
2011233975.tif 000003
【００５３】
ここで、変数ｔは時間を表し、θｉ（ｔ）は、時刻ｔにおける自ノードｉの位相を表す。θｉ（ｔ）は、ｍｏｄ２π（２πで割った余り）の演算を施すことにより、常に、区間０≦θｉ（ｔ）＜２πの値を取るものとする。
【００５４】
ｄ／ｄｔは、時間ｔに関する微分演算を表す記号であり、ｄθｉ（ｔ）／ｄｔは、位相θｉ（ｔ）を時間ｔで微分した状態変数を表す。
【００５５】
Δθ＾ｉｊ（ｔ）は、他ノードｊに対する仮想位相θ＾ｉｊ（ｔ）と、自ノードｉの位相θｉ（ｔ）との位相差である。Δθ＾ｉｊ（ｔ）は、位相算出部１１１が、仮想位相モデル生成部１１２から受け取った他ノードｊに対する仮想位相をθ＾ｉｊ（ｔ）と自ノードｉの位相θｉ（ｔ）とに基づき（１．２）式に従って位相差Δθ＾ｉｊ（ｔ）を求める。
【００５６】
ただし、位相差Δθ＾ｉｊ（ｔ）は、２πを加算した値にｍｏｄ２π（２πで割った余り）の演算を施すことにより、便宜的に区間０≦Δθ＾ｉｊ（ｔ）＜２πの値を取るものとする。
【００５７】
ωｉは、固有角振動数パラメータであり、各ノードの固有の振動リズムを表す。ここでは、一例として、ωｉの値をあらかじめ全ノードで同一の値に統一しておくものと仮定する。
【００５８】
Ｒ（Δθ＾ｉｊ（ｔ））は、位相差Δθ＾ｉｊ（ｔ）に応じて自ノードの振動リズムを変化させる応答特性を表現する位相応答関数である。位相応答関数特性は、位相応答関数決定部１１３が求める。
【００５９】
図４は、位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））の関数形の一例を説明する説明図である。図４において、横軸は位相差Δθ＾ｉｊ（ｔ）であり、縦軸は位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））である。
【００６０】
図４に例示する位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））は、以下の（２）式で与えられるものである。
【数２】
2011233975.tif 000004
【００６１】
ここで、ｂｉ（ｔ）は自ノードｉの必要位相区間幅を示す。σは実験的に決定する定数パラメータである。
【００６２】
図４に例示するような位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））を用いることにより、通信負荷、すなわち、自ノードの必要位相区間幅ｂｉ（ｔ）に応じて、他ノードの位相との間に反発特性が働く。図４に例示する位相応答関数Ｒ（Δθ＾ｉｊ（ｔ））において、反発特性の働く位相差範囲が、ｂｉ（ｔ）に応じて決定されている点に注意されたい。
【００６３】
自ノードｉの必要位相区間幅ｂｉ（ｔ）は、他ノードから自ノードへ中継要求されるパケット量に依存するものである。この中継要求されるパケット量は、そのパケットを送信するのに必要な位相区間幅（すなわち他ノードから自ノードへの中継要求位相区間幅）に対応するものである。自ノードｉの必要位相区間幅ｂｉ（ｔ）は、自ノード必要位相区間幅算出部１１４が演算する。
【００６４】
自ノード必要位相区間幅算出部１１４は、他ノードから受信した制御パケットに含まれる、他ノードから自ノードへの中継要求位相区間幅を用いて、自ノードの必要位相区間幅ｂｉ（ｔ）を算出し、これを位相応答関数決定部１１３に与える。
【００６５】
Ｒ（Δθ＾ｉｊ（ｔ））を含む項のＮ＾ｉは、時刻ｔにおける仮想位相モデルの総数を表し、Ｋは結合定数パラメータを表す。ここで、結合定数パラメータＫは、位相の時間発展に対するＲ（Δθ＾ｉｊ（ｔ））を含む項の寄与度を決定するパラメータであり、その値は実験的に決定することができる。
【００６６】
（Ａ−１−３）位相ジャンプ制御演算部１２の構成及び動作
図５は、位相ジャンプ制御演算部１２が行う位相ジャンプ制御演算処理を機能的に示すブロック図である。また、図６は、位相ジャンプ制御演算処理を示すフローチャートである。
【００６７】
図５において、位相ジャンプ制御演算部１２は、タイムカウンタ１２１、位相ジャンプ実行判断部１２２、位相ジャンプ先決定部１２３、位相ジャンプ実行部１２４、タイムカウンタリセット部１２５を少なくとも有する。また、位相ジャンプ先決定部１２３は、ノード選択部２１、位相区間検出部２２、最大位相区間選択部２３、特定位相決定部２４を少なくとも有する。
【００６８】
位相ジャンプ制御演算部１２は、自ノードが必要位相区間幅を獲得できないよう状態が所定時間以上持続した場合に、図６に例示する処理ステップの動作を実行する。
【００６９】
位相ジャンプ制御演算部１２において、タイマカウンタ部１２１は、自ノードの位相情報及び自ノードの必要位相区間幅に基づき、自ノードが獲得している位相区間が自ノードの必要位相区間幅を獲得できていない状態になるとカウントを開始し、自ノードの必要位相区間幅を獲得できていない状態の期間をカウントする。
【００７０】
タイマカウンタ部１２１が自ノードの必要位相区間幅を獲得できていない状態期間（不獲得期間）が所定時間以上であるか否かを判断する（ステップＳ１０１）。
【００７１】
ここで、閾値とする所定時間の長さは、定数パラメータとして設定されるものであり、その値は特に限定されるものではなく、実験的に決定することができる。
【００７２】
必要位相区間幅の不獲得期間が所定時間未満の場合、タイマカウンタ部１２１は、引き続き、必要位相区間幅の不獲得期間をカウントし、必要位相区間幅の不獲得期間が所定時間以上の場合、ステップＳ１０２に移行する。
【００７３】
ステップＳ１０２では、位相ジャンプ実行判断部１２２が、位相ジャンプを実行するか否かを確率的に判断する（ステップＳ１０２）。
【００７４】
例えば、位相ジャンプ実行判断部１２２は、位相ジャンプの実行を決定する位相ジャンプ実行モデルを用意しておき、この位相ジャンプ実行モデルを用いて、今回位相ジャンプを実行するか否かを決定する等の方法を適用することができる。
【００７５】
ここで、位相ジャンプとは、自ノードの位相を「特定の位相」に遷移させることを意味する。位相ジャンプにより、特定の条件を満足するように、ノード間における位相の順序関係を変化させることができる。対照的に、上記（１．１）、及び（１．２）に基づく位相状態の変化では、ノード間における位相の順序関係が変化することはない。
【００７６】
位相ジャンプを実行するか否かの判断方法は種々の方法を適用できるが、この実施形態では、位相ジャンプ実行判断部１２２が、以下に例示するように確率的に判断する。以下では、２つの判断方法を例示する。
【００７７】
（判断方法例１）
第１の判断方法例は、時刻ｔに、自ノードが獲得している位相区間幅（以後、獲得位相区間幅とも呼ぶ）をＰＷとし、そのとき、「位相ジャンプを実行する確率」をＪＰとする方法である。
【００７８】
例えば、位相ジャンプ実行判断部１２２は、自ノードの獲得位相区間幅ＰＷに応じて、「位相ジャンプを実行する確率ＪＰ」を、以下に示すように決定する。
【００７９】
ＰＷ＜Ａ        のときＪＰ＝α
Ａ≦ＰＷ＜Ｂ    のときＪＰ＝β
Ｂ≦ＰＷ＜Ｃ    のときＪＰ＝γ
Ｃ≦ＰＷ        のときＪＰ＝δ
ここで、Ａ、Ｂ、Ｃ（Ａ≦Ｂ≦Ｃ）、及びα、β、γ、δは、定数パラメータで、その値は実験的に決定することができる。
【００８０】
α、β、γ、δの大小関係は任意に設定することができる。
【００８１】
例えば、α＞β＞γ＞δと設定すれば、自ノードの獲得位相区間幅ＰＷが小さいほど、高い確率で位相ジャンプする形態になる。
【００８２】
逆に、α＜β＜γ＜δと設定すれば、自ノードの獲得位相区間幅ＰＷが大きいほど、高い確率で位相ジャンプする形態になる。このような設定は、アプリケーションの要求に応じて、実験的に決定することができる。すなわち、アプリケーションに適用する形態に応じて、パラメータ値の関係を設定することができる。
【００８３】
また、上記の方法では、自ノードの獲得位相区間幅ＰＷを用いる形態を示したが、これに限定されるものではない。
【００８４】
例えば、自ノードの獲得位相区間幅ＰＷの代わりに自ノードの「必要位相区間幅」を用いてもよい。また、例えば「獲得位相区間幅ＰＷと必要位相区間幅との比」などの「獲得位相区間幅ＰＷと必要位相区間幅とを用いた演算により得られる値」を用いるようにしてもよい。
【００８５】
また例えば、「自ノードの獲得位相区間幅又は必要位相区間幅」と「他ノードの獲得位相区間幅又は必要位相区間幅」との比などのように、自ノードの他ノードとの獲得位相区間幅又は必要位相区間幅を用いた演算により得られる値を用いるようにしてもよい。さらに例えば、自ノードの「獲得位相区間幅と必要位相区間幅とを用いた演算により得られる値」と、他ノードの「獲得位相区間幅と必要位相区間幅とを用いた演算により得られる値」との比などのような演算により得られる値を用いるようにしてもよい。
【００８６】
（判断方法例２）
第２判断方法例は、時刻ｔに、自ノードが「位相ジャンプを実行する確率ＪＰ」を固定値として与える方法である。
【００８７】
例えば、位相ジャンプ実行判断部１２２は、位相ジャンプを実行する確率ＪＰを以下のような固定値とする。
【００８８】
ＪＰ＝α
ここで、αは、定数パラメータで、その値は実験的に決定することができる。
【００８９】
ステップ１０２において、「位相ジャンプを実行する」という結果が得られると、位相ジャンプ先決定部１２３は、自ノードの位相の遷移先（以後、位相ジャンプ先とも呼ぶ）を決定する（ステップＳ１０３）。
【００９０】
ここで、位相ジャンプ先の決定方法としては、種々の方法を適用することができるが、例えば、以下のような方法を適用することができる。
【００９１】
以下に示す手順は、特定の条件を満足するように、ノード間における位相の順序関係を変化させる方法の一例である。
【００９２】
（１）ノード選択部２１は、自ノードの相互作用範囲（２ホップ近傍範囲）内に存在する他ノードの必要位相区間幅を比較し、その値が最大のノードから順に上位Ｎ（Ｎは正の整数）個のノードを選択する。Ｎは定数パラメータで、その値は実験的に決定することができる。
【００９３】
（２）位相区間検出部２２は、ノード選択部２１により選択された他ノードに対する次の２つの情報を用いて、時刻ｔに当該ノードが必要とする位相区間を検出する。
【００９４】
・位相
・必要位相区間幅
図７は、位相ジャンプ先の決定方法を説明する説明図である。図７において、ノードＡ、Ｂ、Ｃ、Ｄは、上記（１）でノード選択部２１により選択された他ノード（Ｎ＝４の場合）を示す。円上の位置（丸）はノードの位相、円内の黒色実線矢印は、これらのノードの必要位相区間を表す。
【００９５】
例えば、ノード選択部２１によりＡ、Ｂ、Ｃ、Ｄのノードが選択されると、位相区間検出部２２は、各ノードＡ、Ｂ、Ｃ、Ｄの位相の位置から、位相の変化方向と逆方向に、各ノードＡ、Ｂ、Ｃ、Ｄの必要位相区間幅だけ取ることで、各ノードＡ、Ｂ、Ｃ、Ｄが必要とする位相区間を検出する。
【００９６】
（３）最大位相区間選択部２３は、位相区間検出部２２により検出された位相区間に該当しない位相区間の中から、いずれか１つを選択する。最大位相区間選択部２３は、例えば、区間幅が最大の位相区間を選択する。
【００９７】
例えば、図７において、最大位相区間選択部２３は、円内の黒色実線矢印が示されていない位相区間の中から、ノードＤが必要とする位相区間と、ノードＣが必要とする位相区間との間の位相区間を選択する。
【００９８】
（４）特定位相決定部２４は、最大位相区間選択部２３により選択された位相区間内における「特定の位相」を、位相ジャンプ先に決定する。
【００９９】
ここで、「特定の位相」は、自ノードの位相を遷移させる遷移先とする特定の位相である。「特定の位相」は、例えば、当該位相区間の中点位相とする。あるいは、当該位相区間内に存在する他ノードの位相を用いて、それらの位相の隣接間隔が最大の区間を検出し、その区間の中点位相を「特定の位相」としてもよい。特定の位相の決定方法は、あくまでも例であり、この実施形態では、上記「特定の位相」を決定する基準は問わず、広く適用することができる。
【０１００】
位相ジャンプ先決定部１２３により位相ジャンプ先の位相が決定されたときに、位相ジャンプ実行部１２４は、位相演算部１１により算出された自ノードの位相を、ステップＳ１０３で求められた位相ジャンプ先の位相に更新するものである（ステップＳ１０４）。
【０１０１】
タイムカウンタリセット部１２５は、自ノードの位相の位相ジャンプを実行したか否かに関わらず、自ノードが必要位相区間幅を獲得できていない状態の持続期間を評価するタイムカウンタ部１２１の値をリセットする（ステップＳ１０５）。
【０１０２】
（Ａ−２）実施形態の効果
以上のように、実施形態によれば、位相ジャンプ制御演算部を新たに備えることにより、ノード間における通信タイミングの競合解消能力を向上させることができる。
【０１０３】
すなわち、特許文献１に開示される構成では、ノード間における通信タイミングの順序関係を変化させる方法が完全にランダムであったため、設定周期が比較的小さい場合は、競合状態を解消するのに適した順序関係を形成するのが困難であった。
【０１０４】
それに対して、実施形態では、各ノードが、他ノードの位相や必要位相区間幅を考慮して位相ジャンプ先を決定するため、競合状態を解消するのに適した順序関係を形成しやすくなる。その結果、設定周期が比較的小さい場合に対しても、ノード間における通信タイミングの競合状態が解消され、データ収集における通信の信頼性を向上させることができる。
【０１０５】
（Ｂ）他の実施形態
通信タイミング制御演算部による通信タイミングの演算方法は、上述した実施形態で説明した方法に限定されるものではない。例えば、位相演算部１１は、（１．１）、（１．２）式で示した微分方程式の演算について、例えば、オイラー法やルンゲ・クッタ法等の一般的な数値計算法を用いて、ソフトウェアとしてノード上に実装可能である。これらの数値計算法は、微分方程式を差分化（連続時間変数ｔを離散化）して得られる差分方程式（漸化式）を用いて状態変数の変化（時間発展）を計算する手法である。さらに、（１．１）、及び（１．２）式と同様の動作をする電子回路を構成すれば、ハードウェアとしてノード上に実装することも可能である。
【０１０６】
上述した実施形態で説明した、ノードの通信制御装置における各種処理は、いわゆるソフトウェア処理により実現することができる。例えば、通信制御装置のハードウェイ構成として、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ等を有して構成され、ＣＰＵが、ＲＯＭに格納される処理プログラムを読み出し、処理に必要なデータを用いて処理プログラムを実行することにより実現することができる。
【符号の説明】
【０１０７】
１…通信タイミング制御演算部、１１…位相演算部、１２…位相ジャンプ制御演算部、
２…制御パケット受信部、３…制御パケット送信部、
４…データパケット送受信部、１０…ノードの通信制御装置。
【図１】
2011233975.tif 000005
【図２】
2011233975.tif 000006
【図３】
2011233975.tif 000007
【図４】
2011233975.tif 000008
【図５】
2011233975.tif 000009
【図６】
2011233975.tif 000010
【図７】
2011233975.tif 000011