M1 gp_Disco

32
Practical Asynchronous Neighbor Discovery and Rendezvous for Mobile Sensing Applications Prabal Dutta, David Culler Computer Science Division, University of Berkeley {prabal,culler}@cs.berkeley.edu SenSys’08, November 5-7, 2008. 発発発 発発発発 [email protected] 1

description

M1GPのスライドです。テーマは低duty cycleでのランデブーアルゴリズム。DSのこと話していた人です。

Transcript of M1 gp_Disco

Page 1: M1 gp_Disco

Practical Asynchronous Neighbor Discovery and Rendezvous for Mobile Sensing Applications

Prabal Dutta, David CullerComputer Science Division, University of Berkeley

{prabal,culler}@cs.berkeley.eduSenSys’08, November 5-7, 2008.

発表者:下城拓也 [email protected]

1

Page 2: M1 gp_Disco

アウトライン

• 研究背景• 目的• Disco• 評価• まとめ

2

Page 3: M1 gp_Disco

研究背景

• 無線通信のアプリケーションの拡大

3

すれ違い通信 家畜の管理

Page 4: M1 gp_Disco

研究背景• 非同期な状態(いつ ON になるか予測できない)

で、新しい端末を早く、確実に発見したい• だが、電力消費は抑えたい

4

近くに 3 つあるな

新しく電源を入れたな

Page 5: M1 gp_Disco

Duty cycle• 無線通信の省電力化⇒間欠動作

– たまに ON して残りを OFF– お互い ON 状態で通信⇒ランデブー

• ON/OFF の比率を duty cycle という

5間欠動作 ランデブー

Duty cycle

Duty cycle=1% の時消費電力は 1/100 に。1 回の通信の単

位=スロット

ON OFF OFF

TransmitListen

Recieve

OFF

Page 6: M1 gp_Disco

目的

• 非同期無線通信システムでのランデブー– 低 duty でも確実な発見を保証– 各ノードで任意に duty cycle を決定可能– 人の手による補助は不要

• ほぼ同期されたリセットなどは期待できない

6

電池残量多いデータを集める

etc

電池残量少ないデータを送るだ

けetc

Duty cycle を高く設定(e.g.10%)

Duty cycle を低く設定(e.g.1%)

Page 7: M1 gp_Disco

関連研究• Quorum [Tseng02]

– n2 個のスロットを正方形に配置– 任意の行で Listen ,任意の列で Transmit→交点でランデブーできる– duty cycle を自由に設定できない

• Birtyday protocol [McGlynn01]– ランダムに Listen, Transmit, Sleep– ノード数が多ければランデブー率が高い– cf.) 誕生日トリック

40 人クラスで同じ誕生日の人がいる確率

→ 83%

– 確率的モデルなのでランデブーを保証できない

7

8721

10943

121165

20191413

22211615

24231817

32312625

34332827

36353029

Transmit

Listen

Rendezvous

Page 8: M1 gp_Disco

Disco (ランデブーアルゴリズム)• 各ノードは素数の組  を用意

– ただし,

• 各ノードは時刻をカウントするタイマを持つ

• タイマの値が  のいずれかで割り切れるときに ON

8

Node 1(7, 13)→21%

Node 2(13, 31)→10%

・・・ 5 6 7 8 9 10 11 12 13 14 15 16 17 18・・・

・・・10 11 12 13 14 15 28 29 30 31 32 33 34・・・・・・

ON ON

ON ON

ON

Page 9: M1 gp_Disco

Disco: 単純化したモデル

• 各ノードが互いに素な数 mi, mj を選べれば ...

→mi × mj 毎に必ずランデブー– cf.) 中国の剰余定理

9

Node 1 (3)

Node 2 (5)

0 1 2 3 4 5 6 7 8 9 10 11 12 13・・・

global な時刻 x 1 2 3 4 5 6 7 8 9 10 11 12 13 14・・・0

0 1 2 3 4 6 7 8 9 10 11 12・・・5

15 16 17 18 19 20 21 22 23 24 25 26 27 28・・・・・・14 15 16 17 18 19 20 21 22 23 24 25 26 27・・・・・・

14 15 16 17 18 20 21 22 23 24 25 26・・・19・・・13

Page 10: M1 gp_Disco

Disco

• 全ノード間で独立に互いに素な数は選べない→ 2 つの素数の組を選ぶ

– 同じ素数の組を選んでも,必ず互いに素となる組み合わせが存在

• 素数の組み合わせの選び方に注意– 組み合わせにより性能が大きく変わる– 例) ランデブーに要するスロット数は小さい方の素数の

積• (97, 103), (53, 883) → 97 × 53 = 5141• (53, 883), (53, 883) → 53 × 883 = 46799

10

5%=(23,157)

5%=(23,157)

Page 11: M1 gp_Disco

評価

【 Simulation 】• 周囲にノードを複数配置し発見時間測定• 素数、 duty cycle の組み合わせと発見時間の関係【 Empirical 】• Simulation の評価に加え、 Clock skew および slot の

ずれによる Simulation との違いがでるかどうか

評価には TinyOS operating system,Telos wireless transmissions を用いた

11

Page 12: M1 gp_Disco

評価 (Simulation)

• 有限時間内に確実に発見。素数の組み合わせによって発見時間を早めることが可能

12違う組み合わせが早い 組み合わせ数は離れている

ほうが早い

Page 13: M1 gp_Disco

素数の選び方

13

