JP2013536514A - Method and system for extending data storage system functionality - Google Patents

Method and system for extending data storage system functionality Download PDF

Info

Publication number
JP2013536514A
JP2013536514A JP2013525098A JP2013525098A JP2013536514A JP 2013536514 A JP2013536514 A JP 2013536514A JP 2013525098 A JP2013525098 A JP 2013525098A JP 2013525098 A JP2013525098 A JP 2013525098A JP 2013536514 A JP2013536514 A JP 2013536514A
Authority
JP
Japan
Prior art keywords
data
data storage
intercept
file
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013525098A
Other languages
Japanese (ja)
Inventor
ザカライアッセン、ライアン
ラム、スティーブン
フェルナンデス、ラリン−ジョー
Original Assignee
ネベックス バーチャル テクノロジーズ インコーポレイティッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ネベックス バーチャル テクノロジーズ インコーポレイティッド filed Critical ネベックス バーチャル テクノロジーズ インコーポレイティッド
Publication of JP2013536514A publication Critical patent/JP2013536514A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/188Virtual file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【解決手段】データ編成手段およびデータストレージ資源を有するデータストレージシステムの機能を拡張する方法およびシステムであって、方法は、データストレージシステムのデータストレージ機能を、データストレージシステムのその他の機能から分離する段階と、データストレージ機能の少なくとも一部をインターセプトシステムに移行する段階とを備える。
【選択図】図3
A method and system for extending the function of a data storage system having data organization means and data storage resources, the method separating the data storage function of the data storage system from the other functions of the data storage system. And transferring at least part of the data storage function to the intercept system.
[Selection] Figure 3

Description

本発明は、一般的に、データストレージシステムに関し、特に、データストレージシステムの機能を拡張する方法およびシステムに関する。   The present invention relates generally to data storage systems, and more particularly to a method and system for extending the functionality of a data storage system.

本願は、2010年8月25日出願の米国仮出願第61/376,905号の優先権を主張し、その内容の全体を、本明細書に、参照として組み込むものとする。   This application claims priority from US Provisional Application No. 61 / 376,905, filed Aug. 25, 2010, the entire contents of which are hereby incorporated by reference.

コンピュータ上のファイルシステムによって、コンピュータのオペレーティングシステムは、通信し合う複数のプロセス間に、たとえこれらのプロセスが同時にアクティブ状態になくても、セキュリティプロトコルおよびネーミングプロトコルを強制する信頼された第三者として動作することが可能になる。ファイルシステムの機能の一つは、供給されたデータを、後に検索できるように分類・編成することである。この機能を実行するためには、ファイルシステムはストレージ資源を管理しなければならない。通常のストレージ資源は、連続的なバイトシーケンス、連続的なブロックシーケンス、または、オブジェクトストレージシステムではキー値ストアとして、ファイルシステムに現れる。   The file system on the computer allows the computer operating system to act as a trusted third party that enforces security and naming protocols between communicating processes, even if these processes are not active at the same time. It becomes possible to operate. One of the functions of the file system is to classify and organize the supplied data so that it can be retrieved later. In order to perform this function, the file system must manage storage resources. Normal storage resources appear in the file system as a continuous byte sequence, a continuous block sequence, or as a key value store in an object storage system.

ファイルシステムは、通常、コンピュータ上のオペレーティングシステムの一部であるが、アプリケーションにおけるオペレーティングシステムの拡張として、または、クライアントファイルシステムプロトコルを用いてネットワーク接続によりアクセスされる純粋なアプリケーションとして存在する場合もある。本技術分野では、これらについての多様な例が知られている。いずれの場合も、ファイルシステムは、たとえばディスク等の特定の種類のストレージ資源を用いるよう設計され、そのストレージ資源に関連する制約を受ける。これらの制約は、たとえば、性能、容量、並列性、拡張性、物理的位置等に関わる。さらに、ファイルシステムは、格納するデータに対して、たとえば、暗号化、圧縮、複製、もしくは、文脈依存的処理(データポリモーフィズム)を含むその他の変換等の操作を適用するための機能を予め備えていない場合、ファイルシステム自身の機能という観点での制約も有する。本技術分野では、文脈依存的という用語は、一般的に、プログラムにおいて行っている操作により変化するプログラム特性を意味する。たとえば、文脈依存性によって、使用中の特定の特性についてのドキュメンテーションが促進され、データの文脈処理もしくは文脈依存的処理では、データの使用法もしくはデータの使用位置によって異なる処理がデータに実行されるようにすることができる。   The file system is usually part of the operating system on the computer, but may exist as an extension of the operating system in the application or as a pure application that is accessed over a network connection using the client file system protocol. . Various examples of these are known in the art. In either case, the file system is designed to use a particular type of storage resource, such as a disk, and is subject to the constraints associated with that storage resource. These constraints relate to, for example, performance, capacity, parallelism, scalability, physical location, etc. Furthermore, the file system has a function for applying operations such as encryption, compression, duplication, or other conversion including context-dependent processing (data polymorphism) to stored data in advance. If not, there is a restriction in terms of the function of the file system itself. In this technical field, the term context-dependent generally refers to a program characteristic that changes depending on the operation being performed in the program. For example, contextuality facilitates documentation for a particular property in use, and in contextual or contextual processing of data, different processing is performed on the data depending on how the data is used or where it is used. Can be.

これらの制約のいくつかに対処する従来のシステムおよび方法は、ファイルシステムによって使用される仮想ストレージ資源を生成する仮想装置を用いるものであった。ファイルシステムに存在し、かつ、ストレージ資源に渡されない利用可能な文脈(コンテキスト)が不足していることにより、このアプローチでは、データの文脈依存的処理を提供できず、また、実際にストレージ資源上に存在するデータに対してファイルシステムが行うデータのマッピングが1:1であること起因する制約、たとえば、全データストレージ容量の制約を取り除くことができない。   Prior systems and methods that address some of these limitations have used virtual devices that create virtual storage resources used by the file system. Due to the lack of available context that exists in the file system and is not passed to the storage resource, this approach cannot provide context-sensitive processing of the data and does not actually It is not possible to remove the restriction caused by the data mapping performed by the file system with respect to the data existing in the file, for example, the restriction on the total data storage capacity.

したがって、本発明の目的は、データストレージシステムの機能を拡張して、たとえば、データストレージシステムの機能を、文脈依存的データ処理を実行できるように拡張するための新規なシステムおよび方法を提供することである。   Accordingly, it is an object of the present invention to provide a novel system and method for extending the functionality of a data storage system, for example, to extend the functionality of a data storage system to perform context-sensitive data processing. It is.

本発明の一実施形態によると、データ編成手段とデータストレージ資源とを有するデータストレージシステムの機能を拡張する方法であって、データストレージシステムのデータストレージ機能をデータストレージシステムのその他の機能から分離する段階と、データストレージ機能の少なくとも一部をインターセプトシステムに移行する段階とを備える方法が提供される。   According to an embodiment of the present invention, a method for extending the function of a data storage system having data organization means and data storage resources, wherein the data storage function of the data storage system is separated from other functions of the data storage system. A method is provided comprising the steps of: transferring at least a portion of the data storage functionality to an intercept system.

本発明の一つの観点によると、インターセプトシステムは、相補的ストレージ資源である。データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択してよい。   According to one aspect of the invention, the intercept system is a complementary storage resource. The data organization means may be selected from the group consisting of a file system, a key value store, and a database.

本発明の別の観点によると、分離する段階は、データ編成手段、データストレージ資源、およびインターセプトシステムと通信するインターセプト手段を設けることにより実行され、インターセプト手段は、ファイルシステムのオペレーションをインターセプトして、オペレーションの機能が、データストレージ資源によって取り扱われるべきか、またはインターセプトシステムによって取り扱われるべきかを判断する。   According to another aspect of the invention, the separating step is performed by providing data organization means, data storage resources, and intercept means for communicating with the intercept system, the intercept means intercepts file system operations, Determine whether the function of the operation should be handled by the data storage resource or by the intercept system.

本発明の別の観点によると、インターセプト手段は、ファイルシステムのオペレーションを、オペレーションがコンテキストを保持しているうちに、かつ、オペレーションがデータストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする。   According to another aspect of the present invention, the intercepting means can operate the file system while the operation holds the context and before the operation is decomposed into a plurality of independent operations suitable for the data storage resource. To intercept.

本発明の別の観点によると、データストレージ機能の少なくとも別の一部はデータストレージシステムに維持される。本発明の別の観点によると、データストレージ機能の全てが、インターセプトシステムに移行される。   According to another aspect of the invention, at least another portion of the data storage function is maintained in the data storage system. According to another aspect of the present invention, all of the data storage functionality is transferred to the intercept system.

本発明の別の観点によると、データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される。   According to another aspect of the invention, the data storage system is selected from the group consisting of a file system, a key value store, an object store, and a network protocol.

本発明の別の観点によると、データストレージシステムは、複数の外部インターフェース間で共有される。   According to another aspect of the invention, the data storage system is shared between multiple external interfaces.

本発明の別の観点によると、インターセプト手段は、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む。本発明の別の観点によると、インターセプト手段は、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む。本発明の別の観点によると、インターセプト手段は、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルタードライバを含む。   According to another aspect of the invention, the intercepting means includes a user space application program that cooperates with an operating system facility or a file system facility. According to another aspect of the invention, the intercepting means includes a file system protocol proxy application running on the network. According to another aspect of the invention, the intercepting means includes a mini-filter driver that intercepts file system operations in the operating system kernel.

