Patent US6622138B1 successfully refreshed from Google Patents.
US6622138B1
Expired / Lapsed
US
⏱️ 0.0 years remaining
Method and apparatus for optimizing computation of OLAP ranking functions
Assignee: Oracle International Corp
•
Filing: 2000-09-06
•
Granted: 2003-09-16
•
Expires: 2020-09-06
Abstract
Abstract Techniques are described for optimizing the computation of OLAP ranking functions. The techniques involve push-down of the filtering operation into the window sort operation corresponding to a target ranking function. The push-down technique may be employed when a predetermined set of push-down conditions are met.
Inventors
- 👤 Srikanth Bellamkonda
- 👤 Bhaskar Ghosh
- 👤 Andrew Witkowski
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 22:34
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2453; G06F16/24534; G06F16/24537; G06F16/24547; Y; Y10; Y10S; Y10S707/00; Y10S707/99931; Y10S707/99932
Claims Analysis
Total Claims: 28
Claim 1
Independent Claim
90 words
A method for execution of a query containing a set of one or more window functions, the method comprising the computer implemented steps of: for each subset of a plurality of subsets of data items: ranking, based on a target ranking function, data items within the subset relative to other data items within the subset; and filtering, based on a filtering predicate that is associated with the target ranking function, data items from the subset; wherein the target ranking function is in the set of one or more window functions.
Claim 2
Independent Claim
90 words
A method for execution of a query containing a set of one or more window functions, the method comprising the computer implemented steps of: for each subset of a plurality of subsets of data items: ranking, based on a target ranking function, data items within the subset relative to other data items within the subset; and filtering, based on a filtering predicate that is associated with the target ranking function, data items from the subset; wherein the target ranking function is in the set of one or more window functions.
Claim 3
Dependent Claim
31 words
The method of claim 1 , further comprising the step of selecting the target ranking function from a plurality of ranking functions in the set of one or more window functions.
Claim 4
Dependent Claim
73 words
The method of claim 2 , wherein the step of selecting the target ranking function comprises the steps of: determining that there is at least one predicate appearing in an outer query block associated with a ranking function in the set of window functions; selecting as the filtering predicate a first-to-appear predicate appearing in the outer query block; and selecting as the target ranking function the ranking function corresponding to the filtering predicate.
Claim 5
Dependent Claim
100 words
The method of claim 2 , wherein the step of selecting the target ranking function comprises the steps of: determining that there is at least one predicate appearing in an outer query block associated with a ranking function in the set of window functions; selecting as the filtering predicate a most restrictive predicate appearing in the outer query block, wherein the most restrictive predicate filters out the most amount of data items in response to a window sort operation corresponding to the target ranking function; and selecting as the target ranking function the ranking function corresponding to the filtering predicate.
Claim 6
Dependent Claim
117 words
The method of claim 1 , further comprising the steps of: determining whether all the window functions in the set of one or more window functions belong to a same ordering group; determining whether the set of one or more window functions satisfy a predetermined set of push-down criteria when all the window functions in the set of one or more window functions belong to the same ordering group; and computing a window sort operation corresponding to the target ranking function after computing all other window functions in the set of one or more window functions when not all the window functions in the set of one or more window functions belong to the same ordering group.
Claim 7
Dependent Claim
116 words
The method of claim 5 , further comprising the steps of: determining whether any subset of one or more window functions in the set of one or more window functions belong to the same ordering group as that of the target ranking function when not all the window functions in the set of one or more window functions belong to the same ordering group; and determining whether the subset of one or more window functions satisfy the predetermined set of push-down criteria when there is a subset of one or more window functions in the set of one or more window functions that belong to the same ordering group as that of the target ranking function.
Claim 8
Dependent Claim
324 words
The method of claim 6 , wherein the predetermined set of push-down criteria comprises: the filtering predicate is of a form “P<relational operator><constant>”, wherein the relational operator is from the set {<,<=,=}, and wherein P is rank; a granularity of a Partition By clause of each unordered window function in the set of one or more window functions, and which is the same ordering group as the target ranking function is at least of equal granularity as a granularity of a concatenation of a Partition By clause and an Order By clause of the target ranking function; a granularity of a Partition By clause of each ranking function in the set of one or more window functions, and which is in the same ordering group as the target ranking function is at least of equal granularity as the granularity of the Partition By clause of the target ranking function, and for each ranking function Partition By clause of equal granularity as the granularity of the Partition By clause of the target ranking function, a granularity of an Order By clause of the ranking function is at least of equal granularity as the granularity of the Order By clause of the target ranking function; a granularity of a Partition By clause of each ordered window function with ROWS option in the set of one or more window functions, and which is in the same ordering group as the target ranking function is at least of equal granularity as the granularity of the Partition By clause of the target ranking function; and a granularity of a Partition By clause of each ordered window function with RANGE option in the set of one or more window functions, and which is in the same ordering group as the target ranking function is at least of equal granularity as the granularity of the concatenation of the Partition By clause and the Order By clause of the target ranking function.
Claim 9
Dependent Claim
19 words
The method of claim 7 , wherein the ROWS option includes N rows preceding a current row of operation.
Claim 10
Dependent Claim
19 words
The method of claim 7 , wherein the RANGE option includes N rows preceding a current row of operation.
Claim 11
Dependent Claim
44 words
The method of claim 1 , wherein the step of ranking data items within the subset includes: assigning the subset to a parallel process of a plurality of parallel processes; and causing the parallel process to rank the data items within the assigned subset.
Claim 12
Dependent Claim
26 words
The method of claim 1 , wherein the step of filtering data items is performed by the parallel process on data items within the assigned subset.
Claim 13
Dependent Claim
49 words
The method of claim 1 , wherein the steps of ranking and filtering the data items are performed by a single process and include: reading, sorting, ranking, and filtering data items that are within the subset; and storing data items that are within the subset after filtering, is performed.
Claim 14
Dependent Claim
56 words
The method of claim 7 , further comprising the steps of: converting the filtering predicate to the form “P<=<constant>” before computing the window sort operation corresponding to the target ranking function when the relational operator is {=}; and converting the filtering predicate back to the form “P=<constant>” in a final step in the window sort operation.
Claim 15
Dependent Claim
94 words
A computer-readable medium bearing instructions for execution of a query containing a set of one or more window functions, the computer-readable medium comprising instructions for performing the steps: for each subset of a plurality of subsets of data items: ranking, based on a target ranking functions, data items within the subset relative to other data items within the subset; and filtering, based on a filtering predicate that is associated with the target ranking function, data items from the subset; wherein the target ranking function is in the set of one or more window functions.
Claim 16
Dependent Claim
94 words
A computer-readable medium bearing instructions for execution of a query containing a set of one or more window functions, the computer-readable medium comprising instructions for performing the steps: for each subset of a plurality of subsets of data items: ranking, based on a target ranking functions, data items within the subset relative to other data items within the subset; and filtering, based on a filtering predicate that is associated with the target ranking function, data items from the subset; wherein the target ranking function is in the set of one or more window functions.
Claim 17
Dependent Claim
32 words
The computer-readable medium of claim 14 , further comprising the step of selecting the target ranking function from a plurality of ranking functions in the set of one or more window functions.
Claim 18
Dependent Claim
74 words
The computer-readable medium of claim 15 , wherein the step of selecting the target ranking function comprises the steps of: determining that there is at least one predicate appearing in an outer query block associated with a ranking function in the set of window functions; selecting as the filtering predicate a first-to-appear predicate appearing in the outer query block; and selecting as the target ranking function the ranking function corresponding to the filtering predicate.
Claim 19
Dependent Claim
101 words
The computer-readable medium of claim 15 , wherein the step of selecting the target ranking function comprises the steps of: determining that there is at least one predicate appearing in an outer query block associated with a ranking function in the set of window functions; selecting as the filtering predicate a most restrictive predicate appearing in the outer query block, wherein the most restrictive predicate filters out the most amount of data items in response to a window sort operation corresponding to the target ranking function; and selecting as the target ranking function the ranking function corresponding to the filtering predicate.
Claim 20
Dependent Claim
118 words
The computer-readable medium of claim 14 , further comprising the steps of: determining whether all the window functions in the set of one or more window functions belong to a same ordering group; determining whether the set of one or more window functions satisfy a predetermined set of push-down criteria when all the window functions in the set of one or more window functions belong to the same ordering group; and computing a window sort operation corresponding to the target ranking function after computing all other window functions in the set of one or more window functions when not all the window functions in the set of one or more window functions belong to the same ordering group.
Claim 21
Dependent Claim
117 words
The computer-readable medium of claim 18 , further comprising the steps of: determining whether any subset of one or more window functions in the set of one or more window functions belong to the same ordering group as that of the target ranking function when not all the window functions in the set of one or more window functions belong to the same ordering group; and determining whether the subset of one or more window functions satisfy the predetermined set of push-down criteria when there is a subset of one or more window functions in the set of one or more window functions that belong to the same ordering group as that of the target ranking function.
Claim 22
Dependent Claim
325 words
The computer-readable medium of claim 19 , wherein the predetermined set of push-down criteria comprises: the filtering predicate is of a form “P<relational operator><constant>”, wherein the relational operator is from the set {<,<=,=}, and wherein P is rank; a granularity of a Partition By clause of each unordered window function in the set of one or more window functions, and which is the same ordering group as the target ranking function is at least of equal granularity as a granularity of a concatenation of a Partition By clause and an Order By clause of the target ranking function; a granularity of a Partition By clause of each ranking function in the set of one or more window functions, and which is in the same ordering group as the target ranking function is at least of equal granularity as the granularity of the Partition By clause of the target ranking function, and for each ranking function Partition By clause of equal granularity as the granularity of the Partition By clause of the target ranking function, a granularity of an Order By clause of the ranking function is at least of equal granularity as the granularity of the Order By clause of the target ranking function; a granularity of a Partition By clause of each ordered window function with ROWS option in the set of one or more window functions, and which is in the same ordering group as the target ranking function is at least of equal granularity as the granularity of the Partition By clause of the target ranking function; and a granularity of a Partition By clause of each ordered window function with RANGE option in the set of one or more window functions, and which is in the same ordering group as the target ranking function is at least of equal granularity as the granularity of the concatenation of the Partition By clause and the Order By clause of the target ranking function.
Claim 23
Dependent Claim
20 words
The computer-readable medium of claim 20 , wherein the ROWS option includes N rows preceding a current row of operation.
Claim 24
Dependent Claim
20 words
The computer-readable medium of claim 20 , wherein the RANGE option includes N rows preceding a current row of operation.
Claim 25
Dependent Claim
45 words
The computer-readable medium of claim 14 , wherein the step of ranking data items within the subset includes: assigning the subset to a parallel process of a plurality of parallel processes; and causing the parallel process to rank the data items within the assigned subset.
Claim 26
Dependent Claim
27 words
The computer-readable medium of claim 14 , wherein the step of filtering data items is performed by the parallel process on data items within the assigned subset.
Claim 27
Dependent Claim
49 words
The computer-readable medium of claim 14 , wherein the steps of ranking and filtering the data items are performed by a single process and include: reading, sorting, ranking and filtering data items that are within the subset; storing data items that are within the subset after filtering is performed.
Claim 28
Dependent Claim
57 words
The computer-readable medium of claim 20 , further comprising the steps of: converting the filtering predicate to the form “P<=<constant>” before computing the window sort operation corresponding to the target ranking function when the relational operator is {=}; and converting the filtering predicate back to the form “P=<constant>” in a final step in the window sort operation.
References Cited (Backward Citations)
US5897632A
Cited
US5956706A
Cited
US6112198A
Cited
US6199063B1
Cited
US6125360A
Cited
US6134543A
Cited
US6338056B1
Cited
US6385603B1
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2006-09-15 | 2007-03-17 | 2007-09-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2010-09-15 | 2011-03-17 | 2011-09-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2014-09-15 | 2015-03-17 | 2015-09-16 | $7700.00 | Window Closed / Lapsed |