0

Host discoveryNetwork Communication、およびQoS Monitorの3 つの基本サービスを含むネットワーク サポート フレームワーク (最初は Android 用) を開発しています。

最後のサービスでは、単一のホストが別のホストに定期的に送信できる最大メッセージ/秒 (MPS)を返すメソッドを実装しようとしています。

送信するオブジェクトのサイズとネットワーク速度に基づいて、ネットワーク経由で送信できる理想的なMPSで概算を簡単に取得できます。式に信号強度 (SS)を含めようとすると、問題が発生します。

protected int getMPS(NetworkApplicationData message, Context context) {
    int messageSizeBits  = MemoryUtils.sizeOf(message) * 8;
    int networkSpeedMbps = getNetworkSpeed(context);
    float signalStrength = getNetworkSignalStrength(context);
    // FIXME: what about signalStrength?
    return networkSpeedMbps * 1024 * 1024 / messageSizeBits;
}

ここでの基本的な質問は次のとおりです。無線ネットワークの速度に対する信号強度の影響について、事前に確立された研究はありますか?

いくつかのテストを行ったところ、信号強度に応じて、確立されたネットワーク速度が変化することに気付きました。たとえば、「正規化された」100%SS の場合、Android API は 54Mbps のネットワーク速度値を返します。40%SS の場合、API は 7Mbps のネットワーク速度値を返します。Android API が返すネットワーク速度の値だけを信頼する必要がありますか? この場合、ほとんどの場合、過大評価された MPS が得られます。

とにかく、この問題を解決するための正しいアプローチを知り、正式な調査に基づいて計算する必要があります。

4

1 に答える 1