IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0249061
(1999-02-12)
|
발명자
/ 주소 |
- Dan, Noah
- Brown, Albert C.
|
출원인 / 주소 |
- 3565 Acquisition Corporation
|
대리인 / 주소 |
Knobbe, Martens, Olson & Bear, LLP
|
인용정보 |
피인용 횟수 :
222 인용 특허 :
10 |
초록
▼
A web management system including a database having a directory structure associating each web page of a web site with attributes thereof. The web site management system may include a web server for displaying each web page, and a server-side front end daemon communicatable with the web server and t
A web management system including a database having a directory structure associating each web page of a web site with attributes thereof. The web site management system may include a web server for displaying each web page, and a server-side front end daemon communicatable with the web server and the database. The front end daemon may identify the attributes of any user-changed web page and store the attributes of any user-changed web page in that database. The identifying and/or the storing may be automatic or user-initiated. In addition to, or in the alternative, the web management system may include a file system caching all web pages in a web site. The web pages so cached may be static. The web management system may include a server-side back end daemon communicatable with the database and the file system. The back end daemon may parse the attributes to generate the at least partially static web pages and store the generated, at least partially static web pages in the file system.
대표청구항
▼
A web management system including a database having a directory structure associating each web page of a web site with attributes thereof. The web site management system may include a web server for displaying each web page, and a server-side front end daemon communicatable with the web server and t
A web management system including a database having a directory structure associating each web page of a web site with attributes thereof. The web site management system may include a web server for displaying each web page, and a server-side front end daemon communicatable with the web server and the database. The front end daemon may identify the attributes of any user-changed web page and store the attributes of any user-changed web page in that database. The identifying and/or the storing may be automatic or user-initiated. In addition to, or in the alternative, the web management system may include a file system caching all web pages in a web site. The web pages so cached may be static. The web management system may include a server-side back end daemon communicatable with the database and the file system. The back end daemon may parse the attributes to generate the at least partially static web pages and store the generated, at least partially static web pages in the file system. g the slice of the cube index. 4. The method of claim 3, further comprising the step of selecting the slice from the cube index that contains columns required to evaluate any predicates in the query that are not subsumed by the summary table and reapplying the predicate to produce answers for the query. 5. The method of claim 1, further comprising the step of regrouping to produce answers for the query. 6. The method of claim 1, wherein QBS is a query block in a definition of the summary table and QBQ is a query block in the query. 7. The method of claim 6, wherein the analyzing step further comprises: if QBQ and QBS are GROUP BYs, then QBQ must not reference columns that are not derivable from the results of QBS, and the grouping items in QBS must contain a slice that supports the grouping items in QBQ. 8. The method of claim 7, wherein an aggregate function in QBQ must be computable using a set of columns in the result of QBS as intermediate results. 9. The method of claim 8, wherein the QBS is a simple GROUP BY, and the analyzing step further comprises: if QBQ computes a distinct aggregate function, then an argument for the distinct aggregate function must be a grouping item in QBS. 10. The method of claim 7, wherein a "simple" GROUP BY clause contains one or more grouping sets comprised of single expression elements in the GROUP BY clause. 11. The method of claim 10, wherein a "non-simple" GROUP BY clause is a GROUP BY clause with a grouping sets specification or a GROUP BY clause whose elements include those that specify a CUBE or ROLLUP operation. 12. The method of claim 11, wherein the analyzing step further comprises: if QBS is a non-simple GROUP BY clause and QBQ is a simple GROUP BY clause, then QBS contains a slice that supports the grouping items in QBQ if the resulting grouping sets of QBS contains a grouping set whose elements are a superset of the grouping items in QBQ and any columns required in QBQ to apply predicates that are not in QBS. 13. The method of claim 11, wherein the analyzing step further comprises: if QBS is a non-simple GROUP BY clause and QBQ is a non-simple GROUP BY clause, then QBS contains a slice that supports QBQ if the resulting grouping sets of QBS contains a grouping set whose elements are a superset of the grouping items in the QBQ and any columns required in the QBQ to apply predicates that are not in QBS. 14. The method of claim 13, wherein QBQ is computed by applying all the grouping operations of QBQ applied to the minimum slice of QBS that contains the elements in the GROUP BY clause of QBQ plus any predicates that QBQ contains and QBS does not. 15. The method of claim 13, wherein the analyzing step further comprises: if QBQ and QBS are defined with exactly the same grouping sets with exactly the same input, then QBQ results are computed as a simple select of the corresponding columns from QBS that are in the output of QBQ. 16. The method of claim 13, wherein the analyzing step further comprises: if QBQ is a simple GROUP BY clause and QBQ does not have any predicates that QBS does not have or the predicates only involve columns in the GROUP BY elements of QBQ, then QBQ is computed from QBS by constructing a slice from QBS of the elements in the simple GROUP BY clause of QBQ. 17. The method of claim 13, wherein the analyzing step further comprises: if QBQ is a simple GROUP BY clause with elements that contains predicates P1, . . . , PK that QBS does not have, and are the columns different from required to compute those predicates, then QBQ is computed from QBS by constructing a slice from QBS for elements , applying the predicates P1, PK to the results of this slice, and then applying the GROUP BY clause of QBQ with appropriately substituted re-aggregations. 18. The method of claim 13, wherein the analyzing step further comprises: if QBQ is a non-simple GR OUP BY clause that differs from the non-simple GROUP BY clause of QBS only in that the rollups contained in the GROUP BY clause of QBQ are order sensitive prefixes of their corresponding rollups in QBS, and QBQ does not contain predicates that are not also contained in QBS, then QBQ is computed from QBS by constructing a slice of QBS that contains only collapsed clauses for the elements in the rollups of QBS that are not in the prefixes of the corresponding rollups in QBQ. 19. The method of claim 13, wherein the analyzing step further comprises: if QBQ is a non-simple GROUP BY clause with elements that contains predicates P1, . . . , PK that QBS does not have, and are the columns different from required to compute those predicates and no other optimizations apply, then QBQ is computed from QBS by constructing a slice from QBS for elements , applying the predicates P1, . . . , PK to the results of this slice, and then applying the GROUP BY clause of QBQ with appropriately substituted re-aggregations. 20. A computer-implemented apparatus for optimizing a query, comprising: (a) a computer system; (b) means, performed by the computer system, for analyzing a query using subsumption tests between the query and at least one summary table that comprises a cube index to determine whether an expression in the query can be subsumed by the summary table, wherein the summary table stores at least one materialized view involving at least one GROUP BY operation that computes at least one of the following: (1) a cube, (2) a rollup, (3) a grouping set; and (4) a concatenation of cubes, rollups, grouping sets and one or more grouping items; and (b) means, performed by the computer system, for rewriting the query using a slice of the cube index, when the expression in the query can be subsumed in the summary table. 21. The apparatus of claim 20, further comprising means for executing the rewritten query. 22. The apparatus of claim 20, wherein the means for rewriting further comprises means for rerouting the query using the slice of the cube index. 23. The apparatus of claim 22, further comprising means for selecting the slice from the cube index that contains columns required to evaluate any predicates in the query that are not subsumed by the summary table and for reapplying the predicate to produce answers for the query. 24. The apparatus of claim 20, further comprising means for regrouping to produce answers for the query. 25. The apparatus of claim 20, wherein QBS is a query block in a definition of the summary table and QBQ is a query block in the query. 26. The apparatus of claim 25, wherein the means for analyzing further comprises: if QBQ and QBS are GROUP BYs, then QBQ must not reference columns that are not derivable from the results of QBS, and the grouping items in QBS must contain a slice that supports the grouping items in QBQ. 27. The apparatus of claim 26, wherein an aggregate function in QBQ must be computable using a set of columns in the result of QBS as intermediate results. 28. The apparatus of claim 27, wherein the QBS is a simple GROUP BY, and the means for analyzing further comprises: if QBQ computes a distinct aggregate function, then an argument for the distinct aggregate function must be a grouping item in QBS. 29. The apparatus of claim 26, wherein a "simple" GROUP BY clause contains one or more grouping sets comprised of single expression elements in the GROUP BY clause. 30. The apparatus of claim 29, wherein a "non-simple" GROUP BY clause is a GROUP BY clause with a grouping sets specification or a GROUP BY clause whose elements include those that specify a CUBE or ROLLUP operation. 31. The apparatus of claim 30, wherein the means for analyzing further comprises: if QBS is a non-simple GROUP BY clause and QBQ is a simple GROUP BY clause, then QBS contains a slice that supports the grouping items in Q
※ AI-Helper는 부적절한 답변을 할 수 있습니다.