64
Progress Report Kenji Kaneda

Progress Report

  • Upload
    garth

  • View
    23

  • Download
    0

Embed Size (px)

DESCRIPTION

Progress Report. Kenji Kaneda. Parallel SMP emulator. Naïve implementation has been finished. Demo. Boot Linux SMP on a dual-processor machine Execution of simple programs Type “yes > /dev/null” three times Processes are distributed over two CPUs correctly. Ad-Hoc Mobile Network Routing. - PowerPoint PPT Presentation

Citation preview

Page 1: Progress Report

Progress Report

Kenji Kaneda

Page 2: Progress Report

Parallel SMP emulator

Naïve implementation has been finished

Page 3: Progress Report

Demo

BootLinux SMP on a dual-processor

machineExecution of simple programs

Type “yes > /dev/null” three timesProcesses are distributed over two

CPUs correctly

Page 4: Progress Report

Ad-Hoc Mobile Network Routing

Kenji Kaneda

Page 5: Progress Report

Ad-Hoc Mobile Networkとは ?

E.g.) rescue operation, meeting, battle個々のノードが自律して動作近接ノード間のみ通信可能

AB

C

E

FD

Page 6: Progress Report

Ad-Hoc Mobile Network Routing (1/2)

他ノードを中継することにより、            遠くのノードにメッセージを送ることが可能になる

AB

C

E

FDsourc

edestination

Page 7: Progress Report

Ad-Hoc Mobile Network Routing (2/2)

Internet routing と異なりネットワークトポロジーが頻繁に動的に変化し、ノード名が階層的に割り当てられていない

 ことを考慮しなければいけない

Internet routing

Ad-hoc mobile network routing

133.11.12.101

133.11.12.1

133.11.12.2

133.11.12.3

A B

D

E

C

Page 8: Progress Report

Routing Algorithms

ABR SSR LMR TORA DSR

AODV WRP DSDV CGSR …

Many algorithms have been proposed

Page 9: Progress Report

Classification of Algorithms

Proactive vs. ReactiveProactive: ルーティング表を常に最新の状態に

保持Reactive: メッセージ送信時にルーティング表

を構築Flat vs. Hierarchical

Page 10: Progress Report

Rest of This Talk

Proactive RoutingDSDV

Reactive RoutingAODV

Hierarchical (Proactive) RoutingDominating-set based DSDVLandmark

Page 11: Progress Report

Proactive Routing

Page 12: Progress Report

Proactive Routing

Destination Sequenced Distance Vector (DSDV)

Clustered Gateway Switch Routing (CGSR)

The Wireless Routing Protocol (WRP)

Page 13: Progress Report

DSDV (1/2) 各ノードが Broadcast を行うことにより、 

         ルーティング表が構築される

A

B

C

D

E

F

s を経由して A に到達s

t

u

v

w

x

y

t を経由して A に到達

v を経由して A に到達

w を経由して A に到達

x を経由して A に到達

Page 14: Progress Report

DSDV (2/2)

各ノードがリンクの追加・削除が発生した時にルーティング表が更新された時に定期的に

ブロードキャストを行うことにより、ルーティング表を構築する

Page 15: Progress Report

Routing Table Update の例 1

Dest. Next Metric

A A 1

B B 0

C ? ∞

新しくリンクが追加された場合

B A C

Dest. Next Metric

A A 0

B B 1

C ? ∞

Dest. Next Metric

A ? ∞

B ? ∞

C C 0

Page 16: Progress Report

Routing Table Update の例 1

1. A と C は自分のルーティング表をお互いに送信

送られてきた情報をもとに、ルーティング表を更新

Dest. Next Metric

A A 1

B B 0

C ? ∞

B A C

Dest. Next Metric

A ? ∞

B ? ∞

C C 0

Dest. Next Metric

A A 1

B A 2

C C 0

Dest. Next Metric

A A 0

B B 1

C ? ∞

Dest. Next Metric

A A 0

B B 1

C C 1

Page 17: Progress Report

Routing Table Update の例 1

2. A は自分のルーティング表が更新されたので、再度 broadcast

Dest. Next Metric

A A 1

B B 0

C ? ∞

B A C

Dest. Next Metric

A A 1

B A 2

C C 0

Dest. Next Metric

A A 0

B B 1

C C 1

Dest. Next Metric

A A 1

B B 0

C A 2

Page 18: Progress Report

Routing Table Update の例 2

Dest. Next Metric

A A 1

B B 0

C A 2

リンクが削除された場合

B A C

Dest. Next Metric

A A 0

B B 1

C C 1

Dest. Next Metric