本発明の別の観点によると、インターセプトシステムは、自身の機能を実行するべく1つ以上の相補的ストレージ資源を使用し、1つ以上の相補的ストレージ資源は、データストレージ資源から独立している。   According to another aspect of the invention, the intercept system uses one or more complementary storage resources to perform its function, and the one or more complementary storage resources are independent of the data storage resources. .

本発明の別の観点によると、インターセプトシステムは、データストレージシステムの容量拡大を実行する。本発明の別の観点によると、インターセプトシステムは、データストレージ資源上のデータの1つ以上の特性を変更することにより、データストレージシステムの性能を向上させる。1つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から好ましくは選択される。   According to another aspect of the invention, the intercept system performs capacity expansion of the data storage system. According to another aspect of the invention, the intercept system improves the performance of the data storage system by changing one or more characteristics of the data on the data storage resource. The one or more characteristics are preferably selected from the group consisting of storage format, storage location, and storage order.

本発明の別の観点によると、本方法は、インターセプトシステムにより重複排除(de−duplication)を実行する段階をさらに備える。本発明の別の観点によると、本方法は、インターセプトシステムによりデータポリモーフィズムを実行する段階をさらに備える。本発明の別の観点によると、本方法は、インターセプトシステムによりデータのための独立アクセス制御メカニズムを実行する段階をさらに備える。本発明の別の観点によると、本方法は、インターセプトシステムによりデータをバージョン化する段階をさらに備える。   According to another aspect of the invention, the method further comprises performing de-duplication by the intercept system. According to another aspect of the invention, the method further comprises performing data polymorphism with an intercept system. According to another aspect of the invention, the method further comprises performing an independent access control mechanism for data by the intercept system. According to another aspect of the invention, the method further comprises the step of versioning the data with an intercept system.

本発明の別の観点によると、本方法は、データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。本発明の別の観点によると、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のデータストレージシステムにプルすることにより、局所性最適化を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む。   According to another aspect of the invention, the method further comprises performing caching of the data storage system either single-level or multi-level, wherein the performing step is performed by an intercept means. According to another aspect of the invention, performing locality optimization by pushing less frequently used data to a remote data storage system and pulling frequently used data to nearby data storage systems The step of executing and executing is performed by intercept means. Remote data storage systems include data storage systems that are either physically remote or take a long time to access.

本発明の別の観点によると、本方法は、現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。   In accordance with another aspect of the present invention, the method provides name-based virtualization that makes file names that are not valid in current data storage systems appear to be valid by referencing data on other data storage systems. The step of executing is executed by the intercept means.

本発明の別の観点によると、本方法は、データバックアップおよびデータ複製を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。   According to another aspect of the invention, the method further comprises performing data backup and data replication, the performing step being performed by an intercepting means.

本発明の別の観点によると、本方法は、データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化を実行する段階をさらに備え、実行する段階は、インターセプト手段によって実行される。   According to another aspect of the present invention, the method further comprises performing data virtualization including allowing data to be physically located in different data storage systems with the same name, and performing the steps comprises: Performed by intercept means.

本発明の別の観点によると、本方法は、データストレージ資源ではなくインターセプトシステムで、選択データに対する独特な機能を設ける段階をさらに備え、独特な機能は、性能特性、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される。選択データは、ネーム、タイムスタンプ、サイズ、履歴情報、物理的情報、および文脈情報からなる群から選択される一つ以上とのメタデータパターンマッチングを採用する選択機構を用いて特定される。   According to another aspect of the invention, the method further comprises providing a unique function for selected data in an intercept system rather than a data storage resource, the unique function comprising performance characteristics, deduplication, data polymorphism, independent Selected from the group consisting of access control mechanisms, versioning, caching, locality, replication, and data virtualization. The selection data is identified using a selection mechanism that employs metadata pattern matching with one or more selected from the group consisting of name, timestamp, size, history information, physical information, and context information.

本発明の別の実施形態によると、データ編成手段およびデータストレージ資源を有するデータストレージシステムの機能を拡張するシステムであって、データストレージシステムのデータストレージ機能をデータストレージシステムのその他の機能から分離する分離手段と、データストレージ機能の少なくとも一部をインターセプトシステムに移行する手段とを備えるシステムが提供される。   According to another embodiment of the present invention, a system for extending the function of a data storage system having data organization means and data storage resources, wherein the data storage function of the data storage system is separated from other functions of the data storage system. A system is provided comprising separation means and means for migrating at least part of the data storage function to an intercept system.

本実施形態の別の観点によると、インターセプトシステムは、相補的ストレージ資源であってよい。   According to another aspect of this embodiment, the intercept system may be a complementary storage resource.

本実施形態の別の観点によると、分離手段は、データ編成手段、データストレージ資源、およびインターセプトシステムと通信するインターセプタを有し、インターセプタは、ファイルシステムのオペレーションをインターセプトして、オペレーションの機能が、データストレージ資源によって取り扱われるべきか、またはインターセプトシステムによって取り扱われるべきかを判断する。   According to another aspect of this embodiment, the separating means includes a data organization means, a data storage resource, and an interceptor that communicates with an intercept system, the interceptor intercepts file system operations, Determine whether it should be handled by a data storage resource or by an intercept system.

本実施形態の別の観点によると、インターセプタは、ファイルシステムのオペレーションを、オペレーションがコンテキストを保持しているうちに、かつ、オペレーションがデータストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする。   According to another aspect of this embodiment, the interceptor performs file system operations while the operations hold context and before the operations are broken down into multiple independent operations suitable for data storage resources. To intercept.

本実施形態の別の観点によると、データストレージ機能の少なくとも別の一部は、データストレージシステムに維持される。または、データストレージ機能の全てが、インターセプトシステムに移行される。   According to another aspect of the present embodiment, at least another part of the data storage function is maintained in the data storage system. Alternatively, all of the data storage function is transferred to the intercept system.

本実施形態の別の観点によると、データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される。   According to another aspect of this embodiment, the data storage system is selected from the group consisting of a file system, a key value store, an object store, and a network protocol.

本実施形態の別の観点によると、データストレージシステムは、複数の外部インターフェース間で共有される。   According to another aspect of the present embodiment, the data storage system is shared among a plurality of external interfaces.

本実施形態の別の観点によると、インターセプタは、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む。   According to another aspect of this embodiment, the interceptor includes a user space application program that cooperates with an operating system facility or a file system facility.

本実施形態の別の観点によると、インターセプタは、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む。   According to another aspect of this embodiment, the interceptor includes a file system protocol proxy application that runs on the network.

本実施形態の別の観点によると、インターセプタは、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルタードライバを含む。   According to another aspect of this embodiment, the interceptor includes a mini-filter driver that intercepts file system operations in the operating system kernel.

本実施形態の別の観点によると、インターセプトシステムは、自身の機能を実行するべく一つ以上の相補的ストレージ資源を使用し、相補的ストレージ資源は、データストレージ資源から独立している。   According to another aspect of this embodiment, the intercept system uses one or more complementary storage resources to perform its functions, and the complementary storage resources are independent of the data storage resources.

本実施形態の別の観点によると、インターセプトシステムは、データストレージシステムの容量拡大を実行する。   According to another aspect of this embodiment, the intercept system performs capacity expansion of the data storage system.

本実施形態の別の観点によると、インターセプトシステムは、データストレージ資源上のデータの一つ以上の特性を変更することにより、データストレージシステムの性能を向上させる。   According to another aspect of the present embodiment, the intercept system improves the performance of the data storage system by changing one or more characteristics of the data on the data storage resource.

本実施形態の別の観点によると、一つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から選択される。   According to another aspect of this embodiment, the one or more characteristics are selected from the group consisting of a storage format, a storage location, and a storage order.

本実施形態の別の観点によると、インターセプトシステムは、データの重複排除を実行する。   According to another aspect of this embodiment, the intercept system performs data deduplication.

本実施形態の別の観点によると、インターセプトシステムは、データのポリモーフィズムを実行する。   According to another aspect of this embodiment, the intercept system performs data polymorphism.

本実施形態の別の観点によると、インターセプトシステムは、データのための独立アクセス制御メカニズムを実行する。   According to another aspect of this embodiment, the intercept system performs an independent access control mechanism for data.

本実施形態の別の観点によると、インターセプトシステムは、データのバージョン化を実行する。   According to another aspect of this embodiment, the intercept system performs data versioning.

本実施形態の別の観点によると、インターセプタは、データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する。   According to another aspect of this embodiment, the interceptor performs data storage system caching on a single level or multi-level basis.

本実施形態の別の観点によると、インターセプタは、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のデータストレージシステムにプルすることにより、局所性最適化を実行する。   According to another aspect of this embodiment, the interceptor optimizes locality by pushing frequently used data to a remote data storage system and pulling frequently used data to nearby data storage systems. Execute.

本実施形態の別の観点によると、遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む。   According to another aspect of this embodiment, the remote data storage system includes a data storage system that is either physically remote or takes time to access.

本実施形態の別の観点によると、インターセプタは、現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化を実行する。   According to another aspect of this embodiment, the interceptor provides name-based virtualization that makes file names that are not valid in current data storage systems appear to be valid by referring to data on other data storage systems. Execute.

