90
アドホック・ネットワーク技術に関する調査研究委員会 報告書 2011 3 財団法人 人工知能研究振興財団

アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

アドホック・ネットワーク技術に関する調査研究委員会

報告書

2011年 3月

財団法人 人工知能研究振興財団

財団

法人人工知能研究振興財団

〒461-0011

名古屋市東区白壁三丁目12番13号

中産連ビル本館3階

TEL052-932-8951 FAX052-932-9158

E-mail:[email protected]

http://www.airpf.or.jp

アドホック・ネットワーク技術に関する調査研究委員会 報告書      2011年3月      財団法人 人工知能研究振興財団

Page 2: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of
Page 3: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

まえがき近年の情報通信技術の発達により,多種多様な情報機器がネットワークで接続され有機的に動作することで,人間の知的活動を支援する環境が整いつつあります.この環境を支えるネットワーキング技術として,アドホック・ネットワーク技術が注目を浴びています.アドホック・ネットワークは,近接するモバイル情報機器が自律分散的にネットワークを構成するための技術です.アドホック・ネットワーク技術を利用することで,通信インフラの整わない場所であったり,災害などにより通信インフラが利用できなくなった状況においても移動端末同士でネットワークを動的に構成することができます.アドホック・ネットワーク技術を用いることで,位置や状況に依存せず知的活動を支援する環境を整えることができます.しかし,アドホック・ネットワーク技術はいまだ発展段階であり,一つの定まった方法論が存在するわけではありません.多種多様な通信手法(通信プロトコル)が提案・開発されておりますが,それら通信プロトコル間の性能差などについては明らかになっておりません.また,多くの研究開発は計算機シミュレーションにより実施されており,実世界における定性的・定量的性能も明らかになっているとは言えません.このような状況では,アドホック・ネットワーク技術を利用した応用システムを開発しようと考えたとき,どのような通信プロトコルをどのような機器を用いて実現すればよいかなどの指針が明らかではなく,アドホック・ネットワーク技術促進の大きな障害になっていると考えられます.以上のような状況に対して,本事業では,アドホック・ネットワーク技術を利用したシステムを実用化するために必要となる技術に対し,ハードウェア,ソフトウェアの両面から調査研究を行いました.ハードウェア面に関しては,特に理論と実践(シミュレーションと実機)という観点からの比較調査を行い,ソフトウェア面に関しては,分散アルゴリズムや様々なルーティング・プロトコルについて調査を行いました.本報告書が,アドホック・ネットワーク技術の促進に少しでも寄与できれば幸いです.

委員長 朝倉 宏一

i

Page 4: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

アドホック・ネットワーク技術に関する調査研究委員会名簿

委員長 朝倉 宏一 大同大学情報学部 准教授

委員・顧問 福村 晃夫 名古屋大学名誉教授・中京大学名誉教授

委員 片山 喜章 名古屋工業大学大学院工学研究科 准教授 角川 裕次 大阪大学大学院情報科学研究科 准教授 八槇 博史 名古屋大学情報基盤センター 准教授 布目 敏郎 名古屋工業大学大学院工学研究科 助教 佐藤 博昭 萩原電気株式会社 執行役員デバイス事業本部本部長 藤垣 善昭 リンナイ株式会社開発本部技術管理部技術企画室 技術主査 井上 雅司 中部電力株式会社技術開発本部エネルギー応用研究所 お客さまネットワークグループ情報通信チーム

チームリーダー 加藤 久敦 東邦ガス株式会社商品開発部技術グループ

マネジャー オブザーバー 三橋 一美 中部経済産業局地域経済部 情報政策課長 若原 達朗 東邦ガス株式会社情報システム部 主幹

事務局 小島 召征 財団法人人工知能研究振興財団 専務理事 中村 仁 財団法人人工知能研究振興財団 事務局長

Page 5: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

アドホック・ネットワーク技術に関する調査研究委員会名簿

委員長 朝倉 宏一 大同大学情報学部 准教授

委員・顧問 福村 晃夫 名古屋大学名誉教授・中京大学名誉教授

委員 片山 喜章 名古屋工業大学大学院工学研究科 准教授 角川 裕次 大阪大学大学院情報科学研究科 准教授 八槇 博史 名古屋大学情報基盤センター 准教授 布目 敏郎 名古屋工業大学大学院工学研究科 助教 佐藤 博昭 萩原電気株式会社 執行役員デバイス事業本部本部長 藤垣 善昭 リンナイ株式会社開発本部技術管理部技術企画室 技術主査 井上 雅司 中部電力株式会社技術開発本部エネルギー応用研究所 お客さまネットワークグループ情報通信チーム

チームリーダー 加藤 久敦 東邦ガス株式会社商品開発部技術グループ

マネジャー オブザーバー 三橋 一美 中部経済産業局地域経済部 情報政策課長 若原 達朗 東邦ガス株式会社情報システム部 主幹

事務局 小島 召征 財団法人人工知能研究振興財団 専務理事 中村 仁 財団法人人工知能研究振興財団 事務局長

目次

第 1章 はじめに 1

1.1 アドホック・ネットワークとは . . . . . . . . . . . . . . . . . . . . 1

1.2 アドホック・ネットワークの特徴 . . . . . . . . . . . . . . . . . . . 3

1.2.1 自律分散性 . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 モビリティへの対応 . . . . . . . . . . . . . . . . . . . . . . 3

1.2.3 マルチ・ホップ通信 . . . . . . . . . . . . . . . . . . . . . . 5

1.3 アドホック・ネットワークにおける問題点 . . . . . . . . . . . . . . 6

1.3.1 無線通信に伴う問題 . . . . . . . . . . . . . . . . . . . . . . 6

1.3.2 消費電力に伴う問題 . . . . . . . . . . . . . . . . . . . . . . 10

1.3.3 中継処理に伴う問題 . . . . . . . . . . . . . . . . . . . . . . 10

1.4 アドホック・ネットワークの応用分野 . . . . . . . . . . . . . . . . 11

1.4.1 災害時通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.2 車車間通信 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.4.3 ロボット間通信 . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4.4 エンタテーメント利用 . . . . . . . . . . . . . . . . . . . . . 12

第 2章 アドホック・ネットワークと分散アルゴリズム~理論的見地から~ 13

2.1 分散システムの理論モデル . . . . . . . . . . . . . . . . . . . . . . . 13

2.1.1 一般的な分散システムのモデル . . . . . . . . . . . . . . . . 14

2.1.2 アドホック・ネットワーク・モデルの特徴 . . . . . . . . . . 16

2.2 分散アルゴリズム . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2.1 分散アルゴリズムの定義と評価尺度 . . . . . . . . . . . . . 19

2.3 アドホック・ネットワークに関する分散アルゴリズム . . . . . . . . 20

2.3.1 故障耐性および動的ネットワークへの対応 . . . . . . . . . . 20

2.3.2 自己安定アルゴリズムの概要 . . . . . . . . . . . . . . . . . 23

iii

Page 6: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

2.3.3 アドホック・ネットワークに関する分散アルゴリズムの研究事例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

第 3章 アドホック・ネットワークにおけるルーティング 30

3.1 ルーティングに必要な性質 . . . . . . . . . . . . . . . . . . . . . . . 30

3.2 ルーティング・アルゴリズムの分類 . . . . . . . . . . . . . . . . . . 31

3.2.1 経路情報更新のタイミングでの分類 . . . . . . . . . . . . . 31

3.2.2 ネットワーク・トポロジーの構造での分類 . . . . . . . . . . 32

3.2.3 その他の観点での分類 . . . . . . . . . . . . . . . . . . . . . 33

3.3 DSDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.4 DSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.5 ZRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.6 CGSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.7 LAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.8 PAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.9 DTN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.10 ルーティングのまとめ . . . . . . . . . . . . . . . . . . . . . . . . . 40

第 4章 アドホック・ネットワークにおける分散アルゴリズム実現の理論と実際 41

4.1 分散アルゴリズムの設計と実現 . . . . . . . . . . . . . . . . . . . . 41

4.1.1 分散アルゴリズムの設計のアプローチ法 . . . . . . . . . . . 42

4.1.2 分散共有メモリモデルによる分散アルゴリズム設計 . . . . . 44

4.1.3 分散共有メモリモデルの実現手法 . . . . . . . . . . . . . . . 48

4.2 共有メモリモデルの性能のシミュレーションによる評価 . . . . . . 52

4.2.1 シミュレーションモデル . . . . . . . . . . . . . . . . . . . . 54

4.2.2 シミュレーション結果 . . . . . . . . . . . . . . . . . . . . . 54

4.2.3 考察 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.3 センサーネットワーク実機による評価実験 . . . . . . . . . . . . . . 61

4.3.1 FreeScale Semicoductor 社 MC13193-EVKを用いたMISアルゴリズムの評価 . . . . . . . . . . . . . . . . . . . . . . . 62

iv

Page 7: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

4.3.2 Sun Microsystems 社 SunSPOTを用いた CDSアルゴリズムの評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.4 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

第 5章 おわりに 74

v

Page 8: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

第1章 はじめに

1.1 アドホック・ネットワークとは「アドホック (ad-hoc)」という単語は,「特別の」とか「その場限りの」という意味である1.したがって,アドホック・ネットワークというのは,その場限りで一時的に生成されるネットワークのことを指す.文献 [1]によると,アドホック・ネットワークは以下のように定義されている.

An ad hoc network is a collection of wireless mobile hosts forming

a temporary network without the aid of any established infrastructure or

centralized administration.

アドホック・ネットワークとは,通信インフラや中央の管理システムの助けを借りずに一時的なネットワークを形成する無線移動端末の集合体である.

すなわち,アドホック・ネットワークは,無線通信機能を備えた移動端末で構成された一時的なネットワークであり,その形成に,携帯電話の基地局や,無線LAN

のアクセス・ポイントなどの通信インフラを利用しないことに特徴がある.また,端末は移動することが前提となっており,そのためネットワークの接続関係を表すネットワーク・トポロジーは常に変化する可能性がある.したがって,各端末は周辺端末との情報交換を通じて自律的に動作し,ネットワークを構成する必要がある.この特徴より,アドホック・ネットワークのことを,自律分散型ネットワーク,自己構成型ネットワークと呼ぶこともある.上記のように,アドホック・ネットワークでは通信インフラを使用しないので,場所や環境に依存せずに端末が同士が通信可能であるという利点もあるが,各端末の処理が複雑になるという問題点もある.特に,大規模・広範囲なアドホック・

1「その場しのぎ」「場当たり的」など良くない意味で使われることもある.

1

Page 9: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

(a) 無線LANネットワーク (b) アドホック・ネットワーク

図 1.1: 無線 LANネットワークとアドホック・ネットワーク

ネットワークで端末が相互に通信する場合,各端末がルータ機器と同様な処理を行い,パケットを端末間で転送する必要がある.アドホック・ネットワークのネットワーク形態の例を図 1.1に示す.図 1.1(a)は一般的な無線 LANネットワークの接続形態を表している.無線 LANではアクセス・ポイントが存在し,各端末はアクセス・ポイントとのみ通信する.つまり,隣接する端末ともアクセス・ポイントを経由して通信しており,端末同士で直接パケットを授受しているわけではない.それに対して,アドホック・ネットワークの接続形態の例を図 1.1(b)に示す.アドホック・ネットワークでは隣接する端末同士が通信し,ネットワークを維持している.電波が到達する範囲に存在する隣接端末とは直接通信するが,電波が到達しない遠くの端末との通信には,途中の端末の力を借りなければならない.すなわち,途中の端末が中継端末となりパケットを中継し,遠く離れた端末同士の通信を支援する.この通信のことをマルチ・ホップ通信と呼ぶ.本章では,このようなアドホック・ネットワークの特徴,問題点などを整理し,アドホック・ネットワーク技術の応用が期待される分野について説明する.なお,アドホック・ネットワークを指す言葉としては,MANET(Mobile Ad-hoc

NETwork)もよく使用される.

2

Page 10: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

1.2 アドホック・ネットワークの特徴本節では,一般の有線ネットワークや無線LANとは異なる,アドホック・ネットワークの特徴について説明する.

1.2.1 自律分散性

アドホック・ネットワークの大きな特徴の一つは,その自律分散性である.中央の集中的な管理システムの存在を仮定していないので,端末同士が情報交換しながらネットワークを形成する.端末には事前の設定等必要なく,ネットワーク接続が可能である.一般の有線ネットワークでも,DHCPを用いることにより事前設定なくネットワークに接続可能であるが,DHCPが動作するサーバ(中央の管理システム)が存在していることが大きな違いである.ネットワークを端末で自律分散的に管理するには,端末間での定期的な情報交換が必要である.隣接端末が稼働しているかどうか,隣接端末が通信範囲に存在しているかどうか,などを確認してネットワークを維持する必要がある.

1.2.2 モビリティへの対応

MANET (Mobile Ad-hoc NETwork)の言葉にもある通り,アドホック・ネットワークでは端末のモビリティ(移動)への対処が重要である.端末が移動すると,それまで通信できていた端末と通信できなくなったり,別の端末と通信できるようになったりすることで,ネットワーク・トポロジーが変化する.したがって,端末が移動している状態でも互いに通信可能とするためには,端末移動に合わせて通信方法を変更するなど,モビリティへの対処が必要となる.具体例を図 1.2, 1.3に示す.図 1.2(a)は無線 LANのネットワーク・トポロジー

を表している.無線LANの場合,ネットワークはアクセス・ポイントをハブとするスター型の形状となる.このとき,図 1.2(b)のように端末が移動しても,アクセス・ポイントや他端末とのネットワーク的な関係は変化しない.もちろん,アクセス・ポイントの通信範囲外に移動すればネットワークに接続できなくなるが,通信範囲内であればどこに移動してもネットワーク・トポロジーは変化しない.これに対し,図 1.3(a) はアドホック・ネットワークにおけるネットワーク・トポロ

3

Page 11: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

(a) ネットワーク・トポロジー (b) 端末の移動

図 1.2: 無線 LANにおける端末の移動

(a) ネットワーク・トポロジー (b) 端末の移動に伴うトポロジーの変化

図 1.3: アドホック・ネットワークにおける端末の移動

ジーを表している.このとき,図 1.3(b)に示すように端末Dが移動すると,端末C, E, Fは端末 Dと通信不可能となり,逆に端末 Aが端末 Dと通信可能となるので,図に示したようにネットワーク・トポロジーが変化する.このように,アドホック・ネットワークの場合,端末が移動することにより,ネットワーク・トポロジーが変化し,端末間の通信方法が変化するので,端末のモビリティへの対処が必要となる.

4

Page 12: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 1.4: マルチ・ホップ通信

1.2.3 マルチ・ホップ通信

アドホック・ネットワークは移動端末のみで構成されているので,各移動端末がルータ機器の役割を果たす必要がある.つまり,受信したパケットの宛先を確認し,自分宛でないパケットも転送する等,適切に処理しなければならない.送信元端末と送信先端末の間に位置する各端末がパケットを中継し,2端末間の通信を可能とする通信方式をマルチ・ホップ通信と呼ぶ.図 1.4に例を示す.図では,送信元端末Aから送信先端末 Fへパケットを送信する場合を表している.端末A

と端末 Fは互いに電波が到達する範囲には位置しないので,直接は通信できない.したがって,二端末の間に位置する端末が端末Aから送信されたパケットを端末Fまで中継する役を担う.このマルチ・ホップ通信の機能により,互いに通信可能範囲に存在しなくても通信可能となり,広範囲に位置する端末間でネットワークを構成することができる.マルチ・ホップ通信において,間に位置するどの端末が中継処理を担うかは大きな問題である.もちろん,中継経路は複数存在するし,端末の移動により利用可能であった経路が利用できなくなる状況も発生する.このような問題を扱うのがルーティング・アルゴリズムであり,本報告書では第 3章で詳しく解説する.

5

Page 13: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

1.3 アドホック・ネットワークにおける問題点上記のように,アドホック・ネットワークは移動端末において有効な通信方式となり得るが,無線通信であることや,端末でルーティング処理を行うことなどに起因する様々な問題も存在する.以下,それぞれについて解説する.

1.3.1 無線通信に伴う問題

無線通信では,電波を用いて各端末がパケットを交換する.そのため,電波が到達する範囲に端末が存在しないとパケットを受信することができないのは当然のことであるが,たとえ通信可能範囲に存在していたとしても,環境の変化により電波伝搬状況が変化し,パケットを受信できない状態が発生する.また,端末が通信可能範囲に存在し,環境に変化がなくても,パケット送信のタイミングによっては,通信できないという状況も発生する.ここでは,無線通信に伴う特徴的な問題として,「隠れ端末問題」と「さらし端末問題」を扱う.

隠れ端末問題

隠れ端末問題(Hidden Terminal Problem)とは,電波が伝搬する媒体である「空間」を排他的に利用できないことで発生する問題である.通常,無線装置がパケットを送信するとき,まずは同周波数の電波が他から発信されていないかを確認する.もし電波が発信されている場合は一定時間待機し,電波の発信を再度確認する.電波が発信されていないことを確認した後,電波を出力してパケットを送信する.このとき,互いに電波の到達範囲外に存在する端末が同時に同一の送信先端末に対して電波を発信すると,送信先端末はパケットを受信できないという状況が発生する.隠れ端末問題が発生する状況を図 1.5に示す.図 1.5(a)は端末の配置状況を表している.端末A, Bが端末Cに対して,端末Dが端末Eに対して,それぞれパケットを送信することを表している.また図中の大きな円は端末A, Bの電波の到達範囲を表している.図 1.5(b)は各端末の動作状況を表している.まず,端末Aが端末Cにパケットを送信するため,電波の発信状況を確認する(図 1.5(b)の 1⃝).このとき,電波は発信されていないので,端末 A は端末 C に対して電波を発信し,