A A 1

B A 2

C C 0

Page 19: Progress Report

Routing Table Update の例 2

1. A, C は自分のルーティング表を更新する2. A, C は broadcast を行う

※ B も、 C に到達不可能となる( A を経由していたので)

Dest. Next Metric

A A 1

B B 0

C A 2

B A C

Dest. Next Metric

A A 1

B A 2

C C 0

Dest. Next Metric

A A 0

B B 1

C C 1

Dest. Next Metric

A A 0

B B 1

C ? ∞

Dest. Next Metric

A A 1

B B 0

C ? ∞

Dest. Next Metric

A ? ∞

B ? ∞

C C 0

Page 20: Progress Report

Routing Table Update の例 3

Dest. Next Metric

A A 1

B B 0

C C 1

リンクが削除された場合

B A C

Dest. Next Metric

A A 0

B B 1

C C 1

Dest. Next Metric

A A 1

B B 1

C C 0

Page 21: Progress Report

Routing Table Update の例 3

1. A 、 C は自分のルーティング表を更新する2. A,C は broadcast を行う

※ B は、 A と C に直接到達できるので、ルーティング表は更新されない

Dest. Next Metric

A A 1

B B 0

C C 1

B A C

Dest. Next Metric

A A 1

B B 1

C C 0

Dest. Next Metric

A A 0

B B 1

C C 1

Dest. Next Metric

A A 0

B B 1

C ? ∞

Dest. Next Metric

A ? ∞

B B 1

C C 0

Page 22: Progress Report

Routing Table Update の例 3

3. B は定期的に自分のルーティング表をbroadcast する

※ A,C のルーティング表が更新され、 B 経由でお互いに到達可能になる

Dest. Next Metric

A A 1

B B 0

C C 1

B A C

Dest. Next Metric

A ? ∞

B B 1

C C 0

Dest. Next Metric

A A 0

B B 1

C ? ∞

Dest. Next Metric

A A 0

B B 1

C B 2

Dest. Next Metric

A B 2

B B 1

C C 0

Page 23: Progress Report

Counting-to-Infinity Problem

Network topology の変化のタイミングによって、 loop が発生してしまうA は B を経由して C に到達可能B は A を経由して C に到達可能

Dest. Next Metric

A A 1

B B 0

C A 2

B A C

Dest. Next Metric

A A 1

B A 2

C C 0

Dest. Next Metric

A A 0

B B 1

C C 1

Dest. Next Metric

A A 1

B B 0

C A 2

Dest. Next Metric

A A 0

B B 1

C B 3

Page 24: Progress Report

Counting-to-Infinity の例1. AC 間のリンクが切れる2. A, C は自分のルーティング表を更新する3. B が定期的に broadcast を行う4. A, B はルーティング表の更新を繰り返す

Dest. Next Metric

A A 1

B B 0

C A 2

B A C

Dest. Next Metric

A A 1

B B 1

C C 0

Dest. Next Metric

A A 0

B B 1

C C 1

Dest. Next Metric

A A 0

B B 1

C ? ∞

Dest. Next Metric

A ? ∞

B B 1

C C 0

Dest. Next Metric

A A 0

B B 1

C B 3

Dest. Next Metric

A A 1

B B 0

C A 4

Dest. Next Metric

A A 0

B B 1

C B 5

Dest. Next Metric

A A 1

B B 0

C A 4

Dest. Next Metric

A A 1

B B 0

C A 6

Page 25: Progress Report

Counting-to-Infinity Problem

もっと複雑な loop が発生しうる sequence number を導入することに

より、 loop を回避する

Page 26: Progress Report

Sequence number とはルーティング表の各エントリに付加される単調に増加する

Sequence number の大きいエントリほど新鮮Sequence number の大きいエントリほど、優

先的に経路として選択される

A

Dest. Next Metric

Seq.

A A 0 4

B B 1 2

C B 3 2

Page 27: Progress Report

Sequence number の増加 (1/2)

定期的にブロードキャストする時に、         自分のエントリの Seq.を 2 増やす

B A C

Dest. Next Metric

Seq.

A A 0 2

B B 1 4

C C 1 2

Dest. Next Metric

Seq.

A A 0 4

B B 1 4

C C 1 2

Page 28: Progress Report

Sequence number の増加 (2/2)

リンクが削除された時に、               到達不可能になったエントリの Seq. を 1 増やす

B A C

Dest. Next Metric

Seq.

A A 0 2

B B 1 4

C C 1 2

Dest. Next Metric

Seq.

A A 0 2

B B 1 4

C ? ∞ 3

Page 29: Progress Report

