Windows 8.1ではシステムと完全統合されたSkyDrive
クラウド上のファイルもローカルと同じように扱える
Windows 8.1の特徴の1つは、SkyDriveがシステムに統合されたことだ。
Windows 8.0でもModern UI環境では、SkyDriveのフォルダやファイルもローカルファイルと同じように扱うことができる。しかし、デスクトップ側では、マイクロソフトが用意していたSkyDriveのデスクトップアプリを導入する必要があった。つまり、Modern UI側とは動作が異なっているわけだ。
まず、Modern UI環境のアプリは、ファイルの保存や読み出しの場合に、コントラクトを使ってSkyDriveアプリを呼び出し、インターネット上のSkyDriveのファイルをリストとしてユーザーに表示し、実際のファイルアクセスは、WinRTのAPIを通して行なっている。
Windows 8までのSkyDriveは
ローカルとクラウドのファイルを自動同期していた
一方、デスクトップ環境のSkyDriveアプリは、ローカルフォルダとSkyDriveで同期処理を行ない、両社のファイルが常に同じになるように保つ仕組みになっていた。つまり、ローカルフォルダにSkyDriveのコピーを置き、デスクトップアプリからはこれをアクセスさせていたわけである。
新たに書き込んだファイルは、一定時間内にSkyDriveアプリケーションがこれを検出してアップロードする。つまり、デスクトップアプリケーションから見れば、ローカルファイルへのアクセスにしかならないため、ほとんどのデスクトップアプリが問題なく動作することができる。
ただし、この方式には欠点もある。
まず1点目は、大量のファイルを一度に同期させようとすると非常に時間がかかることだ。
実際にSkyDriveの利用を始めたときに、数十GBといった大量のファイルがSkyDriveに置かれていると、そのダウンロードに非常に時間がかかっていた。ただし、一回転送が終わってしまえば、その後は、ファイル1つずつの転送となり、あまり負荷は高くならない。
しかし、ノートPCなどで長い間同期処理がされていない場合には、大量の更新が行なわれ、同期処理に長時間かかることがある。逆の場合もまたしかりだ。
もう1つは、ファイルの更新や追加を常に検出する必要がある点だ。現在のWindowsでは特定のフォルダ以下のファイルにアクセスされた時点で、アプリケーションに対してイベントを発行する仕組みがあるため、高い頻度で定期的にファイルをスキャンする必要はないが、なんらかの理由でイベントを受け取ることができなくなる可能性もあり、ある程度の時間が経過したら、SkyDrive側とローカル側の状態をチェックして状態が一致しているかどうかを確認する必要がある。
実際、SkyDriveのデスクトップアプリがCPU時間を大量に消費することがある。このときファイルアクセスが連続して行なわれているにも関わらず、最新状態となっているとのメッセージが表示される。場合によっては、ノートPCなどでは大きなバッテリー消費を起こしたり、他のアプリの動作に影響を与えることがある。
また、Modern UI側とデスクトップ側で、対象は同じSkyDriveなのに、ファイルのアクセスなどが共通化されておらず、同じファイルのコピーを2重に持ってしまう可能性などがあることだ。
使い勝手の問題もある。SkyDriveのデスクトップアプリは、同期の制御をフォルダ単位でしか行うことができないため、指定されたフォルダとそのサブフォルダ、そしてそこにあるファイルがすべて同期対象となり、ファイルを同期対象から外したい場合には、他のフォルダへ移動するなどの作業が必要になる。
つまり、同期するしないを考慮してファイルを置くフォルダを決めねばならない。TBクラスの大容量のHDDを持つデスクトップマシンなどでは、すべて同期しても問題にならないが、小容量のSSDしか搭載していないマシンでは、ユーザーがどのフォルダを同期するかなどをいちいち 管理する必要があるわけだ。
ただし、これらの問題点はシステムに統合されたWindows 8.1では大きく改良されている。

この連載の記事
- 第372回 Windowsにおけるアプリ実行エイリアスとは?
- 第371回 Windowsで利用可能なホットキーを探す
- 第370回 「Windows Terminal」「PowerTpys」「Winget」 Microsoft系OSSのアップデート情報
- 第369回 Windows 11の3月アップデートでの新機能をプレビュー システムトレイが改良
- 第368回 PowerShellのコマンドの並びにある典型的なパターン
- 第367回 AndroidアプリがWindowsで動く、「Windows Subsystem for Android」は今どうなってる?
- 第366回 ストア版WSLをアップデートまたはダウングレードする
- 第365回 Windowsで作成した仮想ハードディスクを容量を拡大する
- 第364回 Windowsで仮想ハードディスクを作る&使う
- 第363回 Windowsのタスクスケジューラーをもっと使いこなす
- 第362回 WSL(Windows Subsystem for Linux)がMicrosoftストア版に一本化される
- この連載の一覧へ