6

Page 14: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

(a) 端末配置状況

(b) 各端末の動作状況

衝突

① ②

③ ③

時間

OK

OK

OKNG

図 1.5: 隠れ端末問題

7

Page 15: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

時間

RTS

RTS

RTS CTS

CTS

CTS RTS

RTS CTS

CTS

CTS

RTS

RTS

RTSOK

OK

OK

図 1.6: RTS-CTSを用いた隠れ端末問題の回避

パケットを送信する(図の 2⃝).このとき,電波は伝搬範囲全体に到達するので,端末Dが電波の発信状況を確認すると端末Aからの電波を確認でき,端末Dは一定時間待機し電波の発信を遅延させる(図の 3⃝).次に,端末 Bが電波を発信するため状況を確認すると,端末A, Bは互いに通信範囲外に位置しているので,端末Bは端末Aの電波を確認できない.そのため,端末Bは端末Cに対して電波を発信し,パケットを送信する(図の 4⃝).これにより,端末Cでは端末A, B両方からの電波が衝突し(図の 5⃝),その結果,端末 Cはどちらのパケットも受信できない.隠れ端末問題を解決する手法として,RTS-CTS と呼ばれる手法がある [2].パケットを送信しようとする端末は,送信に先立ち RTS (Request To Send)パケットを送信する.そして,RTSパケットを受信した端末は CTS (Clear To Send)パケットを返信する.図 1.6に詳細を示す.端末Aが送信した RTSパケットは端末Bには到達しないが,端末 Cが返信する CTSパケットは端末A, B両方に到達するので,端末Bは端末Aが端末Cに対してパケットを送信することを把握できる.これにより,隠れ端末問題を回避することができる2.

2図 1.5の端末配置であれば,RTS-CTSを用いて隠れ端末問題を回避できるが,端末配置によっては RTS-CTSを用いても隠れ端末問題が回避できない状況も存在する.そのための RTS-CTSの拡張方法はいくつか提案されている [3–5]が,本報告書では割愛する.

8

Page 16: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 1.7: さらし端末問題

さらし端末問題

さらし端末問題 (Exposed Terminal Problem)とは,本来は電波を発信しても問題ない状況であるにもかかわらず,他端末から発信された電波にさらされ,電波が発信できない端末が発生する問題である.さらし端末問題が発生する状況を図 1.7

で説明する.端末 A が端末 C に,端末 B が端末 D に,それぞれパケットを送信する状況を表している.端末Aが端末Cにパケットを送信するために電波を発信すると,その電波が端末Bまで到達するので,端末Bは電波を発信することができない.実際は,端末Dは端末Aの通信範囲外に位置しており,同様に端末Cは端末 B の通信範囲外に位置しているので,端末 A, B が両方共に電波を発信しても通信には影響を与えない.しかし,端末A, Bはそのような状況を知りようがなく,結果的には通信可能状態になるまでに時間がかかる.同様な位置に送信端末が多く存在すると,結果的にオペレーティング・システムのプロセス制御における「飢餓状態 (starvation) 3」のような状況が発生し,端末が公平に通信処理を行えなくなる.今のところ,さらし端末問題を根本的に解決する手法は存在しないが,送信先端末の位置が既知である場合に指向性アンテナを用いる手法 [7]や,隣接端末と協調し別々の通信チャネルを割り当てる手法 [8]などが提案されている.

3優先順位の低いプロセスがいつまでたってもプロセッサを獲得できず,処理が進まない状態のこと [6].

9

Page 17: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

1.3.2 消費電力に伴う問題

移動端末は基本的にバッテリ駆動のため,消費電力を削減することは重要な課題である.無線通信の場合,送信処理(電波の発信)は受信処理(電波の受信)と比較すると約三倍の電力を消費すると言われている.特にアドホック・ネットワークでは,自端末に無関係な他端末間の通信に対しても中継処理を行う必要があるので,不必要な通信処理を削減するなど,効率的な通信処理が求められる.また,通信処理の公平化も重要である.ネットワーク・トポロジーによってはハブの位置にあたる端末が出現することがある.このとき,ハブの位置にあたる端末は,ほぼすべての通信を処理しなければならず,中継処理による消費電力の増大が激しくなる.消費電力の観点から,通信処理の効率化,公平化を図るためのルーティング・プロトコルがいくつか提案されているが,詳細は第 3章にゆずる.

1.3.3 中継処理に伴う問題

アドホック・ネットワークでは,各端末がルータ機器の役目も果たすため,自端末宛でないパケットであっても処理を行う必要がある.すなわち,アドホック・ネットワークでは,各端末は協調的にネットワークを維持し,中継処理を適切に行うなど,利他的に動作することが前提となっている.したがって,中継処理を行う端末がパケットを適切に処理しないと,アドホック・ネットワーク自体が成り立たなくなったり,アドホック・ネットワークの通信性能が極端に低下する状況が発生する.この問題の一つとして,「利己的な端末 (Selfish Terminal)」と呼ばれるものがある.利己的な端末とは,自身の通信処理のためだけにしか動作せず,自分の利益を最大化することのみを考える端末である.例えば,他端末間の通信パケットを中継しなかったり,パケットを改ざんして自身の通信容量を確保するなど,ネットワークに悪影響を与える動作をとる.一組織が展開させる移動端末や,単一アプリケーションであれば,このような問題は発生しないが,民生利用や複数種類の端末の相互利用などを考えると,上記のような問題にはある程度対処する必要がある.この問題に対しては通信処理の傾向から利己的な端末を抽出する手法 [9]などが研究されている.

10

Page 18: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

1.4 アドホック・ネットワークの応用分野本節では,アドホック・ネットワーク技術の応用分野として期待されている,あるいは既に利用されているものを紹介する.

1.4.1 災害時通信

災害発生時の災害地での通信手段として,アドホック・ネットワークが期待されている.特に東海地方は,東海地震,東南海地震など大地震の発生が懸念されており,巨大地震発生時は通信インフラが破壊される可能性が高い.そのため,携帯電話等,基地局を介した通信手段は利用不能となる可能性が高い.また,たとえ基地局が利用可能であっても,災害発生後には膨大な数の呼が発生するので,円滑な通信が妨げられることは容易に予想される.これは,毎年 12月 31日から 1月 1

日の深夜にかけて,携帯電話が局地的に使用できなくなるという状況に類似している.したがって,現在利用されている通信インフラを用いた通信手段は,災害発生時・発生直後の災害地においては有効な情報収集・共有手段であるとは言い難い.このような状況では,通信インフラに頼った通信ではなく,移動端末同士でネットワークを構成し,情報を共有することができる,アドホック・ネットワークの技術の利用が期待されている.災害発生場所にアドホック・ネットワーク技術を用いた通信装置を搭載した気球により通信網を形成する研究 [10]や,バッテリが少ない状態でもアドホック・ネットワークを長命化するためのプロトコルなどが開発されている [11, 12].

1.4.2 車車間通信

車車間通信では,走行中や交差点停止中の自動車同士が直接通信して,情報を交換する.交換する情報としては,見通しの悪い交差点での車両接近情報 [13,14]

のような単純なものから,後に通過する予定の交差点や経路の渋滞情報 [15,16]まで,様々であり,多くの場合,安全運転支援への利用が盛んである.雪上・氷上走行している自動車のABSが動作したとき,それを後続の車両に通信して後続車両のブレーキを作動させるシステムの実験などが報告されている.

11

Page 19: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

ノート PCやモバイル端末など,一般的な移動端末を用いた通信と比較すると,車車間通信には移動速度が速い,移動方向が急激に変化しない,バッテリ容量を気にする必要がないなどの特徴がある.また,路上に設置された通信装置との通信によりハイブリッドなネットワークを構成することも検討されている [17].なお,自動車間でのアドホック・ネットワークは VANET (Vehicular Ad-hoc NETwork)とも呼ばれる.

1.4.3 ロボット間通信

複数のロボットが自律的に動作する環境において,ロボット同士が情報交換するとき,一時的にネットワークを生成するアドホック・ネットワーク技術が有用であると考えられる.特に,工場など電波環境が良好でなく,無線LANなども安定して動作しないような環境でも,端末が接近した状態で一時的にネットワークを生成できるというアドホック・ネットワークの特徴が有効であろう.

1.4.4 エンタテーメント利用

身近な例では,SONYの PSP(プレイステーション・ポータブル)や,任天堂の Nintendo DSなどのゲーム機にはアドホック・モードと呼ばれる通信方式が搭載されており,ゲーム機同士でその場で対戦ゲームを楽しむことができる.ただし,マルチ・ホップ通信ではなく,全ゲーム機が 1対 1で通信できる範囲に存在しなければならない.PSPでは,PS3をアクセス・ポイントとして用いることで,アドホック・ネットワーク同士をインターネットで接続するハイブリットなネットワークを構成することもできる [18].

12

Page 20: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

第2章 アドホック・ネットワークと分散アルゴリズム~理論的見地から~

本章では,アドホック・ネットワークを理論的な側面から俯瞰し,アドホック・ネットワークに関してどのような問題が考えられており,それにどのような意味があるのかについて解説する.つまり,現実のアドホック・ネットワーク構成に関するさまざまな有象無象から本質的な部分のみを切り出すことでモデル化し,その上で議論を構築することで,アドホック・ネットワークが生来持つ本質的な問題点や可能性を浮き彫りにすることが本章の目的である.

2.1 分散システムの理論モデル分散システムとは,一言でいうならば「自律的に動作する(計算可能な)複数のエンティティが通信手段によって互いに結合されたもの」である.現在,インターネットを代表とした我々が身近に利用しているネットワークは,すべて分散システムとして考えることができる.さらに,クラスタ計算機も分散システムの一種と考えられる.通信路の帯域や遅延などの観点から,前者に比べて後者は接続関係が「密」であり,逆に前者は後者に比べて「疎」であると考えられる.アドホック・ネットワークも分散システムの一種である.ここでは,いわゆる

「モバイル端末による無線 LANを用いたアドホック・ネットワーク」を扱う.技術的問題などさまざまな理由で現実的にはあまり利用されていないが,無線LAN

機能を有する端末であれば,ソフトウェア環境さえ整っていればアドホック・ネットワークを利用可能である.ノートパソコンや iPhoneをはじめとするスマート携帯,あるいはその他 PDAなどを用いたアドホック・ネットワークを想像していただければ良いだろう.

13

Page 21: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

現実のシステムでは,端末の能力はさまざまであり無線LANにおける通信路の品質も一定ではない.アドホック・ネットワークが生来持つ問題点や性質を明らかにすることを目的とする場合,実システムの持つハードウェアの多様性は大きな障害となる.これはアドホック・ネットワークに限らず,分散システム一般に言えることであり,さらには理論研究分野全般にも言えることである.そこでまず,一般的な分散システムのモデル化について紹介する.その後,それと対比しながらアドホック・ネットワークの理論モデルについて紹介する.

2.1.1 一般的な分散システムのモデル

一般に「モデル化」とは,扱う対象に関する問題要件を必要十分に表現可能な範囲で単純化されたモデルを作ることである.出来上がったモデルの持つ情報が過剰であると本質が見え難くなり,不足すると表現可能な問題の範囲が狭くなるので,実システムの持つどの要件をどこまで単純化するかが重要となる.以下では一般的な分散システムのモデル化について説明する.分散システムは,端末を表す「プロセス」の集合と通信路を表す「リンク」の集合から構成される.

プロセス いわゆる CPU上で実行されるプログラムイメージであるプロセスのみならず,計算機上のCPUあるいは計算機そのものも表現するものとする.プロセスでは,情報の送受信命令を含むプログラム(アルゴリズム)を実行する能力を有し,計算能力や記憶容量は特に定めない(限定することも可能であるし,無限の能力を持つという仮定も可能).また,各プロセス毎に任意の識別子を持つことが可能である.さらに,それぞれ局所時計を持っており,これらは同じ時刻を表しているとは限らない.

リンク 単なる通信路としてモデル化しており,物理層やプロトコルについては考慮しない.リンクを用いた通信は,適切な送受信命令が用意されており,アルゴリズム中で利用可能である.プロセス間の通信における通信遅延は特に定めない(遅延なしや,あるいは遅延は有限であるがいつ届くか分からないという仮定も可能).

分散システムのモデルは,その「能力」によって分類される.理論研究分野に

14

Page 22: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

おける分散システムモデルは,主に「プロセス」,「通信」,「局所時計」の 3つの要素の持つ「非同期さの程度」によって,以下のように分類される.

• 完全同期システム

– プロセス:プログラムの実行速度は無限(瞬間に命令実行可能)

– 通信:通信遅延は 0

– 局所時計:すべてのプロセスの局所時計の値が等しい

(以下で説明する同期システムの一種)

• 同期システム

– プロセス:プログラムの実行速度に定数の下限が存在(一定以上遅いプロセスは存在しない)

– 通信:通信遅延に定数の上限が存在

– 局所時計:すべてのプロセスの局所時計の値が等しい

• 非同期システム同期システム以外のシステム.特に「完全非同期システム」は別に扱われる.それ以外は,同期システムの仮定の一部を弱めた(プロセスの実行速度の定数の下限をなくすなど)モデルなどが扱われる.

• 完全非同期システム

– プロセス:プログラムの実行速度に仮定をおかない(有限時間内に命令実行終了)

– 通信:通信遅延に仮定をおかない(有限時間に届くが,いつ届くか分からない.通信相手が停止しているのか,メッセージが遅れているだけなのか判断できない)

– 局所時計:局所時計に仮定をおかない(各プロセス毎に時刻および時間(時を刻む間隔)もバラバラの可能性.ただし,時刻の修正は可能)

以上,4つのモデルをあげたが,完全同期システムが最も仮定の強いモデル,逆に完全非同期システムが最も仮定の弱いモデルである.これを言い替えると,分

15

Page 23: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

散システムのモデルの中で最も強いモデルが完全同期システムであり,もっとも弱いモデルが完全非同期システムである.完全非同期システムは現実のシステムと比べるとあまりにも仮定が弱過ぎる(あまりにも仮定しなさ過ぎる)かもしれない.しかし,仮定が弱いモデルで設計されたアルゴリズムは,仮定がより強いモデルでも正しく動作することは直観的に理解できるであろう.つまり,できるだけ弱いモデルで設計されたアルゴリズムは,適用できるシステムの範囲がより広いということになる.実システムにおいては,何が起こるか分からない.そういう意味で,弱いモデル上で構築されたアルゴリズムは大変有用である.

図 2.1: 分散システムのグラフ表現

プロセスとリンクの集合によって構成される分散システムのモデルにおいては,そのトポロジー(接続関係)も重要な要素の一つである.これを表現するために,図2.1のようにプロセスを頂点で表し,リンクで結ばれた(互いに通信可能な)プロセス間を辺で結んだグラフ表現が用いられる.これによって,分散システムのトポロジーを直観的に理解できる.これから分かる通り,分散システムの理論研究分野においては,グラフ理論が密接に関連することが多く,グラフ理論から持ち込まれた概念や言葉が頻繁に登場する.本章においても誤解のない範囲でグラフ理論での言葉((非)連結グラフ,経路など)を使うので注意されたい.

2.1.2 アドホック・ネットワーク・モデルの特徴

本報告書で扱うアドホック・ネットワークは,分散システムの一種であり,先に述べた分散システムのモデルで表現可能である.プロセス,通信,局所時計に関しては以下のようなモデルが考えられている.

• プロセス:実行速度の下限を仮定可能.プロセスは移動可能.

16

Page 24: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

• 通信:無線 LANをモデル化.通信可能半径を仮定.通信可能半径内の端末に対する通信成功確率を仮定.コリジョンの有無を仮定.

• 局所時計:正確に時刻が揃っているモデルや,時刻は揃っていないがその差が定数で抑えられるモデルを考慮.

今回は局所時計についてはあまり重要でない1.つまり,プロセスの移動性の有無,通信成功確率が 100%かそれ以外かの組合せで基本的なアドホック・ネットワークのモデルが定義できる.他にも,各端末の通信半径が等しい場合(無向グラフでモデル化),それぞれ異なる場合(有向グラフでモデル化)も考えられ,さらにコリジョンの処理などを考慮すると,非常に多くのモデルが考えられる.この中で特にプロセス(端末)が移動可能なものは MANET (Mobile Ad-hoc

NETwork)と呼ばれる.MANETでは,端末が移動することによって通信できる端末集合が刻一刻と変化する.つまり,それをモデル化したグラフにおける辺集合が時間の経過とともに変化する.また,端末が誰とも通信できない状況に陥ったり,新たに外部から端末がアドホック・ネットワークに参加することも考えられる.これらはグラフ表現における頂点の追加・削除に相当する.さらに,一部のMANETではそれを構成する端末はバッテリで駆動している場合があり,その場合バッテリ切れによる電源断なども考慮しなければならない.したがって,MANET

をモデル化する際には,必ず頂点および辺の追加削除が生じる「動的な」ネットワークモデルを構築する必要があり,その上で設計されるアルゴリズムも動的なネットワーク上で正常に動作するものでなければならない.本章の中では,コリジョンの処理など比較的低い層(物理層に近い部分)で処理されるべき問題は扱わないものとする.つまりアルゴリズムの中ではコリジョンなどは考えず,送受信命令を発行するだけで互いに通信できるものとする.

1時刻合わせをしたい場合やタイムスロットを用いた通信方式などを考慮する場合は局所時計が重要になるが,今回はこれらの問題は扱わない.

17

Page 25: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

� �参考: 無線通信と unit disk graph (UDG)

