Process for performing logical combinations
First Claim
1. A method for performing a logical OR operation, comprising:
- building first and second result sets, further comprising;
identifying data records including first and second attributes from amongst first and second attribute sets stored in first and second tree structures, respectively,assigning guide elements of the first result set to identified data records, andassigning guide elements of the second result set to identified data records,wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer, andwherein the first result set includes fewer guide elements than the second result set;
selecting the first result set;
iteratively checking whether each of the guide elements of the first result set also exists in the second result set;
renaming at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set does not exist in the second result set;
deleting the at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set exists in the second result set;
linking the renamed at least one of the guide elements of the first result set with the guide elements of the second result set, as the final result set; and
outputting the final result set.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described for performing logical operations, where the techniques generally involve the use of dynamic flags used as markers to build a result set in response to a search query. The dynamic flags within a result set may be guide elements linked to one another, and to their respective data records and attributes, via pointers. In this case, the groups of guide elements forming result sets may each also be linked to one another via pointers, and may each be associated with a counter for counting a number of guide elements within a corresponding result set. The dynamic flags also may be individual bits within a bitmap, where the bitmap is linked to a particular result set identifier via a pointer, and the individual bitmaps are linked to their corresponding data record(s) via a relative addressing scheme. In this case, a counter also may be used to determine a number of hits within a result set (bitmap), before, during, and after a particular logical operation.
27 Citations
16 Claims
-
1. A method for performing a logical OR operation, comprising:
-
building first and second result sets, further comprising; identifying data records including first and second attributes from amongst first and second attribute sets stored in first and second tree structures, respectively, assigning guide elements of the first result set to identified data records, and assigning guide elements of the second result set to identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer, and wherein the first result set includes fewer guide elements than the second result set; selecting the first result set; iteratively checking whether each of the guide elements of the first result set also exists in the second result set; renaming at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set does not exist in the second result set; deleting the at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set exists in the second result set; linking the renamed at least one of the guide elements of the first result set with the guide elements of the second result set, as the final result set; and outputting the final result set. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method for performing a logical AND operation, comprising:
-
building a result set, further comprising; identifying data records including a first attribute from amongst a first attribute set stored in a first tree structure, and assigning guide elements of the result set to the identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer; iteratively selecting each of the guide elements; checking the record associated with each of the guide elements based upon a second attribute; deleting at least one of the guide elements if the second attribute is not met by the at least one of the guide elements; linking a predecessor of a deleted at least one of the guide elements with a successor of the deleted at least one of the guide elements; and outputting the result set as the final result set. - View Dependent Claims (8)
-
-
9. A method for performing a logical AND operation, comprising:
-
building first and second result sets, further comprising; identifying data records including first and second attributes from amongst first and second attribute sets stored in first and second tree structures, respectively, assigning guide elements of the first result set to identified data records, and assigning guide elements of the second result set to identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer, and wherein the first result set includes fewer guide elements than the second result set; selecting the first result set; iteratively checking whether each of the guide elements of the first result set also exists in the second result set; deleting the at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set does not exist in the second result set; linking a predecessor of a deleted at least one of the guide elements with a successor of the deleted at least one of the guide elements; and outputting the first result set as the final result set. - View Dependent Claims (10)
-
-
11. A method for performing a logical NOT operation, comprising:
-
building a result set, further comprising; identifying data records including a first attribute from amongst a first attribute set stored in a first tree structure, and assigning guide elements of the result set to the identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer; iteratively checking each of the data records for a guide element of the first result set associated with the each of the data records; instantiating a guide element in a second result set associated with each of the data records not associated with a guide element of the first result set; linking guide elements of the second result set; deleting the first result set; and outputting the second result set as the final result set. - View Dependent Claims (12)
-
-
13. A computer program product, tangibly stored on a computer-readable medium, for performing a logical OR operation, the product comprising instructions operable to cause a programmable processor to:
-
build first and second result sets, wherein building a result set further comprises; identifying data records including first and second attributes from amongst first and second attribute sets stored in first and second tree structures, respectively, assigning guide elements of the first result set to identified data records, and assigning guide elements of the second result set to identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer, and wherein the first result set includes fewer guide elements than the second result set; select the first result set; iteratively check whether each of the guide elements of the first result set also exists in the second result set; rename at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set does not exist in the second result set; delete the at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set exists in the second result set; link the renamed at least one of the guide elements of the first result set with the guide elements of the second result set, as the final result set; and output the final result set.
-
-
14. A computer program product, tangibly stored on a computer-readable medium, for performing a logical AND operation, the product comprising instructions operable to cause a programmable processor to:
-
build a result set, wherein building a result set further comprises; identifying data records including a first attribute from amongst a first attribute set stored in a first tree structure, and assigning guide elements of the result set to the identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer; iteratively select each of the guide elements; check the record associated with each of the guide elements based upon a second attribute; delete at least one of the guide elements if the second attribute is not met by the at least one of the guide elements; link a predecessor of a deleted at least one of the guide elements with a successor of the deleted at least one of the guide elements; and output the result set as the final result set.
-
-
15. A computer program product, tangibly stored on a computer-readable medium, for performing a logical AND operation, the product comprising instructions operable to cause a programmable processor to:
-
build first and second result sets, wherein building a result set further comprises; identifying data records including first and second attributes from amongst first and second attribute sets stored in first and second tree structures, respectively, assigning guide elements of the first result set to identified data records, and assigning guide elements of the second result set to identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer, and wherein the first result set includes fewer guide elements than the second result set; select the first result set; iteratively check whether each of the guide elements of the first result set also exists in the second result set; delete the at least one of the guide elements of the first result set if the at least one of the guide elements of the first result set does not exist in the second result set; link a predecessor of a deleted at least one of the guide elements with a successor of the deleted at least one of the guide elements; and output the first result set as the final result set.
-
-
16. A computer program product, tangibly stored on a computer-readable medium, for performing a logical NOT operation, the product comprising instructions operable to cause a programmable processor to:
-
build a result set, wherein building a result set further comprises; identifying data records including a first attribute from amongst a first attribute set stored in a first tree structure, and assigning guide elements of the result set to the identified data records, wherein the guide elements are each an instantiation of an object class in an object-oriented programming language, and linked to a data record via a pointer; iteratively check each of the data records for a guide element of the first result set associated with the each of the data records; instantiate a guide element in a second result set associated with each of the data records not associated with a guide element of the first result set; link guide elements of the second result set; delete the first result set; and output the second result set as the final result set.
-
Specification