データ編成手段とデータストレージ資源とを有するデータストレージシステムの機能を拡張する方法であって、前記データストレージシステムのデータストレージ機能を前記データストレージシステムのその他の機能から分離する段階と、前記データストレージ機能の少なくとも一部をインターセプトシステムに移行する段階とを備える方法。前記インターセプトシステムは、相補的ストレージ資源を有する請求項1に記載の方法。前記分離する段階は、前記データ編成手段、前記データストレージ資源、および前記インターセプトシステムと通信するインターセプト手段を設けることにより実行され、前記インターセプト手段は、ファイルシステムのオペレーションをインターセプトして、前記オペレーションの機能が、前記データストレージ資源によって取り扱われるべきか、または前記インターセプトシステムによって取り扱われるべきかを判断する請求項1または2に記載の方法。前記インターセプト手段は、ファイルシステムのオペレーションを、前記オペレーションがコンテキストを保持しているうちに、かつ、前記オペレーションが前記データストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする請求項3に記載の方法。前記データストレージ機能の少なくとも別の一部は前記データストレージシステムに維持される請求項1から4のいずれか1項に記載の方法。前記データストレージ機能の全てが、前記インターセプトシステムに移行される請求項1から4のいずれか1項に記載の方法。前記データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される請求項1から6のいずれか1項に記載の方法。前記データストレージシステムは、複数の外部インターフェース間で共有される請求項1から7のいずれか1項に記載の方法。前記インターセプト手段は、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む請求項3または4に記載の方法。前記インターセプト手段は、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む請求項3または4に記載の方法。前記インターセプト手段は、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルタードライバを含む請求項3または4に記載の方法。前記インターセプトシステムは、自身の機能を実行するべく1つ以上の相補的ストレージ資源を使用し、前記1つ以上の相補的ストレージ資源は、前記データストレージ資源から独立している請求項3に記載の方法。前記インターセプトシステムは、前記データストレージシステムの容量拡大を実行する請求項1から12のいずれか1項に記載の方法。前記インターセプトシステムは、前記データストレージ資源上のデータの1つ以上の特性を変更することにより、または、相補的ストレージ資源を使用することにより、前記データストレージシステムの性能を向上させる請求項1から13のいずれか1項に記載の方法。前記1つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から選択される請求項14に記載の方法。前記インターセプトシステムにより重複排除de-duplicationを実行する段階をさらに備える請求項1から15のいずれか1項に記載の方法。前記インターセプトシステムによりデータポリモーフィズムを実行する段階をさらに備える請求項1から16のいずれか1項に記載の方法。前記インターセプトシステムによりデータのための独立アクセス制御メカニズムを実行する段階をさらに備える請求項1から17のいずれか1項に記載の方法。前記インターセプトシステムによりデータをバージョン化する段階をさらに備える請求項1から18のいずれか1項に記載の方法。前記データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12項に記載の方法。前記相補的ストレージ資源は、データをキャッシュするべ通常使用されるオペレーティングシステムメモリキャッシュである請求項12に記載の方法。頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のストレージ資源もしくはデータストレージシステムにプルすることにより、局所性最適化localityoptimizationを実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12項に記載の方法。前記遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む請求項22に記載の方法。現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化namebasedvirtualizationを実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12に記載の方法。データバックアップおよびデータ複製の一方を実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12に記載の方法。データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化datavirtualizationを実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12に記載の方法。前記データストレージ資源ではなく前記インターセプトシステムで、選択データに対する独特な機能を設ける段階をさらに備え、前記独特な機能は、性能特性、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される請求項1から26のいずれか1項に記載の方法。前記選択データは、ネーム、タイムスタンプ、サイズ、履歴情報、物理的情報、および文脈情報からなる群から選択される一つ以上とのメタデータパターンマッチングを採用する選択機構を用いて特定される請求項27に記載の方法。前記データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択される請求項1から28のいずれか1項に記載の方法。前記相補的ストレージ資源は、スパースファイルである請求項12に記載の方法。データ編成手段およびデータストレージ資源を有するデータストレージシステムの機能を拡張するシステムであって、前記データストレージシステムのデータストレージ機能を前記データストレージシステムのその他の機能から分離する分離手段と、前記データストレージ機能の少なくとも一部をインターセプトシステムに移行する手段とを備えるシステム。前記インターセプトシステムは、相補的ストレージ資源を有する請求項31に記載のシステム。前記分離手段は、前記データ編成手段、前記データストレージ資源、および前記インターセプトシステムと通信するインターセプタを有し、前記インターセプタは、ファイルシステムのオペレーションをインターセプトして、前記オペレーションの機能が、前記データストレージ資源によって取り扱われるべきか、または前記インターセプトシステムによって取り扱われるべきかを判断する請求項31または32に記載のシステム。前記インターセプタは、ファイルシステムのオペレーションを、前記オペレーションがコンテキストを保持しているうちに、かつ、前記オペレーションが前記データストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする請求項33に記載のシステム。前記データストレージ機能の少なくとも別の一部は、前記データストレージシステムに維持される請求項31から34のいずれか1項に記載のシステム。前記データストレージ機能の全てが、前記インターセプトシステムに移行される請求項31から34のいずれか1項に記載のシステム。前記データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される請求項31から36のいずれか1項に記載のシステム。前記データストレージシステムは、複数の外部インターフェース間で共有される請求項31から37のいずれか1項に記載のシステム。前記インターセプタは、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む請求項33または34に記載のシステム。前記インターセプタは、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む請求項33または34に記載のシステム。前記インターセプタは、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルターまたはレガシーフィルターのドライバを含む請求項33または34に記載のシステム。前記インターセプトシステムは、自身の機能を実行するべく一つ以上の相補的ストレージ資源を使用し、前記一つ以上の相補的ストレージ資源は、前記データストレージ資源から独立している請求項33に記載のシステム。前記インターセプトシステムは、前記データストレージシステムの容量拡大を実行する請求項33に記載のシステム。前記インターセプトシステムは、前記データストレージ資源上のデータの一つ以上の特性を変更することにより、前記データストレージシステムの性能を向上させる請求項33に記載のシステム。前記一つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から選択される請求項44に記載のシステム。前記インターセプトシステムは、データの重複排除を実行する請求項31から45のいずれか1項に記載のシステム。前記インターセプトシステムは、データのポリモーフィズムを実行する請求項31から46のいずれか1項に記載のシステム。前記インターセプトシステムは、データのための独立アクセス制御メカニズムを実行する請求項31から47のいずれか1項に記載のシステム。前記インターセプトシステムは、データのバージョン化を実行する請求項31から48のいずれか1項に記載のシステム。前記インターセプタは、前記データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する請求項33または34に記載のシステム。前記相補的ストレージ資源は、データをキャッシュするべく通常使用されるオペレーティングシステムメモリキャッシュである請求項42に記載のシステム。前記インターセプタは、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のストレージ資源もしくはデータストレージシステムにプルすることにより、局所性最適化を実行する請求項33または34に記載のシステム。前記遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む請求項52に記載のシステム。前記インターセプタは、現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化を実行する請求項33または34に記載のシステム。前記インターセプタは、データバックアップおよびデータ複製の一方を実行する請求項33または34に記載のシステム。前記インターセプタは、データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化を実行する請求項33または34に記載のシステム。前記インターセプトシステムは、性能特性の向上、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される一つ以上を実行する請求項31から56のいずれか1項に記載のシステム。前記データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択される請求項31から57のいずれか1項に記載のシステム。前記相補的ストレージ資源は、スパースファイルである請求項42に記載のシステム。したがって、本発明の目的は、データストレージシステムの機能を拡張して、たとえば、データストレージシステムの機能を、文脈依存的データ処理を実行できるように拡張するための新規なシステムおよび方法を提供することである。本発明の一実施形態によると、データ編成手段とデータストレージ資源とを有するデータストレージシステムの機能を拡張する方法であって、データストレージシステムのデータストレージ機能をデータストレージシステムのその他の機能から分離する段階と、データストレージ機能の少なくとも一部をインターセプトシステムに移行する段階とを備える方法が提供される。本発明の一つの観点によると、インターセプトシステムは、相補的ストレージ資源である。データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択してよい。本発明の別の観点によると、分離する段階は、データ編成手段、データストレージ資源、およびインターセプトシステムと通信するインターセプト手段を設けることにより実行され、インターセプト手段は、ファイルシステムのオペレーションをインターセプトして、オペレーションの機能が、データストレージ資源によって取り扱われるべきか、またはインターセプトシステムによって取り扱われるべきかを判断する。本発明の別の観点によると、インターセプト手段は、ファイルシステムのオペレーションを、オペレーションがコンテキストを保持しているうちに、かつ、オペレーションがデータストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする。本発明の別の観点によると、データストレージ機能の少なくとも別の一部はデータストレージシステムに維持される。本発明の別の観点によると、データストレージ機能の全てが、インターセプトシステムに移行される。本発明の別の観点によると、データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される。本発明の別の観点によると、データストレージシステムは、複数の外部インターフェース間で共有される。本発明の別の観点によると、インターセプト手段は、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む。本発明の別の観点によると、インターセプト手段は、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む。本発明の別の観点によると、インターセプト手段は、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルタードライバを含む。本発明の別の観点によると、インターセプトシステムは、自身の機能を実行するべく1つ以上の相補的ストレージ資源を使用し、1つ以上の相補的ストレージ資源は、データストレージ資源から独立している。本発明の別の観点によると、インターセプトシステムは、データストレージシステムの容量拡大を実行する。本発明の別の観点によると、インターセプトシステムは、データストレージ資源上のデータの1つ以上の特性を変更することにより、データストレージシステムの性能を向上させる。1つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から好ましくは選択される。本発明の別の観点によると、本方法は、インターセプトシステムにより重複排除de-duplicationを実行する段階をさらに備える。本発明の別の観点によると、本方法は、インターセプトシステムによりデータポリモーフィズムを実行する段階をさらに備える。本発明の別の観点によると、本方法は、インターセプトシステムによりデータのための独立アクセス制御メカニズムを実行する段階をさらに備える。本発明の別の観点によると、本方法は、インターセプトシステムによりデータをバージョン化する段階をさらに備える。本発明の別の観点によると、本方法は、データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。本発明の別の観点によると、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のデータストレージシステムにプルすることにより、局所性最適化を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む。本発明の別の観点によると、本方法は、現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。本発明の別の観点によると、本方法は、データバックアップおよびデータ複製を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。本発明の別の観点によると、本方法は、データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。本発明の別の観点によると、本方法は、データストレージ資源ではなくインターセプトシステムで、選択データに対する独特な機能を設ける段階をさらに備え、独特な機能は、性能特性、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される。選択データは、ネーム、タイムスタンプ、サイズ、履歴情報、物理的情報、および文脈情報からなる群から選択される一つ以上とのメタデータパターンマッチングを採用する選択機構を用いて特定される。本発明の別の実施形態によると、データ編成手段およびデータストレージ資源を有するデータストレージシステムの機能を拡張するシステムであって、データストレージシステムのデータストレージ機能をデータストレージシステムのその他の機能から分離する分離手段と、データストレージ機能の少なくとも一部をインターセプトシステムに移行する手段とを備えるシステムが提供される。本実施形態の別の観点によると、インターセプトシステムは、相補的ストレージ資源であってよい。本実施形態の別の観点によると、分離手段は、データ編成手段、データストレージ資源、およびインターセプトシステムと通信するインターセプタを有し、インターセプタは、ファイルシステムのオペレーションをインターセプトして、オペレーションの機能が、データストレージ資源によって取り扱われるべきか、またはインターセプトシステムによって取り扱われるべきかを判断する。本実施形態の別の観点によると、インターセプタは、ファイルシステムのオペレーションを、オペレーションがコンテキストを保持しているうちに、かつ、オペレーションがデータストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする。本実施形態の別の観点によると、データストレージ機能の少なくとも別の一部は、データストレージシステムに維持される。または、データストレージ機能の全てが、インターセプトシステムに移行される。本実施形態の別の観点によると、データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される。本実施形態の別の観点によると、データストレージシステムは、複数の外部インターフェース間で共有される。本実施形態の別の観点によると、インターセプタは、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む。本実施形態の別の観点によると、インターセプタは、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む。本実施形態の別の観点によると、インターセプタは、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルタードライバを含む。本実施形態の別の観点によると、インターセプトシステムは、自身の機能を実行するべく一つ以上の相補的ストレージ資源を使用し、相補的ストレージ資源は、データストレージ資源から独立している。本実施形態の別の観点によると、インターセプトシステムは、データストレージシステムの容量拡大を実行する。本実施形態の別の観点によると、インターセプトシステムは、データストレージ資源上のデータの一つ以上の特性を変更することにより、データストレージシステムの性能を向上させる。本実施形態の別の観点によると、一つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から選択される。本実施形態の別の観点によると、インターセプトシステムは、データの重複排除を実行する。本実施形態の別の観点によると、インターセプトシステムは、データのポリモーフィズムを実行する。本実施形態の別の観点によると、インターセプトシステムは、データのための独立アクセス制御メカニズムを実行する。本実施形態の別の観点によると、インターセプトシステムは、データのバージョン化を実行する。本実施形態の別の観点によると、インターセプタは、データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する。本実施形態の別の観点によると、インターセプタは、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のデータストレージシステムにプルすることにより、局所性最適化を実行する。本実施形態の別の観点によると、遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む。本実施形態の別の観点によると、インターセプタは、現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化を実行する。本実施形態の別の観点によると、インターセプタは、データバックアップおよびデータ複製の一方を実行する。本実施形態の別の観点によると、インターセプタは、データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化を実行する。本実施形態の別の観点によると、インターセプトシステムは、性能特性の向上、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される一つ以上を実行する。本実施形態の別の観点によると、データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択される。本発明は、データに関連するあらゆる制約を変化させる新規なシステムおよび方法を提供し、これらの制約には、仮想ストレージ資源を用いて変化させることができる制約が含まれるが、これらに限定されない。本発明は、ファイルシステム以外の、提供する抽象化のレベルが主要インターフェースとしての実際のストレージ資源よりも高いデータストレージシステム、たとえば、データベースおよび特定オブジェクトデータベース、キー値ストア、所定のネットワークプロトコル、ならびに所定の共有データシステム等に、この機能を持たせることができる。さらに、本発明では、データストレージシステムの従来の制約の全てを、ファイルシステム自身の協働なく、もしくは、ファイルシステム自身を変更することなく、変化させることができる。したがって、本発明では、新しいファイルシステムに完全にオーバーホールすることも、新しいファイルシステムを実装することも要求されず、新しいファイルシステムを開発することなく、既存のシステム、新旧システム間のインターフェース、および開発途中の新しいシステムで、本明細書に記載される利点および拡張機能が実装できるようになる。大まかに、本発明では、ファイルシステムのオペレーションを、文脈情報を含んだまま、ストレージ資源に適したオペレーションに分解される前に、選択的にインターセプトすることができるインターセプトシステムがファイルシステムに取り付けられる。つまり、ファイルシステムは、文脈的オペレーションと、コンピュータのオペレーティングシステムから供給される、それらを実行するための命令とを有する。ファイルシステムがストレージ資源とやり取りするとき、これらの文脈的オペレーションおよび命令は失われるが、それは、ファイルシステムとストレージ資源とのやり取りは、データの検索、格納、および分類cataloguingに関するものだけであるからである。本発明に係るインターセプトシステムは、インターセプトシステムのオペレーションがファイルシステムに対して透明となるインターセプトポイントにおいて、ファイルシステムが必要とする機能を提供する。したがって、本発明では、データストレージシステムのストレージ機能をその他の機能たとえば、ファイルネーミング、ロック、供給、セキュリティ等から分離し、任意に別のコンポーネントに実際のストレージ機能を担わせることにより、データストレージ資源およびシステムの機能を拡張する方法およびシステムを提供する。図1を参照すると、本発明の一実施形態が示されており、データストレージシステム100、インターセプタ200、およびインターセプトシステム300が示されている。従来のデータストレージシステムにおいて様々に分布している機能をデータストレージシステム自身から分離し、データストレージシステムまたはインターセプトシステムによって実行されるように分割する好適な実施形態の詳細を以下に記載する。機能を分離し、その後にデータストレージシステム100とインターセプトシステム300との間で分散すること、特に、非協働環境におけるデータストレージシステム100とインターセプトシステム300との間で機能を分散することは、本技術分野では新規であると考えられる。しかし、本発明の好適な実施形態は、既存の非協働的データストレージシステムに対するアドオンメカニズムに関するが、協働的データストレージシステムに拡張性を持たせ、拡張強化された機能を提供するアーキテクチャ上の特性であってもよく、その例は、以下により詳細に記載される。図3を参照すると、本発明の別の実施形態が示されており、データストレージシステムの機能を拡張するべく、ファイルシステムオペレーションをインターセプト315して、オペレーションの機能が、インターセプトシステムのデータストレージ資源により取り扱われるべきであるかを判断することにより、データストレージシステムのデータストレージ機能310をデータストレージシステムのその他の機能から分離する段階と、データストレージ機能の少なくとも一部をインターセプトシステムに移行320する段階とを備える方法が示されている。または、インターセプトされたデータストレージ機能は、データストレージ資源に存続325する。本発明は、一般的に、コンピュータシステムのコンテキスト内で動作し、図2に模範的例を示す一般的なコンピュータシステムに対応付けられたデータストレージ機能の拡張を可能にする。図に示されるように、コンピュータシステム20は、中央演算処理装置CPU24、ランダムアクセスメモリRAM28、入出力I/Oインターフェース32、ネットワークインターフェース36、不揮発性ストレージ40、およびCPU24をその他のコンポーネントと通信可能にするローカルバス44を含む数多くの物理的および論理的なコンポーネントを備える。CPU24は、オペレーティングシステムおよび数多くのソフトウェアシステムを実行する。RAM28は、CPU24に対して比較的に応答性が良好な揮発性ストレージである。I/Oインターフェース32は、キーボード、マウス等の1つ以上の装置からの入力を受信可能にし、ディスプレイおよび/またはスピーカ等の出力装置に情報を出力する。ネットワークインターフェース36は、その他のシステムとの通信を可能にする。不揮発性ストレージ40は、オペレーティングシステムおよびプログラムを格納する。コンピュータシステム20の動作中、プログラムおよびデータは、不揮発性ストレージ40から読み出され、実行が容易となるようにRAM28に置かれる。データストレージシステム100は、本技術分野で一般的に知られており、本発明の目的においては、任意のマシン、デバイス、もしくは装置であって、所定の識別子たとえば、ファイルネームを用いてデータを格納し、後に、その識別子を用いたデマンドに基づいて、データの少なくとも一部を読み出すことができる。データストレージシステム100は、データ編成手段105を有しており、本明細書ではストレージ資源110と呼ばれる図2では、不揮発性ストレージ40として示される、オペレーションから独立した、任意に物理的に組み込まれるマシンもしくはモジュールを用いて、ストレージ資源の特性に従った基本的primitiveな形態でデータを格納するが、データストレージシステムは、後に、ストレージ資源から格納されたデータを自身で読み出すことができる。データストレージシステム100は、複数の外部インターフェース間で共有してよい。データ編成手段105の代表的例としては、ファイルシステム、キー値ストア、データベース、ならびに、これらの上に組み合わせて階層化されるウェブキャッシュおよびページファイル等のその他のマシンが挙げられる。ストレージ資源110の代表的例としては、物理的なディスク、RAM等のメモリ、RAIDアレイ、穿孔テープpapertape、ドキュメント等が挙げられる。好適な実施形態の代表的例では、ストレージシステム100は、Windows登録商標NTFSファイルシステムであってよく、ストレージ資源は、ハードディスクドライブであってよい。インターセプト手段200は、ファイルシステムオペレーション等のデータオペレーションをインターセプトして処理するシステムである。本発明によると、インターセプト手段200は、実質的に全てのストレージ資源と同様に、データオペレーションがコンテキストを利用可能であるうちに、しかし、オペレーションが、コンテキストを含まない、ストレージ資源に対してより特定的である適切なオペレーションに分解される前に、オペレーションをインターセプトする。コンテキストは、たとえば、データ要求のソースを含むアプリケーション情報、要求されているデータについての詳細、データの使用目的についての詳細、現在のデータオペレーションについての情報を必要とするその他の情報であってよい。上記の代表的例によると、インターセプト手段200は、Windows登録商標オペレーティングシステムカーネルの適切なレベルでファイルシステムオペレーションをインターセプトするよう設計もしくは構成されたミニフィルターもしくはレガシーフィルターのドライバである。このドライバは、別に実装してよく、もしくは、市販品を調達してよい。他の例では、インターセプト機構は、他のオペレーティング環境に構築された、FUSEユーザスペースのファイルシステム等のアプリケーションレベルファイルシステムプロバイダを用いたファイルシステムスタック、ネットワークインターセプト用のSTREAMSドライバ、もしくは透明な物理的プロキシマシン等のファシリティこれらに限定されないによって設けることができる。インターセプト手段は、本明細書に記載される機能を組み込んだカスタム設計のソフトウェアモジュールであってもよい。インターセプタとも呼ばれるインターセプト手段200は、ファイルシステムプロトコルプロキシアプリケーションであってもよい。インターセプト手段200は、データストレージシステム100とインターセプトシステム30との接点を管理する。インターセプトシステム300は、データストレージシステムの所定のオペレーションに利害を有する。代表的例では、所定のオペレーションは、データを別のストレージ装置にリダイレクトするためのあらゆるデータ入出力であってよい。インターセプトシステム300は、従来行われていたように、全入出力オペレーションを、データストレージシステム100におけるより低い階層に渡すのではなく、水平にインターセプトシステム300に渡すようインターセプト機構を設定する。インターセプトされたオペレーションを受信した場合、インターセプトシステム300は、多数の選択肢を有する。aインターセプトシステム300は、自身でこのオペレーションを処理しない判断を下し、インターセプトがなかったものとして続行するようインターセプト手段200に命令し、インターセプト手段がオペレーションをデータストレージシステム100の低階層に渡すようにする。bインターセプトシステム300は、オペレーションは、データストレージシステム100の低階層に渡す前に、修正する必要があると判断する。または、cインターセプトシステム300は、オペレーションは自身で処理するべきであると判断し、オペレーションに対する責任を引き継ぐ。この場合、インターセプト機構200は、このオペレーションについて、エラー処理を含み、データストレージシステムの高階層および低階層に適切に応答しなければならない。インターセプトシステム300は、相補的ストレージ資源、マルチメディア拡張装置、マルチメディアサーバ、ホームサーバ、特定アプリケーション向けコントローラ、または、通常ストレージ資源により実行されるタスクを含む多様なタスクを実行可能な任意の同様なシステム等のハードウェア装置を任意の数だけ用いたものであってよい。本発明によると、透明に、つまり、データストレージシステムによって認識されないように、インターセプトされたオペレーションをインターセプトシステムに引き継がせることができるインターセプト手段200が提供される。これにより、既存のファイルシステムからデータストレージシステムを分離したとき、ファイルシステムを新しい機能で拡張することができるようになる。対照的に、ウィルス検査ソフトウェア、暗号化シムencryptionshim等のなんらかのデータインターセプト機能を実行する従来の中間的プログラムは、機能を実行するべく元のデータストレージシステムを利用する。さらに、本発明では、既存のデータストレージシステムにおいて、格納されたデータもしくはメタデータの位置をデータストレージシステムから分離しつつ、そのデータストレージシステムの元のセマンティクスが維持されるようにする。したがって、データストレージシステムは、すでに格納している既存のデータもしくはメタデータについての責任主体であり続けるが、インターセプトシステムは、既存のデータストレージシステムの外部セマンティクスが変更されない限り、自身のポリシーに従って、新データもしくはメタデータ、または修正データもしくはメタデータに対する責任を引き継ぐことができる。本明細書の全体を通して記載される代表的例では、元のファイルシステムは、全メタデータの責任主体であり続け、インターセプトシステムは、いくつかまたは全部のデータに対する責任を引き継ぐ。具体的には、本発明では、ディレクトリを含むNTFSファイルシステムメタデータ、マスターファイルテーブルMFT、および各MFTエントリの内容は、通常そうであるように、ファイルシステムのストレージ資源上で保持されるが、データ自体は、別個に操作して、元のデータストレージシステムの構成からは独立して格納することができる。本発明では、たとえば、更新されないレガシーNTFS実装品において、複製、重複排除、キャッシング、プーリング等の最新のファイルシステム機能、およびストレージ資源RAIDレベルのによって通常提供される機能、ならびに新しい特殊な機能をサポートする手段等の数多くの利点が提供される。ファイルシステムの外部アプリケーションインターフェースでは、更新されていないセマンティクスが提示されるので、本発明では、既存のアプリケーションにとって互換的に、これらの機能を可能にする。つまり、ファイルシステムは、更新されないまま残り、更新されないままオペレーティングシステムにより利用可能である。本発明の課題と同様の課題を解決しようとする従来の試みの例として、ホームユーザを対象とした簡易な拡張性を持つデータストレージシステムであるマイクロソフト登録商標社のWindows登録商標ホームサーバWHSプロジェクトがある。WHSは、当初、ファイルベースのパラダイムを用いてWindows登録商標システム上のNTFSを拡張するドライブエクステンダと呼ばれる機能を含んでおり、それは、つまり、全ファイルを別の目的地にあるNTFSファイルシステムに置いて、参照情報トゥームストーンを元のNTFSファイルシステムに残すことができる機能であった。このアプローチは、アプリケーションに対して完全に透明でなかった残された参照情報が元のファイルと異なる挙動を示したので失敗し、事実、ドライブエクステンダが提供しようとした機能は、当初、仮想ブロックストレージ資源モデルを用いて、つまり、ファイルシステムに対してストレージ資源として現れるようにして、実装し直された。その後、この機能は、WHSから完全に取り除かれた。当初のドライブエクステンダアプローチのその他の例が本技術分野において、たとえば、階層的ストレージ管理システムにおいて知られている。他方、本発明では、ファイルシステムセマンティクスおよびメタデータは元のストレージ資源に残して、必要に応じて参照できるようにしつつ、データ自体は、元のデータストレージシステムの構成における制約を受けずに、独自に操作および格納できるようにする。前段落の例は、ディスクストレージシステムに関して提示したものであるが、本発明のアプローチは、非協働的ファイルシステムを、キー値ストア、オブジェクトストア、多様なキャッシュ、データベース等のその他の非協働的データストレージシステムに拡張することにも適用してよい。データを分離して別々に配置する機能があると、もしくは、単に、元のデータストレージシステム設計に対する付加的処理としてであっても、既存のデータストレージシステムを用いて、数多くの新しい機能および対応する機能特性をアプリケーションに提供することができるようになる。本出願人の信ずるところでは、データストレージ機能をデータストレージシステムのその他の機能から分離することで、ファイルシステムおよびデータストレージシステム自体の制約を超えてデータストレージシステムの機能を拡張する方法およびシステムは従来技術によって開示されていない。本発明に係るシステムおよび方法を組み込む利点の一つとして、性能が向上する可能性が挙げられる。リダイレクトデータは、元のデータストレージシステムが使用するものよりも高速なストレージ資源に格納することができ、もしくは、高速の読み出しおよび/または書き込みを可能にする方法で格納することができ、もしくはこれら両方の仕組みを同時に利用してよい。たとえば、ストレージシステムのメタデータは元のストレージ資源に保持し、データ自体は高速のストレージ資源に格納できるようにしてよい。この例では、インターセプト手段は、元のストレージ資源からメタデータを取得し、高速のストレージシステムからデータを取得するようファイルシステムに指示する。そして、情報およびデータがオペレーティングシステムによって処理されるべくファイルシステムに渡されると、あたかも元のストレージ資源から直接取得されたかのように、しかしより高速にデータは現れる。たとえば、高速性またはその他の改善特性を有する二次的ストレージ資源にデータをキャッシュすることによっても性能は向上され得る。本発明の一実施形態では、リダイレクトデータは、高速なストレージ資源上でスパースファイルに格納される。スパースファイルとは、ストレージ資源においてデータが割り当てられない穴を含むファイルであって、データは仮想的に表現される。ファイルキャッシングシステムの問題の一つは、キャッシュされるファイルを空間効率的なフォーマットで表現することであり、通常、実際のデータを格納し、内部ファイル位置と、これらの位置についてのデータが格納される位置との間で変換を行うデータパッキングモジュールの生成が必要となる。必要に応じてデータをサブファイルレベルでキャッシュするべく、元のファイルからまだ取得されていないデータは、物理的にではなく、仮想的に表現する必要がある。スパースファイルを用いることで、スパースファイルをサポートするいかなるファイルシステムでもこの機能を提供することができるようになり、本発明においてこの機能を開発して提供する必要が免除される。本出願人の信ずるところでは、実ファイルのデータをキャッシュする目的でのスパースファイルの使用は新規であり、サブファイルキャッシュのこの内部機能を提供する目的での既存の機能の利用可能性の価値は、当業者には理解されるであろう。本発明は、データ圧縮コンテキストで用いてもよく、元のデータストレージシステムの特性によって制限されない多様な方法でデータを圧縮することができる。たとえば、通常のストリーム圧縮または重複排除圧縮では、データは、システムのどこかにすでに存在している場合は、再び格納されない。この種類のデータ圧縮は、通常、従来技術の教示に基づくデータストレージシステムのレベルでは、直接的には可能でない。用いられるファイルシステムおよびデータストレージ資源システムに依らず、いかなるファイルシステムおよびデータストレージ資源システムにおいてもデータ圧縮を提供できることの際立った利点は、当業者には理解されるであろう。別の可能な用途としては、データポリモーフィズムがあり、データは、それが使用されることとなっているコンテキストによって異なる表現で表すことができる。本技術分野では、多様なデータポリモーフィズムアプリケーションが知られているが、これらは、通常アプリケーションレベルで実行され、データストレージシステムによって制約される。本発明の方法によると、データは、インターセプトシステムで、つまり、データストレージシステムレベルで操作することができ、コンテキストを変更してファイルシステムに提示することができるので、オペレーティングシステムおよびアプリケーション資源、または変更は要求されない。ドキュメント管理システムのコンテキストでは、本発明により、データストレージシステムのセマンティクスが維持され、かつ、古いバージョンのデータの取得を可能にする拡張セマンティクスが提供されるように、リダイレクトデータをバージョン化することができる。現在のシステムでは、古いバージョンのデータは、拡張セマンティクスを組み込むように更新されるか、古いデータが新しいデータから区別されるような方法で読み出される必要がある。リダイレクトデータの入出力は、ソースデータの配置場所を、自身にとってのそのデータの時間関連的な有用性に基づいて管理する分散データストレージシステムへの入力であってもよい。繰り返すが、この点に関して、これらの特性は、データストレージシステムレベルで実装することができ、ファイルシステムにアクセスしているアプリケーションに対しては全く変更されずに提示される。ネーム仮想化のコンテキストでは、データは、もはや、元のデータストレージシステムのストレージ資源に存在する必要はなく、ファイルシステムに対して適合させることなく、まったく異なる場所に配置することができる。データ仮想化も可能になり、一つのネーミングされたデータは、もはや、同一のストレージ資源に存在する必要はなく、複数のデータストレージシステムおよび/またはストレージ資源に分散させることができる。データ複製のコンテキストでは、リダイレクトデータの入出力によって、データの冗長性を保証するよう複製プロセスを追い込むことができる。上記したデータおよびデータに対するオペレーションには、たとえば、仮想マシン実装の使用等の周知の実装例が、主にアプリケーションレベルで存在するが、これらの実装例の不利点を発明の背景の項で記載した。本発明は、これらの特性および機能をデータストレージシステムレベルで設けることを可能にし、したがって、これらの特性および機能をファイルシステムもしくはオペレーティングシステムに依存しないものにした。以下の特許請求の範囲の趣旨から逸脱することなく、本発明の多様な改変および実装を行ってよく、たとえば、データストレージシステムのシングルレベルもしくはマルチレベルのキャッシングをインターセプタによって実行してよく、実行段階はインターセプト手段によって実行され、局所性最適化localityoptimizationは、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のデータストレージシステムにプルすることにより実行される。遠隔のデータストレージシステムは、物理的に遠隔であるか、アクセスするのに時間がかかるか、のいずれかのデータストレージシステムである。さらに、インターセプタによってネームベースの仮想化を実行することができ、他のデータストレージシステム上のデータを参照することにより、現在のデータストレージシステムでは有効でないファイル名を、有効であるように見せることができる。データのバックアップおよび複製も、インターセプタをファイルシステムと直接的に通信させることにより、可能である。データ仮想化もデータストレージシステムレベルで可能となり、データを同じ名前で、異なるデータストレージシステムに物理的に配置させることができ、実行段階は、インターセプタ手段により実行される。本発明の別の観点によると、方法は、ストレージ資源ではなくインターセプトシステムにおいて、選択データに対する独特な機能を設ける段階を備える。独特な機能は、性能特性、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される。選択データは、好ましくは、ネーム、タイムスタンプ、サイズ、履歴情報、物理的情報、およびコンテキスト情報からなる群から選択される一つ以上とのメタデータパターンマッチングを採用する選択機構を用いて特定される。上記の実施形態は、本発明の例として意図されており、上記の実施形態には、本明細書に添付される特許請求の範囲によってだけ規定される本発明の範囲から逸脱することなく、当業者によって、変更もしくは改変が付加されうる。