無線通信を考える場合,端末の物理的な位置関係(ユークリッド距離)によって端末間の通信可能性が決定される.つまり,通信半径 (R)以内に存在する端末間にはリンクが構成され,それら以外にはリンクは存在しない.このようなネットワークをモデル化したものが unit disk graph (UDG)と呼ばれるものである.UDGは一般のグラフよりも限定されたもので,一般グラフにはない特徴を持つ(一般グラフより近似率のよい近似アルゴリズムが存在するなど).

� �

2.2 分散アルゴリズム通常の逐次アルゴリズムが単一のプロセッサを用いて与えられた問題を解くための手順を記述したものと考えられるのに対し,分散アルゴリズムとは分散システムに対して与えられた問題を解くために各プロセスがすべき仕事を記述したものと考えることができる2.分散システムは,その構成から生じる自然な性質として「問題を解くために必要なデータは,通信によってのみ得られる」ことがあげられる.つまり,分散システム上の各プロセスは,はじめは自分自身が持つ情報のみを使って計算を行なわなければならない.一度の送受信によって得られる情報は,直接通信可能なプロセスの持つ情報のみである.つまり,ネットワーク全体の情報を得るためには情報のバケツリレーが必要で,したがって少なくともネットワークの直径程度の通信回数が必要であることが分かる.分散システムの持つこの「情報の局所性」は,分散アルゴリズムを設計する上での難しさの本質であり,またさまざまな問題を生み出す基となっている3.以下では分散アルゴリズムをより厳密に定義し,その評価尺度についても言及する.

2文献 [19]や [20]は,日本語で書かれた数少ない分散アルゴリズムの教科書である.3ちなみに並列計算機においては,計算開始時に必要な情報はあらかじめすべて揃っていると考

えることができる.あるいは必要になった情報を得るためのオーバーヘッドは比較的小さい.この点が分散システムと並列システムの主な相違点の一つである.

18

Page 26: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

2.2.1 分散アルゴリズムの定義と評価尺度

分散システム上で解くべき問題Πが与えられたとする.Πは,通常の逐次アルゴリズムに対する問題と同様,問題を解くべき「場」と「問」によって定められている.ここで「場」とは,トポロジーも含めた分散システムのモデルそのものであり,さらにその分散システムに蓄積されている情報(初期情報)も含んだものである.もしトポロジーが異なっていたり初期情報が異なる場合には,異なる「場」と考える.一方「問」は,一般的には「分散システムの状況(各プロセスやリンクの状態の集合)を条件 ψを満たす状況にせよ」という形で記述されることが多い.例えば「分散システム中に特権を持つプロセスを一つだけ定めよ(リーダ選挙問題)」などである.分散アルゴリズムは,各プロセスがΠを解くために行なうべき手順を記述した逐次アルゴリズムの集合である.つまり,あるプロセス Pi上で動作する逐次アルゴリズムをAiとしたとき,分散アルゴリズムAはA = {A1, A2, · · · , An}のように書ける.各プロセスは,この逐次アルゴリズムにしたがって互いに通信によって情報を交換しあい,局所的に問題を解くことでシステム全体を目的の状況に到達させる.ここで原理的には各プロセスで動作するアルゴリズムをすべて異なるものとすることが可能であることに注意する.あるいは,特別なプロセスに分散システム上のすべてのプロセスを管理するアルゴリズムを記述し,その他のプロセスはその指示に従うだけのアルゴリズムを実行することも可能である(集中管理型システム).しかしながら,本章で扱う分散システムは対等なプロセスの集合によって構成されるものとする.したがって,原則的にすべてのプロセス上で同じアルゴリズムが動作するモデルを考えることとする.次に評価尺度について考えてみる.一般の逐次アルゴリズムは,アルゴリズムの記述にしたがって解を得るまでに必要なステップ数(命令数)をもって時間計算量とし,その計算に必要なメモリ量を空間計算量としている.一方,分散アルゴリズムの場合は,アルゴリズムの実行時間を支配するのは計算時間ではなく通信にかかる時間である.つまり分散アルゴリズムを開始して問題を解くまでにリンクを通じてやりとりされるメッセージの個数が時間計算量となる4.また空間計

4同期システムにおいては,「ラウンド」という概念で実行にかかる時間を自然に表現可能であるが,本章では割愛する.

19

Page 27: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

算量については各プロセスでアルゴリズムを実行する上で必要になるメモリ量である.

2.3 アドホック・ネットワークに関する分散アルゴリズム前節で述べた通り,アドホック・ネットワークは分散システムとしてモデル化されるが,インターネットや通常の LANに代表される一般的な分散システムモデルに対して,特に端末の参加・離脱,つまりノードの追加・削除が生じることによる「システムの動的さ」が特徴的である.アドホック・ネットワーク上での分散アルゴリズムを設計する上で,システムの動的さについて十分な考慮が必要である.さらに,アドホック・ネットワークでは一般には無線通信が用いられる.このことから,有線によるネットワークでは考えられない問題も考えなければならない.本節では,まず分散システムの理論研究分野における「故障」の扱いに触れ,故障への対応が動的ネットワークへの対応にそのまま利用可能なことについて説明すると同時に,高度な故障耐性を持つ分散アルゴリズムのひとつのパラダイムである「自己安定アルゴリズム(self-stabilizing algorithm)」を紹介する.それに続いて,実際に理論研究分野におけるアドホック・ネットワークに関するいくつかの自己安定アルゴリズムの例を紹介する.

2.3.1 故障耐性および動的ネットワークへの対応

移動端末によるアドホック・ネットワーク (MANET)を考える.各端末は自律的に移動することにより,ネットワーク・トポロジーは刻一刻と変化する.トポロジーの変化とは,リンクおよびノードの追加(増加)・削除(減少)と捉える.

MANET上でのアプリケーションを考えた場合,このトポロジー変化への対応は必須技術である.ここでトポロジー変化,つまりリンクおよびノードの追加・削除に注目してみる.もしノードが意識的(意図的)にシステムへの参加(追加)・退場(削除)を行なう場合,そのための前処理および後処理が可能であり一般には大きな問題にはならない.一方,意図しない突然の追加・削除,つまりシステム設計時に予想できなかった動きなどによる急激なシステムからの離脱や,ハー

20

Page 28: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

ドウェア故障等による突然の端末機能の停止などでは,システムへの参加・退場のための処理は行なえない.ネットワークシステムを長期間安定的に運用するためには,これら意図しない動きなどによる異常状態にも対応する必要がある.この「意図しない動き」を「故障」と呼ぶ.また,故障が生じてもサービスを継続して提供可能なシステムは,故障耐性 (fault tolerance)を有するシステムといい,同様に故障が生じても正常に動作する分散アルゴリズムを故障耐性を有する分散アルゴリズムと呼ぶ.

MANETにおいては,端末のシステムへの自律的な参加・退場,つまりノードの追加・削除のみならず故障による追加・削除にも対応していることが望ましい.つまりMANET上の分散アルゴリズムを考える場合には,故障耐性を有することが期待される.ここでもしノード故障によるノードの追加・削除に対応していたとすると,自然に自律的なノードの追加・削除にも対応可能である点に注意して欲しい.もちろん,自律的な場合はその動作を十分に管理可能であり,したがって前処理や後処理が可能で効率の良い処理が期待できる.一方で,自律的な場合も故障の場合と同様に扱うことを考えると,これは理論的に可能でありシステムが単純化されると期待できる.しかし,効率という点では不利になるだろう.自律的な部分については容易に制御可能なことから,本報告では「故障によるトポロジー変化」に着目する.以下では,まず理論的に扱われる故障モデルの種類について,つづいて故障耐性の分類について言及し,それぞれ扱い易さや実現の難易度について紹介する.故障モデル実システムにおける故障の種類は実に多種多様である.「端末の機能停止」だけでも,CPU故障,バッテリ切れをはじめ,メモリ障害やソフトウェアエラーなど非常に多くの原因が考えられる.分散システムの理論研究分野の一つである分散アルゴリズムの研究分野においては,故障は抽象化されいくつかの種類に分類される.主な分類は以下の通りである.現実システム上で生じ得るほとんどすべての障害(故障)が,これらのうちいずれかに含まれる.

• 永久故障 (permanent failure): 故障状態が永久に継続.CPUやメモリの物理的破壊,端末の停止など.以下の 3種類に分類.

– 停止故障 (crash failure, stop failure): 動作を永久に停止.

– 間欠故障 (omission failure): 処理を時々省略.

21

Page 29: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

– ビザンチン故障 (Byzantine failure): 動作に一切の仮定なし(あらゆる故障状態をつくり出すことが可能).

• 一時故障 (transient failure): 一時的に故障状態に陥るが,やがて正常な状態に復帰.メモリ内容の破壊,通信メッセージの破壊,端末のリセット,電圧低下によるエラーなど.

図 2.2: 故障モデル間の包含関係

これらの故障モデルの間には互いに包含関係が存在し,直観的には図2.2のように表現可能である.例えば,間欠故障は「処理を時々省略」であり,停止故障は「処理を永久に停止」,つまり間欠故障モデルの特殊な場合と考えることができるという意味で,間欠故障に含まれる.またビザンチン故障はすべての故障状態をつくり出せるという意味で,すべての故障モデルを包含する故障モデルである.故障耐性のモデル分散アルゴリズムの故障耐性とは,ノードやリンクに故障が生じた際に,故障箇所以外の正常な部分でサービスを継続できる能力ということができる.つまり,分散システムが生来持つ「可用性 (availability)」を引き出すために重要な性質である.ここで問題になるのは,どのモデルの故障に対して耐性を持ち,もし故障が生じた場合にシステムに対してどの程度影響が及ぶか,つまり故障状況の隠蔽度である.まず,隠蔽度によって,故障耐性は以下の 3つに型に分類される.

• (完全)マスク型 (fully-masking fault tolerance)

故障が生じてもその影響が故障箇所以外に伝搬しない.故障隠蔽度が最も高いモデル.

• 部分マスク型 (partially-masking fault tolerance)

故障が生じてもその影響は故障箇所から限定された部分にのみ伝搬する.故障隠蔽度としては普通のモデル.

22

Page 30: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

• 非マスク型 (non-masking fault tolerance)

故障が生じるとその影響がシステム全体に伝搬する.故障隠蔽度は最も低いモデル.

図 2.3: 故障モデル/故障耐性の実現の困難性の関係

一方,どの故障モデルに対して故障耐性を持つかであるが,対象の故障モデルによって実現の難易度が異なることは容易に理解できるであろう.もちろん,同様に故障耐性のモデルによって実現の難易度が異なることも理解されるであろう.最も理想的な故障耐性とは,ビザンチン故障に対して完全マスク型の故障耐性を実現することである.しかし,ビザンチン故障はあらゆる故障モデルを含んでおり,これに対応することは非常に困難である.また,完全マスク型の実現は,他の故障耐性モデルの実現よりも難しい.この意味で,ビザンチン故障に対する完全マスク型故障耐性は,最も実現困難である.一方,永久故障モデルにおいて最も対応し易いのは停止故障であり,停止故障に対する非マスク型故障耐性の実現が最も容易である5.これらの関係を図示したものを図 2.3

にあげる.故障耐性を有する分散アルゴリズムの実現において,故障モデルと故障耐性について,実現可能なポイントを探ることは大変重要であり興味深い点である.

2.3.2 自己安定アルゴリズムの概要

分散システムを長期間に渡って安定的に運用するためには,端末の一時的なリセットなど一時故障 (transient failure)に対する耐性は重要な要素である.自己安定アルゴリズム (self-stabilizing algorithm)とは,任意の一時故障に対して非マスク型の故障耐性を有する分散アルゴリズムである [21].自己安定アルゴリズムの概念は,1974年に E.W. Dijkstra によって提案され [22],その重要性が L. Lamportによって指摘された [23].それ以来,多くの分散アルゴリズム分野の研究者によって自己安定アルゴリズムが研究されている.自己安定アルゴリズムを一言で説明すると「アルゴリズム開始時のネットワーク(全域)状況に一切の仮定をおかず,

5容易というのは比較の問題であり,この故障耐性ですら実現不能な分散システムのモデルが存在する.

23

Page 31: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 2.4: 相互排除自己安定アルゴリズムの概念図

任意の初期状況からアルゴリズムを開始してもやがて決められたネットワーク状況(解状況)に到達(安定)する」分散アルゴリズムである.このことから,自己安定アルゴリズムは以下の特徴を持つ.

• アルゴリズム開始時にシステム全体のリセットが不要である.

• アルゴリズム実行中に任意の一時故障が生じてもその状況を初期状況としてやがて解状況に到達(再安定)できる.

• 解状況からシステムの一部の故障による影響がシステム全体に波及する可能性がある(故障状況から再安定までの実行は一切考慮されず,再安定することのみが保証される).

例として,分散システム上で相互排除 (Mutual Exclusion)を実現する自己安定アルゴリズムについて考える(図 2.4).分散システム上での相互排除は,システム上に唯一のトークンを用意し,それをシステム中のノードを循環させることで実現することができる.相互排除を実現する自己安定アルゴリズムは,たとえトークンが全くないあるいは 2個以上のトークンが存在する状況からアルゴリズムを実行しても,やがてトークンが 1個だけになり,かつそれがネットワーク中を巡回する実行状況(解状況)に到達する.また,解状況からノードの故障によってトークンが消滅したり複数存在する状況に陥っても,やがてトークンが一つの解状況に到達する.

24

Page 32: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

自己安定アルゴリズムは任意の一時故障に耐性を持つ.さらに,リンクやノードの追加・削除についても対応することができる.つまり,解状況に到達するまでの間に何も保証されないことが許されるならば,自己安定アルゴリズムはアドホック・ネットワークのような動的なネットワーク上でのサービス提供基盤としては非常に有用である.ただし,ネットワーク・トポロジーの更新頻度が自己安定アルゴリズムの解状況到達に必要な時間間隔より短い場合は,解状況に到達することが不可能になる点は注意が必要である.なお,元来,自己安定アルゴリズムは非マスク型故障耐性を実現しているが,さらに高度な故障耐性である部分マスク型あるいは完全マスク型を実現するための技術が研究されている.例えば,強安定 (Super-Stabilizing) [24]は,解状況から単独ノードが故障した状況(一故障状況)からの再安定実行において,ネットワーク状況が「安全状況」を満たすことを保証する自己安定アルゴリズムである.例えば相互排除を実現する強安定アルゴリズムは,解状況から故障が生じても,「トークンが二つ以上になることはない」ことを保証する.一方,故障封じ込め (fault-

containment) [25]は,一故障状況における故障ノードの影響を局所的に封じ込め,周りに伝搬させない技術である.他にも時間適応 (time adaptive) [26]なども提案されており,ますます研究の発展が期待される分野である.

2.3.3 アドホック・ネットワークに関する分散アルゴリズムの研究事例

アドホック・ネットワークに関する理論的研究は,特に 1990年後半頃から盛んに行なわれるようになってきた.その中から,「ルーティング」と「ネットワーク構造化」に関していくつか研究事例を紹介する.

ルーティング

MANETにおけるルーティングアルゴリズムは様々であるが,そのほとんどが「Reactive型」と「Proactive型」に分けられる.Reactive型は,通信要求が発生した時点で通信経路を確立させる方式であり,AODVや DSRなどがある.実際に通信が起きるまで経路を確立しないため,通信頻度が低いネットワークに適しているといえる.一方,Proactive型はあらかじめ経路を確立させそれを維持する方式

25

Page 33: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

であり,OLSRなどがあげられる.常に経路を確立しているため,通信要求が発生した瞬間に通信が可能となるが,経路を維持するために常に情報をやりとりする必要がある.通信頻度が高いネットワークに適している方式である.他にも,これらのハイブリッド方式なども存在する.詳細については,第 3章を参照されたい.

Reactive型の具体例として,AODV (Ad hoc On Demand Distance Vector)プロトコル [27]を簡単に紹介する.AODVは,最も良く知られた MANET 上でのルーティング・アルゴリズムのひとつである.基本的な戦略は以下の通りである.送信を希望するノードは,送信要求を隣接ノードすべてに送信する.送信要求を受けたノードはそれを次々転送し,やがて送信先ノードに到着する.送信先ノードは,送信要求メッセージが転送されてきた逆順に返答メッセージを送り返し,送信元と送信先のノード間に通信経路が確立される.この方式はいわゆる「フラッディング (flooding)」と呼ばれ,送信元のノードから通信要求が波紋が広がるようにネットワークを伝搬する.このように確立された通信経路は,経路中のノードやリンクの消失などによるエラーで使えなくなるまで利用される.今の通信経路が使えなくなると,同じ方法で再度経路を構築する.AODVは非常に単純なルーティングアルゴリズムであり,計算リソースをそれほど必要としない点が利点である.その一方で,アルゴリズム開始から経路確立までにかかる時間が長くなる傾向があり,また確立するまでに必要な通信量も多くなる点が欠点としてあげられる.つまり,トポロジーが頻繁に変化するMANET上で利用すると,ルーティングのための情報がネットワーク帯域を逼迫させることになる.

図 2.5: floodingするために必要なノード

次に Proactive 型の具体例として,OLSR

(Optimized Link State Routing) プロトコル[28]を簡単に紹介する.OLSRでは,通常の有線 LANで用いられる OSPF (Open Short-

est Path First)プロトコルと同様,常にネットワーク・トポロジーを確認しその情報を蓄えている.経路情報は,そのトポロジー情報からローカルに計算され,経路表として表現される.このとき,トポロジー情報を効率的に収集するために「MPR (Multipoint Relay)集合」と呼ばれる情報収集・散布を効率的に行なうために必要なノード情報を計算する.通常のフラッディングでは,は

26

Page 34: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

