センサネットワークのプロトコル 時刻同期

センサネットワークのプロトコル

ネットワーク化されたセンサノードが相互に通信し合うためには,共通の通信手順を規定しておく必要がある(ネットワークプロトコル).
センサネットワークは,数百〜数千という数のセンサノードから構成されることも想定され,人が各ノードの電源を管理することは現実的ではない.また,センサネットワークは水,森,砂漠,体内など,人が物理的に接触して管理するには困難な場所へのノードの設置も想定される.
このように,センサノードへの電力供給は物理的に困難な場合があり,電力の消滅はネットワーク構成要素の消滅と捉えられている.
以上のような要求から,既存のインターネットの仕組みをそのままセンサネットワークに適応することは最善の方法とはならない.

基礎技術

センサネットワークでは物理的な現象をセンシングするため,それらの現象がいつ(時刻同期),どこで(位置測定)起こったことなのかという情報を付加するニーズは高い.
時刻と位置を測定する一般的な選択肢として,GPSが挙げられるが,これはコストと消費電力が高く,また,室内や水中,地中では利用できないので,センサネットワークには適していない.
よってGPS以外の技術で時刻同期,位置測定を行う必要がある.

時刻同期

高密度でノードが設置されたセンサネットワークでは,同じ現象を複数のノードが感知する可能性が高い.そのため,同期のとれた時刻情報を利用して,ネットワーク内部でデータを融合,削除することにより,トラフィックの冗長性を取り除くことが重要となる.
また,時刻同期はTDMAなどの通信処理や位置情報と組み合わせることにより,ターゲットの移動速度を計算するといったことにも利用される.
時刻同期の事実上の標準となっているNTPは,高精度の時刻同期を実現することが可能でが,センサネットワークでは,位置測定のためにマイクロ秒のオーダーで正確な同期が必要とされたり,特定のノード間でのみ時刻を同期させたい場合など,インターネットとは要求が異なる.

TDMA
時分割多元接続(じぶんかつたげんせつぞく : Time Division Multiple Access)は,同一周波数の電波の固定タイムスロットをそれぞれの無線局に割り当て,多元接続を行う無線通信技術(1つの周波数を短時間ずつ交代で複数の発信者で共有する方式)である.特徴としては以下のようなものを挙げることができる

  • 時間ダイバシティが使用できるためフェージング耐性がある.
  • 回線交換接続が可能で遅延時間や通信速度が保証できる・
  • 無線局間の同期が必要不可欠である.
  • 周波数利用効率・回路規模は,周波数分割多元接続と符号分割多元接続の中間程度である.
  • 時間軸圧縮を行っているため,音声の場合遅延時間がある.
  • 通信衛星を利用する場合に、周波数分割多元接続と比較して地球局から受信する電波の電力の差に対応しやすい.

*1

携帯電話などの無線通信に使われる方式の一つ.第2世代の携帯電話方式であるPDCGSMなどはTDMAを用いた技術である.*2

NAP
NTPはネットワークを通じてPCやネットワーク機器の時計を合わせる仕組みで,時刻同期の事実上の標準である.*3
階層構造を持ち,最上位のサーバが GPS等を利用して正しい時刻を得,下位のホストはそれを参照する事で時刻を合わせる.*4

時刻同期:続き

現在,一般に利用されている時刻同期は,時刻サーバがクライアントからの要求に基づいて時刻を送信するサーバクライアント型の時刻同期方式である.この方式では,クライアントごとにサーバが時刻同期の処理を行うため,クライアントごとに同期のずれを生じさせる時間が存在する.

  • 送信時間

時刻情報をサーバが作成してから実際に処理されて,ネットワークインタフェースのデバイスにデータが渡されるまでに要する時間.サーバの負荷の度合いによって変動する.

ネットワークインタフェースのデバイスに到着いたデータが,実際にネットワーク上に送信されるまでの時間である.送信時のネットワークの混雑度によって変動する.

  • 伝播遅延時間(媒体遅延時間)

送信されたデータが,クライアントのネットワークインタフェースに届くまでの時間である.物理媒体の種類によって変動する.

  • 受信時間

クライアントのネットワークインタフェースのデバイスが受け取った時刻情報が,クライアントのアプリケーションに渡されるまでの時間.受信時のマシンの負荷により変動する.

図1にずれの生じる原因を示す.

図1:同期のずれが生じる原因


RBS
しかし,これら既存の時刻同期では,上述したセンサーネットワークの要求を満たすことはできない.そのため,センサーネットワークを想定した時刻同期の仕組みとしてRBSが提案されている.これは,タイムスタンプを用いない時刻同期手法である.RBSの特長は,送信者と受信者の時刻を合わせることではなく,受信者同士の時刻を合わせようとしている点にある.*5 *6

まず,RBSサーバからタイムスタンプを含まない「参照パケット」が定期的にブロードキャストで送信される.「参照パケット」を受信したクライアントは,パケット到着時刻(受信時刻)を参照時刻として,それぞれのクライアントが持っているローカルタイマに記録する.そして,その参照時刻を周辺のクライアントと交換し合い,補正値を求める(式1).*7

\forall i \in n , j \in n : Offset(i,j) = \frac{1}{m} \sum\limits_{k = 1}^m {(T_j,_k - T_i,_k ) } 式1

ここでは,nはクライアントの数,mは参照パケットの数,T_r,_bは参照パケットkを受信したときのノードrのタイムスタンプを示している.導き出された補正値と最小二乗法を利用してクロック・スキューC_i,_jを計算して,ノードjが送ってきたデータのタイムスタンプT_jを,ノードiは式でローカル時間T_iに変換することが可能となる.(式2)

 T_i \approx T_i C_i,_j + Offset(i,j) 式2

RBS の最大の長所は,同期の精度がアクセス遅延の影響を受けないことにある.参照パケットを受信したノード間の参照時刻の誤差は,パケットが送信されて受信されるまでの誤差であるので,パケットが送信されるまでの経過時間であるアクセス遅延は無視することができる(図2,図3).

図2:サーバとクライアント間の同期
図3:クライアント間の同期(RBS)

*8


〜センサネットワーク技術 ユビキタス環境の構築に向けて〜




センサネットワークのプロトコル トポロジ - WebLab.ota
センサネットワークのプロトコル データリンク層 - WebLab.ota
センサネットワークのプロトコル 位置測定 - WebLab.ota
センサネットワークのプロトコル 時刻同期 - WebLab.ota