バッテリー残量を考慮したアドホックネットワーク ルーティング方式の提案と実装 大阪工業大学情報科学部情報ネットワーク学科ユビキタスネットワークシステム研究室 N09-036 三林大祐 N09-052 中嶋一誠 N09-083 宮原健太朗 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
目次 1. 背景 2. 目的 3. アドホックルーティングの仕組み 4. 方式提案 5. 方式実現上の課題 6. システム構成 6-1. ルーティング情報をフィルタリングソフトへ転送する仕組み 6-2. 端末間でバッテリー情報を交換する仕組み 6-3. プロセス間での情報共有の仕組み 7. 実験 8. 残された課題 9. 結論 2 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
1. 背景 アドホックネットワークとは 端末のみで構築可能な無線ネットワーク直接電波が届かない端末間も他の端末がデータを中継することで通信可能である 固定の基地局を必要としないので 災害時のネットワーク構築が簡単にできる! 3 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
2. 目的 災害時で電力供給が途絶えた場合 バッテリー残量が多い端末同士で通信する必要あり! 4 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
3. アドホックルーティングの仕組み 2 端末 A 1 3 端末 B 1 4 2 3 1. 各端末同士がルーティング情報を定期的に交換している 2. 端末 A が B と通信したい場合 上記 1 を元に端末 B までの情報を取得する 3. 従来のアドホックでは ホップ数が少ない順に選んで送受信を行う 5 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
4. 方式提案 バッテリー残量を考慮したルーティング実現方式を 2 種類考えた ルーティングアルゴリズム変更方式と 制御メッセージフィルタリング方式 方式 内容 ルーティングアルゴリズム変更方式 各端末のバッテリー残量をメトリックとするようにルーティングアルゴリズムを変更する バッテリー残量をメトリックとして追加 ルーティングソフトルーティングソフト 適用 ルーティング方式毎にアルゴリズムを開発 TCP/IP ドライバ TCP/IP ドライバ 標準化 IETF での標準化が必要 範囲 数ホップ先も可能 国際標準 (IETF) 6 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
4. 方式提案 方式 内容 適用 制御メッセージフィルタリング方式 ルーティングソフトウェアの前にバッテリー残量によってルーティング制御メッセージを分岐させるフィルタを追加する ルーティング方式には依存しない 標準化標準化は不要 フィルタリングソフトを追加 ルーティングソフトフィルタリング ルーティングソフトフィルタリング TCP/IP TCP/IP ドライバ ドライバ ルート上から見えない 範囲 1 ホップ先のみ どちらの方式にするか ルーティングアルゴリズム変更方式はすでにいくつかの研究例がなされている フィルタリング方式はルーティングプロトコルに手を入れる必要が無く実装が容易である以上の点から 今回は制御メッセージフィルタリング方式を採用! 7 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
5. 方式実現上の課題 制御メッセージフィルタリング実現方式には 3 つの課題がある 1 他の端末から送信されるルーティング情報をフィルタリングソフトに転送する 2 他の端末の間でバッテリー情報を交換する仕組み 3バッテリー情報交換ソフトとフィルタリングソフト間での情報共有の仕組み 8 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
6-1. ルーティング情報をフィルタリングソフトへ転送する仕組み ルーティングソフト port10693 パケット廃棄 No 条件 Yes 元の port 番号に転送 フィルタリングソフト port12346 iptables Port10693 宛てのパケット REDIRECT iptables -t nat -A PREROUTING -p udp --dport 10693 -j REDIRECT --to-ports 12346 パケットを廃棄 実際に使用したコマンド port10693 宛てに送られてきたパケットを port12346 宛てに転送する 9 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
6-2. 端末間でバッテリー情報を交換する仕組み バッテリー情報交換ソフト バッテリー残量取得手順 1 端末のバッテリー情報 ( 文字列 ) を参照 現在の容量 前回最大まで充電したときの容量 2 上記 2 つを数値に変換 3 現在容量 / 最大容量 * 100 = バッテリー残量 (%) 現在の容量 remaining capacity: mah state ファイル 前回最大まで充電したときの容量 last full capacity: mah info ファイル バッテリー情報交換ソフト 端末 A ブロードキャスト通信で定期的に交換 端末 B 10 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
6-2. 端末間でバッテリー残量を交換する仕組み 交換の間隔は? 120 100 バッテリー残量 (%) 80 60 40 20 0 0 50 100 150 200 250 300 350 経過時間 ( 分 ) 実験方法 3 秒毎に無線 LANでの送受信を行う (Hello 相当 ) 1 分毎にバッテリー残量をチェックし 結果をファイルに書き込む 装置はMacBookAir 交換の間隔はバッテリー残量が約 5% 減少する約 15 分ごとにした 11 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
6-3. バッテリー残量交換ソフトとフィルタリングソフト間での情報共有の仕組み ブロードキャストでバッテリー情報と IP アドレスを交換 フィルタリングソフト 192.168.1.2 の情報が欲しい IP アドレスを参照 IP アドレスに対応した バッテリー残量を取り出す IPアドレス 共有メモリ IPアドレス バッテリー情報 192.168.1.1 30% 192.1681.2 60% 192.168.1.3 10% バッテリー情報 バッテリー情報交換ソフト プロセス間の通信方式の比較 共有メモリ パイプ バッテリー情報交換ソフトは共有メモリへ 書き出しのみ フィルタリングソフトは共有メモリから 読み込みのみ これにより, データの競合を回避した アクセス管理 複数のプロセスが共有するためアクセス管理が必要 独立性非同期同期 管理の必要はない 12 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
7. 実験 192.168.1.9 192.168.1.1 192.168.1.10 192.168.1.2 どのような経路で通信されたかを route コマンドで確認する 192.168.1.11 バッテリー残量 > 閾値 1 2 3 4 1 全ての中継端末のバッテリー残量を60% 以上に設定する 2IPアドレス192.168.1.9のバッテリー残量を60% 未満に設定する 3IPアドレス192.168.1.9と10のバッテリー残量を60% 未満に設定する 4 全ての中継端末のバッテリー残量を60% 未満に設定する 13 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
8. 残された課題 -1 課題となる部分は 1. バッテリー残量の低い端末しか残っていない場合ルートがなくなってしまう バッテリー残量が閾値以下になると 残量があってもルートは消えてしまう バッテリーは残っているのに ルートが消える バッテリ残量 閾値以下 14 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
8. 残された課題 -2 2. ローカル上のバッテリー情報しか知ることができない ネットワーク全体で見た場合の最適なルートが選べない 2 ホップ先のバッテリ情報は知ることができない 結果的にバッテリー残量が 少ないルートに 多い 少ない 少ない 少ない 多い 多い 15 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
9. 結論 この方式を実装することでバッテリー残量を考慮したアドホックネットワークが可能になった フィルタリング方式では ルーティングプロトコルの中身を変更する必要が無かったので 実装が容易に行えた 数 k ステップのプログラムを全てチェックして変更 約 250 ステップのフィルタリングソフトの実装のみ 今後の展望 最適なバッテリー閾値の考案 ( 閾値を n 段階に ) 端末のバッテリー情報を数ホップ先まで参照可能にする方法の検討 16 All Rights Reserved, Copyright 2013 Osaka Institute of Technology
ご清聴ありがとうございました 17 All Rights Reserved, Copyright 2013 Osaka Institute of Technology