じめて情報を受け取ったノードは必ず一度はその情報をすべての隣接ノードに中継する.しかし,実際にはすでに情報を受信しているノードに対しても送信することになり,無駄な送信が発生する.そこで,この無駄な通信を発生させないために,情報をフラッディング(すべてのノードに情報を散布)するために中継送信すべきノードを計算したものがMPR集合である.図 2.5が一例である.素直なフラッディングを行なうと,すべてのノードが少なくとも 1度送信することになる.一方,実際には図中の太い円で示されるノードのみが送信すれば,すべてのノードに情報散布することが可能である.これが MPR集合の基本的な考え方である.OLSRにおいてはトポロジの収集やその他情報のフラッディングはすべてMPR集合を用いて行なわれる.つまり,OLSRにおける「肝」はMPR集合であるといえる.MPR集合の計算方法は若干複雑6であり,これは参考文献に譲る.ここで紹介したルーティングプロトコルは,いずれも RFC (Request For Com-

ments)として公開されているものであり,研究というより実用寄りのものである.一方,これら AODVや OLSRなどをベースとしてより効率よく経路を生成する,あるいはより効率の良い経路を生成するプロトコルが研究対象とされており,多くのプロトコルが提案されている.ただ残念ながらアドホック・ネットワーク自体が普及しているとは言い難い.そういった理由もあり,標準的なプロトコルは現在のところ定まっていない.もちろん,MANETの性質上,ノードの移動頻度,つまりネットワーク・トポロジーの動的さ,あるいは通信発生頻度などが非常に多様であり,如何なる場合においても適切なルーティング・プロトコルが提案されれば,それが決定打になると考えられるが,実際それはなかなか困難である.しかし,部分的には挑戦が行なわれており,例えばネットワーク状況を常に観測し,その結果から適応的にルーティングを決定する方式なども研究されている [29,30].

MANETにおけるルーティングは,一般的なネットワーク・ルーティングでの問題の上にさらにネットワークの動的さが加わるため,非常にやりがいのある研究テーマである.今後の研究の進展が期待される.

ネットワーク構造化

MANETでは一般に無線通信によって情報交換が行なわれる.無線通信では同時に複数のノードが送信するとコリジョンによってデータが失われる.このコリ

6最適なMPR集合を求める問題は NP完全問題である.

27

Page 35: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

ジョン問題は,MANETにおいて解決すべき最も重要な問題である.実際,分散アルゴリズムの研究分野においても,ノード同士が自律的に情報交換を行ない,周波数の割り当てあるいは送信スケジュールを決定し,コリジョンが起こらない通信方式を実現するためのアルゴリズムが数多く提案されている.これら低レイヤにおけるコリジョン解決手法以外に,上位レイヤで送信を行なうノードの数を制御することでコリジョンを減らす手法も考えられる.例えば,一般にMANETはフラットなネットワーク(すべてのノードが対等に接続)としてまず構築される.この状態では,すべてのノードが対等なため,場合によっては一気に情報のフラッディングが行なわれ,大量のコリジョンによってほとんどの情報が失われてしまう,あるいは再送の再送によってさらに輻輳がひどくなる事態になりかねない.

図 2.6: クラスタリングの例とクラスタヘッド

そこでMANETを構造化し,その構造を利用して通信を行なうように設計することで,送信ノードを制御し,コリジョン発生を抑えることを考える.例えば,MANET上にクラスタを構成し,すべての通信をクラスタ間の通信によって実現することで,送信ノードの数を抑えつつ,効率の良い情報散布・収集を可能とするネットワーク構造が提案されている [31].クラスタ構造としてスター型の部分グラフを用いることで,クラスタの中心ノード(クラスタヘッド)が送信するだけで,クラスタ内のすべてのノードへの情報散布が可能である.図 2.6における,太い円がクラスタヘッドを表し,破線がクラスタを表している.これから分かる通り,ネットワーク全体への情報散布は,クラスタヘッドおよびそれらの間の通信のみで実現可能であり,つまりフラッディングに必要なノード数を制限することでコリジョンを抑えているわけである.さらに,このクラスタ構造をベースとしたルーティングアルゴリズムが提案されている [32].このように,本来フラットなMANET上にある種の構造(オーバーレイ・ネットワーク)を構築することで送信ノード数を制御する方

28

Page 36: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

式については,様々な研究が行なわれている.先に述べた通り,MANETではトポロジーの変化への対応も非常に重要である.文献 [31]においては,ノードがクラスタに明示的に参加あるいは退出する場合には適切にクラスタ構造を維持できるが,故障には対応していない.そこで,任意の一時故障に対応,さらにトポロジー変化に対しても対応するクラスタ構造を構築する自己安定アルゴリズムが提案されている [33].これは文献 [31]に比べてクラスタ構造構成にかかる時間やメッセージ数に関しては不利であるが,ネットワークの初期化が不要であり,任意の一時故障に耐性を持つと言う意味で意味がある.

以上述べてきたルーティングやネットワーク構造化のアルゴリズム以外にも,MANETに対する分散アルゴリズムは数多く研究されている.2000年代に入ってから,米国等でいわゆる「センサーネットワーク」の研究に対して資金が注入されたが,これも無線通信方式によるアドホック・ネットワークの一種である.したがって,MANETに関する研究は,キーワードとして MANETだけでなくセンサーネットワークも重要になっている.

29

Page 37: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

第3章 アドホック・ネットワークにおけるルーティング

アドホック・ネットワークでは,端末が移動しネットワーク・トポロジーが変化するので,端末同士での通信を可能とするためのルーティング・プロトコルが重要となる.また,各端末がルータ機器の役目も果たすので,効率のよいルーティングが重要となる.ルーティング・プロトコルはアドホック・ネットワークにおける最も活発な研究課題の一つであり,数多くの手法が提案されている.本章では,アドホック・ネットワークにおけるルーティング・プロトコルについて簡単に解説する.

3.1 ルーティングに必要な性質ルーティングとは,通信パケットを送信元端末から送信先端末まで適切に転送するために通信経路を決定するための手法である.これはアドホック・ネットワークだけの課題ではなく,インターネットなどの有線ネットワークでも重要な課題である.ルーティングが不適切だと,送信先端末までパケットが転送されず,端末間の通信が不可能となる.アドホック・ネットワークのルーティング手法は,基本的に有線ネットワークのルーティング手法に基づいたものが多い.しかし,第 1章でも述べたように,アドホック・ネットワークには,隠れ端末問題等,有線ネットワークには存在しない特有の問題が存在する.そのため,これらに対処するためには,有線ネットワークのルーティング手法をそのままでは適用できない.以下に,アドホック・ネットワークにおけるルーティングに必要な性質を挙げる.

• スケーラビリティを確保するため,完全に分散的な性質を持つこと.集中的な性質を持つ手法では,端末台数の増加に対応できない.

30

Page 38: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

• 端末の移動に起因する頻繁なネットワーク・トポロジーの変化に対応できること.

• スケーラビリティを確保したり消費電力を削減するため,ルーティング処理,すなわち経路の計算や維持は必要最低限の端末で行うこと.

• 端末間で自律分散的,局所的に動作すること.アドホック・ネットワークのような環境で大域的な状態を定義することは非常に困難である.

• 有線ネットワーク以上にネットワーク資源を消費しない設計であること.一般的に,無線ネットワークは有線ネットワークと比較すると,ネットワークのバンド幅が狭く,ルーティング用の制御パケットが一般の通信パケットに影響を与える割合が高い.

3.2 ルーティング・アルゴリズムの分類現在までに数多くのルーティング・アルゴリズムが提案されている.すべてを網羅することは不可能であるが,ここでは代表的なルーティング・アルゴリズムについて解説する.まず,ルーティング手法や性質の違いから以下のような分類が可能となる.いろいろな観点での分類が可能であるが,ここでは文献 [34]の分類に従った.

3.2.1 経路情報更新のタイミングでの分類

経路情報とは,ある端末にパケットを送信するにはどの端末にパケットを転送すればよいかをまとめたものであり,ルーティングの中心となる情報である.この経路情報をどのようなタイミングで更新・維持するかで,ルーティング・アルゴリズムを分類することができる.

Proactive型 端末間での通信処理が行われる前に,あらかじめ経路情報を更新・維持する方式.端末間で通信が発生していなくても,ルーティング用の制御パケットが発生し,経路情報を最新に維持する.多くの場合,経路情報が表の形式で保持されるので,Table-driven型と呼ばれることもある.

31

Page 39: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

Reactive型 端末間での通信処理が発行された時点で経路生成処理が実行され,経路が生成される方式.端末間の通信処理の発生が経路生成の引き金となるので,On-demand 型と呼ばれることもある.端末の通信処理が発生しない限り,経路の管理・維持は行われない.

ハイブリッド型 上記の二つの手法を組み合わせた方式.端末との位置関係により,二つの手法を使い分ける.

一般的に,ネットワーク・トポロジーが変化すると,前もって維持していた経路情報が無効となる.そのため,ネットワーク・トポロジーの変更が頻繁な環境では,Reactive型の方が適切であると考えられる.逆に,Reactive型では通信に先立ち経路生成処理が起動するので,通信のレイテンシが高くなる傾向にある.3.3

節で Proacive型のプロトコルとして DSDVを,3.4節で Reactive型のプロトコルとして DSRを,3.5節でハイブリッド型のプロトコルとしてZRPを,それぞれ紹介する.

3.2.2 ネットワーク・トポロジーの構造での分類

ネットワーク・トポロジーをどのような構造にするかで,ルーティング・アルゴリズムを分類することができる.

階層型 ネットワーク・トポロジーが階層的に構成される方式.ここで,階層的とは,ネットワーク全体を表すものと局所的な接続関係を表すもの,というように種類や用途が異なるネットワーク・トポロジーを併用する方式.

平坦型 ネットワーク・トポロジーが平坦,すなわち全端末が含まれたネットワーク・トポロジーで全体の接続関係を表すもの.

前者では,端末間に異なる役割を持たせることで階層的なネットワーク・トポロジーを構成することが多い.例えば,端末をグループ化し,他グループに所属する端末との通信を中継する代表端末を生成する.そして,グループ内の端末間でのネットワーク・トポロジー,代表端末間でのネットワーク・トポロジーを構成する.階層型では各端末が持つ経路情報がコンパクトになるという利点がある一方,隣接する端末同士であっても他端末を経由して通信しなければならず,通

32

Page 40: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

信のレイテンシ(遅延)が大きくなることがある.逆に,平坦型では全端末に対して 1対 1の経路情報を構成するので,経路表が大きくなるという問題も生じる.

DSDV, DSRなどは平坦型に属するプロトコルである.3.6節では,階層型に属するプロトコルの例として CGSRを紹介する.

3.2.3 その他の観点での分類

その他の観点で分類されたプロトコルとして,位置情報を用いたルーティング・アルゴリズムである LARを 3.7節で,消費電力を考慮したルーティング・アルゴリズムである PARを 3.8節で,それぞれ紹介する.また,特殊な例として,遅延を許容するネットワーク DTN (Delay Tolerant Networking) について 3.9節で紹介する.

3.3 DSDV

DSDV (Destinataion Sequenced Distance Vector) は,初期に提案されたルーティング・プロトコルの一つである [35].Proactive型,すなわち通信処理に先立ちあらかじめ経路情報を維持・管理する形式のプロトコルである.ネットワーク・トポロジーは平坦である.DSDVの経路情報は経路表にまとめられる.経路表には,各端末に対し,以下の情報が記録されている.

次ホップ端末 対象端末へパケットを送信するには,どの隣接端末にパケットを送信すればよいかを表す.

距離 対象端末までの距離を,中継の回数であるホップ数で表す.

シーケンス番号 その経路情報の鮮度を表す.シーケンス番号が大きければより新鮮(新しい情報)である.

DSDVでは,経路表を定期的に隣接端末に送信する1.隣接端末から経路表を受信したとき,各経路情報のシーケンス番号を比較することで,自身の経路表を更新する.ある端末に対して,自身の経路情報のシーケンス番号より受信した経路

1経路情報を送信することを広告 (advertise)と呼ぶ.また,このパケットのことを広告パケットと呼ぶ.

33

Page 41: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

A

B

D

C

(a) ネットワーク・トポロジーと経路表

A

B

D

C

C

(b) 端末の移動

(c) 端末Cが広告後の経路表

(d) 端末Dが広告後の経路表

図 3.1: DSDVの動作

情報のシーケンス番号の方が大きい場合,その端末に対する経路情報を更新する.また,シーケンス番号が同じ場合,距離の小さな経路情報が選択される.各端末の経路情報の定期的な交換と経路表の更新により,経路情報がネットワーク全体に伝達され,各端末の経路表が最新の状態に維持される.図 3.1に例を示す.図 3.1(a)は初期のネットワーク・トポロジーと各端末の経路表を表している.このとき,端末Cが移動して,図 3.1(b)に示すネットワーク・トポロジーに変化したとする.当然,経路情報を交換する前は,各端末の経路表は以前のままである.ここで,端末 Cが経路表を送信したときの結果を図 3.1(c)に示す.端末Dは端末Cの経路表を受信することで,端末Cが自身の隣接端末であることが分かる.そこで,端末 Cに対する経路情報が更新される.その後,端末Dが経路表を隣接端末に送信した結果を図 3.1(d)に示す.端末Dから受信した経路表により,端末Cの経路表が適切な状態に更新される.また,端末Bにおける端末 Cの経路情報も更新される.このように経路表が定期的に送信され,その情報が伝搬することで,ネットワーク内の全端末の経路情報が適切に維持される.

DSDVは,有線ネットワークにおけるルーティング・プロトコルである RIPを拡張したものであり,動作が単純であるという利点がある.しかし,上記の説明から容易に推測できるように,ネットワーク・トポロジーの激しい変化には対応

34

Page 42: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

できないという欠点がある.また,経路情報が全端末に伝搬するまでに時間がかかるという問題点もある.

3.4 DSR

DSR (Dynamic Source Routing)は Reactive型のプロトコルである [1].経路情報を前もって管理・維持することはせずに,通信処理の開始時に経路を探索する.まず,端末 Sが端末Dに対してデータを送信するときを考える.最初は端末D

までの経路が未知なので,端末Sは経路要求パケット (RouteRequest)を生成し,隣接端末に送信する.この経路要求パケットはネットワークに接続されているすべての端末に転送される2.このとき,経路要求パケットには経由した端末 IDが順に記録される.端末Dが経路要求パケットを受信したとき,そのパケットに記録されている中継端末のリストを抽出し,それを記述した経路返信パケット (RouteReply)

を端末 Sに返信する.この中継端末のリストが端末 Sから端末Dへの通信経路として利用される.これが DSRでの基本的な経路探索手法である.経路探索処理の効率化のため,経路キャッシュを利用する方法も存在する.中継端末 Tが端末 Sから経路要求パケットを受信したとき,自身の経路キャッシュに端末Dまでの経路情報が存在していた場合,その経路情報を利用して,端末 Sに経路返信パケットを返信する.これにより,端末Dまで経路要求パケットを転送することなく経路を確定することができる.端末の移動などにより生成した経路が途中で途切れることがある.例えば,端末 Sから端末Dの経路が以下のようであるとする.

S → · · · → T1 → T2 → T3 → · · · → D

このとき,端末 T2 が経路上から移動し通信できなくなったとする.端末 T1が端末 T2にパケットを転送したとき,次に端末T2が端末 T3にパケットを転送するはずであり,その送信電波は端末 T1 まで到達する.しかし,端末 T2 は経路上に存在しないので,いつまでたっても端末T2からの電波は到達しない.このときある一定時間電波が到達しないことを端末 T1が確認し,経路を逆に辿り端末 Sまで

2ネットワークに接続されている全端末にパケットを転送する通信は,アドホック・ネットワークでは基本的な通信でありよく行われる.この通信方式のことをフラッディング (flooding)と呼ぶ.

35

Page 43: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

経路エラーパケット (RouteError)が送信される.これを受信した端末 Sは再度経路要求パケットにより経路探索を行う.

DSRは Reactive型なので,通信が行われなければ,経路維持などの制御パケットも発生しないという利点がある.ただし,通信開始時に経路を探索するので,実際に通信が開始されるまでに時間がかかり,レイテンシが大きくなるという欠点がある.

3.5 ZRP

ZRP (Zone Routing Protocol)は Proactive型,Reactive型それぞれのプロトコルの利点を取り入れた,ハイブリット型のプロトコルである [36].自端末から数ホップに位置する端末とは Proactive型のルーティングを行い,それ以上離れている端末とは Reactive型のルーティングを行う.

3.6 CGSR

CGSR (Cluster-head Gateway Switch Routing) は階層型のネットワーク・トポロジーを持つルーティング・プロトコルである [37].クラスタと呼ばれる端末の集合を動的に生成し,クラスタ間で別チャネルを用いた通信処理を行うことにより,パケットの衝突を防ぐ.CGSRでは,各端末が以下のいずれかの役割を担う.

クラスタ・ヘッド クラスタ間の通信を管理する端末.下記のクラスタ・メンバの通信はクラスタ・ヘッドが中継する.

クラスタ・メンバ 一つのクラスタに属する端末.すべての通信処理はクラスタ・ヘッドに委譲する.すなわち,すべての通信パケットをクラスタ・ヘッドに送信する.

クラスタ・ゲートウェイ 複数のクラスタ・ヘッドの通信範囲に存在する端末.クラスタ間の通信の際,チャネルを変更するパケットの中継処理を行う.

図 3.2に CGSRの動作例を示す.図中の大きな円はクラスタを表している.クラスタ・メンバは自身のクラスタ・ヘッドと通信するのみなので,経路表を持たな

36

Page 44: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

A

B

DC

E

F

G

H

I

Jクラスタ・ヘッド

クラスタ・メンバ

クラスタ・ゲートウェイ

図 3.2: CGSRの動作