本実施形態の別の観点によると、インターセプタは、データバックアップおよびデータ複製の一方を実行する。   According to another aspect of the present embodiment, the interceptor performs one of data backup and data replication.

本実施形態の別の観点によると、インターセプタは、データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化を実行する。   According to another aspect of this embodiment, the interceptor performs data virtualization including allowing data to be physically located in different data storage systems with the same name.

本実施形態の別の観点によると、インターセプトシステムは、性能特性の向上、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される一つ以上を実行する。   According to another aspect of this embodiment, the intercept system is selected from the group consisting of improved performance characteristics, deduplication, data polymorphism, independent access control mechanisms, versioning, caching, locality, replication, and data virtualization. Run one or more.

本実施形態の別の観点によると、データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択される。   According to another aspect of the present embodiment, the data organization means is selected from the group consisting of a file system, a key value store, and a database.

添付の図面を参照して、実施形態を例示としてのみ記載する。   Embodiments will now be described by way of example only with reference to the accompanying drawings.

本発明に係るシステムのハイレベルアーキテクチャを示す。1 shows a high level architecture of a system according to the present invention.

本発明を用いてよい、および/または、実装してよいコンピュータシステムを示す。Fig. 3 illustrates a computer system that may use and / or implement the present invention.

本発明に係る方法の実施形態を示す。1 shows an embodiment of a method according to the invention.

本発明は、データに関連するあらゆる制約を変化させる新規なシステムおよび方法を提供し、これらの制約には、仮想ストレージ資源を用いて変化させることができる制約が含まれるが、これらに限定されない。本発明は、ファイルシステム以外の、提供する抽象化のレベルが主要インターフェースとしての実際のストレージ資源よりも高いデータストレージシステム、たとえば、データベースおよび特定オブジェクトデータベース、キー値ストア、所定のネットワークプロトコル、ならびに所定の共有データシステム等に、この機能を持たせることができる。   The present invention provides novel systems and methods for changing any constraints associated with data, including but not limited to constraints that can be changed using virtual storage resources. The present invention provides a data storage system other than a file system that provides a higher level of abstraction than the actual storage resource as a primary interface, such as databases and specific object databases, key value stores, predetermined network protocols, and predetermined The shared data system can be provided with this function.

さらに、本発明では、データストレージシステムの従来の制約の全てを、ファイルシステム自身の協働なく、もしくは、ファイルシステム自身を変更することなく、変化させることができる。したがって、本発明では、新しいファイルシステムに完全にオーバーホールすることも、新しいファイルシステムを実装することも要求されず、新しいファイルシステムを開発することなく、既存のシステム、新旧システム間のインターフェース、および開発途中の新しいシステムで、本明細書に記載される利点および拡張機能が実装できるようになる。大まかに、本発明では、ファイルシステムのオペレーションを、文脈情報を含んだまま、ストレージ資源に適したオペレーションに分解される前に、選択的にインターセプトすることができるインターセプトシステムがファイルシステムに取り付けられる。つまり、ファイルシステムは、文脈的オペレーションと、コンピュータのオペレーティングシステムから供給される、それらを実行するための命令とを有する。ファイルシステムがストレージ資源とやり取りするとき、これらの文脈的オペレーションおよび命令は失われるが、それは、ファイルシステムとストレージ資源とのやり取りは、データの検索、格納、および分類(cataloguing)に関するものだけであるからである。本発明に係るインターセプトシステムは、インターセプトシステムのオペレーションがファイルシステムに対して透明となるインターセプトポイントにおいて、ファイルシステムが必要とする機能を提供する。したがって、本発明では、データストレージシステムのストレージ機能をその他の機能(たとえば、ファイルネーミング、ロック、供給、セキュリティ等)から分離し、任意に別のコンポーネントに実際のストレージ機能を担わせることにより、データストレージ資源およびシステムの機能を拡張する方法およびシステムを提供する。   Furthermore, in the present invention, all the conventional restrictions of the data storage system can be changed without cooperation of the file system itself or without changing the file system itself. Therefore, in the present invention, it is not required to completely overhaul the new file system nor implement the new file system, and the existing system, the interface between the old and new systems, and the development without developing the new file system. A new system along the way will enable the benefits and enhancements described herein to be implemented. In general terms, the present invention attaches to the file system an intercept system that can selectively intercept file system operations, including contextual information, before being broken down into operations suitable for storage resources. That is, the file system has contextual operations and instructions for executing them supplied by the computer operating system. When the file system interacts with storage resources, these contextual operations and instructions are lost, but the interaction between the file system and storage resources is only about data retrieval, storage, and cataloging. Because. The intercept system according to the present invention provides a function required by the file system at an intercept point at which the operation of the intercept system is transparent to the file system. Therefore, the present invention separates the storage function of the data storage system from other functions (for example, file naming, lock, supply, security, etc.) and arbitrarily assigns the actual storage function to another component to Methods and systems for extending storage resources and system functionality are provided.

図1を参照すると、本発明の一実施形態が示されており、データストレージシステム100、インターセプタ200、およびインターセプトシステム300が示されている。従来のデータストレージシステムにおいて様々に分布している機能をデータストレージシステム自身から分離し、データストレージシステムまたはインターセプトシステムによって実行されるように分割する好適な実施形態の詳細を以下に記載する。機能を分離し、その後にデータストレージシステム100とインターセプトシステム300との間で分散すること、特に、非協働環境におけるデータストレージシステム100とインターセプトシステム300との間で機能を分散することは、本技術分野では新規であると考えられる。しかし、本発明の好適な実施形態は、既存の非協働的データストレージシステムに対するアドオンメカニズムに関するが、協働的データストレージシステムに拡張性を持たせ、拡張強化された機能を提供するアーキテクチャ上の特性であってもよく、その例は、以下により詳細に記載される。   Referring to FIG. 1, one embodiment of the present invention is shown, in which a data storage system 100, an interceptor 200, and an intercept system 300 are shown. Details of a preferred embodiment for separating the various functions distributed in a conventional data storage system from the data storage system itself and dividing it to be executed by the data storage system or intercept system are described below. Separation of functions and subsequent distribution between the data storage system 100 and the intercept system 300, in particular, distribution of functions between the data storage system 100 and the intercept system 300 in a non-cooperative environment is It is considered new in the technical field. However, although the preferred embodiment of the present invention relates to an add-on mechanism for an existing non-cooperative data storage system, it provides an architectural enhancement that makes the collaborative data storage system scalable and provides enhanced functionality. It may be a characteristic, examples of which are described in more detail below.

図3を参照すると、本発明の別の実施形態が示されており、データストレージシステムの機能を拡張するべく、ファイルシステムオペレーションをインターセプト315して、オペレーションの機能が、インターセプトシステムのデータストレージ資源により取り扱われるべきであるかを判断することにより、データストレージシステムのデータストレージ機能310をデータストレージシステムのその他の機能から分離する段階と、データストレージ機能の少なくとも一部をインターセプトシステムに移行320する段階とを備える方法が示されている。または、インターセプトされたデータストレージ機能は、データストレージ資源に存続325する。   Referring to FIG. 3, another embodiment of the present invention is shown, in which file system operations are intercepted 315 to extend the functionality of the data storage system, and the functionality of the operations depends on the data storage resources of the intercept system. Separating the data storage function 310 of the data storage system from other functions of the data storage system by determining whether it should be handled, and migrating 320 at least a portion of the data storage function to the intercept system. A method comprising: Alternatively, the intercepted data storage function persists 325 to the data storage resource.

本発明は、一般的に、コンピュータシステムのコンテキスト内で動作し、図2に模範的例を示す一般的なコンピュータシステムに対応付けられたデータストレージ機能の拡張を可能にする。図に示されるように、コンピュータシステム20は、中央演算処理装置(「CPU」)24、ランダムアクセスメモリ(「RAM」)28、入出力(「I/O」)インターフェース32、ネットワークインターフェース36、不揮発性ストレージ40、およびCPU24をその他のコンポーネントと通信可能にするローカルバス44を含む数多くの物理的および論理的なコンポーネントを備える。CPU24は、オペレーティングシステムおよび数多くのソフトウェアシステムを実行する。RAM28は、CPU24に対して比較的に応答性が良好な揮発性ストレージである。I/Oインターフェース32は、キーボード、マウス等の1つ以上の装置からの入力を受信可能にし、ディスプレイおよび/またはスピーカ等の出力装置に情報を出力する。ネットワークインターフェース36は、その他のシステムとの通信を可能にする。不揮発性ストレージ40は、オペレーティングシステムおよびプログラムを格納する。コンピュータシステム20の動作中、プログラムおよびデータは、不揮発性ストレージ40から読み出され、実行が容易となるようにRAM28に置かれる。   The present invention generally operates within the context of a computer system and allows for the expansion of data storage capabilities associated with the general computer system shown in the exemplary example of FIG. As shown, the computer system 20 includes a central processing unit (“CPU”) 24, a random access memory (“RAM”) 28, an input / output (“I / O”) interface 32, a network interface 36, a nonvolatile memory A number of physical and logical components including a storage 40 and a local bus 44 that allows the CPU 24 to communicate with other components. The CPU 24 executes an operating system and a number of software systems. The RAM 28 is a volatile storage that is relatively responsive to the CPU 24. The I / O interface 32 can receive an input from one or more devices such as a keyboard and a mouse, and outputs information to an output device such as a display and / or a speaker. The network interface 36 enables communication with other systems. The non-volatile storage 40 stores an operating system and a program. During operation of the computer system 20, programs and data are read from the non-volatile storage 40 and placed in the RAM 28 for easy execution.

