Facebook、圧縮アルゴリズムのZstandardとストレージエンジンのMyRocksをオープンソース化

Illustration and Painting

今日(米国時間8/31)Facebookは、圧縮アルゴリズムのZstandardをオープンソース化する。時代遅れとなったDeflate圧縮アルゴリズムを使用しているzlibライブラリーを置き換えることが、このロスレス技術の目的だ。さらにFacebookは、zStandardに加え、ストレージエンジンのMyRocksもオープンソース化する。MyRocksは、Facebook社内でMySQLデータベースのストレージ効率を高めるために使われている。

いずれも、カリフォルニア州サンノゼで行われたFacebookの@Scaleカンファレンスで発表された。このカンファレンスは、大規模な技術的課題を抱えるエンジニアたちを集め、オープンソース技術の発展に力を入れている業界各社と共に解決するのを支援することを目的としている。ZstandardやMyRocksを使うと、デベロッパーは大規模で多様なユーザー基盤に効率よくスケーリングできるプラットフォームを作ることができる。

重要なインフラストラクチャーの更新や置き換えを考えているエンジニアにとって、最大の恐怖は新しいライブラリーがシステム全体をダウンさせてしまうことだ。Facebookのインフラストラクチャー技術担当VP、Jay Parikhは、ZstandardもMyRocksも、デベロッパーに公開する前にFacebookで全社規模でテストされていることを誇らしげに語った。

「ここにいる全員が両製品を使っている」とParikhは言った。

Zstandardをテストした6ヵ月間に、Facebookはすばらしい結果を残した。zlibと同じ圧縮比ならZstandardの方が5倍も速かった。圧縮時間が同じなら、ファイルサイズは10%小さかった。

MyRocksもまた、ストレージ効率を著しく改善した。InnoDBとの比較で、MyRocksは同じ量のデータを半分のサーバースペースに保存することかできた。

「オープンソースにすることは、コミュニティー全体の利益になる。単独の企業が所有しているよりも、オープンソースにした方が早く普及する」とParikhは話した。

Facebookは、同社のオープンソースソリューションが新たな業界標準になることを期待している。

[原文へ]