い.他端末と通信する場合は,クラスタ・ヘッドにパケットを転送する.クラスタ・ヘッドはその端末がどのクラスタに属しているかを経路表により確認し,その送信先クラスタに対してパケットを送信するため,クラスタ・ゲートウェイにパケットを転送する.最終的に目的のクラスタ・ヘッドまで転送され,クラスタ・ヘッドがクラスタ・メンバに転送することで,通信が行われる.例えば,図の端末Aが端末Gと通信するとき,端末Aはクラスタ・ヘッドである端末Cにパケットを送信する.その後,クラスタ・ゲートウェイである端末D,クラスタ・ヘッドである端末 Fを経由して,端末Gまでパケットが転送される.クラスタ nのクラスタ・ヘッドを Cn,クラスタ nのクラスタ・ゲートウェイを

Gn とすると,端末 Sから端末 Dまでの通信は以下のような中継処理により行われる.

S → C1 → G1 → C2 · · ·Ci → Gi → Cj → D

すなわち,クラスタ・ヘッドとクラスタ・ゲートウェイが交互に出現するような経路で通信が行われる.

CGSRでは,隣接クラスタは別チャネルを用いて通信するなど,ネットワーク資源を有効利用することができる.しかし,必ずクラスタ・ヘッドとクラスタ・ゲー

37

Page 45: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

トウェイを中継した通信経路となるので,通信ホップ数が長くなるという欠点がある.また,クラスタ・ヘッドに通信負荷が集中するので,消費電力の観点から公平でなく,ネットワークの寿命が短くなる問題点が発生する.

3.7 LAR

LAR (Location-Aided Routing)は Reactive型のプロトコルであり,位置情報を用いて経路探索パケットを効率よく中継することを目指したものである [38].位置情報の取得には GPSなどを仮定している.Reactive型のプロトコルでは,最初に経路を探索するとき,ネットワーク全体に経路検索パケットを送信しなければならない(3.4節の RouteRequest参照).このとき,以前に通信したときの相手端末の位置情報を用いて,現在端末が存在するであろう位置をある程度予測し,その範囲に限定して経路探索パケットを送信することで,ネットワーク全体の負荷を削減し,効率よく経路を探索することができる.図 3.3に例を示す.端末 Sから端末 Dへの経路を発見するとき,まず,現時刻を tとし,時刻 t′ (t′ < t)における端末Dの位置を (xd, yd)とする.端末の平均移動速度 vを用いれば,端末の移動可能距離 r = v × (t− t′)を計算することができ,端末の存在可能範囲である Expected Zoneを点 (xd, yd)を中心とした半径 rの円として定義できる.そして,この Expected Zoneと自身の位置 (xs, ys)を含む矩形範囲をRequest Zoneとして定義する.Request Zoneを経路発見パケットの送信範囲として限定することで,余分なパケットの中継を削減することができる.

LARには scheme2と呼ばれる,矩形ではなく,より狭い範囲に Request Zoneを限定する手法も存在する.また,対象端末に近づくにつれて Request Zoneを再計算し形を変化させることで,より効率よく送信先端末との経路を確立する手法も提案されている [39].

LARでは位置情報を利用することで,Reactive型のプロトコルで問題となる経路発見パケットの量を削減することができる.

3.8 PAR

PAR (Power-Aware Routing)は端末の電力消費を経路の選択基準に取り入れたプロトコルである [40].PARでは,電力消費を考えるために以下のような指標を提

38

Page 46: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

時刻t’での端末Dの位置

現在の端末Dの位置

lar

図 3.3: LARの動作

案している.

パケット毎の電力消費の最小化 パケットを転送するとき,消費電力が最小となる経路を選択する.

ネットワークが接続されている時間の最大化 端末の電力が消費され,端末が動作しなくなると,ネットワークの分断が発生する場合がある.この指標では,グラフ理論におけるカットセット解析の手法 [41]により,ネットワークが分断されないように経路を選択する.

端末の電力レベルの均一化 端末の電力レベルを均一化するように経路を選択する.電力が多い端末が中継端末として利用される.

パケット毎のコストの最小化 パケットを転送するとき,コストが最小となる経路を選択する.ここでのコストとは,端末の電力レベル,充電状態などを統合した指標である.例えば,現在同じ電力レベルである二つの端末でも,充電状態が異なればコストが異なり,例えば電源接続状態にある端末はコストが低く計算される.

最もコストの高くなる端末のコストの最小化 経路を選択するとき,コストが最大となる端末のコストが最も低い経路を選択する.

39

Page 47: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

3.9 DTN

DTN (Delay Tolerant Networkingあるいは Disruption Tolerant Networking)とは,伝送遅れを許すネットワークのことであり,もともとは惑星間ネットワークの研究から生まれた概念である [42].アドホック・ネットワークでは,端末の移動により一時的に端末がネットワークから切断され,通信処理が行えなくなる場合がある.このとき,中継端末が通信パケットを保存し,端末がネットワーク上に再度出現した時点で転送することで,通信を完了させる.また,端末間の消費電力を均一化するため,ネットワーク・トポロジーを直線化し,伝送遅れを許容して情報を共有するプロトコルも提案されている [11, 12].

3.10 ルーティングのまとめアドホック・ネットワークにおいてルーティング・プロトコルは非常に重要な課題であり,多くのプロトコルが提案されている.もちろん,どのプロトコルにも一長一短があるので,どのような応用に利用するか,どのような端末を利用するか,などを考慮して,適切なプロトコルを選択する必要がある.

40

Page 48: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

第4章 アドホック・ネットワークにおける分散アルゴリズム実現の理論と実際

アドホック・ネットワーク向けのソフトウェアは第 2章で述べた通り,ネットワーク・トポロジーの変化に対応する必要がある.本章の目的は,アドホック・ネットワークにおける各種アプリケーション・ソフトウェアを構築する際の基本となる分散アルゴリズムの設計手法とその実現手法について紹介することである.また紹介した実現手法を実機ノード群に実装し,基礎的な評価を行なった結果も紹介する.特にセンサーネットワークに焦点を当てて議論を進めるが,センサーネットワークにおいてもノードの動的な追加・削除や通信障害によるネットワーク・トポロジーの動的な変化があるので,ソフトウェア設計において考慮すべきことは本質的にアドホック・ネットワークの場合と同等である.

4.1 分散アルゴリズムの設計と実現アドホック・ネットワーク向けのソフトウェアは,各ノードで動作するプログラムの集合であり,隣接ノードと無線を使って通信しながら,分散システム中の全ノードが協調動作するものでなくてはならない.分散システムの特徴として,各ノードは分散システム全体の状況を瞬時に知ることができないことが挙げられる.すなわち,各ノードで動作しているプログラムは,直接通信可能なノードと無線による通信を行ないながら,他のノードの状態を調べて動作する必要がある.あるノードの状態を調べている間も別のノードは動作を行なっているため,分散システムの状態は時々刻々と変化をすることから,分散システム全体で協調した動作をするソフトウェアの設計は容易ではない.このような困難さを持つ分散システムにおけるソフトウェア設計の基礎として,各種の分散アルゴリズムが研究さ

41

Page 49: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

れてきている.初期の分散アルゴリズムの研究はネットワーク・トポロジーの変化の発生しない分散システムを対象として研究がされてきたが,近年はネットワーク・トポロジーの動的な変化に適応する分散アルゴリズムが精力的に研究されてきており,アドホック・ネットワークにおけるソフトウェアの基礎となるものである.第 2章で紹介した自己安定アルゴリズムは,その中でも最も重要と考えられている理論的枠組のひとつである.自己安定アルゴリズムが重要と考えられている理由は,自律分散性を有するからである.すなわち,集中的な制御を用いることなく,完全な分散制御によってネットワーク・トポロジーの動的な変化に適応する性質を有している.以上のことから,本章では自己安定アルゴリズムを分散システム上,特にセンサーネットワーク上に実現する手法について紹介する.

4.1.1 分散アルゴリズムの設計のアプローチ法

モバイル・アドホック・ネットワークにおける分散アルゴリズム(ソフトウェア)の設計には,大別して,(1)メッセージ伝達モデルによる設計と,(2)高水準計算モデルによる設計の 2つのアプローチが考えられる.以下にそれぞれのアプローチについて概説するが,本章では後者のアプローチによる手法を採用し,後にその詳細を述べる.

メッセージ伝達モデルによる設計

この設計手法は,ソフトウェアにおいて無線ネットワークにおけるデータパケットの送信・受信を陽に記述する手法である.つまり,データパケットの送信・受信を API (Application Programming Interface)としてソフトウェアを作成するものである.分散アルゴリズム的観点からいえば,非同期的なデータパケットの送受信を計算モデルとして採用するものと言える.この設計手法の長所としては,記述したソフトウェアが実際のハードウェアの水準に近いため,言語処理系や実行時システムが簡潔になることが挙げられる.無線通信チップには,パケット送信・受信が基本的な機能として備わっており,計算モデルとちょうど対応する.あるいはルーティング・プロトコルによりネットワーク層が利用可能であれば,直接電波の届かないノード間でもパケットの送信・受

42

Page 50: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

信が可能となるが,これも計算モデルと対応する.このため,基本的なプロトコル・スタックがあれば,容易に本設計手法によるソフトウェア記述が可能となる.短所としては,高度な自律分散性を有するソフトウェアの設計が困難である点が挙げられる.ソフトウェアを設計する際は 2ノード間の通信(送信と受信)が基本であり,高度な自律分散性を実現させるには抽象度の低いレベルからソフトウェアをプログラマが記述する必要があり,あまりにも繁雑である.またこのような計算モデルにおいて,自律分散性が正しく実現されていることを検証することは非常に困難である.

高水準計算モデルによる設計

この設計手法は,ソフトウェア設計時においてデータパケットの送信・受信を明示的に記述するのではなく,高水準なノード間の情報通信機構を用いて記述する方法である.この方法では記述したソフトウェアと実際のハードウェアとの間に非常に大きなギャップがあるため,記述したソフトウェアを実行可能とするための言語処理系や実行時システムが必要となる.高水準計算モデルの代表として,分散共有メモリ (distributed shared memory)が挙げられる.アルゴリズム的観点からいえば,これはノード間で変数を共有し,あるノードが変数に値を代入すれば,他のノードがその変数を参照することで値を読み出せるという計算モデルである.この設計手法の短所としては,分散共有メモリを実現するための機構が必要となる点が挙げられる.すなわち,分散共有メモリをデータパケットの送信・受信により実現しなくてはならず,実行時システムが複雑になる.長所としては,より高水準なレベルで分散アルゴリズムを考えることができる点が挙げられる.これまでの自己安定アルゴリズムの研究における知見として,メッセージ伝達モデルでのアルゴリズム設計は非常に困難であり,分散共有メモリモデルでの設計は若干容易になるということが挙げられる.これは自己安定アルゴリズムの持つ高度な自律分散性を実現するには,低水準な計算モデルでは設計が困難である,という理由である.もうひとつの長所は,自律分散性が正しく実現されていることの理論的な検証を比較的行ないやすい点である.

43

Page 51: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

4.1.2 分散共有メモリモデルによる分散アルゴリズム設計

高水準計算モデルによる設計のひとつである,分散共有メモリモデルに基づいたアルゴリズム設計手法について述べる.特に,自己安定アルゴリズム研究で標準的に採用されている計算モデルを説明し,そして自己安定の定義を示す.

計算モデル

以下に計算モデルを形式的な記述で示す.分散システムにおけるノード数を n

と表記する.分散システム内の全ノード集合を V = (v1, v2, ..., vn)で表記し,通信リンクの集合を E ⊆ V × V で表記する.すると分散システムのネットワークトポロジーは無向グラフ GA = (V,E) で表現される.各通信リンク (vi, vj) ∈ E に対し,ノード vj は viの隣接ノードと呼ぶ.記号Niにより,ノード viの隣接ノード集合を表す.表記 vi.x により,ノード vi の局所変数 x を表す.局所変数の集合は,ノード

の局所状態を定める.各ノード vi ∈ V に対し,記法 vi.q により,ノード vi の局所状態,すなわちノード vi の全局所変数の対を表す.全ノードの局所状態の組(v1.q, v2.q, ..., vn.q) は,分散システムの状況 (configuration),すなわち分散システムの大局状態を表す.記号 Γにより,可能な全ての分散システムの状況の集合を表す.各ノード vi のアルゴリズムは,ガード付コマンド (guarded command)の集合

∗[ Grd1 → Act1 � Grd2 → Act2 � · · · � GrdL → ActL]

で表す.アルゴリズム中での各 Grdℓ (ℓ = 1, 2, ..., L)はガード (guard)と呼ばれる.ガード

は viの局所変数と隣接ノードの局所変数に対する論理述語である.ここで,通信モデルとして,各ノードは隣接ノードの局所変数を遅延なく瞬時に参照できるモデルを採用する.これは分散共有メモリの一種であり,局所変数の所有ノードのみが値を代入でき,隣接ノードは値を参照できるが代入はできないというモデルである.また隣接関係にないノードは値の参照はできない.この通信モデルは状態読み出し (state-reading)モデルとも呼ばれている.分散システムの状況 γにおいて,少なくとも 1つのガードの値が γにおいて真で

44

Page 52: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

ある時及びその時のみに限り,ノード viが可能 (enabled)状態であると言う.ノード viが可能状態でなければ,すなわち全てのガードの値が偽であるとき,ノードvi は抑止 (disabled)状態であると言う.アルゴリズム中での各 Actℓは,アクション (action)または動作 (move)と呼ばれ,ノード viの局所変数の値を更新するものであり,現在の viの局所状態と隣接ノードの局所状態から新たな局所状態が計算される.ノード viの原子動作 (すなわち動作の基本単位)は,以下の 3つの部分ステップで構成される.

1. 隣接ノードの全ての局所変数を読み出してガードの値を計算し,

2. もし値が真であるガードがあれば,そのうちのひとつに対して対応するアクションを実行して次の局所状態を計算し,

3. そして次の局所状態の値を局所変数に代入する.

このモデルは複合原子性 (composite atomicity)モデルと呼ばれている.実行モデルとしては,主に以下の 2種類が自己安定アルゴリズムの研究において採用されている.

• 中央デーモン (central daemon) : アルゴリズム実行の各ステップにおいて,可能状態のプロセスのうち任意のひとつのプロセスが選ばれてアクションを実行する.

• 分散デーモン (distributed daemon) : アルゴリズム実行の各ステップにおいて,可能状態のプロセスのうち任意の複数のプロセスが選ばれてそれらが並列にアクションを実行する.

中央デーモンでは逐次的にプロセスが実行されていくのに対し,分散デーモンでは並列的にプロセスが実行されていく実行モデルである.中央デーモンでの自己安定アルゴリズムの設計は自明と思われるかも知れないが,各ノードは局所的な情報しか得られないまま動作していくことから,自己安定性による高度な自律分散性の実現は自明ではない.中央デーモンを仮定した場合でも,自己安定アルゴリズムの設計とその正当性の検証に多大な労力がかかることは実際珍しくない.なおここで紹介した計算モデルは,はじめて自己安定アルゴリズムが提案されたダイクストラによる論文 [22]において採用されたものである.

45

Page 53: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

自己安定アルゴリズム

自己安定 (self-stabilization)とは,任意の(正しくない)分散システムの状況から,正しい状況に自律的に復帰する能力として定義される(文献 [22]).自己安定の形式的定義を以下に示す.記号 S を 3つ組 S = (Γ, Λ,→)とする.ここで Γ, Λ,→はそれぞれ以下の通りである.

• Γは分散システムがとり得る全ての状況の有限集合である.分散システムが正しくない状況も全て含まれる点に注意されたい.

• Λは分散システムがとるべき正しい状況の有限集合である(Λ ⊆ Γの関係がある).

• →は Γ×Γ上での関係であり,アルゴリズムによる状況間の遷移関係を表す.

3つ組 S = (Γ, Λ,→)はネットワーク・トポロジーとアルゴリズムによって定義される状態遷移システムとみなすことができる.分散システムの各状況 γ ∈ Γに対し,γ ′ を分散システムの 1ステップの動作により得られる γ の次状況とする.これら 2状況間に対して関係 γ → γ ′ を定める.ある l ≥ 0 に対して γ0 → γ1,

γ1 → γ2, . . . , γl−1 → γl が成立する時及びその時のみに限り γ0∗→ γℓ と表記する.

また γ0∗→ γℓが成立する時及びその時のみに限り γℓは γ0から到達可能 (reachable)

と呼ぶ.

定義 1 任意の分散システムの状況 γ0に対し,γ0から始まる計算 (computation) e(γ0)

とは,(無限の場合もあり得る)極大な状況列 e(γ0) = γ0, γ1, γ2, ...で,各 t ≥ 0に対し γt → γt+1が成立するものをいう.ここで計算が極大であるとは,(1)状況列の長さが無限である,もしくは,(2)状況列の長さが有限であり,状況列の最後の状況において全てのノードが抑止状態にある場合をいう. �

定義 2 3つ組 S = (Γ, Λ,→)が自己安定であるとは,S が以下の 2つの条件を満たす時及びその時のみに限る.

1. 収束性 (convergence) : 任意の初期状況から計算を開始しても,やがて Λに属する状況に到達する.

2. 閉包性 (closure) : Λに属する任意の状況を λとする.λ → γ である任意の状況 γ に対して λ ∈ Λが成立する.

46

Page 54: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

状況 λ ∈ Λを正当 (legitimate)な状況と呼び,Λを正当な状況の集合と呼ぶ.�

自己安定性の直観的な解釈を以下に説明する.一時故障(メモリのソフトエラーやメッセージ消失など)の発生やネットワーク・トポロジーの変化が発生した直後の状況を,新たな初期状況とみなす.分散システムに自己安定性があれば,その定義により,人の手を介することなく分散システムはやがて正当な状況に遷移をして(収束性),正当な状況を保ち続ける(閉包性).

