対象: 新Office365 Office 365 Enterprise, Office 365 Business, Office 365 Education
今回の記事では、大容量のクラウドストレージである OneDrive for Business がどのようにクラウド上のファイルとデバイス上のファイルを同期しているのかについて、その仕組みを紐解いてみたいと思います。OneDrive for Business は常に新規の、もしくは変更されたファイルを監視していて、見つけると同期をかけます。クライアント PC に新しいファイルができるなど変更が確認されると、クライアント同期ツールが同期に使うテクノロジーを決定します。クライアント PC と Office 365 上のファイルの差分を同期するには Web サービスが利用されます。
同期には以下のような Web サービスが使われます。
- Cellstorage.svc:ファイルの同期に使われます。
- Sites.asmx:サイトコレクションの情報を返します。
- Webs.asmx:サイトとWebと連携するのに使います。
- Lists,asmx: リストとリストデータと連携するのに使います。
- Version.asmx:ファイルのバージョン管理と連携するのに使います。
同期のためのフローは以下の通りです。
- OneDrive for Business クライアントが SharePoint Online に新規/変更のファイルがないかチェックします。
- クライアントに新しいファイルがあり OneDrive for Business と同期する必要があると判定されます。
- OneDrive for Business は新しいファイルを MSOSync キューに追加します。MSOSync は IRM がかかっていない場合キューのファイルを同期します。この場合 WebDAV プロトコルで同期されます。
- IRM のかかっていないファイルは「かたまり」にされ同期されます。
- Office 365 データベースは Microsoft Azure へのメタデータ ポインタを持ちます。
- ファイルのかたまりは Azure の複数のコンテナにわたり保管されます。各々のファイルのかたまりはユニークなキーで暗号化されます。ファイルを組み立てるにはすべてのキーが必要となります。
- ファイルのかたまりを暗号化するのに使われたそれぞれのユニークなキーは、データが保管される前にマスターキーにより暗号化されます。これにより保護がさらに強固となります。
図表をクリックすると拡大することができます。
この図表は PDF 形式でもダウンロードできます。(英語)
また、関連して、OneDrive for Business に必要なネットワーク帯域幅を計算してくれる Excel シートもダウンロードできますので、あわせてご利用ください。