DEV BLOG: EVE launcher への BitTorrent プロトコル採用について

DEV BLOG : EVE launcher ― 水面下で何が起きているのか "All quiet on the EVE Launcher front?"

(2013.03.11 15:34 の記事 by CCP Aporia)

『こんにちは、チーム Special Circumstances を代表して僕 CCP Aporia が、僕たちが今全力で改善に取り組んでいる EVE launcher について報告させてもらうよ。

現在の状況

お気づきかとは思うけど『実装以来 EVE launcher にはさまざまな変更が加えられてきた』、などとはとても言えないのが現状だ。その理由の一つとしてはチームの再編的なものがあったことが挙げられる。現在のメンバーは CCP Atropos、CCP Aita、そして僕 CCP Aporia だ。

もう一つの理由は、EVE launcher そのものに関して納得がいかない部分があったのと、挙動面でも一部の状況で納得がいかないところがあったからなんだ。現状の EVE Launcher ではアップデートの過程で、極めて無駄な手間が発生してしまうことがある ―― EVE launcher でのパッチがうまくあたらず、フルクライアントをダウンロードするハメになった人が一体これまで何人いたことか。手元の統計ではそれがかなり (!) の数なんだ。

そこで、EVE クライアントのアップデートをもっと頻繁にそして安定して提供できるようにしたいという僕らの従来からの目標も加わって、設計段階に戻って自分らのしていることを一度考え直してみることにした ―― ユーザーエクスエペリエンスをどうしたら高められるのか。

というわけで、僕らのやろうとしていることはどんな変化をもたらすのか?いろいろあるけど例えば自動アップデート機能の改善、クライアントダウンロード&アップデート機能の改善、Steam のようなデジタル配信プラットフォームとの統合、多アカ環境およびテストクライアント環境のサポートなどがその一部だ。宿題としてはなかなかの量だろう?なのでこのブログでは、その中でも現時点で一番問題となりそうな点に絞って述べたいと思っている。でも心配しなくて大丈夫。他の点や近い将来の変更点などについても、追って DEV BLOG をお届けしたいと思っている。



『ちょっと待って、何をするって!?』

さまざまな配信方法やアップデート方法を綿密に調査した結果、今後の EVE launcher のダウンロードメカニズムは、実地での使用例も多く広く普及している BitTorrent プロトコルに基づいて設計することにした。

BitTorrent を採用する最大の理由は、BitTorrent そのものが異種の送受信チャンネルを同時に複数扱うことができるため、そのレベルでの不具合が発生する見込みを減らせるという点だ。

現在僕らが採用しているのは HTTP 1.1 のみで、これはもともと大容量のデータを送れるようには設計されていない。確かに HTTP 1.1 でも、Range header と呼ばれるものを通じて分割送受信をサポートしているけど、このヘッダはみんなのところから僕らのサーバまで必ずしも確実にたどり着けるわけではないんだ。たどり着けなかった場合にどうなるかというと、みんなのクライアントに含まれるファイルが破壊されてしまい、さらにそれが起こったのがリペアツールを走らせている最中だった場合、クライアントそのものを完全に破壊してしまうこともあり得る。

BitTorrent なら多数のプロトコル上で走ることができるのでこの問題は発生しないんだ。さらにこのプロトコルは通信データのチェックを二重に行うから、ダウンロードされたデータがきちんと目的通りのデータであるという点について一層信頼性を高められる ―― デジタルのゴミではなくね。ダウンロードされるさまざまなデータ間に優先順位を設けることもでき、それにより今後さまざまな面でユーザーエクスペリエンスを向上させることができるようになると考えている。例えばゲームのインストール工程が完了する前からキャラクターの作成が開始できるようになる、とかね。



まあ、心配しないで

さて技術的な理由の話はこれくらいにして、みんなが不安を感じると思われる点について話そう。

この変更により EVE launcher にインターネット帯域が「盗まれて」しまわれるのではないかと心配をしている人もいるかもしれない。同様のソフトウェアで明示することなくこれを行ってしまうものや、そのような仕様をかつて持っていたソフトウェアが多数出回っていることを考えると、心配になるのももっともだ。

配信ネットワークの参加者全員がデータを受け取りかつデータを送信するというのが BitTorrent プロトコルの中核的な要素だし、この点については僕らもいじることはできない。とは言ってもこれをある程度制限すること可能で、クライアントインストール用データを新 EVE launcher が他のユーザーと共有するのは、初期状態ではそのデータをダウンロードしている間のみとしているんだ。みんなの方で明示的にオプションを有効にしない限りは、ダウンロードを完了した時点でみんなから他のユーザーへの配信も停止する ―― なんだかんだ言ってもみんなのところのローカルネットワーク上でインストールデータの共有がなされるのは有用なことかもしれないわけだし。アップロード速度についても、他のインターネット上の作業に差し障りが出ることのないよう、初期状態では制限がかかっている。これについてもみんながそうしたければ設定で調整することが可能だ。


これらの変更により、従来よりも信頼性が高く、そして場合によっては従来より高速な EVE クライアントのアップデートやリペアをしてもらえるものと考えている。この新たな配信・アップデート方法をみんなに実際に触れてもらい、その感想を教えてもらったり貴重なフィードバックをしてもらえるよう、何週間かのうちにはテストサーバー上で公開したいと考えている (フォーラムの Test Server Feedback セクションでのアナウンスメントに注目!)。』

(※訳者はこの方面の話題は苦手であるため、妙な翻訳をしてしまっているかもしれません。お気づきの点がありましたら遠慮なくお知らせ下さい)

0 件のコメント:

コメントを投稿