PR

図1●ノードの配置と送信タイミングの関係
図のような格子状にノードが整列しており,隣のノードまでしか電波が届かないと仮定した場合,同じ色のノード(例えば,4,7,10)が同時に通信しても互いに干渉しない。
図2●自己組織化タイミング制御方式
近傍ノードが同時に通信をした際,重なった度合いに応じて送信タイミングをズラしていく。これを繰り返すと,近傍ノードが同時に通信しないような状態に落ち着く。収束しない場合を考慮して何度も衝突を起こすノードは,位相をランダムにズラすアルゴリズムも組み込んだ。
 センサー・ネットワークが一般化する時代には,大規模なオフィスビルに数百~数千の無線センサー(以下ノード)が設置されることになる。このときに,問題となりそうなのが,無線の通信タイミングの制御だ。

 ノードの数が増えるということは,それだけ同時にパケットを送出する,つまりパケットが衝突する確率が高くなる。ひどい場合には,衝突ばかりが起こって通信できなくなる。解決のためには,衝突が起こらないような交通整理が必要だ。ところが,無数のノードが参加するネットワークでは集中管理が難しい。

 福井大学と沖電気工業は,個々のノードが周囲の状況を監視し送信タイミングを調整することで,パケットが衝突を起こさず,全体が調和して動作する仕組み「自己組織化通信タイミング制御」を開発し,2005年9月15日に公表した。集中管理が不要でノードのネットワークへの新規参加や離脱に柔軟に対応できるのが特徴だ*1

斥力によってタイミングを調整

 自己組織化タイミング制御では,近傍のノード間で通信タイミングを示す制御信号を交換し合い,送信時期(位相)の微調整を繰り返す。結果として,全体にタイミングが調整された状態に落ち着く(図1[拡大表示])。

 具体的には,各ノードが送信タイミングのときに非常に短い信号(以下ビーコン)を送ることで電波の届く範囲のノード間で送信時期を教え合う。ビーコンを送る周期は,すべてのノードで同じ。ただし,位相が合っていないため初期段階ではバラバラのタイミングで送ることになる(図2[拡大表示])。各ノードは聞き耳を立て,自分がビーコンを発してから次を送る1サイクルの間,電波到達範囲内に何台のノ ードが存在するかを調べる。そして,1サイクルの時間をこのノード数で割り,これを各ノードの通信時間にする*2

 次に,自分の割り当て時間内で他のノ ードがビーコンを発していないかを調べる。割り当て時間内に他のノードがビーコンを発している場合,二つのノードの位相を相互に離れる方向にズラす*3。位相が近ければ近いほどズラす量を大きくする。ノード同士に反発力があり,近いほど強い力で離れるイメージだ。

 ただ,このようなアルゴリズムだけだといつまでたっても衝突(送信割り当て時間内に別ノードが通信)し続ける可能性があるという。そこで,何度も衝突を起こしているノードはランダムな位相に遷移するアルゴリズムを導入した。具体的には衝突をストレスとしてとらえ,衝突を頻繁に起こすほどストレスが高くなり,ランダムな位相に遷移する確率が高くなるようにする。

動くシステムも開発済み

 福井大学と沖電気工業は400ノードを格子状に規則正しく並べた場合とバラバラに並べた場合でシミュレーションを行った。格子間の間隔は無線の到達距離に合わせた(バラバラに並べた場合も到達距離は同じ)。いずれも480サイクル程度でほぼ収束し,1600サイクルでは完全に収束した。

 また,ZigBeeを使った実証システムを製作し,実環境でも動作することを確認。記者も5台のZigBeeノードがタイミングを調整するデモを見たが,バラバラの状態から6サイクル程度で自律的に収束していた。

 沖電気工業は「ZigBeeのためのタイミング調整プロトコルとして,今回の仕組みをIEEE802.15.4グループに提案したい」(研究開発本部ユビキタスシステムラボラトリの福永茂チームリーダ)という。IEEE802.15.4はZigBeeの物理層およびMAC層のプロトコルを規定している。


図A●ZigBeeと無線LANのスペクトラム・マスク
ZigBeeのチャネル15とチャネル20を選択すれば,無線LANのチャネルとは重ならない。
図B●チャネルの変化による干渉の度合い
無線LANをチャネル1に設定して,ZigBeeのチャネルを変化させたときのパケットエラー率を調べた。周波数が重なっている部分では大きく干渉していることが分かる。

無線LANとZigBeeは共存可能

 IEEE802.11b/gの無線LANと,ZigBeeはいずれも2.4GHz帯を利用するため,干渉が起こる危険性がある。実際,日経バイト2005年6月号で実験したところ,確かに干渉があり,最悪の場合,ZigBeeの通信ができなくなることを確認した。

 この問題に対して,沖電気工業はシミュレーションと実験を行い,適切に運用すれば無線LANとZigBeeの干渉は大きな問題にはならないことを確認した。

 同社によれば無線LANでチャネル1,6,11,14のすべてを使っていたとしても,ZigBeeをチャネル15と20で利用すれば干渉が最小限に抑えられるという(図A[拡大表示])。実際に,無線LANをチャネル1に固定し,ZigBeeのチャネルを11から順番にずらして,干渉の影響を調べたところ,チャネル15以降は干渉の影響が見られなかった(図b[拡大表示])。

 ただし,無線LANをチャネル1,ZigBeeをチャネル15のように隣接した帯域を使う際は,ZigBeeネットワークの要であるコーディネータと無線LANのアクセスポイントは6~8m程度離して設置しないと干渉を起こす危険性があることも確認された。

 このほかZigBeeは規格では,電源の投入時,周囲を調べて電波状況が悪い帯域を避けてネットワークを構成する仕組みがあるために,干渉は起きにくいという。もし無線LANが使われていても,その帯域を避けるためだ。