私はかつてこれをMMOに実装しました。ある週末、娘にWOWをインストールしようとすると48時間(パッチ、ダウンロードエラーなど)かかったので、より良い解決策を作成することにしました。
通常、ゲームを実行するには10 GBのデータが必要です。すべてのファイルがすぐに実際に必要なわけではありませんが、ゲームはすべてのファイルがローカルに存在するまで待機していました。私の解決策は、ゲームを通常どおりローカルで実行することでしたが、EXEは(Windowsファイルミニフィルターを使用して)すべてのファイルが既に存在していると思わせました。要求されたファイルがローカルではない場合、ファイルシステムはそれをダウンロードして保存しました。ゲームは必要に応じてローカルにゆっくりコピーされました。使用可能な帯域幅がある場合、まだ必要のない他のファイルはバックグラウンドでトリクルされました。これは、必要なときにミニフィルタードライバーがファイルを取得したため、再コンパイルする必要なくすべてのゲームで機能しました。
最悪の欠点は待ち時間でした。私の解決策は、小さなマルコフ連鎖モデルを作成して、次に必要なファイルを予測し、バックグラウンドローダーを優先させることでした。これは魅力のように機能し、MMOは、EXEといくつかの読み込み画面ファイルがローカル(20 MB以下)になった後、すぐに実行できました。ウェブページ上のリンクをクリックして、約30秒で10 GB以上のゲームを実行することができました。ヒット率は99%でした。つまり、ゲームに新しいファイルが必要になったとき、そのファイルはすでにそこにありました。
他の誰かがこれを実装するのを手伝って喜んでいます。