複数PCから“フォルダ”としてセキュアに利用

HDD以上に便利なオンラインストレージ“Dropbox”

2007/04/09

 OSのファイルシステムに統合され、Windows上からは通常のフォルダとして扱えるオンラインストレージサービス「Dropbox」の詳細が明らかになった。Dropboxは、複数のPCから同一フォルダが扱えるだけでなく、バックアップや変更履歴管理、ローカルファイルシステムと完全な透過性を備えた高機能なオンラインストレージサービスだ。

rsync、trac、subversionのいいところ取り

 「ほかのオンラインストレージや同期サービスは、どれも使うのが面倒だったり、十分にスケールしなかったり、あるいは何か制限があったりするので不満だった。それじゃあということで、自分たちで、まともなものを作ろうと決めた」。DropboxのCEOで開発者のDrew Houston(ドゥリュー・ヒューストン)氏は@ITのメールインタビューに答え、開発の動機をそう語る。マサチューセッツ工科大学でコンピュータサイエンスを専攻し、卒業後にはいくつかのネット系ベンチャーを経験したヒューストン氏は、いかにもテッキーらしく、「rsyncとtracとsubversionのいいところ取りを想像して。でも使い方は簡単」とDropboxを紹介する。rsyncは複数のホスト間でファイルを同期するソフト、tracはWikiや要件管理ツールを備えたプロジェクト管理ツール、subversionはオープンソース開発で使われるバージョン管理システムだ。

Windowsのローカルのフォルダとシームレスに統合

 Dropboxは現在、ベンチャーキャピタリストからの支援を受けながら開発を進めており、これまでにWindows向けのクライアントを限定ベータ版として公開している。最大の特徴は、導入や利用が簡単なことだ。

 ローカルに専用ソフトウェアをインストールするとDropboxクライアントはシステムに常駐して「マイドキュメント」の中に「My Dropbox」フォルダを作成する。このフォルダはエクスプローラやアプリケーションからは通常のフォルダとして見え、ファイルの作成、編集、削除ができるが、実際のファイルデータはAmazonが提供するオンラインストレージサービスの「Amazon S3」に保存される。

 例えば、会社のPC、自宅のPC、外出時のノートPCのそれぞれにDropboxのクライアントをインストールしておけば、すべてのPCから、同じ「My Dropbox」フォルダが見える。これらのファイルにはWebブラウザからURLで指定してアクセスすることも可能だ。

 データの更新については、常にどのPC上のフォルダも最新状態を保ち、どれか1つのPCで更新したファイルは、直ちにほかのPC上のファイルにも反映される。もちろん、ファイルは通信経路上ではSSL、ストレージ上ではAESで暗号化されている。

dropbox01.png インストールするとマイドキュメントの下に「My Dropbox」フォルダができる
dropbox02.png My Dropbox内のファイルは、エクスプローラからもアプリケーションからも通常のフォルダと同様に扱える
dropbox03.png サーバ上には常にクライアントからの変更が加えられた最新のファイルが保存されており、各クライアントはそれに同期している(クリックで拡大)

 こうしたオンラインストレージサービスでは通常、ネットにつながったオンライン状態でなければアクセスできないが、Dropboxではオフライン状態のときにもローカルのフォルダにアクセスするのと同じ感覚で、そのまま「My Dropbox」を開くことができる。オフライン時に変更したファイルは、オンラインになった状態のときにサーバに反映される。

 ちなみに、Dropboxが利用するAmazon S3は、Webサービスを使ってアクセスするサービスだ。1バイトから5GBまでのファイルを扱え、容量は無制限だ。Amazon S3は保存容量に応じて1カ月1GB当たり20セント、転送量1GB当たり15セントがかかる。Dropboxは今後2カ月以内に最初の公式サービスをリリースするというが、Amazonのストレージサービスにかかるコストが、Dropboxの利用料にどう反映されるかは、現在のところ不明だ。

ネット上での共同プロジェクトの管理にも有効

 「My Dropbox」フォルダには共有フォルダも利用でき、メールアドレスを指定して複数ユーザーでファイルを共有することもできる。「こうすることで、もう添付メールは不要だし、ファイヤウォール、VPN、Windowsのファイル共有の設定に手こずることもない」という。

 さらに、Dropboxはバージョン管理システムも備えており、ファイルに変更を加えても、変更前の古いファイルにアクセスすることができる。こうした機能があるため、複数ユーザーでプロジェクトを進めるような使い方も可能だ。実際、「既存のプロジェクト管理サービスを提供するWebサイトに、共有ファイル機能を提供するためにAPIを整備し、パートナーとなれる企業と作業中だ」という。

dropbox04.jpg ファイルは、更新前の古いバージョンもサーバ上に保存されている

クライアントもサーバも、大部分をPythonで実装

 クライアントの大部分と、サーバ側の大部分はPythonで実装しており、「WebDAVやDeltaVは使わず、SSL上で動く独自のプロトコルを開発した」(ヒューストン氏)という。実装するに当たり、通信データ量を減らす工夫もしている。ファイルデータを経路上やストレージ上で圧縮するのはもちろん、ファイルに変更が加えられた場合、独自のアルゴリズムで差分情報だけをサーバとやり取りする。このため、容量の大きな画像ファイルを編集しても、編集で変更されたデータ部分だけを送受信するだけで済む。独自開発したバージョン管理ツールは、バイナリに対しても有効だという。

 現在、クライアントソフトとして、Windows版のほかにMac OS版のクライアントも準備中だ。Linux版については技術的には実装可能であるものの、優先順位が低く具体的な予定は決まっていないという。

写真共有サービスなどのオンラインサービスとも連携

 Dropboxは、複数PC間の同期フォルダとしても十分魅力的だが、エンドユーザーのストレージとの付き合い方を根底から変えてしまうインパクトも持ち得る。

 すでに書いたように、ヒューストン氏によれば同社は現在すでにいくつかのオンラインサービス提供者と協力して、DropboxをWebアプリケーションから利用できるようAPIを整備している。となれば、例えばデジカメの写真をFlickrにアップロードするのに、Webブラウザや専用アプリケーションを用いる必要はなくなり、ふつうにフォルダにファイルをコピーするだけで、写真を公開できるようになる。逆に、Flickrにアップロードしたファイルを、ローカルのPCの画像編集ソフトを使ってダイレクトに編集ができるようになる。「こうした可能性について、われわれは非常にわくわくしている」(ヒューストン氏)。

 このようにDropboxが「オンラインサービスの外部ストレージ」として利用できるようになれば、オンラインの世界でもデータとアプリケーションの切り分けができる日が来るかもしれない。今のところ、オンラインサービスはどこでも、サービスとストレージが不可分一体のものとして提供されているが、ユーザーとしては自分のデータが、どこのサービスに置いてあるかで利用できる機能を制限されたくないだろう。それは、ローカルのPCにたとえていえば、これはアプリケーションが用意したフォルダごとにデータを保存するようなものだ(ファイルフォーマットによる制限のために事実上そうなっている場合も多いが……)。

 ヒューストン氏は「将来的には、どのコンピュータを使っているかとか、大切なファイルがどこにあるかは考えなくても良くなるでしょう。ファイルは全部、必要なときに目の前にあるんです。Dropboxのコアになる技術が、それを可能にすると、われわれは信じています」と語る。Dropboxが商業的に成功するかは分からないが、Dropboxが提供するローカルともオンラインとも親和性の高い高機能なストレージサービスは、今後われわれのコンピュータやネットとの付き合い方を根本的に変えるポテンシャルを持っているように思う。

(@IT 西村賢)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)