Googleが提供していたクラウドゲームサービス「Stadia」は、スペックの低いPCやスマートフォンなどでもインターネットを介して高画質なゲームを楽しめるサービスとして注目を集めていましたが、2022年にサービス終了が発表されました。そんなStadiaの開発過程で生み出されたファイル転送ツール「CDC File Transfer」が、オープンソースで公開されています。
GitHub – google/cdc-file-transfer: Tools for synching and streaming files from Windows to Linux
https://github.com/google/cdc-file-transfer
CDC File Transferの開発チームによると、Stadiaの開発にはLinuxマシンが用いられていたとのこと。しかし、市場に流通しているPCゲームの大部分はWindows向けに開発されているため、Windowsで管理されているファイルにLinuxからアクセスするシステムの構築が必要でした。
Linux環境でファイルの転送を実行するには「scp」などのコマンドを用いるのが一般的です。しかし、2020年頃に新型コロナウイルス感染症のパンデミックによって開発環境がリモートに移行したことによって、大容量のファイル転送を伴う作業は困難となりました。そこで、開発チームはファイルの変更された部分だけを転送するツールとしてCDC File Transferを開発しました。
CDC File Transferには同期処理を行う「CDC RSync」と一方通行のストリームを行う「CDC Stream」の2つの機能が搭載されています。以下の画像をクリックすると、CDC RSyncのデモアニメーションを再生可能です。
CDC RSyncでは、ファイルサイズとタイムスタンプが一致するファイルが転送先に存在する際に転送をスキップする他、ファイル分割アルゴリズム「Content Defined Chunking(CDC)」を採用することで「rsync」と比べて30倍高速な転送を実現しています。
Windows上にCygwin環境を構築してrsyncを用いてファイル同期した場合(青)とCDC RSyncを用いた場合(赤)の転送時間を比較したグラフが以下。CDC RSyncはrsyncよりも一貫して高速にファイルを転送できています。
CDC Streamは、Windowsでのファイル変更をLinuxに一方通行で転送し続ける機能です。以下のグラフはSSHFS(青)とCDC Stream(赤)を用いてLinuxからWindows上のゲームにアクセスして「起動してからメニューが表示されるまでの時間」を計測したものです。CDC StreamはSSHFSと比べて2~5倍の速さでメニューを表示できていることが分かります。
CDC File Transferはソースコードが無料で公開されている他、Linux向けのバイナリファイルも公開されています。
この記事のタイトルとURLをコピーする