1/4
日下 裕貴アドホックネットワークにおける バーチャルバックボーンの構築の研究
A Study of Construction of Virtual Backbone in Ad Hoc Wireless Network
情報工学専攻 日 下 裕 貴
HINOSHITA Yuki
概要 アドホックネットワークとは,無線
LAN
のよう なアクセスポイント(基地局)
を必要としない,無線で 接続できる端末のみで構成されたネットワークのこと である.本研究では,アドホックネットワークにおい て,仮想的なインフラとなるバーチャルバックボーン の要素を選出する問題を考える.本論文では,この問題に対して,2002年に
Xiuzhen,
Ding-zhu [1]
らによって提案されたアルゴリズムを 実 装し,計算機実験を通してその近似性能を評価した.さ らに,そのアルゴリズムに改善を加え,通信量,バー チャルバックボーンの要素数の変化といった観点から 実験的性能評価を行った.1
序論アドホックネットワーク
(ad hoc network)
とは,イ ンフラや中央管理施設等を必要とせずに,無線端末間 の通信を可能とするネットワークのことである.端末 はそれぞれ移動端末であるので,各端末は自由に移動 することができる.また,端末がネットワークから取り 除かれたり,新たな端末がネットワークに参加するこ とも起こり得ることから,ネットワークのトポロジー は動的に変化するといえる.さらに,それぞれの端末 はそれぞれが自律分散的にネットワークを形成してい ることから,本ネットワークにおいて,通信相手を特 定するためにはフラッディング(flooding)
という通信 方法を行う必要がある.しかし,この方法はネットワー ク上に過度のデータ衝突や不和を引き起こし,大きな プロトコルオーバーヘッドの原因となり得る.このような問題を軽減するため,ネットワーク上に 仮想的なインフラ
(バーチャルバックボーン (virtual
backbone))
を構築する様々な研究が進められた.その中で,
2002
年にXiuzhen,Ding-zhu [1]
らによって,そ れぞれの端末に通信速度の遅さなどのコストを与えた 場合における,よりコストの低い端末で構成する効率 的なバーチャルバックボーンの構築が提案された.そこで,本研究では,この
Xiuzhen
らのアルゴリズ ムを実装し,実験を行うことでその性能を評価した.ま た,その手法に改善を加え実験し,通信量,バーチャ ルバックボーンの要素数や要素の変化といった観点か らその性能を評価する.2
問題定義アドホックネットワークにおける移動端末
(以下ノー
ドと呼ぶ)の個数をn
とする.全てのノードは地上に 存在し,全て全方向性のアンテナが取り付けられているとする.また,全てのノードの通信範囲を
R
とする.すなわち,各ノードの通信範囲は,自身を中心とした 半径
R/2
の円となる.ノードの集合をV
,ノード間の リンクの集合をE
とすると,アドホックネットワーク のグラフG
はG = (V, E)
と表すことができる.ノー ドu ∈ V
とノードv ∈ V
との間にリンクが存在する ということは,uとv
との距離が高々Rであることを 意味し,このようにして得られるグラフをUnit disk graph
と呼ぶ.図
1 Unit disk graph
2.1
バーチャルバックボーンの定義バーチャルバックボーンを構築するノードを決定する には,最小連結支配集合
(Minimum Connected Domi- nating Set
:MCDS)を利用する.最小連結支配集合に 含まれるノードには以下のような性質がある.2.2
最小連結支配集合1.
最小連結支配集合に含まれるノード数は最小化さ れる.2.
最小連結支配集合に含まれる全てのノードは連結 している.3.
最小連結支配集合に含まれていないノードは,最 小連結支配集合に含まれているノードと必ず隣接 している.最小連結支配集合に含まれるノードをバーチャルバッ クボーンの構成要素とすることで,できる限りサイズ を小さくしたバーチャルバックボーンを得ることがで きる.しかし,Unit disk graphにおいて,最小連結
2/4
日下 裕貴支配集合を求めることは
NP
困難であることが証明さ れている.従って,最小連結支配集合を緩和した連結 支配集合(Connected Dominating Set:CDS)
を用い,バーチャルバックボーンの要素となるノードを決定す る.連結支配集合とは支配集合
(Dominating Set)
の ノードを連結させた集合であり,以下に詳しく性質を 述べる.2.3
連結支配集合支配集合を
D
とする.D
はV
の部分集合である.D
に含まれていないノードは,Dに含まれているノード と少なくとも一つは隣接している.隣接する2
つのノー ド(u, v)
が存在し,u∈ D, v 6∈ D
であるとき,uを支 配点(dominator),v
を被支配点(dominatee)
と呼ぶ.また,このとき,uは
v
を“支配している”
という.u, v ∈ D
である場合,どちらかを支配点とする.ま た,Dが連結しているとき連結支配集合となり,この 集合に含まれるノードをバックボーンの要素とする.2.4
付加条件さらに,本研究では
Xiuzhen
らの研究と同様,それ ぞれのノードにコストを付加した.この場合,コスト とは端末の通信速度の遅さや消費電力の大きさなどを 指す.これにより,バーチャルバックボーンを構築す る要素に,よりコストの低いノードを選出するという 条件が加えられる.また,ノード間の情報
(ノードのコストやリンクの有
無など)は,自身のノードと隣接している(1hop)
以内の ノードのみとする.つまり,自身のノードから2hop
離 れたノードのコストや状態を把握することはできない.3 Xiuzhen
らのアルゴリズム[1]
バックボーンを構成するノードは,< dominator
(u, dom, l) >,< dominatee(u, dom, l) >,< active (u) >
という3
つのメッセージをノード間で取り交わ しながら選出していく.最初にメッセージを流すノー ドはリーダー(leader)
に選ばれた1
つのノードだけで ある.3.1
メッセージとノードの状態まず,Xiuzhenらのアルゴリズムで使用されるパラ メータと,それぞれのノードが流すメッセージについ て説明する.その後,ノードの状態について述べる.
dom:そのノードを支配している支配点.
rank
:隣接したノードとの関係を示す.または,リー ダーからのレベル.W
:隣接したノードのコストを要素とする集合.< dominator(u, dom, rank) >:ノード u
が支配点 となるときにブロードキャストされるメッセージ.u
の 支配点がdom
であることと,uのrank
を表す.< dominatee(u, dom, rank) >:ノード u
が被支配 点となるときにブロードキャストされるメッセージ.u の支配点がdom
であることと,uのrank
を表す.< active(u) >:ノード u
がactive
の状態となると きブロードキャストされるメッセージ.隣接するノードにメッセージをブロードキャストし,
メッセージを受け取ったノードはそのメッセージに応 じて状態を変化させる.ノードの状態は
4
つ存在する.S
0:初期状態.支配点でも被支配点でもない状態.S
1:ノードが被支配点である状態.S
2:ノードがactive
である状態.この状態のノード の中から支配点となるノードが選出される.S
3:ノードが支配点である状態.以下にメッセージの伝達によるノードの変化を記す.
グラフ
G
において,全てのノードの状態がS
1,もし くはS
3となったら終了する.1.
ま ず,リ ー ダ ー の ノ ー ド は< dominator (u, dom) >
をブロードキャストする.その後,状態を
S
3に変化させる.2.
状 態 がS
0 かS
2 の ノ ー ド が< dominator (u, dom, rank) >
を受け取った場合,domと隣 接していたらdom = dom, rank = rank
とし,そうでなければ
dom = u, rank = rank + 1
と して< dominatee(u, dom, rank) >
をブロード キャストする.その後,状態をS
1に変化させる.3.
状 態 がS
0 の ノ ー ド が< dominatee (u, dom, rank) >
を受け取った場合,dom= u, rank = rank + 1
とし,< active(u)>
をブロー ドキャストする.その後,状態をS
2に変化さ せる.また,domをW
から削除する.4.
状 態 がS
2 の ノ ー ド が< dominatee (u, dom, rank) >
を 受 け 取った 場 合 ,u をW
から削除する.また,コストがdom
よりu
の 方が小さかったら,dom= u, rank = rank + 1
とする.5.
状態がS
0かS
2のノードが< active(u) >
を受 け取った場合,uのコストをW
に加える.6. W
の 中 の コ ス ト とu
の コ ス ト を 比 較 し ,u
の コ ス ト が 最 小 で あった 場 合 ,u は<
dominator(u, dom, rank) >
をブロードキャス トする.その後,状態をS
3に変化させる.7.
状 態 がS
2 の ノ ー ド が< dominator (u, dom, rank) >
を受け取り,dom= u
で あった場合,< dominator(u, dom, rank)>
を ブロードキャストする.その後,状態をS
3 に 変化させる.8.
状態がS
3のノードで,そのノードを支配点とし ているノードが一つも存在しなかった場合,<dominatee(u, dom, rank) >
をブロードキャス トする.その後,状態をS
1に変化させる.3/4
日下 裕貴4
提案手法Xiuzhen
らの提案したアルゴリズムは,リーダーのノードから始まり,徐々にバーチャルバックボーンの 要素となるノードを広げていくというアルゴリズムで あった.それに対し,本研究の提案手法は,ノードが移 動することによって非連結となってしまったバーチャ ルバックボーンの要素を再び連結させるというアルゴ リズムである.ネットワークのトポロジーが変化する 度に最初からバーチャルバックボーンを構築するので はなく,以前はバーチャルバックボーンの要素だった ノード同士を連結させることで,バーチャルバックボー ンの要素の変化を軽減でき,ネットワークの変化に柔 軟なバーチャルバックボーンを維持することが可能と なる.
4.1
提案1
提案
1
では,新たに< search(u) >
というメッセー ジとsearch
状態であるS
4を加える.状態が
S
4のノードは,Xiuzhenらの提案したアルゴ リズムにおけるactive
の状態と似た動作を行う.こう することで,グラフ上に支配点がほとんど存在してい ない部分があったとしても,連結支配集合を作ること ができる.しかし,この手法だけでは非連結となった バーチャルバックボーンが連結することはない.バー チャルバックボーンを連結させるために,次の提案2
を行う.提案
2
は,非連結となったバーチャルバックボーン の先頭のノード(自身を支配しているノードと隣接し
ていないノード)が,以前自分を支配していたノード を探し,見つかればそのノードと連結するという操作 である.また,提案1
と同時に行われている.4.2
提案2
提案
2
では,新たにdom
p という,以前そのノー ド を 支 配 し て い た 支 配 点 を 表 す パ ラ メ ー タ と<
research(u, dom
p) >
というメッセージとresearch
状 態であるS
5を加える.提案
2
は,非連結となったバーチャルバックボーン のノードを連結させるとき,連結する側のノードと連 結される側のノードを特定して連結させる手法である.これは,ノードを特定しないで連結させようとした場 合,バーチャルバックボーンに閉路ができてしまう可 能性が高いからである.非連結となったバーチャルバッ クボーンの先頭のノードや,そのノードを以前支配し ていたノードはそれぞれ一つに特定され,それぞれを 連結する側のノード,連結される側のノードとするこ とで閉路を作ることなくバーチャルバックボーンを連 結させることができる.しかし,提案
2
では,連結さ れる側のノードが連結する側のノードの近く(3hop
以 内) に存在しない場合,バーチャルバックボーンは連 結することができない.提案
2
を行った後も連結していないバーチャルバッ クボーンは,次の提案3
を行って,近くに存在するバー チャルバックボーンと連結させる.4.3
提案3
提案
3
では,新たに< break(u) >
というメッセー ジとbreak
状態であるS
5を加える.提案
2
との違いは,提案3
は連結させる側のノード を特定していないところである.代わりに,まだ連結し ていないバーチャルバックボーンのノード全てをbreak
状態とすることで,それらのノードは既に連結してい るバーチャルバックボーンのノードと区別することが できる.こうして,連結する側のノードは連結させる 側のノードを特定しなくても良く,一番近くに存在す るバーチャルバックボーンと閉路を作ることなく連結 することができる.5
実験的性能評価5.1
実験方法本研究の実験では,Xiuzhenらのアルゴリズムと提 案手法との比較を行った.
まず,100
× 100
の座標平面に移動端末をランダムに 配置し,Unit disk graphを作成した.それぞれの手法 を用いてバーチャルバックボーンを構築した後,グラフ に変化を与えるため,各端末のx
座標,y座標に-5から5
の値をランダムに与えた.この数字は端末間のリン クや状態などの情報を伝えるハローメッセージ(hello message)
が5
秒間隔で交わされていることと(これに
よってメッセージの交換が始められる),人間は1
秒間 に平均1.1m
歩くということを考慮した結果である.こ のように変化していくグラフに対し,同じグラフを2
つの手法を用いてバーチャルバックボーンを構成する 要素の変化と情報量を求めた.ここでいう情報量とは,ネットワーク全体を流れたデータ
(メッセージ)
の総量 を指す.さらに,端末の数を
100
から1000
個まで変化させ,通信範囲を
15
と固定して,それぞれ100
回ずつ計算 し,その平均を取ることで評価した.しかし,Unit disk
graph
において,ノード数が300
個を下回るとリンクが連結されることが困難になり,100回計算すること ができなかった.それぞれの場所でバーチャルバック ボーンを構築するという方法も考えたが,それは,結 局バーチャルバックボーンを構築しても通信できない 端末が現れるということとなり,本研究の意図から外 れるものと判断し,考慮に入れなかった.
また,最初のバーチャルバックボーンを構築する手
法は
Xiuzhen
らのアルゴリズムを用いた.以下に実験で使用した計算機を示す.
• CPU:Intel(R) Core(TM)2 1.86GHz
•
メモリ:2GB RAM• OS:Windows XP Home Edition
•
コンパイラ:Microsoft Visual C++6.05.2
実験結果バーチャルバックボーンの要素数は全体のノード数 が増えるにつれて増加していった.しかし,
Xiuzhen
ら4/4
日下 裕貴表
1
バーチャルバックボーンの要素数の変化0 50 100 150 200 250 300
300 400 500 600 700 800 900 1000 ノード
ノードノード ノード数数数数 要
要要 要素 素素 素 数 数数 数
既存手法提案手法 変化無し 既存 変化無し 提案
のアルゴリズムが緩やかに増加するのに対し,提案手 法では増加の割合が大きい結果となった.これは,提 案したアルゴリズムが前回バーチャルバックボーンだっ た要素を多く保持し,そのノード数をあまり減少させ ずにバーチャルバックボーン同士を連結させるという 方法を取ったためであると考えられる.
しかし,変化の無い要素数,つまり,前回から引き 続きバーチャルバックボーンの要素に選出されたノー ドの数は,Xiuzhenらのアルゴリズムを大幅に改善で きたといえる.これは,提案手法が,アドホックネッ トワークにおいてネットワークの変化により対応した,
柔軟性を持ったバーチャルバックボーンを構築できた ことを示している.
表
2
バーチャルバックボーンのコストの変化0 50 100 150 200 250 300 350 400 450
300 400 500 600 700 800 900 1000 ノードノード
ノードノード数数数数 コココ
コ ス スス
ストトトト 既存手法
提案手法
コストに関しても,バーチャルバックボーンの要素 数の結果と同じ理由が考えられる.バーチャルバック ボーンを構成する要素数が増加したら,それに伴って コストも増加する.
表
3
ネットワークの通信量の変化0 10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
300 400 500 600 700 800 900 1000 ノードノードノード
ノード数数数数 通通
通通 信 信 信 信量 量 量 量
既存手法 提案手法
バーチャルバックボーンの要素数,コストとは逆に,
通信量は
Xiuzhen
らのアルゴリズムを大幅に改善できた.通信量が安定しているとはいえないが,平均的に
Xiuzhen
らのアルゴリズムよりも良い解が,特に,ノードの数が増加するに従って良い解が出ていることが分 かる.
6
結論本研究では,アドホックネットワークにおけるバー チャルバックボーンの構築を行った.
この問題に対して,Xiuzhen,Ding-zhuらの提案し たアルゴリズムの実装,評価を行い,また,改善を行 うことで,バーチャルバックボーンを構築する際の通 信量を大幅に減少させ,より柔軟なバーチャルバック ボーンを構築することができた.しかし,要素数やコス トに関してはあまり良い解を得ることができなかった.
今後の課題としては,バーチャルバックボーンのノー ドが非連結となったときに,コストの高い要素を排除 する方法の考案や,また,より現実に近い入力を与え 実験を行うこと,さらには,バーチャルバックボーン のノードに負担がかかりすぎないよう,バーチャルバッ クボーンの要素と他のノードを適度に交換する方法の 考案などが挙げられる.
謝辞
本研究を進めるにあたり,適切なご指導,熱心なご 指摘を頂きました浅野孝夫教授に心から感謝致します.
参考文献