データストレージシステム100は、本技術分野で一般的に知られており、本発明の目的においては、任意のマシン、デバイス、もしくは装置であって、所定の識別子(たとえば、ファイルネーム)を用いてデータを格納し、後に、その識別子を用いたデマンドに基づいて、データの少なくとも一部を読み出すことができる。データストレージシステム100は、データ編成手段105を有しており、本明細書ではストレージ資源110と呼ばれる(図2では、不揮発性ストレージ40として示される)、オペレーションから独立した、任意に物理的に組み込まれるマシンもしくはモジュールを用いて、ストレージ資源の特性に従った基本的(primitive)な形態でデータを格納するが、データストレージシステムは、後に、ストレージ資源から格納されたデータを自身で読み出すことができる。データストレージシステム100は、複数の外部インターフェース間で共有してよい。   The data storage system 100 is generally known in the art, and for the purposes of the present invention, any machine, device, or apparatus that uses a predetermined identifier (eg, a file name) for data , And later, at least a portion of the data can be read based on the demand using the identifier. The data storage system 100 has data organization means 105, referred to herein as storage resources 110 (shown as non-volatile storage 40 in FIG. 2), optionally physically incorporated independent of operation. Data is stored in a primitive form according to the characteristics of the storage resource using the machine or module to be stored, but the data storage system can later read the stored data from the storage resource by itself. . The data storage system 100 may be shared among a plurality of external interfaces.

データ編成手段105の代表的例としては、ファイルシステム、キー値ストア、データベース、ならびに、これらの上に組み合わせて階層化されるウェブキャッシュおよびページファイル等のその他のマシンが挙げられる。ストレージ資源110の代表的例としては、物理的なディスク、RAM等のメモリ、RAIDアレイ、穿孔テープ(paper tape)、ドキュメント等が挙げられる。好適な実施形態の代表的例では、ストレージシステム100は、Windows(登録商標)NTFSファイルシステムであってよく、ストレージ資源は、ハードディスクドライブであってよい。   Typical examples of the data organization means 105 include a file system, a key value store, a database, and other machines such as a web cache and a page file that are layered in combination on these. Typical examples of the storage resource 110 include a physical disk, a memory such as a RAM, a RAID array, a perforated tape, a document, and the like. In a representative example of a preferred embodiment, the storage system 100 may be a Windows® NTFS file system and the storage resource may be a hard disk drive.

インターセプト手段200は、ファイルシステムオペレーション等のデータオペレーションをインターセプトして処理するシステムである。本発明によると、インターセプト手段200は、実質的に全てのストレージ資源と同様に、データオペレーションがコンテキストを利用可能であるうちに、しかし、オペレーションが、コンテキストを含まない、ストレージ資源に対してより特定的である適切なオペレーションに分解される前に、オペレーションをインターセプトする。コンテキストは、たとえば、データ要求のソースを含むアプリケーション情報、要求されているデータについての詳細、データの使用目的についての詳細、現在のデータオペレーションについての情報を必要とするその他の情報であってよい。   The intercept means 200 is a system that intercepts and processes data operations such as file system operations. In accordance with the present invention, intercept means 200 is more specific for storage resources that, while virtually all storage resources, are available for data operations but do not include contexts. Intercept operations before breaking them down into appropriate operations The context may be, for example, application information including the source of the data request, details about the data being requested, details about the intended use of the data, and other information that requires information about the current data operation.

上記の代表的例によると、インターセプト手段200は、Windows(登録商標)オペレーティングシステムカーネルの適切なレベルでファイルシステムオペレーションをインターセプトするよう設計もしくは構成されたミニフィルターもしくはレガシーフィルターのドライバである。このドライバは、別に実装してよく、もしくは、市販品を調達してよい。他の例では、インターセプト機構は、他のオペレーティング環境に構築された、FUSE(ユーザスペースのファイルシステム)等のアプリケーションレベルファイルシステムプロバイダを用いたファイルシステムスタック、ネットワークインターセプト用のSTREAMSドライバ、もしくは透明な物理的プロキシマシン等のファシリティ(これらに限定されない)によって設けることができる。インターセプト手段は、本明細書に記載される機能を組み込んだカスタム設計のソフトウェアモジュールであってもよい。インターセプタとも呼ばれるインターセプト手段200は、ファイルシステムプロトコルプロキシアプリケーションであってもよい。   According to the representative example above, intercept means 200 is a mini-filter or legacy filter driver designed or configured to intercept file system operations at the appropriate level of the Windows operating system kernel. This driver may be mounted separately or a commercially available product may be procured. In other examples, the intercept mechanism is a file system stack using an application level file system provider, such as FUSE (User Space File System), built on other operating environments, a STREAMS driver for network interception, or transparent It can be provided by facilities such as, but not limited to, a physical proxy machine. The intercept means may be a custom designed software module that incorporates the functionality described herein. The intercepting means 200, also called interceptor, may be a file system protocol proxy application.

インターセプト手段200は、データストレージシステム100とインターセプトシステム30との接点を管理する。インターセプトシステム300は、データストレージシステムの所定のオペレーションに利害を有する。代表的例では、所定のオペレーションは、データを別のストレージ装置にリダイレクトするためのあらゆるデータ入出力であってよい。インターセプトシステム300は、従来行われていたように、全入出力オペレーションを、データストレージシステム100におけるより低い階層に渡すのではなく、水平にインターセプトシステム300に渡すようインターセプト機構を設定する。   The intercept unit 200 manages a contact point between the data storage system 100 and the intercept system 30. The intercept system 300 has an interest in certain operations of the data storage system. In a typical example, the predetermined operation may be any data input / output for redirecting data to another storage device. The intercept system 300 sets the intercept mechanism to pass all input / output operations to the intercept system 300 horizontally, instead of passing all input / output operations to a lower hierarchy in the data storage system 100, as conventionally performed.

インターセプトされたオペレーションを受信した場合、インターセプトシステム300は、多数の選択肢を有する。(a)インターセプトシステム300は、自身でこのオペレーションを処理しない判断を下し、インターセプトがなかったものとして続行するようインターセプト手段200に命令し、インターセプト手段がオペレーションをデータストレージシステム100の低階層に渡すようにする。(b)インターセプトシステム300は、オペレーションは、データストレージシステム100の低階層に渡す前に、修正する必要があると判断する。または、(c)インターセプトシステム300は、オペレーションは自身で処理するべきであると判断し、オペレーションに対する責任を引き継ぐ。この場合、インターセプト機構200は、このオペレーションについて、エラー処理を含み、データストレージシステムの高階層および低階層に適切に応答しなければならない。   When receiving an intercepted operation, intercept system 300 has a number of options. (A) The intercept system 300 makes a decision not to process this operation by itself and instructs the intercept means 200 to continue as if there was no intercept, and the intercept means passes the operation to the lower hierarchy of the data storage system 100. Like that. (B) The intercept system 300 determines that the operation needs to be corrected before passing it to the lower tier of the data storage system 100. Or (c) The intercept system 300 determines that the operation should be handled by itself and takes over responsibility for the operation. In this case, intercept mechanism 200 must respond appropriately to the high and low tiers of the data storage system for this operation, including error handling.

インターセプトシステム300は、相補的ストレージ資源、マルチメディア拡張装置、マルチメディアサーバ、ホームサーバ、特定アプリケーション向けコントローラ、または、通常ストレージ資源により実行されるタスクを含む多様なタスクを実行可能な任意の同様なシステム等のハードウェア装置を任意の数だけ用いたものであってよい。   The intercept system 300 can perform a variety of tasks, including complementary storage resources, multimedia expansion devices, multimedia servers, home servers, application specific controllers, or tasks typically performed by storage resources. Any number of hardware devices such as systems may be used.

本発明によると、透明に、つまり、データストレージシステムによって認識されないように、インターセプトされたオペレーションをインターセプトシステムに引き継がせることができるインターセプト手段200が提供される。これにより、既存のファイルシステムからデータストレージシステムを分離したとき、ファイルシステムを新しい機能で拡張することができるようになる。対照的に、ウィルス検査ソフトウェア、暗号化シム(encryption shim)等のなんらかのデータインターセプト機能を実行する従来の中間的プログラムは、機能を実行するべく元のデータストレージシステムを利用する。   In accordance with the present invention, an intercepting means 200 is provided that can cause an intercepted operation to be taken over transparently, ie, not recognized by a data storage system. As a result, when the data storage system is separated from the existing file system, the file system can be expanded with a new function. In contrast, conventional intermediate programs that perform some data interception function, such as virus inspection software, encryption shim, etc., utilize the original data storage system to perform the function.

さらに、本発明では、既存のデータストレージシステムにおいて、格納されたデータもしくはメタデータの位置をデータストレージシステムから分離しつつ、そのデータストレージシステムの元のセマンティクスが維持されるようにする。したがって、データストレージシステムは、すでに格納している既存のデータもしくはメタデータについての責任主体であり続けるが、インターセプトシステムは、既存のデータストレージシステムの外部セマンティクスが変更されない限り、自身のポリシーに従って、新データもしくはメタデータ、または修正データもしくはメタデータに対する責任を引き継ぐことができる。   Furthermore, in the present invention, in an existing data storage system, the original semantics of the data storage system are maintained while separating the position of stored data or metadata from the data storage system. Thus, while the data storage system remains responsible for the existing data or metadata that it already stores, the intercept system is subject to new policies according to its own policy, unless the external semantics of the existing data storage system are changed. Responsibility for data or metadata, or modified data or metadata can be taken over.

