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, wherein a first data object of the plurality of data objects is accessed using a first global object identification (ID) that uniquely identifies the first data object in the distributed object store and a first location ID associated with the first global object ID that identifies a storage location of the first data object in the distributed object store; 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, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, and further operating the metadata subsystem to search the metadata of the plurality of types to identify a set of the data objects that satisfy a user-specified search query, the operating the metadata subsystem to identify the set of the data objects including;
retrieving a first metadata from the search query,retrieving a metadata subsystem-specific object ID of a target data object of the set of the data objects from a first mapping based on a value of the first metadata, the first mapping containing a mapping of a plurality of metadata subsystem-specific object IDs and values of metadata of the set of the data objects,retrieving, based on the metadata subsystem-specific object ID and from a second mapping, a second global object ID of the target data object, the second mapping containing a mapping of the plurality of metadata subsystem-specific object IDs and a plurality of global object IDs of the set of the data objects, andobtaining the target data object from the distributed object store using the second global object ID and an associated second location ID.
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.
274 Citations
32 Claims
-
1. A method, comprising:
-
maintaining a distributed object store to store a plurality of data objects in a network storage system, wherein a first data object of the plurality of data objects is accessed using a first global object identification (ID) that uniquely identifies the first data object in the distributed object store and a first location ID associated with the first global object ID that identifies a storage location of the first data object in the distributed object store; 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, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, and further operating the metadata subsystem to search the metadata of the plurality of types to identify a set of the data objects that satisfy a user-specified search query, the operating the metadata subsystem to identify the set of the data objects including; retrieving a first metadata from the search query, retrieving a metadata subsystem-specific object ID of a target data object of the set of the data objects from a first mapping based on a value of the first metadata, the first mapping containing a mapping of a plurality of metadata subsystem-specific object IDs and values of metadata of the set of the data objects, retrieving, based on the metadata subsystem-specific object ID and from a second mapping, a second global object ID of the target data object, the second mapping containing a mapping of the plurality of metadata subsystem-specific object IDs and a plurality of global object IDs of the set of the data objects, and obtaining the target data object from the distributed object store using the second global object ID and an associated second location ID. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. 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, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, the metadata subsystem further being capable of searching the metadata of the plurality of types to identify a set of the data objects that satisfy a user-specified search query, the searching to identify the set of the data objects including; retrieving a first metadata from the search query, retrieving a metadata subsystem-specific object ID of a target data object of the set of the data objects from a first mapping based on a value of the first metadata, the first mapping containing a mapping of a plurality of metadata subsystem-specific object IDs and values of metadata of the set of the data objects, retrieving, based on the metadata subsystem-specific object ID and from a second mapping, a global object ID of the target data object, the second mapping containing a mapping of the plurality of metadata subsystem-specific object IDs and a plurality of global object IDs of the set of the data objects, and obtaining the target data object from the distributed object store using the global object ID and an associated location ID. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. 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, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata, the metadata subsystem being configured to search metadata of the plurality of types to identify a set of the data objects that satisfy a user-specified search query, the metadata subsystem configured to perform the search to identify the set of the data objects including; retrieving a first metadata from the search query, retrieving a metadata subsystem-specific object ID of a target data object of the set of the data objects from a first mapping based on a value of the first metadata, the first mapping containing a mapping of a plurality of metadata subsystem-specific object IDs and values of metadata of the set of the data objects, retrieving, based on the metadata subsystem-specific object ID and from a second mapping, a global object ID of the target data object, the second mapping containing a mapping of the plurality of metadata subsystem-specific object IDs and a plurality of global object IDs of the set of the data objects, and obtaining the target data object from the distributed object store using the global object ID and an associated location ID. - View Dependent Claims (29, 30, 31)
-
-
32. 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, the plurality of types of metadata including system defined metadata, inferred metadata and user-defined metadata; and means for identifying a set of the data objects that satisfy a user-specified search query by searching the metadata of the plurality of types, the identifying the set of the data objects including; retrieving a first metadata from the search query, retrieving a metadata subsystem-specific object ID of a target data object of the set of the data objects from a first mapping based on a value of the first metadata, the first mapping containing a mapping of a plurality of metadata subsystem-specific object IDs and values of metadata of the set of the data objects, retrieving, based on the metadata subsystem-specific object ID and from a second mapping, a global object ID of the target data object, the second mapping containing a mapping of the plurality of metadata subsystem-specific object IDs and a plurality of global object IDs of the set of the data objects, and obtaining the target data object from the distributed object store using the global object ID and an associated location ID.
-
Specification