System and method for indexing queries, rules and subscriptions
First Claim
1. A method for maintaining and using a query index to support continual query monitoring, said method comprising:
- defining groups of virtual construct intervals, wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in bit map vectors;
determining predicate intervals, wherein said predicate intervals represent specified ranges of data values from continual queries; and
inserting each of said predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals such that said specified ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals.
1 Assignment
0 Petitions
Accused Products
Abstract
This invention introduces a new concept called virtual construct intervals (VCI), where each predicate interval is decomposed into one or more of these construct intervals. These VCIs strictly cover the predicate interval. Namely, every attribute value covered by the predicate interval is also covered by at least one of the decomposed VCIs, and vice versa. Each construct interval has a unique ID or interval coordinate and a set of endpoints. A construct interval is considered activated when a predicate interval using it in its decomposition is added to the system. The predicate ID is then inserted into the ID lists associated with the decomposed VCIs. To facilitate fast search, a bitmap vector is used to indicate the activation of VCIs that cover an event value. The challenge is to find an appropriate set of construct intervals to make predicate decomposition simple and, more importantly, to build efficient bitmap indexes. Because each construct interval covers only a small range of attribute values, the invention also uses bitmap clipping to cut unnecessary bitmap storage. To facilitate bitmap clipping, the invention introduce the covering segment concept. Bit positions outside a covering segment are pruned.
-
Citations
50 Claims
-
1. A method for maintaining and using a query index to support continual query monitoring, said method comprising:
-
defining groups of virtual construct intervals, wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in bit map vectors; determining predicate intervals, wherein said predicate intervals represent specified ranges of data values from continual queries; and inserting each of said predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals such that said specified ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals. - View Dependent Claims (2, 3, 4, 5, 6, 7, 44)
-
-
8. A method for maintaining and using a query index to support continual query monitoring, said method comprising:
-
defining groups of virtual construct intervals, wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in bit map vectors; determining predicate intervals, wherein said predicate intervals represent specified ranges of data values from continual queries; and inserting each of said predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals such that said specified ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals, wherein each of said groups of virtual construct intervals is adapted to hold multiple predicate intervals, wherein all of said groups of said virtual construct intervals within said query index have the same pattern of different sized virtual construct intervals, wherein said groups of virtual construct intervals have uniform lengths, and wherein said predicate intervals have non-uniform lengths. - View Dependent Claims (9, 10, 11, 12, 13, 45)
-
-
14. A method for maintaining and using a query index to support continual query monitoring, said method comprising:
-
defining groups of virtual construct intervals, wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in bit map vectors; determining predicate intervals, wherein said predicate intervals represent specified ranges of data values from continual queries; and inserting each of said predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals such that said specified ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals, wherein all of said groups of said virtual construct intervals within said query index have the same pattern of different sized of virtual construct intervals, and wherein each of said groups of virtual construct intervals is adapted to hold multiple predicate intervals. - View Dependent Claims (15, 16, 17, 18, 19, 46)
-
-
20. A method for maintaining and using a query index to support continual query monitoring, said method comprising:
-
defining groups of virtual construct intervals, wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in bit map vectors; determining predicate intervals, wherein said predicate intervals represent specified ranges of data values from continual queries; and inserting each of said predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals such that said specified ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals, wherein each of said groups of virtual construct intervals is adapted to hold multiple predicate intervals, and wherein said defining process only defines virtual construct intervals that are between the minimum and maximum possible data values of said predicate intervals. - View Dependent Claims (21, 22, 23, 24, 25, 47)
-
-
26. A service adapted to maintains and use a query index to support continual query monitoring, said service:
-
defining groups of virtual construct intervals, wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in bit map vectors; determining predicate intervals, wherein said predicate intervals represent specified ranges of data values from continual queries; and inserting each of said predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals such that said specified ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals. - View Dependent Claims (27, 28, 29, 30, 31, 48)
-
-
32. A system for maintaining and using a query index to support continual query monitoring, said system comprising:
-
a plurality of bitmap vectors which define groups of virtual construct intervals wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in said bit map vectors; a predicate insertion handler adapted to insert predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals wherein said predicate intervals represent specified ranges of data values from continual, wherein said predicate intervals are inserted such that said specified ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals. - View Dependent Claims (33, 34, 35, 36, 37, 49)
-
-
38. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform a method for maintaining and using a query index to support continual query monitoring, said method comprising:
-
defining groups of virtual construct intervals, wherein said virtual construct intervals represent predetermined ranges of data values and correspond to specific bit positions in bit map vectors; determining predicate intervals, wherein said predicate intervals represent specified ranges of data values from continual queries; and inserting each of said predicate intervals into said bit map positions of at least one of said groups of said virtual construct intervals such that said ranges of data values of said predicate intervals are aligned with said predetermined ranges of said data values of said virtual construct intervals. - View Dependent Claims (39, 40, 41, 42, 43, 50)
-
Specification