研究員の石橋です。こんにちは。
Web 2.0 Expo 2008 San Francisco の基調講演にてマイクロソフト Live Platform の新たなサービス - Live Mesh - が発表されました。このサービス、一言で言うと:
複数のデバイス間で、ファイルやデータの自動同期を実現する仕組み
だと思うのですが、具体的に「どんなユーザー体験 (user experience) を実現してくれるのか?」といった根本思想や、詳細なサービス構成・技術的な仕組み等について、わかりやすい言葉と図に噛み砕いて説明してみたいと思います。
※僕の理解力不足で間違った記述があったらごめんなさい!と、先に謝らせてくださいませ。
[目次]
セッション名
講演者
|
Amit Mital General Manager of Live Mesh product at Microsoft Ori Amiga Principal Group Program Manager of the Live Developer Platform at Microsoft |
まずはイメージ動画を観るべし
Live Mesh とは何かを知るのにベストなのが、Keynote で初公開された Live Mesh が目指す世界観を描いているPR動画だと思います。
Keynote - 前半はAmit氏の概要説明、PR動画は 04:30 辺りから始まります。動画プレイヤーがスキップ機能を備えていないようなので、04:30 まで進む間はじっと Amit 氏のスピーチをお楽しみください (笑
※より大きいサイズで見たい、あるいは動画ファイルをダウンロードして快適に鑑賞したい(早送り・巻き戻し、途中再生が出来ます)場合は配信元 Blip.tv のページでどうぞ。
こんな事を実現する為のソリューションとは?をエンジニア視点で、出来るだけわかりやすく説明してみたいと思います。
Live Mesh が提供するユーザーエクスピリエンス
- Windows や Mac 等のOSを問わず、
- 家族や仲間全員のパソコンや携帯電話などのデバイスを登録しておく事で、
- 誰かがデバイスに写真を保存したり、楽曲データをダウンロードすると、
- 自動的に他の全員のデバイスに、それらデータが同期配信される。
そんな、皆で同じ情報を共有できるライフスタイルを実現するサービスのようです。
家族のデバイスを事前に登録
誰かが写真を撮ると、みんなのデバイスに同期される
メッセージやコメントも同期
技術的な特徴
- 各デバイスにローカル HTTP デーモンが常駐
- Live Mesh 対応アプリは RESTful API でこの HTTP デーモンと対話
- デバイス間の同期処理はこの HTTP デーモンに全部お任せ、開発者は意識しないでOK
各デバイスには事前に Live Mesh クライアントをインストールしておく
※このクライアントの実態はローカルで動く HTTP デーモン (ローカルサーバ)。
Live Mesh 対応アプリは、RESTful API でこのローカル HTTP デーモンと対話する
※以下の特徴があります。
- Live Mesh 対応アプリは、この HTTP デーモンが提供する RESTful API に対して情報の取得・送信等の処理を行う
- 他のデバイスとの同期は、全部この HTTP デーモンがやってくれる
- 開発者は、同期に関しては一切気にしないでOK
- やり取りするデータは XML / JSON / RSS / Atom フィード形式
- つまり Web 標準な知識を持っていれば、手軽に Live Mesh 対応なアプリが開発可能
- Live Mesh 対応アプリは、HTTP / REST / XML等のフィードを扱える言語であれば何でもOK (.Net / IronPython / IronRuby / Javascript / etc )
- Live Mesh SDK として、RESTでやり取りされるフィードのラッパークラスが、各言語ごとに提供される
終わりに
このように、RESTful API や XML / JSON / Atom Feed といった Web 開発系の知識があれば、簡単に Live Mesh 対応アプリの開発ができてしまうという、いたってシンプルなプラットフォームになっているのが魅力的。マイクロソフトがまたWEB標準に沿った仕様を提示してきたことは、個人的には嬉しく思います。今はまだ Tech Preview の段階で、これから open beta (CTP版) が開始される模様。今後の展開が楽しみですね。
関連情報
オフィシャル
上記オフィシャルサイトの中には、Live Mesh で出来ることを伝えるチュートリアル動画があります。
動画で詳細解説
- Channel 9 - Ori Amiga: Programming the Mesh
- Channel 10 - Hands on with Live Mesh
- Channel 9 - Abolade Gbadegesin: Live Mesh Architecture
- Channel 9 - Ray Ozzie: Introducing Live Mesh








