Method of creating hierarchical indices for a distributed object system
First Claim
1. A method of searching a data management system for a data object, the method comprising:
- receiving a search request for a data object in a data management system, the data object comprising a lookup value, the data management system comprising a plurality of data management servers organized into a plurality of physically-dispersed regions and at least one computer hardware processor associated with at least one data storage device, the at least one data storage device organized into an object oriented data store and an index tree, each physically-dispersed region comprising at least one cluster, the at least one cluster comprising at least one node and a shared storage, the at least one node continuously receiving at least one data stream, the at least one data stream being stored in the object oriented data store, the index tree comprising a root, at least one level of joins, and a plurality of leaves, each leaf associated with a sorted structure, each sorted structure associated with a key, the key being a sorted structure membership key, a cluster membership key, a region membership key or a universe membership key;
performing a universe membership test against the universe membership key using the lookup value to determine whether the data management system stores the data object;
for the physically-dispersed regions of the data management system storing the data object, iteratively performing a region membership test against the region membership key using the lookup value to determine the physically-dispersed region storing the data object;
for the clusters in the physically-dispersed region storing the data object, iteratively performing a cluster membership test against the cluster membership key using the lookup value to determine the cluster storing the data object;
for the sorted structures in the cluster storing the data object, iteratively performing a sorted structure membership test against the sorted structure membership key using the lookup value to determine the sorted structure storing the data object; and
iteratively searching entries in the sorted structure storing the data object for the lookup value to locate and return the data object.
24 Assignments
0 Petitions
Accused Products
Abstract
A data management system or “DMS” provides data services to data sources associated with a set of application host servers. The DMS typically comprises one or more regions, with each region having one or more clusters. A given cluster has one or more nodes that share storage. When providing continuous data protection and data distribution, the DMS nodes create distributed active object storage to provide the necessary real-time data management services. The distributed object store can be built above raw storage devices, a traditional file system, a special purpose file system, a clustered file system, and a database. The DMS active object store provides an indexing service to the active objects. In an illustrative embodiment, any object property that has a given attribute is indexed and, as a result, the attribute becomes searchable. The DMS provides hierarchical distributed indexing using index trees to facilitate searching.
274 Citations
18 Claims
-
1. A method of searching a data management system for a data object, the method comprising:
-
receiving a search request for a data object in a data management system, the data object comprising a lookup value, the data management system comprising a plurality of data management servers organized into a plurality of physically-dispersed regions and at least one computer hardware processor associated with at least one data storage device, the at least one data storage device organized into an object oriented data store and an index tree, each physically-dispersed region comprising at least one cluster, the at least one cluster comprising at least one node and a shared storage, the at least one node continuously receiving at least one data stream, the at least one data stream being stored in the object oriented data store, the index tree comprising a root, at least one level of joins, and a plurality of leaves, each leaf associated with a sorted structure, each sorted structure associated with a key, the key being a sorted structure membership key, a cluster membership key, a region membership key or a universe membership key; performing a universe membership test against the universe membership key using the lookup value to determine whether the data management system stores the data object; for the physically-dispersed regions of the data management system storing the data object, iteratively performing a region membership test against the region membership key using the lookup value to determine the physically-dispersed region storing the data object; for the clusters in the physically-dispersed region storing the data object, iteratively performing a cluster membership test against the cluster membership key using the lookup value to determine the cluster storing the data object; for the sorted structures in the cluster storing the data object, iteratively performing a sorted structure membership test against the sorted structure membership key using the lookup value to determine the sorted structure storing the data object; and iteratively searching entries in the sorted structure storing the data object for the lookup value to locate and return the data object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data searching system comprising
a data management system comprising a network connecting a plurality of application servers to a plurality of data management servers, the plurality of data management servers organized into a plurality of physically-dispersed regions and comprising one or more computer hardware processors associated with at least one data storage device, the at least one data storage device organized into an object oriented data store and an index tree, each physically-dispersed region comprising at least one cluster, the at least one cluster comprising at least one node and a shared storage, the at least one node continuously receiving at least one data stream, the at least one data stream being stored in the object oriented data store, the index tree comprising a root, at least one level of joins, and a plurality of leaves, each leaf associated with a sorted structure, each sorted structure associated with a key, the key being a sorted structure membership key, a cluster membership key, a region membership key or a universe membership key; - and
computer-readable storage comprising computer-readable instructions that, when executed by the one or more computer hardware processors cause the data management servers to perform operations defined by the computer-executable instructions, the computer-readable instructions comprising; receiving a search request for a data object in the data management system, the data object comprising a lookup value; performing a universe membership test against the universe membership key using the lookup value to determine whether the data management system stores the data object; for the physically-dispersed regions of the data management system storing the data object, iteratively performing a region membership test against the region membership key using the lookup value to determine the physically-dispersed region storing the data object; for the clusters in the physically-dispersed region storing the data object, iteratively performing a cluster membership test against the cluster membership key using the lookup value to determine the cluster storing the data object; for the sorted structures in the cluster storing the data object, iteratively performing a sorted structure membership test against the sorted structure membership key using the lookup value to determine the sorted structure storing the data object; and iteratively searching entries in the sorted structure storing the data object for the lookup value to locate and return the data object. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
- and
Specification