610 likes | 873 Views
自律分散協調システム. 自律分散協調コンピューティング. 分散コンピューティング 分散アルゴリズム いくつかの事例 Mobile Ad hoc Networks Wireless Sensor Networks マルチエージェント Software Agent Mobile Agent CSCW システム 遺伝的アルゴリズム ニューラルコンピューティング. Mobile Ad hoc Networks. 無線アドホックネットワーク. アドホックネットワークとは? ネットワーク ・ インフラが存在しない peer-to-peer での通信スタイル
E N D
自律分散協調コンピューティング • 分散コンピューティング • 分散アルゴリズム • いくつかの事例 • Mobile Ad hoc Networks • Wireless Sensor Networks • マルチエージェント • Software Agent • Mobile Agent • CSCWシステム • 遺伝的アルゴリズム • ニューラルコンピューティング
無線アドホックネットワーク • アドホックネットワークとは? • ネットワーク・インフラが存在しない • peer-to-peerでの通信スタイル • トポロジが人や物の動きと共に動的に変化する • ノードの移動、無線電波品質の変化 • Weak Connectivity • 常時接続の保証ではない
アドホックネットワーク:応用例 • パーソナルエリアネットワーク • 携帯電話、ラップトップ、時計 • 軍隊の (Military) 環境 • 兵士、戦車、戦闘機 • 一般市民の (Civilian) 環境 • タクシーネットワーク、ミーティングルーム、スポーツスタジアム、ボート • 緊急時の操作 • 地震、洪水、竜巻 • 捜索と救出、警察や消防士
Traditional Networks • Internet は Ad Hoc Networkではない • ネットワーク・インフラは固定 • ネットワーク・トポロジはほとんど変化しない
Cellular Networks • Cellular Networks は Ad Hoc Networkではない • 終端ホップは無線だが、ネットワーク・インフラは固定 基地局 基地局 交換機 交換機 基地局 基地局
Single-hop Wireless Networks • Cellular networks と基本的には同じ • 電波の届く距離にアクセスポイントが必要 有線ネットワーク 無線ネットワーク アクセスポイント
Multi-hop Wireless Ad Hoc Networks • 一般的に言われているAd Hoc Network • ネットワーク・インフラが存在しない • トポロジの変化が発生する • ノードの移動、無線電波品質の変化
アドホックネットワーク(応用例) • パーソナルエリアネットワーク • 携帯電話、ラップトップ、時計 • 軍隊の (Military) 環境 • 兵士、戦車、戦闘機 • 一般市民の (Civilian) 環境 • タクシーネットワーク、ミーティングルーム、スポーツスタジアム、ボート • 緊急時の操作 • 地震、洪水、竜巻 • 捜索と救出、警察や消防士 • センサネットワーク
Key Technology: Flooding • Internet • ノードが持つIPアドレスがネットワーク上の位置を示している • ルータは宛先アドレスを基にデータを次のルータ/ノードに中継する • Ad Hoc Networks • すべてのノードがルータの役割をする • ノードは移動するため、宛先までの経路は頻繁に変化する • 経路の分からない宛先までデータを届けるメカニズムが必要 Flooding
Flooding for Data Delivery • 送信者Sは宛先Dのデータ(パケット)Pをすべての近隣ノードにブロードキャストで転送する • Pを受け取った各ノードはさらに近隣のノードにPをブロードキャストで転送する。 • 同じパケットを何度も転送することを避ける為にPにはシケーンス番号を付けておく • Pが宛先Dまで到達するとDは自分宛てのパケットなので中継しない。
Flooding for Data Delivery Y Z S E F B C M L J A G H D K I N パケットPをすでに受信したノード お互いにデータが送受信可能なノード
Flooding for Data Delivery Y ブロードキャストによる転送 Z S E F B C M L J A G H D K I N パケットPを最初に受信したノード パケットPの転送
Flooding for Data Delivery Y Z S E F B C M L J A G H D K I N
Flooding for Data Delivery Y Z S E F B C M L J A G H D K I N ノードCはパケットPをGとHから受け取るが、すでに転送したパケットであるため、もう一度転送はしない。
Flooding for Data Delivery Y Z S E F B C M L J A G H D K I N
Flooding for Data Delivery Y Z S E F B C M L J A G H D K I N ノードDは最終宛先である為パケットPをノードNに転送しない
Flooding for Data Delivery Y Z S E F B C M L J A G H D K I N Flooding 終了
Flooding for Data Delivery: Advantages • 簡単なメカニズム (実装が容易) • データパケット以外の情報を送信する必要がない • トポロジの変更が頻繁に起こるような環境では経路の管理 (Discovery/Maintenance) をする必要がないため効率的 • データ配信の信頼性が高い • パケットが複数の経路を通って宛先に届くので信頼性がある
Flooding for Data Delivery: Disadvantages • オーバーヘッドが大きい • パケットが無駄に多くのノードに配信される。 • データ配信の信頼性を100%にすることが難しい • Flooding はブロードキャストを使っている。 • 信頼性のあるブロードキャストを実装することはオーバーヘッドをさらに増加させる。 • 同時に2つのノードがパケットを送信するとパケットの衝突が起こる可能性がある→パケット喪失 無線の帯域は狭い為、データをFloodingさせるメカニズムはスケーラビリティの点で難点がある
Flooding of Control Packets • データパケットではなくコントロールパケットを flooding する • コントロールパケットは経路を発見するために利用する • 発見した経路はデータパケットを送るのに利用する • 経路を管理するためにコントロールパケットを定期的に送る必要がある • ノードの移動に伴い経路が変化する可能性がある
アドホックネットワークを実現するためのプロトコルの研究アドホックネットワークを実現するためのプロトコルの研究 • DARPA(米国国防総省) 研究プログラム • Packet Radio Network (PRNET) 1972-1983 • Survivable Adaptive Networks (SURAN) 1983-1992 • Global Mobile Information Systems (GLOMO) 1995-2000 • IETF Mobile Ad Hoc Networks (MANET) Working Group1997- • Dynamic Source Routing (DSR) • Ad-hoc On-demand Distance Vector Routing (AODV)
アドホックネットワークのルーティングプロトコルの分類アドホックネットワークのルーティングプロトコルの分類 • Reactive 型 (On-Demand型)プロトコル • 経路が必要な時に宛先までの経路を作成 • Proactive 型 (Table-Driven型)プロトコル • あらかじめ各宛先への経路を構築しておく • Hybrid型プロトコル
DSR: Dynamic Source Routing • ノードSがパケットをDに送りたいが経路を知らない場合 Route Discoveryを行う • ノードSはRoute Request (RREQ)を Flooding する • それぞれのノードはRREQを中継する際に 自分のアドレスをRREQに付加する David B. Johnson (CMU → Rice Univ.)
Route Discovery in DSR Y Z S E F B C M L J A G H D K I N SからDに対する RREQ を既に受け取ったノード
Route Discovery in DSR Y Z [S] S E F B C M L J A G H D K I N [X,Y] RREQ に付加しているアドレスのリスト
Route Discovery in DSR Y Z S [S,E] E F B C M L J A G [S,C] H D K I N
Route Discovery in DSR Y Z S E F [S,E,F] B C M L J A G H D K [S,C,G] I N ノードCは RREQ をGとHから受け取るが、すでに転送したRREQであるため、もう一度転送はしない。
Route Discovery in DSR Y Z S E F [S,E,F,J] B C M L J A G H D K I N [S,C,G,K]
Route Discovery in DSR Y Z S E [S,E,F,J,M] F B C M L J A G H D K I N ノードDは最終宛先である為RREQをノードNに転送しない
Route Discovery in DSR • ノードDは Router Reply (RREP)を返答する。 • RREPはRREQに付加しているアドレスを逆にたどって送られる。 • RREPにはSからDへの経路の情報が含まれている。 • ノードSは最初に受け取った RREP に含まれている経路をノードDまでの経路として記憶(キャッシュ)する。
Route Reply in DSR Y Z S RREP [S,E,F,J,D] E F B C M L J A G H D K I N RREP の転送 SはDへの経路は S→E→F→J→D であると記憶する。
Data Delivery in DSR Y Z DATA [S,E,F,J,D] S E F B C M L J A G H D K I N 経由するノードが多くなる程、パケットヘッダが大きくなる
Route Error (RERR) Y Z RERR [J-D] S E F B C M L J A G H D K I N JはDへの経路が壊れたというメッセージを含んだReply Error (RERR)をJ→F→E→Sという経路で送信ノードSに送る。 RERRを受け取ったノードSはJ→Dの経路情報を消去する。
AODV: Ad-hoc On-Demand Distance Vector Routing • DSRは宛先のルートをすべてパケットのヘッダに含んでいる。 • 大きなヘッダは転送効率を悪くする。 • AODVはデータパケットに経路を含ませないようにする為に、各ノードで経路情報を保持する。 Charles E. Perkins (IBM→Sun→Nokia)
Route Requests in AODV Y Z S E F B C M L J A G H D K I N SからDに対する RREQ を既に受け取ったノード
Route Requests in AODV Y ブロードキャストによる転送 Z S E F B C M L J A G H D K I N RREQの転送
Route Requests in AODV Y EはRREQをSから受け取ったことを記憶しておく。 Z S E F B C M L J A G H D K I N 逆方向の経路のリンク
Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N
Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N
Reverse Path Setup in AODV Y Z S E F B C M L J A G H D K I N
Route Reply in AODV Y Z S E F B C M L J A G H D K I N RREPによって通知される経路
Forward Path Setup in AODV Y Z S E F B C M L J A G H D K I N RREPが逆の経路を通ってSに戻ってきた時各ノードの経路情報は設定される 送信経路
Data Delivery in AODV Y DATA Z S E F B C M L J A G H D K I N
Route Error in AODV • ノードの移動により経路が壊れた場合、すべてのノードにRoute Error を伝えなくてはならない。(各ノードが持つ古い経路情報を消去するため) Route Error Packet の Flooding が起こる 一定時間使われなかった経路情報は消去する。
Summary: DSR vs. AODV • DSR • 送信ノードは宛先までの完全な経路を知っている。 • ネットワークトポロジの変化が少ない時に高い性能 • パケットにルーティング情報が入るため転送効率が悪い • AODV • 各ノードは宛先に届けるために次にどのノードに投げれば良いかだけを知っている。 • ネットワークトポロジが頻繁に変更する時に高い性能 • まだ有効な経路情報を消去してしまう危険性がある。