潜在的に大きなファイルを移動するアプリケーションを構築していますが、フラッディングによってユーザーのネットワーク接続を妨害することなく実行したいと考えています。Windows BITS にこの種の機能があることは知っています。これは、本質的に、私が再現しようとしているものです (スロットリングに関する限り)。BITS には、私が興味を持っていない他の機能もあることがわかっています。また、.NET から使用するオプションもありますが、それがどのように機能するかに興味があります。
私はオンラインで調べましたが、BITS がどのくらいの帯域幅を消費するかを正確に決定する方法について明確な説明を見つけられませんでした。漠然とした「BITS は、他のプログラムが使用する帯域幅の低下を監視するためにアクティビティをポーリングします」。これは何を意味するのでしょうか?他のプログラムが消費する帯域幅は、他にもさまざまな理由で低下する可能性があります。BITS で違いがわかりますか? この「ユーザーが転送に気付かないレーダーのすぐ下にとどまる」機能を複製するプロセスを探していた場合、どうすればそれを行うことができますか?
更新: 現在、これを行うプログラムが多数あります。最も注目すべきは、Mozy のような自動バックアップ プログラムです。他のアプリケーションの速度を落とすことなく、利用可能なバックグラウンド帯域幅のみを使用します。おそらく、実際の転送速度の増加が止まるまで、試行している転送速度を上げ続け、その後 10% かそこらまで低下させます。誰かが同様のことを試みたかどうか、私は興味があります。