本明細書の全体を通して記載される代表的例では、元のファイルシステムは、全メタデータの責任主体であり続け、インターセプトシステムは、いくつかまたは全部のデータに対する責任を引き継ぐ。具体的には、本発明では、ディレクトリを含むNTFSファイルシステムメタデータ、マスターファイルテーブル(MFT)、および各MFTエントリの内容は、通常そうであるように、ファイルシステムのストレージ資源上で保持されるが、データ自体は、別個に操作して、元のデータストレージシステムの構成からは独立して格納することができる。   In the representative example described throughout this specification, the original file system remains the responsible entity for all metadata, and the intercept system takes over responsibility for some or all of the data. Specifically, in the present invention, the NTFS file system metadata including directories, the master file table (MFT), and the contents of each MFT entry are maintained on the file system storage resources as is usually the case. However, the data itself can be manipulated separately and stored independently of the original data storage system configuration.

本発明では、たとえば、更新されないレガシーNTFS実装品において、複製、重複排除、キャッシング、プーリング等の最新のファイルシステム機能、およびストレージ資源(RAIDレベルの)によって通常提供される機能、ならびに新しい特殊な機能をサポートする手段等の数多くの利点が提供される。ファイルシステムの外部アプリケーションインターフェースでは、更新されていないセマンティクスが提示されるので、本発明では、既存のアプリケーションにとって互換的に、これらの機能を可能にする。つまり、ファイルシステムは、更新されないまま残り、更新されないままオペレーティングシステムにより利用可能である。   In the present invention, for example, in a legacy NTFS implementation that is not updated, the latest file system functions such as duplication, deduplication, caching, pooling, and the functions normally provided by storage resources (RAID level), and new special functions Numerous advantages are provided, such as means for supporting Since the file system external application interface presents unupdated semantics, the present invention enables these functions interchangeably for existing applications. That is, the file system remains unupdated and can be used by the operating system without being updated.

本発明の課題と同様の課題を解決しようとする従来の試みの例として、ホームユーザを対象とした簡易な拡張性を持つデータストレージシステムであるマイクロソフト(登録商標)社のWindows(登録商標)ホームサーバ(WHS)プロジェクトがある。WHSは、当初、ファイルベースのパラダイムを用いてWindows(登録商標)システム上のNTFSを拡張するドライブエクステンダと呼ばれる機能を含んでおり、それは、つまり、全ファイルを別の目的地にあるNTFSファイルシステムに置いて、参照情報(「トゥームストーン」)を元のNTFSファイルシステムに残すことができる機能であった。このアプローチは、アプリケーションに対して完全に透明でなかった(残された参照情報が元のファイルと異なる挙動を示した)ので失敗し、事実、ドライブエクステンダが提供しようとした機能は、当初、仮想ブロックストレージ資源モデルを用いて、つまり、ファイルシステムに対してストレージ資源として現れるようにして、実装し直された。その後、この機能は、WHSから完全に取り除かれた。当初のドライブエクステンダアプローチのその他の例が本技術分野において、たとえば、階層的ストレージ管理システムにおいて知られている。他方、本発明では、ファイルシステムセマンティクスおよびメタデータは元のストレージ資源に残して、必要に応じて参照できるようにしつつ、データ自体は、元のデータストレージシステムの構成における制約を受けずに、独自に操作および格納できるようにする。   As an example of a conventional attempt to solve the same problem as the problem of the present invention, a Windows (registered trademark) home of Microsoft (registered trademark) which is a data storage system having a simple expandability for home users. There is a server (WHS) project. WHS initially included a feature called Drive Extender that uses a file-based paradigm to extend NTFS on Windows® systems, which means that the NTFS file system has all files at different destinations. The reference information (“Tombstone”) can be left in the original NTFS file system. This approach failed because it was not completely transparent to the application (the remaining reference information behaved differently from the original file), in fact, the function that the drive extender attempted to provide was initially virtual Reimplemented using the block storage resource model, that is, appearing as a storage resource to the file system. This feature was then completely removed from WHS. Other examples of the original drive extender approach are known in the art, for example, in a hierarchical storage management system. On the other hand, in the present invention, the file system semantics and metadata remain in the original storage resource so that they can be referred to as necessary, while the data itself is not subject to restrictions in the configuration of the original data storage system. Can be manipulated and stored.

前段落の例は、ディスクストレージシステムに関して提示したものであるが、本発明のアプローチは、非協働的ファイルシステムを、キー値ストア、オブジェクトストア、多様なキャッシュ、データベース等のその他の非協働的データストレージシステムに拡張することにも適用してよい。データを分離して別々に配置する機能があると、もしくは、単に、元のデータストレージシステム設計に対する付加的処理としてであっても、既存のデータストレージシステムを用いて、数多くの新しい機能および対応する機能特性をアプリケーションに提供することができるようになる。本出願人の信ずるところでは、データストレージ機能をデータストレージシステムのその他の機能から分離することで、ファイルシステムおよびデータストレージシステム自体の制約を超えてデータストレージシステムの機能を拡張する方法およびシステムは従来技術によって開示されていない。   Although the example in the previous paragraph is presented with respect to a disk storage system, the approach of the present invention can be applied to non-cooperative file systems, other non-cooperative processes such as key value stores, object stores, various caches, databases, etc. It may also be applied to an extension to a dynamic data storage system. With the ability to separate and place the data separately, or simply as an additional process to the original data storage system design, the existing data storage system can be used and many new functions and corresponding Functional characteristics can be provided to the application. Applicants believe that methods and systems for extending data storage system functionality beyond the limitations of the file system and the data storage system itself by separating the data storage function from the other functions of the data storage system are conventional. Not disclosed by technology.

本発明に係るシステムおよび方法を組み込む利点の一つとして、性能が向上する可能性が挙げられる。リダイレクトデータは、元のデータストレージシステムが使用するものよりも高速なストレージ資源に格納することができ、もしくは、高速の読み出しおよび/または書き込みを可能にする方法で格納することができ、もしくはこれら両方の仕組みを同時に利用してよい。たとえば、ストレージシステムのメタデータは元のストレージ資源に保持し、データ自体は高速のストレージ資源に格納できるようにしてよい。この例では、インターセプト手段は、元のストレージ資源からメタデータを取得し、高速のストレージシステムからデータを取得するようファイルシステムに指示する。そして、情報およびデータがオペレーティングシステムによって処理されるべくファイルシステムに渡されると、あたかも元のストレージ資源から直接取得されたかのように、しかしより高速にデータは現れる。たとえば、高速性またはその他の改善特性を有する二次的ストレージ資源にデータをキャッシュすることによっても性能は向上され得る。   One advantage of incorporating the system and method according to the present invention is the potential for improved performance. Redirect data can be stored in storage resources that are faster than those used by the original data storage system, and / or can be stored in a manner that allows for faster reading and / or writing. You can use this mechanism at the same time. For example, the storage system metadata may be retained in the original storage resource, and the data itself may be stored in a high-speed storage resource. In this example, the intercepting unit acquires the metadata from the original storage resource and instructs the file system to acquire the data from the high-speed storage system. And when information and data are passed to the file system to be processed by the operating system, the data appears as if it were obtained directly from the original storage resource, but faster. For example, performance can also be improved by caching data in secondary storage resources that have high speed or other improved characteristics.

本発明の一実施形態では、リダイレクトデータは、高速なストレージ資源上でスパースファイルに格納される。スパースファイルとは、ストレージ資源においてデータが割り当てられない穴を含むファイルであって、データは仮想的に表現される。ファイルキャッシングシステムの問題の一つは、キャッシュされるファイルを空間効率的なフォーマットで表現することであり、通常、実際のデータを格納し、内部ファイル位置と、これらの位置についてのデータが格納される位置との間で変換を行うデータパッキングモジュールの生成が必要となる。必要に応じてデータをサブファイルレベルでキャッシュするべく、元のファイルからまだ取得されていないデータは、物理的にではなく、仮想的に表現する必要がある。スパースファイルを用いることで、スパースファイルをサポートするいかなるファイルシステムでもこの機能を提供することができるようになり、本発明においてこの機能を開発して提供する必要が免除される。本出願人の信ずるところでは、実ファイルのデータをキャッシュする目的でのスパースファイルの使用は新規であり、サブファイルキャッシュのこの内部機能を提供する目的での既存の機能の利用可能性の価値は、当業者には理解されるであろう。   In one embodiment of the invention, redirect data is stored in a sparse file on a fast storage resource. A sparse file is a file including a hole to which no data is assigned in a storage resource, and the data is virtually represented. One of the problems with file caching systems is representing the files to be cached in a space efficient format, which usually stores the actual data and stores the internal file locations and data about these locations. It is necessary to generate a data packing module that performs conversion between positions. In order to cache data at the sub-file level as needed, data that has not yet been acquired from the original file needs to be represented virtually instead of physically. The use of sparse files allows any file system that supports sparse files to provide this functionality, and exempts the need to develop and provide this functionality in the present invention. Applicants believe that the use of sparse files for the purpose of caching real file data is new, and the value of the availability of existing features for the purpose of providing this internal functionality of the subfile cache is Those skilled in the art will understand.

