Content repository implemented in a network storage server system
First Claim
1. A network storage system comprising:
- a distributed object store to store a set of data objects, the distributed object store implemented in one or more network nodes and configured to provide location-independent addressing of data objects;
a presentation module configured to generate a presentation layer functionally over the distributed object store and configured to provide a NAS interface and a Web Service interface, to allow access to data objects stored in the distributed object store;
a metadata subsystem configured to store metadata relating to data objects stored in the distributed object store, including user-defined tags, and to allow data objects to be identified and retrieved by searching the metadata including the user-defined tags in response to user-specified search queries;
a policy-based content management subsystem configured to manage data objects stored in the distributed object store according to user-specified policies, based on stored metadata associated with the data objects; and
an object location subsystem configured to locate data objects stored in the network storage system in response to requests from storage clients, by using a mapping structure that represents mappings between location-independent object identifiers of the data objects and corresponding location identifiers of the plurality of data objects.
1 Assignment
0 Petitions
Accused Products
Abstract
A network storage server system includes a distributed object store, a presentation layer, a metadata subsystem, and a content management subsystem. The object store has no namespace and provides location-independent addressing of data objects. The presentation layer provides multiple interfaces for accessing data stored in the object store, including a NAS interface and a Web Service interface, and provides at least one namespace for accessing data via the NAS interface or the Web Service interface. The Web Service interface allows access to stored data via the namespace or without using the namespace (“raw object” access). The metadata subsystem stores user-specified and/or system-generated metadata relating to data objects and allows data objects to be identified and retrieved by searching on the metadata. The content management subsystem autonomously manages lifecycles of data objects according to user-specified policies, based on metadata associated with the data objects and tracked by the metadata subsystem.
-
Citations
33 Claims
-
1. A network storage system comprising:
-
a distributed object store to store a set of data objects, the distributed object store implemented in one or more network nodes and configured to provide location-independent addressing of data objects; a presentation module configured to generate a presentation layer functionally over the distributed object store and configured to provide a NAS interface and a Web Service interface, to allow access to data objects stored in the distributed object store; a metadata subsystem configured to store metadata relating to data objects stored in the distributed object store, including user-defined tags, and to allow data objects to be identified and retrieved by searching the metadata including the user-defined tags in response to user-specified search queries; a policy-based content management subsystem configured to manage data objects stored in the distributed object store according to user-specified policies, based on stored metadata associated with the data objects; and an object location subsystem configured to locate data objects stored in the network storage system in response to requests from storage clients, by using a mapping structure that represents mappings between location-independent object identifiers of the data objects and corresponding location identifiers of the plurality of data objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A storage server node configured for use in a storage server cluster that includes a plurality of storage server nodes, the storage server node comprising:
-
a D-module configured to provide backend storage and retrieval of data objects in a nonvolatile mass storage facility, the D-module configured to implement a portion of a distributed object store that is distributed across a plurality of interconnected storage server nodes, wherein the distributed object store includes a plurality of single-node object stores, and wherein the distributed object store provides location-independent addressing of data objects; an N-module operatively coupled to the D-module and configured to provide network communication services to communicate with a storage client over a network, the N-module configured to communicate with a D-module in each of the plurality of storage server nodes in the cluster, the N-module configured to provide a presentation layer that operates logically over the distributed object store and which presents a plurality of separate interfaces for accessing a set of stored data objects; an M-host module operatively coupled to the N-module and including a metadata subsystem which stores metadata relating to data objects, the metadata including user-defined tags, and which allows data objects to be identified and retrieved by searching the metadata including the user-defined tags in response to user-specified search queries, the host module further including a policy-based content management subsystem which autonomously manages data objects stored in the distributed object store, according to user-specified policies and based on metadata associated with the data objects; and an object location subsystem configured to locate data objects stored in the network storage system in response to requests from storage clients, by using a mapping structure that represents mappings between location-independent object identifiers of the data objects and corresponding location identifiers of the plurality of data objects. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A network storage server system comprising:
-
a processor; a network interface through which to communicate with a plurality of storage clients over a network; a storage interface through which to communicate with a nonvolatile mass storage subsystem; and a memory storing code which, when executed by the processor, causes the processor to perform a plurality of operations, including implementing at least a portion of a distributed object store to store data objects, the object store distributed across one or more storage server nodes and including a plurality of single-node object stores, including providing location-independent addressing of data objects in the distributed object store such that objects can be moved among storage locations without a change in their addressing, wherein the distributed object store has no namespace; providing a presentation layer functionally layered over the distributed object store, the presentation layer accessible by users via each of a plurality of different interfaces, including a NAS interface and a Web Service interface; storing metadata including user-defined tags relating to data objects in the distributed object store and allowing data objects to be identified and retrieved by searching on the metadata including the user-defined tags in response to user-specified search queries; managing data objects stored in the distributed object store according to user-specified policies, based on metadata associated with the data objects; and providing an object location service to locate data objects stored in the network storage system in response to requests from storage clients, by using a mapping structure that represents mappings between location-independent object identifiers of the data objects and corresponding location identifiers of the plurality of data objects. - View Dependent Claims (23, 24, 25, 26, 27)
-
-
28. A method of operating a network storage system, the method comprising:
-
implementing at least a portion of an object store to store data objects in the network storage system, the object store distributed across a plurality of interconnected storage server nodes, including providing location-independent addressing of data objects in the object store such that objects can be moved among storage locations without a change in their addressing; providing a presentation layer functionally over the object store, the presentation layer accessible by users via each of a plurality of different interfaces, including a NAS interface and a Web Service interface; storing metadata including user-defined tags relating to data objects in the object store and allowing data objects to be identified and retrieved by searching on the metadata including the user-defined tags in response to user-specified search queries; managing lifecycles of data objects stored in the object store according to user-specified policies, based on the metadata; and providing an object location service to locate data objects stored in the network storage system in response to requests from storage clients, by using a mapping structure that represents mappings between location-independent object identifiers of the data objects and corresponding location identifiers of the plurality of data objects. - View Dependent Claims (29, 30, 31, 32, 33)
-
Specification