M1 gp_Disco

640 views

Published on

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

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

M1 gp_Disco

  1. 1. 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_address]
  2. 2. アウトライン <ul><li>研究背景 </li></ul><ul><li>目的 </li></ul><ul><li>Disco </li></ul><ul><li>評価 </li></ul><ul><li>まとめ </li></ul>
  3. 3. 研究背景 <ul><li>無線通信のアプリケーションの拡大 </li></ul>すれ違い通信 家畜の管理
  4. 4. 研究背景 <ul><li>非同期な状態(いつ ON になるか予測できない)で、新しい端末を早く、確実に発見したい </li></ul><ul><li>だが、電力消費は抑えたい </li></ul>近くに 3 つあるな 新しく電源を入れたな
  5. 5. Duty cycle <ul><li>無線通信の省電力化⇒間欠動作 </li></ul><ul><ul><li>たまに ON して残りを OFF </li></ul></ul><ul><ul><li>お互い ON 状態で通信⇒ランデブー </li></ul></ul><ul><li>ON/OFF の比率を duty cycle という </li></ul>間欠動作 ランデブー Duty cycle Duty cycle=1% の時 消費電力は 1/100 に。 1 回の通信の単位 =スロット ON OFF OFF Transmit Listen Recieve OFF
  6. 6. 目的 <ul><li>非同期無線通信システムでのランデブー </li></ul><ul><ul><li>低 duty でも確実な発見を保証 </li></ul></ul><ul><ul><li>各ノードで任意に duty cycle を決定可能 </li></ul></ul><ul><ul><li>人の手による補助は不要 </li></ul></ul><ul><ul><ul><li>ほぼ同期されたリセットなどは期待できない </li></ul></ul></ul>電池残量多い データを集める etc 電池残量少ない データを送るだけ etc Duty cycle を高く設定 (e.g.10%) Duty cycle を低く設定 (e.g.1%)
  7. 7. 関連研究 <ul><li>Quorum [Tseng02] </li></ul><ul><ul><li>n 2 個のスロットを正方形に配置 </li></ul></ul><ul><ul><li>任意の行で Listen ,任意の列で Transmit </li></ul></ul><ul><ul><li>交点でランデブーできる </li></ul></ul><ul><ul><li>duty cycle を自由に設定できない </li></ul></ul><ul><li>Birtyday protocol [McGlynn01] </li></ul><ul><ul><li>ランダムに Listen, Transmit, Sleep </li></ul></ul><ul><ul><li>ノード数が多ければランデブー率が高い </li></ul></ul><ul><ul><li>cf.) 誕生日トリック 40 人クラスで同じ誕生日の人がいる確率 </li></ul></ul><ul><ul><ul><li>83% </li></ul></ul></ul><ul><ul><li>確率的モデルなのでランデブーを保証できない </li></ul></ul>8 7 2 1 10 9 4 3 12 11 6 5 20 19 14 13 22 21 16 15 24 23 18 17 32 31 26 25 34 33 28 27 36 35 30 29 Transmit Listen Rendezvous
  8. 8. Disco (ランデブーアルゴリズム) <ul><li>各ノードは素数の組  を用意 </li></ul><ul><ul><li>ただし, </li></ul></ul><ul><li>各ノードは時刻をカウントするタイマを持つ </li></ul><ul><li>タイマの値が  のいずれかで割り切れるときに ON </li></ul>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
  9. 9. Disco: 単純化したモデル <ul><li>各ノードが互いに素な数 m i , m j を選べれば ... </li></ul><ul><li>m i × m j 毎に必ずランデブー </li></ul><ul><ul><li>cf.) 中国の剰余定理 </li></ul></ul>Node 1 (3) Node 2 (5) global な時刻 x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ・・・ 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
  10. 10. Disco <ul><li>全ノード間で独立に互いに素な数は選べない </li></ul><ul><li>2 つの素数の組を選ぶ </li></ul><ul><ul><li>同じ素数の組を選んでも,必ず互いに素となる組み合わせが存在 </li></ul></ul><ul><li>素数の組み合わせの選び方に注意 </li></ul><ul><ul><li>組み合わせにより性能が大きく変わる </li></ul></ul><ul><ul><li>例) ランデブーに要するスロット数は小さい方の素数の積 </li></ul></ul><ul><ul><ul><li>(97, 103), (53, 883) -> 97 × 53 = 5141 </li></ul></ul></ul><ul><ul><ul><li>(53, 883), (53, 883) -> 53 × 883 = 46799 </li></ul></ul></ul>5%=(23, 157 ) 5%=( 23 ,157)
  11. 11. 評価 <ul><li>【 Simulation 】 </li></ul><ul><li>周囲にノードを複数配置し発見時間測定 </li></ul><ul><li>素数、 duty cycle の組み合わせと発見時間の関係 </li></ul><ul><li>【 Empirical 】 </li></ul><ul><li>Simulation の評価に加え、 Clock skew および slot のずれによる Simulation との違いがでるかどうか </li></ul><ul><li>評価には TinyOS operating system,Telos wireless   transmissions を用いた </li></ul>
  12. 12. 評価 (Simulation) <ul><li>有限時間内に確実に発見。素数の組み合わせによって発見時間を早めることが可能 </li></ul>違う組み合わせが早い 組み合わせ数は離れている ほうが早い
  13. 13. 素数の選び方 シンメトリックな組み合わせ アシンメトリックな組み合わせ アシンメトリックなもののうち バランスな組み合わせ アシンメトリック・ アンバランスな組み合わせ (37,43)(37,43)etc (31,59)(37,43)etc (31,59)(37,43)etc (31,59)(23,157)etc アンバランス・アシンメトリックな 組み合わせが一番発見時間が短い!
  14. 14. クラス分けによる発見時間短縮 <ul><li>近くのノードには同じ素数、遠くのノードには違う素数を当てはめることで、クラス内の発見時間は悪くなるが他クラス間の発見時間を短縮することができる </li></ul>5%=(23,157) 5%=(31,59) 5%=(61,73)
  15. 15. 評価( Empirical) <ul><li>Clock skew ・ Slot のずれが起こる実測の場合でも、きちんと動作する </li></ul>
  16. 16. まとめ <ul><li>低い( 1~5%)duty cycle でも有限時間内に確実にランデブーする </li></ul><ul><li>素数の組み合わせを考え、クラスの考えを用いることよって発見時間短縮が可能 </li></ul><ul><li>Empirical では clock skew や slot のずれがあっても動作することを確認 </li></ul>Duty cycle=5% (20 秒に 1 回 ON) Duty cycle=1% (100 秒に 1 回 ON)
  17. 17. 感想など <ul><li>面白かった部分 </li></ul><ul><ul><li>シンプルな手法で確実なランデブーを保証し duty cycle に自由度を持たせる </li></ul></ul><ul><ul><li>素数の組み合わせによって発見時間が大きく変わる点 </li></ul></ul><ul><ul><li>Clock skew や slot のずれにも対応できている </li></ul></ul><ul><li>Future works </li></ul><ul><ul><li>Disco を採用し MAC をもっといいものに </li></ul></ul><ul><ul><li>送信、受信に特化したノードの通信 </li></ul></ul>
  18. 18. Appendix
  19. 19. 中国の剰余定理 <ul><li>3 で割ると、 2 余る。 </li></ul><ul><li>5 で割ると、 3 余る。 </li></ul><ul><li>7 で割ると、 2 余る。 </li></ul><ul><li>このような数を答えよ。 </li></ul><ul><li>A=23 </li></ul>【解法】 3 で割ると、 2 余る数として 140 5 で割ると、 3 余る数として 63 7 で割ると、 2 余る数として 30 を考える。 これらの和 233 から 3*5*7=105 を 繰り返し引くことにより、 233-105-105=23 を得る。 最小公倍数までにランデブー することを示している(余りは スロットのずれ)
  20. 20. 中国の剰余定理 また、下のように考えることもできる。 【解法】 p,q,r を任意の整数とする。 x=3p+2 ④ ④ を②に代入 3p≡1(mod5) 6p≡p≡2(mod5) ∴ p=5q+2 ⑤ これを繰り返し X=105r+23 r=0 の時、 x=23
  21. 21. 関連研究: Birthday Protocol (1) <ul><li>誕生日トリックを利用 </li></ul>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.
  22. 22. 関連研究: Birthday Protocol (2) <ul><li>40 個ノードがあり、 365 スロットのうち任意のタイミングで ON する⇒ 83% の確率でランデブーできる </li></ul><ul><li>1100 個に拡張すると、 99.5% まで増える </li></ul><ul><li>一定時間内に確実にランデブーできることを保証できない </li></ul><ul><li>周期を決めなければならないため ,duty cycle がかかる </li></ul>
  23. 23. <ul><li>n 2 個のスロットを正方形に配置 </li></ul><ul><ul><li>ある行で Listen ,ある列で Transmit </li></ul></ul><ul><ul><li>交点でランデブー </li></ul></ul><ul><li>消費電力が大きい </li></ul><ul><ul><li>Listen, Transmit が長い </li></ul></ul><ul><ul><li>無駄な Listen が多い </li></ul></ul><ul><li>Duty を自由に設定できない </li></ul>関連研究: Quorum Tseng et al., “Power-saving protocols for IEEE 802.11-based multi-hop ad hoc networks,” INFOCOM’02.
  24. 24. 関連研究: MAC の改良 <ul><ul><li>X-MAC </li></ul></ul><ul><ul><li>B-MAC </li></ul></ul><ul><ul><li>S-MAC ⇒ 同期させなければならない </li></ul></ul>プリアンブルの長さに依存するため Duty cycle を自由に決められない preamble pre am ble ON ON ON ON X-MAC B-MAC
  25. 25. 素数の選び方 <ul><li>素数の組み合わせには限りがあり、指定された duty cycle を逆数の和で表現できる組み合わせは少ない。 </li></ul><ul><ul><li>e.g.duty cycle=5% のとき </li></ul></ul><ul><ul><li>(23,157),(29,67),(31,59),(37,43) の4つ </li></ul></ul>
  26. 26. 組み合わせと発見時間 <ul><li>アシンメトリック・アンバランスな組み合わせが一番発見時間が短い </li></ul>
  27. 27. 素数の選び方 <ul><li>素数の組み合わせ数は duty cycle が大きくなると少なくなる </li></ul><ul><li>素数の選び方によって発見までの時間が変わる </li></ul>duty cycle(%)
  28. 28. slot のずれと clock skew への対応 Slot のずれ Clock skew 先頭と末尾で Beacon を出すことで、いずれも対応可能
  29. 29. 評価( Empirical ) <ul><li>相手の選んだ素数が分かっていれば一定時間内に発見できるノードを予測可能 </li></ul>素数の組み合わせ =(97,103) 最小公倍数 =9991 これにスロット数 (ms) を乗算 ⇒ 1 つのノード発見時間
  30. 30. 発見までにかかる時間
  31. 31. 発見時間と duty cycle
  32. 32. 近傍ノードの発見時間

×