本発明は、データ圧縮コンテキストで用いてもよく、元のデータストレージシステムの特性によって制限されない多様な方法でデータを圧縮することができる。たとえば、通常のストリーム圧縮または重複排除圧縮では、データは、システムのどこかにすでに存在している場合は、再び格納されない。この種類のデータ圧縮は、通常、従来技術の教示に基づくデータストレージシステムのレベルでは、直接的には可能でない。用いられるファイルシステムおよびデータストレージ資源システムに依らず、いかなるファイルシステムおよびデータストレージ資源システムにおいてもデータ圧縮を提供できることの際立った利点は、当業者には理解されるであろう。   The present invention may be used in a data compression context and can compress data in a variety of ways that are not limited by the characteristics of the original data storage system. For example, in normal stream compression or deduplication compression, data is not stored again if it already exists somewhere in the system. This type of data compression is usually not directly possible at the level of data storage systems based on the teachings of the prior art. Those skilled in the art will appreciate the distinct advantages of being able to provide data compression in any file system and data storage resource system, regardless of the file system and data storage resource system used.

別の可能な用途としては、データポリモーフィズムがあり、データは、それが使用されることとなっているコンテキストによって異なる表現で表すことができる。本技術分野では、多様なデータポリモーフィズムアプリケーションが知られているが、これらは、通常アプリケーションレベルで実行され、データストレージシステムによって制約される。本発明の方法によると、データは、インターセプトシステムで、つまり、データストレージシステムレベルで操作することができ、コンテキストを変更してファイルシステムに提示することができるので、オペレーティングシステムおよびアプリケーション資源、または変更は要求されない。   Another possible application is data polymorphism, where data can be represented differently depending on the context in which it is used. A variety of data polymorphism applications are known in the art, but these are typically performed at the application level and are constrained by the data storage system. In accordance with the method of the present invention, data can be manipulated in an intercept system, ie, at the data storage system level, and context can be changed and presented to the file system, so operating system and application resources, or changes Is not required.

ドキュメント管理システムのコンテキストでは、本発明により、データストレージシステムのセマンティクスが維持され、かつ、古いバージョンのデータの取得を可能にする拡張セマンティクスが提供されるように、リダイレクトデータをバージョン化することができる。現在のシステムでは、古いバージョンのデータは、拡張セマンティクスを組み込むように更新されるか、古いデータが新しいデータから区別されるような方法で読み出される必要がある。   In the context of a document management system, the present invention allows versioning of redirected data so that the semantics of the data storage system are maintained and extended semantics are provided that allow retrieval of older versions of data. . In current systems, old versions of data need to be updated to incorporate extended semantics or read out in such a way that old data is distinguished from new data.

リダイレクトデータの入出力は、ソースデータの配置場所を、自身にとってのそのデータの時間関連的な有用性に基づいて管理する分散データストレージシステムへの入力であってもよい。繰り返すが、この点に関して、これらの特性は、データストレージシステムレベルで実装することができ、ファイルシステムにアクセスしているアプリケーションに対しては全く変更されずに提示される。   The redirect data input / output may be an input to a distributed data storage system that manages the location of the source data based on the time-related utility of the data to itself. Again, in this regard, these characteristics can be implemented at the data storage system level and are presented to the application accessing the file system without any changes.

ネーム仮想化のコンテキストでは、データは、もはや、元のデータストレージシステムのストレージ資源に存在する必要はなく、ファイルシステムに対して適合させることなく、まったく異なる場所に配置することができる。データ仮想化も可能になり、一つのネーミングされたデータは、もはや、同一のストレージ資源に存在する必要はなく、複数のデータストレージシステムおよび/またはストレージ資源に分散させることができる。データ複製のコンテキストでは、リダイレクトデータの入出力によって、データの冗長性を保証するよう複製プロセスを追い込むことができる。   In the context of name virtualization, data no longer needs to reside in the storage resources of the original data storage system and can be located in completely different locations without adaptation to the file system. Data virtualization is also possible and a single named data no longer needs to reside on the same storage resource, but can be distributed across multiple data storage systems and / or storage resources. In the context of data replication, the input and output of redirect data can drive the replication process to ensure data redundancy.

上記したデータおよびデータに対するオペレーションには、たとえば、仮想マシン実装の使用等の周知の実装例が、主にアプリケーションレベルで存在するが、これらの実装例の不利点を発明の背景の項で記載した。本発明は、これらの特性および機能をデータストレージシステムレベルで設けることを可能にし、したがって、これらの特性および機能をファイルシステムもしくはオペレーティングシステムに依存しないものにした。   For the data and operations described above, well-known implementation examples such as the use of virtual machine implementations exist mainly at the application level, but the disadvantages of these implementation examples are described in the background section of the invention. . The present invention allows these characteristics and functions to be provided at the data storage system level, thus making these characteristics and functions independent of the file system or operating system.

以下の特許請求の範囲の趣旨から逸脱することなく、本発明の多様な改変および実装を行ってよく、たとえば、データストレージシステムのシングルレベルもしくはマルチレベルのキャッシングをインターセプタによって実行してよく、実行段階はインターセプト手段によって実行され、局所性最適化(locality optimization)は、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のデータストレージシステムにプルすることにより実行される。遠隔のデータストレージシステムは、物理的に遠隔であるか、アクセスするのに時間がかかるか、のいずれかのデータストレージシステムである。さらに、インターセプタによってネームベースの仮想化を実行することができ、他のデータストレージシステム上のデータを参照することにより、現在のデータストレージシステムでは有効でないファイル名を、有効であるように見せることができる。データのバックアップおよび複製も、インターセプタをファイルシステムと直接的に通信させることにより、可能である。データ仮想化もデータストレージシステムレベルで可能となり、データを同じ名前で、異なるデータストレージシステムに物理的に配置させることができ、実行段階は、インターセプタ手段により実行される。   Various modifications and implementations of the invention may be made without departing from the spirit of the following claims, for example, single-level or multi-level caching of a data storage system may be performed by an interceptor, Is performed by intercept means, and locality optimization is performed by pushing infrequently used data to a remote data storage system and pulling frequently used data to nearby data storage systems Is done. A remote data storage system is either a data storage system that is physically remote or takes a long time to access. In addition, name-based virtualization can be performed by interceptors, and by referring to data on other data storage systems, filenames that are not valid in current data storage systems can appear to be valid. it can. Data backup and replication is also possible by having the interceptor communicate directly with the file system. Data virtualization is also possible at the data storage system level, data can be physically located in different data storage systems with the same name, and the execution stage is executed by the interceptor means.

本発明の別の観点によると、方法は、ストレージ資源ではなくインターセプトシステムにおいて、選択データに対する独特な機能を設ける段階を備える。独特な機能は、性能特性、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される。選択データは、好ましくは、ネーム、タイムスタンプ、サイズ、履歴情報、物理的情報、およびコンテキスト情報からなる群から選択される一つ以上とのメタデータパターンマッチングを採用する選択機構を用いて特定される。   According to another aspect of the invention, the method comprises providing a unique function for selected data in an intercept system rather than a storage resource. The unique function is selected from the group consisting of performance characteristics, deduplication, data polymorphism, independent access control mechanisms, versioning, caching, locality, replication, and data virtualization. The selection data is preferably identified using a selection mechanism that employs metadata pattern matching with one or more selected from the group consisting of name, timestamp, size, history information, physical information, and context information. The

上記の実施形態は、本発明の例として意図されており、上記の実施形態には、本明細書に添付される特許請求の範囲によってだけ規定される本発明の範囲から逸脱することなく、当業者によって、変更もしくは改変が付加されうる。   The above embodiments are intended as examples of the present invention, and the above embodiments are within the scope of the present invention which is defined only by the claims appended hereto. Changes or modifications may be added by a trader.

Claims (59)

