Skip to main content
QUICK REVIEW

[論文レビュー] MopEye: Opportunistic Monitoring of Per-app Mobile Network Performance

Daoyuan Wu, Rocky K. C. Chang|arXiv (Cornell University)|Mar 22, 2017
Green IT and Sustainability参考文献 25被引用数 15
ひとこと要約

MopEye は、VpnService API を使用して、ユーザーの操作を必要とせず、各アプリのネットワークパフォーマンスを機会的かつ透明に監視できる Android アプリである。アクティブなトラフィック中、各アプリの往復時間(RTT)を測定する。tcpdump と比較して 1ms 以内の高精度を達成し、最小限のオーバーヘッドで、10か月間にわたり 2,351 台のデバイスと 6,266 アプリで実世界のアプリおよび DNS パフォーマンスを大規模にクラウドソーシング測定することが可能である。

ABSTRACT

Crowdsourcing mobile user's network performance has become an effective way of understanding and improving mobile network performance and user quality-of-experience. However, the current measurement method is still based on the landline measurement paradigm in which a measurement app measures the path to fixed (measurement or web) servers. In this work, we introduce a new paradigm of measuring per-app mobile network performance. We design and implement MopEye, an Android app to measure network round-trip delay for each app whenever there is app traffic. This opportunistic measurement can be conducted automatically without users intervention. Therefore, it can facilitate a large-scale and long-term crowdsourcing of mobile network performance. In the course of implementing MopEye, we have overcome a suite of challenges to make the continuous latency monitoring lightweight and accurate. We have deployed MopEye to Google Play for an IRB-approved crowdsourcing study in a period of ten months, which obtains over five million measurements from 6,266 Android apps on 2,351 smartphones. The analysis reveals a number of new findings on the per-app network performance and mobile DNS performance.

研究の動機と目的

  • 固定回線スタイルのサーバ中心のプローブからアプリ単位のパフォーマンス監視への移行により、モバイルネットワーク測定におけるギャップを埋める。
  • 非ルート化された Android デバイスにおける、軽量で正確かつプライバシーを守るネットワーク測定の課題を克服する。
  • ユーザーの干渉なしに、大規模かつ長期にわたるアプリ単位のネットワークパフォーマンスデータのクラウドソーシングを可能にする。
  • 実世界の測定データを用いて、アプリ固有およびISP固有のネットワークパフォーマンス問題を診断する。
  • アプリ開発者やISPがネットワークの体験品質を最適化するためのスケーラブルでプライバシーを守るソリューションを提供する。

提案手法

  • ルートアクセスを必要とせず、すべての出力アプリトラフィックを傍受するローカル仮想ネットワークインターフェースを、Android の VpnService API を使用して作成する。
  • パassブロッキングによるパケットキャプチャを実施し、標準的なソケット呼び出しを用いてパケットをリモートサーバーに転送し、SYN-SYN/ACK 時刻を用いて RTT 測定を実行する。
  • 生ソケットやリモートVPNサーバーに依存しない効率的なパケット転送を実現するため、カスタムユーザースペース TCP/IP スタックを構築する。
  • 遅延発生するVPN読み取りや protect() 遅延の問題を解消する最適化技術を採用する。
  • 各 RTT 測定をその対応するアプリケーションコンテキストにマッピングするために、connect() ソケット呼び出しの検出を活用する。
  • IRB承認を得て Google Play を通じてアプリを配布し、長期にわたり大規模な実世界ネットワーク測定のクラウドソーシングを実現する。

実験結果

リサーチクエスチョン

  • RQ1ユーザーの干渉なしに、実世界の状況下でアプリ単位のモバイルネットワークパフォーマンスを正確かつ効率的に測定する方法は何か?
  • RQ2継続的かつ機会的ネットワーク監視に Android の VpnService API を使用する場合の、パフォーマンスと正確性のトレードオフは何か?
  • RQ3実際のユーザーがさまざまなモバイルネットワークやISPを経由して体験するアプリ単位およびDNSのネットワークパフォーマンス特性は何か?
  • RQ4MopEye の測定アプローチは、tcpdump などの従来のツールと比較して、正確性およびシステムオーバーヘッドの点でどのように異なるか?
  • RQ5大規模かつアプリ単位のネットワーク測定から得られるインサイトは、ISP間およびアプリタイプごとのネットワーク品質の差異について何を示唆するか?

主な発見

  • MopEye は、10か月間にわたり 2,351 台のスマートフォンと 6,266 アプリから、525万件を超える RTT 測定を収集し、初めての大規模なアプリ単位の測定データセットを構築した。
  • MopEye の平均 RTT 測定誤差は、tcpdump と比較して 1ms 以内であり、高い測定正確性を示している。
  • Singtel の DNS パフォーマンスは他社と比べ顕著に優れており、10ms 未満の DNS RTT が 14.7% にのぼり、全国的な 4G+ デプロイが要因であるとされる。
  • Cricket および U.S. Cellular は顕著に悪い DNS パフォーマンスを示しており、最小 RTT が約 43ms にとどまり、4G 未満または LTE 非対応ネットワークが使用されていることが示唆された。
  • Cricket の DNS RTT の約 64% および U.S. Cellular の約 45% が LTE 以外のネットワークから発信されており、非最適なネットワークインfraが確認された。
  • 事例研究により、WhatsApp にパフォーマンス問題が確認され、米国および国際的な主要ISP間でのネットワーク品質の差が明らかになった。これは、診断の観点からアプリ単位の監視の価値を示している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。