自己安定アルゴリズムの例

高水準な計算モデルを採用することの利点を示すため,自己安定アルゴリズムの例を示す.分散デーモンの下で動作する自己安定ノードクラスタリング・アルゴリズムを図 4.1に示す(文献 [45]).ノードクラスタリングとは,分散システム中のノードをいくつかのクラスタ(グループ)に分割することをいう.クラスタの代表ノードをクラスタヘッドと呼ぶ.ここで示すアルゴリズムでは,以下の条件を満たすようにノードのクラスタリングを行なう.

1. クラスタヘッドでないノードは,必ず少なくともひとつのクラスタヘッドに隣接する.

2. クラスタヘッドは互いに隣接しない.

図 4.1に示すクラスタリング・アルゴリズムの説明を行なう.アルゴリズムでは各ノード viの持つ局所変数と動作を規定している.各ノード viは局所変数 vi.xを持ち,vi.x = 1である時及びその時に限りクラスタヘッドであるとする.各ノード vi は以下の規則でクラスタヘッドになるか否かを決定する.

1. ノード vi がクラスタヘッドでない時に隣接ノードにクラスタヘッドがひとつもなければ,vi はクラスタヘッドになる.

2. ノード viがクラスタヘッドの時に隣接ノードにクラスタヘッドがあれば,クラスタヘッドを辞める.

上記 2番目の規則において,ある隣接クラスタヘッド vk のネットワークアドレス (=vk)よりも viのネットワークアドレス (=vi)が大きな時にのみクラスタヘッドを辞める.この付加的な条件により,分散デーモンにより隣接ノードも同時に並

47

Page 55: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

実行モデルの仮定分散デーモン

ノード vi の局所変数vi.x ∈ {0, 1} — vi.x = 1であるときおよびその時に限り vi はクラスタヘッド

ノード vi のガード付きコマンド∗[ // 1: クラスタヘッドになる

(vi.x = 0) ∧ (∀vk ∈ Ni[vk.x = 0])→ vi.x := 1;

// 2: クラスタヘッドを辞める� (vi.x = 1) ∧ (∃vk ∈ Ni[vk.x = 1 ∧ vk < vi])

→ vi.x := 0;]

図 4.1: クラスタリングを行なう自己安定アルゴリズム Ikeda02(文献 [45])

列動作した時に,共にクラスタヘッドを辞めてしまうのを防ぐためである.この付加的な条件は,分散デーモンによる実行の下での発振を防ぐためのものである.全ノードにおいて x = 0のときに全ノードが同時に動作すれば,全ノードにおいて x = 1となる.次に全ノードが同時に動作すれば,もし上述の付加的な条件がなかったとすれば,全ノードにおいて x = 0となる.これが繰り返されることで発振が発生し,永遠にクラスタリングが行なえない結果となる.これを防ぐのが上述の付加的な条件である.以上より,計算モデルとして分散共有メモリモデルを採用することで,自己安定性を有する分散アルゴリズムが比較的容易に設計できることが分かる.

4.1.3 分散共有メモリモデルの実現手法

実際のアドホック・ネットワークやセンサーネットワークでは,各ノードは無線によりデータパケットを送信・受信してノード間の通信を行なう.ここでは分散共有メモリモデルで設計された自己安定アルゴリズムを,実際のアドホック・ネットワークやセンサーネットワークで動作させるための実装方法について述べる.実現方法には数種類が知られているが,その中でも特に計算機資源の制約の強いセンサーネットワークでも実現可能な手法である,キャッシュ式センサーネット変換

48

Page 56: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

ノード vi の局所変数vi.q — 元アルゴリズムの局所変数 (の集合);

ノード vi のガード付きコマンド∗[ Grd1 → Act1

� Grd2 → Act2...

� GrdL → ActL]

図 4.2: 分散共有メモリモデルにおける元アルゴリズム

(Cached Sensornet Transform, CST)を紹介する.キャッシュ式センサーネット変換は,2003年にアイオワ大学のハーマンが考案した方法である(文献 [43]).以降ではキャッシュ式センサーネット変換のことを CSTと略記する場合があるので注意されたい.

キャッシュ式センサーネット変換 (CST)

キャッシュ式センサーネット変換 (CST)は,分散共有メモリモデルをメッセージ伝達モデルに変換する.特に,分散共有メモリモデルで設計されたを自己安定アルゴリズムを無線によるデータパケット通信を用いた自己安定アルゴリズムに変換する.図 4.2に,分散共有メモリモデルで設計される自己安定アルゴリズムの骨子を示す.図 4.1で示した自己安定アルゴリズム例も,この骨子に沿ったものである.キャッシュ式センサーネット変換の基本的な考えは,隣接ノードの局所変数をキャッシュするというものである (図 4.3参照).まず最初に,各ノードに無線データパケットの衝突検出機能がある場合でのキャッシュ式センサーネット変換の方針の概略を以下に述べる.この場合では,図 4.2に示す構造の自己安定アルゴリズムを図 4.4に示すプログラムに変換する.以下の説明は各ノード vi の動作である.

• ノード viは,各隣接ノード vk ∈ Niの局所変数をキャッシュする.すなわち,各局所変数 qに対して,ノード vi はキャッシュ変数 vi.C[vk, q]を持つ.

49

Page 57: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

q

ノード vi

q

ノード vk

(a) 分散共有メモリモデル:ノード vi による隣接ノードの局所変数 qへの参照

q

C[v , q]

ノード vi

k

q

ノード vk

状態パケットによる送信

キャッシュ

(b) メッセージ伝達モデル : 隣接ノードの局所変数 qへの参照の実現

図 4.3: キャッシュ式センサーネット変換の基本方針

• ノード viは,各隣接ノード vk ∈ Niの局所変数を正しくキャッシュしているかを表すフラグ変数 vi.b[vk]を持つ.

• ノード vi はインターバルタイマにより一定時間間隔で,もし全隣接ノードの局所変数を正しくキャッシュしていれば,局所状態の更新を行なう(図 4.4

での手続きUpdate).このとき,アクション Actの中での隣接ノードの局所変数 vk.qへの参照は,キャッシュ変数 vi.C[vk, q]へのアクセスに置き換える.

次に,局所変数の値をデータパケット(状態パケットと呼ぶ)に入れて,隣接ノードに送信する.状態パケットの送信は局所的なブロードキャストであり,隣接ノードが同時に同一の状態パケットを受信する.

• ノード vi が状態パケットの衝突を検出した場合,フラグ変数の値を全て偽にする.これはキャッシュの値が正しくない状態になるが,どのノードの状態パケットが衝突を起こしたかが分からないため,安全側の考えに立ち,全てのフラグ変数の値を偽にする.

• ノード vi が隣接ノード vk より状態パケットを受信すると,vi は vk の局所変数のキャッシュを更新すると共に,正しくキャッシュしていることを表すようフラグ変数 vi.b[vk]の値を真にする.

50

Page 58: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

ノード vi の局所変数vi.q — 元アルゴリズムの局所変数 (の集合)vi.C[vk, q] — 各隣接ノード vk ∈ Ni の局所変数 vk.qのキャッシュvi.b[vk] — 各隣接ノード vk ∈ Ni に対する状態パケット受信フラグ

ノード vi に対するプログラムコード

インターバルタイマ割り込みが発生した時 :if (∀vk ∈ Ni : vi.b[vk] = true) then

Update;transmit ⟨vi.q⟩ — 状態パケットを送信

状態パケットの衝突を検出した時 :for each vk ∈ Ni

vi.b[vk] := false

状態パケット ⟨q′⟩をノード vk ∈ Ni より受信した時 :vi.C[vk, q] := q′;vi.b[vk] := true

procedure Update// 以下では、元アルゴリズムでの vk.qへの参照を// vi.C[vk, q]への参照に置き換える。 (vkは viの隣接ノード)if (Grd1) then Act1else if (Grd2) then Act2

...else if (GrdL) then ActL

図 4.4: CSTによる変換後のアルゴリズム(ノードにパケット衝突検出機能がある場合)

51

Page 59: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

次に,各ノードに無線データパケットの衝突検出機能がない場合でのキャッシュ式センサーネット変換の方針の概略を述べる.この方式は,図 4.2に示す構造の自己安定アルゴリズムを図 4.5に示すプログラムに変換する.無線データパケットの衝突検出機能がないセンサーノードやネットワーク・インタフェースを用いる場合は,こちらの手法を用いることになる.以下の説明は各ノード viの動作である.

• ノード viは,各隣接ノード vk ∈ Niの局所変数をキャッシュする.すなわち,各局所変数 qに対して,ノード vi はキャッシュ変数 vi.C[vk, q]を持つ.

• ノード vi はインターバルタイマにより一定時間間隔で,局所状態の更新を行なう(図 4.5での手続きUpdate).このとき,アクション Actの中での隣接ノードの局所変数 vk.qへの参照は,キャッシュ変数 vi.C[vk, q]へのアクセスに置き換える.

次に,局所変数の値をデータパケット(状態パケットと呼ぶ)に入れて,隣接ノードに送信する.状態パケットの送信は局所的なブロードキャストであり,隣接ノードが同時に同一の状態パケットを受信する.

• ノード vi が隣接ノード vk より状態パケットを受信すると,vi は vk の局所変数のキャッシュを更新する.

4.2 共有メモリモデルの性能のシミュレーションによる評価

本節は,前節で紹介した 2通りのキャッシュ式センサーネット変換,すなわち,ノードにパケット衝突検出機構がある場合とない場合の 2通りについて,計算機シミュレーションによる性能評価を行ない,比較を行なう.パケット衝突検出機構を有しないノードは少なくないため,パケット衝突検出機構を用いないキャッシュ式センサーネット変換の有効性は大いに興味のあるところである.本節での結論は,パケット衝突検出機構を用いない方式に優位性がある,ということである.この結果は,自己安定アルゴリズムをキャッシュ式センサーネット変換を用いて実機に実装する際の指針となるものである.

52

Page 60: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

ノード vi の局所変数vi.q — 元アルゴリズムの局所変数 (の集合)vi.C[vk, q] — 各隣接ノード vk ∈ Ni の局所変数 vk.qのキャッシュ

ノード vi に対するプログラムコード

インターバルタイマ割り込みが発生した時 :Update;transmit ⟨vi.q⟩ — 状態パケットを送信

状態パケット ⟨q′⟩をノード vk ∈ Ni より受信した時 :vi.C[vk, q] := q′

procedure Update// 以下では、元アルゴリズムでの vk.qへの参照を// vi.C[vk, q]への参照に置き換える。 (vkは viの隣接ノード)if (Grd1) then Act1else if (Grd2) then Act2

...else if (GrdL) then ActL

図 4.5: CSTによる変換後のアルゴリズム(ノードにパケット衝突検出機能がない場合)

53

Page 61: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

4.2.1 シミュレーションモデル

シミュレーションモデルについて説明する.各ノードはキャッシュ式センサーネット変換に従い動作する.ひとつのノードが選ばれて,インターバルタイマ割り込みの発生がシミュレートされ,インターバルタイマ割り込み発生時の動作が実行される.このとき選ばれたノードは状態パケットを送信するが,各ノードは独立して一様かつランダムに確率 pでパケットの受信に失敗をし,確率 1 − pで受信に成功する.パケットを受信したときは,メッセージ受信時の動作を実行する.この一連の動作の後は,次のノードが選ばれて同様に実行される.各ノードが一度ずつ選ばれて実行される一連の動作を,本節ではラウンド (round)

と呼ぶ.すなわち,1ラウンドでの実行では,各ノードはちょうど一度実行され,ラウンドを繰り返し実行することでシミュレーションが進行する.シミュレーションのパラメータは,以下の 3つである.

• 動作をシミュレートするアルゴリズム

• ネットワーク・トポロジー

• パケット損失確率

このシミュレーションを,パケット衝突検出機構用いるキャッシュ式センサーネット(以下 FullCST)とパケット衝突検出機構用いないキャッシュ式センサーネット(以下 SimpleCST)とで性能比較を行なう.性能は,任意の初期状況から正しい状況に安定するまでのラウンド数の平均で比較する.

4.2.2 シミュレーション結果

本節では 4つの自己安定アルゴリズムShukla95(図 4.7),Huang92(図 4.8),Kamei10(図 4.9),Turau07(図 4.10)をシミュレーションの対象とした.それぞれのアルゴリズムの特徴の説明は次節で行なうものとし,本節ではパケット衝突機構の有無の違いによる性能の違いに焦点を当てる.

シミュレーション 1

以下の設定でシミュレーションを行なった.

54

Page 62: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

• ネットワーク・トポロジー: グリッドネットワーク(図 4.6)

• メッセージ損失確率: 0.2

• 試行回数: 1000

• 自己安定アルゴリズム: Shukla95(図 4.7)

ノード数を変化させながら,安定に要するラウンド数の平均を測定した.結果を図 4.11に示す.

シミュレーション 2

以下の設定でシミュレーションを行なった.

• ノード数: 200

• ネットワーク・トポロジー: グリッドネットワーク(図 4.6)

• 試行回数: 1000

• 自己安定アルゴリズム: Shukla95(図 4.7)

パケット損失確率を 0.0から 0.5まで 0.1刻みで変化させて,安定に要するラウンド数の平均値を測定した.結果を図 4.12に示す.

シミュレーション 3

以下の設定でシミュレーションを行なった.

• パケット損失確率: 0.2

• ノード数: 50

• ネットワーク・トポロジー: グリッドネットワーク(図 4.6)

• 試行回数: 1000

4つの自己安定アルゴリズムShukla95(図 4.7),Huang92(図 4.8),Kamei10

(図 4.9),Turau07(図 4.10)に対して,安定に要するラウンド数の平均値を測定した.結果を図 4.13に示す.

55

Page 63: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 4.6: グリッドネットワーク

実行モデルの仮定中央デーモン

ノード vi の局所変数vi.x ∈ {0, 1} — vi.x = 1であるときおよびその時に限り vi はクラスタヘッド

ノード vi のガード付きコマンド∗[ // 1: クラスタヘッドになる

(vi.x = 0) ∧ (∀vk ∈ Ni[vk.x = 0])→ vi.x := 1;

// 2: クラスタヘッドを辞める� (vi.x = 1) ∧ (∃vk ∈ Ni[vk.x = 1])

→ vi.x := 0;]

図 4.7: クラスタリングを行なう自己安定アルゴリズム Shukla95(文献 [49])

56

Page 64: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

実行モデルの仮定中央デーモン

ノード vi の局所変数vi.d : 整数—根ノードからの vi の距離vi.f ∈ Ni — BFS木における vi の親ノード

根ノード vR のガード付きコマンド∗[ // 1: 根ノードでの値の設定

(vR.d ̸= 0) ∨ (vR.f ̸= vR)→ vR.d := 0; vR.f := vR

]

根ノード以外のノード vi のガード付きコマンド∗[ // 1: 親ノードを選択し、距離を設定

(vi.d ̸= min{vj .d : vj ∈ Ni} + 1) ∨ (vi.f ̸= vk s.t. vk.d = min{vj .d : vj ∈ Ni})→ vi.d := min{vj .d : vj ∈ Ni} + 1;

vi.f := vk s.t. vk.d = min{vj .d : vj ∈ Ni};]

図 4.8: 幅優先探索 (BFS)木を構成する自己安定アルゴリズムHuang92(文献 [44])

57

Page 65: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

実行モデルの仮定中央デーモン

ノード vi の局所変数vi.d ∈ {0, 1} — vi.x = 1であるときおよびその時に限り vi はクラスタヘッドvi.i ∈ {0, 1} — (内部作業用変数)独立点ノードか否か

ノード vi への外部入力vi.F —幅優先 (BFS)木における viの親ノードvi.L —幅優先 (BFS)木における根ノードからの距離

ノード vi のガード付きコマンド∗[ // 1: (根ノード)クラスタヘッドになる

(vi.L = 0) ∧ (vi.d = 0 ∨ vi.d = 0)→ vi.i := 1; vi.d := 1;

// 2: (非根ノード)独立点ノードになる� (vi.L ̸= 0) ∧ (vi.i = 0) ∧ (∀vk ∈ Ni[vk.L > vi.L ∨ vk.i = 0])

→ vi.i := 1;// 3: (非根ノード)独立点ノードを辞める

� (vi.L ̸= 0) ∧ (vi.i = 1) ∧ (∃vk ∈ Ni[vk.L ≤ vi.L ∧ vk.i = 1])→ vi.i := 0;

// 4: (非根ノード)クラスタヘッドになる� (vi.L ̸= 0) ∧ ¬Grd2 ∧ ¬Grd3 ∧ (vi.d = 0) ∧ (∃vk ∈ Ni[vk.F = vi ∧ vk.i = 1] ∨ (vi.i = 1))

→ vi.d := 1;// 5: (非根ノード)クラスタヘッドを辞める

� (vi.L ̸= 0) ∧ ¬Grd2 ∧ ¬Grd3 ∧ (vi.d = 1) ∧ (∀vk ∈ Ni[vk.F ̸= vi ∨ vk.i = 0] ∧ (vi.i = 0))→ vi.d := 0;

]

図 4.9:連結支配集合によるクラスタリングを行なう自己安定アルゴリズムKamei10(文献 [47])

58

Page 66: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

実行モデルの仮定分散デーモン

ノード vi の局所変数vi.x ∈ {0, 1, 2} — vi.x = 1であるときおよびその時に限り vi はクラスタヘッド