データ編成手段とデータストレージ資源とを有するデータストレージシステムの機能を拡張する方法であって、
前記データストレージシステムのデータストレージ機能を前記データストレージシステムのその他の機能から分離する段階と、
前記データストレージ機能の少なくとも一部をインターセプトシステムに移行する段階と
を備える方法。
A method for extending the function of a data storage system having data organization means and data storage resources,
Separating the data storage function of the data storage system from other functions of the data storage system;
Transferring at least part of the data storage function to an intercept system.
前記インターセプトシステムは、相補的ストレージ資源を有する請求項1に記載の方法。   The method of claim 1, wherein the intercept system has complementary storage resources. 前記分離する段階は、前記データ編成手段、前記データストレージ資源、および前記インターセプトシステムと通信するインターセプト手段を設けることにより実行され、
前記インターセプト手段は、ファイルシステムのオペレーションをインターセプトして、前記オペレーションの機能が、前記データストレージ資源によって取り扱われるべきか、または前記インターセプトシステムによって取り扱われるべきかを判断する
請求項1または2に記載の方法。
The separating is performed by providing intercept means for communicating with the data organization means, the data storage resources, and the intercept system;
The interception means intercepts a file system operation and determines whether the function of the operation should be handled by the data storage resource or by the intercept system. Method.
前記インターセプト手段は、ファイルシステムのオペレーションを、前記オペレーションがコンテキストを保持しているうちに、かつ、前記オペレーションが前記データストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする請求項3に記載の方法。   The intercepting means intercepts file system operations while the operations hold context and before the operations are broken down into independent operations suitable for the data storage resource. Item 4. The method according to Item 3. 前記データストレージ機能の少なくとも別の一部は前記データストレージシステムに維持される請求項1から4のいずれか1項に記載の方法。   The method according to claim 1, wherein at least another part of the data storage function is maintained in the data storage system. 前記データストレージ機能の全てが、前記インターセプトシステムに移行される請求項1から4のいずれか1項に記載の方法。   The method according to any one of claims 1 to 4, wherein all of the data storage functions are transferred to the intercept system. 前記データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される請求項1から6のいずれか1項に記載の方法。   The method according to any one of claims 1 to 6, wherein the data storage system is selected from the group consisting of a file system, a key value store, an object store, and a network protocol. 前記データストレージシステムは、複数の外部インターフェース間で共有される請求項1から7のいずれか1項に記載の方法。   The method according to claim 1, wherein the data storage system is shared among a plurality of external interfaces. 前記インターセプト手段は、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む請求項3または4に記載の方法。   5. A method according to claim 3 or 4, wherein the intercept means comprises a user space application program cooperating with an operating system facility or a file system facility. 前記インターセプト手段は、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む請求項3または4に記載の方法。   The method according to claim 3 or 4, wherein the intercepting means comprises a file system protocol proxy application running on a network. 前記インターセプト手段は、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルタードライバを含む請求項3または4に記載の方法。   5. A method according to claim 3 or 4, wherein the intercepting means comprises a mini filter driver for intercepting file system operations in an operating system kernel. 前記インターセプトシステムは、自身の機能を実行するべく1つ以上の相補的ストレージ資源を使用し、前記1つ以上の相補的ストレージ資源は、前記データストレージ資源から独立している請求項3に記載の方法。   4. The intercept system of claim 3, wherein the intercept system uses one or more complementary storage resources to perform its functions, and the one or more complementary storage resources are independent of the data storage resources. Method. 前記インターセプトシステムは、前記データストレージシステムの容量拡大を実行する請求項1から12のいずれか1項に記載の方法。   The method according to any one of claims 1 to 12, wherein the intercept system performs capacity expansion of the data storage system. 前記インターセプトシステムは、前記データストレージ資源上のデータの1つ以上の特性を変更することにより、または、相補的ストレージ資源を使用することにより、前記データストレージシステムの性能を向上させる請求項1から13のいずれか1項に記載の方法。   14. The intercept system improves the performance of the data storage system by changing one or more characteristics of data on the data storage resource or by using complementary storage resources. The method of any one of these. 前記1つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から選択される請求項14に記載の方法。   The method of claim 14, wherein the one or more characteristics are selected from the group consisting of a storage format, a storage location, and a storage order. 前記インターセプトシステムにより重複排除(de−duplication)を実行する段階をさらに備える請求項1から15のいずれか1項に記載の方法。   The method according to claim 1, further comprising performing de-duplication by the intercept system. 前記インターセプトシステムによりデータポリモーフィズムを実行する段階をさらに備える請求項1から16のいずれか1項に記載の方法。   The method according to any one of claims 1 to 16, further comprising performing data polymorphism by the intercept system. 前記インターセプトシステムによりデータのための独立アクセス制御メカニズムを実行する段階をさらに備える請求項1から17のいずれか1項に記載の方法。   The method according to any one of claims 1 to 17, further comprising executing an independent access control mechanism for data by the intercept system. 前記インターセプトシステムによりデータをバージョン化する段階をさらに備える請求項1から18のいずれか1項に記載の方法。   The method according to any one of claims 1 to 18, further comprising the step of versioning data by the intercept system. 前記データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する段階をさらに備え、
前記実行する段階は、前記インターセプト手段によって実行される
請求項12項に記載の方法。
Further comprising performing caching of the data storage system in either a single level or a multi-level;
The method of claim 12, wherein the performing is performed by the intercepting means.
前記相補的ストレージ資源は、データをキャッシュするべ通常使用されるオペレーティングシステムメモリキャッシュである請求項12に記載の方法。   The method of claim 12, wherein the complementary storage resource is a commonly used operating system memory cache to cache data. 頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のストレージ資源もしくはデータストレージシステムにプルすることにより、局所性最適化(locality optimization)を実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12項に記載の方法。   Further performing locality optimization by pushing infrequently used data to a remote data storage system and pulling frequently used data to nearby storage resources or data storage systems The method of claim 12, wherein the step of providing and executing is performed by the intercepting means. 前記遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む請求項22に記載の方法。   23. The method of claim 22, wherein the remote data storage system comprises a data storage system that is either physically remote or takes time to access. 現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化(name based virtualization)を実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12に記載の方法。   Performing name based virtualization, which makes file names that are not valid in current data storage systems appear to be valid by referencing data on other data storage systems; The method of claim 12, wherein the performing is performed by the intercepting means. データバックアップおよびデータ複製の一方を実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12に記載の方法。   The method of claim 12, further comprising performing one of data backup and data replication, wherein the performing is performed by the intercepting means. データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化(data virtualization)を実行する段階をさらに備え、前記実行する段階は、前記インターセプト手段によって実行される請求項12に記載の方法。   Further comprising performing data virtualization including allowing data to be physically located in different data storage systems with the same name, wherein said performing is performed by said intercepting means. Item 13. The method according to Item 12. 前記データストレージ資源ではなく前記インターセプトシステムで、選択データに対する独特な機能を設ける段階をさらに備え、前記独特な機能は、性能特性、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される請求項1から26のいずれか1項に記載の方法。   Providing a unique function for selected data in the intercept system rather than the data storage resource, the unique function comprising performance characteristics, deduplication, data polymorphism, independent access control mechanism, versioning, caching, locality 27. A method according to any one of claims 1 to 26, selected from the group consisting of:, replication, and data virtualization. 前記選択データは、ネーム、タイムスタンプ、サイズ、履歴情報、物理的情報、および文脈情報からなる群から選択される一つ以上とのメタデータパターンマッチングを採用する選択機構を用いて特定される請求項27に記載の方法。   The selection data is identified using a selection mechanism that employs metadata pattern matching with one or more selected from the group consisting of name, timestamp, size, history information, physical information, and context information. Item 28. The method according to Item 27. 前記データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択される請求項1から28のいずれか1項に記載の方法。   29. A method according to any one of claims 1 to 28, wherein the data organization means is selected from the group consisting of a file system, a key value store, and a database. 前記相補的ストレージ資源は、スパースファイルである請求項12に記載の方法。   The method of claim 12, wherein the complementary storage resource is a sparse file. データ編成手段およびデータストレージ資源を有するデータストレージシステムの機能を拡張するシステムであって、
前記データストレージシステムのデータストレージ機能を前記データストレージシステムのその他の機能から分離する分離手段と、
前記データストレージ機能の少なくとも一部をインターセプトシステムに移行する手段と
を備えるシステム。
A system for extending the function of a data storage system having data organization means and data storage resources,
Separating means for separating the data storage function of the data storage system from other functions of the data storage system;
Means for migrating at least part of the data storage function to an intercept system.
前記インターセプトシステムは、相補的ストレージ資源を有する請求項31に記載のシステム。   32. The system of claim 31, wherein the intercept system has complementary storage resources. 前記分離手段は、前記データ編成手段、前記データストレージ資源、および前記インターセプトシステムと通信するインターセプタを有し、
前記インターセプタは、ファイルシステムのオペレーションをインターセプトして、前記オペレーションの機能が、前記データストレージ資源によって取り扱われるべきか、または前記インターセプトシステムによって取り扱われるべきかを判断する
請求項31または32に記載のシステム。
The separation means comprises an interceptor in communication with the data organization means, the data storage resource, and the intercept system;
The system according to claim 31 or 32, wherein the interceptor intercepts a file system operation to determine whether the function of the operation is to be handled by the data storage resource or by the intercept system. .
前記インターセプタは、ファイルシステムのオペレーションを、前記オペレーションがコンテキストを保持しているうちに、かつ、前記オペレーションが前記データストレージ資源に適した独立した複数のオペレーションに分解される前に、インターセプトする請求項33に記載のシステム。   The interceptor intercepts file system operations while the operations hold context and before the operations are broken down into independent operations suitable for the data storage resource. 34. The system according to 33. 前記データストレージ機能の少なくとも別の一部は、前記データストレージシステムに維持される請求項31から34のいずれか1項に記載のシステム。   35. A system according to any one of claims 31 to 34, wherein at least another part of the data storage function is maintained in the data storage system. 前記データストレージ機能の全てが、前記インターセプトシステムに移行される請求項31から34のいずれか1項に記載のシステム。   35. A system according to any one of claims 31 to 34, wherein all of the data storage functions are transferred to the intercept system. 前記データストレージシステムは、ファイルシステム、キー値ストア、オブジェクトストア、およびネットワークプロトコルからなる群から選択される請求項31から36のいずれか1項に記載のシステム。   37. The system according to any one of claims 31 to 36, wherein the data storage system is selected from the group consisting of a file system, a key value store, an object store, and a network protocol. 前記データストレージシステムは、複数の外部インターフェース間で共有される請求項31から37のいずれか1項に記載のシステム。   The system according to any one of claims 31 to 37, wherein the data storage system is shared among a plurality of external interfaces. 前記インターセプタは、オペレーティングシステムのファシリティまたはファイルシステムのファシリティと協働するユーザスペースアプリケーションプログラムを含む請求項33または34に記載のシステム。   35. The system of claim 33 or 34, wherein the interceptor comprises a user space application program that cooperates with an operating system facility or a file system facility. 前記インターセプタは、ネットワーク上で実行されるファイルシステムプロトコルプロキシアプリケーションを含む請求項33または34に記載のシステム。   35. A system according to claim 33 or 34, wherein the interceptor comprises a file system protocol proxy application running on a network. 前記インターセプタは、オペレーティングシステムカーネルにおいてファイルシステムのオペレーションをインターセプトするミニフィルターまたはレガシーフィルターのドライバを含む請求項33または34に記載のシステム。   35. The system of claim 33 or 34, wherein the interceptor includes a mini-filter or legacy filter driver that intercepts file system operations in an operating system kernel. 前記インターセプトシステムは、自身の機能を実行するべく一つ以上の相補的ストレージ資源を使用し、
前記一つ以上の相補的ストレージ資源は、前記データストレージ資源から独立している
請求項33に記載のシステム。
The intercept system uses one or more complementary storage resources to perform its functions,
The system of claim 33, wherein the one or more complementary storage resources are independent of the data storage resources.
前記インターセプトシステムは、前記データストレージシステムの容量拡大を実行する請求項33に記載のシステム。   34. The system of claim 33, wherein the intercept system performs capacity expansion of the data storage system. 前記インターセプトシステムは、前記データストレージ資源上のデータの一つ以上の特性を変更することにより、前記データストレージシステムの性能を向上させる請求項33に記載のシステム。   34. The system of claim 33, wherein the intercept system improves the performance of the data storage system by changing one or more characteristics of data on the data storage resource. 前記一つ以上の特性は、格納フォーマット、格納位置、および格納順序からなる群から選択される請求項44に記載のシステム。   45. The system of claim 44, wherein the one or more characteristics are selected from the group consisting of storage format, storage location, and storage order. 前記インターセプトシステムは、データの重複排除を実行する請求項31から45のいずれか1項に記載のシステム。   46. A system according to any one of claims 31 to 45, wherein the intercept system performs data deduplication. 前記インターセプトシステムは、データのポリモーフィズムを実行する請求項31から46のいずれか1項に記載のシステム。   47. A system according to any one of claims 31 to 46, wherein the intercept system performs data polymorphism. 前記インターセプトシステムは、データのための独立アクセス制御メカニズムを実行する請求項31から47のいずれか1項に記載のシステム。   48. A system according to any one of claims 31 to 47, wherein the intercept system implements an independent access control mechanism for data. 前記インターセプトシステムは、データのバージョン化を実行する請求項31から48のいずれか1項に記載のシステム。   49. A system according to any one of claims 31 to 48, wherein the intercept system performs data versioning. 前記インターセプタは、前記データストレージシステムのキャッシングをシングルレベルまたはマルチレベルの一方で実行する請求項33または34に記載のシステム。   35. A system according to claim 33 or 34, wherein the interceptor performs caching of the data storage system in either a single level or a multi-level. 前記相補的ストレージ資源は、データをキャッシュするべく通常使用されるオペレーティングシステムメモリキャッシュである請求項42に記載のシステム。   43. The system of claim 42, wherein the complementary storage resource is an operating system memory cache typically used to cache data. 前記インターセプタは、頻繁に使用されないデータを遠隔のデータストレージシステムにプッシュし、頻繁に使用されるデータを近傍のストレージ資源もしくはデータストレージシステムにプルすることにより、局所性最適化を実行する請求項33または34に記載のシステム。   34. The interceptor performs locality optimization by pushing infrequently used data to a remote data storage system and pulling frequently used data to a nearby storage resource or data storage system. Or the system according to 34. 前記遠隔のデータストレージシステムは、物理的に遠隔であるか、またはアクセスするのに時間がかかるか、のいずれかのデータストレージシステムを含む請求項52に記載のシステム。   53. The system of claim 52, wherein the remote data storage system comprises a data storage system that is either physically remote or takes time to access. 前記インターセプタは、現在のデータストレージシステムでは有効でないファイル名を、その他のデータストレージシステム上のデータを参照することにより、有効であるように見せるネームベースの仮想化を実行する請求項33または34に記載のシステム。   35. The interceptor performs name-based virtualization that makes file names that are not valid in current data storage systems appear valid by referring to data on other data storage systems. The described system. 前記インターセプタは、データバックアップおよびデータ複製の一方を実行する請求項33または34に記載のシステム。   35. A system according to claim 33 or 34, wherein the interceptor performs one of data backup and data replication. 前記インターセプタは、データを同じ名前で異なるデータストレージシステムに物理的に配置できるようにすることを含むデータ仮想化を実行する請求項33または34に記載のシステム。   35. A system according to claim 33 or 34, wherein the interceptor performs data virtualization comprising allowing data to be physically located in different data storage systems with the same name. 前記インターセプトシステムは、性能特性の向上、重複排除、データポリモーフィズム、独立アクセス制御メカニズム、バージョン化、キャッシング、ローカリティ、複製、およびデータ仮想化からなる群から選択される一つ以上を実行する請求項31から56のいずれか1項に記載のシステム。   32. The intercept system performs one or more selected from the group consisting of performance characteristics enhancement, deduplication, data polymorphism, independent access control mechanism, versioning, caching, locality, replication, and data virtualization. 57. The system according to any one of to 56. 前記データ編成手段は、ファイルシステム、キー値ストア、およびデータベースからなる群から選択される請求項31から57のいずれか1項に記載のシステム。   58. The system according to any one of claims 31 to 57, wherein the data organization means is selected from the group consisting of a file system, a key value store, and a database. 前記相補的ストレージ資源は、スパースファイルである請求項42に記載のシステム。   43. The system of claim 42, wherein the complementary storage resource is a sparse file.
JP2013525098A 2010-08-25 2011-08-24 Method and system for extending data storage system functionality Pending JP2013536514A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37690510P 2010-08-25 2010-08-25
US61/376,905 2010-08-25
PCT/CA2011/050514 WO2012024800A1 (en) 2010-08-25 2011-08-24 Method and system for extending data storage system functions

