2009年6月23日火曜日

Dropbox: クラウド時代のNFS出現か? その洗練性と破壊性

Dropboxというのはその名前からは容易には想像がつかないと思うが,高度に洗練された,そして,「破壊的」なシステムソフトウェアである.提供する機能は比較的,シンプルである.

  1. クライアントマシン上の指定したディレクトリをクラウド側サーバに自動的にアップロードしてくれる.
  2. 共有指定したマシンがあれば,そのマシンの指定ディレクトリとも同期をとってくれる.すなわち,必要に応じて,自動ダウンロードを行ってくれる.
  3. オフラインのマシンがあっても構わない.オンラインになった時に一貫性維持処理が始まる.
一言で言えば,サーバ(クラウド)と複数クライアント間の同期システムである.「高度に洗練されている」のはその透明度だ.初期設定をしてしまえば,ユーザは,Dropboxの介在をほとんど意識する必要がない.自動的にアップロード,ダウンロード,同期を行ってくれる.同期機能はおそらく,透明性を重視しているために,特別には凝っていない.同時に更新したら,おそらく,一貫性は保証されない,すなわち,崩れる.

一貫性の問題は,個人利用の場合は,多くの場合,問題になりにくい.ユーザ自身が「トークン」の役割を果たすからだ.例えば,職場のマシンでDropbox上のファイルに対して仕事をしたとする.帰宅時には,家のマシンから透明にアクセスができる.家のマシンが,オンのままであれば,大きなファイルであろうと,おそらく,移動時間中にダウンロードは済んでいる.オフの場合は,しばらく待てば,ダウンロードされる.ユーザは特別なアクションは必要なく,単にシステムを立ち上げるだけでよい.個人利用の場合は,同時に複数のマシンを使うということがなければ,同期の問題は発生しない.(ただし安全のため,アプリケーションは終了しておいた方が良いだろう)

なぜ破壊的かというと,これがあれば,既存のスタンドアロン・アプリケーションをネットワークサービス化してしまう可能性があるからだ.既存のアプリケーションで,これがネットワークサービスで提供されていたらな,と思うことは最近多い.これまでは,サービスとして新規開発するしかなかった.Dropboxがあれば,スタンドアロン・ソフトウェアが,自然にネットワーク・サービスのようになり得る.実際私はそのようにして,いくつものアプリケーションを使っている.このブログ原稿自体もそのような環境を使って書いている.Dropbox使用により,新たにネットワークサービスを作る必要はなく,また,すでに費やされたネットワークサービス構築のコストがペイしなくなるかもしれないのだ.

洗練性と破壊性を両備したシステムソフトウェアが,昔にもあった.サンマイクロシステムズ社のNFSである.ネットワーク(当時はLAN)の存在がユーザおよびアプリケーションにわからないよう,ファイルシステムをネットワーク化するのに成功した.多くの企業が,最初は,NFSの持つ「破壊性」には気付かなかった.そのために,進むべき道を誤り,買収によって消滅してしまった企業はおそらく少なくない.NFSの「破壊性」に気付き,同社の実力に恐れおののき,当時,業界は動いた.

NFSは安かった.また,移植性が高く,実際に移植製品が多数現れたという意味で,オープンであった.Dropboxは2GBまでは無料という安値,そして,複数プラットフォーム対応を既に為している.NFSは同期問題(並行性制御問題)に弱かったという点でも,Dropboxに似ている.おそらく,実用性,透明性,そして(提供側の)開発速度が重視されているのだろう.

Dropboxにより,(無料に近く)安価なP2P基盤が実現されてしまったとみることも出来よう.Dropboxは,P2P型ソフトウェアではないが,クラウド型サーバとして実現されているその動きは,巨視的に見ればP2Pシステムに似ている.P2P基盤を作りたいという若者の提案をこれまでに多く聞いているが,彼らが作りたいと言っていた「民主的な」P2Pとは違う形ではあるが,ほとんど無料といってもよいP2P基盤(のようなもの)が出来てしまった.そうなると,ユーザに見えるサービス機能で勝負せねばならない.それはそれで,ユーザにとっては望まし事なのだが,基盤ソフト作りに興味をもつ者にとってはきつい面がある.競争相手が飛躍的に増大した中で競わねばならないからだ.

NFSの普及に伴い,分散ファイルシステムの研究開発は,ある部分,鎮火させられた.それでもなおかつ,チャレンジはあり,AFS, Codaのようなシステムも生まれた.しかし,NFS以前と以後とで,世間の見る目,研究開発に求められるレベルが変わってしまったことは否めない.今後,Dropboxもそのようなポジションを獲得するかもしれない.