シンメトリックな組み合わせ

アシンメトリックな組み合わせ

アシンメトリックなもののうちバランスな組み合わせ

アシンメトリック・アンバランスな組み合わせ

(37,43)(37,43)etc

(31,59)(37,43)etc

(31,59)(37,43)etc

(31,59)(23,157)etc

アンバランス・アシンメトリックな組み合わせが一番発見時間が短い!

Page 14: M1 gp_Disco

クラス分けによる発見時間短縮• 近くのノードには同じ素数、遠くのノードには違う素

数を当てはめることで、クラス内の発見時間は悪くなるが他クラス間の発見時間を短縮することができる

14

5%=(23,157)

5%=(31,59)

5%=(61,73)

Page 15: M1 gp_Disco

評価( Empirical)

Clock skew ・ Slot のずれが起こる実測の場合でも、きちんと動作する

15

Page 16: M1 gp_Disco

まとめ

• 低い( 1~5%)duty cycle でも有限時間内に確実にランデブーする

• 素数の組み合わせを考え、クラスの考えを用いることよって発見時間短縮が可能

• Empirical では clock skew や slot のずれがあっても動作することを確認

16

Duty cycle=5%(20 秒に 1 回 ON)

Duty cycle=1%(100 秒に 1 回 ON)

Page 17: M1 gp_Disco

感想など

• 面白かった部分– シンプルな手法で確実なランデブーを保証し

duty cycle に自由度を持たせる– 素数の組み合わせによって発見時間が大きく

変わる点– Clock skew や slot のずれにも対応できている

• Future works– Disco を採用し MAC をもっといいものに– 送信、受信に特化したノードの通信

17

Page 18: M1 gp_Disco

Appendix

18

Page 19: M1 gp_Disco

中国の剰余定理

3 で割ると、 2 余る。5 で割ると、 3 余る。7 で割ると、 2 余る。このような数を答えよ。

A=23

19

【解法】3 で割ると、 2 余る数として

1405 で割ると、 3 余る数として

637 で割ると、 2 余る数として

30を考える。

これらの和 233 から3*5*7=105 を

繰り返し引くことにより、233-105-105=23 を得る。

最小公倍数までにランデブーすることを示している(余り

はスロットのずれ)

Page 20: M1 gp_Disco

中国の剰余定理

20

また、下のように考えることもできる。【解法】p,q,r を任意の整数とする。

x=3p+2 ④④を②に代入3p≡1(mod5)6p≡p≡2(mod5)∴ p=5q+2 ⑤これを繰り返しX=105r+23r=0 の時、 x=23

Page 21: M1 gp_Disco

関連研究: Birthday Protocol (1)• 誕生日トリックを利用

21

Q : 40 人のクラスで

同じ誕生日の人が

いる確率は?A : 83%

意外と高い!これを利用

8月 15 日生まれです

私も 8月 15日

生まれです

McGlynn et al., “Birthday protocols for low energy deployment and flexible neighbor discovery in ad hoc wireless networks,” MobiHoc’01.

Page 22: M1 gp_Disco

関連研究: Birthday Protocol (2)

• 40 個ノードがあり、 365 スロットのうち任意のタイミングで ON する⇒ 83% の確率でランデブーできる

• 1100 個に拡張すると、 99.5% まで増える• 一定時間内に確実にランデブーできるこ

とを保証できない• 周期を決めなければならないため ,duty

cycle がかかる22

Page 23: M1 gp_Disco

• n2 個のスロットを正方形に配置– ある行で Listen ,ある列で Transmit→交点でランデブー

• 消費電力が大きい– Listen, Transmit が長い– 無駄な Listen が多い

• Duty を自由に設定できない

関連研究: Quorum

23Tseng et al., “Power-saving protocols for IEEE 802.11-based multi-hop ad hoc networks,” INFOCOM’02.

Page 24: M1 gp_Disco

関連研究: MAC の改良

– X-MAC– B-MAC

– S-MAC⇒ 同期させなければならない

24

の長さに依存するためプリアンブルDuty cycle を自由に決められない

preamble pre am ble

ON ON ON ON

X-MAC B-MAC

Page 25: M1 gp_Disco

素数の選び方• 素数の組み合わせには限りがあり、指定された duty

cycle を逆数の和で表現できる組み合わせは少ない。– e.g.duty cycle=5% のとき (23,157),(29,67),(31,59),(37,43) の4つ

25

Page 26: M1 gp_Disco

組み合わせと発見時間

• アシンメトリック・アンバランスな組み合わせが一番発見時間が短い

26

Page 27: M1 gp_Disco

素数の選び方

• 素数の組み合わせ数は duty cycle が大きくなると少なくなる

• 素数の選び方によって発見までの時間が変わる

27duty cycle(%)

Page 28: M1 gp_Disco

slot のずれと clock skewへの対応

28

Slot のずれ

Clock skew

先頭と末尾でBeacon を出

すことで、いずれも対応可

Page 29: M1 gp_Disco

評価( Empirical )

• 相手の選んだ素数が分かっていれば一定時間内に発見できるノードを予測可能

29

素数の組み合わせ=(97,103)最小公倍数=9991これにスロット数 (ms) を乗算⇒1つのノード発見時間

Page 30: M1 gp_Disco

発見までにかかる時間

30

Page 31: M1 gp_Disco

発見時間と duty cycle

31

Page 32: M1 gp_Disco

近傍ノードの発見時間

32