Publications (1)

Publication Number Publication Date
JP2013536514A true JP2013536514A (en) 2013-09-19

Family

ID=45722795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013525098A Pending JP2013536514A (en) 2010-08-25 2011-08-24 Method and system for extending data storage system functionality

Country Status (6)

Country Link
EP (1) EP2609528A4 (en)
JP (1) JP2013536514A (en)
KR (1) KR101510025B1 (en)
CN (1) CN103201736A (en)
AU (1) AU2011293014B2 (en)
WO (1) WO2012024800A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424267B2 (en) * 2013-01-02 2016-08-23 Oracle International Corporation Compression and deduplication layered driver
CN104077374B (en) 2014-06-24 2018-09-11 华为技术有限公司 A kind of method and device for realizing the storage of IP disk files
US10802928B2 (en) 2015-09-10 2020-10-13 International Business Machines Corporation Backup and restoration of file system
US11287973B2 (en) 2016-02-02 2022-03-29 Samsung Electronics Co., Ltd. Polymorphic storage devices
US10423331B2 (en) * 2016-02-02 2019-09-24 Samsung Electronics Co., Ltd. Polymorphic storage devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247155A (en) * 1997-01-31 1998-09-14 Informix Software Inc File system interface for data base

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
CA2646776C (en) * 1999-08-05 2014-07-08 Oracle International Corporation Internet file system
US7165057B2 (en) * 2001-11-29 2007-01-16 Veritas Operating Corporation Methods and systems to access storage objects
AU2003226220A1 (en) * 2002-04-03 2003-10-20 Powerquest Corporation Using disassociated images for computer and storage resource management
US20050138306A1 (en) * 2003-12-19 2005-06-23 Panchbudhe Ankur P. Performance of operations on selected data in a storage area
US9390102B2 (en) * 2008-09-29 2016-07-12 Oracle International Corporation Client application program interface for network-attached storage system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247155A (en) * 1997-01-31 1998-09-14 Informix Software Inc File system interface for data base

Also Published As

Publication number Publication date
EP2609528A1 (en) 2013-07-03
EP2609528A4 (en) 2017-07-19
KR20130046441A (en) 2013-05-07
CN103201736A (en) 2013-07-10
KR101510025B1 (en) 2015-04-08
AU2011293014A1 (en) 2013-03-21
WO2012024800A1 (en) 2012-03-01
AU2011293014B2 (en) 2014-08-14

Similar Documents

Publication Publication Date Title
JP6777673B2 (en) In-place snapshot
US11797498B2 (en) Systems and methods of database tenant migration
US10437721B2 (en) Efficient garbage collection for a log-structured data store
US10534768B2 (en) Optimized log storage for asynchronous log updates
JP6199394B2 (en) Software-defined network attachable storage system and method
CA2906522C (en) Log record management
US20100088349A1 (en) Virtual file system stack for data deduplication
US10725666B2 (en) Memory-based on-demand data page generation
US20110161297A1 (en) Cloud synthetic backups
JP5620581B2 (en) Method and system for cache tiering
US11080253B1 (en) Dynamic splitting of contentious index data pages
US10909091B1 (en) On-demand data schema modifications
JP2013536514A (en) Method and system for extending data storage system functionality
US11442894B2 (en) Methods for scalable file backup catalogs and devices thereof
US10936540B2 (en) Methods for accelerating storage media access and devices thereof
Bacik et al. Red Hat Enterprise Linux 6 Storage Administration Guide

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20140702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140901

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140909

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20141107