ノード vi のガード付きコマンド∗[ // 1: クラスタヘッドになる要求を出す

(vi.x = 0) ∧ (∀vk ∈ Ni[vk.x ̸= 1])→ vi.x := 2;

// 2: クラスタヘッドになる要求を取り下げる� (vi.x = 2) ∧ (∃vk ∈ Ni[vk.x = 1])

→ vi.x := 0;// 3: クラスタヘッドになる

� (vi.x = 2) ∧ (∀vk ∈ Ni[vk.x ̸= 1])∧(∃vk ∈ Ni[vk.x = 2 ∧ vk < vi])

→ vi.x := 1;// 4: クラスタヘッドを辞める

� (xi = 1) ∧ (∃Pk ∈ Ni[xk = 1])→ xi := 0;

]

図 4.10: クラスタリングを行なう自己安定アルゴリズム Turau07(文献 [50])

図 4.11: シミュレーション 1の結果: ノード数と安定に要するラウンド数の関係

59

Page 67: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 4.12: シミュレーション 2の結果: パケット損失確率と安定に要するラウンド数の関係

図 4.13: シミュレーション 3の結果: アルゴリズムごとの安定に要するラウンド数

60

Page 68: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

4.2.3 考察

シミュレーション 1の結果(図 4.11)より,SimpleCST(パケット衝突検出機構を用いないキャッシュ式センサーネット変換)は FullCST(パケット衝突検出機構を用いるキャッシュ式センサーネット変換)よりも早く安定していることが分かる.これは,FullCSTにおいてはパケット損失があると,再び隣接ノード全てからパケットを損失することなく受信するまでは次の動作ができないため,ノードの計算がなかなか進まないためだと考えられる.一方 SimpleCSTでは,パケット損失が発生してキャッシュの値が不正確であってもノードは動作を続ける.しかし,誤ったキャッシュの値が大きな悪影響を及ぼすことはなく,連続して動作できることのほうの利点が大きいものと考えられる.シミュレーション2の結果(図4.12)より,パケット損失確率が低い時は FullCST

と SimpleCSTも同等な性能を有することが分かる.しかしパケット損失確率が 0.2

となるあたりから,FullCST の性能は急激に悪化することがグラフより読みとれる.一方 SimpleCSTの性能は,パケット損失確率の影響を少ししか受けていないことがグラフより読みとれる.シミュレーション 3(パケット損失確率を 0.2とした場合)の結果(図 4.13)より,実験に用いた 4通りのアルゴリズムいずれにおいても,SimpleCSTは FullCST

の 2倍程度の早さで安定を行なうことがグラフより読みとれる.このことから,他のアルゴリズムにおいても,同様な結果が成り立つものと予想される.以上のことを総括すると,安定に要する時間の観点では,キャッシュ式センサーネット変換においてパケット衝突検出機構を積極的に使うことは得策ではない,ということである.これはこれまでの実験結果より,SimpleCST のほうが FullCST

よりも性能が高いことがその理由である.このことから,パケット衝突検出機構を有しない貧弱なセンサーノードであっても,キャッシュ式センサーネット変換を用いて自己安定アルゴリズムの実装を行なえば,十分有用な性能を引き出せるものと考えられる.

4.3 センサーネットワーク実機による評価実験本節ではアドホック・ネットワークのひとつであるセンサーネットワーク実機を用いて,自己安定アルゴリズムがキャッシュ式センサーネット変換を用いれば実

61

Page 69: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

(a) ネットワーク (b) 極大独立点集合の例(黒ノード)

図 4.14: 極大独立点集合 (Maximal Independent Set, MIS)

現が容易であり,十分な性能を有することを実験により示す.前節でのシミュレーション結果より,キャッシュ式センサーネット変換を用いる際には無線デバイスにパケット衝突検出機能がなくても効率良く実行できることが分かった.本節ではその結果を受けて,パケット衝突検出機能のないセンサーネットワーク・デバイスを用いた実験結果を示す.

4.3.1 FreeScale Semicoductor 社 MC13193-EVKを用いたMISアルゴリズムの評価

最初の基礎的な実験として,自己安定ノードクラスタリング・アルゴリズムを実現し,評価した結果を示す.ノードクラスタリングとして特に,極大独立点集合 (Maximal Independent Set, MIS)に基づいたクラスタリングアルゴリズムを実現し評価した.極大独立点集合に基づくクラスタリングでは,以下の性質を持つようにノードをクラスタリングする(図 4.14に極大独立点集合の例を示す).

• 各ノードをクラスタヘッドか非クラスタヘッドのどちらかに決める.

• クラスタヘッドでないノードは,少なくともひとつのクラスタヘッドに隣接する

• クラスタヘッドは互いに隣接しない

本実験では以下の 3つの自己安定アルゴリズムを評価した.

62

Page 70: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

• 文献 [49]のアルゴリズム(以下 Shukla95と表記,図 4.7)

中央デーモンの下での動作を仮定したアルゴリズムであり,分散デーモンの下では自己安定性は保証されていない.各ノードの状態数は 2である.任意の初期状況から動作を開始してクラスタリングが求まり安定するまでのラウンド数は,最悪時でも全ノード数に比例した値であることが知られている.

• 文献 [45]のアルゴリズム(以下 Ikeda02と表記,図 4.1)

このアルゴリズムは,分散デーモンの下でも自己安定性を保証するようShukla95

を改良したアルゴリズムである.各ノードの状態数は 2である.任意の初期状況から動作を開始してクラスタリングが求まり安定するまでのラウンド数は,最悪時には全ノード数の自乗に比例した値となることが知られている.

• 文献 [50]のアルゴリズム(以下 Turau07と表記,図 4.10)

このアルゴリズムは,分散デーモンの下で自己安定性を保証するアルゴリズムである.各ノードの状態数は 3である.任意の初期状況から動作を開始してクラスタリングが求まり安定するまでのラウンド数は,最悪時でも全ノード数に比例した値となることが知られている.

ハードウェア及び開発環境の概要

実験に用いたセンサーネットワークノードは,Freescale Semiconductor社のMC13193-

EVK評価キットである(図 4.15).ハードウェアの概要は以下の通りである.

• CPUは 8ビットHCS08ベースの組み込み用プロセッサで,クロックは 8MHz

• メモリは 60KBのフラッシュメモリ(プログラム用)と 4KBのスタティックRAM(データとスタック用)で構成

• 無線通信デバイスとして 2.4GHz IEEE 802.15.4準拠のチップを搭載

データパケットの送信・受信のためのソフトウェアとして,評価キット附属のSimpleMACライブラリを使用した(文献 [48]).しかしオペレーティングシステムが存在しなかったので,SimpleMACライブラリを利用した本実験用の超小型オペレーティングシステムを新たに開発して評価実験に供した.なおSimpleMACライブラリにはネットワーク層は実現されておらず,無線チップに対してパケットの送

63

Page 71: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 4.15: Freescale Semiconductor社MC13193-EVK評価キットのセンサーノード

信と受信,受信パケットの電界強度の値(リンク品質),そして現在の電界強度の値(他ノードによるパケット送信の有無の調査)を返すだけの機能しか有していない.データパケットの送信は指定したバイト列を送信するだけであり,電波の到達範囲内にあるノード全てがそのパケットを受信する.確認応答 (Acknowledgment,

ACK) は行なわない.データパケットの送信は CSMA/CA (Carrier Sense Multiple

Access / Collision Avoidance,搬送波感知多重アクセス/衝突回避方式)方式を実装した.これは,データパケットを送信する時に,他ノードが送信中かどうかを調べ,送信中でなければ送信をし,送信中であればランダムな遅延時間の後に再度送信を試みるものである.開発環境は Microsoft Windows XP 上で動作する Freescale Semiconductor 社の

開発環境 CodeWarrior for HCS08 version 5.1 を用いた.評価対象のクラスタリング・アルゴリズムやオペレーティングシステムは C言語で記述した.プログラムは Windows XP 上の CodeWarrior でクロス開発し,センサーノードのフラッシュメモリに書き込む手順をとった.

実験内容

本実験で利用可能なセンサーノードは 5台のみであった.5台のセンサーノードを仮想的なラインネットワーク・トポロジーに構成して実験を行なった.すなわち,あるノードがデータパケットを受けとった時,パケット中に含まれている送信元のノードのアドレス情報を調べ,仮想的なラインネットワーク・トポロジーにおける隣接ノードである時にのみ受信したデータパケットを処理することにし

64

Page 72: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 4.16: Freescale Semiconductor社MC13193-EVK評価キットを用いた実験の様子

た.仮想トポロジーでの隣接ノードではない時には,受信したデータパケットは破棄をする.仮想的なラインネットワーク・トポロジーを構成した理由を以下に述べる.センサーノードを一箇所に配置するとどのノードにも電波が到達可能となり,トポロジーが完全ネットワークになる.センサーノードを離して配置すると,電波の伝搬状況に依存して,どのようなトポロジーになるかが全く予測できない.この 2

つの理由により,仮想トポロジーを構成して実験することが評価の際には有用であると判断したからである.実行するプログラムは,評価対象のアルゴリズム Shukla95, Ikeda02, Turau07

に対してキャッシュ式センサーネット変換を手作業で行ない,C言語で記述した.アルゴリズムの動作開始に先立ち,各ノードは局所変数をランダムな値に設定をする.これは自己安定アルゴリズムが任意の初期状況より動作可能であるためである.各センサーノードの動作を記録するため,RS-232Cインターフェースに対してアルゴリズムの動作を出力させた.出力はモニタ用 PCが受信して,全ノードの動作を記録した.実験の様子を図 4.16に示す.アルゴリズムの評価尺度は初期状況から正当な状況に到達するまでのラウンド数である.この値がより少なければ,ネットワークトポロジーの変化やノードのメモリにソフトエラーが発生しても,より少ない時間で正常なノードクラスタリングを再計算して安定することを表している.

65

Page 73: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

表 4.1: 自己安定MISアルゴリズムの実験結果 (安定するまでのラウンド数)

Shukla95 Ikeda02 Turau07実験結果 2.91 2.14 3.56

シミュレーション (中央デーモン) 1.95 1.85 2.28シミュレーション (分散デーモン) 4.35 2.26 2.89

各アルゴリズムは 50回動作させ,その平均を求めた.状態を隣接ノードに送信する時間間隔,すなわち 1ラウンドに相当する時間は 1秒に設定した.

実験結果

表 4.1に実験結果を示す(詳細は文献 [53]と [52]を参照のこと).表中におけるシミュレーションとは,比較のために,高水準モデルでアルゴリズムをシミュレーションした結果である.シミュレーションにおける実行モデルには中央デーモンと分散デーモンの両方の場合をシミュレートした.分散デーモンの場合,各ラウンドにおいて各ノードは確率 0.5で実際に実行するものとした.

考察

総論として,キャッシュ式センサーネット変換は十分に効率良く実センサーネットワーク上で実行できていることが確認できる.これは実機での結果とシミュレーション結果と比較して,安定までのラウンド数の著しい増加が観察されないからである.第一の注目点はShukla95の性能である.Shukla95は一度にはひとつのノード

しか動作されない中央デーモンを仮定してアルゴリズムが設計されている.しかしキャッシュ式センサーネット変換での実機での実行は,複数のノードが同時に動作することがある.この理由により,中央デーモンでのシミュレーション結果(=1.95)と比べて実機での実行での性能 (=2.91)は少し悪くなっている.第二の注目点は共に分散デーモンを仮定して設計されている Ikeda02とTurau07

の性能である.いずれも実機での結果はシミュレーションでの実行結果に近い値になっている.これはアルゴリズムが分散デーモンを仮定していることと,実機での実行が分散デーモンに合致することから,これは自然な結果である.

66

Page 74: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

(a) ネットワーク (b) 連結支配集合の例 (黒ノード)

図 4.17: 極大独立点集合 (Connected Dominating Set, CDS)

4.3.2 Sun Microsystems 社 SunSPOTを用いたCDSアルゴリズムの評価

次の実験でも自己安定ノードクラスタリング・アルゴリズムを実現し,評価した結果を示す.本節では,前節と異なり,ノードクラスタリングとして連結支配集合 (Connected Dominating Set, CDS)に基づいたクラスタリングアルゴリズムを実現し評価した.連結支配集合に基づくクラスタリングでは,以下の性質を持つようにノードをクラスタリングする(図 4.17に連結支配集合の例を示す).

• 各ノードをクラスタヘッドか非クラスタヘッドのどちらかに決める.

• クラスタヘッドでないノードは,少なくともひとつのクラスタヘッドに隣接する

• クラスタヘッドで誘導される部分グラフは連結である.すなわち,任意の 2

つのクラスタヘッドに対し,一方から他方へ,クラスタヘッドのみを経由する経路が存在する.

連結支配集合はセンサーネットワークにおいてデータ収集に有用である.データ収集ノードはクラスタヘッドとなる.非クラスタヘッドはセンサで測定したデータを隣接するクラスタヘッドに送信する.各クラスタヘッドは,受けとったデータをデータ収集ノードに向けて送信する.このとき,データはクラスタヘッドのみを経由することが可能である.すなわち,クラスタヘッドのみがデータのルーティングを行ない,非クラスタヘッドはルーティングに参加する必要がなく,適宜スリープ状態になることができるため,消費電力の削減が可能となる.

67

Page 75: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 4.18: Sun Microsystems社のセンサーノード SunSPOT

本実験では以下の自己安定アルゴリズムを評価した.

• 文献 [47]のアルゴリズム(以下 Kamei10と表記,図 4.9)

連結支配集合問題は組合せ最適化問題とみなすことができる.すなわち,全てをクラスタヘッドにしたものは自明な連結支配集合であるため,選出するクラスタヘッド数を最小化する問題が消費電力削減の観点から重要な問題と考えることができる.Kamei10は分散制御のもとで,選出するクラスタヘッド数を最悪時でも最適解の高々6倍に押えることを理論的に保証した近似アルゴリズムであるところに特色がある.このアルゴリズムは実行モデルとして中央デーモンを仮定している.

ハードウェア及び開発環境の概要

実験に用いたセンサーネットワークノードは,Sun Microsystems社(現 Oracle

社)のセンサーノード SunSPOTである(図 4.18).ハードウェアの概要は以下の通りである.

• CPUは 32ビットARM920Tで,クロックは 180MHz

• メモリは 4MBのフラッシュメモリ(プログラム用)と 512KBのスタティック RAM(データとスタック用)で構成

• 無線通信デバイスとして 2.4GHz IEEE 802.15.4準拠のチップを搭載

SunSPOT には Java 仮想マシンが搭載されており,データパケットの送信・受信を行なう API が用意されている.通信形態には,信頼性のないパケット通信

68

Page 76: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

(a) 2分木ネットワーク (b) 6 角メッシュネットワーク

図 4.19: 実験で用いた仮想ネットワーク・トポロジー

のラジオグラム (radiogram)と信頼性のあるストリーム通信のラジオストリーム(radiostream)が提供されている.パケットの送信は CSMA/CA方式により行なわれる.また LED点灯や USBインターフェースによるデータ出力の APIも提供されている.SunSPOT で動作するプログラムはこれら API を用いて Javaで記述すればよい.プログラムの開発環境は Microsoft Windows XP上で動作する NetBeansを用い

た.評価対象のアルゴリズムは Javaで記述した.プログラムはWindows XP上のNetBeansでクロス開発し,センサーノードのフラッシュメモリに書き込む手順をとった.

実験内容

本実験では最大37台のSunSPOTノードを用いた.今回も仮想的なネットワーク・トポロジーを構成して実験を行なった.この理由は,前節のFreescale Semiconductor

社のセンサーノードの実験のところで述べた理由と同じである.仮想的なネットワーク・トポロジーとして,2分木ネットワークと 6角メッシュネットワークを用いた.2分木ネットワークでは 31ノードを,6角メッシュネットワークでは 37ノードを使用した(図 4.19参照).実行するプログラムは,評価対象のアルゴリズムに対してキャッシュ式センサーネット変換を手作業で行ない,Javaで記述した.通信はラジオストリームを用いて行なった.

69

Page 77: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 4.20: Sun Microsystems社 SunSPOTを用いた実験の様子

アルゴリズムの動作開始に先立ち,各ノードは局所変数をランダムな値に設定する.これは自己安定アルゴリズムが任意の初期状況より動作可能であるためである.各センサーノードの動作の記録は,ベースステーションと呼ばれるセンサーを有しない SunSPOTに対して各 SunSPOTが無線でアルゴリズムの動作結果を送信することで行なった.ベースステーションは受信したデータをUSBインターフェースで PCに送り,PCはそれを記録した.実験の様子を図 4.20に示す(なお使用している USBケーブルは SunSPOTに電源を供給するためのもので,通信には用いていない).

アルゴリズムの評価尺度は,初期状況から正当な状況に到達するまでのラウンド数である.この値が少なければ,ネットワークトポロジーの変化やノードのメモリにソフトエラーが発生しても,より少ない時間で正常なノードクラスタリングを再計算して安定することを表している.各アルゴリズムは 100回動作させ,それぞれで初期状況から正当な状況に到達するまでのラウンド数を測定し,その平均を求めた.状態を隣接ノードに送信する時間間隔,すなわち 1ラウンドに相当する時間は 2秒に設定した.

70

Page 78: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

表 4.2: 自己安定 CDSアルゴリズムの実験結果(安定するまでのラウンド数)

2分木ネットワークKamei10

実験結果 (パケット損失率 42%) 16.82シミュレーション (パケット損失率 40%) 8.48

6角メッシュネットワークKamei10

実験結果 (パケット損失率 69%) 31.82シミュレーション (パケット損失率 70%) 17.35

実験結果

表 4.2に 2分木ネットワークと 6角メッシュネットワークでの実験結果をそれぞれ示す(詳細は文献 [55]を参照のこと).表中におけるシミュレーションとは,比較のために,キャッシュ式センサーネット変換を計算機シミュレーションした結果である.シミュレーションでは中央デーモンによる実行,すなわち一度にひとつのノードのみを実行する形をとった.実機での実験においてパケット損失率を測定し,シミュレーションではその値とほぼ同じパケット損失率をシミュレートした.なおシミュレーションにおけるパケット損失は,一様かつランダムに発生するよう設定した.

