Metadata subsystem for a distributed object store in a network storage system
First Claim
Patent Images
1. A method comprising:
- maintaining a distributed object store to store a plurality of data objects in a network storage system; and
operating a metadata subsystem in the network storage system to store and retrieve metadata of a plurality of types, relating to the plurality of data objects, including storing the metadata in locations that are independent of locations where corresponding data objects of the plurality of data objects are stored, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, wherein the inferred metadata includes latent metadata and discovered metadata, wherein latent metadata includes data gathered by an application from data associated with the plurality of data objects, the gathered data being subsequently stored as metadata relating to the plurality of data objects, wherein discovered metadata includes relational information derived by the application from the data associated with the plurality of data objects, the relational information describing a relationship between two or more data objects of the plurality of data objects, andfurther operating the metadata subsystem to search the metadata of the plurality of types to identify data objects that satisfy user-specified search queries, wherein operating the metadata subsystem comprises implementing a plurality of mutually isolated query domains, wherein said metadata includes a plurality of metadata attribute-value pairs, wherein each of the metadata attribute-value pairs is assigned to one of the plurality of query domains, wherein each query domain of the plurality of mutually isolated query domains is a logical construct used to isolate the metadata attribute-value pairs assigned to the particular query domain from the metadata attribute-value pairs assigned to the other query domains of the plurality of query domains, and wherein each operation performed by the metadata subsystem is performed within the context of at least one of the plurality of query domains.
1 Assignment
0 Petitions
Accused Products
Abstract
A network storage server system includes a distributed object store and a metadata subsystem. The metadata subsystem stores metadata relating to the stored data objects and allows data objects to be located and retrieved easily via user-specified search queries. It manages and allows searches on at least three categories of metadata via the same user interface and technique. These categories include user-specified metadata, inferred metadata and system-defined metadata. Search queries for the metadata can include multi-predicate queries.
-
Citations
26 Claims
-
1. A method comprising:
-
maintaining a distributed object store to store a plurality of data objects in a network storage system; and operating a metadata subsystem in the network storage system to store and retrieve metadata of a plurality of types, relating to the plurality of data objects, including storing the metadata in locations that are independent of locations where corresponding data objects of the plurality of data objects are stored, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, wherein the inferred metadata includes latent metadata and discovered metadata, wherein latent metadata includes data gathered by an application from data associated with the plurality of data objects, the gathered data being subsequently stored as metadata relating to the plurality of data objects, wherein discovered metadata includes relational information derived by the application from the data associated with the plurality of data objects, the relational information describing a relationship between two or more data objects of the plurality of data objects, and further operating the metadata subsystem to search the metadata of the plurality of types to identify data objects that satisfy user-specified search queries, wherein operating the metadata subsystem comprises implementing a plurality of mutually isolated query domains, wherein said metadata includes a plurality of metadata attribute-value pairs, wherein each of the metadata attribute-value pairs is assigned to one of the plurality of query domains, wherein each query domain of the plurality of mutually isolated query domains is a logical construct used to isolate the metadata attribute-value pairs assigned to the particular query domain from the metadata attribute-value pairs assigned to the other query domains of the plurality of query domains, and wherein each operation performed by the metadata subsystem is performed within the context of at least one of the plurality of query domains. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A network storage server node comprising:
-
a network module using which the node can communicate with a network storage client; a data module using which the node can manage a persistent storage subsystem; and a management host configured to provide management services of the network storage server node and to interface with an external administrative user, the management host including a metadata subsystem to store and retrieve metadata of a plurality of types, relating to a plurality of data objects stored in a distributed object store implemented at least partially in the persistent storage subsystem, wherein the metadata subsystem is configured to store the metadata in locations that are independent of locations where corresponding data objects of the plurality of data objects are stored, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, wherein the inferred metadata includes latent metadata and discovered metadata, wherein latent metadata includes data gathered by an application from the data associated with the plurality of data objects, the gathered data subsequently being stored as metadata relating to the plurality of data objects, wherein discovered metadata includes relational information derived by the application from the data associated with the plurality of data objects, the relational information describing a relationship between two or more data objects of the plurality of data objects, the metadata subsystem further being capable of searching the metadata of the plurality of types to identify data objects that satisfy user-specified search queries, wherein the metadata subsystem is configured to implement a plurality of mutually isolated query domains, wherein said metadata includes a plurality of metadata attribute-value pairs, wherein each of the metadata attribute-value pairs is assigned to one of the plurality of query domains, wherein each query domain of the plurality of mutually isolated query domains is a logical construct used to isolate the metadata attribute-value pairs assigned to the particular query domain from the metadata attribute-value pairs assigned to the other query domains of the plurality of query domains, and wherein each operation performed by the metadata subsystem is performed within the context of at least one of the plurality of query domains. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A network storage server node comprising:
-
a network adapter through which to receive a data access request from a storage client via a network; a storage adapter through which to access a persistent storage subsystem; a memory; and a processor coupled to the memory and implementing a metadata subsystem, to store and retrieve metadata of a plurality of types, relating to a plurality of data objects stored in a distributed object store implemented at least partially in said persistent storage subsystem, including storing the metadata in locations that are independent of locations where corresponding data objects of the plurality of data objects are stored, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, wherein the inferred metadata includes latent metadata and discovered metadata, wherein latent metadata includes data gathered by an application from the data associated with the plurality of data objects, the gathered data subsequently being stored as metadata relating to the plurality of data objects, wherein discovered metadata includes relational information derived by the application from the data associated with the plurality of data objects, the relational information describing a relationship between two or more data objects of the plurality of data objects, the metadata subsystem being configured to search metadata of the plurality of types to identify data objects that satisfy user-specified search queries, wherein the metadata subsystem is configured to implement a plurality of mutually isolated query domains, wherein said metadata includes a plurality of metadata attribute-value pairs, wherein each of the metadata attribute-value pairs is assigned to one of the plurality of query domains, wherein each query domain of the plurality of mutually isolated query domains is a logical construct used to isolate the metadata attribute-value pairs assigned to the particular query domain from the metadata attribute-value pairs assigned to the other query domains of the plurality of query domains, and wherein each operation performed by the metadata subsystem is performed within the context of at least one of the plurality of query domains. - View Dependent Claims (25)
-
-
26. A network storage system comprising:
-
a distributed object store to store a plurality of data objects, the distributed object store implemented in a plurality of storage nodes of a network storage system; means for storing and retrieving metadata of a plurality of types, relating to the data objects, including storing the metadata in locations that are independent of locations where corresponding data objects of the plurality of data objects are stored, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, wherein the inferred metadata includes latent metadata and discovered metadata, wherein latent metadata includes data gathered by an application from the data associated with the plurality of data objects, the gathered data subsequently being stored as metadata relating to the plurality of data objects, wherein discovered metadata includes relational information derived by the application from the data associated with the plurality of data objects, the relational information describing a relationship between two or more data objects of the plurality of data objects; and means for identifying data objects that satisfy user-specified search queries by searching the metadata of the plurality of types, wherein the means for identifying data objects is configured to implement a plurality of mutually isolated query domains, wherein said metadata includes a plurality of metadata attribute-value pairs, wherein each of the metadata attribute-value pairs is assigned to one of the plurality of query domains, wherein each query domain of the plurality of mutually isolated query domains is a logical construct used to isolate the metadata attribute-value pairs assigned to the particular query domain from the metadata attribute-value pairs assigned to the other query domains of the plurality of query domains, and wherein each operation performed by the means for identifying data objects is performed within the context of at least one of the plurality of query domains.
-
Specification