Method for merging multiple ranked lists with bounded memory
First Claim
1. A method for conducting an attribute-based query over objects, the method comprising:
- identifying a plurality of objects, each object having one or more associated attributes;
creating a data group for each attribute, each data group comprising a list of objects;
sorting the objects in each data group into a plurality of blocks, each block within a given data group comprising objects having a same value for that attribute; and
using the blocks to generate results to an attribute-based query over the plurality of objects.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for conducting attribute-based queries over a plurality of objects using bounded memory locations and minimizing costly input and output operations are provided. A plurality of attributes are associated with each object, and a plurality of data groups, one each for the identified attributes are created. The objects associated with the attributes are placed into the appropriate data groups, and the objects contained within each data group are sorted into blocks such that each block within a given attribute contains that objects having the same attribute value. Results to the query are created by loading blocks into a primary memory location in a middleware system and combining the loaded blocks to create the desire query results. Block combinations are created based upon the fit of the given block combination to the query as expressed in an aggregation function. A second dedicated memory location can also be provided to hold multiple block combinations to optimize the order in which blocks are loaded and combined. Empty block buffers and external storage devices can also be provided to further enhance the generation of query results.
37 Citations
20 Claims
-
1. A method for conducting an attribute-based query over objects, the method comprising:
-
identifying a plurality of objects, each object having one or more associated attributes;
creating a data group for each attribute, each data group comprising a list of objects;
sorting the objects in each data group into a plurality of blocks, each block within a given data group comprising objects having a same value for that attribute; and
using the blocks to generate results to an attribute-based query over the plurality of objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer readable medium containing a computer executable code that when read by a computer causes the computer to perform a method for conducting an attribute-based query over objects, the method comprising:
-
identifying a plurality of objects, each object having one or more associated attributes;
creating a data group for each attribute, each data group comprising a list of objects;
sorting the objects in each data group into a plurality of blocks, each block within a given data group comprising objects having a same value for that attribute; and
using the blocks to generate results to an attribute-based query over the plurality of objects. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification