WinFS

WinFS（Windows File System、以前はWindows Future Storageの略とされていた）はWindows Vistaで採用される予定であった統合ファイルシステム。

概要
WinFSの実態は、Windows上に存在する全てのファイルを統合的に管理するデータベースエンジンで、NTFSファイルシステム上に構築されるサービスの一つである。当初は、完全な新規ファイルシステムとして実装される事が計画されていたが、後にNTFS上に構築されるデータベースエンジンとなった。その後、開発の難航により中止が決定された。

特徴
このファイルシステムは、マイクロソフトのMicrosoft SQL Server 2005の基幹エンジンであるYukon（開発コードネーム）の技術を基にしている。WinFSは単にファイルやフォルダ（ディレクトリ）を管理するに留まらず、ファイルシステム自体が検索機能を持ち、様々なタイプのデータを瞬時に取り出すことができる。
また、WinFSでは、各ファイルの属性を示すメタデータを管理することによりファイルシステム自体が個々のファイルの持つ意味や属性を把握できる仕様となっていた。この機能を利用することによって、個々のファイルの持つ様々な情報を、OSのサービスとしてAPIを通じて各アプリケーションに提供できるはずだった。

動作例とメタデータ
WinFSの機能を利用することにより、例えばOutlookで入力したスケジュールやメモの内容を、年賀状印刷ソフトから利用するといった事が可能である。この時、年賀状印刷ソフトで「過去、1年の間に会議を行った相手の住所」と指定すれば、自動的に該当する人物の住所のみピックアップされる、といった動作を実現できる仕様となっていた。

ここで重要なのは、上記のような動作を行うにあたり、クライアント側（この場合は年賀状ソフト）が特別な実装を行わなくても、WinFSのAPIを呼び出すだけでサーバ側（この場合はOutlook）のデータ形式を一切気にする事なく、上記のような動作を実現できる点であった。開発者の負担は下がり利用者の利便性は大幅に向上する事が期待されていた。上記の動作例では、年賀状ソフトを例に出したが、このような機能は、文書データのみならず、画像ファイルや映像ファイル等、あらゆるデータファイルに適用可能となっていた。ただし、アプリケーション側がWinFSに完全対応している必要がある。

上記の例のような動作を実現するため、WinFSには様々なデータファイルを扱うためにメタデータのテンプレートを規定しており、文書ファイル、アドレス帳、スケジュール表、画像、デジタルカメラ写真、音楽、映像など、主要な用途に対応したメタデータのテンプレートが用意されていた。また、このテンプレートにはXML技術が用いられており、サードパーティが後から拡張したり、新規テンプレートを作成する事も可能とされていた。メタデータの作成は基本的にデータ作成時にアプリケーション側で行われ、ユーザーはメタデータの存在を特に意識する必要は無い。

開発の経緯
WinFSの技術の源流は、90年代中頃に Windows NT 4として企画されたCairoプロジェクトにさかのぼる。Cairoプロジェクトは、コンピュータのOSそのものをオブジェクト化し、全てのデータをオブジェクト指向で扱う事の出来るOSを完成させるという、非常に野心的な計画であったが、あまりにも壮大な構想であったため頓挫。以後、ファイル情報をオブジェクト指向技術で取り扱おうとするプロジェクトは、マイクロソフト社内で何度か進行するが、そのたび中止中断を余儀なくされている。ビル・ゲイツは同技術を「情報技術の聖杯」と呼び、長年にわたる最終目標としてきたが、未だに実現はなされていない。WinFSの開発にあたって、ついに同技術の実用化が実現されることが期待されたが、2006年6月23日に開発の中止が決定された。

中断時、WinFSエンジンはベータ段階にありテクノロジプレビュー版が開発者向けに公開されていた。

Windows Vista と WinFS

開発の中止と搭載断念
当初Windows Vista（当時は開発コードLonghorn）に搭載される予定だったが、開発の難航により延期。同製品版への搭載は断念されサービスパックと同時に提供されると予告された。しかし、その後、2006年6月23日に開発の中止が決定。Windows Vistaへの搭載が無くなるとともに開発も停止された。

2007年1月30日に発売されたWindows Vistaにも、OSの標準機能として「スタートメニュー」や「エクスプローラ」に検索窓を利用したサーチ機能が実装されている。当初、同機能はWinFSのAPIによって高度な機能が実現されサードパーティのアプリケーションからもアクセスが可能であると予告されていた。しかし、開発中止に伴い、現在ではシェルの固有の機能として実装され、技術も一般的なファイルのインデックスサービスが使われている。

バーチャルフォルダ機能
WinFSの技術を用いて、Windows Vista（開発コード名Longhorn）で実現されるとされていた機能である。ユーザーは、従来のフォルダ（ディレクトリ）を意識する事なく、その目的に応じて様々なファイルを自在に扱う事ができるとされていた。

ユーザーは、デスクトップ上に用意されたバーチャルフォルダにアクセスすれば、バーチャルフォルダ内にユーザーが指定したデータが全て表示される。これによって、これまでのように、目的のファイル目指して階層化されたツリーを辿る作業から、ユーザーは解放されるとされていた。また、バーチャルフォルダは必要に応じて、ユーザーが自由に作成する事が出来たため、目的に応じた様々なバーチャルフォルダを用意することが可能だった。

バーチャルフォルダの内容は全てWinFSが管理しており、ファイルのデータ単位で内容を表示するため、従来のように同じアドレス帳のデータであっても、データの形式（拡張子）が異なるとそれがアドレス帳として認識されないといった不整合とは無縁である。また、バーチャルフォルダ上で行った、ファイルのコピーや削除といった操作も、全てWinFSによってファイルシステムに反映されるため、ユーザーがファイルの所在や位置関係を意識する必要は無くなるとされた。（もちろん、ユーザーがフォルダやファイルを直接動かしたり、内容を改変しても、それは自動的にバーチャルフォルダにも反映される）

バーチャルフォルダ機能は、開発コード名Longhornの概要が発表された2003年のPDC2003年イベントで配布された、Longhornテクノロジプレビュー版（ベータ版の前段階）のデスクトップ上に用意されていたが、その後、WinFSの開発後退とともにデスクトップから削除され、さらにLonghornのベータ版からは姿を消している。

2007年1月30日に発売されたWindows Vistaにも、「検索フォルダ」というバーチャルフォルダ的な機能が用意されているが、これはあくまでも従来の拡張子や日時単位でのファイル検索の一覧のみを表示する機能であり、バーチャルフォルダがWinFSによって実現するとしていた高度な機能は搭載されていない。

マイクロソフトのAPI
OSのファイルシステム
Windowsのコンポーネント