通信機器(例えば携帯電話機、ノート型コンピュータ、個人用情報携帯端末(PDA:Personal Digital Assistants)、メディアセンター、車両など)の数が増大するにつれ、ユビキタス通信に対する必要性がますます膨らみつつある。このため、通信機器が集中型インタフェースを必要とすることなく任意の他の通信機器とシームレスに通信することが可能なアドホック(ad hoc)ネットワークやピアツーピア(peer-to-peer)ネットワークの開発が行われている。これらのネットワークは本質的に、各ノードが1セットのシンプルなルールを利用することにより、ネットワークの単なる部分々々の集まりというよりもそれらが互いに有機的に結合した何か大きなものを実現する自己組織化システム(self-organized systems)を形成する。分散型アルゴリズムをうまく設計すれば、フレキシブル、スケーラブル、ロバストであって、トポロジーの変化にうまく適応することが可能となる。
集中型ネットワークとは異なり非集中型ネットワークは端末の同期や挙動を管理する中央調整装置(central coordination unit)を一切含まない。非集中型ネットワークまたは自己組織化ネットワークのアプローチは例えばアドホックネットワークを構築するために利用される。同期化は、ノードの個別のタイミングユニットをローカルに合わせこみ、すべてのノードが1つの共通の時間スケール(時刻系)に従うようにするという意味として定義される。最後に、同期化によって、タイムスロットの始まりと終わりが共通のパラメータになるように、共通したスロット構造が規定される。同期化は例えばタイムスロット化したMAC(Medium Access Control)プロトコルを活用する必要がある。
自発的な自己組織化同期の面白い実例は自然界に見出すことができる。東南アジアの一部の地域に生息するオスの蛍(ホタル)は夜になると川岸に沿った木々に集まり、メスの蛍の注意を引くために一斉に同期した点滅を始める。詳しくは、S.H.StrogatzおよびI.Stewart共著「Coupled oscillators and biological synchronization」、Scientific American、1993年12月、第269巻、p,68−74(非特許文献[3])、およびS.H.Strogatz著「spontaneous synchronization in nature」、IEEE International Frequency Control Symposium、1997年(非特許文献[4])を参照されたい。蛍の大群が一斉に点滅する様はかなり印象的で、木全体が完全に同期して瞬いているかのように見える。同期性の収束の理論的な研究については、MirolloおよびStrogatz共著、Synchronization of pulse-coupled biological oscillators」、SIAM J.APPL.MATH、1990年12月、第50巻、p.1645−1662(非特許文献[1])を参照されたい。
このような同期化を記述するための数学的なアプローチは“パルス結合発振器(pulse-coupled oscillators)”の概念に基づく。この用語は、時間的に周期的に発振し、各発振を完了するごとに相互作用するシステム指す。この相互作用は隣接する発振器によって感知されるパルスの形をとる。これらのシステムは、M.L.X.Guardiola、A.Diaz-GuileraおよびC.J.Perez共著「Synchronization, diversity, and topology of networks of integrate and fire oscillators」、Phys.Rev.E、2000年4月、第62巻、p.5565−5570(非特許文献[5])に説明されているように、完全同期性からパタン形成にまで至る異なる挙動を示すことが知られている。
次に、パルス結合発振器同士の間での時間同期化がいかに成し遂げられるかについて説明する。まず最初に、これらの発振器に関連する数学的モデルについて説明する。次にどのように2つ以上のパルス結合発振器が同期して1つのものとしてパルス発振することができるかについて説明する。
シンプルな数学的モデルまたは数学的表現として、パルス結合発振器をその位相関数のみによって記述する。この関数は閾値Φthresholdに達するまで時間の経過とともに線形に発展する。閾値Φthresholdに達すると、発振器は発火(fire)し、その位相をリセットする。全く他の発振器と結合しなければ、それはTに等しい周期で発火する。そのため以下の記述では、この周期は位相関数周期(phase function period)Tまたは発振器周期(oscillator period)Tと呼ばれる。
この関数の時間発展から、これらの発振器は積分発火(型)発振器(integrate-and-fire oscillators)とも呼ばれる。図10に単独の発振器の位相関数の時間発展を示す。
このモデルは生物学的なパルス結合発振器の挙動を近似的に表す。発火の瞬間は、蛍(ホタル)の発光、ニューロンの電気パルスまたはノード(node)の同期(化)信号(synchronization signal)の発信に相当する。次に、この発振器がパルスを受け取ったときにそれらの位相関数を修正することによってどのように同期することが可能となるかについて見ることにする。
前述した位相関数のみに基づいて2つの同種の発振器は2、3周期の間にそれらの発火時点を同期させることが可能である。これを遂行するため、発振器は別の積分発火発振器からのパルスを受け取ったときに自己の位相を修正する。
図11に2つの発振器がこのスキームを利用してどのように同期することができるかを示す。時刻0では発振器は同期していない。それらの初期位相Φ1およびΦ2は0からΦthresholdまでの間にランダムに分布している。この時点で、各発振器は時間上で位相をそれが閾値に到達するまで線形に増大させる。時刻t1で発振器1は閾値に到達する。そこで発振器1はパルスを発火し自己の位相をリセットする。発振器(発振器1および発振器2)が結合しているときには、発振器2は自己の位相を増大させる。その際の増分はPRC(Phase Return Curve)Δ(Φ)で決まる。この関数については後でコメントする。時刻t2で発振器2が発火し、それに応えて発振器1は自己の位相を増大させる。発振器1の発火により発振器2が同じ時刻に発火するt5までこのスキームは継続される。この時点(t5)で、両方の発振器は同期化される。時刻t6=t5+Tでは、発振器は両方とも同時に発火する。
言い換えると、発振器は他の発振器のパルスとステップごとに順次(in a step-by-step manner)同期する。このときの同期化の各ステップの幅(例えばパルスを受信するときのPRC(位相応答曲線)に基づく位相の各増加量(increase))は、そのときの同期状態(例えばそのパルスを受信するときの発振器の現在の位相(present phase))に関連付けされている。この現在の位相は発火している発振器との位相差または同期の程度も表す。発振器が次のパルスを発信する時刻はパルスを受信したときの同期状態(例えば位相)と、それに関連するステップ幅(例えばPRCに基づく増分(increment))とに依存する。発振器が同期すればするほど、個別のノード同士の間の位相差は小さくなるとともに、それらが発火する時刻の時間差も小さくなる。
発振器が孤立している場合、その位相Φは時間の経過とともに線形に増大する。他の発振器と結合した場合、それはその近隣の発振器のパルスを受け入れることが可能である。斯かるパルスを受信すると、それは即座に自己の位相を現在値(パルスを受け取った時点の値)に応じた量Δ(Φ)だけ増大させる。このΔ(Φ)は位相の増分(increment)である。つまりパルスを受信すると、次のような変化が起こる。
Φ→Φ+Δ(Φ)
MirolloおよびStrogatz共著「Synchronization of pulse-coupled biological oscillators」(非特許文献[1])に示されているように、このシンプルなタイプの相互作用は初期条件が何であれ結果的に同期化をもたらす。それを遂行するため、位相増分Δ(Φ)は関数f(Φ)に基づいて選ばれる必要がある。ここでf(Φ)は発振器が同期するために下に凹形になっている必要がある。選ばれた関数は次のようなものである。
各発振器ごとに、関数fは振幅の役割を果たす。発振器がパルスを受け取ると、その発振器はλ(>0)だけその振幅を増大させる。これは位相増分Δ(Φ)に等しい。図12に、b=3およびλ=0.1に対して、位相の応答曲線PRCから位相増分Δ(Φ)がどのように得られるかを示す(ここでは、Φthreshold=1の場合を示している)。
Δ(Φ)は次式によって解析表現することが可能である。
関数fはb(関数fが下に凹形になるようにb>0)によってパラメトライズされる。bが大きくなるほど、f(Φ)はより凹形になる(Φが小さいときにはf(Φ)は急峻で、ΦがΦthresholdに近づくほどf(Φ)はよりフラットになる)。図13aは、(a)式に基づいて、bの2、3の値に対して関数fまたは位相応答曲線PRCをプロットしたものである(いまの場合、Φthreshold=1)。
図12からは、Δ(Φ)がΦの関数として、そしてbまたはλに依存して、どのように変化するかを見ることは難しい。図13bはbのいくつかの値に対してΦ+Δ(Φ)をプロットしたものである。一方、図13cはλのいくつかの値に対してΦ+Δ(Φ)をプロットしたものである。
前述のモデルは同期性をもたらすパルス結合発振器の最もシンプルな数学的な解釈を提供する。しかしながら、無線環境において、このシンプルなモデルが常に直接的に適用できるとは限らない。以下、無線ネットワークに適用した場合に生じる問題点と無線効果について説明する。
MirolloおよびStrogatz(非特許文献[1])の研究では、発振器同士の間の結合は均一であること、かつ、各ノードは他のすべてのノードとリンクしていること、つまりネットワークは完全メッシュ状であること、が仮定されている。比較的小さなエリアを議論しているときにはこれらの仮定は無線ネットワークにおいて妥当である。
このモデルは、パルスの送信と受信の間に遅延(時間)がないこと、かつ、ノードは同時に送信と受信を行うことができることも仮定している。ある発振器が発火するとすぐに、すべての近隣の発振器は即座に各自の位相をインクリメントさせ、即座に発火することができる。また、パルス長は無限小と見なされ、受信機による復号は一切行われない。
伝搬遅延時間Tpropagationがゼロでない場合の安定性を保つため、送信が完了した後に不応(refractory)遅延時間(以下、スリーピング時間Tsleepと称される)が挿入される。スリーピング時間Tsleepはいわゆるアバランシェ効果(avalanche effect)を抑制する。アバランシェ効果はTpropagation=0に対しては同期をスピードアップするのに対し、Tpropagation>0に対してはシステムは不安定になる。詳しくはY.-W.HongおよびA.Scaglione共著「Time synchronization and reach-back communications with pulse-coupled oscillators for UWB[Ultra Wideband] wireless ad hoc networks」、IEEE Conference on Ultra Wideband Systems and Technologies 2003、2003年11月、p.190−194(非特許文献[7])を参照されたい。
これらの観測から、この同期スキームのロバスト性を確かめるために無線効果または以下の4つの遅延時間Tpropagation(伝搬遅延)、Ttransmit(送信遅延)、Tdecode(復号遅延)およびTsleep(不応遅延)が考慮される必要がある。Tpropagationはパルスが送信ノードから受信ノードまで伝搬するのに要する時間で2つのノードの距離に比例し、Ttransmitはパルス長、Tdecodeは受信機がパルスを復号するのに要する時間、Tsleepは受信機が送信後に休止する時間である。これらの遅延時間から、あるノードが他のノードからパルスを受け取ることができる時間(リスニング時間)は同期化したときの理想的な期間(位相関数の周期Tに等しい)からTtransmit(送信遅延)とTsleep(不応遅延)だけ短くなる。よってリスニング時間は以下のようになる。
Tlisten=T−(Ttrasmit+Tsleep)
シミュレーションを行う目的のため、ノードの状態を記述する有限状態機械(FSM:finite state machine)によって遅延が存在する発振器をモデリングすることは興味深いことである。
単一ノードの時間発展を考えると、基本モデルの状態機械は非常にシンプルになる。この場合、リスニング状態と送信状態の2状態しかない。ΦがΦthresholdに到達するとノードは送信状態に移り、その後即座にリスニング状態に戻ることになる。
無線ネットワークを議論しているのであれば、“発火(firring)”の瞬間において同期バーストまたは同期信号の送信が引き起こされる。同期バーストの継続時間(duration)は以前から無視されてきた。しかしながら、その継続時間(以下、Ttransmit)は実際は重要である。送信遅延をモデリングするため、送信状態で費やされる時間は単純にTtransmitと等しいとする。
不応遅延をモデリングするには、更なる状態を導入する必要がある。発火後、ノードは一定の時間の間はすぐに受信することはできない。この期間中、ノードは受信も送信もできないことから、その期間はスリーピング期間と見なすことができる。この状態で費やされる時間はTsleepに比例するか、またはTsleepに等しい。図14はこれらの遅延時間をシミュレートするために使用される1つのノードの状態機械を記述している。これらの遅延時間は図10にプロットされた当初の位相関数を修正する。図15は孤立したノードの位相関数を遅延時間を取り入れることによって修正した図である。従来的には、発振器の位相はその発振器が発火した後すぐにゼロに設定される。発振器の位相はT−(Ttrasmit+Tsleep)に等しいTlistenの間だけ(ゼロから閾値まで)線形に増大する。
2つのノードの間の相互作用を記述するため、1つのノード(仮にノードiとする)に着目して別のノード(仮にノードjとする)が発火しているときのそのノードiの挙動を調べることによって単純化することができる。図16は別のノードjが発火しているときのノードiに関する状態機械を構築するために考慮する必要のある異なるケースをプロットしたものである。図16から、調べる必要のある4つの異なる期間(t0以前、[t0,t1]、[t1,t2]、および[t2,t3])が存在する。これらの期間の各期間中、ノードiは図14に示した状態のいずれかの状態にあることが可能である。従ってノードiに関する完全な状態機械は12個の状態を必要としなければなない。しかしながら、ただ興味があるのは、ノードiがどのようにしてノードjからの完全に同期バーストを受信し復号することができるかである。それゆえ、一部の状態は“受信不能(Unable to Receive)”状態を形成するものとしてグループ化され、その一方で同期メッセージの再生の成功をもたらす状態については以下全て説明される。
t0以前とt3以後では、ノードiはノードjからのメッセージを待機している。この期間の間、ノードiはいずれかの状態(リスニング状態、送信状態またはスリーピング状態)にある。
瞬間t0はノードjが発火する時刻をマークする。ノードiにとってはこれは直接的には現れない。それゆえノードiはいずれかの状態にある。
時刻t1はノードjが発火したメッセージがノードiに到達する時刻をマークする。その時刻において、ノードiは同期バーストを受信することができるようリスニング状態に移行している必要がある。t1およびt2の間でノードiが発火する場合、ノードjからの同期メッセージを完全に受信することは不可能である。
時刻t2はノードiがメッセージを完全に受信し終わった時刻をマークする。そのメッセージはそのあと復号される必要がある。t2とt3の間でノードiが発火する場合、同期メッセージの復号は成功しない。復号が終わり次第、ノードiは自己の位相をΔ(Φ)だけ増大させることができる。
どの無線システムでも同期化は伝搬遅延によって制限されるため、このセクションでは送信遅延、復号遅延およびスリーピング遅延の影響を調べシミュレートする。そうするため、ここでは伝搬遅延を無視することができるよう、議論されるエリアは小さく設定される。
使用される設定は、Tsampling=0.5μs、T=100μs=200Tsamplingおよびノード数はN=30である。
最初に、導入された遅延時間にかかわらずシステムが同期可能かどうかを検証することに興味がある。図17は、Ttransmit=10μs、Tsleep=0.5μs、Tdecode=1μsおよびb=0.2の設定のもと、10・T後にN個のノードの結果として生じる位相をプロットしたものである。Tsleepはできるだけ小さくとる必要がある(1サンプリング期間)。
システムは同期するが、しかし興味深いことに、発振器の2つのグループが形成され、位相がTdelay(=Ttransmit+Tdecode)だけずれる。この現象は、第1グループが発火すると、このとき受信しているノードは第1グループが発火したときからTdelay秒後にのみ自己の位相を増大させるという事実によって説明できる。その代わりに後者(第2グループ)も発火する。これによる位相の増加(位相インクリメント)は第2グループが発火してからTdelay後に起こり、第1グループに影響を与える。これを図17の丸印で示す。しかしながらbは比較的小さいので、その位相増分はほとんど無視することができる。しかしそれでも位相が若干増大する。その結果、発振器は予期したよりも早く発火する。このときの新たな周期をT’(T’<T)とする。
第1グループが第2グループからの同期メッセージを受信し復号するときにはその位相は非常に小さいのでシステムは安定しているように見える。またbがあまり大きくなければ、位相の増加(インクリメント)は比較大きくない。
図18は、b以外は図17と同じ設定、つまりTtransmit=10μs、Tsleep=0.5μs、Tdecode=1μs、ただしb=2の場合に、N個のノードの位相をプロットしたものである。この場合も同様にシステムは同期するが、この場合には4つの別々のグループが形成される。一般に、これらの設定では、ノード数Nと結合係数bに応じて、3つ以上のグループが形成される。Tdelayはこれらのグループの形成に関与する。グループ1が発火すると、それによりグループ2の発火が引き起こされる。グループ2は自己の位相を(位相増分だけ)増大させた後に発火し、それによりグループ3の発火が引き起こされる。グループ3が発火することによりグループ4の発火が引き起こされ、グループ4が発火することによりグループ1の発火が引き起こされる、等々といった具合である。こうして形成されるシステムは時間的に安定している。
この効果に対処するため、発振器はそれ自体の発火のエコーを聞くことができないようにする。それにはスリーピング時間を延ばすことである。発火発振器が発火後にリスニングできない期間は少なくとも、受信発振器が同期バーストを完全に受信してすぐに新たに発火するのに要する時間より長くなる必要がある。そのためTtransmit+Tsleepは少なくともTtransmit+Tdecodeより長くなる必要がある。このことから次のような条件が導かれる。
Tsleep>Tdecode
この条件は同期バーストが受信されるとすぐに受信機が発火することを想定している。図11に示すように、これは常に当てはまるわけではない。それゆえ、Tsleepは厳密な条件よりも大きめに設定すべきである。経験則から以下のように設定する。
Tsleep>2・Tdecode
図19ではTsleepだけを変えてTtransmit=10μs、Tsleep=4μs、Tdecode=1μsおよびb=2の設定のもとにシミュレーションが行われた。同期はTsleepを修正したおかげで回復された。これは改善といえる。
しかしながら、図19からわかるように、発振器はTdelayに等しい期間内に発火する。従って同期精度(同期化における精度)は次のTdelayで制限される。
Tdelay=Ttransmit+Tdecode
MirolloおよびStrogatzによる非特許文献[1]は自発的同期化現象を解析するとともに同期性収束の理論的なフレームワークも導き出した。しかしながら無線環境では、非特許文献[1]のシンプルなモデルを常に直接的に適用することができるわけではない。非特許文献[1]は、送信段階とリスニング段階との間に遅延時間が全く存在しないこと、さらにノードは送信と受信を同時に行うことができることを仮定している。発振器が発火するとすぐに、全ての近隣の発振器は即座にそれ自体の位相を増加させ、すぐに発火する場合がある。また、パルス長は無限小とみなされ、受信機による復号は一切行われない。最後に、発振器がリスニング段階から送信段階へ切り替わり、そのあとスイッチバックする時間も無視されている。
HongおよびScaglioneによる非特許文献[7]は非特許文献[1]の理論的フレームワークを無線センサーネットワークに適用した。彼らの研究によって、同期プロトコルが無線通信システムのより良いモデルに修正された。しかしながら、非特許文献[7]の同期プロトコルもまたパルス長が無限小であることを仮定している。無線送信機はパルスを直に送信するのではなく、1つのサンプルまたはパルスの継続時間Tsampleを大きく超える期間Ttransmit内にシーケンスまたはバーストを送信する。無線LAN、GSMまたはUMTSといった多くの実際の無線ネットワークでは、同期バーストはサンプリング期間Tsampleの数十倍から2、3百倍の継続時間を有する。実際、無線通信におけるほとんどの同期アプローチは比較的長いシーケンスに依存する。
このとき受信機は例えば受信が成功した後にその結果として相関ピークをもたらす相関検出器(correlation detector)または整合フィルタ(matched filter)を使って入射信号を集める。この相関ピークは同期パルスと同じようなパルスと解釈することができるが、同期バーストの送信の始まりからその受信が成功するまでの間に固有の遅れTtransmit>>Tsamplingが存在する(当分はこのときの可能な伝搬遅延を無視する)。非特許文献[7]の解決法では同期精度はTtransmitより良くなり得ないことが示された。例えばUWB(超広帯域無線)システムなどの、送信パルスが短いショートレンジのネットワークを議論する場合、Ttransmitが無視できるので得られる同期精度は十分である(非特許文献[7])。残念ながら、DS−CDMAまたはOFDMといった多くの伝送技術では、1シンボルブロックまたは同期バーストに対する時間TtransmitはTsamplingより数百倍から2、3千倍も長く、このような精度は明らかに受け入れることはできない。
そのため、このモデルは、A.Tyrrell、G.AuerおよびC.Bettstetter共著「Delay tolerant decentralized time synchronization for wireless networks」、Submitted to IEEE International Conf.on Communications 2006、2005年9月(非特許文献[2])において、無線ネットワークにおける同期化を実現するために使用された。そこでは継続時間Ttransmitのメッセージによる通信が議論され、受信機がそのメッセージを正しく復号するためにいくらかの時間が必要とされる。ノードは同時に送信と受信を行うことはできない。ネットワークの全ての構成員(メンバノード)が同じルールに従うときには、送信遅延が比較的長くても同期が保証される。このスキームにおける精度は伝搬遅延によって制限される。
この同期スキームではノードはある時間スケールに合わせる。しかし共通のローカルなタイミングユニットが基準タイミングと比較されるところを制御することは不可能である。
図20にグローバルな基準タイミングが有用な一例を示す。最初、システムは、別々に同期しているが互いに離れすぎているために通信することができない2つの別個の分離したグループAおよびBのみから成る。言い換えると、グループAおよびBのノード(複数)または個体(複数)は、互いに独立にローカルな基準タイミングに合わせている状態にある。
個体IはBからAの方向に移動し、2つのグループの間にブリッジ(bridge)を生成する。これらのグループが同じ時間基準を持たない場合、このブリッジの生成によりグループAおよびB並びに個体Iは再同期して新しい基準タイミングに合わせるよう強制される。
AおよびBのような分離したグループが独立に同期するとき、それらのローカルな基準タイミングは、共通のタイムスロット割当に関して一般には一致せず、むしろ互いに時間的にシフトして、グローバルな基準タイミングについて時間的に異なるシフトをも有することとなる。
仮に両方のグループが同一のグローバルな基準タイミングを有していたとすれば、ブリッジが生成されてもグループAおよびBまたは個体Iの同期状態は乱されることはない。前述のシナリオでは、両方のグループAおよびBおよび個体Iは再同期を開始する。また別のシナリオとして、個体IがグループBからグループAに移動するがその個体IがグループBと連絡できなくなる場合、個体IがグループAと同じグローバルな基準タイミングを持っていないときには、個体IはグループAに到達したらすぐにグループAを再同期させることがまだあり得る。非集中型モバイルネットワークの現実的なシナリオでは、様々なグループを形成する様々な個体がそれら自身の位置にとどまらずに1つの場所から別の場所に移動して複数のグループの間に複数のブリッジを形成する可能性があり、そうした状況では再同期化が頻繁に起こり、個々のネットワークとこれらのネットワークの間の通信が安定しなくなることは容易にわかる。
本発明の実施形態を詳細に説明する前に、以下対応する用語を導入する。メンバノード(member node)は、通常ノード、パルス結合発振器(pulse-coupled oscillator)または積分発火発振器(integrate-and-fire-oscillator)とも称される。位相Φは内部信号値とも称され、Φthresholdは閾値とも称され、位相関数(phase function)は第1関数とも称され、位相応答曲線(phase response curve)Δ(Φ)は第2関数とも称される。リスニング状態(listening state)は第1制御状態とも称され、待機状態(waiting state)は第2状態とも称され、送信状態(transmitting state)は第3状態とも称され、スリーピング状態(sleeping state)は第4状態とも称される。ノードという用語は発振器または一般に送信装置もしくは受信装置を指す。受信ノード(receiving node)という用語は受信機とも称され、送信機という用語は送信ノード(transmitting node)とも称される。
図1aに本発明の実施の一形態としてネットワーク10を示す。ネットワーク10は、基準ノード(reference node)12、メンバノード(member node)14および別のメンバノード16で構成される。基準ノード12は一連の同期信号140を例えばメンバノード14と別のメンバノード16に送信する働きをする。一連の同期信号140の信号の時間間隔は予め定められた同期周期(synchronization period)Tsyncまたはその倍数であり、各同期信号は同期信号長(synchronization signal length)を有する。メンバノード14および別のメンバノード16は同期信号シーケンス140を送信、受信または送受信する働きをすることができるが、一度に送信または受信のいずれか一方のみを行う。
メンバノード14、16は基準ノード12の同期信号140と同期した、すなわち同じ絶対時間スケジュールに従う、同期信号を送信することができるか、または、基準ノード12の同期信号140から時間的にずらした(すなわちオフセットした)同期信号140’を送信することができる。
基準ノードは、例えば基準ノード12の同期信号140からオフセットした同期信号140’を送信しているメンバノード14、16が存在するかどうかをモニタかつ検出するために、同期信号140、140’を受信するよう構成することもできる。
メンバノード14および追加のメンバノード16は、基準ノード12が生成する同期信号シーケンス140によって決まる同期スケジュール、すなわちグローバルな基準タイミングに従って、互いに通信するよう構成されている。
図1bに本発明のネットワーク10の本発明のノード12ないし基準ノード12の実施形態を示す。ノード12は、送信機32、同期周期変更装置(synchronization period changer)34、スイープモード制御装置(sweep mode controller)36および受信機38で構成される。送信機32は一連の同期信号140を送信する働きをするが、一連の同期信号140の信号の時間間隔は予め定められた同期周期またはその倍数であり、各信号140は同期信号長(synchronization signal length)を有する。同期周期変更装置34はチェンジ信号(change signal)35を送信機32に送ることで1つ以上の周期の間に同期周期を変更する働きをする。スイープモード制御装置36は制御信号37を通じて同期周期変更装置34を制御する働きをする。スイープモード制御装置36はイベントを検出して、検出したイベントに基づいて制御信号37により同期周期変更装置34を作動させる働きをする。検出されるイベントは所定の時間の経過または任意の他のノード内部イベントであることが可能である。代わりに、図1bに示すように、スイープモード制御装置36は、例えば受信機38を通じて、ネットワーク内にノード12の送信機32によって送信された同期信号140と同期していないあるいは同期信号140からオフセットしている同期信号140’が存在するかどうかをモニタする働きをする。言い換えると、受信機38は他のノードから同期信号140、140’を受信し、受信信号39をスイープモード制御装置36に送る働きをすることができる。受信信号39に基づいて、スイープモード制御装置36は同期信号140、140’からオフセットした同期信号140’を検出することが可能である。同期信号140’はノード12の同期信号140とは同期していないが、他のノードの同期信号140’と同期していることがある。同期信号140’はノード12の同期信号から見て時間的にシフト(オフセット)しており、グローバルな絶対的な時刻の各々に同じタイムスロット割当を使用しない。
本発明のノードは基準ノード12であることが可能であり、本発明のノードと比較して基準ノード12は、所定の同期周期Tsyncに関する情報を受信するための限られた受信能力しか持たないように構成することができるほか、有用な情報をメンバノード14へ送信するかまたは有用な情報をメンバノード14から受信するだけにしてメンバノード14と通信する能力を持たないように構成することができる。
基準ノード12の代わりの実施形態として、例えばスイープモード制御装置36が外部情報に依存する場合には、基準ノード12は有用な情報を送受信するよう構成することができる。
本発明の更なる実施形態では、メンバノード14、16が基準ノード12に割り当てられ、次いでスイープ状態(sweep state)に入ることが可能であり、更に、例えば全てのノードが基準タイミングと同期したら、メンバノードに切り替わって元に戻るよう構成することが可能である。
グローバルなタイミングは、例えば遠隔通信ネットワークにおいて使用される一次基準クロック(primary reference clocks)、GPS(Global Positioning System)、またはDCF77(独国)もしくは国際原子時(TAI:Temps Atomique International,International Atomic Time)のような原子時計によって、基準ノードに提供することが可能である。
スイープモード制御装置36は更に、時間オフセットが同期周期またはその倍数と異なるかどうかをモニタする働きをする。このようなオフセット同期信号140’の検出はスイープモード制御装置36が同期周期変更装置34を作動させる引き金となる1つの可能なイベントである。
更に、スイープモード制御装置36は、時間オフセット(time offset)が一般の同期不確定性または同期精度限界によって決まる最小閾値を超えているかどうかを検出する働きをする。時間オフセットがその最小閾値以下の場合には、スイープモード制御装置36はこれを同期周期変更装置34を作動させるイベントとはみなさない。最小閾値は例えば前述のサンプリング時間(sampling time)によって定めることができる。
同期周期変更装置34は同期周期を増減する働きをする。ノード12の好ましい実施形態では、同期周期変更装置34は同期周期を低減する働きをする。
本発明のノード12の最もシンプルな実施形態は、一連の同期信号140を所定の同期周期でそれを変更することなく送信する送信機32を提供するだけのものである。
本発明のノード30の別の実施形態では、スイープモード制御装置36は例えば経過時間といった内部イベントを使用するのみである。それゆえ、例示的な別の実施形態は同期周期変更装置34を毎時に作動させるスイープモード制御装置で構成される。それゆえ、本発明のノードの実施形態は低コストで製造することが可能である。
図2aにノード、例えばメンバノードの別の実施形態を示す。このノードは、受信機110、処理装置(processing unit)120および送信機130で構成される。処理装置120は受信機110と送信機130を制御して例えば1つの制御状態(control state)から別の制御状態へ変化するよう構成されている。処理装置120は、第1制御状態にあるとき、内部信号値または位相を第1関数または位相関数に従って増大させる。第1制御状態1にあるとき、受信機110は同期信号140を別のノードから受信してその同期信号140を復号し、同期信号の受信が成功した後または同期信号を検出した後、検出信号150を処理装置120に送信する準備が整う。同期信号の検出は、例えば、相関ピークが例えば検出信号150である相関検出器(correlation detector)または整合フィルタ(matched filter)によって実行することが可能である。また処理装置120は、制御状態1における検出信号150を受信する際に、例えば位相応答曲線もしくは結合関数(coupling function)といった第2関数に従って内部信号値を修正するよう構成されている。処理装置120は更に、内部信号値を既定の閾値(例えばΦthreshold)と比較するよう構成されており、内部信号値が閾値に等しくなるとすぐに例えば第2制御状態に移行し、それと同時に受信機110および送信機130も第2制御状態に移行するよう制御することができるように構成されている。受信機110、処理装置120および送信機130は、待機時間の間は第2制御状態にとどまる。待機時間はゼロより大きく、第1関数の周期より小さい。待機時間が終わった後、処理装置120は第3制御状態に移行し、受信機110および送信機130も第3制御状態に移行するよう制御することができる。それと同時に、処理装置120は生成信号(generation signal)160を送信機130に送る。送信機130は生成信号160を受信したら即座に同期信号140を送信する。
図2aにノードあるいはメンバノードの可能な実施形態を1つだけ示す。ノードは、もちろん例えば受信機110、処理装置120および送信機130が単一ユニットに組み込まれるよう実現することが可能である。
図2bに追加の制御状態または(特に)待機状態を有するノードの実施形態を記述する状態機械(state machine)を示す。この状態機械は、第1制御状態210またはリスニング状態、第2制御状態220または待機状態、第3制御状態230または送信状態、第4制御状態240またはスリーピング状態で構成される。ΦがΦthresholdに等しくなると、ノードはリスニング状態210から待機状態220へ移行するように構成されている。待機状態が例えば待機時間Twait後に終わると、ノードは待機状態220から送信状態230へ移行するよう構成されている。送信が終わった後、例えばゼロより大きく位相関数の周期Tより小さな送信時間または同期信号長Ttransmitの後、本実施形態のノードは送信状態230からスリーピング状態240へ移行するよう構成されている。スリーピングが終わった後、例えばゼロより大きく位相関数の周期Tより小さなスリーピング時間Tsleepの後、ノードはスリーピング状態240からリスニング状態210へ移行するよう構成されている。前述したように、リスニング状態210にあるノードは同期信号140を受信し復号する準備ができており、完全な同期信号140を受信するための時間は同期信号長Ttransmitで定められる。また同期信号を復号するための時間は復号時間Tdecodeで定められる。両方の時間ともゼロより大きく、位相関数の周期Tより小さい。ノードが同期信号を成功裏に受信し復号するためには、リスニング状態210のリスニング時間Tlistenは同期信号長Ttransmitと復号時間Tdecodeとの和よりも大きくなければならない。待機状態220に関するノードの様態に関しては、異なるコンセプトが可能である。例えば、ノードは“シャットダウン”する場合がある、つまり位相は位相関数に従って時間とともに増大せず受信機も同期信号を受信し復号する準備もできていない、または、ノードはリスニング状態210と同じような状態(しかし後述するように待機状態220の始まりには不応期間が存在する)にある場合がある。
図2bの状態機械は4つの制御状態(control states)を有するものとして紹介されているが、一般にノードの実施形態は4つの制御状態に限定されることはない。ノードは異なる実施形態として例えばスリーピング状態240のない3つの状態のみから成り、送信状態230から直にリスニング状態210に移行する場合がある。
以下の記述では、待機状態と送信状態は発火状態(fire states)とも呼ばれる。これらの発火状態は、ノードが“発火(fire)”した後、図14のように即座に送信するかまたは図2bのように送信前に待機時間だけ待つ状態を記述する。
異なるタイミングと制御状態の関係をより容易に理解するために、図2bにはTlisten、Twait、Ttransmit、Tsleep、TtransmitまたはTdecodeのような追加情報が組み込まれている。例えばTlistenは、その間、ノードはリスニング状態210のままであって、一方では所定時間(predefined time)と呼ばれ、他方では有効時間(effective time)と呼ばれることがある。例えば同期化の際は、その間に同期信号の受信と復号が成功することにより、より早く閾値に到達する結果をもたらすことができる。
図19から判るように、同期精度はTdelayで制限され、Tdelayは次式で与えられる。
Tdelay=Tpropargation+Ttransmit+Tdecode
例えばUWB(超広帯域無線)システムなどの、送信パルスが短いショートレンジのネットワークを議論する場合、Tdelayは無視可能なので、基本モデルがうまく適合することがある(非特許文献[7]参照)。しかしながら、より長い送信バーストを使用するより広範囲の無線ネットワークを議論する場合は、遅延はこの同期スキームでは深刻である。例えば、5nsのサンプリング時間を使用するシステムでは、バースト長が20μsの場合、Ttransmitは4000(個の)サンプルに等しい。タイミング同期の精度は最小でも4000サンプルに等しく、これは明らかに受入不可能である。
この効果に対抗する1つのストラテジーは送信機がその送信をTwait=Tsync−(Ttransmit+Tdecode)に等しい時間だけ遅らせることである。ここでTsyncは同期信号周期である。このアプローチによれば、受信機または受信ノードは送信機が発火した正確にTsync秒後にその位相を増大させる。“発火(fire)”はここではもはや以前に定義した“送信”それ自体の瞬間を指すのではなく、いまや位相が閾値に到達した時間を指す。こうして、ノードは位相が閾値に到達するときに“発火準備が整う(fire-ready)”が、同期信号140を送信する前に待機時間だけまだ待たなければならない。これについては図3を参照してより詳しく後述する。
図3は既に同期した2つのノードに対してこのストラテジー(以下、タイミング進行送信ストラテジー(timing advance transmit strategy)と称される)をまとめた図である。時刻t0で、発振器1はΦthresholdに到達する。発振器1は同期バースト(synchronization burst)を送信し始める前にt1=t0+Twaitまで待つ。t2で、発振器2はバーストを成功裏に受信し復号し終わる。2つの発振器は既に同期しているので、発振器2は発振器1と同じスキームに従い、送信前にt3=t2+Twaitまで待つ。
一般に、送信機は、Lを整数として、Twait=L・Tsync−(Ttransmit+Tdecode)に等しい時間だけ待つことができる。以下、L=1の場合についてより詳しく説明する。
本スキームは2つの条件が満足された場合にのみ有効である。最初に、(Ttransmit+Tdecode)はTsyncより大きくは成り得ない。そうでなければ待機時間は負になるのでLを調整する必要がある。このため以下の条件がもたらされる。
Ttransmit+Tdecode<Tsync (c)
本スキームが同期を成功させるチャンスを得るためのもう1つの条件は、図3における時刻t3において発振器1は発振器2のバーストを受信するためにリスニング状態にある必要があるということである。それゆえ、t0とスリーピング状態の終了時との間の時間はTsync+Twaitより小さい必要がある。このことは条件Twait+Ttransmit+Tsleep<Tsync+Twaitの条件を課す。これは以下のように簡単になる。
Ttransmit+Tsleep<Tsync (d)
これらの条件が満足されると、2つのグループが形成される。グループ2はグループ1の同期メッセージのおかげで同期する。逆も然り。図4は、Tsync=100μs、Ttransmit=20μs、Tsleep=40μs、Tdecode=10μsおよびb=3の設定のもと、タイム進行同期スキームを使用して同期に成功している30個のノードの場合の結果として生じる位相をプロットした図である。簡略化のため、全てのノードを含む議論対象のセルは小さい(全てのノードの間でTpropagation=0)。
このタイミング進行ストラテジーに基づき、前述の有限状態機械を少しだけ修正する。
1つのノードの状態を記述する状態機械に待機状態を送信状態の前に追加する。送信機は図2bに示すようにこの待機状態にTwaitに等しい待機時間だけとどまる。
タイム進行送信ストラテジーの有効性を確かめるため、理想的な条件のもとでそれをシミュレートした。Tsampling=0.5μs、Tsync=100μs=200Tsampling、ノイズは無視される、すなわち信号対ノイズ比(SNR)が非常に高い、結合はパラメータb=3で固定された(図13参照)、ノード数はN=30、ノードは完全なメッシュ状ネットワークを形成し、50m×50mの面積に一様に分布している(伝搬遅延をシミュレートするため)、という想定のもとで、以下のような結果が得られた。
この場合、2つのノードの間の最大距離はdmax=50・(√2)m、最大伝搬遅延時間はdmax/c=0.23<Tsamplingである。それゆえ、全てのノードの間の伝搬遅延はゼロサンプルに等しい。
図5に、Ttransmit=35μs、Tsleep=20μs、Tdecode=35μsの設定のもと、Tdelay=Ttransmit+Tdecode=70μsにもかかわらず、30個のノードの間の同期が5.5Tsync内に実現される様子を示す。精度はいまやTdelayによって制限されない。
異なる設定を使用すれば、同期は常に得られるとは限らない。例えば、Ttransmitが35μsから20μsまで低減し、Tsleepが20μsから5μsまで低減する場合、3個以上の個別のグループが形成されるシステムで異なるタイプの同期が得られる。図6に、Ttransmit=20μs、Tsleep=5μs、Tdecode=35μsの設定のもと、3つのグループによる斯かる同期の一例を示す。このタイプの同期は前述のケースを思い起こさせるが、ただグループ1はグループ3に影響し、グループ3はグループ2に影響し、グループ2はグループ1に影響する。
前述したように、このタイプの同期はTsleepが小さすぎる(Tlistenが大きすぎる)から起こった。新たな送信ストラテジーでは、リスニング時間Tlisten=2・Tsync−(Twait+Ttransmit+Tsleep)である。待機時間Twait=Tsync−(Ttransmit+Tdecode)であることから、それは次のように書き換えられる。
Tlisten=Tsync+Tdecode−Tsleep (e)
リスニング時間を変更するにはTsleepが修正が必要な唯一のパラメータである。図6に示したような悪いタイプの同期を避けるにはTsleepを増大させる必要がある。
スリーピング時間Tsleepが大きすぎる場合、同期は全く得られない。図7に、Ttransmit=35μs、Tsleep=60μsおよびTdecode=35μsの設定のもと、30個のノードが発展するこの場合の様子を示す。
このケースでは、Ttransmit+Tsleep=Tdeleayは(d)で与えられる限界に近すぎる。リスニング時間は小さすぎ、システムの同期確率も小さすぎる。それゆえ、Tsleepはあまり大きくは成り得ない。
これら3つの別個のケースはどういったときに同期が常に保証されるかについての疑問をもたらす。Tsync=100μs、Tdecode=35μs、b=3に対して設定が異なるシミュレーションを実行することにより、図8が得られた。それは3つの個別のエリアを示している。左下のコーナには3以上のグループの同期が得られる(図6参照)。中間エリアには完全な同期が得られる(図5参照)。右上のコーナには同期は全く実現されない(図7参照)。
これらの限界は同じ設定でシミュレーションを100回繰り返して得られた。同期率は“同期(SYNCHRONIZATION)”エリアを明確にするため90%より大きくなければならなかった。
図8から、Ttransmit<50μsである限り、Tsleepは同期を実現するために周期Tsyncの30%の範囲から選ぶことができる。50μs<Ttransmit<65μsに対しては同期は可能であるが、Tsleepの範囲はより小さくなる。
図8における限界は90%の同期率に対して得られた。これにより、決まった送信時間に対して同期率がスリーピング時間の関数としてどのように発展するかを見出すことができる。
スリーピング時間Tsleepとリスニング時間Tlistenとの間には直接的な対応が存在する((e)参照)。リスニング時間の関数として同期率の発展を眺めることはより興味深いことである。
図9は、Tsync=100μs、Tdecode=35μs、Ttransmit=0.5μs、b=3として、各設定ごとに同期率を測るためシミュレーションを1000回繰り返して得られた。
図9は異なる同期段階を理解する助けになる。Tlistenが小さすぎると(Tlistenは少なくともTtransmit+Tdecodeに等しい必要がある)、同期は全く起こらず、各ノードはその他のノードをリスンすることなく自由に発振する。Tlistenが増大するにつれ、ノードは徐々に互いが聞こえるようになり、同期率は急速に増大する。おおざっぱに0.30Tsyncの幅のレンジで同期が起こる。その後、Tlistenが大きくなりすぎると、突然この同期率は急速に低下する。この場合には、ノードにはあまりに多くの不調和なメッセージが聞こえるので、3以上のグループが形成される悪いタイプの同期が実現される。
以上の説明をまとめると、タイミング進行ストラテジーに基づいて、自己組織化無線ネットワークにおけるノードの同期化は送信時間Ttransmitが全フレームまたは全バースト周期Tsyncの50%でも保証することができる。しかしながら、図20を参照すると、各個別のグループAまたはBのノードは、両タイミングとも同期周期Tsyncを持つが、ほとんどの場合、互いに時間的にシフトしているローカルな同期スキームで揃っている。グループのローカルなタイミングがグローバルな基準タイミングと比較されるところをコントロールすることも可能ではない。基準タイミングをこれらのルールに従うネットワークに課す試みはこの瞬間をコントロールするのに役立ち、自己組織化システム特有の難しさを解決することができる。
以下、パルス結合発振器とそれから得られたネットワークノードの同期を記述するモデルについて検討し、本発明をより深く理解するため更に掘り下げて説明する。
前述した位相関数のみに基づき、2またはN個の同種の発振器は2、3周期の間に発火点(発火時点)を同期させることが可能である。これを遂行するため、発振器は別の積分発火発振器からのパルスを受信したときにその位相を修正する。
発振器は、他の発振器と結合すると、その近隣の発振器のパルスを受信することが可能である。斯かるパルスを受信すると当該発振器は即座に現在値に依存する量だけその位相を増加させる。つまりパルスと受信すると位相は以下のように変化する。
φ→φ+Δφ
Δφは位相応答曲線(PRC:Phase Response Curve)で決まり、PRCは非特許文献[1]にあるように以下のように線形になるように選ばれる。
上式においてbは散逸率(dissipation factor)、εは振幅の増分(インクリメント)である。両ファクタとも発振器同士の結合を決定する。閾値φ
thresholdは1に規格化される。
図13bはbのいくつかの値とε=0、1に対してφ+Δφをプロットしたものである。
非特許文献[1]に示されたように、ネットワークが完全にメッシュ状である場合、システムはb>0かつε>0に対して常に収束する、つまり、全ての発振器は1つのものとして発火する。同期するための時間は積b・εに反比例する。
前述したように、このモデルは同期をもたらすパルス結合発振器の最もシンプルな数学的解釈を提示する。しかしながら無線環境では、このシンプルなモデルは常に直接的に適用できるとは限らない。以下、どのような問題が起こるかを説明する。
MirolloおよびStrogatz(非特許文献[1]))の研究では、発振器同士の結合は均一であり、各ノードは全てのその他のノードとリンクしている、すなわちネットワークは完全にメッシュ状である、ことを仮定している。これらの仮定は比較的小さなエリアを議論するときには無線環境において妥当である。
また通信はパルスを通じて行われ、パルスは他の発振器によって瞬時に受信かつ復号される、ということも仮定されている。無線環境では、孤立パルス(solitary pulses)は検出することが実際上不可能なので単独で使用することは難しい。
より現実的には、同期信号長Ttransmitとも称される長さTtransmitの一連のパルスまたはバースト(パルスまたはバーストの長さTtransmitのシーケンス)が同期スキームで考察されるべきものである。
この時間Ttransmitの間、送信機は受信することができない。送信が完了しても、このメッセージは伝搬遅延時間Tpropagationが生じるために即座に受信されることはない。メッセージが伝搬され受信された後、同期メッセージが受信されたことを正しく示すために適当な処理時間が必要とされる。このため復号時間Tdecodeが結果として生じる。
あるノードが発火することにより他のノードの発火が引き起こされ、それにより連鎖的に更に多くのノードの発火が引き起こされる場合には、発振器システムは不安定になる。このアバランシェ(avalanche)効果は不応期間(refractory period)を導入することで避けることができる。詳しくは、Y.-W.Hong、B.Sikeci、およびA.Scaglioine共著「Swarming activities to distribute information in large sensor networks」、2003年10月、米国マサチューセッツ州ボストン、Proc. MILCOM Conference、p.682−687(非特許文献[6])を参照されたい。この非特許文献によれば、受信機は停止(shut-off)されるので、そのためTrefrに等しい不応期間の間は同期メッセージを受信することができない。
ノードが同期メッセージを完全に受信し復号し終わるのに要する時間は変更される。その時間はいま(Ttransmit+Tdecode)を必要とする。この遅延時間は、伝搬遅延は無く、送信時間は無限小で、復号遅延は無いことを仮定するMirolloおよびStrogatzのモデル(非特許文献[1])とは最も大きな違いである。総遅延時間は次式で定義される。
Tdelay=Tpropagation+Ttransmit+Tdecode (2)
この待ち時間(latency)を考慮に入れるため、受信機は不応期間の後すぐには位相の増加を始めないようにする。代わりに、受信機をスイッチオンするがその位相をTlatの間はインクリメントさせない。
便宜上、不応期間および待ち時間はスリーピング遅延(時間)を形成するようグループ化される。この間、位相はゼロに等しく、受信機はTrefrの間はオフ状態で、Tlatの間はオン状態にある。スリーピング遅延時間はTsleep=Trefr+Tlatに等しい。
これらの観察から、本同期スキームのロバスト性を検証するために考慮に入れる必要がある4つの遅延時間は、伝搬遅延Tpropagation(これはパルスが放出されてから受信ノードまで伝搬するのに要する時間で、この時間は2つのノードの間の距離に比例する)、送信遅延Ttransmit(これは同期信号長とも称されるパルスの長さ)、復号遅延Tdecode(これは受信機がパルスまたは同期信号を復号するのに要する時間)、およびスリーピング遅延Tsleep(これは送信した後に安定性を維持し、同期メッセージの待ち時間(latency)を計上するために必要な時間)である。
これらの遅延時間から、あるノードが他のノードをリスンすることが可能な時間は同期したときの理想的な周期Tから送信遅延時間およびスリーピング遅延時間だけ削減される。リスニング時間はそれゆえ以下のように定義される。
Tlisten=T−Tdelay=T−(Ttransmit+Tsleep) (3)
図21にタイミング進行ストラテジーのない場合の発振器の異なる状態の新たな円グラフ表現を示す。丸1周分は発振周期T(位相関数周期Tとも呼ばれる)に相当する。Tpropagationは無視可能とみなされる。
この表現から、ノードが送信を開始するとき、送信中またはスリーピング中の全てのノードはこのメッセージを受信することはできない。まとめると、2つのノードの発火の瞬間がTtransmit+Trefr未満の時間だけ隔たっている場合には、それらは相互作用することはできない。このことは、システムが同期するとき、発火の瞬間の間の距離はゼロに向かうという事実に反する。それゆえ、幅Ttransmit+Trefrの“ブラインドスポット(blind spot)”が現れ、同期スキームの精度を制限する。
Tpropagationを無視する場合、発火する発振器はTdelay後にのみ第2発振器の発火を引き起こすことができる。システムを安定に保つため、第1発振器は第2発振器のメッセージを受信することができないようにすべきである。これはTrefr>Tdecodeを課す。それゆえ、ブラインドスポットの幅は最小限でもTtransmit+Tdecode=Tdelayに等しい。
前の部分で見たように、同期精度は、
Tdelay=Tpropagation+Ttransmit+Tdecode
に等しいTdelayによって制限される。
例えばUWB(超広帯域無線)システムなどの、送信パルスが短いショートレンジのネットワークを議論する場合、Tdelayは無視可能なので、基本モデルがうまく適合することがある(非特許文献[7]参照)。この同期アルゴリズムを長い送信バーストを使用する無線ネットワークに適用する場合、送信遅延は重要である。同期スキームの精度はTdelayによって制限されるので、このスキームはこの望ましくない効果に対抗するために修正される必要がある。
この効果に対抗する1つのストラテジーは送信機がその送信を、
Twait=Tsync−(Ttransmit+Tdecode) (4)
に等しい時間だけ遅らせることである。ここでTsyncは同期周期である。このアプローチによれば、受信機は送信機が発火した正確にTsync秒後にその位相を増やす。
この新しい送信ストラテジーに基づき、発振器の挙動を記述する有限状態機械は修正されいる。待機状態が送信状態の前に追加されている。ノードはこの待機状態にTwaitに等しい時間だけとどまる。1つのノードを記述するこの新たな有限状態機械は図2bに示されており、既に議論されている。
図22はタイム進行ストラテジーを使用するときの状態変数のドメインを円グラフで表したものである。最初に、N個の発振器から成るシステムを表すマーカは円上にランダムに分布し、周期的に発振する。時間の経過とともに発振器は2つのグループを形成し、各グループは円グラフ表現された状態空間において直径方向に互いに真向かいに位置づけられる。
図22において、グループ2は同期メッセージを送信し終わっており、送信が終了してから正確にTdecode後の状態にある。この時点で、グループ1はグループ2の同期バーストを成功裏に受信し復号し終わり、そして発火する(φ=φthreshold)。両方のノードは既に同期しているので、このバーストはグループ1の状態に影響していない(位相の増大はない)。グループ1がグループ2からTsync未満の時間だけ隔たっている場合、同期バーストはグループ1の状態をグループ2とは直径方向に反対の状態に押しやることになる。Δφ>0であるためシステムは収束する。
2つのグループが形成されたときには両方のグループは同じ周期Tで発振するので、それらを隔てる距離はT=Tsync/2に等しいところにとどまる。それゆえ、同期したとき、2つのグループの状態は直径方向に互いに真向かいの位置になる。
待機時間(waiting time)を導入したおかげで、安定性が維持される。というのは、同期バーストによりノードの発火が引き起こされても、このノードは常に送信前に待機するからである。それゆえ、不応時間はゼロに設定することができ、Tsleep=Tlatである。その結果、スリーピング状態は、ノードがスリーピング状態にあるときにはそれは受信することができるがその位相を変更することはできないというように再定義される。
タイム進行同期スキームは2つの条件が満足された場合にうまく機能する。最初に、Ttransmit+Tdecodeは受信時間Treceiveより大きくなり得ない。ここでTreceive=Tlisten+Tsleep、Tsleep=Tlat、受信時間はいまの場合Tlisten+Tsleep=T+Tdecodeに等しい。この条件が満たされなければ、発振器は同期メッセージを完全に受信し復号することは全く不可能である。このことから、以下の条件が導かれる。
Ttransmit<Tsync (5)
第2に、Twaitは正である必要があるので、このためにはTsync−(Ttransmit+Tdecode)>0が必要である。これは以下の条件を課す。
Ttransmit+Tdecode<Tsync (6)
この拘束条件は条件(5)に優先する。
これらの条件が満足されると、発振器の2つのグループが形成され、各グループは1つ前のグループからのメッセージを使用して同期する。図23は30個のノードの場合にタイム進行同期ストラテジーを使用して同期に成功した結果の位相をプロットしたものである。便宜上、全てのノードを含む議論対象のセルは小さいとする(Tpropagationは無視可能)。設定は、図4の設定と同様に、Ttransmit=0.20・Tsync、Tdecode=0.10・Tsync、Tsleep=0.40・Tsync、ε=0.1およびb=3である。
図23から判るように、総遅延時間はTdelay=0.30・Tに等しく、発振器は発火点を完璧に同期させることが可能である。それゆえ、同期精度は送信遅延および復号遅延によってもはや制限されない。
前述した同期アルゴリズムによって生成される時間基準(発火点)を、他の発振器に影響されることなく同期バーストを毎Tsync秒ごとまたはその倍数秒(Lを自然数としてL・Tsync)ごとに送信する基準発振器(reference oscillatotrs)が強要することができる。これは研究対象のネットワークの自己組織化性にそぐわないものであり、後述するように、それは問題を引き起こす。以下、既知のタイミングを自己組織化ネットワークに課すことができるような1つの解決策を提示する。
基準ノードはその位相または状態変数を全く修正することなく周期的に毎Tsync秒ごとまたはその倍数秒(Lを自然数としてL・Tsync)ごとに発火する発振器に相当する。
同期周期Tsyncに等しい周期で送信するとき、基準ノードは同期状態にあるメンバノードの2倍の頻度で同期信号を送信する。しかし基準ノードは位相関数の周期に等しい周期T=2Tsyncで、つまり個々のメンバノードと同じ周期で、あるいはTsyncの整数倍の周期、例えば3Tsyncなどで、送信するよう構成することも可能である。自己組織化するメンバノードがそれら自身の間でTsyncで同期する際、基準ノードが基準タイミング構造を課すための要件は、メンバノードが同期したらすぐに基準ノードからの同期信号がメンバノードの同期信号と同期するような方法で、“基準(reference)”同期信号を送信することである。でなければ、メンバノードは常に新しく基準ノードの同期信号と同期しなければならず、安定した同期状態には決して到達しない。
それゆえ、1つの実施形態として、基準ノードはタイム進行ストラテジーに従って単に同期バーストを毎周期ごとに(発火後、送信前にTwaitだけ待機して)送信するだけである。図1cはこのような基準発振器の1周期を表したものである。図中、基準ノードが送信する周期はTsync(=Twait+Ttransmit+Tdecode)に等しく、図1cに示した基準ノードの二番目の“待機時間”Twaitは周期としてTsyncが得られるようメンバノードの復号時間Tdecodeに対応する。
図1dに基準ノードの別の実施形態における対応する“位相関数(phase functon)”を示す。基準ノードは位相関数の周期Tに等しい周期で送信する。TΔ=T−Tlistenは例えばメンバノードの時間Twait+Ttransmitに対応する。対応する位相関数は例えばデルタ期間(delta period)TΔ(=T−Tlisten)の間はゼロにとどまり、Tlistenの間は時間とともに線形に増大し、Tlisten後に閾値に到達する。こうして、メンバノードの位相関数のTlistenに相当する時間後に基準ノードは発火する、つまり再び待機状態に移行する。
デルタ期間TΔは基準ノードが同期信号を送信する周期とリスニング時間Tlistenと時間差として定義される。図1dにおいて、前者は第1関数の周期Tに相当する。
言い換えると、状態機械モデルに応じて、TΔは一般的にTΔ≦Ttransmit(待機状態なしに直ちに送信する場合)、TΔ≦Twait+Ttransmit(待機状態はあるが、スリーピング状態がない場合)、またはTΔ≦Twait+Ttransmit+Tsleepで定義されるが、他の値も得ることが可能である。デルタ期間TΔは一般的に、メンバノードがその内部値または位相を第1関数または位相関数に従って増大させないような状態の遅延時間から成る。
図1cに関して言えば、基準ノードは同期信号をTsyncに等しい周期で送信し、例えばデルタ期間をTΔ=Twait+Ttransmit、修正されたリスニング期間をT’listen=Tdecodeとして、同じような対応する位相関数を描くことができる。
発振器のシステムにおける基準ノードは同期スキームに対してポジティブまたはネガティブな効果を持つ可能性がある。ポジティブな効果に関して言えば、それは周期T=2Tsync内に通常ノードが唯1回発火し送信する間に2回発火し送信する(つまり通常ノードの2倍の頻度で発火し送信する)ため、同期するための平均時間を加速させて他のノードが所定のタイムスロットに適応するのを促進することができる。他方、ネガティブな効果に関して言えば、それは他のノードをリスンしていないので、全体的に柔軟性に欠け、同期プロセス全体を乱す可能性がある。以下、基準ノードと通常ノードとの間に不可聴あるいは難聴(deaf)問題が存在することを示す。
通常発振器間の難聴問題はノードが受信と送信を同時に行えないという事実によって起こる。基準ノードの場合は、難聴問題は基準ノードがメッセージを全く受信せず、単に周期的に同期バーストを送信するだけであるという事実に由来する。
この難聴(deafness)の重要性を評価するため、図24に、Tsleep=0.45・T、Tdecode=Tsleep−Ttransmit、b=3およびε=0.08の設定のもと、30個のノードから成る完全にメッシュ状のネットワークでシミュレーションを1000回行った後に得られた結果を示す。同期の成功は発火点同士の時間差がTpropagation以下のときにはっきりと現れる。
基準発振器がネットワークに存在するとき、同期率(synchrony rate)は(1−Ttransmit/T)に近づく。発振器は送信中は受信することができないので、この難聴は同期率の劣化に関与すると見られる。
この難聴の理解を試みるため、図25に、1つの基準ノードを含む30個のノードに対して、同期が成功しない場合のシミュレーションした結果の位相をプロットしたものを示す。設定は以前(図24)と同じくTtransmit=0.20・Tsyncとした。
興味深いことに、システムは安定化するが、4つのグループが形成される。グループ1aおよびグループ1bの2つのグループは基準ノードに対応する。グループ2とグループ3の他の2つのグループは各自同期しているが(各グループがTsync秒ごとに発火する)、基準グループの難聴スポット(deaf spot)に落ち込んでしまっている。
図26は、基準ノード(ノード1)と通常ノード(ノード2)の状態の発展を、発火点がTdeafだけ隔たっており基準グループが他方のグループと比べて遅れているときに、2周期(2Tsync)にわたってプロットしたものである。
図26にプロットされた2周期の間に、ノード2が基準発振器から送信された2つの同期バーストを完全に受信し復号することは全く不可能である。第1周期の間にノード1とノード2の送信期間は重なりあう。発振器は送信中は受信することができないので、ノード2は第1周期の間にこの第1同期メッセージをリスンすることは難しい。第2周期の間は、ノード2は第2同期メッセージを完全に受信することはできるが、そのメッセージの復号中に発火するために、完全にそれを復号することはできない。
TdeafがTtransmitより大きかったとしたら、ノード2は第1メッセージを受信し終わり、基準ノードと同期するように発火点を徐々にシフトさせることができたであろう。それゆえ、難聴スポットの幅は送信遅延時間Ttransmitに等しく、図24の結果が確かめられる。
通常発振器についてはタイムスロットの形成をコントロールすることはできないが、同期を回復するために基準ノードの送信スキームを少し修正することは可能である。この難聴問題に対処するために提案される解決策は基準ノードの対応する位相関数φ(t)の周波数をNsweep回の発火の間に位相オフセットfoffsetによって高くすることである(スイープモード(sweep mode))。例えば、基準ノードが位相関数に等しい周期Tで同期信号を送信する1つの実施形態では、基準ノードは自然な発振周期Tを短縮し、基準ノードが早期に発火するようにする。このようにして、それはTdeaf内にトラップされたノードに追いつく。
図1dは、スイープすることを決めた基準ノードの上述した新しい周期Tsweep(<T)、すなわち変更または縮減された同期周期Tsweep、をプロットしたものである。
Tlistenはやはりまだ通常ノードのリスニング時間であり、次のように定義される。
Tlisten=Tsync+Tdecode−Tsleep (7)
基準ノード12の調整可能な位相オフセットf
offsetを有する位相関数は次のように定義される。
メンバノード14、16のそれぞれの位相関数または第1関数は以下のように定義することができる。
上式において、基準ノードと同じように、TΔは状態機械モデルに依存し、TΔは一般的にTΔ≦T
transmit(待機状態なしに直ちに送信する場合)、TΔ≦T
wait+T
transmit(待機状態はあるが、スリーピング状態がない場合)、またはTΔ≦T
wait+T
transmit+T
sleepで定義されるが、他の値も得ることが可能である。
基準ノード12の同期周期変更装置34は、位相オフセットfoffset>0を上記位相関数に適用することによって、送信機32の同期周期Tsyncを同期周期Tsweepに変更する働きをすることができる。
この修正された位相関数から、新しい周期T
sweepを次のように計算することができる。
図1cおよび図1dから気が付くように、基準ノードが送信を終える前に発火する場合には、同期バーストは完全には送信されない。そのため、T
sweep≧T
wait+T
transmitとなるよう、f
sweepに制約を課す。周波数オフセットの限界は以下のように計算することが可能である。
fsweepの値の変動はそれゆえ以下のように制限される。
0≦fsweep≦fsweepmax
このスイーピング(sweeping)スキームはメッシュ状ネットワークに適用されたときには高い不安定性を示したと同時に、同期は常に実現されなかった。それゆえ、スイーピングは通常ノードが同期状態に到達した後に適用すべきである。その後にこのスキームは基準ノードと通常ノードとの間の難聴を消滅させるためにNsweep周期にわたるスイープモードの間に適用することができる。その後でfsweepはNstability周期の間にシステムが安定化モードで安定化されるようにゼロに戻されるようにする必要がある。図27にそのグローバルなスイープ・安定化スキームを示す。
幅T
transmitの難聴窓内にあるノードをカバーするため、f
sweepおよびN
sweepはN
sweep・(T−T
sweep)≧T
transmitとなるように選ばれる必要がある。これは次のように書き換えることができる。
基準ノードが単に1周期の間にその周期をTtransmitだけ縮めさえすれば、難聴問題は1周期内に解決することが可能である。これはNsweep=1およびfsweep=Ttransmit/(Tlisten−Ttransmit)に相当する。このようにして、基準メッセージをリスンすることができなかったノードは再びそれらが聞こえるようになり、1周期内に同期することが可能である。しかしながら、これは比較的不安定であり、より多くの周期の間に周波数増分をより小さくしてスイーピングすることが好ましい。
提案されたスキームの特別なケースとして、基準ノードがスイーピング前にいたのと正確に同じタイムスロットに戻ることは興味深い。これはN
sweep・(T−T
sweep)=Tの場合に当てはまる。これは次のような条件に書き換えることができる。
例えば、Tsweep=0.8Tに対しては、スイープ周期の数はNsweep=5、すなわち、基準ノードは4つの通常周期に相当する5つの縮減した周期の後に同じタイムスロットに戻る。
上のパラグラフでは、通常ノードと基準ノードとの間の難聴は基準ノードの発火点を徐々にシフトさせることによって避けることができることを示した。このスキームを複数の基準ノードが存在するメッシュ状ネットワークに適用することは携帯機器が常に基地局から1または2ホップ(hop)内に存在する現実的なシナリオを反映している。
図28は4つの基準ノード(ノード1、3、19および22)が存在するネットワークNW2をプロットしたものである。基準ノードはどの通常ノードもいずれかの基準ノードから最大で2ホップの範囲内にあるよう選ばれた。
基準ノードを複数にすることで、どの通常ノードもそれに最も近い基準ノードからと、そしてまだ同期していないノードから、メッセージが受けられるようになるので、システムを完全に安定化させることができる。他方、全ての基準ノードが同じ基準タイミングを与えるとき、どの通常ノードも最大で2ホップ内にあることから、難聴エリアに陥るノードの数はより少なくて済む。
図29は500セットの初期条件のもとでのシミュレーション結果をプロットしたものである。4つの基準ノードは図28の中では大きな正方形で示されている。Nsweepおよびfsweepはスイーピング後にグローバルな基準タイミングを回復するよう選ばれる。NstabilityはNsweep+Nstability=30となるように選ばれる。時間設定は、Ttransmit=0.20Tsync、Tdecode=0.25・TsyncおよびTsleep=0.45・Tsyncである。結合設定はb=3およびε=0.14である。
Nsweepが増えるにつれ、同期率は非常に急速に増大する。Nsweep={8,9,10}のとき、同期率はほぼ100%に等しい。このことは、複数の基準ノードがシステムに存在するとき、スイープ(sweep)はシステムの安定化をよりなだらかに行うことを示している。
以上をまとめると、本発明によれば、完全に分散して同期化されるネットワークに基準タイミング(reference timing)が課される。ここでいう同期(化)は、全てのノードが1つのグローバルな共通のタイムスケールに従うように、ローカルなタイミングユニットを1つに揃えるという意味で定義される。非集中型ネットワークが議論されることから、端末の挙動を管理するグローバルな調整装置(coordination unit)は一切想定されない。第1の実施形態では、本発明の基準ノードは単に同期信号を、通常ノードと同じ周期で、言い換えると同期周期Tsync、位相関数周期Tまたは同期周期Tsyncの整数倍に等しい周期で、送信するだけである。この解決法だけでも、高いグローバルな同期率が得られる。ただこうした実施形態に基づいて基準タイミングを課しても、通常ノードは送信中はリスン(listening)することができないので、同期は常に得られるとは限らない。つまり、それらは基準ノードから同期信号を常に受信することはできない。この望ましくない効果に対処するため、基準ノードの好ましい実施形態の送信スキームは同期が保証できるように修正され、全てのメンバノードは課された基準タイミングに従う。基準ノードに対しては1つ以上の周期の間にその同期周期を修正するスイープモード(sweep mode)が導入され、それがなければ基準ノードの難聴スポットに陥ったままとなったろう通常またはメンバノードを救済することができるようにする。
本発明の特に好ましい実施形態では、待機状態を含むタイム進行ストラテジーが使用される。こうして、グローバルな基準タイミング、すなわち全てのノードのタイムスロットが同じ絶対時刻に割り当てられるグローバルに共通する基準タイムスロット割当が同期精度と連携して実現される。これにより、本発明は、WLAN、GSM、UMTSまたは他のネットワークに適用可能となる。
本発明の方法の一定の実施要件に応じて、本発明の方法はハードウェアまたはソフトウェアで実施が可能である。本発明の実施は、本発明の方法が実行されるようにプログラマブルなコンピュータシステムと協働することができるデジタル記憶媒体、特に電子的に可読な制御信号が保存された磁気ディスク、DVDまたはCDを使用して行うことができる。一般に、本発明は従ってコンピュータ上で走らせたときに本発明の方法を実行する働きをするプログラムコードが機械可読媒体に記録されたコンピュータ・プログラム製品である。言い換えると、本発明の方法は、コンピュータ上で走らせたときに本発明の少なくとも1つの方法を実行するためのプログラムコードを有するコンピュータ・プログラムである。