orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

「CDC File Transfer」Googleが突然公開したファイル転送ツールの中身

 

「CDC File Transfer」というツールのニュース。

ほとんどの人が下記のニュースを見てわかったつもりになっただけなんじゃないか、と。

 

gigazine.net

Googleが提供していたクラウドゲームサービス「Stadia」は、スペックの低いPCやスマートフォンなどでもインターネットを介して高画質なゲームを楽しめるサービスとして注目を集めていましたが、2022年にサービス終了が発表されました。そんなStadiaの開発過程で生み出されたファイル転送ツール「CDC File Transfer」が、オープンソースで公開されています。

 

でもこれ、読んでもピンと来ないと思います。

仕事に使えるかもしれないので、どこかに詳しい話ないかなと探してみたら、結局のところgithubの公式公開ページを機械翻訳で日本語にしたほうがよっぽどわかりやすかった、というオチでした。

 

github.com

 

これ、かなり面白い読み物になっていまして、インフラやっている人は日本語にしてから読んでみればいいと思います。

 

Stadia の灰から生まれたこのリポジトリには、Windows から Linux にファイルを同期およびストリーミングするためのツールが含まれています。

 

このくだりは面白いですよね。Stadia自体、かなり世界で話題になってさあこれからというところでポシャったクラウドゲームプラットフォームでした。どんだけのお金を使って作ろうとして撤退したんだかわかりませんが・・。

せっかく作って、めちゃ便利だったんだから、公開しようぜというGoogleの心意気に乾杯。まあ、直撃を喰らったStadiaゲームハウスは大変だったでしょうが・・ね。

 

で、このツールですが、「Windowsから、Linuxにファイルを高速で転送するツール」となっています。なんでOSを縛っているかって、これはStadiaの本番サーバーはLinuxで動いていて、開発者はWindowsクライアントを使っていたから、という理由です。Windowsにたくさんファイルがあって、クラウド上のLinuxにファイルを都度送らなきゃいけなくて、その度にファイルの送付が遅い!ってなったわけですね。

だから、LinuxのファイルをWindows側に送るとか、Linux同士なんてのは想定していないツールです。まあ、無理やり捻じ曲げる方法はなくもないですが、そこまでして使うツールでもないでしょう。

しかも、コロナのために在宅ワーカーが増え、在宅ワーカーのインターネットがそこまで太くもないので、ファイル転送がめちゃくちゃストレスになったそうです。そりゃそうか。

 

このツールの導入、Windows側でもLinux側でもやらなきゃいけないのですが、結局は中でscpやsshが動いていて、二者間で秘密鍵認証が通ることが条件になっています。

ファイル転送において高速圧縮を使っているおかげで、それでも普通にscpで送るよりはちょい速い。ただそれより、一番差があるのは、Win/Linux双方に同じファイルが存在していて、そのファイルの中の一部分だけ修正されたとき、だそうです。

ファイルの中の変更された一部分だけ取り出して送るロジックが秀逸なので、例えば1GBあるファイルでも変更された部分が10KBなら、10KBしか送らんよ、ということですね。

 

また、この「CDC File Transfer」には2つのツールが付いているのに気が付いていますか?。

①CDC RSync

②CDC ストリーム

ほとんどの人がRSyncの方に気を取られているように見られ。すごそうなのが②です。Windowsの特定ディレクトリの状態を、リモートのLinuxサーバーの特定ディレクトリーにリアルタイムで同期してくれるとのこと。Google DriveやOneDriveではおなじみの機能ではあります。ただ、クラウドドライブではなく、任意のLinuxサーバーに対してできるので、シーンによっては超便利なのかもしれません。

オフィスの社内回線でローカルにファイルをダウンロードしておいて、家に帰って作業するときにストリーミングで自動同期、なんて使い方を想定していそうです。

 

ちなみにバイナリで配布していて、6MBくらいのプログラムなので、もし、仕事上で便利に使えそうなパターンがあれば利用してみようかなと思いました。

ま、とにかく、ニュースだけ見て納得せず、原文を読むのは超大事ですね。今は英語で読む必要もないし、ああ便利な時代。