考察

総論として,実機で安定に要するラウンド数はシミュレーションでのそれの倍程度となっている.すなわち,実機での性能はシミュレーションによる値の半分程度である.これは以下の 2つ原因が考えられる.

• アルゴリズム Kamei10は中央デーモンを仮定して設計されているが,実機の動作では複数のノードが同時に動作をする場合がある.このため Kamei10

では想定されていない動作が発生した可能性がある.

• シミュレーションでのパケット損失は一様かつランダム起きる設定にしているが,実機ではそうではない可能性がある.

71

Page 79: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

図 4.21: SunSPOT群における 2ノード間の受信成功確率の分布(文献 [54]より引用)

以下ではこれら 2つの原因について考察する.まず前者について考察する.中央デーモンを仮定して設計されたアルゴリズム

Shukla95を実機で動作させた時に,シミュレーションと実機とでは性能の低下が見られたのは前述の通りである.これと同様なことが本実験でも発生したものと思われる.次に後者について考察する.本実験では,図 4.20に示すように,一箇所に全てのノードを配置して実験を行なった.このためパケット衝突が頻繁に発生した.文献 [54]では本実験と同様な設定で実験が行なわれており,2ノード間の受信成功確率(1からパケット損失率を引いた値)の分布が測定されている(図 4.21).これはノード群のなかの任意の 2ノードの対に対し,その間でのパケットの受信成功確率を測定したものである.図 4.21の横軸は受信成功確率を表し,縦軸は各受信成功確率を持つノード対の数を表す.図から分かるように,ノード対によって受信成功確率が大きく異なる.文献 [54]では,シミュレーションの際に一様にパケット損失を起こす設定と,図 4.21に従う分布でパケット損失を起こす設定とでは,後者の設定の方がより実機での性能に近くなることが示されている.本実験でも同様なことが言えるものと思われ,これがシミュレーションと実機の性能の違いの大きな理由のひとつと考えられる.

72

Page 80: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

4.4 結論本章では分散アルゴリズム,特に自己安定アルゴリズムをセンサーネットワークで実現するための手法と,実機を用いた実験結果を紹介した.本章で紹介した手法は,高水準な計算モデルでアルゴリズムの設計と検証を行ない,キャッシュ式センサーネット変換を用いて実際のセンサーネットワークで動作するプログラムを得る方法である.この手法はアルゴリズムの設計と検証が比較的容易であるという利点がある.実験に用いたアルゴリズムHuang92, Shukla95,

Ikeda02, Turau07, Kamei10はいずれも高水準な計算モデルで設計され,自己安定性を有することが,すなわち,正当性が理論的に証明されている.文献 [51]と [46]

では,キャッシュ式センサーネット変換を用いて高水準な計算モデルで設計された自己安定アルゴリズムをパケット損失が発生するセンサーネットワークで動作させても,自己安定性を有することが示されている.センサーネットワーク及びアドホック・ネットワーク向きの分散アルゴリズムの多くの研究では,シミュレーションによりアルゴリズムの動作確認を行なっているだけであり,正当性の証明を行なっているものはほとんどないのが実情である.一方,本手法では理論的にアルゴリズムの正当性の証明が可能であり,低い実行時コストにより実機で動作可能な点が大きな特徴である.センサーネットワーク実機を用いた実験結果は,シミュレーション結果と若干異なる結果も見られた.これは実機環境とシミュレーションモデルとの相違によるものであり,シミュレーションモデルをより厳密なものにすることでより実機での値に近い結果が得られるものと考えられる.しかし自己安定アルゴリズムの評価では,初期状況を様々なランダムなものとしてシミュレーションを開始する必要があるため,例えばパケットレベルでの詳細なシミュレータでは時間がかかり過ぎてしまうという欠点も挙げられる.性能を予測するに十分な水準を持ちつつ,ある程度の抽象度の高さを持った高速なシミュレータの開発が今後有用になってくるものと言える.

73

Page 81: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

第5章 おわりに

本事業は,IT社会における安全・安心の確保を図り,人間の知的活動を支援するため,アドホック・ネットワーク技術,およびその応用システムの研究開発に対して適切な指針を与えることを目的とし,調査研究・情報収集活動を実施した.本報告書はその活動についてまとめたものである.第 1章では,アドホック・ネットワークについて,その特徴や,問題点,応用分

野などについて調査研究した結果をまとめた.アドホック・ネットワーク技術を活用するためには,ハードウェア技術,ソフトウェア技術どちらも重要となる.そこで,ハードウェアとソフトウェアの両面から調査研究を行うこととした.ソフトウェア面においては,アドホック・ネットワーク技術において重要となる分散アルゴリズムに関する調査と,ルーティング・プロトコルの調査を行った.アドホック・ネットワークは自律分散型ネットワークであり,中央システムの存在を仮定しない.つまり各端末は,局所的に得られる情報を利用しながら,全体としてネットワークが動作するよう協調しなければならない.そのため,第 2章では,アドホック・ネットワーク技術に必要な分散アルゴリズムについて調査研究した結果をまとめた.また,第 3章では,アドホック・ネットワークの特徴(ネットワーク・トポロジーが頻繁に変化する)に即した各種ルーティング・プロトコルを,その動作方式やネットワーク構造などで比較した結果をまとめた.分散アルゴリズムとルーティング・アルゴリズムは,アドホック・ネットワークのソフトウェア技術の中心課題であり,それらについて網羅的に調査研究した結果をまとめることができた.また,ハードウェア面においては,特に理論と実践(シミュレーションと実機)という観点からの比較調査を行った.アドホック・ネットワークのソフトウェア開発は,多くの場合計算機を用いたシミュレーションにより行われる.したがって,シミュレーションでは動作していたソフトウェアが実機での実験では適切に動作しないといったことが発生する.これは,シミュレーションでは実機の動作環境

74

Page 82: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

をすべて網羅することができないことが大きな要因である.第 4章では,このようなシミュレーションと実機での実験で結果が異なるような状況について中心に調査研究し,その結果をまとめることができた.本報告書がアドホック・ネットワーク技術を活用するための指針として活用されることを期待する.本事業は 2年計画であり,今年度はその 1年目である.2年目の事業では,アド

ホック・ネットワーク技術を用いた応用システムに関する調査を中心に,応用システムを開発するときに重要となるセキュリティに関する課題などについて調査研究する予定である.

75

Page 83: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

参考文献

[1] D.B. Johnson and D.A. Maltz. “Dynamic Source Routing in Ad Hoc Wireless Net-

works,” Mobile Computing, Kluwer Academic Publishers, 353, 153–181, 1996.

[2] P. Karn. “MACA – A New Channel Access Method for Packet Radio,” Proc.

ARRL/CRRL Amateur Radio Computer Networking Conference, 134–140, 1990.

[3] V. Bharghavan, A. Demers, S. Shenker and L. Zhang. “MACAW: A Media Access

Protocol for Wireless LANs,” Proc. ACM SIGCOMM, 212–225, 1994.

[4] C.L. Fullmer and J.J. Garcia-Luna-Aceves. “Floor Acquisition Multiple Access

(FAMA) for Packet-Radio Networks,” Proc. ACM SIGCOMM, 262–273, 1995.

[5] C.L. Fullmer and J.J. Garcia-Luna-Aceves. “Solutions to Hidden Terminal Prob-

lems in Wireless Networks,” Proc. ACM SIGCOMM, 39–49, 1997.

[6] A. Silberschatz, P.B. Galvin and G. Gagne. “Operating System Concepts,” Wiley,

2008.

[7] 河村直哉, 萬代雅希, 渡辺尚. “スマートアンテナを用いるアドホックネットワークのさらし端末問題への対処法について,” 情報処理学会研究報告MBL,

2008(107), 33–38, 2008.

[8] 藤原淳, 杉山隆利. “無線メッシュネットワークにおけるさらし端末問題を防ぐチャネル割当法,” NTT DoCoMoテクニカル・ジャーナル, 電気通信協会,

14(4), 53–56, 2007.

[9] 張兵,ボーロン・アントワーヌ,シャグダル・オユーンチメグ, “アドホックネットワークにおける利己的な端末の検出と回避に関する検討,” 電子情報通信学会技術研究報告MoMuC, 104(444), 31–36, 2004.

76

Page 84: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

[10] 梅木智光, 岡田啓, 間瀬憲一. “気球を利用したアドホック通信システム「スカイメッシュ」の通信路特性,” 電子情報通信学会論文誌 B, J94-B(2), 94–102

(2011).

[11] K. Asakura, J. Oishi and T. Watanabe. “An Ad-hoc Unicursal Protocol for Human

Communication in Disaster Situations,” Proc. Intelligent Interactive Multimedia

Systems and Services (KES-IIMSS), 511–521, 2009.

[12] K. Asakura, H. Takikawa, J. Oishi and T. Watanabe. “An Ad-hoc Unicursal Pro-

tocol for Stable and Long-lived Communication Systems in Disaster Situations,”

International Journal of Knowledge and Web Intelligence, 1(3/4), 154–168, 2010.

[13] A. Takahashi and N. Asanuma. “Introduction of Honda ASV-2,” Proc. IEEE

Intelligent Vehicles Symposium, 694–701, 2000.

[14] 櫛田和光. “二輪車ASV技術 –車車間通信による認知支援システム,” モーターリンク,自動車技術会, 2003.

[15] 塚本淳,齋藤正史,梅津高朗,東野輝夫, “先行道路情報取得プロトコル RMDP

の設計と評価,” 情報処理学会論文誌, 47(4), 1248–1257, 2006.

[16] Y. Koyanagi, K. Asakura and T. Watanabe. “Inter-vehicle Communication Proto-

col for Acquiring Traffic Information on Specified Position,” Proc. ICWN, 431–

434, 2007.

[17] 五井智明,岡田啓,間瀬憲一, “VANETのための周辺ノードからの干渉を考慮した動的チャネル選択システム,” 電子情報通信学会論文誌B, 93(2), 143–152,

2010.

[18] アドホック・パーティー for PlayStation Portable,            http://www.jp.playstation.com/psn/adhocparty/.

[19] 山下雅史,亀田恒彦. “分散アルゴリズム,” 近代科学社, 1994.

[20] 増澤利光,山下雅史. “適応的分散アルゴリズム,” 共立出版, 2010.

[21] S. Dolev.“Self-Stabilization,” MIT Press, 2000.

77

Page 85: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

[22] E.W. Dijkstra.“Self-stabilizing systems in spite of distributed control,” CACM,17(11), 643–644,1974.

[23] L. Lmaport. “Solved problems, unsolved problems and non-problems in concur-

rency, invited address,” Proc. PODC, 1–11, 1984.

[24] S. Dolev and T. Herman. “Superstabilizing protocol for dynamic distributed sys-

tems,” Proc. 2nd Workshop on Self-Stabilizing Systems, 3.1–3.15, 1995.

[25] S. Ghosh, A. Gupta, T. Herman and S.V. Pemmaraju. “Fault-containing self-

stabilizing algorithms,” Proc. PODC, 45–54, 1996.

[26] S. Kutten and B. Patt-Shamir. “Time-adaptive self stabilization,” Proc. PODC,

149–158, 1997.

[27] C. Perkins, E. Belding-Royer and S. Das. “Ad hoc On-Demand Distance Vector

(AODV) Routing,” RFC3561, 2003.

[28] T. Clausen and P. Jacquet. “Optimized Link State Routing Protocol (OLSR),”

RFC3626, 2003.

[29] F. Jing, R.S. Bhuvaneswaran, Y. Katayama and N. Takahashi. “On-demand Mul-

tipath Routing Protocol with Golden Section Search and Neural Networks,” IJC-

NDS, INDERSCIENCE publishers, Vol.3, No.1, 15–35, 2009.

[30] F. Jing, R.S. Bhuvaneswaran, Y. Katayama and N. Takahashi. “AODV-based mul-

tipath routing protocol with preferential path selection probabilities,” IJWMC,

INDERSCIENCE publishers, Vol.3, No.3, 156–164, 2009.

[31] J. Uchida, A.K.M.M. Islam, Y. Katayama, W. Chen and K. Wada. “Construction

and maintenance of a novel cluster-based architecture for ad hoc sensor networks,”

J. of Ad Hoc & Sensor Wireless Networks, Vol.6, No.1-2, 1-31, 2008.

[32] A.K.M.M. Islam, Y. Katayama, W. Chen and K. Wada. “A novel cluster-based

architecture and a routing protocol for dynamic ad hoc radio networks,” J. of the

Institutions of Engineers, Vol. EE 33, No. I & II, 99–106, 2007.

78

Page 86: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

[33] 宮永慎太郎,片山喜章,和田幸一,高橋直久,小林基成,森田正範. “動的アドホックネットワークでの効率の良い統合・分離が可能なクラスタネットワーク構築アルゴリズム,” 電子情報通信学会論文誌 D,Vol.J91-D, No.2, 389–401, 2008.

[34] C.S.R. Murthy and B.S. Manoj. “Ad Hoc Wireless Networks – Architectures and

Protocols,” Prentice Hall, 2004.

[35] C.E. Perkins and P. Bhagwat. “Highly Dynamic Destination-Sequenced Distance-

Vector Routing (DSDV) for Mobile Computers,” Proc. ACM SIGCOMM, 262–

273, 1995.

[36] Z.J. Hass. “The Routing Algorithm for the Reconfigurable Wireless Networks,”

Proc. ICUPC, 2, 562–566, 1997.

[37] C.C. Chiang, H.K. Wu, W. Liu and M. Gerla. “Routing in Clustered Multi-Hop

Mobile Wireless Networks with Fading Channel,” Proc. IEEE SICON, 197–211,

1997.

[38] Y. Ko and N.H. Vaidya. Location-Aided Routing (LAR) in Mobile Ad Hoc Net-

works,” Proc. ACM MOBICOMM, 66–75, 1998.

[39] K. Asakura and T. Watanabe. “A Location-based Routing Protocol with Position

History for Mobile Ad-hoc Networks,” Proc. ICWN, 223–228, 2007.

[40] S. Singh, M. Woo and C.S. Raghavendra. “Power-Aware Routing in Mobile Ad

Hoc Networks,” Proc. ACM MOBICOMM, 181–190, 1998.

[41] 繁野麻衣子. “ネットワーク最適化とアルゴリズム”, 朝倉出版, 2010.

[42] S. Jain, K. Fall and R. Patra. “Routing in a Delay Tolerant Network,” Proc.

SIGCOMM, 145–158, 2004.

[43] T. Herman. “Models of self-stabilization and sensor networks,” Proc. the 5th

International Workshop of Distributed Computing (IWDC), 205–214, 2003.

[44] S.T. Huang and N.S. Chen. “A self-stabilizing algorithm for constructing breadth-

first trees,” Information Processing Letters, 41, 109–117, 1992.

79

Page 87: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

[45] M. Ikeda, S. Kamei and H. Kakugawa. “A space-optimal self-stabilizing algorithm

for the maximal independent set problem,” Proc. the 3rd International Conference

on Parallel and Distributed Computing, Applications and Technologies (PDCAT),

70–74, 2002.

[46] H. Kakugawa and T. Masuzawa. “Convergence time analysis of self-stabilizing

algorithms in wireless sensor networks with unreliable links,” Proc. the 10th Inter-

national Symposium of Stabilization, Safety, and Security of Distributed Systems,

173–187, 2008.

[47] S. Kamei and H. Kakugawa. “A self-stabilizing distributed approximation algo-

rithm for the minimum connected dominating set,” International Journal of Foun-

dation of Computer Science, 21(3), 459–476, 2010.

[48] Freescale Semiconductor. Simple Media Access Controller (SMAC) User’s Guide,

rev. 1.4, 2006.

[49] S.K. Shukla, D.J. Rosenkrantz and S.S. Ravi. “Observation on self-stabilizing

graph algorithms for anonymous networks,” Proc. the 2nd Workshop on Self-

Stabilizing Systems (WSS), 1995.

[50] V. Turau. “Linear self-stabilizing algorithms for the independent and dominat-

ing set problems using an unfair distributed scheduler,” Information Processing

Letters, 103(3), 88–93, 2007.

[51] V. Turau and C. Weyer. “Fault tolerance in wireless sensor networks through self-

stabilization,” International Journal of Communication Networks and Distributed

Systems, 2(1), 78–98, 2009.

[52] K. Yoshida, H. Kakugawa and T. Masuzawa. “Observation on lightweight imple-

mentation of self-stabilizing node clustering algorithms in sensor networks,” Proc.

the IASTED International Conference on Sensor Networks, 2008.

[53] 吉田一幸. “センサネットワークにおける自己安定クラスタリングアルゴリズムの実装と評価,” 大阪大学基礎工学部情報科学科特別研究報告, 2008年 2月.

80

Page 88: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

[54] 植村奈緒子. “アトラクター選択を用いたクラスタリングアルゴリズムの実験的評価,” 大阪大学基礎工学部情報科学科特別研究報告, 2009年 2月.

[55] 本田紘康. “センサネットワークにおける自己安定連結支配集合アルゴリズムの実験的評価,” 大阪大学基礎工学部情報科学科特別研究報告, 2009年 2月.

81

Page 89: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

この事業は、競輪の補助金を受けて実施したものです。

http://ringring-keirin.jp

Page 90: アドホック・ネットワーク技術に関する調査研究委 …...An ad hoc network is a collection of wireless mobile hosts forming a temporary network without the aid of

461-0011

TEL052-932-8951 FAX052-932-9158

E-mail:[email protected]

http://www.airpf.or.jp