Route Selection の基準Seq. の高い経路を優先的に選択

Seq. が等しい時には、 Metric の小さいもの

Dest. Next Metric

Seq.

A A 1 2

B B 0 4

C ? ∞ 3

D F 4 2

Dest. Next Metric

Seq.

A A 0 2

B B 1 4

C C 2 2

D G 6 2

Dest. Next Metric

Seq.

A A 0 2

B B 1 4

C ? ∞ 3

D G 6 2

Dest. Next Metric

Seq.

A A 0 2

B B 1 4

C ? ∞ 3

D B 5 2

BA

Page 30: Progress Report

Loop 回避例1. AC 間のリンクが切れる2. A, C は自分のルーティング表を更新する3. B が定期的に broadcast を行う

※ Seq. の小さいエントリなので無視される

B A C

Dest. Next Metric

Seq.

A A 0 2

B B 1 2

C C 1 2

Dest. Next Metric

Seq.

A A 1 2

B B 0 2

C A 2 2

Dest. Next Metric

Seq.

A A 0 2

B B 1 2

C ? ∞ 3

Dest. Next Metric

Seq.

A A 1 2

B B 0 2

C ? ∞ 3

Page 31: Progress Report

Complexity

Time complexityO(d)

Communication ComplexityO(N)

whereN = # of nodesd = network diameter

Page 32: Progress Report

Reactive Routing

Page 33: Progress Report

Reactive Routing

Ad hoc On-Demand Distance Vector Routing (AODV)

Dynamic Source Routing (SOR)Temporally Ordered Routing

Algorithm (TORA)…

Page 34: Progress Report

AODV

On-demand にルーティング表を構築する

定期的な broadcast を必要としない※ メッセージ送信の際の latency は増大

する

Page 35: Progress Report

ルーティング表の構築 (1/3)~ Reverse Path Setup ~

A

B

C

D F

EAC

AB

ACE

ACD

ACDF

source destinatio

n

Page 36: Progress Report

ルーティング表の構築 (2/3)~ Forward Path Setup ~

A

B

C

D F

EAC

AB

ACE

ACD

ACDF

FDC

FD

FDCA

source destinatio

n

Page 37: Progress Report

ルーティング表の構築 (3/3)~ Cache の利用 ~

A

B

C

D F

EAC

AB

ACE

ACD

ACDF

FDC

FD

FDCA

source destinatio

n

A から F の経路を計算したときに蓄えら

れた情報を利用

Page 38: Progress Report

Path Maintenance

Sequence number を利用することにより、 loop を回避DSDV とほぼ同様

一定時間以上経過した経路情報は削除

Page 39: Progress Report

Complexity

Time complexityO(2d)

Communication ComplexityO(2N)

whereN = # of nodesd = network diameter

Page 40: Progress Report

Hierarchical Routing

Page 41: Progress Report

Hierarchical Routing

階層構造を利用してルーティング表の縮小・集約メッセージ数の削減

などを実現する

133.11.12.101

133.11.12.1

133.11.12.2

133.11.12.3

133.11.9.11

133.11.9.31

133.11.9.11

Page 42: Progress Report

Hierarchical Routing

Dominating-set based DSDVLandmark RoutingClustered Gateway Switch

Routing (CGSR)…

Page 43: Progress Report

Hierarchical Routing

各ノードは自律的に動作しながら階層構造を構築

各ノードは、ネットワークトポロジーの変化に応じて、動的に階層構造を再構築する

※ Internet routing ならば、階層構造の構築は、ほぼ手動(ネットワーク管理者の作業)

Page 44: Progress Report

Dominating-set based DSDV

2-level hierarchyGateway と non-gateway が存在Gateway 間では、 shortest path を計算Non-gateway は、隣接 gateway のうち

のどれかを中継してメッセージを配送

non-gateway

gateway

Page 45: Progress Report

Gateway はどうなるべきか?Minimum Connected Dominating set (MCDS)

が望ましい Given a graph G=(V,E), U (⊆V) i

s a connected dominating set if ∀v ∈ V–U, ∃u ∈ U, uv ∈ E and the subgraph of G induced by U is connected

Page 46: Progress Report

approximate MCDS を求める分散アルゴリズム

各ノードは、自分から 2hop 先のノードまでを把握する

以下の条件を満たすノード u を gateway とする∃v,w ∈ N, (uv ∈ E) ∧ (uw ∈ E) ∧ (vw ∈ E) where N = { v | uv ∈ E }

u

v w

Page 47: Progress Report

Landmark Routing

Landmark と呼ばれるノードによって階層構造を構築

Page 48: Progress Report

