Searchable data in an object storage system
AssigneeDataDirect Networks, Inc.
InventorsDan Olster, Adam M. Fried-Gintis, Donald J. Molaro
Life of this patent
Estimating the term…
Abstract
A searchable data storage system is described herein. The storage system includes zones that are independent, and autonomous from each other. The zones include nodes that are independent and autonomous. The nodes include storage devices. When a data item is stored, a local database is updated with information about the newly stored data item. When a search for a data item meeting certain metadata criteria is received, multiple concurrent searches are conducted across all storage devices in all nodes in all zones of the storage system. The configuration of the data storage system allows a parallel concurrent search at constituent storage devices to be performed quickly.
Claims23
A data storage system comprising:
- a plurality of storage zones, each storage zone comprising a plurality of nodes wherein each node comprises a plurality of storage devices and a controller, the controller including a processor and memory
- a first node of a plurality of nodes included in a first zone of the plurality of storage zones, the first node having instructions which when executed cause a first processor included in a first controller in the first node to perform actions including:
- receiving a storage request from a client of the data storage system to store a data item;
- storing the data item as at least one data object on a first storage device included in the first node, each data object including a policy identifier and a data portion, the storing including creating an object identifier for the data object;
- creating an entry in a local object database included on the first storage device on which the data object is stored, the entry including the object identifier and object specific information;
- storing the local object database as a database object on the storage device on which the data object is stored;
- receiving a search request including a field, a value and an operator;
- applying the search request to constituent storage devices;
- compiling a matching list of objects conforming to the search request based on the applying;
- providing the matching list to a server.
A data storage system comprising:
- a plurality of storage zones, each storage zone comprising a plurality of storage nodes wherein each storage node comprises a plurality of storage devices and a controller, each controller including a processor and memory, each controller having instructions which when executed cause the processor to perform actions including:
- storing a plurality of data items as at least one data object on one of the storage devices, each data object including a policy identifier and a data portion, the storing including:
- creating an object identifier for the data object,
- creating an entry in a local object database included on the storage device on which the data object is stored, the entry including the object identifier and object specific information,
- storing the local object database as a database object on the storage device on which the data object is stored;
- receiving a search request including a field, a value and an operator;
- applying the search request to constituent storage devices;
- compiling a matching list of objects conforming to the search request based on the applying;
- providing the matching list to a server.
A method for searching for data in a data storage system, the method comprising:
- receiving a search request including a field, a value and an operator;
- distributing the search request to each storage device of a plurality of storage devices in each storage node of a plurality of storage nodes within at least one storage zone, at each storage device concurrently performing the following actions:
- evaluating object groups to determine whether a group policy for the object group includes a searchability component specifying that metadata corresponding to the field is searchable,
- bypassing searching those data objects in object groups for which the searchability component fails to specify that metadata corresponding to the field is searchable,
- searching those data objects in object groups for which the searchability component specifies that metadata corresponding to the field is searchable, the searching based on the search request;
- compiling a matching list of objects conforming to the search request;
- providing the matching list to a server.
Dependencies are inferred from the claim text.