(57)【要約】【課題】少なくとも２つの異なるファイル・システム同士を容易に適合させるシステムおよび／または方法を提供すること。【解決手段】ファイル・システム・アダプタは、第１のファイル・システムと第２のファイル・システムの間に統一性および／またはシームレスな統合を与えることが可能である。ファイル・システム・アダプタは、少なくとも１つのプロパティをアイテムに与えるファイルと、アイテムに関連付けられたファイル・ストリームとによって質的に強化されたファイル・バック・アイテムを用いることが可能である。ファイル・バック・アイテムは、第１のファイル・システム用のＡＰＩと第２のファイル・システム用のＡＰＩとのうちの少なくとも１つによる操作を可能にすることができる。【選択図】図１
2006244493.tif 000002
【特許請求の範囲】
【請求項１】
異なるファイル・システム間の統一性を実現することを容易にするシステムであって、
第１のファイル・システムおよび第２のファイル・システムからデータを受け取るインターフェースと、
少なくとも１つのプロパティをアイテムに与えるファイル、および前記アイテムに関連付けられたファイル・ストリームによって質的に強化されたファイル・バック・アイテムを用いて、前記第１のファイル・システム用のＡＰＩおよび前記第２のファイル・システム用のＡＰＩのうちの少なくとも一方による操作を可能にすることによって、前記第１のファイル・システムと前記第２のファイル・システムとの間で統一性を実現するファイル・システム・アダプタと
を備えることを特徴とするシステム。
【請求項２】
前記第１のファイル・システムは、ファイルおよびディレクトリを関連のファイル・ストリームとともに利用して、アプリケーション用の空間に、より大きな構造を与える、１６ビット・ファイル・システムと３２ビット・ファイル・システムとのうちの少なくとも１つであることを特徴とする請求項１に記載のシステム。
【請求項３】
前記第２のファイル・システムは、情報を複合型として表すために、アイテム、サブアイテム、プロパティ、およびリレーションシップのうちの少なくとも１つを定義するファイル・ストレージ・システムであることを特徴とする請求項１に記載のシステム。
【請求項４】
前記第１のファイル・システムを解析して、ディレクトリ、ファイル、ファイル・ストリーム、属性、ノード、リーフ・ノード、およびセキュリティ特性のうちの少なくとも１つを決定するアナライザ・コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項５】
前記第１のファイル・システムのリーフ・ノードの前記ファイル・バック・アイテムと、前記第１のファイル・システムのディレクトリ内の非リーフ・ノードの前記アイテムのうちの少なくとも１つを生成するジェネレータ・コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項６】
前記第１のファイル・システム内の前記ファイルの属性を、前記第２のファイル・システムによって利用される前記ファイル・バック・アイテムに関連付ける属性コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項７】
前記属性は、読み出し専用、圧縮済みファイル、アーカイブ・ファイルのうちの少なくとも１つを表すことが可能なビットであることを特徴とする請求項６に記載のシステム。
【請求項８】
前記ファイル・バック・アイテムと、前記第１のファイル・システム内で行われるファイル・バッキングとの間の同期化を可能にするメタデータ・ハンドラ・コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項９】
前記メタデータ・ハンドラは、
バッキング・ファイル・ストリームにおいてプロパティが修正された際に、新しい値を前記第２のファイル・システムにおいて前記ファイル・バック・アイテム内の適切なフィールドにプロモートすること、および、
前記第２のファイル・システム用のＡＰＩを介してプロパティが変更されたときに新しい値を前記バッキング・ファイル・ストリームにデモートすること
のうちの少なくとも１つを可能にすることを特徴とする請求項８に記載のシステム。
【請求項１０】
別のファイル・バック・アイテムの複製であるがそのファイル・ストリームを含まないゴースト化アイテム、
前記ゴースト化アイテムを生成するゴースト化操作、および、
前記ゴースト化アイテムを通常アイテムに変換するゴースト化解除操作
のうちの少なくとも１つを提供するゴースト・コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１１】
前記少なくとも１つのファイル・バック・アイテムの同期化を、少なくとも１つのファイル・バック・アイテムに関連付けられたファイル・ストリームのスワップを可能にすることによって提供する属性トンネリング・コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１２】
前記ファイル・ストリームはファイル・ストリーム・テーブル内にあり、そこで、前記アイテムＩＤはスワップされることが可能であることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記ファイル・バック・アイテムは、セマンティック・レイヤ、ファイル・ストリーム、ファイル属性、エンティティ状態、変更単位、およびアイテム・データのうちの少なくとも１つを収容することを特徴とする請求項１に記載のシステム。
【請求項１４】
周期を有しない、接続されたアイテムのグラフを与える有向非周期グラフ（ＤＡＧ）コンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１５】
請求項１に記載のシステムの各コンポーネントを格納することを特徴とするコンピュータ可読媒体。
【請求項１６】
異なるファイル・システム間の統一性を実現することを容易にする、コンピュータ実装方法であって、
ファイルおよびディレクトリを関連のファイル・ストリームとともに利用する第１のファイル・システムを解析して、アプリケーション用の空間に、より大きな構造を与えること、
少なくとも１つのプロパティをアイテムに与えるファイルと、前記アイテムに関連付けられたファイル・ストリームと、によって質的に強化されたファイル・バック・アイテムを生成すること、および、
前記ファイル・バック・アイテムを利用して、前記第１のファイル・システムと第２のファイル・システムとの間で統一性を実現すること
を備えることを特徴とする方法。
【請求項１７】
前記第１のファイル・システム内の非リーフ・ノードに対してアイテムを生成すること、
前記第１のファイル・システム内のリーフ・ノードに対してファイル・バック・アイテムを生成すること、
前記ファイルからの属性を前記ファイル・バック・アイテムに組み込むこと、および、
前記第１のファイル・システム用のＡＰＩと前記第２のファイル・システム用のＡＰＩとのうちの少なくとも１つによる操作を可能にすること
のうちの少なくとも１つをさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１８】
ゴースト化およびゴースト化解除のうちの少なくとも１つを行うこと、
属性トンネリングを利用すること、および、
ＤＡＧを利用すること
のうちの少なくとも１つをさらに備えることを特徴とする請求項１６に記載の方法。
【請求項１９】
ファイル・システム・アダプタとインターフェースとの間で伝達されるデータ・パケットであって、請求項１６に記載の方法を容易にすることを特徴とするデータ・パケット。
【請求項２０】
異なるファイル・システム間の統一性を実現することを容易にする、コンピュータ実装システムであって、
第１のファイル・システムおよび第２のファイル・システムからデータを受け取る手段と、
少なくとも１つのプロパティをアイテムに与えるファイル、および前記アイテムに関連付けられたファイル・ストリームによって質的に強化されたファイル・バック・アイテムを用いて、前記第１のファイル・システム用のＡＰＩおよび前記第２のファイル・システム用のＡＰＩのうちの少なくとも一方による操作を可能にすることによって、前記第１のファイル・システムと前記第２のファイル・システムとの間で統一性を実現する手段と
を備えることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるファイル・システムを容易に適合させるシステムおよび／または方法に関する。
【背景技術】
【０００２】
コンピュータ・テクノロジ（たとえば、マイクロ・プロセッサ速度、メモリ容量、データ転送帯域幅、ソフトウェア機能など）の進歩は、全般的に、様々な産業におけるコンピュータ応用分野の増加に寄与している。より一層強力なサーバ・システムは、複数のサーバからなるアレイとして構成されることが多く、たとえば、ワールド・ワイド・ウェブなどの外部ソースから発せられるサービス・リクエストするために、一般的に提供されている。
【０００３】
使用可能な電子データの量が増えるにつれて、そのようなデータを、ユーザ・フレンドリかつ迅速なデータの検索および取り出しを容易にする、管理可能な形で記憶することの重要性が増している。今日の一般的な手法は、電子データを１つまたは複数のデータベースに格納することである。一般に、典型的なデータベースは、たとえばコンピュータ・プログラムが所望のデータ区画を素早く検索および選択できるように構成されたデータを有する、整理された、情報の集合体であると言うことができる。一般に、データベース内のデータは、１つまたは複数のテーブルによって編成される。そのようなテーブルは、行（raw）および列（column）の配列として整理されている。
【０００４】
また、これらのテーブルはレコードのセットを含むことが可能であり、レコードはフィールドのセットを含む。一般にレコードは、テーブル内の行（raw）としてインデックスが付けられ、レコード・フィールドは通常、列（column）としてインデックスが付けられる。このインデックスの行／列のペアによって、テーブル内にある特定のデータを参照することが可能になる。たとえば、行は、販売取引、人物、プロジェクトなどに関連する完全なデータレコードを格納することが可能である。同様に、テーブルの列（column）は、同じ一般データ形式を有する行の個別部分を定義することが可能であり、列は、レコードのフィールドを定義することが可能である。
【０００５】
データの個々の部分それぞれは、独立しており、概してあまりインフォマティブ（informative：特別に伝えることに意味があること）ではない。データベース・アプリケーションは、データをより有用なものにし、それにより、ユーザによるデータの整理および処理を支援する。データベース・アプリケーションは、ユーザが、データを比較し、並べ替え、順序づけ、結合し、分離し、連係などを行うことを可能にするので、その結果、データから有用な情報を生成することが可能となる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、データベースの容量および汎用性は、驚くべき量にまで膨れ上り、事実上無限の記憶容量をデータベースに使用することを可能にしている。さらに、一般的なデータベース・システムのクエリ機能は、時刻、ファイル・エクステンション、ロケーション、およびサイズによるものに制限されている。たとえば、データベースに関連付けられた膨大な量のデータを検索する場合の一般的な検索が、ファイル名、ファイル・サイズ、データ作成日時に制限されている。このような技法は不完全であり、不適切である。
【０００７】
エンド・ユーザからのデータが引き続き存在し、その作成が増え続けるのに伴って、そのようなデータを検索、関連付け、および記憶することに関する問題や困難さはピークに達しつつある。エンド・ユーザは、文書を作成したり、写真を記憶したり、コンパクト・ディスクから音楽をリッピングしたり、電子メールを受信したり、送信済み電子メールのコピーを残したりする。たとえば、音楽のコンパクト・ディスクを作成する単純なプロセスでも、エンド・ユーザは、メガ・バイト規模のデータを作成することが可能である。その音楽をコンパクト・ディスクからリッピングすること、そのファイルを適切なフォーマットに変換すること、ケース・カバーを作成すること、コンパクト・ディスクのラベルをデザインすることなど、すべてデータの作成が必要である。
【０００８】
ユーザ側に関わる複雑さだけでなく、開発者の側にもデータについての同様の問題がある。開発者は、個人用アプリケーションから開発が高度な企業向けアプリケーションに至る無数のアプリケーションを創出し記述する。アプリケーションの創出および／または開発中に、開発者は、常時でないにしても頻繁に、データを（一個所に）収集する。そのようなデータを取得する間、それらのデータを記憶しなければならない。言い換えると、データの検索、関連付け、および記憶に関わる問題や困難さは、開発者とエンド・ユーザの両方を危うくする。
【０００９】
さらに、データベースの技術的進歩は、多数のフォーマットおよび／または構成を生み出した。データベースのフォーマットおよび／またはコンフィギュレーションは、当然のごとく増大した。すなわち、そのような変化により、統合の困難性を引き起こす可能性がある。言い換えると、開発上の違いに基づいて、異なるファイル・データベースは互いにうまく適合しないのが普通である。そこで、従来の複数のシステムおよび複数データベースに関連する上述の例示的問題を克服する必要性が存在する。
【課題を解決するための手段】
【００１０】
以下では、本発明のいくつかの態様の基本的理解が得られるように、本発明の要約を示す。この要約は、本発明の包括的概要ではない。この要約は、本発明の重要な、またはクリティカルな要素を特定することや、本発明の範囲を線引きすることを意図するものではない。この要約は、後述の、本発明のより詳細な説明への導入として、本発明のいくつかの概念を簡単な形態で示すことのみを目的とする。
【００１１】
本発明は、複数の異なるファイル・システム（disparate file systems）を容易に適合させるシステムおよび／または方法に関する。ファイル・システム・アダプタが、第１のファイル・システムと第２のファイル・システムの間の統一性（uniformity）の提供を可能にする。この統一性は、第１のファイル・システム用のアプリケーションおよび／またはＡＰＩが第２のファイル・システムに実装されることを可能にすることができる。このファイル・システム・アダプタは、ファイル・バック・アイテム（file-backed item）を実装することが可能であり、このファイル・バック・アイテムは、第２のファイル・システムに関連するアイテムであり、それに関連付けられた少なくとも１つのプロパティを取り込むファイルおよび／またはファイル・ストリームに依拠する第２のファイル・システムに関連するアイテム、とすることが可能である。ファイル・バック・アイテムは、そのファイルおよび／または関連付けられたファイル・ストリームを利用して、そのアイテムに、第２のファイル・システムにあるプロパティおよび／またはメタデータを取り込むことが可能である。このファイル・システム・アダプタは、ファイル・バック・アイテムを利用して、第１のファイル・システムの現在および以前のバージョンに関連する既存のＡＰＩによる操作だけでなく、第２のファイル・システムに関連付けられたＡＰＩによる操作も可能にする。このファイル・システム・アダプタはまた、第１のファイル・システムと第２のファイル・システムとの間に同期化を提供することが可能である。このファイル・バック・アイテムが、第１のファイル・システムの特性、たとえば、限定されないけれども、属性、セキュリティ特性、ファイル・ストリーム、ファイルなど、を第２のファイル・システムに組み込むことが可能であることを認識し、理解されたい。
【００１２】
本発明の一態様によれば、このファイル・システム・アダプタは、属性コンポーネントを含むことが可能である。この属性コンポーネントは、第１のファイル・システムに関連付けられたファイルおよび／またはファイル・ストリームに関連する属性を第２のファイル・システムに与えることが可能である。ファイルは、限定されないけれども、読み出し専用ファイル、圧縮済みファイル、アーカイブ・ファイルなど少なくとも１つの属性を有することが可能であり、そのような属性を、１つのビットおよび／または複数のビットで表すことが可能である。この属性コンポーネントは、第１のファイル・システム内のファイルおよび／またはファイル・ストリームを表すファイル・バック・アイテムがそのような属性を第２のファイル・システムに組み込むことを可能にすることができる。
【００１３】
本発明の別の態様によれば、ファイル・システム・アダプタは、メタデータ・ハンドラ・コンポーネントを含むことが可能であり、これは、少なくとも１つのプロパティがアイテム、ファイル・バック・アイテム、およびバッキング・ファイル（たとえば、ファイル・バック・アイテムによって表される、ファイル・システム内のファイル）の間で同期した状態に保たれることを可能にする。プロパティは、バッキング・ファイル・ストリーム内で修正されることが可能である。この場合は、このメタデータ・ハンドラ・コンポーネントが第２のファイル・システム内でその新しい値をアイテム内の適切なフィールドにプロモートすることが可能である。さらにプロパティは、第２のファイル・システムに関連するＡＰＩを介して変更されることが可能であり、また、このメタデータ・ハンドラ・コンポーネントは、第１のファイル・システム内でその新しい値をバッキング・ファイル・ストリームにデモートすることが可能である。
【００１４】
本発明のさらに別の態様によれば、このファイル・システム・アダプタは、ファイル・バック・アイテムのプロパティに対して同期化を提供するゴースト・コンポーネントを含むことが可能である。さらに、属性トンネル・コンポーネントは、第２のファイル・システム内での名前変更および／またはリソース保全を容易にするために属性トンネリングを行うことに利用することが可能である。さらにまた、このファイル・システム・アダプタは、本発明との併用で有向非周期グラフを利用するＤＡＧコンポーネントを含むことが可能である。本発明の他の態様は、複数の異なるファイル・システムを容易に適合させる方法を提供する。
【００１５】
以下の説明および添付図面では、本発明の特定の例示的態様について詳細に説明する。これらの態様は、本発明の原理を用いることが可能である様々な形態のうちの一部を示しているに過ぎず、本発明は、そのような態様とそれらの等価物をすべて包含するものとする。本発明の他の利点や新規な特徴は、図面とともに考察したとき、以下の本発明の詳細説明から明らかになるであろう。
【発明を実施するための最良の形態】
【００１６】
本出願に使用される際、「コンポーネント」、「システム」、「インターフェース」などの用語は、コンピュータ関連エンティティ、すなわち、ハードウェア、（たとえば、実行中の）ソフトウェア、および／またはファームウェアを意味するものとする。たとえば、コンポーネントは、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、プログラム、および／またはコンピュータとすることが可能である。たとえば、サーバで実行中のアプリケーションも、そのサーバも、コンポーネントとすることができる。１つまたは複数のコンポーネントが１つのプロセス内に常駐することが可能であり、１つのコンポーネントが１つのコンピュータに局所化したり、かつ／または２つ以上のコンピュータに分散したりすることが可能である。
【００１７】
本発明は、図面を参照しながら説明され、同様の参照符号が、複数の図面を通して同様の要素を表すために用いられる。以下の説明では、本発明が深く理解されるように、例示を目的として、多数の具体的な細部を説明する。しかしながら、それらの具体的な細部がなくても本発明が実施可能であることは自明であろう。他の例では、本発明を容易に説明するために、よく知られた構造や装置をブロック図の形で示している。
【００１８】
次に図に戻ると、図１は、あるファイル・システムを異なるファイル・システムと容易に適合させるシステム１００を示す。ファイル・システム１０２は、ファイル・ストレージ・システムであることが可能であり、その構造は、ファイル・ストリームおよび／またはディレクトリに基づいている。ファイル・システム１０２は、ファイル・ストリームを利用することが可能であり、その結果、アプリケーションおよび／またはアプリケーション・プログラム・インターフェース（ＡＰＩ）がそのファイル・ストリームを質的に強化（enrich）して、追加の構造を与えることが可能となる。ファイル・システム１０４は、アイテム、サブアイテム、プロパティ、およびリレーションシップが定義されて、ファイル・システム１０４内の情報が複合型のインスタンスとして表現されることが可能である、より複雑なモデルであることが可能である。アイテムは、ファイル・システム１０４における一貫性の最小単位として定義されることが可能であり、セキュリティ保護、シリアル化、同期化、コピー、バックアップ／復元などが独立に行われることが可能である。アイテムはタイプのインスタンスであり、ファイル・システム１０４内のすべてのアイテムは、アイテムの単一グローバル・エクステントに格納することが可能である。ファイル・システム１０４は、少なくとも１つのアイテムおよび／またはコンテナ構造に基づくことが可能である。ファイル・システム１０４は、アイテムとしてファイルに埋め込まれる多彩なメタデータをエクスポーズするストレージ・プラットフォームであることが可能である。ファイル・システム１０４は、説明される機能をサポートするためにデータ・モデルによって表されるファイル・ストレージ・システムであることが可能であることを理解されたい。
【００１９】
ファイル・システム・アダプタ１０６は、ファイル・システム１０２とファイル・システム１０４との間に互換性および／または統一性を与えることが可能である。互換性および／または統一性により、ファイル・システム１０２用のアプリケーションおよび／またはＡＰＩがファイル・システム１０４に実装されることを可能にすることができる。ファイル・システム・アダプタ１０６は、ファイル・バック・アイテムを実装することが可能であり、このファイル・バック・アイテムは、ファイル・システム１０４に関連するアイテムであって、それに関連付けられた少なくとも１つのプロパティを取り込むファイルおよび／またはファイル・ストリームに依拠するファイル・システム１０４に関連するアイテム、とすることが可能である。このファイル・バック・アイテムは、ファイル・システム１０２と、十分に体系化されたファイル・システム１０４および／またはそれらに関連付けられたデータ・モデルとの間のブリッジとして動作することが可能である。たとえば、ファイル・システム１０４内の画像アイテムは、ファイル・バック・アイテムであることが可能であり、この場合、この画像アイテムは、標準的な画像フォーマット（たとえば、ＪＰＥＧ、ＴＩＦ、ＢＭＰなど）に準拠する、ファイル・システム１０２のファイルによってバッキングされる。言い換えると、このファイル・バック・アイテムは、ファイル・システム１０４におけるプロパティおよび／またはメタデータをアイテムに取り込むファイルおよび／または関連付けられた（たとえば、ファイル・システム１０２によって利用される）ファイル・ストリームを利用することが可能である。ファイル・システム・アダプタ１０６は、ファイル・バック・アイテムを利用して、ファイル・システム１０２の現在および以前のバージョンに関連する既存のＡＰＩによる操作だけでなく、ファイル・システム１０４に関連付けられたＡＰＩによる操作も可能にする。ファイル・システム・アダプタ１０６はまた、ファイル・システム１０２とファイル・システム１０４との間に同期化を提供することが可能である。特に、ファイル・バック・アイテムは、バッキング・ファイル内の対応するデータと同期したデータを与えることが可能である。このファイル・バック・アイテムが、これらに限定されないが、属性、セキュリティ特性、ファイル・ストリーム、ファイルなどファイル・システム１０２の特性をファイル・システム１０４に与えることが可能であることを理解されたい。
【００２０】
システム１００はさらにインターフェース・コンポーネント１０８を含み、インターフェース・コンポーネント１０８は、ファイル・システム・アダプタ１０６をほとんどすべてのオペレーティング・システムに統合するための様々なアダプタ、コネクタ、チャネル、通信パスなどを与える。さらに、インターフェース・コンポーネント１０８は、データおよびファイル・システム・アダプタ１０６との対話を可能にする様々なアダプタ、コネクタ、チャネル、通信パスなどを与えることが可能である。インターフェース・コンポーネント１０８はファイル・システム・アダプタ１０６に組み込まれているが、そのような実装がそのようには限定されないことを理解されたい。たとえば、インターフェース・コンポーネント１０８は、システム１００に対してデータの受信または送信を行うスタンドアロン・コンポーネントであることが可能である。
【００２１】
図２は、少なくとも２つの異なるファイル・システムを容易に適合させて統一性を与えるシステム２００を示す。ファイル・システム・アダプタ２０６は、ファイル・システム２０２とファイル・システム２０４との間に統一性および／または互換性を与えることが可能である。しかしながら、ファイル・システム・アダプタ２０６は、複数の異なるファイル・システムを適合させることが可能であることを理解されたい。ファイル・システム２０２は、少なくとも１つのＡＰＩおよび／またはアプリケーションを利用する、ファイル・ストリームおよびディレクトリをベースとするファイル・システムであることが可能である。たとえば、ファイル・システム２０２に関連するＡＰＩおよび／またはアプリケーションは、限定されないが、１６ビット、３２ビット、その他のバージョンであることが可能である。ファイル・システム２０４は、アイテムを一貫性の単位として利用する複合構造であることが可能であり、その場合はメタデータ、プロパティ、リレーションシップが複合型のインスタンスとして実装される。ファイル・システム２０４は、データの形態（shape）を記述し、データに関する、ある種のセマンティクスの一貫性を意味する制約を宣言し、データ間のセマンティクスの関連付けを定義することが可能なデータ・モデルであることが可能である。ファイル・システム２０２に関連するＡＰＩおよび／またはアプリケーションは、ファイル・システム・アダプタ２０６を利用することによって、ファイル・システム２０４内で統一的に利用されることが可能である。ファイル・システム２０２、ファイル・システム２０４、およびファイル・システム・アダプタ２０６は、それぞれ、図１のファイル・システム１０２、ファイル・システム１０４、およびファイル・システム・アダプタ１０６とほぼ同様であることが可能であることを理解されたい。
【００２２】
ファイル・システム・アダプタ２０６は、ファイル・システム２０２を解析するアナライザ・コンポーネント２１０を含むことが可能である。アナライザ・コンポーネント２１０は、それに関連付けられたディレクトリおよび／またはファイルを決定し、ファイル・システム２０４に適合可能とし、かつ／またはそれに互換であるシステムを提供することを容易にすることが可能である。アナライザ・コンポーネント２１０は、少なくとも１つのリーフ・ノードを決定することが可能である。ファイル・システム２０２のすべてのディレクトリおよび／またはファイルがファイル・システム２０４内のアイテムとして表されることが可能であるのに対し、リーフ・ノードはファイル・バック・アイテムとして表されることが可能であることを理解されたい。したがって、リーフ・ノードではないディレクトリおよび／またはファイルは、ファイル・システム２０４内に存在するが、これに関連付けられたストリームは存在しない。
【００２３】
ファイル・システム・アダプタ２０６は、ファイル・バック・アイテムを作成および／または生成するジェネレータ・コンポーネント２１２をさらに含むことが可能である。ジェネレータ・コンポーネント２１２は、ファイル・システム２０２の解析結果に少なくとも部分的に基づくファイル・バック・アイテムを生成することが可能である。たとえば、ジェネレータ・コンポーネント２１２は、ファイル・システム２０２に関連付けられた任意のリーフ・ノードについてファイル・バック・アイテムを生成することが可能であり、このファイル・バック・アイテムは、ファイル・システム２０２からのファイルおよび／またはファイル・ストリームによって質的に強化（enrich）されているため、ファイル・システム２０４と互換である。ジェネレータ・コンポーネント２１２は、「ファイル・バック・アイテムが、関連付けられた（たとえば、バッキング）ファイル・ストリームを有すること」、「ファイル・バック・アイテムが他のアイテム（たとえば、それらが名前空間内のリーフ・ノードである）を含まないこと」、「ファイル・バック・アイテムがゴースト化されることが可能であること（後述）」、および「ファイル属性（後述）がファイル・バック・アイテムに関して保持されること」のうちの少なくとも１つが当てはまるファイル・バック・アイテムを生成することが可能である。
【００２４】
ファイル・バック・アイテムは、ファイル・システム２０２とファイル・システム２０４との間のブリッジとして動作することが可能である。ファイル・システム２０４のすべてのアイテムは、１）そのコンテンツの少なくとも一部がファイル・システム２０２のファイルおよび／またはファイル・ストリームからのものである場合、および／または２）基になるファイルのコンテンツが、ファイル・システム２０２に関連する少なくとも１つのＡＰＩおよび／またはアプリケーションによって操作される場合には、ファイル・バック・アイテムとして指定することが可能である。ファイル・システム２０４内のファイル・バック・アイテムは、アイテムに関連するファイル・ストリームだけでなく、アイテムに関連付けられたメタデータ・プロパティも記憶することが可能である。ファイル・システム２０２のフォルダ／ディレクトリ／ファイル階層メカニズムは、ファイル・システム２０４においては、ファイル・バック・アイテムを含む他のアイテムを収容するコンテナ・アイテムを利用して表されることが可能であることを理解されたい。したがって、ファイル・システム２０２  ＡＰＩを利用するアプリケーションは、ファイル・システム２０４のストレージ・メカニズムとシームレスに動作することが可能である。
【００２５】
図３は、ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させるシステム３００を示す。ファイル・システム・アダプタ３０６は、ファイル・システム３０２と、それとは異なるファイル・システム３０４との間で、統一性および／または互換性のある対話を可能にすることができる。ファイル・システム・アダプタ３０６は、少なくとも１つのプロパティおよび／またはメタデータを、ファイル・システム３０２に関連付けられたファイルおよび／またはファイル・ストリームを使用して取り込むことが可能な、ファイル・システム３０４内のアイテムとして、ファイル・バック・アイテムを利用することが可能である。ファイル・バック・アイテムは、ファイル・システム３０２（たとえば、ファイル・フォーマット）と、ファイル・システム３０４（たとえば、十分に体系化された複合型のインスタンス）との間のブリッジとして動作することが可能である。
【００２６】
ファイル・システム・アダプタ３０６は、ファイル・システム３０２に関連付けられたファイルおよび／またはファイル・ストリームに関連する属性をファイル・システム３０４に与える属性コンポーネント３１０を含むことが可能である。たとえば、ファイル・システム３０２は、ファイル・ストリーム・ベースのストレージ・システムを利用する。この場合、ファイルは、これらに限定されないけれども、読み出し専用ファイル、圧縮済みファイル、アーカイブ・ファイルなども、少なくとも１つの属性を有することが可能であり、そのような属性は、１つのビットおよび／または複数のビットで表すことが可能である。属性コンポーネント３１０は、ファイル・システム３０２内のファイルおよび／またはファイル・ストリームを表すファイル・バック・アイテムがそのような属性をファイル・システム３０４に組み込むことを可能にすることができる。属性コンポーネント３１０は、そのような属性を、プロパティとして表現するか、かつ／または、プロパティとしてそれぞれのファイル・バック・アイテムに対応づけることが可能であることを理解されたい。一例では、属性コンポーネント３１０は、ファイル・システム３０２からの呼び出しによってファイル・ストリームを閉じた直後にファイル属性に対する更新を提供することが可能である。このプロパティは、ファイル・システム３０４に関連するＡＰＩを用いて更新することが可能である（後述）。
【００２７】
属性コンポーネント３１０はさらに、すべてのアイテムに共通である属性を収容可能なネスト型のアイテム属性を与えることが可能である。これらの属性は、ファイル・システム３０４を通して動作している任意のアプリケーションおよび／またはファイル・システム３０４に関連付けられたＡＰＩによって設定可能とすることができる。アプリケーションによって利用される、かつ／またはファイル・システム３０２と互換とするための例として、以下の属性を与えることが可能である。
【００２８】
【表１】
2006244493.tif 000003
【００２９】
ファイル・システム・アダプタ３０６は、少なくとも１つのプロパティがアイテム、ファイル・バック・アイテム、およびバッキング・ファイル（たとえば、ファイル・バック・アイテムによって表される、ファイル・システム３０２内のファイル）の間で同期した状態に保たれることを可能にするメタデータ・ハンドラ・コンポーネント３１２を含むことが可能である。たとえば、プロパティは、バッキング・ファイル・ストリーム内で修正されることが可能でありこの場合、メタデータ・ハンドラ・コンポーネント３１２は、ファイル・システム３０４内でその新しい値をアイテム内の適切なフィールドにプロモートすることが可能である。別の例では、プロパティは、ファイル・システム３０４に関連するＡＰＩを介して変更されることが可能であり、メタデータ・ハンドラ・コンポーネント３１２は、ファイル・システム３０２内でその新しい値をバッキング・ファイル・ストリームにデモートすることが可能である。異なる型のファイル・バック・アイテムは、それに関連付けられた、異なるメタデータ・ハンドラ・コンポーネント３１２を有することが可能であることを理解されたい。
【００３０】
たとえば、アプリケーションによってファイルが閉じられた後、メタデータ・ハンドラ・コンポーネント３１２によってプロモートが非同期で行われることが可能である。一方、デモートは非同期で行われることが可能である。あるアイテムとバッキング・ファイルとの間でプロモート済みプロパティが同期しているかどうかを、特殊なアイテムプロパティで示すことが可能である。プロモーション・ステータスは、アイテム・プロモーション・エラーステータスを示すことが可能である。このステータスは、ファイル・バック・アイテムのデフォルト・ストリーム上でのファイル・クローズと非同期に設定されることが可能である。このステータスは、非ファイル・バック・アイテムについてはＮＵＬＬであることが可能である。次の表は、プロモーション・ステータスの可能な値を示している。
【００３１】
【表２】
2006244493.tif 000004
【００３２】
ファイル・システム３０６は、少なくとも１つのアイテムおよび／またはファイル・バック・アイテムが格納されているアイテム・テーブルを利用することが可能であることを理解されたい。このアイテム・テーブルは、このアイテム・テーブルに格納することが可能な各ファイル・バック・アイテムに、ファイル・ストリームおよび／またはファイル属性を関連付けるファイル・ストリーム・テーブルおよび／またはファイル属性テーブルを利用することが可能である。ファイル・ストリーム・テーブルおよび／またはファイル属性テーブルは、（たとえば、質的に強化（enrich）するか、かつ／または少なくとも１つのプロパティを取り込むファイル・ストリームおよび／またはファイルを格納する）ファイル・バック・アイテムになるアイテムに関連するそれぞれのファイル・ストリームおよびファイル属性を格納することが可能である。ファイル属性はアイテム・テーブルに格納可能であることを理解されたい。ファイル属性セマンティクスは、たとえば、更新ＡＰＩによって実装可能である。
【００３３】
さらに、グローバル・アイテム・テーブルは、ファイル・バック・アイテムに対する以下の追加物を含むことが可能である。
【００３４】
【表３】
2006244493.tif 000005
【００３５】
たとえば、ファイル・ストリーム・テーブルは、以下のプロパティを有することが可能である。
【００３６】
【表４】
2006244493.tif 000006
【００３７】
以下に、ファイル・ストリーム・ストレージを利用するファイル・システムの例を示す。ここでは３２ビットシステムを実装しているが、３２ビット・システムは本発明の限定として見なされるべきではない。以下は、システム３００およびファイル・ストレージ・システム（ＦＳＳ）（たとえば、ファイル・システム３０４）によってサポートされることが可能な３２ビット・ファイル・システムの属性の例である。
【００３８】
【表５】
2006244493.tif 000007
【００３９】
【表６】
2006244493.tif 000008
【００４０】
【表７】
2006244493.tif 000009
【００４１】
上の例ではまた、以下の属性を部分的かつ／または完全にサポートすることが可能である。
【００４２】
【表８】
2006244493.tif 000010
【００４３】
図４は、あるファイル・システムを異なるファイル・システムに適合させるか、かつ／または組み込むことを容易にするシステム４００を示す。ファイル・システム・アダプタ４０６は、ファイル・システム４０２とファイル・システム４０４とに統一性を与えることが可能である。ファイル・システム４０２は、ファイル・ストリームに基づくことが可能であり、ディレクトリ、フォルダ、およびファイルを含むことが可能である。たとえば、ファイル・システム４０２は、１６ビット・ファイル・システム、３２ビット・ファイル・システム（たとえば、ＦＡＴファイル・システム）であることが可能であり、ＡＰＩ（たとえば、１６ビットＡＰＩ、３２ビットＡＰＩ）は、それぞれのオペレーティング・システムに、そのようなファイル・システムを利用する。ファイル・システム４０４は、複合型に基づくシステムであることが可能であり、型、アイテム、プロパティ、リレーションシップ、型（type）のインスタンス、コンテナなどを含む。ファイル・システム４０４は、情報の単位を、関連するメタデータおよび／またはプロパティを有するオブジェクトとして表すことを理解されたい。さらに、ファイル・システム４０２および４０４は、図３のファイル・システム３０２および３０４、図２のファイル・システム２０２および２０４、図１のファイル・システム１０２および１０４と実質的に類似することが可能である。
【００４４】
ファイル・システム・アダプタ４０６は、ファイル・システム４０２のファイル構造に少なくとも基づいてファイル・バック・アイテムを生成して、ファイル・システム４０４とのシームレスな統合を可能にすることができる。このファイル・バック・アイテムは、ファイルおよび／またはファイル・ストリームを取り込んだり、かつ／またはそれらによって質的に強化（enrich）して、ファイル・システム４０４によって利用されるプロパティを作成および／またはアタッチしたりすることが可能である。ファイル・バック・アイテムは、ファイル・システム４０２用ＡＰＩを、このファイル・バック・アイテムが、それに関連付けられたファイルおよび／またはファイル・ストリームを有する型（type）であるため、そのＡＰＩフォーマットがファイル・ストリームを必要としているにもかかわらず、ファイル・システム４０４で利用可能にすることが可能である。言い換えると、ファイル・バック・アイテムは、ファイル・システム４０２とファイル・システム４０４との間のブリッジである。
【００４５】
ファイル・システム・アダプタ４０６は、ファイル・バック・アイテムのプロパティの同期化を提供するゴースト・コンポーネント４１０を含むことが可能である。ゴースト・コンポーネント４１０は、別のファイル・バック・アイテムの複製であってファイル・ストリームを含まないゴースト化アイテムを生成することが可能である。さらに、ゴースト・コンポーネント４１０は、ゴースト化アイテムを生成する操作および／または既存のアイテムをゴースト化アイテムに変換する操作、であるゴースト化を行うことが可能である。ゴースト・コンポーネント４１０はまた、ゴースト化アイテムを通常アイテムに変換する操作であるゴースト化解除（unghosting）を行うことも可能である。ゴースト・コンポーネント４１０はファイル・システム・アダプタ４０６に組み込まれているが、ゴースト・コンポーネント４１０は独立コンポーネントおよび／またはスタンドアロン・ユニットであることも可能であることを理解されたい。
【００４６】
以下の表は、ゴースト・コンポーネント４１０の機能に関連する、さらなる説明を与えることが可能である。
【００４７】
【表９】
2006244493.tif 000011
【００４８】
一例では、ゴースト・コンポーネント４１０は、ファイル・システム４０４用エンティティをゴースト化することが可能である。そのアイテムがファイル・バック・アイテムでない場合は、エラーを返すことが可能である。そのアイテムが既にゴースト化されていれば、この操作は空操作であって成功を返す。ゴースト・コンポーネント４１０は、その情報を、そのゴースト化アイテム・ツリーにあるすべてのサブエンティティ（たとえば、すべての埋め込みアイテム、リレーションシップ、および／またはエクステンション）に伝播することが可能であり、そのエンティティ状態がゴースト化であることを通知するためにビットをＴＲＵＥに設定する。そのゴースト化アイテムに関するファイル・ストリーム・コンテンツは、ゴースト化が行われた後（たとえば、ゴースト化によってファイル・ストリームがＮＵＬＬに設定された後）、削除することが可能である。
【００４９】
別の例では、エンティティがゴースト・コンポーネント４１０によってゴースト化解除されることが可能である。そのアイテムがファイル・バック・アイテムでない場合は、エラーが返される。アイテムがゴースト化されていない場合、この操作は空操作であって成功を返す。エンティティがゴースト化されていないというエンティティ状態を伝えるためにビットをＦＡＬＳＥに設定することが可能である。長さゼロのファイル・ストリームを生成し、ファイル・ストリーム・テーブルに追加することが可能である。ゴースト化解除ではファイル・ストリーム・コンテンツが復元されないため、呼び出し側は、明示的に、ファイル・ストリームに適切なコンテンツを取り込まなければならない（たとえば、ほぼ同様のトランザクションで行うことが好ましい）。一例では、ゴースト化解除の用法パターンとして、「トランザクションを開く」、「アイテムをゴースト化解除する」、「ファイル・ストリーム・コンテンツを取り込み／復元する」、「トランザクションをコミットする」などがある。
【００５０】
ファイル・システム・アダプタ４０６は、属性トンネル・コンポーネント（ＡＴＣ）４１２を含むことが可能である。ＡＴＣ４１２は、ファイル・システム４０４内での名前変更および／またはリソース保全を容易にするために属性トンネリングを行う。ファイル・システム４０２は、一時ファイルを利用することが可能である。そのようなファイルは、ファイルを開いたり、ファイルにアクセスしたり、ファイルを編集したりすると生成される。ファイルがファイル・システム４０２に保存されると、一時ファイル名と保存ファイル名とがスワップされる。たとえば、ファイル・システム４０２内でファイルｆｏｏｄ．ｄｏｃが作成され、アクセスされることが可能であるとする。ファイル・システム４０２内でアクセスが行われると、ファイルｆ１．ｔｍｐが生成されることが可能である。ｆｏｏｄ．ｄｏｃは、ｆ２．ｔｍｐに移されることが可能である。この場合、ｆ１．ｔｍｐはｆｏｏｄ．ｄｏｃに移される。その後、ファイル・システム４０２においてファイルｆ２．ｔｍｐを削除することが可能である。しかしながら、ファイル・システム４０４の構造と、情報の単位を表すためのアイテムの利用に基づく、名前を更新するＡＰＩ呼び出しは、負荷のかかるリソースである。一般に、ＡＴＣ４１２は、関連付けられたファイル・ストリームが２つのファイル・バック・アイテムの間でスワップされることを可能にする。たとえば、ファイル・ストリーム・テーブルに格納されている（複数の）ファイル・ストリームはＡＴＣ４１２によって利用されることが可能であり、２つのファイル・ストリームのアイテムＩＤをスワップすることが可能である。ＡＴＣ４１２を、ファイル・システム・アダプタ４０６に組み込まれているものとして示したが、ＡＴＣ４１２は、スタンドアロン・コンポーネントであることも、任意の好適なコンポーネントに組み込まれることも、それらの組み合わせの形で用いられることも可能であることを理解されたい。
【００５１】
図５は、複数の異なるファイル・システムを容易に適合させるために生成されるファイル・バック・アイテムを示す。特に、ファイル・バック・アイテム５０２は、ファイル・システム５０４とファイル・システム５０６との間で統一性を実現することが可能である。ファイル・システム５０４は、図４のファイル・システム４０２、図３のファイル・システム３０２、図２のファイル・システム２０２、および図１のファイル・システム１０２と実質的に類似することが可能であることを理解されたい。さらに、ファイル・システム５０６は、図４のファイル・システム４０４、図３のファイル・システム３０４、図２のファイル・システム２０４、および図１のファイル・システム１０４と実質的に類似することが可能であることを理解されたい。
【００５２】
ファイル・バック・アイテム５０２は、（たとえば、更新ＡＰＩ、および／または前述のメタデータ・ハンドラ・コンポーネントによって実装される）セマンティクスを与えるセマンティック・レイヤ５０８を提供することが可能である。ファイル・バック・アイテム５０２は、また、ファイル・ストリーム５１０を含む。ファイル・ストリーム５１０は、ファイル・システム５０４テクノロジに含まれることが可能である。ファイル・システム５０４に関連付けられたアプリケーション（たとえば、３２ビットのアプリケーションおよび／またはＡＰＩ）は、ファイル・バック・アイテム５０２を利用して、ファイル・システム５０６内に格納されているファイルのファイル・ストリームに、ダイレクトに操作することが可能である。多くのファイル・システム５０４テクノロジ、たとえば、限定されないけれども、キャッシュ管理、ストリーミング、バイト・レンジ・ロッキング、メモリ・マッピングなどは、ファイル・システム５０６によって再実装される必要がない。土台となるストリームは、ファイル・バック・アイテム５０２に関連付けられている。さらに、ファイル・ストリーム５１０は、少なくとも１つのアクセス制御リスト（ＡＣＬ）によって保護されることが可能である。ファイル・ストリーム５１０は、以下の表のようなファイル・ストリーム・テーブルで表されることが可能である。
【００５３】
【表１０】
2006244493.tif 000012
【００５４】
さらに、ファイル・バック・アイテム５０２は、ファイル属性５１２、エンティティ状態５１４、変更単位（change units）５１６、およびアイテム・データ５１８を含むことが可能である。ファイル属性５１２はアイテム・テーブルに格納されることが可能であり、アイテム・テーブルでは、ファイル属性セマンティクスが、たとえば、更新ＡＰＩによって実装されることが可能である。エンティティ状態５１４は、エンティティ状態アイテム・ユーザ定義型（ＵＤＴ）フィールドに格納された属性を有することが可能である。エンティティ状態属性のセマンティクスは、更新ＡＰＩおよび／またはメタデータ・ハンドラ・コンポーネント（図示せず）によって実装されることが可能である。さらに、ファイル・バック・アイテム５０２は、変更単位５１６を利用して、アイテムに関連するデータを表す、少なくとも１つの単位および／またはアイテム・データ５１８を変更することが可能である。
【００５５】
一例として、以下の表は、エンティティ状態５１４の少なくとも１つの特性を表すことが可能である。
【００５６】
【表１１】
2006244493.tif 000013
【００５７】
図６は、ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させるシステム６００を示す。ファイル・システム・アダプタ６０６は、ファイル・システム６０２（たとえば、３２ビットＡＰＩを利用する、ファイル・システム・ストリーム・ベースのシステム）とファイル・システム６０４（たとえば、情報の単位を表すためにアイテム、型、プロパティ、およびリレーションシップを利用するオブジェクト・ベースのシステム）との間に統一性および／またはシームレスな統合を与えることが可能である。ファイル・システム６０２は、図５のファイル・システム５０４、図４のファイル・システム４０２、図３のファイル・システム３０２、図２のファイル・システム２０２、および図１のファイル・システム１０２とかなりよく似ていることが可能であることを理解されたい。さらに、ファイル・システム６０４は、図５のファイル・システム５０６、図４のファイル・システム４０４、図３のファイル・システム３０４、図２のファイル・システム２０４、および図１のファイル・システム１０４とかなりよく似ていることが可能であることを理解されたい。
【００５８】
有向非周期グラフ（ＤＡＧ）コンポーネント６０８は、本発明との併用で利用されることが可能である。ＤＡＧコンポーネント６０８は、周期がまったくない有向グラフを利用することが可能である。その場合、頂点に関しては、そのような頂点で始まって終わる有向パスが存在しない。ソースは、入ってくるエッジ（辺）を有しない頂点であり、シンクは、出ていくエッジ（辺）を有しない頂点である。有限のＤＡＧは、少なくとも１つのソースと少なくとも１つのシンクとを有する。ＤＡＧの長さは、その長さ（たとえば、最長有向パスのエッジ（辺）の数）である。ファイル・システム６０２はＤＡＧを組み込まないが、ファイル・システム６０４はファイル・システム・アダプタ６０６を介してＤＡＧコンポーネント６０８を利用することが可能であることを理解されたい。ＤＡＧコンポーネント６０８をスタンドアロン・ユニットとして示したが、ＤＡＧコンポーネント６０８は、ファイル・システム・アダプタ６０６および／または他の任意の好適なコンポーネントに組み込まれることが可能である。ＤＡＧコンポーネント６０８を利用すると、ファイルは２つのディレクトリを同時に記述することが可能である。たとえば、ファイルがあるディレクトリから削除され、物理的に除去されたとき、そのファイルにとってディレクトリが親のままであることが可能である。
【００５９】
図７は、あるファイル・システムを異なるファイル・システムに容易に適合させるインテリジェンスを用いるシステム７００を示す。システム７００は、ファイル・システム７０２、ファイル・システム７０４、ファイル・システム・アダプタ７０６、およびインターフェース１０８を含むことが可能であり、これらはすべて、これまでの図で示したそれぞれのコンポーネントと実質的に類似することが可能である。システム７００はさらに、インテリジェント・コンポーネント７０８を含む。インテリジェント・コンポーネント７０８は、少なくとも２つの異なるファイル・システムを容易に適合させるためにファイル・システム・アダプタ７０６によって利用されることが可能である。たとえば、インテリジェント・コンポーネント７０８を利用して、ファイル・システム７０２のファイル構造を容易に決定することが可能である。
【００６０】
インテリジェント・コンポーネント７０８は、イベントおよび／またはデータを介して取り込まれた一連の観察結果から、システム、環境、および／またはユーザの状態を判断したり、またはそれを推論したりすることが可能であることを理解されたい。推論によって、特定のコンテクストまたはアクションを識別することや、たとえば、複数の状態にまたがる確率分布を生成することが可能である。推論は、確率論的であること、すなわち、データおよびイベントの考察に基づいて、関心の対象である複数の状態にまたがる確率分布を計算することであることが可能である。推論はまた、一連のイベントおよび／またはデータから上位のイベントを構成するための手法を意味する場合もある。そのような推論によって、一連の観察されたイベントおよび／または記憶されたイベント・データから新しいイベントまたはアクションが構築される。これらは、イベントが時間的に接近した近接性で相関しているかどうか、およびイベントおよびデータが１つまたは複数のイベント・ソースおよびデータ・ソースに由来しているかどうかにかかわらず行われる。本発明に関連する自動および／または推論によるアクションを実行することに関して、様々な（明示的および／または暗黙的に訓練された）分類スキームおよび／またはシステム（たとえば、サポート・ベクトル・マシン、ニューラル・ネットワーク、エキスパート・システム、ベイズ信頼ネットワーク、ファジー・ロジック、データ融合エンジン・・・）を用いることが可能である。
【００６１】
分類器（classifier：クラシファイア）は、入力属性ベクトルｘ＝（ｘ１，ｘ２，ｘ３，ｘ４，ｘｎ）を、その入力がクラスに属する信頼度（confidence）、すなわち、ｆ（ｘ）＝ｃｏｎｆｄｅｎｃｅ（ｃｌａｓｓ）にマッピングする関数である。そのような分類では、確率論的解析および／または統計ベースの解析（たとえば、解析の有用性とコストの因子分析）を用いて、ユーザが自動的に実行してほしいと考えるアクションを予測または推論することが可能である。サポートベクトルマシン（ＳＶＭ）が、用いることが可能な分類子の一例である。ＳＶＭは、可能な入力の空間にある超曲面（hypersurface）を見つけることによって動作し、超曲面は、非トリガ・イベントからトリガ基準を分離しようとする。これにより、訓練データと同一ではないがそれに近いデータをテストする場合に、分類が直観的に正しいものになる。他の有向および無向モデル分類手法として、たとえば、ナイーブ・ベイズ、ベイズ・ネットワーク、決定木、ニューラル・ネットワーク、ファジー・ロジック・モデル、様々なパターンの独立性を使用した確率論的分類モデルなども利用できる。ここで用いている分類も、優先度のモデルを開発するために利用される統計回帰を含んでいる。
【００６２】
プレゼンテーション・コンポーネント７１０は、ユーザと、ファイル・システム・アダプタ７０６に接続された任意のコンポーネントとの間の対話を容易にするための様々なタイプのユーザ・インターフェースを提供することが可能である。図に示すように、プレゼンテーション・コンポーネント７１０は、ファイル・システム・アダプタ７０６とともに利用されることが可能な、独立したエンティティである。しかしながら、プレゼンテーション・コンポーネント７１０および／または同様のビュー・コンポーネントは、ファイル・システム・アダプタ７０６に組み込まれるか、かつ／またはスタンドアロン・ユニットであることが可能であることを理解されたい。プレゼンテーション・コンポーネント７１０は、１つまたは複数のグラフィカル・ユーザ・インターフェース（ＧＵＩ）、コマンド・ライン・インターフェース、その他を備えることが可能である。たとえば、ＧＵＩは、データのロード、インポート、読み出し、その他を行う領域または手段をユーザに提供するようにレンダリングされることが可能であり、それらの結果を表示する領域を含むことが可能である。それらの領域は、編集コントロール、コンボ・ボックス、ラジオ・ボタン、チェック・ボックス、プッシュ・ボタン、グラフィック・ボックスなどの、ダイアログ・ボックス、静的コントロール、ドロップダウン・メニュー、リスト・ボックス、ポップ・アップ・メニュー、を含む、知られているテキスト領域および／またはグラフィック領域を含むことが可能である。さらに、領域を表示可能にするかどうかを決定するナビゲーション用垂直および／または水平スクロール・バーやツールバー・ボタンなど、プレゼンテーションを容易にするユーティリティも用いることが可能である。たとえば、ユーザは、ファイル・システム・アダプタ７０６に接続されているコンポーネントのうちの１つまたは複数のコンポーネントと対話することが可能である。
【００６３】
ユーザはまた、それらの領域と対話して情報を選択および入力するために、たとえば、マウス、ローラーボール、キーパッド、キーボード、ペン、および／または音声起動など、様々な機器を用いることが可能である。一般に、プッシュ・ボタンやキーボードのＥｎｔｅｒキーなどの機構は、情報を入力した後、検索を開始するために用いられることが可能である。しかしながら、本発明はそのようには限定されないことを理解されたい。たとえば、チェック・ボックスをハイライトするだけで情報伝達を開始することが可能である。別の例では、コマンド・ライン・インターフェースを用いることも可能である。たとえば、コマンド・ライン・インターフェースは、（たとえば、テキスト・メッセージをディスプレイに表示し、オーディオ・トーンを発して）テキスト・メッセージによる情報入力をユーザに求めることが可能である。それに対しユーザは、インターフェース・プロンプトに示された選択肢に対応する英数字や、プロンプトによって投げかけられた質問への回答に対応する英数字など、適切な情報を入力することが可能である。コマンド・ライン・インターフェースは、ＧＵＩおよび／またはＡＰＩと関連して用いられることが可能であることを理解されたい。さらに、コマンド・ライン・インターフェースは、グラフィック・サポートが限定されていて、かつ／または通信チャネルの帯域幅が低いハードウェア（たとえば、ビデオカード）および／またはディスプレイ（たとえば、白黒やＥＧＡ）と関連して用いられることが可能である。
【００６４】
図８〜１０は、本発明による手法を示す。説明を簡単にするために、一連の動作（acts）として手法を示し、説明する。本発明は、例示した動作（act）および／または動作（acts）の順序によって限定されないことを理解されたい。たとえば、動作（acts）は、様々な順序で、かつ／または同時に行われることが可能であり、本明細書で提示および説明していない他の動作（acts）とともに行われることも可能である。さらに、本発明による手法を実施するために、例示したすべての動作が必要であるとは限らない場合がある。さらに、当業者であれば、本手法が、状態図またはイベントによって相互に関係づけられた状態の系列として表されることも可能であることを理解されよう。
【００６５】
図８は、少なくとも２つの異なるファイル・システムを容易に適合させるか、かつ／またはそれらのファイル・システムに統一性を与える手法８００を示す。第１のファイル・システムは、ファイル・ストレージ・システムであることが可能であり、その構造は、ファイル・ストリームおよび／またはディレクトリに基づいている。第１のファイル・システムは、ファイル・ストリームを利用することが可能であり、その結果、アプリケーションおよび／またはＡＰＩがそのファイル・ストリームを質的に強化（enrich）して、追加の大きな構造を与えることが可能となる。第２のファイル・システムは、アイテム、サブアイテム、プロパティ、およびリレーションシップが定義されて、第２のファイル・システム内の情報が複合型のインスタンスとして表現されることが可能である、より複雑なモデルであることが可能である。アイテムは、第２のファイル・システムにおける統一性の最小単位として定義されることが可能であり、セキュリティ保護、シリアル化、同期化、コピー、バックアップ／復元などが独立に行われることが可能である。アイテムは型（type）のインスタンスであり、第２のファイル・システム内のすべてのアイテムは、アイテムの単一グローバル・エクステントに格納することが可能である。第２のファイル・システムは、少なくとも１つのアイテムおよび／またはコンテナ構造に基づくことが可能である。第２のファイル・システムは、アイテムとしてファイルに埋め込まれる多彩なメタデータをエクスポーズするストレージ・プラットフォームであることが可能である。
【００６６】
参照符号８０２では、ファイル・ストリームに基づく第１のファイル・システムを解析することが可能である。そのような解析によって、ファイル構造と、統一性を与えるために利用されるコンテンツとを決定することが可能である。参照符号８０４では、解析に少なくとも基づいてファイル・バック・アイテムを生成することが可能である。たとえば、解析によって、３２ビット・ファイル・ストレージ・システムと、そのような構造に関連付けられたリーフ・ノードの数とを決定することが可能である。したがって、第１のファイル・システムに関連付けられたリーフ・ノードごとにファイル・バック・アイテムを生成することが可能であり、アイテムを利用して、リーフ・ノードではないファイルおよび／またはディレクトリを表すことが可能である。ファイル・バック・アイテムは、第２のファイル・システム内のアイテムであって、その複数のプロパティの一部またはすべてを取り込むファイルおよび／またはファイル・ストリームに依拠するアイテムであることが可能である。ファイル・バック・アイテムは、第１のファイル・システムと第２のファイル・システムとの間のブリッジとして動作することが可能である。参照符号８０６では、ファイル・バック・アイテムを利用し、ファイル・ストリームおよびファイルを利用する第１のファイル・システムと、第１のファイル・システムに関連付けられることが可能なファイルおよび／またはファイル・ストリームを含むファイル・バック・アイテムを組み込んだ第２のファイル・システムと、に少なくとも部分的に基づいて、異なる２つのファイル・システムの間で統一性を実現することが可能である。
【００６７】
図９は、あるファイル・システムを異なるファイル・システムに適合させる手法９００を示す図である。参照符号９０２では、ファイルおよび／またはファイル・ストリームをその構造として利用する第１のファイル・システムを解析する。そのような解析から、参照符号９０４において、第１のファイル・システムのリーフ・ノードでない各ディレクトリおよび／またはファイルについてアイテムを生成する。参照符号９０６で、リーフ・ノードが第１のファイル・システムに存在することを決定し、それへのファイル・バック・アイテムを生成することが可能である。ファイル・バック・アイテムは、情報の単位を表す型の複合インスタンスを利用する第２のファイル・システムに関連付けられたアイテムである。参照符号９０８では、ファイル・バック・アイテムは、そのファイルを第２のファイル・システム内のアイテムとして表すために、質的に強化（enrich）され、かつ／または、ファイル、ファイル・ストリームを使用して、属性、セキュリティ特性などを取り込む。参照符号９１０では、ファイル・バック・アイテムを利用して、第１のファイル・システムを第２のファイル・システムに適合させる。
【００６８】
図１０は、ファイル・ストリーム構造のファイル・システムとメタデータ関連ファイル・システムとを容易に適合させる手法１０００を示す。参照符号１００２で、ファイル・ストリーム構造のファイル・システム（たとえば、第１のファイル・システムと称する）を解析する。参照符号１００４で、第１のファイル・システムの解析結果に少なくとも部分的に基づいてファイル・バック・アイテムを生成することが可能である。このファイル・バック・アイテムは、そのプロパティのうちの少なくとも１つをファイルおよび／またはファイル・ストリームによって質的に強化（enrich）することが可能な、第２のファイル・システムに関連付けられたアイテムである。１００６では、ファイル・バック・アイテムを利用して、第１のファイル・システムを第２のファイル・システムに適合させることが可能である。
【００６９】
参照符号１００８では、第１のファイル・システムと第２のファイル・システムとの間で属性の整合性および同期がとれるようにするゴースト化が提供される。たとえば、ゴースト化アイテムが、ファイル・ストリームを含まないけれども別のファイル・バック・アイテムの複製となる、ように、ゴースト化アイテムを生成することが可能である。さらに、ゴースト化アイテムを生成する、操作および／または既存のアイテムをゴースト化アイテムに変換する操作であるゴースト化を行うことが可能である。さらに、ゴースト化解除を利用することが可能であり、これは、ゴースト化アイテムを通常のアイテムに変換する操作である。参照符号１０１０では、第１のファイル・システムからの属性を、第２のファイル・システムに関連付けられたファイル・バック・アイテムに組み込んだり、かつ／またはこのファイル・バック・アイテムで利用したりすることが可能である。第１のファイル・システムは、限定されないが、読み出し専用ファイル、圧縮済みファイル、アーカイブ・ファイルなどすることが可能な属性を含むことが可能であり、このような属性は、１つのビットおよび／または複数のビットで表すことが可能である。この属性は、ファイル・バック・アイテムを介して第２のファイル・システムに組み込まれることが可能であることを理解されたい。
【００７０】
参照符号１０１２では、属性トンネリングおよび／またはＤＡＧを利用することが可能である。属性トンネリングにより、少なくとも２つのファイル・バック・アイテムの間でファイル・ストリームをスワップし、第２のファイル・システムにおいてリソースの保全（conservation）および／または一時ファイル間での名前変更をすることを可能となる。ＤＡＧは、周期を有しない、接続されたアイテムのグラフを提供することが可能である。参照符号１０１４では、そのファイル・バック・アイテムを用いることによって、第１のファイル・システムからのＡＰＩを、第２のファイル・システムで利用することが可能であり、これによってシームレスな統合が行われる。言い換えると、このファイル・バック・アイテムは、アイテムに関連付けられたファイル・ストリームだけでなく、アイテムに関連付けられたメタデータ・プロパティも含む。このファイル・バック・アイテムは、第１のファイル・システムのＡＰＩ部分だけでなく、第２のファイル・システムに関連付けられたＡＰＩによっても、操作可能である。
【００７１】
本発明の各種態様を実装するための補足的なコンテクストを提供するために、以下では、図１１〜１２を参照しながら、本発明の各種態様を実装することが可能である好適なコンピューティング環境について簡単かつ一般的に説明する。ここまで本発明について、ローカル・コンピュータおよび／またはリモート・コンピュータで実行されるコンピュータ・プログラムの、コンピュータで実行可能な命令の一般的なコンテクストで説明してきたが、当業者であれば、本発明が他のプログラム・モジュールとの組み合わせでも実装可能であることを理解されよう。一般に、プログラム・モジュールには、ルーチン、プログラム、コンポーネント、データ構造体などがあり、これらは、特定のタスクを実行したり、特定の抽象データタイプを実装したりする。
【００７２】
さらに、当業者であれば、本発明の方法が他のコンピュータ・システム構成でも実施可能であることを理解されよう。そうした構成として、単一プロセッサまたはマルチプロセッサのコンピュータ・システム、ミニ・コンピュータ、メインフレーム・コンピュータ、ならびに、パーソナル・コンピュータ、ハンドヘルド・コンピューティング装置、マイクロ・プロセッサ・ベースおよび／またはプログラマブルである家庭用電子機器などがあり、これらのそれぞれは１つまたは複数の関連機器と動作可能に通信することが可能である。例示した、本発明の態様は、通信ネットワーク経由でリンクされたリモート処理装置によって特定のタスクが実行される分散コンピューティング環境でも実施可能である。しかしながら、本発明の、全部でなくとも一部の態様は、スタンドアロン・コンピュータにおいても実施可能である。分散コンピューティング環境では、プログラム・モジュールは、ローカルおよび／またはリモートのメモリ・ストレージ装置に配置されることが可能である。
【００７３】
図１１は、本発明と相互に作用することが可能なコンピューティング環境例１１００の概略ブロック図である。システム１１００は、１つまたは複数のクライアント１１１０を含む。クライアント１１１０は、ハードウェアおよび／またはソフトウェア（たとえば、スレッド、プロセス、コンピューティング装置など）であることが可能である。システム１１００はさらに、１つまたは複数のサーバ１１２０を含む。サーバ１１２０は、ハードウェアおよび／またはソフトウェア（たとえば、スレッド、プロセス、コンピューティング装置など）であることが可能である。サーバ１１２０は、たとえば本発明を用いて変換を実行するスレッドを収容することが可能である。
【００７４】
クライアント１１１０とサーバ１１２０との間の可能な通信の１つは、２つ以上のコンピュータ・プロセスの間で伝送されるように適合されたデータ・パケットの形をとることが可能である。システム１１００は、クライアント１１１０とサーバ１１２０との間の通信を促進するために用いることが可能な通信フレームワーク１１４０を含む。クライアント１１１０は、情報を記憶するために用いられることが可能な、クライアント１１１０の近くにある１つまたは複数のクライアント・データ・ストア１１５０に動作可能に接続される。同様に、サーバ１１２０は、情報を記憶するために用いられることが可能な、サーバ１１２０の近くにある１つまたは複数のサーバ・データ・ストア１１３０に動作可能に接続される。
【００７５】
図１２に示す、本発明の各種態様を実装する例示的環境１２００は、コンピュータ１２１２を含む。コンピュータ１２１２は、処理ユニット１２１４、システム・メモリ１２１６、およびシステム・バス１２１８を含む。システム・バス１２１８は、システム・メモリ１２１６を含むがこれに限定されないシステム・コンポーネントを処理ユニット１２１４に接続する。処理ユニット１２１４は、各種の市販プロセッサのどれであってもよい。デュアル・マイクロ・プロセッサや他のマルチ・プロセッサ・アーキテクチャも、処理ユニット１２１４として用いることが可能である。
【００７６】
システム・バス１２１８は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バスまたは外部バス、および／またはローカル・バスを含む様々なタイプのバス構造のどれであってもよく、それに用いられる任意の様々な市販バス・アーキテクチャとして、Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）、Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＳＡ）、Ｅｘｔｅｎｄｅｄ  ＩＳＡ（ＥＩＳＡ）、Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ（ＩＤＥ）、ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ（ＶＬＢ）、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）、Ｃａｒｄ  Ｂｕｓ、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）、Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ（ＡＧＥ）、Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎバス（ＰＣＭＣＩＡ）、Ｆｉｒｅｗｉｒｅ（ＩＥＥＥ  １３９４）、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｆａｃｅ（ＳＣＳＩ）などがあり、これらに限定されない。
【００７７】
システム・メモリ１２１６は、揮発性メモリ１２２０および不揮発性メモリ１２２２を含む。基本入出力システム（ＢＩＯＳ）は、コンピュータ１２１２内で起動中などに要素間の情報転送を行う基本ルーチンを含み、不揮発性メモリ１２２２に格納される。限定ではなく例示として、不揮発性メモリ１２２２は、読み出し専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、またはフラッシュ・メモリを含むことが可能である。揮発性メモリ１２２０は、外部キャッシュ・メモリとして動作するランダムアクセスメモリ（ＲＡＭ）を含む。限定ではなく例示として、ＲＡＭは、静的ＲＡＭ（ＳＲＡＭ）、動的ＲＡＭ（ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、ダブル・データ・レートＳＤＲＡＭ（ＤＤＲ  ＳＤＲＡＭ）、エンハンストＳＤＲＡＭ（ＥＳＤＲＡＭ）、シンクリンクＤＲＡＭ（ＳＬＤＲＡＭ）、Ｒａｍｂｕｓ  Ｄｉｒｅｃｔ  ＲＡＭ（ＲＤＲＡＭ）、Ｄｉｒｅｃｔ  Ｒａｍｂｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ（ＤＲＤＲＡＭ）、Ｒａｍｂｕｓ  Ｄｙｎａｍｉｃ  ＲＡＭ（ＲＤＲＡＭ）など、様々な形で利用可能である。
【００７８】
コンピュータ１２１２はさらに、リムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ・ストレージ媒体を含む。たとえば、図１２は、ディスク・ストレージ１２２４を示している。ディスク・ストレージ１２２４は、磁気ディスク・ドライブ、フロッピー（登録商標）ディスク・ドライブ、テープ・ドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、ＬＳ−１００ドライブ、フラッシュ・メモリ・カード、メモリ・スティックなどの装置を含み、これらに限定されない。さらに、ディスク・ストレージ１２２４は、ストレージ媒体を別個に、または他のストレージ媒体と組み合わせて含むことが可能であり、そのようなストレージ媒体として、コンパクト・ディスクＲＯＭ装置（ＣＤ−ＲＯＭ）、書き込み可能ＣＤ装置（ＣＤ−Ｒドライブ）、書き換え可能ＣＤ装置（ＣＤ−ＲＷドライブ）、デジタル多用途ディスクＲＯＭドライブ（ＤＶＤ−ＲＯＭ）などの光ディスク・ドライブがあり、これらに限定されない。ディスク・ストレージ装置１２２４とシステム・バス１２１８との接続を容易にするために、インターフェース１２２６のようなリムーバブルまたは非リムーバブル・インターフェースを一般的に用いる。
【００７９】
図１２では、ユーザと、好適な動作環境１２００に示されている基本コンピュータ・リソースとの間の媒介として動作するソフトウェアが示されていることを理解されたい。そのようなソフトウェアは、オペレーティング・システム１２２８を含む。オペレーティング・システム１２２８は、ディスク・ストレージ１２２４に格納されることが可能であって、コンピュータ・システム１２１２のリソースの管理および配分を行うように動作する。システム・アプリケーション１２３０は、システム・メモリ１２１６またはディスク・ストレージ１２２４に格納されたプログラム・モジュール１２３２およびプログラム・データ１２３４を介して、オペレーティング・システム１２２８によるリソース管理を利用する。本発明は様々なオペレーティング・システムまたはオペレーティング・システムの組み合わせとともに実装可能であることを理解されたい。
【００８０】
ユーザは、入力装置１２３６を介してコンピュータ１２１２にコマンドや情報を入力する。入力装置１２３６として、マウスのようなポインティング・デバイス、トラック・ボール、スタイラス、タッチ・パッド、キーボード、マイク、ジョイスティック、ゲーム・パッド、パラボラアンテナ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、Ｗｅｂカメラなどがあり、これらに限定されない。これらの入力装置や他の入力装置は、インターフェース・ポート１２３８からシステム・バス１２１８を経て処理ユニット１２１４に接続される。インターフェース・ポート１２３８としては、たとえば、シリアル・ポート、パラレル・ポート、ゲーム・ポート、ユニバーサル・シリアル・バス（ＵＳＢ）などがある。出力装置１２４０は、入力装置１２３６と同じタイプのポートのうちのいくつかを用いる。したがって、たとえば、ＵＳＢポートを用いて、入力をコンピュータ１２１２に供給したり、コンピュータ１２１２からの情報を出力装置１２４０に出力したりすることが可能である。出力アダプタ１２４２は、出力装置１２４０の中でも特にモニタ、スピーカ、プリンタのような、特殊なアダプタを要する出力装置１２４０を例示するために提供されている。限定ではなく例示として、出力アダプタ１２４２には、出力装置１２４０とシステム・バス１２１８との間の接続手段を提供するビデオカードおよびサウンドカードが含まれる。リモート・コンピュータ１２４４のように入力機能と出力機能の両方を備えた他の装置および／または装置のシステムもあることに注意されたい。
【００８１】
コンピュータ１２１２は、リモート・コンピュータ１２４４のような１つまたは複数のリモート・コンピュータとの論理接続を用いることにより、ネットワーク環境で動作可能である。リモート・コンピュータ１２４４としては、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロ・プロセッサ・ベースの機器、ピア・デバイスまたは他の一般的なネットワーク・ノードなどを用いることが可能であり、リモート・コンピュータ１２４４は、一般に、コンピュータ１２１２に関して前述した要素のほとんどまたはすべてを含む。簡単のために、メモリ・ストレージ装置１２４６だけをリモート・コンピュータ１２４４とともに図示した。リモート・コンピュータ１２４４は、ネットワーク・インターフェース１２４８を介してコンピュータ１２１２に論理的に接続され、物理的には通信接続１２５０を介して接続されている。ネットワーク・インターフェース１２４８は、ローカル・エリア・ネットワーク（ＬＡＮ）やワイド・エリア・ネットワーク（ＷＡＮ）などの有線および／または無線通信ネットワークを包含する。ＬＡＮテクノロジとしては、ファイバ分散データ・インターフェース（ＦＤＤＩ）、銅分散データ・インターフェース（Copper Distributed Data Interface）（ＣＤＤＩ）、イーサネット（登録商標）、トークン・リングなどがある。ＷＡＮテクノロジとしては、ポイント・ツー・ポイント・リンク、統合サービス・デジタル網（ＩＳＤＮ）やその変形物のような回路交換網、パケット交換網、デジタル加入者線（ＤＳＬ）などがあり、これらに限定されない。
【００８２】
通信接続１２５０は、ネットワーク・インターフェース１２４８をバス１２１８に接続するために用いられるハードウェア／ソフトウェアを指す。通信接続１２５０は、わかりやすく示すためにコンピュータ１２１２の内部にあるように図示されているが、コンピュータ１２１２の外部にあってもよい。ネットワーク・インターフェース１２４８への接続に必要なハードウェア／ソフトウェアとして、あくまで例であるが、一般電話グレードのモデム、ケーブルモデム、ＤＳＬモデムなどを含むモデム、ＩＳＤＮアダプタ、イーサネット（登録商標）カードなどの、内蔵技術および外付け技術とがある。
【００８３】
ここまで述べてきた中には、本発明の例が含まれている。本発明を説明するために、コンポーネントまたは方法の、考えられるすべての組み合わせを説明することはもちろん不可能であるが、当業者であれば、本発明の他の多くの組み合わせや並べ替えが可能であることを理解されよう。したがって、本発明は、添付の特許請求項の趣旨および範囲に当てはまる代替物、修正物、および変形物のすべてを包含するものとする。
【００８４】
特に、前述のコンポーネント、装置、回路、システム、その他によって実行される各種機能については、そのようなコンポーネントを説明するために用いている用語（「手段（means）」への参照を含む）は、特に断らない限り、説明されているコンポーネントの明示された機能を実行する任意のコンポーネント（たとえば、機能等価物）に対応するものとする。これは、開示された構造と構造的に等価でなくても、本明細書で示された、本発明の例示的態様における機能を実行するものであれば当てはまる。この点において、本発明が、システムならびに、本発明の各種方法の動作および／またはイベントを実行する、コンピュータで実行可能な命令を有するコンピュータ可読媒体を含むことも理解されよう。
【００８５】
さらに、様々な実施態様のうちの１つに関してのみ本発明の特定の特徴を開示したが、そのような特徴は、他の実施態様の１つまたは複数の他の特徴と組み合わせられることが可能であり、このことは、任意または特定の応用例にとって望ましいものであり、有利な点である可能性がある。さらに、用語「含む（includes、including）」およびその変形物が詳細説明または特許請求の範囲に用いられる限りにおいては、これらの用語は、用語「備える（comprising）」と同様に包含的であるものとする。
【図面の簡単な説明】
【００８６】
【図１】ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させる例示的システムのブロック図である。
【図２】少なくとも２つの異なるファイル・システムを容易に適合させて統一性を与える例示的システムのブロック図である。
【図３】ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させる例示的システムのブロック図である。
【図４】少なくとも２つの異なるファイル・システムを容易に同期化させる例示的システムのブロック図である。
【図５】あるファイル・システムを異なるファイル・システムと容易に適合させるファイル・バック・アイテムのブロック図である。
【図６】ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させる例示的システムのブロック図である。
【図７】ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させる例示的システムのブロック図である。
【図８】少なくとも２つの異なるファイル・システムを適合させて統一性を与える例示的手法を示す図である。
【図９】あるファイル・システムを異なるファイル・システムに適合させる例示的手法を示す図である。
【図１０】ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを適合させる例示的手法を示す図である。
【図１１】本発明の新規な態様を用いることが可能な例示的ネットワーキング環境を示す図である。
【図１２】本発明に従って用いることが可能な例示的運用環境を示す図である。
【符号の説明】
【００８７】
１００    ファイル・システムを異なるファイル・システムと容易に適合させるシステム
１０２    ファイル・システム
１０４    ファイル・システム
１０６    ファイル・システム・アダプタ
１０８    インターフェース
２００    少なくとも２つの異なるファイル・システムを容易に適合させて統一性を与えるシステム
２０２    ファイル・システム
２０４    ファイル・システム
２０６    ファイル・システム・アダプタ
２１０    アナライザ・コンポーネント
２１２    ジェネレータ・コンポーネント
３００    ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させるシステム
３０２    ファイル・システム
３０４    ファイル・システム
３０６    ファイル・システム・アダプタ
３１０    属性コンポーネント
３１２    メタデータ・ハンドラ・コンポーネント
４００    あるファイル・システムを異なるファイル・システムに適合させるか、かつ／または組み込むことを容易にするシステム
４０２    ファイル・システム
４０４    ファイル・システム
４０６    ファイル・システム・アダプタ
４１０    ゴースト・コンポーネント
４１２    属性トンネル・コンポーネント
５０２    ファイル・バック・アイテム
５０４    ファイル・システム
５０６    ファイル・システム
５０８    セマンティック・レイヤ
５１０    ファイル・ストリーム
５１２    ファイル属性
５１４    エンティティ状態
５１６    変更単位
５１８    アイテム・データ
６００    ファイル・ストリーム関連ファイル・システムとメタデータ関連ファイル・システムとを容易に適合させるシステム
６０２    ファイル・システム
６０４    ファイル・システム
６０６    ファイル・システム・アダプタ
６０８    ＤＡＧコンポーネント
７００    あるファイル・システムを異なるファイル・システムに容易に適合させるインテリジェンスを用いるシステム
７０２    ファイル・システム
７０４    ファイル・システム
７０６    ファイル・システム・アダプタ
７０８    インテリジェント・コンポーネント
７１０    プレゼンテーション・コンポーネント
１１００    本発明と相互に作用することが可能なコンピューティング環境例
１１１０    クライアント
１１２０    サーバ
１１３０    サーバ・データ・ストア
１１４０    通信フレームワーク
１１５０    クライアント・データ・ストア
１２００    本発明の各種態様を実装する例示的環境
１２１４    処理ユニット
１２１６    システム・メモリ
１２１８    バス
１２２０    揮発性
１２２２    不揮発性
１２２４    ディスク・ストレージ
１２２６    インターフェース
１２２８    オペレーティング・システム
１２３０    アプリケーション
１２３２    モジュール
１２３４    データ
１２３６    入力装置
１２３８    インターフェース・ポート
１２４０    出力装置
１２４２    出力アダプタ
１２４４    リモート・コンピュータ
１２４６    メモリ・ストレージ
１２４８    ネットワーク・インターフェース
１２５０    通信接続
【図１】
2006244493.tif 000014
【図２】
2006244493.tif 000015
【図３】
2006244493.tif 000016
【図４】
2006244493.tif 000017
【図５】
2006244493.tif 000018
【図６】
2006244493.tif 000019
【図７】
2006244493.tif 000020
【図８】
2006244493.tif 000021
【図９】
2006244493.tif 000022
【図１０】
2006244493.tif 000023
【図１１】
2006244493.tif 000024
【図１２】
2006244493.tif 000025