(翻訳:Nob Takahashi / facebook

GoogleのChromeブラウザの新しいデータセーバーは転送量を最大70%も節約する

Chrome lapel pin

しばらく前からGoogleは各種のデバイスにおけるモバイル・データの消費を節約するテクノロジーの開発に努めている。今年の1月、Google はChromeのモバイル・ブラウザにデータ圧縮オプションを加えたことを正式に発表した。このオプションを利用するとユーザーはデータ転送量を最大で半分に削減できるということだった。このほどGoogleは機能をバージョンアップさせ、ChromeのAndroidブラウザのデータセーバー機能として改めてリリースした。Googleは最新版ではデータ量を70%も削減可能だとしている。

ではその仕組はどうなっているのか?

アップデートに付随したGoogleの公式ブログの記事によればData Saverモードが選択されると、システムはウェブ・ページを読み込む際にデータが画像であるかどうかをチェックし、接続速度が十分速くない場合、これらの画像のダウンロードを後回しにする。ページがロードされた後で、ユーザーは「全部見る」ボタンをタップするか、見たい画像を選んでタップすればよい。言い換えれば、ユーザーはどの画像を見たいのか手動でコントロールできるわけだ。これは当然、大幅なデータ消費量の削減につながる。

読者もすでに気づいているだろうが、ウェブの画像というのは大部分が見る必要のないものだ。ニュースページによく貼られている巨大な画像を思い起こしてみれば納得できるだろう。読者はテキスト本文だけ読めれば写真など見なくても何が起きたかつかむのに十分という場合が多い。.

LoFi - English - Nov 24

データセーバーに馴染みが薄い読者のために説明しておくと、Googleはこの機能を2013年3月にAndroidのChromeベータに導入し、その年の秋になってiOS版Choromeにも拡張した。データセーバーは簡単に言えば、Googleによる画像プロキシーであり、このモードではウェブページへのリクエストはまずGoogleのサーバーを経由する。そこで同社のPageSpeedライブラリがページのコンテンツを圧縮、最適化する。 Googleのサーバーとブラウザの接続はSPDYプロトコルによってさらに最適化される。

非専門家向けの言い方をすれば、接続が遅い環境でウェブ・ページを開こうとして延々と待たされる場合、このモードを使えば読み込みがはるかに速くなるというわけだ。途上国ではことの他有用な機能だろうが、先進国のユーザーにもメリットがある。だいぶ前からウェブページは重くなる一方だ。複雑な処理のための複雑なコード、広告、リッチメディアなどはページのロード時間に非常に大きく影響する。超高速の接続環境にいるのでないかぎり、ユーザーのモバイル体験は劣ったものにならざるを得ない。

テクノロジー企業は最近こうした事態への対応を始めていた。たとえばAppleのiOS 9にはコンテンツ・ブロッカーが導入された。これによりSafariブラウザのユーザーは広告その他の不要なコンテンツでページの読み込みを遅くする要素をブロックできる。Xiaomiはブラウザ・メーカーのOperaと提携し 、自社のハードウェアに搭載するAndroidにデータ圧縮機能を付加している。 またOpera社自身のAndroid向けデータ圧縮プロキシー、Opera Maxもこの夏アップデートされ、YouTubeとNetflixのビデオも圧縮されるようになった。

一方、Googleはこのデータ圧縮機能をChromeのツールの一つとして公開したわけだが、これはなるべく多くのユーザーにウェブ・サーフィンを体験させ(Googleの本業である広告をクリックさせ)ようとする努力に沿ったものといえる。

Googleのデータ圧縮機能を改良は、まずインドとインドネシアのChromeユーザーに公開された。これらの国の発展途上地域はモバイル網に適切なブロードバンド接続能力欠き、のユーザーは接続の遅さに依然として悩まされていることが知られているからだ。ちなみにGoogleはインドネシアで初めてウェブページの最適化の実験を開始している

またGoogleはモバイルウェブの高速化のために、ウェブサイトのパブリッシャー、アナリティクス会社、広告会社などと協力してオープンソースの Accelerated Mobile Pagesプロジェクトを開始している。

Googleは「「他の地域でも近くこうしたデータ圧縮機能が導入される」としているが、正確なスケジュールについては明かしていない。「ここ数ヶ月」という以上に詳しいことは分からない。またiOS版のChromeに導入されるかどうかについても情報がないが、これまでの例からすれば近々実現するとみていいだろう。

画像: Stephen Shankland/Flickr UNDER A CC BY-SA 2.0 LICENSE

[原文へ]

(翻訳:滑川海彦@Facebook Google+

General Harmonicsの圧縮テクノロジーは驚異的―テレビドラマの「シリコンバレー」そのまま

General Harmonicsはカナダの小さなスタートアップだが、ストリーミング・メディアに革命を起こすかもしれない。こういえばおかしく聞こえるが、 HBOの人気テレビドラマ、Silicon Valleyに登場する新しいデータ圧縮プラットフォーム、Pied Piperに奇妙なほどそっくりなのだ。ただGeneral Harmonicsの方ははるかに経験を積んでいるし、もっと進歩している。

ドラマでは主人公たちが創立した会社はファイルサイズを信じられないほど小さくできる独自技術、Pied Piperを開発する。General Harmonicのテクノロジーも結果は似ているが、実現のために用いられたアプローチはもちろん完全に異なる。特許出願中の新たなエンコード・テクノロジーによってコンテンツを分析し、個々の要素に分解して記述することで従来の手法では不可能だったレベルまでデータを圧縮する。

たとえばある楽曲がボーカルとインストラメンタルからなるのであれば、それぞれのパートごとに分解して「記述」する。この記述は音声データよりはるかに少さなサイズになる。General Harmonicsによれば、CD音質のファイルを元サイズの20分の1にできるという。先週私も参観したAT&Tの3Gを使ったデモ(屋内で無線の品質はきわめて悪かった)でGeneral Harmonicsはこの新たなエンコーディング手法の大きな可能性を示した。

たとえば周囲で再生されて音楽をスマートフォンに聞かせると、どの曲のどの部分であるかを判断して、その曲を現在の位置からストリーミング再生し、対応する歌詞も表示するといったShazamのような機能もデモされた。ただしShazamよりずっと早く、即座に曲の判別が行われた。

このテクノロジーでは「どのアーティストがどのパートをどの部分で演奏しているのか」といった情報も解析できる。General Harmonicsは最終的にはこうした情報もアプリケーションからアクセスできる形でエンコードしようと計画している。これによって演奏される音楽によって流れが変化するゲームなどの開発が可能になる。また将来は既存の楽曲データをユーザーがリミックスして即座に高音質の新しい曲をユーザーが作れるようになるかもしれない。SoundCloudの未来版というところだ。

アメリカのオンデマンド音楽ストリーミング、対前年比42%アップ―ダウンロード販売は衰退へという記事にあるとおり、ストリーミングの重要性は増す一方だ。ユーザーはもはや音楽を聞くためにスマートフォンをいちいちコンピュータに接続して音楽ライブラリーを同期するなどという手間をかけない。ユーザーはいつ、どんな場所でも即座に望みの音楽が聞けることを当然だと考えるようになっている。

そこで音質を落とさずにデータサイズを小さくし、高速でストリーミングできるようにすることは音楽サービスにとって死活的に重要になっている。同時にSpotifyPandora、 Appleのような巨大ストリーミング企業はサーバー費用を大幅に節約できるだろう。

またGeneral Harmonicのテクノロジーはここ5年のうちに新たに何十億もの人々がスマートフォンを持つようになると予測されている アフリカやアジアの途上国の市場で最も大きな影響を与えるかもしれない。こうした市場では4GやLTEネットワークが未整備であり、データのサイズはサービスの品質を直接に左右する。

7年間のステルスモードでの開発期間の後、General Harmonicsは戦略的パートナーを探す段階に入った。同社は自身で音楽サービス事業に参入してPandora、Beats、Spotifyなどのサービスと競争する計画はない。

General Harmonicsはここ数ヶ月のうちにこのテクノロジーのライセンス供与を進めていく予定であり、すでに先週からシリコンバレーの有力メディア企業と話し合いを始めていることを確認した。ただし広報担当者はそれ以上の詳細を明かすことを避けた。

〔日本版〕 Advanced Televisionによれば、Sony Picturesの最高デジタル戦略役員だったMitch SingerがGeneral Harmonicsのデジタル事業開発担当副社長に就任したという。

またこの記事はGeneral HarmonicsのDynamicMedia Technologyについて「現在インターネットで用いられているメディア・システムとは根本的に異なる。このテクノロジーは調和解析(harmonic analysis)、意味論的マルチノード転送、ニューラルパターン認識、高度なカオス情報処理の原理を組み合わせたもの」だと説明している。現在のところこれ以外にGeneral Harmonicsのテクノロジーについて解説した記事は見当たらない。

[原文へ]

(翻訳:滑川海彦 Facebook Google+


Google、モバイル版Chromeのデータ圧縮機能を公式にリリース―データ量を最大50%節減

今日、Googleはモバイル版Chromeブラウザのデータ圧縮のオプション機能を正式にリリースしたことを発表した。この機能はユーザーのスマートフォンやタブレットへのデータ転送量を大きく削減するものだ。処理のスピードアップ、データ料金の節約に寄与することが期待されている。

同時に、モバイル版Chromeブラウザのアップデートではこれ以外にもiOS版へのGoogle翻訳、Android版へのお気に入りのウェブサイトへのショートカットなど、いくつかの新機能が追加され、バグ修正が行われている。

しかしやはりデータ圧縮機能が今回のリリースの目玉になるようだ。これが有効化されると同時にChromeのセーフ・ブラウジングテクノロジーによって悪意あるウェブページからも保護される。Googleによると、この機能は今後数日かけてiTunes App StoreとGoogle Playストアに順次公開されるという。

GoogleはAndroid版でデータ圧縮機能のテストをAndroid 昨年3月からChrome Beta for Androidを通じて開始していた。その後、昨年の秋にはテストはiOSにも拡張された。

データ圧縮機能は簡単にいえばGoogleプロキシーだ。ウェブページへのリクエストと応答をGoogleのサーバを経由させ、そこでPageSpeedライブラリーによる圧縮が行われる。その一方、ブラウザとGoogleのサーバとの接続はSPDYプロトコルによってさらに最適化される。

多くのユーザーはこうしたバックエンド処理の詳細に興味がないかもしれないが、ここでGoogleが達成したとしている成果には注目すべきものがある。Googleによれば、ユーザーがChromeのデータ圧縮/最適化オプションをオンにすると、Android版でもiOS版でも、最大で50%もデータ量を削減できるという。前に述べたように、PageSpeedライブラリーを利用して画像ファイルをJPEGやPNGからGoogleのWebPフォーマットに変換するだけでも大きな効果がある。というのはウェブページでは平均してデータ転送量の60%が画像だからだ。

モバイル・データの圧縮はもちろん新しいアイディアというわけではない。たとえばモバイル版Operaブラウザのターボ・モードやAmazon Silkも似たようなメカニズムを採用している。また昨年10月にFacebookが買収したモバイルデータ分析企業のOnavoはデータ転送の最適化を図るアプリ(Onavo Extendを一般ユーザー向けに提供している。つまり一定のデータプラン契約で最大のコンテンツを提供しようとするサービスに注力しているのはGoogleだけではないということだ。ことにGoogleの場合、ユーザーが長くウェブ上に留まればそれだけ売上が増える。

Chromeのデータ圧縮とプライバシー

ここでひとつ注意しておかねばならないのはプライバシーの観点だ。機能を有効にするには設定メニューのアプリケーションから「帯域幅の管理(Bandwidth management)」、「データ量の削減(Reduce data usage)」を選ぶ。その際ユーザーはHTTPトラフィックがGoogleのプロキシー・サーバを経由することに同意しなければならない(圧縮機能はHTTPSを利用するトラフィックやシークレットモードが有効になっている場合は無効になる)。

プライバシー問題に神経質な一部のユーザーは懸念を抱くかもしれないが、Googleが以前に説明したところによれば、リクエストがGoogleのサーバを経由する際にウェブページのコンテンツは一時キャッシュされるが恒久的には記録されないという。また、さらに重要な点だが、Googleによればそれ以外のログはGoogleのアカウントに関連づけられ、6ヶ月以内に完全に削除されるという。これらの詳細については昨年11月にアップデートされたChromeのプライバシー・ホワイトペーパーで説明されている。しかし今後なんらかの変更があるかどうか念のため注意して見守っていきたい。

その他の改良

上で述べたように今回のアップデートではいくつか興味ある改良が加えられている。iOS版Chromeでは新たにGoogle 翻訳がサポートされた(Android版では追加ずみ)。この機能はウェブページをユーザーの言語に翻訳して表示する。

一方でAndroidユーザーはメニューのオプションに「ホーム画面に追加」というオプションが新設され、お気に入りのウェブページをホーム画面に簡単にセーブできるようになった。またGoogleが今回のリリースを解説したブログ記事で述べているところによると、一部のウェブサイトではフルスクリーン表示がサポートされる。

新機能を利用するにはChromeにアップデートを適用するか、新たにインストールする必要がある。

[原文へ]

(翻訳:滑川海彦 Facebook Google+