Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
117 words
A computer readable medium containing computer executable instructions to perform a method for generating a data cube from a results set of a database query, said method comprising: identifying a roll-up string of attributes from said results set; generating at least one aggregate from said roll-up string by way of a minimum union of roll-up operator calls based on a barrel shift of said roll-up string; saving said at least one aggregate in said data cube; and generating at least one super-aggregate from said at least one aggregate by way of a minimum number of aggregation function calls dictated by an aggregation function classification selected from a group of aggregation categories consisting of: distributive, algebraic, and holistic.
Claim 2
Dependent Claim
117 words
A computer readable medium containing computer executable instructions to perform a method for generating a data cube from a results set of a database query, said method comprising: identifying a roll-up string of attributes from said results set; generating at least one aggregate from said roll-up string by way of a minimum union of roll-up operator calls based on a barrel shift of said roll-up string; saving said at least one aggregate in said data cube; and generating at least one super-aggregate from said at least one aggregate by way of a minimum number of aggregation function calls dictated by an aggregation function classification selected from a group of aggregation categories consisting of: distributive, algebraic, and holistic.
Claim 3
Independent Claim
45 words
A method according to claim I wherein said step of generating at least one aggregate includes: executing a roll-up operation on said roll-up string; executing said barrel shift of said roll-up string; and executing a roll-up operation on said barrel shift of said roll-up string.
Claim 4
Dependent Claim
57 words
A method according to claim 2 including: maintaining a scoreboard array of one scoreboard bit entry for each roll-up aggregate on said roll-up string; examining said scoreboard array to determine when a complete set of said at least one aggregate exists; and executing a roll-up operation on an attribute string associated with each unset scoreboard bit entry.
Claim 5
Dependent Claim
80 words
A method according to claim 3 including: translating a base 10 scoreboard bit entry position in said scoreboard array to a base 2 equivalent; and identifying said attribute string associated with said base 10 scoreboard bit entry position by way of said base 2 equivalent wherein a first binary value indicates a presence of an attribute in said attribute string and a second binary setting opposite said first binary value indicates an absence of an attribute in said attribute string.
Claim 6
Dependent Claim
18 words
A computer-readable storage device containing instructions for controlling a computer system to perform the steps of claim 4.
Claim 7
Dependent Claim
61 words
A method according to claim 1 wherein said step of generating at least one super-aggregate includes: identifying an aggregate function as an algebraic aggregate function; assigning a handle to each value presently in said data cube; and executing at least one iteration of said algebraic aggregate function to fold each of said at least one sub-aggregate into at least one super-aggregate.
Claim 8
Dependent Claim
133 words
A computer readable medium containing computer executable instructions to perform a method for generating a data cube from a results set of a database query, said method comprising: generating at least one aggregate from said results set by way of a minimum union of roll-up operator calls on a barrel shift of an attribute set; saving said at least one aggregate in said data cube; and categorizing an applicable aggregation function according to a group of aggregation categories consisting of: distributive, algebraic, and holistic; assigning a handle to each value presently in said data cube that is subject to aggregation by an algebraic aggregation function; and generating at least one super-aggregate from said at least one sub-aggregate by way of a minimum number of aggregation function calls dictated by said aggregation function category.
Claim 9
Dependent Claim
133 words
A computer readable medium containing computer executable instructions to perform a method for generating a data cube from a results set of a database query, said method comprising: generating at least one aggregate from said results set by way of a minimum union of roll-up operator calls on a barrel shift of an attribute set; saving said at least one aggregate in said data cube; and categorizing an applicable aggregation function according to a group of aggregation categories consisting of: distributive, algebraic, and holistic; assigning a handle to each value presently in said data cube that is subject to aggregation by an algebraic aggregation function; and generating at least one super-aggregate from said at least one sub-aggregate by way of a minimum number of aggregation function calls dictated by said aggregation function category.
Claim 10
Dependent Claim
18 words
A computer-readable storage device containing instructions for controlling a computer system to perform the steps of claim 7.
Claim 11
Dependent Claim
49 words
A method according to claim 7 wherein said step of generating at least one aggregate includes: executing a roll-up operation on said attribute set from said results set; executing said barrel shift of said attribute set; and executing a roll-up operation on said barrel shift of said attribute set.
Claim 12
Dependent Claim
57 words
A method according to claim 9 including: maintaining a scoreboard array of one scoreboard bit entry for each roll-up aggregate on said attribute set; examining said scoreboard array to determine when a complete set of said at least one aggregate exists; and executing a roll-up operation on an attribute string associated with each unset scoreboard bit entry.
Claim 13
Dependent Claim
52 words
A method according to claim 7 wherein said step of generating at least one super-aggregate includes: executing, in response to said aggregate function being a said algebraic aggregate function, at least one iteration of said algebraic aggregate function to fold each of said at least one sub-aggregate into at least one super-aggregate.
Claim 14
Dependent Claim
161 words
A computer readable medium containing computer executable instructions to perform a method comprising: determine a minimum plurality of aggregate operations required for n attributes of an n-dimensional results set; executing said minimum plurality of aggregate operations in a manner comprising; executing an aggregate roll-up operation on said n attributes; repeatedly generating a unique barrel shift sub-set string of said n attributes and executing said aggregate roll-up operation on said unique barrel shift sub-set string until no unique barrel shift set string of said n attributes exists; tracking completed aggregations of said aggregate roll-up operation in a scoreboard array; examining said scoreboard array to verify that a complete set of aggregates exists; executing a roll-up operation on an attribute string associated with each unset entry in said scoreboard array; and generating at least one super-aggregate from said complete set of sub-aggregates dictated by at least one aggregate function selected from a group of aggregate function categories consisting of: distributive, algebraic, and holistic.
Claim 15
Dependent Claim
161 words
A computer readable medium containing computer executable instructions to perform a method comprising: determine a minimum plurality of aggregate operations required for n attributes of an n-dimensional results set; executing said minimum plurality of aggregate operations in a manner comprising; executing an aggregate roll-up operation on said n attributes; repeatedly generating a unique barrel shift sub-set string of said n attributes and executing said aggregate roll-up operation on said unique barrel shift sub-set string until no unique barrel shift set string of said n attributes exists; tracking completed aggregations of said aggregate roll-up operation in a scoreboard array; examining said scoreboard array to verify that a complete set of aggregates exists; executing a roll-up operation on an attribute string associated with each unset entry in said scoreboard array; and generating at least one super-aggregate from said complete set of sub-aggregates dictated by at least one aggregate function selected from a group of aggregate function categories consisting of: distributive, algebraic, and holistic.
Claim 16
Dependent Claim
61 words
A method according to claim 12 wherein said step of generating at least one super-aggregate includes: identifying an aggregate function as an algebraic aggregate function; assigning a handle to each value presently in said data cube; and executing at least one iteration of said algebraic aggregate function to fold each of said at least one sub-aggregate into at least one super-aggregate.
Claim 17
Dependent Claim
18 words
A computer-readable storage device containing instructions for controlling a computer system to perform the steps of claim 13.