Landmark

Landmark of radius r   = a node for which all nodes within r hops contain a routing entry

v

Landmark of radius 2

v への経路を知っているノード

Page 49: Progress Report

Hierarchy of Landmarks (1/3)

Hierarchy Level各 Landmark に与えられる 0 から H までの値level の高い Landmark ほど radius も大きい※ Li を level i の Landmark の集合とする※ ri(v) を level i の Landmark v の radius と

する

Level 0

Level 1

Level 2

Page 50: Progress Report

Hierarchy of Landmarks (2/3)

以下の条件を満たすように Landmark を定める

[ 条件 1] 全てのノードは、 level 0 のLandmark

Page 51: Progress Report

Hierarchy of Landmarks (3/3)

以下の条件を満たすように Landmark を定める[ 条件 2] 全ての level i の Landmark   v にお

いて、     ri(v) ホップ中に level i+1 のLandmark が    少なくとも一つの存在

vu

Level 0 の

Landmark

r1(u)

Level 1 の

Landmark

wLevel 2

のLandmar

k

r0(v)

Page 52: Progress Report

Routing Table

ノード v は、以下のノードへの経路をもつr0(v) 内に位置する全ての level 0 の Landmarkr1(v) 内に位置する全ての level 1 の Landmark…

vu

Level 0 の

Landmark

r1(u)

Level 1 の

Landmark

w

r0(v)Level 2

のLandmar

k

Page 53: Progress Report

Landmark Address

各ノードに nHnH-1…n0 というアドレスを割り当てる

ただしni (0 ≦ i ≦ H) は level i の Landmark の名前n0 は自分の名前ni は、 ni-1 から ri-1(ni-1) ホップ中に存在

E.g.) v の Landmark address は、 wuv

Page 54: Progress Report

Routing in a Landmark Hierarchy

宛先を Landmark address で指定Landmark address の下位からみて、

経路の分かるノードに転送

vu

Level 0 の

Landmark

Level 1 の

Landmark

wLevel 2

のLandmar

k

source

u,v への経路が不明なので w に転送

v への経路が不明なので u に転送

Page 55: Progress Report

Dynamic Algorithms in Landmark Routing (1/4)

動作の概要Election により階層構造を動的に構築Distance vector routing で経路を計

算ノード名を Landmark address に

mapping

Page 56: Progress Report

Dynamic Algorithms in Landmark Routing (2/4)

Election により階層構造を動的に構築

Page 57: Progress Report

Dynamic Algorithms in Landmark Routing (3/4)

Distance vector routing で経路を計算Level i の Landmark であるノード v に関する

情報は、 ri(v) だけ伝播される

Level i のLandmar

k

ri(v)=2v

v への経路を知っているノード

Page 58: Progress Report

Dynamic Algorithms in Landmark Routing (4/4)

ノード名を Landmark address に mappingノード名から Landmark   address へのハッ

シュ関数 H を利用して、分散管理v の Landmark address は、 Landmark address が

H(v) であるノードが管理

uv

v の Landmark address =xyv

v にメッセージを送信したい .そのために v の landmark address

を知っている必要がある

w の Landmark address = H(v)

w自分のLandmark を登録v の Landmark

Address を問い合わせる

Page 59: Progress Report

Summary

Ad-hoc mobile network routingDSDVAODVDominating-set based DSDVLandmark

Page 60: Progress Report

References (1/3)

“A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless Networks”E. Royer and C-K. TohIEEE Personal Communications

Magazine1999

Page 61: Progress Report

References (2/3)

“Highly Dynamic Destination-Sequenced Distance-Vector Routing (DSDV) for Mobile Computers” Charles Perkins and Pravin Bhagwat SIGCOMM 1994

Ad hoc On-Demand Distance Vector Routing Charles Perkins and Elizabeth M Mobile Computing Systems and Applications 1999

Page 62: Progress Report

References (3/3) “The Landmark Hierarchy: a new

hierarchy for routing in very large networks” P.F. Tsuchiya Communication Review, vol. 18, No. 4 1998

“A Dominating-Set-Based Routing Scheme in Ad Hoc Wireless Networks” Jie Wu and Hailan Li Telecomm. Systems, A special issue on

Wireless Networks 2001

Page 63: Progress Report

Appendix

Page 64: Progress Report

Peer-to-Peer Routing Algorithms

E.g.) Pastry, CAN, ChordAd-hoc mobile network と異なり

各ノードはお互いに直接通信可能厳密にルーティングを行う必要は必ずしもな

い例)ある特定のファイルをもつノードのうちの  

                どれかに届けば十分