USOO847345OB2

(12) United States Patent (10) Patent No.: US 8.473450 B2 Bakalash et al. (45) Date of Patent: *Jun. 25, 2013

(54) RELATIONAL MANAGEMENT (52) U.S. Cl. SYSTEM (RDBMS) EMPLOYING USPC ...... 707/600; 707/770 MULTI-DIMENSIONAL DATABASE (MDDB) (58) Field of Classification Search FOR SERVICING QUERY STATEMENTS None THROUGHONE ORMORE CLIENT See application file for complete search history. MACHINES (56) References Cited

(75) Inventors: Reuven Bakalash, Beer Sheva (IL); Guy U.S. PATENT DOCUMENTS Shaked, Shdema (IL); Joseph Caspi, 4,590,465. A 5, 1986 Fuchs Herzlyia (IL) 4,598.400 A 7, 1986 Hillis (73) Assignee: Yanicklo Technology Limited Liability (Continued) Company, Wilmington, DE (US) FOREIGN PATENT DOCUMENTS (*) Notice: Subject to any disclaimer, the term of this EP O 314 279 5, 1989 patent is extended or adjusted under 35 EP O 657 052 6, 1995 U.S.. 154(b) by 13 days. (Continued) OTHER PUBLICATIONS This patent is Subject to a terminal dis claimer. Scheuermann, P. J. Shim and R. Vingralek “WATCHMAN: A Data Warehouse Intelligent Cache Manager'. Proceedings of the 22nd International Conference on Very Large (VLDB), 1996, (21) Appl. No.: 12/455,665 pp. 51-62.* (22) Filed: Jun. 4, 2009 (Continued) (65) Prior Publication Data Primary Examiner — Robert Timblin (74) Attorney, Agent, or Firm — Knobbe, Martens, Olson & US 2009/027641.0 A1 Nov. 5, 2009 Bear LLP Related U.S. Application Data (57) ABSTRACT A relational database management system (RDBMS) for ser (63) Continuation of application No. 1 1/888,904, filed on vicing query statements through one or more client machines. Aug. 2, 2007, now abandoned, which is a continuation The RDBMS comprises a query interface adapted to receive of application No. 10/839,782, filed on May 5, 2004, query statements from the client machines. The query han now abandoned, which is a continuation of application dling mechanism (i) receives each request from the query No. 10/314,884, filed on Dec. 9, 2002, now Pat. No. interface, (ii) extracts a set of dimensions associated with the 7.315,849, which is a continuation of application No. request, (iii) uses the dimensions to retrieve aggregated fact data from a multi-dimensional database (MDDB), and (iv) 09/796,098, filed on Feb. 28, 2001, now abandoned, forwards retrieved aggregated fact data to the query process which is a continuation-in-part of application No. ing mechanism for Subsequent processing. When the query 09/514,611, filed on Feb. 28, 2000, now Pat. No. processing mechanism determines that servicing of one or 6,434.544, and a continuation-in-part of application more query requests require data stored in the relational No. 09/634,748, filed on Aug. 9, 2000, now Pat. No. tables, then the query processing mechanism automatically 6,385,604. routes the requests to the relational data tables, so that data can be accessed from the relational tables and forwarded to (51) Int. Cl. the query processing mechanism for use in servicing the G06F 7/30 (2006.01) requests, in a manner transparent to the client machine. G06F 7700 (2006.01) 20 Claims, 50 Drawing Sheets

DAAWAREHOUSERDBMS - - -SUPPORMCHANISMS ------

MACNE

D AGGREGAON

META-AA STORE MODULE (DICTIONARY)

ANALYCA ProcessNG ANDU UERYAN ENERPRISE RELAONAL REPORING OAP US 8,473.450 B2 Page 2

U.S. PATENT DOCUMENTS 5,978,788 A 11/1999 Castelli et al. 4,641.351 A 2f1987 Preston, Jr. E. A 2. tly al. 4,685,144. A 8/1987 McCubbrey et al. 5.990.802 A 1/1999 it al. 4,814,980 A 3, 1989 Peterson et al. 5.99.1754 A 11/1999 Raitto et all 4,868,733.4.985.834. A 9/19891, 1991 C1Fujisawa 1et al. 5.999,192- - - A 12/1999 Selfridge et al. 4985.856 A 1, 1991 kNG, a 6,003,024. A 12/1999 Bair et al. 4987,554 A 1, 1991 Ae 6,003,029 A 12/1999 Agrawal et al. 4,989,141 A 1/1991 Lyons et al. 6,003,036 A 12/1999 Martin 5.095,427 A 3, 1992 Tanaka et all 6,006,216 A 12/1999 Griffin et al. 5.101.475 A 3/1992 Kaufman et al. GA 'i G. Anne a 5,189.608 A 2/1993 Lyons et al. 6,033695 A 2.2000 Osbornet al. 5,197,005 A * 3/1993 Shwartz et al...... 707,999.OO2 W4 - 5,202.985. A 4, 1993 Goval 6,034,697 A 3/2000 Becker 5.222.26 A 6, 1993 E. 1 6,041,103 A 3/2000 LaPorta et al. 5.222.37 A 6, 1993 E. et al. 6,047.323 A * 4/2000 Krause ...... 709,227 5,257,365 A 10/1993 Powers et al. 92 A 38 Pla 1 5,278,966 A 1/1994 Parks et al. 82. A : \etal. 5,280.474. A 1/1994 Nickolls et al. aw sy 5,293.615 A 3, 1994 Amada 6,078,924 A 6/2000 Ainsbury et al.

5,297.2655,297.280 A 3/19943, 1994 FranketPotts, Sr. al. et all 822.W-1 A $398 Rgrawal all etetal al. 5,299.321 A 3, 1994 Lizuka 6,108,647 A 8, 2000 Poosala et al. 5,307.484 A 4/1994 Baker et al. 6,115,705. A 9/2000 Larson 5.359.724. A 10, 1994 Earl 6,115,714 A 9/2000 Gallagher et al. 5.361.385 A 1/1994 Bilash 6,122,628 A 9, 2000 Castelli et al. 5,379.419 A 1/1995 Heffernan et al. ES A 858 Matty et al. 5,381,518. A 1/1995 Drebin et al. 6.134,541. A 10 2000 Castellietal 5,386,556 A * 1/1995 Hedin et al...... TO7 (999-004 6.141655. A 10/2000 Johnsonetal 5,404,506 A 4/1995 Fujisawa et al. 6.151584 A 11/2000 Papierniak tal 5,410,693. A 4, 1995 Yu et al. k - J. apierniak et al. 5.519859 A 5, 1996 Grace 6,151,601 A 11/2000 Papierniak et al. 5,553,226 A 9/1996 Kiuchi et al. 838. A 338 R. 5,555.408 A 9/1996 Fujisawa et al. J. W. J. 5,696,916 A 12/1997 Yamazaki etal 6,163,774. A 12/2000 Lore et al. 5.706503.5,706,495 A 1,1/1998 1998 ChadhaP ettal al. $16.3%6,173,310 B1A, 1229991/2001 Yostlokken et al...... TO9,201 5.731910 A 2, 1998 E. 6,182,060 B1 1/2001 Hedgcock et al. 5.742,806 A 4, 1998 RA 6,182,061 B1 1/2001 Matsuzawa et al. 5,745,764 A * 4/1998 teachet al. T19.316 6,182,062 B1 1/2001 Fujisawa et al. 5,751,928 A 5, 1998 Bakalash 6,189,004 B1 2/2001 Rassen et al. 576.1653 A 6, 1998 ty 6,199,063 B1 3/2001 Colby et al. 5,765.028 A 6/1998 Gladden 6,205,447 B1 3/2001 Malloy 5,767.854. A 6, 1998 Anwar 6,208.975 B1 3/2001 Bullet al. 5,781896 A * 7/1998 Dalai. 707,999.OO2 3.29. R 338 list et al. 5,794.228 A 8, 1998 French et al. 4 - 4 g 5,794.229 A 8, 1998 F h etal 6.212,524 B1 4/2001 Weissman et al. $752. A $56 S.E.5al 6,212,617 B1 4/2001 Hardwick 5,799,300 A 8/1998 Agrawal et al. 33: 38: Sea 5,805,885 A * 9/1998 Leach et al...... T19.316 6,226,647 Bi 52001 Venkatasu-b ian et al 5,822,751 A * 10/1998 Gray et al...... TO7/999.003 g; : Sriramanian et al. 5,832,475 A 11/1998 Agrawal et al. 6.256.676 B1 7/2001 Tavlor et all 5,848,424 A * 12/1998 Scheinkman et al...... 71.5/210 5688 756. E." 5,850,547 A 12/1998 Waddington et al. 4. WW 5,852.819. A 12, 1998 Bell 6,269,393 B1 7/2001 Yost et al. 5,852,821. A 2, 1998 Neal 6,275,818 B1 8/2001 Subramanian et al. 5,857,184 A : 1/1999 Lynch. TO7 (999-004 6,282,544 B1 8/2001 Tse et al. 5.864,857 A 1/1999 Ohata et all 6,282.546 B1 8, 2001 Gleichaufetal. 5,867,501. A 2, 1999 Horstet al. 6,285,994 B1 9/2001 Buiet al. 5.884.299 A 3, 1999 Ramesh et all 6,289,334 B1 9, 2001 Reiner et al. 5.890,151 A 3/1999 Agrawaletal. 333. 858 EY 5,890,154 A 3, 1999 Hsiao et al. - W - 5,901,287 A 5, 1999 Bulletal 6,317,750 B1 1 1/2001 Tortolani et al. 5,905,985 A 5, 1999 Rival 6,321,206 B1 * 1 1/2001 Honarvar ...... 705/7.33 5915.257 A 6, 1999 &NR. 6,321.241 B1 1 1/2001 Gartung et al. 598.225 A 6, 1999 WE 6,324,533 B1 1 1/2001 Agrawal et al. 5,918,232 A 6/1999 Pouschine et al. 33 R 1858: R tein et al 5,926,818. A 7/1999 Malloy - - W eilersteinet al. 5926,820 A T. 1999 A letal 6,332,130 B1 12/2001 Notani et al. 5.937.410 A 8, 1999 Sawa Ca 6,339,775 B1 1/2002 Zamanian et al. 5.940.818 A 8/1999 Malloy etal 6,356,900 B1 3/2002 Egilsson et al. 5,940,822 A 8/1999 Haderle et al. 6,363,353 B1 3/2002 Chen 5,943,668 A 8/1999 Malloy et al. 6,363,393 B1 3/2002 Ribitzky 5,943,677 A 8, 1999 Hicks 6,366,905 B1 4, 2002 Netz 5,946,692 A 8, 1999 Falloutsos et al. 6,366,922 B1 4, 2002 Althoff 5,946,711 A 8/1999 Donnelly 6,374,234 B1 4/2002 Netz 5,963,212 A 10/1999 Bakalash 6,374.263 B1 4/2002 Bunger et al. 5,963,936 A 10/1999 Cochrane et al. 6,377,934 B1 4/2002 Chen et al. 5,974,416 A 10/1999 Anand et al. 6,381,605 B1 4/2002 Kothuri et al. US 8,473.450 B2 Page 3

6,385,301 B1 5/2002 Nolting et al. 6,677.963 B1 1/2004 Mani et al. 6,385,604 B1* 5/2002 Bakalash et al...... TO7/999.003 6,678,674 B1 1/2004 Saeki 6,397, 195 B1 5, 2002 Pinard et al. 6,691,118 B1 2/2004 Gongwer et al. 6,401,117 B1 6, 2002 Naradet al. 6,691,140 B1 2/2004 Bogrett 6.405,173 B1 6/2002 Honarvar et al. 6,694,316 B1 2/2004 Langseth et al. 6.405,207 B1 6, 2002 Petculescu et al. 6,707.454 B1 3/2004 Barget al. 6.405,208 B1 6/2002 Raghavan et al. 6,708,155 B1 3/2004 Honarvar et al. 6,408,292 B1* 6/2002 Bakalash et al...... 707,999.OO2 6,732,115 B2 5, 2004 Shah et al. 6,411,313 B1 6, 2002 Conlon et al. 6,738,975 B1 5, 2004 Vee et al. 6,411,681 B1 6/2002 Nolting et al. 6,748,394 B2 6/2004 Shah et al. 6,411,961 B1 6, 2002 Chen et al. 6,763,357 B1 7/2004 Deshpande et al. 6,418,427 B1 7/2002 Egilsson et al. 6,766,325 B1 7/2004 Pasumansky et al. 6,418.450 B2 7/2002 Daudenarde 6,775,674 B1* 8/2004 Agassi et al...... 707,999.1 6.421,730 B1 7/2002 Naradet al. 6,778,996 B2 * 8/2004 Roccaforte ...... TO7/600 6.424,972 B1 7/2002 Berger et al. 6,801,908 B1 10/2004 Fuloria et al. 6.424,979 B1 7/2002 Livingston et al. 6,816,854 B2 11/2004 Reiner et al. 6,430,545 B1 8/2002 Honarvar et al. 6.826,593 B1 1 1/2004 Acharya et al. 6,430,547 B1 8, 2002 Busche et al. 6,832,263 B2 12/2004 Polizzi et al. 6,434,544 B1* 8/2002 Bakalash et al...... 707,999.OO2 6,836,894 B1 12/2004 Hellerstein et al. 6,434,557 B1 8/2002 Egilsson et al. 6,842,758 B1 1/2005 Bogrett 6,438,537 B1 8, 2002 Netz et al. 6,867,788 B1 3/2005 Takeda 6,441.834 B1* 8/2002 Agassi et al...... 715,764 6,898,603 B1 5/2005 Petculescu et al. 6,442,269 B1 8, 2002 Ehrlich et al. 6,934,687 B1 8/2005 Papierniak et al. 6,442,560 B1 8/2002 Berger et al. 6,947,934 B1 9, 2005 Chen et al. 6,446,059 B1 9/2002 Berger et al. 7,096,219 B1* 8/2006 Karch ...... TO7/999.003 6,446,061 Bl 9, 2002 Doerre et al. 7,315,849 B2 1/2008 Bakalash et al. 6,453,322 B1 9/2002 DeKimpe et al. 7.333,982 B2 * 2/2008 Bakalash et al...... TO7/600 6,456.999 B1 9, 2002 Netz 7,392.248 B2 * 6/2008 Bakalash et al...... 707,999.005 6,460,026 B1 10/2002 Pasumansky 7,529,730 B2 5/2009 Potter et al. 6,460,031 B1 10/2002 Wilson et al. 7,778,899 B2 8/2010 Scumniotales et al. 6,470,344 B1 10/2002 Kothuri et al. 7.853,508 B2 12/2010 Scumniotales et al. 6,473,750 B1 10/2002 Petculescu et al. 8,041,670 B2 10/2011 Bakalash et al. 6,473,764 B1 10/2002 Petculescu et al. 8, 170,984 B2 5/2012 Bakalash et al. 6,477.536 B1 1 1/2002 Pasumansky et al. 8, 195,602 B2 6/2012 Bakalash et al. 6,480,842 B1 * 1 1/2002 Agassi et al...... TO7 (999-004 2001/00 13030 A1* 8/2001 Colby et al...... 707/1 6,480,848 B1 1 1/2002 DeKimpe et al. 2001 OO18684 A1 8, 2001 Mild et al. 6,480,850 B1 1 1/2002 Veldhuisen 2001/0047355 A1 11/2001 Anwar 6,484, 179 B1 * 1 1/2002 Roccaforte ...... 707f737 2002fOO 16924 A1 2/2002 Shah et al. 6,487,547 B1 1 1/2002 Ellison et al. 2002fOO23122 A1 2/2002 PolizZi et al. 6,493,718 B1 12/2002 Petculescu et al. 2002/0029207 A1 3/2002 Bakalash et al...... 707/1 6,493,723 B1 12/2002 Busche 2002fOO38229 A1 3/2002 Shah et al. 6,493.728 B1 12/2002 Berger 2002fOO38297 A1 3/2002 Shah et al. 6,510,457 B1 1/2003 Ayukawa et al. 2002/0077997 A1* 6/2002 Colby et al...... 707/1 6,513,019 B2 1/2003 Lewis 2002fOO91707 A1* 7, 2002 Keller ...... TO7 104.1 6,532,458 B1 3/2003 Chaudhuri et al. 2002fOO996.92 A1 7/2002 Shah et al. 6,532,459 B1 3/2003 Chaudhuri et al. 2002/0129003 A1* 9, 2002 Bakalash et al...... 707/1 6,535,866 B1 3/2003 Iwadate 2002/0129.032 A1* 9, 2002 Bakalash et al. 707/101 6,535,868 B1 3/2003 Galeazzi et al. 2002/0143783 A1* 10, 2002 Bakalash et al. 7O7/1OO 6,535,872 B1 3/2003 Castelli et al. 2002fO1841.87 A1* 12/2002 Bakalash et al. 707/1 6,542,886 B1 4/2003 Chaudhuri et al. 2002/0194167 A1* 12/2002 Bakalash et al. 707/3 6,542,895 B1 4/2003 DeKimpe et al. 2003/00 18642 A1 1/2003 Bakalash et al. 707/10 6,545,589 B1 4/2003 Fuller et al. 2003/0055832 A1* 3, 2003 Roccaforte ..... 7O7/1OO 6,546,395 B1 4/2003 DeKimpe et al. 2003/0200221 A1* 10, 2003 Bakalash et al. TO7/100 6,546,545 B1 4/2003 Honarvar et al. 2003/0208503 A1* 11/2003 Roccaforte ..... 707/101 6,549,907 B1 4/2003 Fayyad et al. 2003/0217079 A1* 11/2003 Bakalash et al. 707/2OO 6,557,008 B1 4/2003 Temple et al. 2003,0225,736 A1* 12/2003 Bakalash et al. 707/1 6,560,594 B2 5, 2003 Cochrane et al. 2003/0225752 A1* 12/2003 Bakalash et al...... 707/3 6,567,796 B1 5, 2003 Yost et al. 2003/0229652 A1* 12/2003 Bakalash et al...... 707/2OO 6,567,814 B1 5, 2003 Bankier et al. 2004/OO73566 A1 4/2004 Trivedi 6,581,054 B1 6/2003 Bogrett 2004/0236655 A1 11/2004 Scumniotales et al. 6,581,068 B1 6/2003 Bensoussan et al. 2004/0243607 A1* 12/2004 Tummalapalli...... 7O7/1OO 6,587,547 B1 7/2003 Zirngiblet al. 2004/O247 105 A1 12, 2004 Mullis et al. 6,587,857 B1 7/2003 Carothers et al. 2005/OO38799 A1 2/2005 Jordan et al. 6,594,672 B1 7/2003 Lampson et al. 2005/0055329 A1 3/2005 Bakalash et al...... 707/1 6,601034 B1 7/2003 Honarvar et al. 2005, OO60325 A1* 3, 2005 Bakalash et al. 7O7/1OO 6,601,062 B1 7/2003 Deshpande 2005/0060326 A1 3/2005 Bakalash et al...... 7O7/1OO 6,604,135 B1 8/2003 Rogers et al. 2005/0065940 A1 3/2005 Bakalash et al...... 7O7/1OO 6,606,638 B1 8, 2003 Tarin 2005/0076067 A1* 4, 2005 Bakalash et al. TO7/200 6,609, 120 B1 8, 2003 Honarvar et al. 2005/009237 A1* 4/2005 Bakalash et al...... 7O7/1OO 6,615,096 B1 9, 2003 Durrant et al. 2005.0114243 A1 5/2005 Scumniotales et al. 6,628,312 B1 9, 2003 Rao et al. 2005/0149491 A1* 7/2005 Bakalash et al...... 707/2 6,629,094 B1 9/2003 Colby 2007,0192295 A1* 8, 2007 Bakalash et al. 707/3 6,633,875 B2 10/2003 Brady 2007/0233644 A1* 10, 2007 Bakalash et al. 707/2 6,636,870 B2 * 10/2003 Roccaforte ...... TO7/999.104 2008/0016043 A1 1/2008 Bakalash et al. 707/3 6,643,608 B1 1 1/2003 Hershey et al. 2008, OO16057 A1* 1/2008 Bakalash et al. 707/5 6,643,661 B2 11/2003 Polizzi et al. 2008, 0021864 A1 1/2008 Bakalash et al. 707/1 6,662,174 B2 12/2003 Shah et al. 2008/002 1893 A1 1/2008 Bakalash et al. 707/4 6,665,682 B1 12/2003 DeKimpe et al. 2008, 0021915 A1 1/2008 Bakalash et al. 707/101 6,671,715 B1 12/2003 Langseth et al. 2008/005.9415 A1 3/2008 Bakalash et al...... 707/2 US 8,473.450 B2 Page 4

2008, 0211817 A1 9, 2008 Bakalash et al. Craig, Robert: “Checking Out OLAP Architectures: Technology 2009/0076983 A1 3/2009 Scumniotales et al. Information', a Boucher Communications, Inc. publication, Section 2009, OO77107 A1 3/2009 Scumniotales et al. 2009,0271379 A1 10/2009 Bakalash et al. No. 12, nol. 2: 1997; p. 40, ISSN: 1085-2395. 2009,0271384 A1 10/2009 Bakalash et al. Spitzer, Tom. Component architectures; component-based software 2009,027641.0 A1 11/2009 Bakalash et al. development; technology information, Lexis, DBMS Magazine, vol. 2010.0042645 A1 2/2010 Bakalash et al. 10, No. 10, Sep. 1997. 2010 OO63958 A1 3/2010 Bakalash et al. Spitzer, Tom. Component architectures; component-based software 2010, 0100558 A1 4/2010 Bakalash et al. development; technology information.Lexis. 2010.0185581 A1 7, 2010 Bakalash et al. Winter, R., Intelligent Enterprise's website reDatabases: Back in the 2012,008.9563 A1 4/2012 Bakalash et al. OLAP Game, vol. 1, No. 4 Dec. 15, 1998. 2012,008.9564 A1 4/2012 Bakalash et al. Intelligent Enterprise's website re Databases: Back in the OLAP FOREIGN PATENT DOCUMENTS Game. EP O 743 609 11, 1996 scholar.google website reData Warehouse for Decision Support Sys EP O336 584 2, 1997 tems. EP O 869 444 10, 1998 Bearson et al., “Data Warehousing, Data Mining, and OLAP', pp. EP 1266 308 12/2002 104-107. JP 9-265479 10, 1997 Bearson et al., “Data Warehousing, Data Mining, and OLAP.” JP 2001-565050 2, 2001 Kurz, Andreas, A Min Tjoa, Data Warehousing within Intranet: Pro WO WO91, 19269 12/1991 WO WO94/04991 3, 1994 totype of a Web-based Executive Information System, Abstract, WO WO95/08794 3, 1995 1997. WO WO9822908 A1 * 5, 1998 Kurz, Andreas, A Min Tjoa, Data Warehousing within Intranet: Pro WO WO98,22908 9, 1998 totype of a Web-based Executive Information System, Abstract, WO WO 98.40829 9, 1998 unknown, Islands of OLAP WO WO98,49636 11, 1998 Kurz, Andreas, A Min Tjoa, Data Warehousing within Intranet: Pro WO WO99/09492 2, 1999 totype of a Web-based Executive Information System, Abstract, WO WOO1? 11497 2, 2001 1997. pp. 627-632. WO WOO1? 67303 9, 2001 Elkins, S.B. Islands of OLAP, DBMS Magazine, Apr. 1998. OTHER PUBLICATIONS Mckie, S., dbmsmag's website reWhat's New in 4.0, DBMS Maga zine, Jul. 1996. Mumick, I.S., D. Quass and B.S. Mumick “Maintenance of Data dbmsmag's website reWhat's New in 4.0. Reimers, How to Sort Through the OLAP Maze, Lexis. Cubes and Summary Tables ina Data Warehouse'. ACM SIGMOD HyperRoll's website re HyperRoll for Hyperion Essbase. Record, vol. 26, No. 2, Jun. 1997, pp. 100-111.* Bontempo et al., The IBM Data Warehouse Architecture, Communi Kotidis, Y. and N. Roussopoulos "DynaMat: A Dynamic View Man cations of the ACM (vol. 41 No. 9), Sep. 1998. agement System for Data Warehouses'. Proceedings of ACM Bontempo et al., The IBM Data Warehouse Architecture, Communi SIGMOD International Conference on Management of Data, Jun. cations of the ACM (vol. 41 No. 9), Sep. 1998. pp. 38-48. 1-3, 1999.* Davis, Judith. IBM's DB2 Spatial Extender: Managing Geo-Spatial Preliminary Invalidity Contention (PIC) charts for U.S. Pat. Nos. Information Within the DBMS, IBM corporation, May 1998. 6,385,604 and 6,434.544 submitted by Hyperion to the district court Information Builders Intros "Fusion’ MODS Warehouse, in Civil Action No. CV 05-05054 VRW. PostNewsweek Business Information Inc. Lexis, May 16, 1996. comp.databases’ website re Access DBMS Not RDBMS2. Manual. 2 Introducing ClearConnect and DRDA. ClearConnect comp.databases’ website re Access DBMS2 Not RDBMS2 Jun. Installation and Reference Guide. 1994. Manual. 2 Introducing ClearConnect and DRDA. Rana, et al., A Distributed Framework for Parallel Data Mining Using ClearConnect Installation and Reference Guide, Manual. 2 Introduc HP Java, BT technol J vol. 17 No. 3. ing ClearConnect and DRDA ClearConnect Release 1.3 pp. 2-1 and Rana, et al., A Distributed Framework for Parallel Data Mining Using 2-4. A White Paper Maximizing Database Performance with the HP Java, BT technol J vol. 17 No. 3 Jul. 1999. OMNIDEX Query Accelerator. Rana, et al., A Distributed Framework for Parallel Data Mining Using Chen et al., OLAP-Based Scalable Profiling of Customer Behavior, HP Java, BT technol J vol. 17 No. 3 Jul. 1999. pp. 146-154. Abstract, 1999. Internet Systems' website re A New Face for OLAP by Rich Chen et al., OLAP-Based Scalable Profiling of Customer Behavior, Carickhotf. Abstract, DaWak '99 LNCS 1676 pp.55-64. 1999. Windows IT Pro’s website re A New Kid on the OLAP Block by Pendse, N., The OLAP Report's website OLAP Architectures, 2005. Karen Watterson. Pendse, N., The OLAP Report's website OLAP Architectures, Feb. Attunity Connect SQL-PowerPoint presentation. 11, 2005. Schumacher, Robin. BrioOuery Enterprise 4.0; Brio Technology's Greenberg, Ilan. OLAP or ROLAP, InfoWorld, Jun. 10, 1996. desktop OLAP tool, lexis.com; DBMS Magazine, vol.9, No. 10, Sep. Greenberg, Ilan, OLAP or ROLAP, InfoWorld Media Group. Lexis. 1996. Pendse, N. The OLAP Report's website re Database Explosion, Schumacher, Robin. BrioOuery Enterprise 4.0; Brio Technology's 1998. desktop OLAP tool, lexis.com. Pendse, N. The OLAP Report's website re Database Explosion, Oct. NetCube Corporation manual. Number of Installed Sites. Character 18, 1998. istics of Typical System Implementations. The OLAP Report's website re Database Explosion. Michael, J., et al. DM Review's website re Charles Schwab Plans for Comp.databases' website re OLAP Storage Algorithms, 1997. Continued Prosperity with Seagate Holos. Comp.databases' website re OLAP Storage Algorithms, Comp. data DM Review's website re Charles Schwab Plans for Continued Pros bases.olap newsgroup thread Apr. 1, 1997. perity with Seagate Holos. Biggs, Maggie. Pilot lands Impressive OLAP Suite, Product Michael, J., et al. DM Review's website re Charles Schwab Plans for Reviews, Infoworld, vol. 20, No. 36, Sep. 7, 1998. Continued Prosperity with Seagate Holos Oct. 1998. Biggs, Maggie. Pilot Lands Impressive OLAP Suite, Product Craig, Robert. Checking out OLAP Architectures; Technology Infor Reviews. mation.lexis, vol. 2, No. 12, Aug. 20, 1997. Maierhofer, Enrich. Present Limitations of Web-Enabled HOLAP: Craig, Robert. Checking out OLAP Architectures; Technology Infor Empirical Experiments with Employment and Unemployment Sta mation. Lexis. tistics, Abstract. US 8,473.450 B2 Page 5

Maierhofer, Enrich. Present Limitations of Web-Enabled HOLAP: sbit's website re Data Management—A Bedtime Story for Database Empirical Experiments with Employment and Unemployment Sta Managers 1990. tistics, Abstract pp. 883-887. Data Sheet—Designed and Optimized for Business-Critical Data Codd et al., Providing OLAP to User-Analysts: An IT Mandate. Warehousing, Informix Red Brick Warehouse. Hyperion Solutions Corporation. Data Sheet—Designed and Optimized for Business-Critical Data Codd et al., Providing OLAP to User-Analysts: An IT Mandate. Warehousing, Informix Red Brick Warehouse 1999. Hyperion Solutions Corporation 1993. Website re Introduction to OLE DB for OLAP Harrington, Jan. Relational Database Design Clearly Explained. Website re Introduction to OLE DB for OLAP, 2005. Morgan Kaufmann. Microsoft website re Introduction to OLE DB for OLAP 2005. Harrington, et al.: “Relational Database Design Clearly Explained”. iwaysoftware's website re Accelerating Red Brick Integration. 1998, p. v-xiii. 1-62, Morgan Kaufman. Microsoft SQL Server 7.0—SQL Server Design Goals. Harrington, Jan. Relational Database Design Clearly Explained. Lau. Microsoft SQL Server 7.0 Performance Tuning Guide, SQL7 Morgan Kaufmann pp. 1-62. performance tuning.doc, Oct. 1998. blgate.c1s website re Seagate Holos Roadmap. Lau, Microsoft SQL Server 70 Performance Tuning Guide, SQL7 blgate.c1's website re Seagate Holos Roadmap 1997. performance tuning.doc. Yoshizawa et al., Sal Based Association Rule Mining Using Com Lyco's website reprices on Microsoft SQL Server 7.0 for PC. mercial RBDMS (IBM DB2 UDB EEE) Abstract, 2000. Lyco's website reprices on Microsoft SQL Server 7.0 for PC Sep. 11, Yoshizawa et al., SQL Based Association Rule Mining Using Com 2005. mericial RDBMS (IBM DB2 UDB EEE) Abstract. Gimarc and Spellman. Modeling Microsoft SQL Server 7.0, Yoshizawa et al., SQL Based Association Rule Mining Using Com Abstract SES Proceedings of CMG 98, Dec. 6-11, 1998. mericial RDBMS (IBM DB2 UDB EEE) Da Wak 2000 LNCS 1874 Gilmarc and Spellman, Modeling Microsoft SQL. Server 7.0, pp. 301-306 2000. Abstract—SES. Spinner, Karen. Unlocking the Data Warehouse with OLAP, Wall Andrews, D. byte's website re Jeff Stamen, senior vice president of Street & Technology, vol. 15, No. 1, Jan. 1, 1997, p. PD18. Oracle's OLAP division, discusses the convergence of multidimen Spinner, Karen. Unlocking the Data Warehouse with OLAP, Wall sional and relational OLAP databases, Aug. 1996. Street & Technology. byte's website re Jeff Stamen, senior vice president of Oracle's Taylor, The Warehouse Meets the Web. The Data Administration OLAP division, discusses the convergence of multidimensional and Newsletter (Mar. 21, 2005). relational OLAP databases. Nadeau et al., Achieving Scalability in OLAP Materialized View Margaritis et al., Netcube: A Scalable Tool for Fast Data Mining and Selection (Extended Version), (2002). Compression, Abstract—Carnegie Mellon University, Proceedings Nadeau et al., Achieving Scalaboloty in OLAP Materialized View of the 27th VLDB Conference 2001. Selection (Extended Version, (2002) Proceedings of DOLAP '02 Margaritis et al., Netcube: A Scalable Tool for Fast Data Mining and Nov. 8, 2002. Compression, Abstract Carnegie Mellon University. Whitney, R. Windows IT Pro Website Page re: SOL Server Analysis Pfeiff, B., Windowsitpro's website re OLAP: Resistance is Futile!, Services 8.0, May 2000. Apr. 1999. Windows IT Pro Website Page re: SQL Server Analysis Services 8.0. Windowsitpro's Website re OLAP: Resistance is Futile. Fernandez, Red Brick Warehouse: A Read-Mostly RDBMS for Open databases.olap's website re OLAP with Regression Analysis, Built SMP Platforms. for Analysts?. Radsen, Boost Warehouse Performance Technology Tutorial Part II databaseolap's website re OLAP with Regression Analysis, Built for (2002). Analysts? Jun. 1990. Rowe et al., Data Abstration, Views and Updates in Rigel (1979). Brain, J. comp.databases.olap's newsgroup thread databases.olapSS Rowe, et al., “Data Abstraction, Views and Updates in Rigel', Pro website re OLAP with Regression Analysis, Built for Analysts? Jun. ceedings of the 1979 ACM SIGMOD International Conference on 17, 1996. Management of Data, pp.71-81, 1979. Elkins. Open OLAP, DBMS, Apr. 1998. Graefe, DataCube: An Integrated Data and Compute Server Based on Elkins. Open OLAP, DBMS, Apr. 1998, http://www.dbmsmag.com/ a Hypercube-Connected Dataflow Database Machine, Oregon 98.04d 14.html, pp. 1-7. Graduate Center (Jul 1988). Elkins. Open OLAP, DBMS. Berson and Smith, Data Warehousing, Data Mining, and OLAP Endress., Oracle 9i OLAP Release 2: A Relational-Multidimensional McGraw-Hill Companies, 1997, pp. 247-266. Database for Business Intelligence, Oracle. Berson and Smith, Data Warehouseing, Data Mining, and OLAP Endress Oracle 9i OLAP Release 2: A Relational-Multidimensional McGraw-Hill Companies. Database for Business Intelligence, Oracle Apr. 2001. Berson, etal, Data Warehousing, Data Mining, and OLAP, McGraw Oracle Express Relational Access Manager, A Source-Transparent Hill Companies, 1997, pp. 104-107. Decision Support Solution. Shahzad, Data Warehousing with Oracle, Oracular, Inc. Oracle Express Relational Access Manager, A Source-Transparent Berson and Smith, Data Warehousing, Data Mining, and OLAP Decision Support Solution 1998. McGraw-Hill Companies, 1997, pp. 98-100. Oracle Express Server, Enhanced Corporate Performance. Watterson, K. Windows IT Pro Website Page re: DB2 OLAP Server Oracle Express Server, Enhanced Corporate Performance 1998. 1.0, Sep. 1998. White Paper—Delivering OLAP to the Enterprise, Oracle. Windows IT Pro Website Page re: DB2 OLAP Server 1.0. White Paper—Delivering OLAP to the Enterprise. Oracle Jan. 1997. Kalman, D. et al., DBMS Online's website re Sybase Inco's Dennis Databases.olap's website re Oracle for reporting?, Nov. 2002. McEvoy System 11 Strategy, Oct. 1995. Databases.olap's website re Oracle for reproting? DBMS OnLine's website re Sybase Inc.'s Dennis McEvoy System Comp.databases.olap newsgroup thread databases.olaps website re 11 Strategy. Oracle for reporting? Nov. 7, 2002. Mohan, DWMS: Data Warehousing Management System, Software PartitionAggregationss7.txt. AG of Far East, Inc., Proceedings of the 22nd VLDB Conference, PartitionAggregationss7.txt May 11, 2005. 1996, pp. 588-. Lexis—Red Brick, Accrue to embed Red Brick Warehouse RDBMS Mohan, DWMS: Data Warehousing Management System, Software in online user response analysis system, M2 Presswire. AG of Far East, Inc. Lexis—Red Brick, Accrue to embed Red Brick Warehouse RDBMS aaaprod's website re Hybrid Database. in onlineuser response analysis system, M2 Presswire Dec. 11, 1996. aaaprod's website re Hybrid Database single slide of slide presenta Colby et al., Red Brick Vista: Aggregate Computation and Manage tion. ment, Abstract—Red Brick Systems, Inc. sbit's website re Data Management—A Bedtime Story for Database Colby, et al.: “Red Brick VistaTM: Aggregate Computation and Man Managers. agement”. Data Engineering, 1998. Proceedings, 14th International US 8,473.450 B2 Page 6

Conference on Orlando, FL, USA Feb. 23-27, 1998, Los Alamitos, Nadeau & Teorey, Achieving Scalability in OLAP Materialized View CAUSA, IEEE Comput. Soc, US, Feb. 23, 1998, pp. 174-177. Selection, DOLAP 02 Nov. 8, 2002. Red Brick Vista: Aggregate Computation and Management, Red Buzydlowski et al., A Framework for Object-Oriented On-Line Ana Brick Systems, Inc. lytic Processing, Abstract—DOLAP Proceedings of DOLAP '98, DBMS online's website re Red Brick Warehouse 5.1, Relational data 1998. warehousing and data mining are reaching new heights, Jun. 1998. Buzydlowski et al., A Framework for Object-Oriented On-Line Ana DBMS online's website re Red Brick Warehouse 5.1, Relational data lytic Processing, Abstract—DOLAP Proceedings of DOLAPp '98, warehousing and data mining are reaching new heights. Nov. 7, 1998, pp. 10-15. Rennhackkamp, J. DBMS online's website reRed Brick Warehouse Buzydlowski et al., A Framework for Object-Oriented On-Line Ana 5.1. Relational data warehousing and data mining are reaching new lytic Processing, Abstract—DOLAP 1998. heights Jun. 1998. Buzydlowski et al., A Framework for Object-Oriented On-Line Ana White Paper Extending the Scale, Reach, and Range ofYour Data lytic Processing, Abstract—DOLAP Warehouse, Next-Generation Data Warehousing, Sybase Interactive Liu and Ursu, A Framework for Global Optimization of Aggregate Warehouse. Queries, Abstract CIKM, 1997. White Paper Extending the Scale, Reach, and Range ofYour Data Liu and Ursu, A Framework for Global Optimization of Aggregate Warehouse, Next-Generation Data Warehousing, Sybase Interactive Queries, Abstract—CIKM. Warehouse 1997. Liu and Ursu, A Framework for Global Optimization of Aggregate DBMSmag's website re A Black Eye Heals as Sybase System 11 Queries, Abstract CIKM Proceedings of CIKM 97, 1997. Recovers from Performance and Quality Problems in System 10, Liu and Ursu, A Framework for Global Optimization of Aggregate Nov. 1996. Queries, Abstract—CIKM Proceedings of CIKM 97, pp. 262-269. DBMSmag's website re A Black Eye Heals as Sybase System 11 Shoshani and Rafanelli. A Model for Representing Statistical Recovers from Performance and Quality Problems in System 10. Objects, Abstract lawrence Berkeley Lab. DBMSmag's website re A Black Eye Heals as Sybase System 11 Mangisengi. A Multidimensional Modeling Approach for OLAP Recovers from Performance and Quality Problems in System 10, within the Framework of the Relational Model Based on Quotient DMBS Magazine Nov. 1996. Relations, Abstract—DOLAP Rennhackkamp, M. DBMSmag's website re A Black Eye Heals as Mangisengi. A Multidimensional Modeling Approach for OLAP Sybase 11Recovers from Performance and Quality Problems in Sys within the Framework of the Relational Model Based on Quotient tem 10 Nov. 1996. Relations, Abstract DOLAP, 1998. DBMS online's website re An Interactive Warehousing Architecture Mangisengi. A Multidimensional Modeling Approach for OLAP Can Extend the Scale ofYour Information, Aug. 1997. within the Framework of the Relational Model Based on Quotient DBMS online's website re An Interactive Warehousing Architecture Relations, Abstract DOLAP Proceedings of DOLAP '98, 1998. Can Extend the Scale ofYour Information, DMBS Magazine, Aug. Mangisengi. A Multidimensional Modeling Approach for OLAP 1997. within the Framework of the Relational Model Based on Quotient DBMS online's website re An Interactive Warehousing Architecture Relations, Abstract—DOLAP Proceedings of DOLAP '98, pp. Can Extend the Scale of Your Information. 40-46. Rennhackkamp, M. DBMS online's website re An Interactive Ware Trujillo et al. An Object Oriented Approach to Multidimensional housing Architecture Can Extend the Scale ofYour Information Aug. Database Conceptual Modeling (OOMD), Abstract—DOLAP, 1999. 1997. Trujillo et al. An Object Oriented Approach to Multidimensional Moorman. The Art of Designing HOIAP Database, SAS Institute Database Conceptual Modeling (OOMD), Abstract—DOLAP Inc. Paper 139). Trujillo et al. An Object Oriented Approach to Multidimensional Lexis The Informix Enterprise Strategy, Information Access Com Database Conceptual Modeling (OOMD), Abstract—DOLAP Pro pany, DBMS Magazine, vol. 9, No. 7, p. 42, Jun. 1996. ceedings of DOLAP 98 1999. Lexis The Informix Enterprise Strategy, Information Access Com Trujillo et al. An Object Oriented Approach to Multidimensional pany, a Thomson Corporation. Database Conceptual Modeling (OOMD), Abstract—DOLAP Pro McKie, S. The Informix Enterprise Strategy, Information Access ceedings of DOLAP '98, pp. 16-21. Company, DBMS Magazine vol. 9 No. 7 p. 42 Jun. 1996. Bose and Sugumaran. Application of Intelligent Agent Technology McKie, S. The Informix Enterprise Strategy, Information Access for Managerial Data Analysis and Mining, Abstract Data Base, The Company, A Thomson Corporation, DBMS Magazine vol. 9 No. 7 p. Data Base for Advances in Information Systems, vol. 30, No. 1, 42 Jun 1996. Winter 1999. Campbell. The New locking, logging, and Recover Architecture of Bose and Sugumaran. Application of Intelligent Agent Technology Microsoft SQL Server 7.0, Microsoft Corporation, Proceeding of the for Managerial Data Analysis and Mining, Abstract Data Base, The 25th VLDB Conference, 1999. Data Base for Advances in Information Systems, vol. 30, No. 1, Campbell. The New locking, Logging, and Recover Architecture of Winter 1999 pp. 77-94. Microsoft SQL Server 7.0, Microsoft Corporation. Bose and Sugumaran. Application of Intelligent Agent Technology Campbell. The New locking, Logging, and Recover Architecture of for Managerial Data Analysis and Mining, Abstract Data Base. Microsoft SQL Server 7.0, Microsoft Corporation, Proceeding of the Damiani and Bottarelli, A Terminological Approach to Business 25th VLDB Conference, 1999 p. 249. Domain Modeling, Abstract—EEC. Weinberger and Ender. The Power of Hybrid OLAP in a Multidi Damiani and Bottarelli, A Terminological Approach to Business mensional World, SAS Institute Inc. Paper 133-25). Domain Modeling, Abstract EEC Proceedings of the International Rigney, T., DBMS online's website re The Sybase Enterprise, May Conference on Database and Expert Systems 1990. 1996. Damiani and Bottarelli, A Terminological Approach to Business DBMS online's website re The Sybase Enterprise. Domain Modeling, Abstract EEC Proceedings of the International Raden, Worlds in Collision, Merging Business and IT Architecture Conference on Database and Expert Systems 1990 pp. 340-345. Perspectives to Evaluate Query and Analysis Tools Successfully, DeWitt et al., Client-Server Paradise, Abstract, Proceedings of the DBMS Magazine, Aug. 1997. 20th VLDB Conference 1994. Raden, Worlds in Collision, Merging Business and IT Architecture DeWitt et al., Client-Server Paradise, Abstract, Proceedings of the Perspectives to Evaluate Query and Analysis Tools Successfully, 20th VLDB Conference 1994 pp. 558-569. DBMS Magazine. DeWitt et al., Client-Server Paradise, Abstract. Nadeau & Teorey, Achieving Scalability in OLAP Materialized View McFadden. Data Warehouse for EIS: Some Issues and Impacts, Selection, DOLAP Abstract—IEEE. Nadeau & Teorey, Achieving Scalability in OLAP Materialized View McFadden. Data Warehouse for EIS: Some Issues and Impacts, Selection, DOLAP 02. Abstract IEEE 1996 pp. 120-129. US 8,473.450 B2 Page 7

McFadden. Data Warehouse for EIS: Some Issues and Impacts, Nestorov and Tsur, Integrating Data Mining with Relational DBMS: Abstract—IEEE 1996 Proceedings of the 29th HawaiiConference on A Tightly-Coupled Approach, Abstract NGITS99, L.Nes 1649 pp. Systems Sciences. 295-311 1999. Cheung et al., DROLAP A Dense-Region Based Approach to On Fernandez-Baizan et al., Integrating KDD Algorithms and RDBMS Line Analytical Processing, Abstract DEXA. Code, Abstract. Cheung et al., DROLAP A Dense-Region Based Approach to On Fernandez-Baizan et al., Integrating KDD Algorithms and RDBMS Line Analytical Processing, Abstract. DEXA ’99. Code, Abstract Proceedings of RSCTC 98. Cheung et al., DROLAP A Dense-Region Based Approach to On Fernandez-Baizan et al., Integrating KDD Algorithms and RDBMS Line Analytical Processing, Abstract DEXA '99, LNCS 1677 pp. Code, Abstract Proceedings of RSCTC 98 pp. 210-213 1998. T61-770 1999. Andlinger et al., Making C++ Object Persistent by Using a Standard Kotdis and Roussopoulos., DynaMat: A Dynamic View Management Relational Database System. System for Data Warehouses, Abstract. Andlinger et al., Making C++ Object Persistent by Using a Standard Kotidis, Y. and N. Roussopoulos "DynaMat: A Dynamic View of Relational Database System Proceedings of DEXA '91. Management System for Data Warehouses'. Proceedings of ACM Andlinger et al., Making C++ Object Persistent by Using a Standard SIGMOD International Conference on Management of Data, Jun. Relational Database System Proceedings of DEXA '91 1991 pp. 1-3, 1999. 374-379. Sun and Grosky. Dynamic Maintenance of Multidimensional Range Rafanelli and Ricci, Mefisto: A Functional Model for Statistical Data Partitioning for Parallel Data Processing, Abstract—DOLAP Entities, IEEE, 1993. Sun and Grosky. Dynamic Maintenance of Multidimensional Range Rafanelli and Ricci, Mefisto: A Functional Model for Statistical Data Partitioning for Parallel Data Processing, Abstract—DOLAP Entities, IEEE. 98. Rafanelli and Ricci, Mefisto: A Functional Model for Statistical Sun and Grosky. Dynamic Maintenance of Multidimensional Range Entities, IEEE Jul 16, 1992 pp. 670-681. Data Partitioning for Parallel Data Processing, Abstract—DOLAP Lehner, Modeling large Scale OLAP Scenarios. 98 pp. 72-79. Gunzel et al., Modeling of Census Data in a Multidimensional Envi Peneva and Angelova. End-User Interface to Improve Microcom ronment, Springer, Sep. 1998. puter DBMS Efficiency, Abstract. Gunzel et al., Modeling of Census Data in a Multidimensional Envi Peneva and Angelova. End-User Interface to Improve Microcom ronment, Springer. puter DBMS Efficiency, Abstract pp. 531-536. Gunzel et al., Modeling of Census Data in a Multidimensional Envi Peneva and Angelova. End-User Interface to Improve Microcom ronmental. Sorinzer Procccdinus of ADBIS 98 Sep. 7-10, 1998. puter DBMS Efficiency, Abstract Proceedings of the International Gunzel et al., Modeling of Census Data in a Multidimensional Envi Conference on Database and Expert System Applications 1991. ronmental. Sorinzer Procccdinus of ADBIS 98 Sep. 7-10, 1998 pp. Rundensteiner and Sic. Evaluating Aggregates in Possibilistic Rela 363-368. tional Databases, Abstract, Jan. 1991. Multi-Dimensional Modeling with BW, ASAP for BW Accelera Rundensteiner and Bic. Evaluating Aggregates in Possibilistic Rela tor—A background to the techniques used to create SAP BW tional Databases, Abstract. InfoCubes Document Version 2.0. Hsiao et al., The Federated Databases and System: A New Generation SAP Multi-Dimensional Modeling with BW, ASAP for BW Accel of Advanced Database System, Abstract. erator—A background to the techniques used to create SAP BW Hsiao et al., The Federated Databases and System: A New Generation InfoCubes Document Version 2.0 2000. of Advanced Database System, Abstract Proceeding of DEXA ’90. Gingras and Lakshmanan, nD-SQL: A Multi-Dimensional language Hsiao et al., The Federated Databases and System: A New Generation for Interoperability and OLAP, Abstract, 1998. of Advanced Database System, Abstract Proceeding of DEXA ’90 Gingras and Lakshmanan, nD-SQL: A Multi-Dimensional language 1990 pp. 186-190. for Interoperability and OLAP, Abstract. Eder. General Transitive Closures and Aggregate Functions, Gingras and Lakshmanan, nD-SQL: A Multi-Dimensional Lan Abstract, 1991. guage for Interoperability and OLAP, Abstract Proceedings of the Eder. General Transitive Closures and Aggregate Functions, 24th VLDB Conference 1998. Abstract. Shatdal, Order Based Analysis Functions in NCR Teradata Parallel Eder. General Transitive Closures and Aggregate Functions, RDBMS, Abstract. Abstract Proceedings of DEXA '91, 1991. Shatdal, Order Based Analysis Functions in NCR Teradata Parallel Eder. General Transitive Closures and Aggregate Functions, RDBMS, Abstract Proceeding ofEDBT 2000. Abstract Proceedings of DEXA 91..., 1991 pp. 54-59. Shatdal, Order Based Analysis Functions in NCR Teradata Parallel Goil and Choudhary, High Performance Data Mining Using Data RDBMS, Abstract Proceeding of EDBT 2000 pp. 219-223. Cubes on Parallel Computers, Abstract—IEEE. Albrecht et al., An Architecture for Distributed OLAP, Abstract, Goil and Choudhary, High Performance Data Mining Using Data 1998. Cubes on Parallel Computers, Abstract—IEEE 1998. Albrecht et al., An Architecture for Distributed OLAP, Abstract. Goil and Choudhary, High Performance Data Mining Using Data Albrecht et al., An Architecture for Distributed OLAP, Abstract Pro Cubes on Parallel Computers, Abstract IEEE 1998 pp. 548-555. ceedings of PDPTA 98. Goil and Choudhary, High Performance Multidimensional Analysis Albrecht et al., An Architecture for Distributed OLAP, Abstract Pro of Large Datasets, Abstract—DOLAP ceedings of PDPTA '98 Jul. 13-16, pp. 1482-1488. Goil and Choudhary, High Performance Multidimensional Analysis Charczuk, Physical Structure Design for Relational Databases, of Large Datasets, Abstract—DOALP '98. Abstract Proceedings of ADBIS 98. Goil and Choudhary, High Performance Multidimensional Analysis Charczuk, Physical Structure Design for Relational Databases, of Large Datasets, Abstract—DOLAP '98 1998 pp. 34-39. Abstract Proceedings of ADBIS 98 1998 pp. 357-362. Muto and Kitsuregawa, Improving Main Memory Utilization for Charczuk, Physical Structure Design for Relational Databases, Array-Based Datacube Computation, Abstract—DOLAP Abstract, 1998. Muto and Kitsuregawa, Improving Main Utilization for Array-Based Charczuk, Physical Structure Design for Relational Databases, Datacube Computation, Abstract—DOLAP '98. Abstract. Muto and Kitsuregawa, Improving Main Utilization for Array-Based Chaudhuri et al., Scalable Classification over SQL Databases, Datacube Computation, Abstract—DOLAP '98 1998 pp. 28-33. Abstract. Nestorov and Tsur, Integrating Data Mining with Relational DBMS: Zhao et al., Simultaneous Optimization and Evaluation of Multiple A Tightly-Coupled Approach, Abstract NGITS, 1999. Dimensional Queries, Abstract. Nestorov and Tsur, Integrating Data Mining with Relational DBMS: Lenz and Shoshani, Summarizability in OLAP and Statistical Data A Tightly-Coupled Approach, Abstract NGITS. Bases, Abstract—IEEE. US 8,473.450 B2 Page 8

Lenz and Shoshani, Summarizability in OLAP and Statistical Data Devlin and Murphy. An Architecture for a Business and Information Bases, Abstract IEEE 1997 pp. 22-27. System, IBM Systems Journal, vol. 27, No. 1 1988 pp. 60-80. Lenz and Shoshani, "Summarizability in OLAP and Statistical Data Nadeau and Teorey. A Pareto Model for OLAPView Size Estima Bases'. Proceddings of the 9th International Conference on tion. Scientifice and Statistical Database Management, Aug. 11-13, 1997. Codd. A Relational Model of Data for Large Shared Data pp. 132-143. Banks,Communications of the ACM, vol. 13, No. 6, Jun. 1970. Lehner, et al. "Normal Forms for Miltidimensional Databases'. Pro Codd. A Relational Model of Data for Large Shared Data ceedings of the 10th International Conference on Scientific and Sta Banks,Communications of the ACM. vol. 13, No. 6, Jun. 1990 pp. tistical Database Management, Jul. 1-3, 1998, pp. 63-72. 377-387. Hwang, Summary Data Representations in Application Develop Codd. A Relational Model of Data for Large Shared Data ments, Abstract, Sep. 1993. Banks,Communications of the ACM, vol. 13, No. 6. Hwang, Summary Data Representations in Application Develop Vassiliadis and Sellis. A Survey of Logical Models for OLAP Data ments, Abstract. base, SIGMOD Record, vol. 28, No. 4, Dec. 1999. Hwang, Summary Data Representations in Application Develop Vassiliadis and Sellis. A Survey of Logical Models for OLAP Data ments, Abstract DEXA 93 pp. 643-654. base, SIGMOD Record, vol. 28, No. 4, Dec. 1999 pp. 64-69. Hwang, Summary Data Representations in Application Develop Vassiliadis and Sellis. A Survey of Logical Models for OLAP Data ments, Abstract Proceedings of DEXA ’93 Sep. 1993. base, SIGMOD Record, vol. 28, No. 4. Dinter et al., The OLAP Market: State of the Art and Research Issues, Attunity's website page re Home page with Headlines. Abstract DOLAP 98. Attunity's website page re Home page with Headlines 2005. Dinter et al., The OLAP Market: State of the Art and Research Issues, Chaudhuri and Narasayya. AutoAdmin “What-if” Index Analysis Abstract DOLAP 98 pp. 22-27. Utility, 98. Han, Towards On-Line Analytical Mining in Large Databases, Chaudhuri and Narasayya. Auto Admin What-if Index Analysis Util Abstract. ity Proceedings of SIGMODd 98. Wieczerzycki, Transaction Management in Databases Supporting Chaudhuri and Narasayya. Auto Admin What-if Index Analysis Util Collaborative Applications, Abstract. ity Proceedings of SIGMOD 98 pp. 367-378. Wieczerzycki, Transaction Management in Databases Supporting Chaudhuri and Narasayya. AutoAdmin “What-if” Index Analysis Collaborative Applications, Abstract Proceedings of ADBIS '98 Utility. 1998. Lu and Tan. Buffer and Load Balancing in Locally Distributed Wieczerzycki, Transaction Management in Databases Supporting Database Systems, 1990. Collaborative Applications, Abstract Proceedings of ADBIS 98 pp. Lu and Tan. Buffer and Load Balancing in Locally Distributed 107-118. Database Systems, 1990 pp. 545-552. Bellahsene, View Adaption in Data Warehousing Systems, Abstract, Lu and Tan. Buffer and Load Balancing in Locally Distributed 1998. Database Systems. Bellahsene, View Adaption in Data Warehousing Systems, Abstract. Shanmugasundaram. Compressed Data Cubes for OLAP Aggregate Bellahsene, View Adaption in Data Warehousing Systems, Abstract Query Approximation on Continuous Dimensions. Proceedings of DEXA '98 Aug. 1998. Shanmugasundararn. Compressed Data Cubes for OLAP Aggregate Bellahsene, View Adaption in Data Warehousing Systems, Abstract Query Approximation on Continuous Dimensions Proceedings ofthe Proceedings of DEXA 98 pp. 300-309. KDD 99 Conference. Datta et al., A Case for Parallelism in Data Warehousing and OLAP Shanmugasundararn. Compressed Data Cubes for OLAP Aggregate Batini et ai. A Comparative Analysis of Methodologies for Database Query Approximation on Continuous Dimensions KDD99 1999pp. Schema Integration. ACM Computing Surveys, vol. 18, No. 2, Dec. 223-232. 1996. Barghoorn. N-dimensional Data Analysis with Sparse Cubes, Batini et al. A Comparative Analysis of Methodologies for Data Crosstab, OLAP, and APL. Schema Integration. ACM Computing Surveys, vol. 18, No. 2 Dec. Barghoorn. N-dimensional Data Analysis with Sparse Cubes, 1986. Crosstab, OLAP, and APL APL98 Jul. 1998 pp. 110-113. Batini et al. A Comparative Analysis of Methodologies for Data Barghoorn. N-dimensional Data Analysis with Sparse Cubes, Schema Integration. ACM Computing Surveys, vol. 18, No. 2. Crosstab, OLAP, and APL Proceedings of the APL '98 Conference. Batini et al. A Comparative Analysis of Methodologies for Data Hired Brains' website page re Article called Data, Data Everywhere Schema Integration, ACM Computing Surveys, vol. 18, No. 2 1987 written by Neil Raden. pp. 323-364. Agrawal et al., Database Mining: A Performance Perspective. Datta and Thomas. A Conceptual Model and Algebra for On-Line Gray et aIL. Data Cube: A Relational Aggregation Operator General Analytical Processing in Data Warehouses. izing Group-By, Cross-Tab, and Sub-Totals, 1996. Shatidal and Naughton. Adaptive Parallel Aggregation Algorithms. Gray et aIL. Data Cube: A Relational Aggregation Operator General Gyssens and Lakshmanan. A Foundation for Multi-Dimensional izing Group-By, Cross-Tab, and Sub-Totals, 1996 pp. 152-159. Databases, 1997. Gray et aIL. Data Cube: A Relational Aggregation Operator General Gyssens and Lakshmanan. A Foundation for Multi-Dimensional izing Group-By, Cross-Tab, and Sub-Totals. Databases. Chaudhuri and DayaL. Data Warehousing and OLAP for Decision Gyssens and Lakshmanan. A Foundation for Multi-Dimensional Support. Databases Proceedings of the 23d VLDB Conference 1997. Chaudhuri and Dayal. Data Warehousing and OLAP for Decision Gyssens and Lakshmanan. A Foundation for Multi-Dimensional Support Proceedings of SIGMOD 97. Databases Proceedings of the 23d VLDB Conference 1997 pp. 106 Chaudhuri and Dayal. Data Warehousing and OLAP for Decision 115. Support Proceedings of SIGMOD 97 1997 pp. 507-508. Gupta et al., Aggregate-Query Processing in Data Warehousing Envi Stanford Technology Group, In. An Informix Company's website ronments, 1995. page re Designing the Data Warehouse on Relational Databases. Gupta et al., Aggregate-Query Processing in Data Warehousing Envi Trujillo et al., Detecting Patters and OLAP Operations in the GOLD rOnmentS. Model, DOLAP, 99. Gupta et al., Aggregate-Query Processing in Data Warehousing Envi Trujillo et al., Detecting Patters and OLAP Operations in the GOLD ronments Proceedings of the 21st VLDB Conference 1995. Model, DOLAP Devlin and Murphy. An Architecture for a Business and Information Trujillo et al., Detecting Patters and OLAP Operations in the GOLD System.IBM Systems Journal, vol. 27. No. 1. Model, DOLAP 99 1999 pp. 48.53. Devlin and Murphy. An Architecture for a Business and Information Garcia-Molina et al., Invited Talk: Distributed and Parallel Comput System, IBM Systems Journal, vol. 27, No. I 1998. ing Issues in Data Warehousing. US 8,473.450 B2 Page 9

Garcia-Molina et al., Invited Talk: Distributed and Parallel Comput Mumicket al., Maintenance of Data Cubes and Summary Tables in a ing Issues in Data Warehousing p. 77. Warehouse, 1997. Yan & Larson. Eager Aggregation and lazy Aggregation, Proceed Mumicket al., Maintenance of Data Cubes and Summary Tables in a ings of the 21st VLDB Conference Zurich, Swizerland, 1995. Warehouse. Yan & Larson. Eager Aggregation and lazy Aggregation, Proceed Mumick, I. S., D. Quass and B. S. Mumick “Maintenance of Data ings of the 21st VLDB Conference Zurich, Swizerland. Cubes and Summary Tables in a Warehouse'. ACM SIGMOD Johnson and Chatziantoniou. Extending Complex Ad-Hoc OLAP Record, vol. 26, No. 2, Jun. 1997, pp. 100-111. 1999. Murnicket al., Maintenance of Data Cubes and Summary Tables in a Johnson and Chatziantoniou. Extending Complex Ad-Hoc OLAP Warehouse Proceedings of SIGMOD 97 1997. Proceedings of IKM 99. DM Review's website page re Media / MR Ensures Consistency for Johnson and Chatziantoniou. Extending Complex Ad-Hoc OLAP IBM Consultancy. pp. 170-179 CIKM 99 Nov. 1999. Vigeant, J. DM Review's website page re Media / MR Ensures Johnson and Chatziantoniou. Extending Complex Ad-Hoc OLAP Consistency for IBM Consultancy Jan. 1998. Pedersen et al., Extending OLAP Querying to Object Databases, Media / MR. The Hybrid OLAP Technology for the Enterprise, VLDB 2000 Submission. Speedware Corporation, Inc. Kommunedata et al., Extending Practical Pre-Aggregation in On McCarthy, Metadata Management for large Statistical Databases, Line Analytical Processing. 1982, pp. 234-243. Pedersen et al., Extending Practical Pre-Aggregation in On-Line McCarthy, Metadata Management for large Statistical Databases. Analytical Processing, 1999. McCarthy, Metadata Management for Large Statistical Databases Pedersen et al., Extending Practical Pre-Aggregation in On-Line Proceedings of the 8th VLDB Conference 1982, pp. 234-243. Analytical Processing Proceedings of the 25th VLDB Conference Ferguson, Microeconomic Algorithms for load Balancing in Distrib 1999. uted Computer Systems. Codd, Extending the Database Relational Model to Capture More Ferguson, Microeconomic Algorithms for Load Balancing in Dis Meaning, ACM Transactions on Database Systems, vol. 4, No. 4. tributed Computer Systems, 1988. 1979. Ferguson, Microeconomic Algorithms for Load Balancing in Dis Codd, Extending the Database Relational Model to Capture More tributed Computer Systems, 1988 pp. 491–499. Meaning, ACM Transactions on Database Systems, vol. 4, No. 4. Albrecht and Lehner, On-Line Analytical Processing in Distributed 1979 pp. 397-434. Data Warehouses. Codd, Extending the Database Relational Model to Capture More Quass and Widom. On-Line Warehouse View Maintenance for Batch Meaning, ACM Transactions on Database Systems, vol. 4. No. 4. Updates. Sheth and Larson, Federated Database Systems for Managing Dis Sarawagi. Research Report on Computing the Data Cube.IBM tributed, Heterogeneous, and Autonomous Databases, ACM Com Research Division. puting Surveys, vol. 22, No. 3, Sep. 1990. Chen and McNamee, On the Data Model and Access Method of Sheth and Larson, Federated Database Systems for Managing Dis Summary Data Management, IEEE Transactions on Knowledge and tributed, Heterogeneous, and Autonomous Databases, ACM Com Data Engineering, vol. 1, No. 4, 1989. puting Surveys, vol. 22, No. 3. Sellis and Ghosh, Concise Papers on the Multiple-Query Optimiza Sheth and Larson, Federated Database Systems for Managing Dis tion Problem, IEEE Transactions on Knowledge and Data Engineer tributed, Heterogeneous, and Autonomous Databases, ACM Com ing, vol. 2, No. 2. puting Surveys, vol. 22, No. 3. pp. 183-236 Sep. 1990. Sellis and Ghosh, Concise Papers on the Multiple-Query Optimiza Szykier, Fractal Compression of Data Structures, Electro Interna tion Problem, IEEE Transactions on Knowledge and Data Engineer tional 1994 Hynes Convention Center, pp. 609-616. ing, vol. 2, No. 2 1990. Szykier, Fractal Compression of Data Structures, Electro Interna DBMSs website page re Oracle 7 Release 7.3 by Martin Rennhack tional 1994 Hynes Convention Center, May 1994. kamp. Graefe et al., Hash joins and hash teams in Microsoft SQL Server, DBMSs website page re Oracle 7 Release 7.3 by Martin Rennhack 1998, pp. 86-97. kamp Nov. 1996 pp. 262-266. Graefe et al., Hash joins and hash teams in Microsoft SQL Server. DeWitt and Gray, Parallel Database Systems: The Future of High Graefe et al., Hash joins and hash teams in Microsoft SQL Server Performance Database Systems, Communications of the ACM, vol. Proceedings of the 24th VLDB Conference 1998, pp. 86-97. 35, No. 6, Jun. 1992. Johnson and Shasha, Hierarchically Split Cube Forests for Decision DeWitt and Gray, Parallel Database Systems: The Future of High Support: description and tuned design. Performance Database Systems, Communications of the ACM, vol. Chandra and Harel, Horn Clauses and the Fixpoint Query Hierarchy. 35, No. 6, Jun. 1992 pp. 85-98. Chandra and Harel, Horn Clauses and the Fixpoint Query Hierarchy DeWitt and Gray, Parallel Database Systems: The Future of High 1982. Performance Database Systems, Communications of the ACM, vol. Chandra and Harel, Horn Clauses and the Fixpoint Query Hierarchy 35, No. 6. ACM 2982 pp. 158-163. Ho et al., Partial-Sum Queries in OLAP Data Cubes Using Covering A White Paper by Speedware Corporation, Hybrid OLAP The Best Codes, 1997. of Both Worlds. Ho et al., Partial-Sum Queries in OLAP Data Cubes Using Covering A White Paper by Speedware Corporation, Hybrid Olap. The Best Codes. of Both Worlds 1997. Ho et al., Partial-Sum Queries in OLAP Data Cubes Using Covering Google's website page re Central Canada DB2 Users Group News Codes Proceedings of PODS 97 1997. Announced: IBM DB2 Universal Database Version 5.2. Ho et al., Partial-Sum Queries in OLAP Data Cubes Using Covering Markl et al., Improving OLAP Performance by Multidimensional Codes Proceedings of PODS 97 1997 pp. 228-237. Hierarchical Clustering. Ramsak et al., Physical DataModeling for Multidimensional Access Markl et al., Improving OLAP Performance by Multidimensional Methods. Hierarchical Clustering, 1999. Pourabbas and Rafanelli, PGL: An Extended Pictorial Query Lan Mark et al., Improving OLAP Performance by Multidimensional guage for querying Geographical Databases using Positional and Hierarchical Clustering Proceedings of Ideas '99 1999. OLAP Operators, Nov. 1999. Chaudhuri and Shim, Including Group-By in Query Optimization, Pourabbas and Rafanelli, PGL: An Extended Pictorial Query Lan 1994. guage for querying Geographical Databases using Positional and Chaudhuri and Shim, Including Group-By in Query Optimization. OLAP Operators. Chaudhuri and Shim, Including Group-By in Query Optimization Pourabbas and Rafanelli, PQL: An Extended Pictorial Query Lan Proceedings of the 20th VLDB Conference, 1994. guage for querying Geographical Databases using Positional and Salzberg and Reuter, Indexing for Aggregation. OLAP Operators Proceedings of ACM GIS 99 Nov. 1999. US 8,473.450 B2 Page 10

Pourabbas and Rafanelli, PQL: An Extended Pictorial Query Lan Gyssens et al., Tables As a Paradigm for Querying and Restructuring guage for querying Geographical Databases using Positional and Proceedings of PODS 96 1996. pp. 93-103. OLAP Operators Proceedings of ACM GIS 99 Nov. 1999 pp. 165 Srivastava et al., TBSAM. An Access Method for Efficient Process 166. ing of Statistical Queries, IEEE Transactions of Knowledge and Data Markl et al., Processing Operations with Restrictions in RDBMS Engineering, vol. 1. No. 4, 1989. without External Sorting: The Tetris Algorithm, 1999. Srivastava et al., TBSAM. An Access Method for Efficient Process Markl et al., Processing Operations with Restrictions in RDBMS ing of Statistical Queries, IEEE Transactions of Knowledge and Data without External Sorting: The Tetris Algorithm. Engineering, vol. 1. No. 4 pp. 419–423 Dec. 1989. Markl et al., Processing Operations with Restrictions in RDBMS without External Sorting: The Tetris Algorithm Proceedings of ICDE Srivastava et al., TBSAM. An Access Method for Efficient Process 99 1999. ing of Statistical Queries, IEEE Transactions of Knowledge and Data Cabibbo and Torlone, Querying Multidimensional Databases. Engineering, vol. 1. No. 4. Bansal, Real World Requirements for Decision Support—Implica LeFevre, J., LookSmart Find Articles' website page re There's a tions for RDBMS, 1995. Whole Lot of HOLAP Goin' On-hybrid online analytical processing Bansal, Real World Requirements for Decision Support—Implica systems combine relational OLAP and multidimensional OLAP– tions for RDBMS. Technology Information, 1998. Bansal, Real World Requirements for Decision Support—Implica LeFevre, J., LookSmart Find Articles' website page re There's a tions for RDBMS Proceedings of SIGMOD 95 1995 p. 448. Whole Lot of HOLAP Goin' On-hybrid online analytical processing Tabor Communications' website page re SAP Customers Eastman systems combine relational OLAP and multidimensional OLAP– Kodak and Halliburton Among 750 Customers Worldwide to Imple Technology Information, Feb. 18, 1998. ment the SAP Business Information Warehouse Solution, 1999. LookSmart Find Articles' website page re There's a Whole Lot of Tabor Communications' website page re SAP Customers Eastman HOLAP Goin' On-hybrid online analytical processing systems com Kodak and Halliburton Among 750 Customers Worldwide to Imple bine relational OLAP and multidimensional OLAP Technology ment the SAP Business Information Warehouse Solution. Information. Gupta, Selection of Views to Materialize in a Data Warehouse. LeFevre, J.There's a Whole Lot of HOLAP Goin' On-hybrid online Graefe et al., Sort vs. Hash Revisited, IEEE Transactions on Knowl analytical processing systems combine relational OLAP and multi edge and Data Engineering, vol. 6, No. 6., Dec. 1994. dimensional OLAP Technology Information Feb. 18, 1998. Graefe et al., Sort vs. Hash Revisited, IEEE Transactions on Knowl Marklet al., The Hypercue RDBMS: Multidimensional edge and Data Engineering, vol. 6, No. 6., Dec. 1994 pp. 934-944. Indexing of Relational Tables. Graefe et al., Sort vs. Hash Revisited, IEEE Transactions on Knowl Bayer, UB-Trees and UB-Cache. A new Processing Paradigm for edge and Data Engineering, vol. 6, No. 6. Database Systems, Mar. 15, 1997. Speedware's website page re Mediac Features & Benefits. Bayer, UB-Trees and UB-Cache. A new Processing Paradigm for Red Brick Systems, Inc. Star Schema Processing for Complex Que Database Systems. ries, 1997. Aho and Ullman, Universality of Data Retrieval Languages. Red Brick Systems, Inc. Star Schema Processing for Complex Que Aho and Ullman, Universality of Data Retrieval Languages pp. 110 S. 120. Shoshani and Wong. Statistical and Scientific Database Issues, IEEE Hurtado et al., Updating OLAP Dimensions, 1999, pp. 60-66. Transactions on Software Engineering, vol. SE-11, No. 10. Oct. Hurtado et al., Updating OLAP Dimensions. 1985. Hurtado et al., Updating OLAP Dimensions Proceedings of Shoshani and Wong. Statistical and Scientific Database Issues, IEEE DOLAP'99, 1999, pp. 60-66. Transactions on Software Engineering, vol. SE-11, No. 10. Oct. Advanced Communication Technologies website page re CTS 1985 pp. 1040-1047. Vision & Strategy. Shoshani and Wong. Statistical and Scientific Database Issues, IEEE White Paper Abstract Connecting Seagate Software products to the Transactions on Software Engineering, vol. SE-11, No. 10. SAP Business InformationWarehouse (BW), Enterprise Information Ghosh, Statistical Relational Databases: Normal Forms, IEEE Trans Management, Feb. 5, 1999. actions on Knowledge and Data Engineering, vol. 3, No. 1, 1991. White Paper Abstract Connecting Seagate Software products to the Ghosh, Statistical Relational Databases: Normal Forms, IEEE Trans SAP Business InformationWarehouse (BW), Enterprise Information actions on Knowledge and Data Engineering, vol. 3, No. 1, 1991 pp. Management. 55-64. Crystal Reports: A Beginner's Guide. Module 1 Getting Started. Ghosh, Statistical Relational Databases: Normal Forms, IEEE Trans Roussoopoulos et al., The Cubetree Storage Organization, Advanced actions on Knowledge and Data Engineering, vol. 3, No. 1. Communication Technology, Inc. Shoshani and Rafanelli. A Model for Representing Statistical Healthcare Informatics.Online website page re Data Mining Goes Objects. Multidimensional by Mark Hettler, Mar. 1997. Stamen, Structuring Database for Analysis, IEEE Spectrum. Roussoopoulos et al., A High Performance ROLAP Datablade Stamen, Structuring Database for Analysis, IEEE Spectrum Oct. power point presentation. 1993 pp.55-58. Staudt et al., Incremental Maintenance of Externally Materialized The OLAP Report website page re Summary Review: Media Views, Abstract, 1996. (Speedware). Staudt et al., Incremental Maintenance of Externally Materialized The OLAP Report website page re Summary Review: Media Views, Abstract. (Speedware) Mar. 29, 1999. Staudt et al., Incremental Maintenance of Externally Materialized Sybase Inc.'s website page re Certification Report No. 136 of Sybase Views, Abstract Proceedings of the 22nd VLDB Conference 1996 pp. Adaptive Server IQ Version 12.02 with Seagate Software Crystal T5-86. Reports and Crystal Info Version 7.0v. Organizations Survival website page re New Version of Hyperion Sybase Inc.'s website page re Certification Report No. 136 of Sybase Essbase OIAP Server Raises Bar for Deploying Analytic Application Adaptive Server IQ Version 12.02 with Seagate Software Crystal AcroSS . . . . Reports and Crystal Info Version 7.0v Jun. 1999. Organizations Survival website page re New Version of Hyperion Bliujute et al., Systematic Change Management in Dimensional Data Essbase OIAP Server Raises Bar for Deploying Analytic Application Warehousing. Across . . . downloaded from www.organizationalsurvival.com. Gyssens et al., Tables As a Paradigm for Querying and Restructuring, White Paper Pilot Analysis Server, Multi-dimensional OLAP 1996. Engine Including Hybrid OLAP Gyssens et al., Tables As a Paradigm for Querying and Restructuring. Pilot Internet Publisher: A Foundation for Web-Enabled OLAP Gyssens et al., Tables As a Paradigm for Querying and Restructuring Aberdeen Group “Pilot Internet Publisher: A Foundation for Web Proceedings of PODS 96 1996. Enabled OLAP Feb. 1997. US 8,473.450 B2 Page 11

Seagate Holos 7–Series 1, Supported Platforms, Operating Systems Technical White Paper—Inside Alphablox Analytics: An In-Depth and Databases. Technical View of Alphablox Analytics. Srivastava et al., Answering Queries with Aggregation Using Views, Ramsak et al., Integrating the UB-Tree into a Database System Ker Abstract, 1996. nel, Abstract. Srivastava et al., Answering Queries with Aggregation Using Views, Ramsak et al., Integrating the UB-Tree into a Database System Ker Abstract. nel, Abstract Proceedings of the 26th VLDB Conference 2000. Srivastava et al., Answering Queries with Aggregation Using Views, Ramsak et al., Integrating the UB-Tree into a Database System Ker Abstract, Proceedings of the 22nd VLDB Conference 1996. nel, Abstract Proceedings of the 26th VLDB Conference 2000 pp. Srivastava et al., Answering Queries with Aggregation Using Views, 263-272. Abstract, Proceedings of the 22nd VLDB Conference 1996 pp. 318 Stonebraker et al., Mariposa: A Wide-Area Distributed Database 329. System, Abstract. Zou et al., Back to the Future: Dynamic Hierarchical Clustering, Roussopoulos, Nick. Materialized Views and Data Warehouses, Abstract. Abstract, 1997. Patel et al., Building a Scalable Geo-Spatial DBMS: Technology, Roussopoulos, Nick. Materialized Views and Data Warehouses, Implementation, and Evaluation, Abstract. Abstract. Data Flux Registration's website re Customer Data Integration: Cre Roussopoulos, Nick. Materialized Views and Data Warehouses, ating One TrueView of the Customer. Abstract Proceedings of the 4th KRDB Workshop Aug. 30, 1997. Martin, J., DM Review's website re Cybercorp: Trends in Distributed Bernstein et al., Meta-Data Support for Data Transformations. Using Data Warehousing. Microsoft Repository, Abstract, 1999. Martin, J., DM Review's website re Cybercorp: Trends in Distributed Bernstein et al., Meta-Data Support for Data Transformations. Using Data Warehousing Jan. 1999. Microsoft Repository, Abstract. DM Review's website re Cybercorp: Trends in Distributed Data Bernstein et al., Meta-Data Support for Data Transformations. Using Warehousing. Microsoft Repository, Abstract Bulletin of the IEEE Computer Soci Rolleigh et al. Data Integration: The Warehouse Foundation. ety Committee on Date Engineering 1999. Theodoratos et al. Data Warehouse Configuration, Abstract, 1997. Bernstein et al., Meta-Data Support for Data Transformations. Using Theodoratos et al. Data Warehouse Configuration, Abstract. Microsoft Repository, Abstract Bulletin of the IEEE Computer Soci Theodoratos et al. Data Warehouse Configuration, Abstract Proceed ety Committee on Date Engineering 1999 pp. 9-14. ings of the 23rd VLDB Conference 1997. Microsoft SQL Server—Microsoft SQL Server 7.0 Decision Support Malvestuto, F.The Derivation Problem for Summary Data, Abstract, Services: lowering the Cost of Business Intelligence, 1998. 1988. Microsoft SQLl Server Microsoft SQL Server 7.0 Decision Sup Malvestuto, F.The Derivation Problem for Summary Data, Abstract, port Services: lowering the Cost of Business Intelligence 098-80705 ACM 1988 pp. 82-89. 1998. Malvestuto, F.The Derivation Problem for Summary Data, Abstract. Microsoft SQL Server—Microsoft SQL Server 7.0 Decision Support Chen et al., A Distributed OLAP Infrastructure for E-Commerce, Services: lowering the Cost of Business Intelligence. Abstract. Gaede et al., Multidimensional Access Methods, ACM Computing DSS Lab Comparative Evaluation of Microsoft OLAP Services 7.0 Surveys, vol. 30, No. 2, Jun. 1996. SP1 and Oracle Express 6.3.0. Gaede et al., Multidimensional Access Methods, ACM Computing Rahm, Erhard. Dynamic Load Balancing in Parallel Database Sys Surveys, vol. 30, No. 2, Jun. 1996 pp. 170-231. tem, Abstract, Aug. 1996. O'Neil et al., Multi-Table Joins Through Bitmapped Join Indices, Rahm, Erhard. Dynamic Load Balancing in Parallel Database Sys SIGMOD Record, vol. 24, No. 3, Sep. 1995. tem, Abstract. O'Neil et al., Multi-Table Joins Through Bitmapped Join Indices, Rahm, Erhard. Dynamic Load Balancing in Parallel Database Sys SIGMOD Record, vol. 24, No. 3, Sep. 1995 pp. 8-11. tem, Abstract Proceedings EURO-PAR 96 Conf. LNCS Aug. 1996. Pendse, N., OLAP Omnipresent, Byte Magazine, Feb. 1998. Hsiao, David. Federated Databases and Systems: Part 1—ATutorial BYTE's Website re OLAP Omnipresent. on Their Data Sharing, Abstract, VLDB Journal, vol. 1, pp. 127-179, Zhao et al. On the Performance of an Array-Based ADT for OLAP 1992. Workloads, Abstract, Aug. 29, 1996. Hsiao, David. Federated Databases and Systems: Part 1—ATutorial Zhao et al. On the Performance of an Array-Based ADT for OLAP on Their Data Sharing, Abstract. Workloads, Abstract. Hsiao, David. Federated Databases and Systems: Part II—ATutorial Fiser et al., On-Line Analytical Processing on Large Databases Man on Their Resource Consolidation, Abstract, VLDB Journal vol. 2, pp. aged by Computational Grids*, Abstract. 285-310, 1992. e-consultancy's website re Oracle Express 6.2 Delivers Unparalleled Hsiao, David. Federated Databases and Systems: Part II—ATutorial Integration, Ease of Use and Platform Support, May 1998. on Their Resource Consolidation, Abstract. e-consultancy's website re Oracle Express 6.2 Delivers Unparalleled Crystal Decisions. Holos Version 6. Holos Compound OLAP Archi Integration, Ease of Use and Platform Support. tecture, 2002. Yan et al., Performing Group-By before Join, Abstract. Crystal Decisions. Holos Version 6. Holos Compound OLAP Archi Yan et al., Performing Group-By before Join, Abstract. Proceedings tecture. of the 10th IEEE Conference on Data Engineering 1994 pp. 89-100. O'Neil et al., Improved Query Performance with Variant Indexes, Wu, Ming-Chuan, Ouery Optimization for Selections using Bitmaps, Abstract. Abstract, 1994, pp. 89-100. Sarawagi, Sunita. Indexing OIAP Data, Abstract, 1997. Wu, Ming-Chuan, Ouery Optimization for Selections using Bitmaps, Sarawagi, Sunita. Indexing OIAP Data, Abstract. Abstract. Sarawagi, Sunita. Indexing OIAP Data, Abstract, Bulletin of the Cheung et al., Requirement-Based Data Cube Schema Design, IEEE Computer Society Technical Committee on Data Engineering Abstract. 1997. DM Review's website re Analytics Portal: Scalability Stress Test: An Sarawagi, Sunita. Indexing OIAP Data, Abstract, Bulletin of the Anaylsis of the Scalability of the MicroStrategy and Tandem DSS. IEEE Computer Society Technical Committee on Data Engineering Kamp et al., A Spatial Data Cube Concept to Support Data Analysis 1997 pp. 36-43. in Environmental Epidemiology, Abstract. Data Sheet Informix MetaCube 4.2, Delivering the Most Flexible Kamp et al., A Spatial Data Cube Concept to Support Data Analysis Business-Critical Decision Support Environments. in Environmental Epidemiology, Abstract 1997. Data Sheet Informix MetaCube 4.2, Delivering the Most Flexible Kamp et al., A Spatial Data Cube Concept to Support Data Analysis Business-Critical Decision Support Environments Jul. 1999. in Environmental Epidemiology, Abstract 1997 pp. 100-103. Technical White Paper Inside Alphablox Analytics: An In-Depth SQL in Analysis Services, 2004. Technical View of Alphablox Analytics, 2004. SQL in Analysis Services. US 8,473.450 B2 Page 12

Reinwald et al., SQL Open Heterogeneous Data Access, Abstract, “The Multimodel, Multilingual Approach to Interoperability of 1998, pp. 506-507. Multidatabase Systems.” David K. Hsiao and Magdi N. Kamel, Reinwald et al., SQL Open Heterogeneous Data Access, Abstract. Departments of Computer and Administrative Sciences, Naval Post Reinwald et al., SQL Open Heterogeneous Data Access, Abstract graduate School. Proceedings of SIGMOD 98 1998 pp. 506-507. “The Multimodel, Multilingual Approach to Interoperability of Microsoft's website re Microsoft TechNet. SQL Server 7.0 Resource Multidatabase Systems.” David K. Hsiao and Magdi N. Kamel, Guide. Departments of Computer and Administrative Sciences, Naval Post Moran, B., et al., SQL Server Savvy's website reHow to Leverage the graduate School 1991. Capabilities of OLAP Services, Jul. 1999. “The Multimodel, Multilingual Approach to Interoperability of SQL Server Savvy's website re. How to Leverage the Capabilities of OLAP Services. Multidatabase Systems.” David K. Hsiao and Magdi N. Kamel, Radding, Alan. Support Decision Makers with a Data Warehouse, Departments of Computer and Administrative Sciences, Naval Post Datamation, Mar. 15, 1995. graduate School 1991 pp. 208-211. Radding, Alan. Support Decision Makers with a Data Warehouse, “MDD Database Reaches the Next Dimension' Richard Finkelstein, Datamation, Mar. 15, 1995 pp. 53-56. Database Programming and Design, Apr. 1995, vol. 8. Radding, Alan. Support Decision Makers with a Data Warehouse, “Materialized View and Index Selection Tool for Microsoft SOL Datamation. Server 2000” Sanjay Agrawal, Surajit Chaudhuri and Vivek Chapman K. Article from itWorldCanada—BI/SUITE Plays Catch NarasayyZ. up to Competitors Feb. 26, 1999. “Materialized View and Index Selection Tool for Microsoft SOL Chapman K. Article from itWorldCanada—BI/SUITE Plays Catch Server 2000” Sanjay Agrawal, Surajit Chaudhuri and Vivek up to Competitors. Narasayya Proceedings of SIGMOD 2001 May 21-24, 2001 p. 608. Article from itWorldCanada—Business Objects 5.0 Dresses. Itself up “Managing Multidimensional Data: Harnessing the Power' Jay with a Cleaner User Interface. Louise Weldon, Database Programming & Design, Aug. 1995, vol. 8. Capman, K. Article from itWorldCanada—Business Objects 5.0 “M(DM): An Open Framework for Interoperation of Multimodel Dresses. Itself up with a Cleaner User Interface. Multidatabase Systems' Thierry Barsalou and Dipayan MacMillan, M. Article from itWorldCanada—Business Objects 5.0 Gangopadhyay. Dresses. Itself up with a Cleaner User Interface Sep. 10, 1999. “M(DM): An Open Framework for Interoperation of Multimodel Article—Hummingbird Acquires Data Transformation Company Multidatabase Systems' Thierry Barsalou and Dipayan Leonard's Logic. Gangopadhyay pp. 218-227. Article—Business Objects Delivers NextVersion of Comprehensive “M(DM): An Open Framework for Interoperation of Multimodel Business Intelligence Suite. Multidatabase Systems' Thierry Barsalou and Dipayan Article—Hummingbird Dives Into Business Intelligence (Hum Gangopadhyay 1992. mingbird BI Suite) (Product Announcement). “Help for Hierarchies' Ralph Kimball, Data Warehouse Architect, Plos Kine, B. Article—Hummingbird Dives Into Business Intelli Sep. 1998. gence (Hummingbird Bi Suite) (Product Announcement) Aug. 12, “Beyond Decision Support' Edgar Codd, Sharon Codd and Clynch T. 1998. Salley, Computerworld. Printout from Sybase Website “Open ServerConnect Data Sheet”. “Beyond Decision Support' Edgar Codd, Sharon Codd and Clynch T. Printout from Sybase Website Sybase Adaptive Server IQ 12.0.3 with Salley, Computerworld, Jul. 26, 1993, p. 87. Actuate Reporting System Version 3.2.1. Certification Date: Jul. “A Physical Storage model for Efficient Statistical Ouery Process 1999, Report. ing Wee K. Ng and Chinya V. Ravishankar, Dept. of Electrical Printout from Sybase Website Sybase Adaptive Server IQ 12.0.3 with Engineering and Comptuer Science, University of Michigan. Actuate Reporting System Version 3.2.1. Certification Date: Jul. “A Physical Storage model for Efficient Statistical Ouery Process 1999, Report 150. ing Wee K. Ng and Chinya V. Ravishankar, Dept. of Electrical Printout from Sybase Website “Sybase Adaptive Server IQ 12.03.1 Engineering and Comptuer Science, University of Michigan IEEE with BusinessObjects Version 5.0, Certification Date: Jul. 1999, 1994 pp. 97-106. Report 148”. “A Physical Storage model for Efficient Statistical Ouery Process Printout from Sybase Website “Sybase Adaptive Server IQ Version ing Wee K. Ng and Chinya V. Ravishankar, Dept. of Electrical 12.0, Sybase DirectConnect for MVS/DB211.7 and Sybase Adaptive Engineering and Comptuer Science, University of Michigan 1994. Server Enterprise 11.9.1 with InfoMaker 7.0, Certification Date: Mar. “SQL Is Our Language, Fix It Now” Datamation, Jun. 1, 1994. 1999, Report 137”. “SQL Is Our Language, Fix It Now' Datamation, Jun. 1, 1994 pp. Printout from Sybase Website “Sybase Adaptive Server IQ Version 43-45. 12.0.2 with Hummingbird BI Suite Version 5.0, Certification Date: Kimball, R. “SQL Is Our Language, Fix It Now” Datamation, Jun. 1, Mar. 1999, Report 133”. 1994. Printout from Sybase Website “Sybase Adaptive Server IQ Version NetCube “Discussion of NetCube in the Context of IBM's DB2 12.0.2 with Seagate Software Crystal Report and Crystal InfoVersion OLAP Server” Jun. 7, 1997. 7.0, Certification Date: Mar. 1999, Report 136”. NetCube Health Care Client—Actual NetCube Model Design; Tele Printout from Sybase Website “Sybase Adaptive Server IQ Version communications—Business Model Design; Direct Marketing Cli 12.4 with Microsoft Access 2000 Version 9.0, Certification Date: Oct. ent—Business Model Design. 1999, Report 155”. NetCube Health Care Client—Actual NetCube Model Design; Tele Printout from Sybase Website “Sybase DirectConnect for Oracle”. communications—Business Model Design; Direct Marketing Cli Printout from Sybase Website “Sybase DirectConnect”. ent—Business Model Design Nov. 1, 2005. Printout from Sybase Website “Sybase IQ Version 11.0 Product NetCube Product Overview (Just-in-Time, not Just-in-Case Business Assessment'. Intelligence. Unleashing the Knowledge in Your Data) Version 1.7; Printout from Sybase Website “Understanding Open Server with NetCube. Customer Success Stories'. NetCube Corporation Milestone and Significant Events. Kimball, R., et al., “Why Decision Support Fails and How to Fix it.” NetCube ROLAPBuilder and CubeOptimizer Overview. Datamation, Jun. 1, 1994. NetCube Performance Overview. Kimball, R., et al., “Why Decision Support Fails and How to Fix it.” Erik Thomsen, Dimensional Systems, Remarks from NetCube Prod Datamation, Jun. 1, 1994 pp. 40-43. uct Review on Jan. 14, 1997. Article—"Why Decision Support Fails and How to Fix it.” Datama Albrecht, J. et al.: 'Aggregate-based Query Processing in a Parallel tion, Jun. 1, 1994. Data Warehouse Server'. Proceedings of the Tenth International TPD (Transaction Processing Performance Council) Interview with Workship on Database and Expert Systems Applications, Sep. 1-3, Jack Stevens, Francois Raab and Kim Shanley. 1999, pp. 40-44. US 8,473.450 B2 Page 13

Albrecht, et al.: "Management of Multidimensional Aggregates for Harinarayan et al.: “Implementing Data Cubes Efficiently”. Proceed Efficient Online Analytical Processing”. Database Engineering and ings of the 1996 SIGMOD 1996, p. 1-25. Applications, Ideas '99. International Symposium Proceedings Hellerstein et al.: Online Aggregation, Presented at the ACM Montreal, Que. Canada Aug. 2-4, 1999, Los Alamitos, CA, USA, SIGMOD International Conference on Management of Data, May IEEE Comput. Soc, US, Aug. 2, 1999, pp. 156-164. 11-15, 1997. http://www.acm.org/pubs/citations proceedings/mod/ Albrecht, et al.: "Management of Multidimensional Aggregates for 253260/p171-hellerstein?, pp. 1-12. Efficient Online Analytical Processing”. Database Engineering and Hellerstein, J.M., "Optimization Techniques for Queries with Expen Applications, 1999, Ideas '99. International Symposium Proceedings sive Methods”. ACM Transactions on Database Systems (TODS), Montreal, Que. Canada. vol. 23, No. 2, pp. 113-157, 1998. Agarwal, S. et al.: “On the Computation of Multidimensional Aggre Ho, C.-T. et al.: Range Queries in OLAPData Cubes, Presented at the gates'. Proceedings of the 22nd VLDB Conference, Sep. 30, 1996, ACM SIGMOD International Conference on Management of Data, pp. 506-521. May 11-15, 1997. http://www.acm.org/pubs/citations/proceedings/ Agarwal, S. et al.: “On the Computation of Multidimensional Aggre mod/253260/p73-ho?, pp. 1-16. gates', 22nd Intl Cof on Very Large Databases, 1996, pp. 1-16. Ho, C.-T. et al.: Range Queries in OLAPData Cubes, ACM SIGMOD Agrawal et al.: “Modeling Multidimensional Databases'. IBM International Conference on Management of Data, pp. 73-88. Almaden Research Center, 1995, Presented at the 13th International Introduction to Structured Query Language, http:/w3.one.net/ Conference on Data Engineering, Apr. 1997, pp. 1-23. -hoffmann'sqltut.htm, 2000, p. 1-33. Agrawal et al.: “Modeling Multidimensional Databases'. IBM Introduction to Structured Query Language, http:/w3.one.net/ Almaden Research Center, 1995, Presented at the 13th International -hoffmann'sqltut.htm, 2000, p. 1-33. http:/w3.one.net/~about.jhoff Conference on Data Engineering, pp. 1-23, available as Research man/sqltut.htm. Report 1995. Kimball, R., "Aggregate Navigation With (Almost) No MetaData'. Anonymous: “Introduction to MDDBs'. SAS Institute Inc., SAS/ http://www.dbmsmag.com/9608d54.html, 1996, p. 1-8. MDDB Server Administrators Guide Version 8, 1999, pp. 3-10. Kimball, R.: “The Aggregate Navigator; How to Optimize Your Data The Art of Indexing by not indicated, Dynamic Information Systems Warehouse Using Aggregates Without Driving Your End Users Corporation, 1999, p. 3-30. Crazy”, DBMS (www.dbmsmag.com) Nov. 1995. The Art of Indexing.: A White Paper by DISC, Oct. 1999, pp. 3-30, Korn, F. et al.: “Efficiently Supporting Ad Hoc Queries in Large Dynamic Information Systems Corporation. Datasets of Time Sequences'. Presented at ACM SIGMOD Interna Carickhoff, Rich: "Internet Systems' website re A New Face for tional Conference on Management of Data, May 11-15, 1997, http:// OLAP, Jan. 1997. www.acm.org/pubs/citations/proceedings/mod/253260p.289-korn?, Carickhoff, Rich: "Internet Systems' website re A New Face for pp. 1-22. OLAP, Jan. 1997. DBMS Magazine. Li, et al.: A DataModel for Supporting On-Line Analytical Process Chaudhuri, et al.: "An Overview of Data Warehousing and OLAP ing, Presented at the International Conference on Information and Technology”. Sigmod Record, Sigmod, New York, NY, US, vol. 26. Knowledge Management, 1996, pp. 81-88. No. 1, Mar. 1997, pp. 65-74. Li, C. et al.: "Optimizing Statistical Queries by Exploiting Orthogo Chaudhuri, S. et al., “An Overview of Data Warehousing and OLAP nality and Interval Properties of Grouping Relations'. Presented at Technology”, SIGMOD Record, New York, NY Mar. 1997, vol. 26, the 8th International Conference on Scientific & Statistical Database No. 1. Management, Jun 1996, pp. 1-10. Cheung, et al.: “Towards the Building of a Dense-Region-Based McKie, S.: “Essbase 4.0', DBMS, Jul. 1996, Web-based Product OLAP System'. Data and Knowledge Engineering, vol. 36, No. 1, Review for Arbor Software Corporation, http://www.dbmsmag.com/ 2001, http://www.elsevier.nl/ge-ng/10/16/74/62/24/24/abstract. 9607d 13.html, pp. 1-4. html, pp. 1-27. The OLAP Report's website rethere is no single, ideal way of storing Colliat, George: “OLAP: Relational, and Multidimensional Database or processing multidimensional data. Systems”. SIGMOD Record, vol. 25, No. 3, Sep. 1996, pp. 64-69. Pedersen, T. B., "Aspects of DataModeling and Query Processing for Date, C. J., et al.: An Introduction to Database Systems, No. 7th, Complex Multidimensional Data'. Chapter 4, entitled Extending 2000, p. p. 250, 266, 289-326. Practical Pre-Aggregation in On-Line Analytical Processing, of the Date, C. J., et al.: An Introduction to Database Systems, No. 7th, Ph.D. Disseration, Danish Academy of Technical Sciences 2000, pp. 2000, p. p. 250, 266, 289-326. Addison-Wesley, Seventh Edition. 1-103. Date, et al., “An Introduction to Database Systems, vol. II”, Reading: Pedersen, T.B., Aspects of Data Modeling and Query Processing for Addison-Wesley, pp. 62-64, 1983. QA76.9.D3D367. ISBN 0-201 Complex Multidimensional Data, 2000, pp. 1-180, Danish Academy 14474-3. of Technical Sciences. Date, et al., “An Introduction to Database Systems, vol. II”, Reading: Pedersen, T. B., Aspects of DataModeling and Query Processing for Addison-Wesley, pp. 62-64, 1983. Com., Dept. Computer Sci., Aalborg Univ., Denmark, 2000, p. 1, Date, C.J., “An Introduction to Database Systems.” 2000, pp. 250, T7-103. 266, 289-326. Addison-Wesley, Seventh Edition. Pedersen, et al., Extending OLAP Querying to Object Databases, Duhl, et al., “A Performance of Object and Relational Databases VLDB 2000 Submission. Using the Sun Benchmark”. Proceedings of the OOPSLA Confer Petersen, T. B., et al.: “Multidimensional Database Technology”. ence, pp. 153-163, Sep. 25-30, 1988. IEEE, vol. 34, No. 12, Dec. 2001, pp. 40-46. Duhl, et al., “A Performance Comparison of Object and Relational Pendse, Nigel: “The Origins of Today’s OLAP Products”. htt::// Databases. Using the Sun Benchmark”. Proceedings of the Confer www.olapreport.com/origins.htm., Feb. 6, 2003, pp. 1-7. ence on Object Oriented Programming Systems Languages and “Performance Management—Product Information.” ENT, Jul. 17. Applications,Sep. 25-30, 1988, pp. 153-163. 1999, 2 pages. Elkins, S. B.: “Open OLAP, DBMS Apr. 1998, http://www. Pourabbas, et al.: "Characterization of Hierarchies and Some Opera dbmsmag.com/9804d 14.html, pp. 1-7. tors in OLAP Environment', Presented at the ACM 2nd International Foley, J.TechWeb's website page re Microsoft Servers Up New SQL Workshop on Data Warehousing and OLAP, Nov. 2-6, 1999, pp. 1-17. Server Beta Jan. 12, 1998. Pourabbas, et al.: "Characterization of Hierarchies and Some Opera TechWeb's website page re Microsoft Serves Up New SQL Server tors in OLAP Environment', Presented at the ACM 2nd International Beta. Workshop on Data Warehousing and OLAP, 1999, p. 54-49. Gupta, H.V., et al., “Index Selection for OLAP, Proceedings of the Pourabbas et al.: "Hierarchies and Relative Operators in the OLAP 13th Int’l Conference on Data Engineering, Apr. 7-11, 1997, pp. Environment”, SIGMOD Record, vol. 29, No. 1, Mar. 2000, http:// 208-219. dblp.unitrier.de/db/journals sigmod/sigmod29.html, pp. 1-8. Harinarayan et al.: “Implementing Data Cubes Efficiently”. Proceed Roche, T.: “Intermediate Client-server techniques', 1999. ings of the 1996 ACM SIGMOD International Conference on Salem et al.: “How to Roll a Join: Asynchronous Incremental View Mangement of Data, Jun. 4-6, pp. 205-216. Maintenance'. Presented by ACM SIGMOD on Management of US 8,473.450 B2 Page 14

Data and Symposium on Principles of Database Systems, May 15-18, TPC Benchmark D (Decision Support) Standard Specification, Revi 2000, http://www.acm.org/pubs/citations/proceedings/mod/342009/ sion 2.1. See e.g., p. 9-114, 146-151. p129-salem/Habstract, pp. 1-13. SAMS Teach Yourself Microsoft SQL Server 7.0 in 21 Days, Richard SAS/MCCBR): Web-based product brochure entitled “See Data from Waymire and Rick Sawtell; First Printing Dec. 1998, SAMS Publish All Angles with Multidimensional Database Software” by SAS/ ing, 1999. See e.g., p. 1-742 MCCBR Server, www.sas.com/products/mddb/index.html, 2001, 1 Client/Server Computing With Sybase SQI Server, Joe Salemi, Zift page. Davis Press, 1994. . See e.g., p. 1-90, 143-190. Schumacher, Robin: Attunity Connect SQL PowerPoint presenta Developing Client/Server Systems. Using Sybase SQL Server System tion undated 38 pages. BrioOuery Enterprise 4.0; Brio Technologys desktop OLAP tool, Lexis.com DBMX Magazine vol. 9 No. 10 Sep. 11, Sanjiv Purba, John Wiley & Sons, 1996. . See e.g., p. 1-81, 1996. 297-378, 417-508. Shoshani, OLAP and Statistical Databases: Similarities and Differ Special Edition Using Sybase System XI. Peter Hazlehurst, Que ences, Abstract PODS Proceedings of PODS 97 1997. Corporation, 1996. See e.g., p. 1-331, 491-704. Shoshani, OLAP and Statistical Databases: Similarities and Differ Proceedings of the International Conference on Parallel and Distrib ences, Abstract PODS 97 pp. 185-196. uted Processing Techniques and Applications, vol. III, H.R. See e.g., Shoshani, OLAP and Statistical Databases: Similarities and Differ p. 415-468, 1127-1190. ences, Abstract—PODS The Computer Glossary. The Complete Illustrated Dictionary, Eighth Vassiliadis, P: “A Survey of Logical Models for OLAP Databases”. Edition, Alan Freedman, The Computer Language Company, Inc., Sigmod Record, vol. 28, No. 4. Dec. 1999. 1998. Widman et al.: Efficient Execution of Operations in a DBMS for The Essbase Ready Tools Guide, Arbor Software. See e.g., p. 1-572. Multidimensional Arrays, presented at the ACM SIGMOD 1998, Building. Using and Managing the Data Warehouse, Ramon Barquin http://dblp.unitrier.de/db/confssdbm/WidmannB98.html, pp. 1-11. and Herb Edelstein, Prentice Hall, 1997. VVidman et al.: Efficient Execution of Operations in a DBMS for Oracle8 How to, Edward Honour, Paul Dalberth, Ari Kaplan and Atul Multidimensional Arrays 10th Intl Confon Scientific and Statistical Mehta, Waite Group Press, 1998. See e.g., p. 1-3. Database Management, pp. 155-165. Hyperion's Spider-Man Web Application—Administrator, Hyperion Zhao, Yet al. "Array-Based Evaluation of Multi-Dimensional Que Software Operations, Inc., 1998. See e.g., p. 1-390. ries in Object-Relational Database Systems, * Data Engineering, Arbor Essbase Start Here, Version 1.0.1, IBM. See e.g., p. 1-43. 1998 Proceedings, 14th International Conference in Orlando, Fl, Feb. Seagate Info, Report Design Guide, Version 7. Seagate Software. See 23-27, 1998. e.g., p. 1-79, 158-197. 462-595. U. S. District Court Order, for the Northern District of California in Brioguery 5.0 Handbook, for , Apple Mcintosh the matter of Hyperion Solutions Corp. vs. Hyper Roll, Inc., et al. and MOTIF Systems, Brio Technology, 1997. See e.g., p. 1-2-9-11. (Case No. CV 05-05054-VRW), 35 pages, dated Aug. 28, 2006. Getting Started With Data Warehouse and Business Intelligence, U.S. Office Action re U.S. Appl. No. 10/153,164 dated Nov. 25, 2003. Maria Sueli Almeida, Missao Ishikawa, Joerg Reinschmidt and U.S. Office Action re U.S. Appl. No. 10/854,034 dated Nov. 6, 2006. Torsten Roeber, IBM 1999. See e.g., p. 1-260. U.S. Office Action re U.S. Appl. No. 09/796,098 dated Oct. 24, 2003. Essbase Technical Reference 4.0, Arbor Software. See e.g., p. 1-362. U.S. Office Action re U.S. Appl. No. 12,657,143 dated Sep.15, 2010. Ouattro Pro Version 2.0 User'S Guide, Borland International, Inc., U.S. Office Action re U.S. Appl. No. 12/455,665 dated Jul 30, 2010. 1987. See e.g., p. p. 49-80. U. S. Office Action re U.S. Appl. No. 12,653,373 dated Aug. 30, Fullwrite Professional Learning Guide, Ashton Tate. See e.g., p. 2010. 1-299. U. S. Office Action re U.S. Appl. No. 12/590,504 dated Aug. 30, Personal Oracle 8: A Voyage Into Oracles8's Newest Frontier, Rich 2010. ard Fieldhouse, International Thomson Publishing, 1998. See e.g., p. U.S. Office Action re U.S. Appl. No. 12/589,383 dated Oct. 26, 2010. 31-204, 279-342, 401-554. CA Office Action dated Jan. 24, 2011. Oracle8 Database Administration on Windows NT, Lynnwood Thomsen, E.: “OLAP Solutions—Building Multidimensional Infor Brown, Prentice Hall, 1999. See e.g., p. 1-298. mation Systems', 1997 in 5 pages. Exhibit A3 to Appeal Brief. Oracle8 PL/SQL Programming: The Essential Guide for Every Colliat, G.: OLAP, Relational, and Multidimensional Database Sys Oracle , Scott Urman, Oracle Press, Osborne McGraw tems, SIGMOD Record, vol. 25, No. 3, Sep. 1996. Exhibit A2 to Hill, 1997. See e.g., p. 1202, 463-502,549-960. Appeal Brief. Oracle8 &Unix Performance Tuning, Ahmed Alomari, Prentice Hall, U.S. Final Office Action re U.S. Appl. No. 12,657,143 dated Feb. 22, 1999. See e.g., p. 1-345. 2011. Official Sybase Data Warehousing on the Internet: Accessing the U.S. Office Action re U.S. Appl. No. 12/455,664 dated Mar. 15, 2011. Corporate Knowledge Base, Tom Hammergren, International U.S. Final Office Action re U.S. Appl. No. 12,653,373 dated Feb. 22, Thomson. See e.g., p. 1-208, 363-592. 2011. SQL Server 7 Data Warehousing, Michael Corey, Michael Abbey, Ian U.S. Office Action re U.S. Appl. No. 12/590,504 dated Feb. 2, 2011. Abramson, Larry Barnes, Benajmin Taub and Rajan Venkitachalam. Arbor Essbase 5: Fundamentals, Arbor Software—Driving Business See e.g., p. 1-32, 77-448. Performance. See e.g., p. 1-1-4-14, 6-1-9-23, 12-1-13-22, 19-1-33 Oracle8 The Complete Reference, George Koch and Kevin Loney, 16. Oracle Press, McGraw-Hill, 1997. See e.g., p. 1-540. Hyperion Essbase OLAP Server Fundamentals (Training Manual). CA Office Action dated Jan. 13, 2010. IBM DB2 OLAP Server and Starter Kit OLAP Setup and User's EPO Decision to Refuse a European Patentre EP 1 266 308 dated Guide Version 7. See e.g., p. 73-146. Feb. 10, 2010. Graefe, Query Evaluation Techniques for Large Databases, ACM U. S. Advisory Action re U.S. Appl. No. 127653,373 dated May 2, Computing Surveys, vol. 25, No. 2. 2011. Zaharioudakis et al., Answering Complex SQL Queries Using Auto U.S. Office Action re U.S. Appl. No. 12,653,373 dated Mar. 5, 2012. matic Summary Tables, Abstract. U.S. Notice of Allowance re U.S. Appl. No. 127653,373 dated Jul. 3, Bonnetet al., My Mother Thinks I'ma DBA Cross-Platform, Multi 2012. Vendor, Distributed Relational Data Replication with IBM DB2 Data U.S. Final Office Action re U.S. Appl. No. 12/455,665 dated Nov. 16, Propagator and IBM Data Joiner Made Easy!, IBM. See e.g., p. 1-138. 2011. Oracle. Oracle Express Server Database Administration Guide. U. S. Advisory Action re U.S. Appl. No. 12/590,504 dated Apr. 7, Release 6.0. See e.g., p. 1-102, 123-2242. 2011. Oracle. Oracle Express Analyzer. Release 2.1 Getting Started. See U.S. Final Office Action re U.S. Appl. No. 12/590,504 dated May 6, e.g., p. 19-50. 2011. Oracle Express Release 6.2. Express Language Programming Guide. U. S. Advisory Action re U.S. Appl. No. 12/590,504 dated Aug. 2, See e.g., p. 19-186,345-482. 2011. US 8,473.450 B2 Page 15

. S. Office Action re U.S. Appl. No. 12/590,504 dated Nov. 18, Fernandez, Red Brick Warehouse: A Read-Mostly RDBMS for Open O11. SMP Platforms. SIGMOD Conference 1994: 492. .S. Office Action re U.S. Appl. No. 12/590,504 dated Apr. 27, 2012. Shahzad, Data Warehousing with Oracle, Oracular, Inc. 2011. .S. Office Action re U.S. Appl. No. 12/384,093 dated Nov. 19, 2010. Aaaprod's website re Hybrid Database single slide of slide presen .S. Office Action re U.S. Appl. No. 12/384,093 dated May 5, 2011. tation, downloaded from http://aaaprodigsfc.nasa.gov/teaslWaltM/ .S. Advisory Action re U.S. Appl. No. 12/384,093 dated Jul. 12, DWTEA/tsld048.htm, on Sep. 11, 2005. O11. iwaysoftware's website re Accelerating Red Brick Integration, C) .S. Office Action re U.S. Appl. No. 12/384,093 dated Nov. 1, 2011. iWay Software, 1996-2011. .S. Final Office Action re U.S. Appl. No. 12/384,093 dated Jun. 1, Microsoft SQL Server 7.0—SQL Server Design Goals, Nov. 18. O12. 2002. .S. Interview Summary reu.S. Appl. No. 12/384,093 dated Sep. 20, Introducing Pilot Designer, Pilot Software, Inc. 1996. See e.g., p. O12. 81-134. .S. Final Office Action re U.S. Appl. No. 12/384,093 dated Aug. 15, Moorman. The Art of Designing HOIAP Database, SAS Institute O12. Inc. Paper 139, Proceedings of the Twenty-Fourth Annual SAS .S. Office Action re U.S. Appl. No. 13/275,242 dated Apr. 2, 2012. Users Group International Conference, Apr. 11-14, 1999. .S. Office Action re U.S. Appl. No. 13/289.954 dated May 25, 2012. Weinberger and Ender. The Power of Hybrid OLAP in a Multidi . S. Notice of Allowance re U.S. Appl. No. 12,657,143 dated May mensional World, SAS Institute Inc. Paper 133-25. Proceedings of 2 2011. the Twenty-Fifth Annual SAS Users Group International Confer U.S. Office Action re U.S. Appl. No. 12/455,664 dated Jun. 21, 2010. ence, Apr. 9-12, 2000. Preliminary Invalidity Contention (PIC) charts for U.S. Pat. Nos. Shoshani and Rafanelli. A Model for Representing Statistical 6,385,604 and 6,434.544 submitted by Hyperion to the district court Objects, Abstract—lawrence Berkeley Lab, 3rd Int. Conf. on Infor in Civil Action No. CV 05-05054 VRW, date unknown. mation Systems and Management of Data (COMD). McGraw Hill, Brady, C. et al.: comp.databases' website re Access DBMS2 Not 1991. RDBMS2 Comp.databases.Ms-access newsgroup thred Jun. 9, 1994. Lehner, Modeling large Scale OLAP Scenarios, Advances in Data Rana, et al., A Distributed Framework for Parallel Data Mining Using base Technology—EDBT'98—Lecture Notes in Computer Science, HP Java, BT technol J vol. 17 No. 3.Jul. 1999. pp. 146-154. 1998, vol. 1377/1998, 151-167, DOI: 10.1007/BFb0100983. Internet Systems' website re A New Face for OLAP by Rich PartitionAggregationss7.txt, May 11, 2005. Carickhotf, Jan. 1997. DBMS Magazine. Chaudhuri et al., Scalable Classification over SQL Databases, Windows IT Pro’s website re A New Kid on the OLAP Block by Abstract, ICDE Conference Proceedings, 1999. Karen Watterson, May 1, 1998. Zhao et al., Simultaneous Optimization and Evaluation of Multiple Schumacher, Robin. BrioOuery Enterprise 4.0; Brio Technology's Dimensional Queries, Abstract, SIGMOD 98 Seattle, WA, 1998 desktop OLAP tool, lexis.com. DBMS Magazine, vol.9, No. 10, Sep. ACM. 1996. Han, Towards On-Line Analytical Mining in Large Databases, NetCube Corporation manual. Number of Installed Sites. Character Abstract, date unknown. istics of Typical System Implementations, date unknown. Arbor Essbase 5: Fundamentals, Arbor Software—Driving Business Michael, J., et al. DM Review's website re Charles Schwab Plans for Performance. See e.g., p. 1-1-4-14, 6-1-9-23, 12-1-13-22, 19-1-33 Continued Prosperity with Seagate Holos, Oct. 1998. 16. Arbor Software Corporation copyright 1996, 1997, 1998. Craig, Robert. Checking out OLAP Architectures; Technology Infor Hyperion Essbase OLP Server Fundamentals (Training Manual)) (C) mation. Lexis, a Boucher Communications, Inc. publication, Section 1991-1999 Hyperion Solutions Corporation. See e.g., p. 1-1-1-9, No. 12, vol. 2: 1997; p. 40, ISSN: 1085-2395. 3-1-8-23, 13-1-13-45. Spitzer, Tom. Component architectures; component-based software Datta et al., A Case for Parallelism in Data Warehousing and OLAP development; technology information.Lexis, DBMS Magazine, vol. in the 9th International Workshop on Database and Expert Systems 10, No. 10, Sep. 1997. Applications (DEXA98). scholar.google website reData Warehouse for Decision Support Sys Datta and Thomas. A Conceptual Model and Algebra for On-Line tems, downloaded from http://www.cs.colorado.edu/-getrich/ Analytical Processing in Data Warehouses Elsevier, Decision Sup Classes/csci5817rrerm Paperspong/dbpdf, on Sep. 10, 2005. port Systems 27 (1999) 289-301. Bearson et al., “Data Warehousing, Data Mining, and OLAP', pp. Shatidal and Naughton. Adaptive Parallel Aggregation Algorithms, 104-107. McGraw Hill 1997. SIGMOD 95, San Jose, CA USA 1995 ACM. Kurz, Andreas, A Min Tjoa, Data Warehousing within Intranet: Pro Nadeau and Teorey. A Pareto Model for OLAPView Size Estima totype of a Web-based Executive Information System, Abstract, tion, Information Systems Frontiers 2003—Kluwer Academic Pub 1997. pp. 627-632. lishers, Manufactured in The Netherlands. dbmsmag's website re. What's New in 4.0. Mckie, S., dbmsmag's Hired Brains' website page re Article called Data, Data Everywhere website reWhat's New in 4.0, DBMS Magazine, Jul. 1996. written by Neil Raden. Oct. 30, 1995, Information Week. Reimers, How to Sort Through the OLAP Maze, Lexis, Software Agrawal et al., Database Mining: A Performance Perspective, IEEE Magazine, vol. 17, No. 5, May 1997. Transactions on Knowledge and Data Engineering, 1993, vol. 5. HyperRoll's website re HyperRoll for Hyperion Essbase, date Stanford Technology Group, In. An Informix Company's website unknown. page re Designing the Data Warehouse on Relational Databases. ClearConnect Installation and Reference Guide, Manual. 2 Introduc Informix. Oct. 30, 1995, Information Week. ing ClearConnect and DRDA ClearConnect Release 1.3 pp. 2-1 and Garcia-Molina et al., Invited Talk: Distributed and Parallel Comput 2-4. Jul. 31, 1997. ing Issues in Data Warehousing p. 77. In Symposium on Principles of Groh et al., Managing Multidimensional Data marts with Visual Distributed Computing 1998. Warehouse and DB2 OLAP Server, IBM Dec. 1998. See e.g., p. Hahn et al., Getting Started with DB2 OLAP Server for OS/390, 19-193, 313-.336. IBM International Technical Support Organization, Mar. 2000. See Mattison, R.: A White Paper—Maximizing Database Performance e.g., p. 1-18, 53-192. with the OMNIDEX Query Accelerator 1998. Johnson and Shasha, Hierarchically Split Cube Forests for Decision Maierhofer, Enrich. Present Limitations of Web-Enabled HOLAP: Support: description and tuned design. New York University New Empirical Experiments with Employment and Unemployment Sta York, NYC) 1996. tistics, Abstract pp. 883-887., date unknown. Chandra and Harel, Horn Clauses and the Fixpoint Query Hierarchy Codd et al., Providing OLAP to User-Analysts: An IT Mandate. ACM 1982 pp. 158-163. Hyperion Solutions Corporation, 1993. Google's website page re Central Canada DB2 Users Group News Windows IT Pro Website Page re: SQL Server Analysis Services 8.0, Announced: IBM DB2 Universal Database Version 5.2, date May 2000. unknown. US 8,473.450 B2 Page 16

Salzberg and Reuter, Indexing for Aggregation. High Performance Propagator and IBM Data Joiner Made Easy!, IBM. See e.g., p. 1-138. Transaction Systems (HPTS) Workshop. 1995. IBM International Technical Support Organization, Jun. 1999. Media / MR. The Hybrid OLAP Technology for the Enterprise, Fiser et al., On-Line Analytical Processing on Large Databases Man Speedware Corporation, Inc., Nov. 1997. aged by Computational Grids*, Abstract. Proceedings of the 15" IBM DB2 OLAP Server and Starter Kit OLAP Setup and User's International Workshop on Database and Expert Systems Applica Guide Version 7. See e.g., p. 73-146. Copyright International Busi tions (DEXA 04). ness Machines Corporation 1998, 2000, First Edition (Jun. 2000). Oracle. Oracle Express Server Database Administration Guide. Albrecht and Lehner, On-Line Analytical Processing in Distributed Release 6.0. See e.g., p. 1-102, 123-2242, 1996, Oracle Corporation. Data Warehouses. IDEAS proceedings, IEEE Comput. Soc. (1998). Oracle. Oracle Express Analyzer. Release 2.1 Getting Started. See Quass and Widom. On-Line Warehouse View Maintenance for Batch e.g., p. 19-50, 1997 Oracle Corporation. Updates. ACM SIGMOD Conf. 1997. Cheung et al., Requirement-Based Data Cube Schema Design, Sarawagi. Research Report on Computing the Data Cube.IBM Abstract, CIKM 99 11/99 Kansas City, MO, USA 1999 ACM. Research Division. Research Report 10026, IBM Almaden Research DM Review's website re Analytics Portal: Scalability Stress Test: An (1996). Anaylsis of the Scalability of the MicroStrategy and Tandem DSS. Ramsak et al., Physical DataModeling for Multidimensional Access 2005 DMReview and SourceMedica, Inc. Methods, 11th GI Workshop on Grundlagen von Datenbanken, Microsoft's website re Microsoft TechNet. SQL Server 7.0 Resource Luisenthal. Germany, 1999. Guide. Printed from Microsoft.com on Sep. 15, 2009. Graefe, Query Evaluation Techniques for Large Databases, ACM Article—Hummingbird Acquires Data Transformation Company Computing Surveys, vol. 25, No. 2, Jun. 1993. Leonard's Logic. Printed from taborcommunications.com on Nov. 1, Cabibbo and Torlone, Querying Multidimensional Databases. In 2005. Sixth Int. Workshop on Database Programming Languages, 1997. Article—Business Objects Delivers NextVersion of Comprehensive Gupta, Selection of Views to Materialize in a Data Warehouse. Selec Business Intelligence Suite. Printed from taborcommunications.com tion of Views to Materialize in a Data Warehouse, 1997. on Nov. 1, 2005. Speedware's website page re Media c Features & Benefits, 2005 Oracle Express Release 6.2. Express Language Programming Guide. Activant Solutions Inc. See e.g., p. 19-186, 345-482. 1998. Bliujute et al., Systematic Change Management in Dimensional Data Oracle Express Relational Access Manager, User's Guide Release Warehousing . In Proceeedings of the Third International Baltic 6.3. See e.g., p. 1-2-3-8, 5-2-B-6. Workshop on DB and IS, 1998. Printout from Sybase Website “Sybase DirectConnect for Oracle” Marklet al., The Transbase Hypercue RDBMS: Multidimensional Printed from Sybase.com on Nov. 1, 2005. Indexing of Relational Tables. Proc. of 17th ICDE, Heidelberg, Ger Printout from Sybase Website “Sybase IQ Version 11.0 Product many, 2001. Assessment. Mar. 1996. Aho and Ullman, Universality of Data Retrieval Languages pp. 110 Printout from Sybase Website “Understanding Open Server with 120, 1979 ACM. Customer Success Stories”. Copyright 2005, Sybase, Inc. Advanced Communication Technologies website page re CT's SQL Server 7.0 Workshop Codename Sphinx, Feb. 25-27, 1998. See Vision & Strategy, date unknown. e.g., p. 1-116. Crystal Reports: A Beginner's Guide. Module 1 Getting Started, Dec. TPD (Transaction Processing Performance Council) Interview with 2001. Jack Stevens, Francois Raab and Kim Shanley. 2004. Roussoopoulos et al., The Cubetree Storage Organization, Advanced TPC Benchmark D (Decision Support) Standard Specification, Revi Communication Technology, Inc. Proceedings fo the 24th VLDB sion 2.1. See e.g., p. 9-114, 146-151. (C) 1993-1998 Transaction Conference New York, USA, 1998. Processing Performance Council (TPC). Organizations Survival website page re New Version of Hyperion IEEE “Bulletin of the Technical Committee on Data Engineering” Essbase OIAP Server Raises Bar for Deploying Analytic Application vol. 20, No. 1 Special Issue on Supporting OLAP Mar. 1997. See e.g., Across. . . downloaded from www.organizational Survival.com. Sep. p. 1-48. 20, 2005. Application Programmer's Manual; MetaCube ROLAP Option for White Paper Pilot Analysis Server, Multi-dimensional OLAP Informix Dynamic Server, Version 4.0, Jan. 1998. See e.g., p. 2-1- Engine Including Hybrid OLAP 2003 Pilot Software Acquisition 14-4. Corp. NetCube Product Overview (Just-in-Time, not Just-in-Case Business Seagate Holos 7–Series 1, Supported Platforms, Operating Systems Intelligence. Unleashing the Knowledge in Your Data) Version 1.7; and Databases. 1999 Seagate Software, Inc. NetCube, 1997 NetCube Corporation. Zaharioudakis et al., Answering Complex SQI Queries Using Auto NetCube Corporation Milestone and Significant Events, date matic Summary Tables, Abstract, MOD 2000 Dallas, TX USA, C) unknown. ACM2000. NetCube Performance Overview, copyright 1997 NetCube Corpora Zou et al., Back to the Future: Dynamic Hierarchical Clustering, tion. Abstract, 1998 IEEE. NetCube ROLAPBuilder and CubeOptimizer Overview, copyright Patel et al., Building a Scalable Geo-Spatial DBMS: Technology, 1997 NetCube Corporation. Implementation, and Evaluation, Abstract. SIGMOD 97 AZ, USA, SAMS Teach Yourself Microsoft SQL Server 7.0 in 21 Days, Richard 1997 ACM. Waymire and Rick Sawtell; First Printing Dec. 1998, SAMS Publish Data Flux Registration's website re Customer Data Integration: Cre ing, 1999. See e.g., p. 1-742. ating One TrueView of the Customer, 2005 Dataflux Corporation. Materialized Views Techniques, Implementations, and Applications, Tam, Yin J. Datacube: Its Implementation and Application in OLAP Ashish Gupta and Inderpal Singh Mumick, Massachusetts Institute Mining. Thesis. Simon Fraser University Sep. 1998. of Technology, 1999.. See e.g., p. 339-420. Rolleigh et al. Data Integration: The Warehouse Foundation, date The Developer's Handbook to DB2 for Common Servers, Roger E. unknown. Sanders, 1997.. See e.g., p. 1-17, 83-158, 56.1-718. Chen et al., A Distributed OLAP Infrastructure for E-Commerce, Professional Data Warehousing With SQL Server 7.0 and OLAP Abstract. (1999). Services, Sakhr Youness; Published by Wrox Press Ltd., 2000... See DSS Lab Comparative Evaluation of Microsoft OLAP Services 7.0 e.g., p. 1-131, 327-394, 475-574. SP1 and Oracle Express 6.3.0, date unknown. Client/Server Computing With Sybase SQI Server, Joe Salemi, Zift O'Neil et al., Improved Query Performance with Variant Indexes, Davis Press, 1994. See e.g., p. 1-90, 143-190. Abstract. SIGMOD 97 AZ, USA, 1997 ACM. Sybase System XI Performance Tuning Strategies, Ronald A. Phil Stonebraker et al., Mariposa: A Wide-Area Distributed Database lips, Bonnie K. O'Neil, and Marshall Brain, Prentice-Hall, 1996. . System, Abstract. The VLDB Journal (1996) 5:48-63. See e.g., p. 1-156. Bonnetet al., My Mother Thinks I'ma DBA Cross-Platform, Multi Sybase Replication Server Primer by Charles B. Clifford, McGraw Vendor, Distributed Relational Data Replication with IBM DB2 Data Hili, 1995. See e.g., p. 1-172. US 8,473.450 B2 Page 17

Developing Client/Server Systems. Using Sybase SQL Server System Advances in Database Technologies, Yahiko Kambayashi, Dik Lun 11, Sanjiv Purba, John Wiley & Sons, 1996. See e.g., p. 1-81,297 Lee, Ee-Peng Lim, Mukesh Kumar Mohania and Yoshifumi 378, 417-508. Masunaga, Springer Press, 1998. See e.g., p. 1-180, 382-590. Special Edition Using Sybase System XI. Peter Hazlehurst, Que The Essbase Ready Tools Guide, Arbor Software. See e.g., p. 1-572, Corporation, 1996. . See e.g., p. 1-331, 491-704. (C) 1996 Arbor Software Corporation. Sybase SQL Server on the World WideWeb, Ed Ashley and Beth A Guide to Sybase and Sql Server, D. McGoveran and C.J. Date, Epperson, International Thomson Computer Press, 1996..See e.g., p. Addison-Wesley, 1992. See e.g., p. 3-16, 23-34, 37-49, 55-222,303 1-21, 235-269. 318, 341-432, 473-490. Data Warehousing With Informix: Best Practices, Angela Sanchez, Data Warehouse From Architecture to Implementation, Barry Informix Press, Prentice Hall, 1998. . See e.g., p. 1-312.11-20. Devlin, Addison-Wesley, 1997. Informix Guide to Designing Databases and Data Warehouses, Building. Using and Managing the Data Warehouse, Ramon Barquin Informix Press, Prentice Hall, 2000. See e.g., p. 1-3-. and Herb Edelstein, Prentice. Hall, 1997. Proceedings of the International Conference on Parallel and Distrib Oracle8 A Beginner's Guide, Michael Abbey and Micheal J. Corey, uted Processing Techniques and Applications, vol. I, H.R. Arabnia, Oracle Press, McGraw-Hill, 1997. CSREA Press, 1998. See e.g., p. 415-468, 1127-1190. Oracle8 Object-Oriented Design, David Anstey, Coriolis, 1998. Proceedings of the International Conference on Parallel and Distrib Oracle8 Tuning, Don Burleson, Coriolis, 1998. uted Processing Techniques and Applications, vol. II, H.R. Arabnia, Sybase and Client/Server Computing, Second Edition, Alex Berson CSREA Press, 1998. See e.g., p. 1127-1190. and George Anderseon, McGraw-Hill, 1997. See e.g., p. 171-478, Proceedings of the International Conference on Parallel and Distrib 741-842. uted Processing Techniques and Applications, vol. III, H.R. Arabnia, Oracle&Server Unleashed, Joe Greene, SAMS Publishing, 1998. See See e.g., p. 415-468, 1127-1190. e.g., p. 1-72, 169-414, 715-862. Proceedings of the International Conference on Parallel and Distrib TeachYourself Oracle8 in 21 Days, Edward Whalen and Steve Adrien uted Processing Techniques and Applications, vol. IV. H.R. Arabnia, DeLuca, SAMS Publishing, 1998. See e.g., p. 1-530. CSREA Press, 1998. See e.g., p. 415-468, 1127-1190. Oracle8 Design Using UML Object Modeling, Dr. Paul Dorsey and Upgrading and Migrating to Sybase SQL Server 11, Mitchell Joseph R. Hudicka, Oracle Press, McGraw-Hili, 1999. See e.g., p. Gurspan, International Thomson Computer Press, 1996. See e.g., p. 1-472. 189-218, 255-272. The Computer Glossary. The Complete Illustrated Dictionary, Eighth Oracle8 Design Tips, Dave Ensor and Ian Stevenson, O'Reilly & Edition, Alan Freedman, The Computer Language Company, Inc., (C) Associates, 1997. See e.g., p. 1-136. 1998, 1995, 1993, 1991, 1989, 1983, 1981. Oracle8 on Windows NT, Lilian Hobbs, Butterworth-Heinemann, Optimizing Informix Applications, Robert D. Schneider, Informix 1998. See e.g., p. 1-168, 251-272. Press, Prentice Hall, 1995. See e.g., p. 13-80. Oracle8 Architecture, Steve Bobrowski, Oracle Press, McGraw-Hill A Practical Guide to Microsoft OLAP Server, John Shumate, 1998. See e.g., p. 1-374. Addison-Wesley, 2000. See e.g., p. 3-84, 125-204, 219-236,263-282, Oracle8 DBA Handbook, Kevin Loney, Oracle Press McGraw-Hill, 309-395. 1998. See e.g., p. 3-474. Using Microsoft SQL Server 7.0, Brad McGehee, Rob Kraft and Oracle Tuning, Michael J. Corey, Michael Abbey, Daniel J. Matthew Shepker, Oue Corporation, 1999. See e.g., p. 11-66, 507 Dechichio and Ian Abramson, Oracle Press, McGraw-Hill, 1998. See 72O. e.g., p. 3-282. Running Microsoft Excel, Second Edition, Douglas Cobb, Judy Microsoft Excel User's Guide 2, Microsoft Corp., 1992. See e.g., p. Mynhier, Craig Stinson and Chris Kinata, Microsoft Press, 1991. See 1-152. e.g., p. 431-445. Microsoft Excel Function Reference, Microsoft Corp., 1992. See Microsoft Windows Software Development Kit, Guide to Program e.g., p. 1-580. ming, Version 3.1, Microsoft Corp, 1992. See e.g., p. 333-366, 511 Oracle8 How to, Edward Honour, Paul Dalberth, an Kaplan and Atul 536. Mehta, Waite Group Press, 1998. See e.g., p. 1-3. Essbase DataServer Technical Reference Manual, Version 2.2, Arbor Seagate Crystal Reports 7 for Dummies, Douglas J. Wolf, IDG Software, 1992. 1-68, 259-272. Books, 1999. See e.g., p. 1-398. The Informix Handbook, Ron Flannery, Informix Press, Prentice Data Warehousing, Strategies, Technologies and Techniques, Rob Hall, 2000. See e.g., p. 1-425, 1101-1340. Mattison, McGraw Hill, 1996. See e.g., p. 1-352,425-478. Lotus works Guide, Release 1.1, Spinnnaker Software, 1991. See e.g., Data Warehousing. Concepts, Technologies Implementations and p. 3-1-3-44, 7-1-7-52, 16-1-16-42. Management, Harry Singh, Prentice Hall, 1998. See e.g., p. 1-356. Software Engineering With ADA, Grady Booch, Benjamin Cum Building a Better Data Warehouse, Don Meyer and Casey Cannon, mings Publishing Company, 1983. See e.g., p. 38-45, 119-128. Prentice Hall, 1998. See e.g., p. 1-239. Software Engineering With ADA, Second Edition, Grady Booch, Decision Support in the Data Warehouse, Paul Gray and Hugh Benajmin Cummings Publishing Company, 1987. See e.g., p. 142 Watson, Prentice Hall, 1998. See e.g., p. 1-382. 156. Parallel Systems in the Data Warehouse, Stephen Morse and David Sybase Architecture and Administration, John Kirkwood, Ellis Isaac, Prentice Hall, 1998. See e.g., p. 97-384. Horwood, 1993. See e.g., p. 75-122. Data Warehousing for Dummies, Alan Simon, IDG Books World Sybase Performance Tuning, Shaibal Roy and Marc B. Sugiyama, wide, 1997. See e.g., p. 1-362. Prentice Hall, 1996. See e.g., p. 49-68, 137-168, 301-366,441-488, Data Warehousing and Data Mining. Implementing Strategic Knowl 531-612. edge Management, Elliot King, PhotoDisc, Inc., 1998. See e.g., p. Sybase Database Administrator's Handbook, Brian Hitchcock, 1-188. Prentice Hall, 1996. See e.g., p. 1-72, 143-510. Managing the Data Warehouse, Practical Techniques for Monitoring Essbase Technical Reference Manual, Version 3.0, Arbor Software, Operations, Administering Data and Tools, Managing Change and 1994. See e.g., p. 1-62. Growth, W.H. Inmon, J.D. Welch and Katherine Glassey, Wiley Essbase Application Designer Guide, Version 3.0, Arbor Software, Computer Publishing, John Wiley & Sons, 1997. See e.g., p. 1-394. 1994. See e.g., p. 1-254, 449-502. Planning and Designing the Data Warehouse, Ramon Barquin, Alan An Introduction to Operating Systems, Harvey M. Deitel. Addison Paller, Herb Edelstein, Ellen Levin, Doug Neal, Carol Burleson, Wesley, 1984. See e.g., p. 153-246, 321-352. David Tabler, Pieter Mimno, Bob Rumsby, Glen Livingston, Neil Microsoft Windows Graphical Environment User's Guide, Version Raden, Duane Hufford and Mark Poole, Prentice Hall, 1997. See e.g., 3.0, Microsoft Corp., 1990. See e.g., p. 433-491. p. 1-322. Running Microsoft Excel, Douglas Cobb and Judy Mynhier, Data Warehouse Practical Advice From the Experts, Joyce Bischoff Microsoft Press, 1988. See e.g., p. 431-488. and Ted Alexander, Prentice Hall, 1997. See e.g., p. 4-119, 174-401. US 8,473.450 B2 Page 18

Data Mining, Data Warehousing & Client/Server Databases, Pro Business Objects User's Guide, Beta 1, Version 5.0 Windows, Busi ceedings of the 8th International Database Workshop, Joseph Fong, ness Objects, 1998. See e.g., p. 9-134. Springer, 1997. See e.g., p. 1-348. Brioguery 5.0 Handbook, for Microsoft Windows, Apple Mcintosh Data Warehousing, Data Mining and OLAP, Alex Berson and and MOTIF Systems, Brio Technology, 1997. Brioquery 5.0 Hand Stephen Smith, McGraw-Hill, 1997. See e.g., p. 1-46, 67-220, 247 book. See e.g., p. 1-2-9-11. 265, 333-440. Briocuery Designer and Brioguery Explorer, Version 6.1, Reference On-Line Analytical Processing Systems for Business, Robert Guide, Brio Technology, 2000. See e.g., p. 1-344. Thierauf, Quorum Books, 1997. See e.g., p. 1-342. Brio Technology User's Guide, Version 6.0, Brio Technology, 1999. Data Warehousing in Action, Sen Kelly, John Wiley & Sons, 1997. See e.g., p. 1-188. See e.g., p. 1-329. Crystal Reports 8 for Dummies, Douglas Wolf, IDG Books World The Essential Guide to Data Warehousing, Lou Agosta, Prentice Hall, wide, 2000. See e.g., p. 1-353. 2000. See e.g., p. 1-100, 117-132, 151-238, 313-454. Getting Started With Data Warehouse and Bus Iness Intelligence, The Enterprise Data Warehouse, Planning, Building and Implemen Maria Sueli Almeida, Missao Ishikawa, Joerg Reinschmidt and tation, vol. 1, Eric Sperley, Hewlett-Packard, 1999. See e.g., p. 1-349. Torsten Roeber, IBM 1999. See e.g., p. 1-260. Understanding Database Management Systems, Second Edition, Using Tivoli Decision Support Guides, Vasfi Gucer, Janet Alex Berson, McGraw-Hill, 1998. See e.g., p. 1-90, 119-336, 397 Surasathain, Thomas Gehrke and Frank-Michael Nees, IBM, 1999. 524,539-644. See e.g., p. 1-10, 45-132, 371-414. The Data Warehouse Challenge, Taming Data Chaos, Michael Data Modeling Techniques for Data Warehousing, Chuck Ballard, Brackett, John Wiley & Sons, Inc., 1996. See e.g., p. 1-142, 185-468. Dirk Herreman, Don Schau, Rhonda Bell, Eunsaeng Kim and Ann Strategic Data Warehousing Principles Using SAS Software, Peter Valencic, IBM, 1998. See e.g., p. 1-215. Welbrock. SAS Institute, 1998. See e.g., p. 1-251. Seagate Crystal Reports 6 Introductory Report Design Training Building the Operational Data Store, W.H. Inmon, Claudia Imhoff Guide, Seagate Software, 1997. See e.g., p. 1-244. and Greg Battas, John Wiley & Sons, Inc., 1996. See e.g., p. 1-291. Essbase API Reference, Arbor Software, 1996. See e.g., p. 1-364. Essbase Web Gateway Workshop, Arbor Software, 1996. See e.g., p. Essbase Technical Reference 4.0, Arbor Software. See e.g., p. 1-362. 1-186. (C) 1991-1994 by Arbor Software Corporation. Wired for OLAP Designer & Administrator Version 3.0, Student The Data Webhouse Toolkit: Building the Web-Enabled Data Ware Guide, Vision Enterprises, 1998. See e.g., p. 1-126. house, Ralph Kimball and Richard Merz, Wiley Computer Publish Crystal Info 6.0 Administrator Workshop, FastPlanet Technologies, ing, John Wiley and Sons, 2000. See e.g., p. 1-40, 129-354. 1998. See e.g., p. 1-162. Oracle 8 Backup & Recovery Handbook: Expert Methods From the Essbase Fundamentals, Workbook, Arbor Software, 1997. See e.g., p. Leading Authorities, Rama Velpuri and Anand Adkoli, Oracle Press, 1-180. Osborne McGraw-Hill, 1998. See e.g., p. 1-226, 371-614. Hyperion's Spider-Man Web Application—Administrator, Hyperion Informix Dynamic Server With Universal Data Option: Best Prac Software Operations, Inc., 1998. See e.g., p. 1-390. tices, Angela Sanchez, Prentice Hall, 1999. See e.g., p. 1-94, 119 Hyperion's Spider-Man Web Application—Technical Training for IS 388. Professionals, Hyperion Software Operations, Inc., 1998. See e.g., p. Ouattro Pro Version 2.0 User's Guide, Borland International, Inc., 1-198. 1987. See e.g., p. 49-80. Arbor Essbase 5, Partitioning Training, Arbor Software, 1997. See Programming Language Concepts, Carlo Ghezzi and Mehdi e.g., p. 1-225. Jazayeri, John Wiley & Sons, 1982. See e.g., p. 1-341. Step by Step Microsoft SQL Server 2000 Analysis Services, Reed Fullwrite Professional Learning Guide, Ashton Tate. See e.g., p. Jacobsen, Microsoft Press, 2000. See e.g., p. 1-394. 1-299. Ashton-Tate Corporation 1988:. Oracle8 Data Warehousing, A Practical Guide to Successful Data The Sybase SQL Server Survival Guide, Jim Panttaja, Mary Panttaja Warehouse Analysis, Build and Roll Out, Michael Corey, Michael and Judy Bowman, Wiley Computer Publishing, John Wiley & Sons, Abbey, Ian Abramson and Ben Taub, Oracle Press, Osborne/ 1996. See e.g., p. 1-374. McGraw-Hill, 1998. See e.g., p. 1-42, 99-346,429-664. Microsoft Data Warehousing: Building Distributed Decision Support Temporal Databases, Theory, Design and Implementation, Tansel Systems, Robert S. Craig, Joseph A. Vivona and David Bercovitch, Clifford, Gadia Jajodia and Segev Snodgrass, Benjamin Cummings Wiley Computer Publishing, John Wiley & Sons, 1999. See e.g., p. Publishing, 1993. See e.g., p. 1-270, 294-593. 1-379. The Data Warehouse Toolkit, Ralph Kimball, John Wiley & Sons, Oracle8 Data Warehousing: A Hands-On Guide to Designing, Build 1996. See e.g., p. 1-106, 143-152, 161-380. ing, and Managing Oracle Data Warehouses, Gary Dodge and Tim Data Warehousing. Using The Wal-Mart Model, Paul Westerman, Gorman, Wiley Computer Publishing, John Wiley & Sons, 1998. See Academic Press, 2001. See e.g., p. 1-304. e.g., p. 1-638. Using the New DB2IBM's Object-Relational Database System, Don Oracle 8 Administration and Management, Michael Ault, Wiley Chamberlin, Morgan Kaufmann Publishers, 1996. See e.g., p. 1-224, Computer Publishing, John Wiley & Sons, 1998. See e.g., p. 1-110, 393-664. 135-798. Arbor Essbase Start Here, Version 1.0.1, IBM. See e.g., p. 1-43. (C) Building a Data Warehouse for Decision Support, Vidette Poe, 1991-1998 Arbor Software Corporation. Prentice Hall, 1996. See e.g., p. 1-219. Arbor Essbase Installation Notes, Version 1.0.1, IBM, Arbor Soft Object-Oriented Data Warehouse Design: Building a Star Schema, ware, 1998. See e.g., p. 1-318. William G Giovinazzo, Prentice Hall, 2000. See e.g., p. 1-361. Reflex in Business, 17 Practical Examples for Business Analysis Informix Universal Data Option, Paul Allen and Joe Bambera, Using Relfex, the Analytic Database, Teddi Converse, Wade Ellis, McGraw-Hill, 1999. See e.g., p. 1-230, 313-468, 555-838. Sr., Wade Ellis, Jr., and Ed Lodi, McGraw-Hill, 1985. See e.g., p. Sybase and Client/Server Computing, Alex Berson and George 1-270. Anderson, McGraw-Hill, 1995. Combinatorial Optimization, Algorithms and Complexity, Christos Client/Server Database Design With Sybase: A High-Performance Papadimitriou, and Kenneth Steiglitz, Prentice-Hall, 1982. See e.g., and Finetuning Guide, George W. Anderson, McGraw-Hill, 1997. p. 1-25. See e.g., p. 1-146, 309-452, 477-570. Oracle8i Data Warehousing, Lilian Hobbs and Susan Hillson, Digital Borland Ouattro Pro for Windows, Version 5.0, Borland Interna Press, 2000. See e.g., p. 1-392. tional, 1993. See e.g., p. 1-10, 353-498. Using SAP R/3, ASAP World Consultancy, Oue Corporation, 1996. An Array-Based Algorithm for Simultaneous Multidimensional See e.g., p. 1-148, 173-188. Aggregates, Yihoug Zhao, Prassad M. Deshpande, Jeffrey F. Seagate Info, Report Design Guide, Version 7. Seagate Software, (C) Naughton, Computer Sciences Department, University of Wiscon 1998 Seagate Software Inc. See e.g., p. 1-79, 158-197. 462-595. sin-Madison, SIGMOD 97 AZ, USA, 1997 ACM 0-89791-911. Seagate Crystal Reports User's Guide, Version 6.0, Seagate Soft Microsoft SQL Server 7.0 Databse Implementation Training Kit, ware, 1997. See e.g., p. 192-215, 472-491, 516-643. Microsoft Press, 1999. See e.g., p. 1-157, 231-328,381-412. US 8,473.450 B2 Page 19

Microsoft SQL Server 7.0 Data Warehousing Training Kit, Microsoft Business Intelligence: The IBM Solution, Datawarehousing and Press, 2000. See e.g., p. 1-752. OLAP, Mark Whitehorn and Mary Whitehorn, Springer, 1999. See Optimizing SQL Server 7: Planning and Building a High-Perfor e.g., p. 1-304. mance Database, Second Edition, Robert D. Schneider and Jeffrey R. Sybase SQL Server: Performance and Tuning Guide, Karen Paulsell, Garbus, Prentice Hall, 1999. See e.g., p. 1-202, 333-525. Sybase Inc., 1996. See e.g., p. 13-56, 163-334. Sybase Developer's Guide, Daniel J. Worden, SAMS Publishing, Mastering Sybase SQL Server 11, Charles B. Clifford, McGraw-Hill, 1994. See e.g., p. 1-393. 1997. See e.g., p. 1-242, 329-532. Microsoft SQL Sever Olap Developer's Guide, William C. Amo, IDG Oracle8 for Dummies, Carol McCullough, IDG Books, 1997. See Books Worldwide, 2000. See e.g., p. 1-380. e.g., p. 1-388. Data Warehousing, Building the Corporate Knowledgebase, Tom Sybase SQL Server 11 Unleashed, Ray Rankins, Jeffrey R. Garbus, Hammergren, International Thomson Computer Press, 1996. See David Solomon and Bennet W. McEwan, SAMS Publishing, 1996. e.g., p. 1-106, 205-456. See e.g., p. 1-226. Informix Unleashed, the Comprehensive Solutions Package, John Oracle8 Advanced Tuning & Administration, Eyal Aronoff, Kevin McNally, Glenn Miller, Jim Prajesh and Jose Fortuny, SAMS Pub Loney and Noorali Sonawalla, Oracle Press, McGraw-Hill, 1998. lishing, 1997. See e.g., p. 1-718. See e.g., p. 1-540. Hyperion Essbase 5: Training Fundamentals, Hyperion Solutions Sybase DBA Companion, Brian Hitchcock, Prentice Hall, 1997. See Corp. See e.g., p. 1-390. e.g., p. 1-80, 201-326. Hyperion Essbase 5: Training Partitioning, Hyperion Solutions Corp. Microsoft OLAP Solutions, Erik Thomsen, George Spofford and See e.g., p. 1-292, 441-662. Dick Chase, Wiley Computer Publishing, John Wiley & Sons, 1999. Oracle8 Bible, Carol McCullough-Dieter, IDG Books Worldwide, See e.g., p. 1-356. Inc.- 1998. See e.g., p. 1-292, 441-1090. Teach Yourself Oracle8 Database Development in 21 Days, David Personal Oracle 8: A Voyage Into Oracle8's Newest Frontier, Richard Lockman, SAMS Publishing, 1997. See e.g., p. 1-404. Fieldhouse, International Thomson Publishing, 1998. See e.g., p. The Data Warehouse Method, Neilson Thomas Debevoise, Prentice 31-204, 279-342, 401-554. Hall, 1999. See e.g., p. 1-208,261-426. Oracle8 Database Administration on Windows NT, Lynnwood Oracle8 Black Book, Michael R. Ault, Coriolis Group Books, 1998. Brown, Prentice Hall, 1999. See e.g., p. 1-298. See e.g., p. 1-66, 143-572. Sybase Client/Server Explorer, James Bean, Coriolis Group books, Sybase SQL Server 11 DBA Survival Guide, Second Edition, Jeffrey 1996. See e.g., p. 67-136, 159-392. Garbus, David Solomon, Brian Tretter and Ray Rankins, SAMS Data Warehouse Management Handbook, Richard Kachur, Prentice Publishing, 1996. See e.g., p. 1-12, 91-362. Hall, 2000. See e.g., p. 1-346. Sybase SQL Server 11: An Administrator's Guide, John Kirkwood, Oracle8 PL/SQL Programming: The Essential Guide for Every International Thomson Computer Press, 1996. See e.g., p. 149-196, Oracle Programmer, Scott Urman, Oracle Press, Osborne McGraw 231-540. Hill, 1997. See e.g., p. 1-202, 463-502,549-960. Data Warehousing, Sean Kelly, John Wiley & Sons, 1996. See e.g., p. Oracle8 &UNIX Performance Tuning, Ahmed, Prentice Hall, 1999. 1-213. See e.g., p. 1-345. Unlocking OLAP With Microsoft SQL Server and Excel 2000, Oracle8 &Windows NT Black Book, Mike Curtis and Jacqueline Wayne S. Freeze, IDG Books, 2000. See e.g., p. 1-462. King, Coriolis Group, 1998. See e.g., p. 1-30, 273-798. Developing Sybase Applications, Daniel J. Worden, Sams Publish Database Performance Tuning Handbook, Jeff Dunham, McGraw ing, 1995. See e.g., p. 1-113, 216-440. Hill, 1998. See e.g., p. 137-314, 363-462, 537-558, 585-762. Physical Database Design for Sybase SQL Server, Rob Gillette, Dean Datawarehousing: Architecture and Implementation, Mark Muench and Jean Tabaka, Prentice-Hall, 1995. See e.g., p. 1-242. Humphries, Michael W. Hawkins and Michelle C. Dy, Harris Kern's Discrete Mathematical Structures With Applications to Computer Enterprise Computing Institute, Prentice Hall, 1999. See e.g., p. Science, J.P. Tremblay and R. Mahohar, McGraw-Hill, 1975. See 1-372. e.g., p. 1-103. Official Sybase Data Warehousing on the Internet: Accessing the Developing Client/Server Systems. Using Sybase SQL Server System Corporate Knowledge Base, Tom Hammergren, International 10, Sanjiv Purba, John Wiley & Sons, 1994. See e.g., p. 1-399. Thomson. See e.g., p. 1-208,363-592, Copyright 1998 International Sybase DBA Survival Guide, Jeff Garbus, David Solomon and Brian Thomson Publishing Company. Tretter, Sams Publishing, 1995. See e.g., p. 1-130, 177-246,411-490. SQL Server Developer's Guide to OLAP With Analysis Services, Oracle8 The Complete Reference, George Koch and Kevin Loney, Mike Gunderloy and Tim Sneath, Sybex Inc., 2001. See e.g., p. Oracle Press, McGraw-Hill, 1997. See e.g., p. 1-540. 1-468. The OLAP Report's website rethere is no single, ideal way of storing Arbor Essbase 5: Release Training, Arbor Software, 1997. See e.g., p. or processing multidimensional data. 2005. 1-316. CA Office Action, re Canadian Application No. CA 2401 348, dated Hyperion End User Training: Essbase Spreadsheet AD-IN for Excel. Jan. 13, 2010. Hyperion Solutions, 1998. See e.g., p. 1-278. EPO Examination Report and Notice of Oral Hearing re EP 1266,308 Data Mining a Hands-On Approach for Business Professionals, Rob dated Apr. 23, 2009. ert Groth, Prentice Hall, 1998. See e.g., p. 1-295. EPO Examination Reportre EP 1266 308 dated Nov. 21, 2006. Microsoft SQL Server 7 for Dummies, Anthony Mann, Hungry EPO Examination Reportre EP 1266 308 dated Oct. 20, 2004. Minds, 1998. See e.g., p. 1-388. EPO Supplemental Search Reportre EP 1 266 308 dated Jul. 16, Microsoft OLAP Unleashed, Second Edition, Tim Peterson and Jim 2004. Pinkelman, SAMS Publishing, 2000. See e.g., p. 1-890. EPO Decision to Refuse a European Patentre EP 1 266 308 dated Data Warehousing With Microsoft SOL Server 7.0 Technical Refer Feb. 2, 2010. ence, Jake Sturm, Microsoft Press, 2000. See e.g., p. 1-240,264-430. PCT International Search Reportre PCT/IB2000/01 100, dated Jan. 2, Official Sybase Internals: Designing and Troubleshooting for High 2001. Performance, John Kirkwood, International Thomson Publishing, PCT International Search Reportre PCT/US2001/06316 dated May 1998. See e.g., p. 1-54, 111-186, 329-406. 14, 2001. SQL Server 7 Data Warehousing, Michael Corey, Michael Abbey, Ian PCT International Examination Reportre PCT/US2001/06316 dated Abramson, Larry Barnes, Benajmin Taub and Rajan Venkitachalam. Dec. 28, 2001. See e.g., p. 1-32, 77-448, Copyright (C) 1999 by the McGraw-Hill CA Office Action, re Canadian Application No. CA 2401 348, dated Companies. Jan. 24, 2011. Official Sybase SQL Anywhere: A Developer's Guide, Ian Rich Stonebraker, M., et al.: “The Postgres Next-Generation Database mond, Steve Clayton and Derek Ball, International Thomson Pub Management System”. Communications of the ACM, Oct. 1991, vol. lishing, 1997. See e.g., p. 1-108, 191-374. 34, No. 10, pp. 78-72. Exhibit A5 to Appeal Brief. US 8,473.450 B2 Page20

Rafanelli, M.: "Multidimensional Databases: Problems and Solu Vassiliadis, P: Modeling Multidimensional Databases, Cubes and tions'. Idea Group Inc., 2003 3 pgs. (cover, forward). Exhibit A4 to Cube Operations, National Technical University of Athens. Exhibit Appeal Brief. A1 to Appeal Brief. Japanese Office Action re JP 2001-565050, dated Feb. 15, 2011. Thomsen, E.: “OLAP Solutions—Building Multidinemsional Infor Chaudhuri, et al.: "An Overview of Data Warehousing and OLAP mation Systems', 1997 in 5 pages. Exhibit A3 to Appeal Brief. Technology”, ACM SIGMOD, vol. 26, Issue 1, Mar. 1997. Colliat, G.: OLAP, Relational, and Multidimensional Database Sys Japanese Office Action re JP 2001-565050, dated Jan. 24, 2012. tems, SIGMOD Record, vol. 25, No.3, Sep. 1996, pp. 64-69. Exhibit A2 to Appeal Brief. * cited by examiner U.S. Patent Jun. 25, 2013 Sheet 1 of 50 US 8.473.450 B2

U.S. Patent US 8.473.450 B2

U.S. Patent US 8.473.450 B2

GZ-61-I (LHVHOIHd)

(LC)d U.S. Patent Jun. 25, 2013 Sheet 5 of 50 US 8473.450 B2

Array structure of a multidimensional variable

Fig. 2C (PRIOR ART) U.S. Patent Jun. 25, 2013 Sheet 6 of 50 US 8.473.450 B2

Page Allocation Table pointing on physical records of a multidimensional variable (e.g. the two first rows of a variable of FIG. 2B reside in page #0)

Page # Page of physical records o

s s

Fig. 2D (PRIOR ART) U.S. Patent US 8.473.450 B2

U.S. Patent US 8.473.450 B2

?OS(61-) (LHVHOI?+d)

U.S. Patent Jun. 25, 2013 Sheet 11 of 50 US 8.473.450 B2

U.S. Patent Jun. 25, 2013 Sheet 16 of 50 US 8.473.450 B2

VIVOBABI8138

SEA

VIVOJELVITOTVO

LSBDDEN8C]

U.S. Patent Jun. 25, 2013 Sheet 18 Of 50

SLNBITOSISÄTVNV) CINVNO]L\/3)ERJ9€)\/(Inº) U.S. Patent 473.450 B2

U.S. Patent Jun. 25, 2013 Sheet 20 Of 50 US 8.473.450 B2

\/6(5)|-

U.S. Patent Jun. 25, 2013 Sheet 21 of 50 US 8.473.450 B2

96"5)|-!

/^]^_^ ||||||

U.S. Patent Jun. 25, 2013 Sheet 23 Of 50 US 8.473.450 B2

Nd£Z}0 U-RU-ROE-RL-a

EOINW-LINT)\/ EKOITSECIW U.S. Patent Jun. 25, 2013 Sheet 24 of 50 US 8.473.450 B2

80|'5)|-

SOW?3HIWdTOEZISOOTHONEIHVIS U.S. Patent Jun. 25, 2013 Sheet 25 Of 50 US 8.473.450 B2

9"LOTRHLS

U.S. Patent Jun. 25, 2013 Sheet 26 of 50 US 8.473.450 B2

BEGIN

1101 LOAD CATALOGUE FROM DBMS

EXTRACT DATA DESCRBNG MULTIPLE 1103 HERARCHIES FOR AT LEAST ONE DIMENSION

LOOP OVER ITEMS IN THE MULTIPLE HIERARCHIES -

FOREACH TEM IN MULTIPLE 1107 HERARCHES

IDENTIFY PARENT (IF ANY) OF TEMS INCLUDING GRANDPARENT, GREAT GRANDPARENTANDADD TO PARENT 1109 LIST

1111 LOOP OVER HERARCHES

1113 FOREACH HERARCHY

DENTIFY CHILD OF TEMANDADD TO GROUP IN CHILD LIST FOR THE 1115 HERARCHY

1117 END LOOP OVER HERARCHES

1119 END LOOP OVERTEMS

F G. 11 C(i) U.S. Patent Jun. 25, 2013 Sheet 27 Of 50 US 8.473.450 B2

1121 VERIFY INTEGRITY OF HERARCHES

1123 IF ERRORIS FOUND, FIXOR REPORT TO USER

1125 LOOP THROUGH TEMS IN THE CHILD LIST

1127 FOR A GIVEN ITEM IN CHILD LIST

1129

GIVEN TEM YES 1131 HAS NO CHILD2

ADD ENTRY FOR NO ITEM N LEVELO OF ORDERED LIST

1133 END OF LOOP THROUGH TEMS IN CHILD LIST

F G. 11 C(i) U.S. Patent Jun. 25, 2013 Sheet 28 of 50 US 8.473.450 B2

1135 CURRENT LEVEL = LEVELO

1137 ADD ITEM(S) IN CURRENT LEVEL OF ORDERED LIST TO WORK LIST 1139

WORKLIST YES EMPTY? END

NO LOOP THROUGH TEMS IN workList 1141 UNTIL EMPTY

1143 FOR A GIVEN ITEM IN WORKLIST

LOOP THROUGH PARENTS OF GIVEN 1145 ITEMAS SPECIFIED IN PARENT LIST 1147 FOR A GIVEN PARENT OF GIVEN TEM

1149 ANY

OTHER PARENTS, YES A CHILD OF A GIVEN PARENT

NO (G) G) G) (c) GD) F G. 11C(iii) U.S. Patent Jun. 25, 2013 Sheet 29 Of 50 US 8.473.450 B2

ADD ENTRY FOR GIVEN PARENT TO NEXT 1151 LEVEL (CURRENT LEVEL + 1), IF NEED BE

1153 IFNO CHILD OF GIVEN ITEM (AS SPECIFIED IN CURRENT LEVEL OF ORDERED LIST) IS COVERED BY CHILDREN (INCLUDING GRANDCHILDREN, ETC.) OF TEM(S) OF ENTRY FOR GIVEN PARENT IN NEXT LEVEL OF ORDERED LIST, ADD GIVEN ITEM TO ENTRY IN NEXT LEVEL OF ORDERED LIST FOR PARENT

1155 END LOOP OVER PARENTS OF GIVEN TEM

1157 DELETE ITEM FROM WORKLIST

1159 END OF LOOP EVEN TEMS IN WORKLIST

1161 NCREMENT CURRENT LEVEL

1163 RETURN

FIG. 11C(iv) U.S. Patent Jun. 25, 2013 Sheet 30 Of 50 US 8.473.450 B2

PARENT LIST CHILD LIST

, CH, D, CC, ED

F G. 11C(v) F G. 11C(vi)

ORDERED LIST ORDERED LIST ORDERED LIST LEVELO LEVEL 1 LEVEL 2

CHILD(REN)

F G. 11C(vii) F G. 11C(viii) F G. 11C(ix) U.S. Patent Jun. 25, 2013 Sheet 31 of 50 US 8.473.450 B2

NO?J_\/SOERJ99)\/EINIÐNE SÐNIXEICINISÐNICIVOTETTACJOWNCIN\/ Z?,"SOI– U.S. Patent Jun. 25, 2013 Sheet 32 Of 50 US 8.473.450 B2

T\/?H_LNEHOESTIOHERHVNA

U.S. Patent Jun. 25, 2013 Sheet 37 Of 50 US 8.473.450 B2

ÅEXIC]ORHd CJO]\]Ed NOISNEWHO

ÅEXEWIL NOISNEWIC]NOISNEWIC] U.S. Patent US 8.473.450 B2

88],'9)|- NOISNE|N|O|------_•r S?TºwlI,______•^•*

S_LINÍT LN(\OOSIO BORJd

U.S. Patent Jun. 25, 2013 Sheet 40 of 50 US 8.473.450 B2

CICIW ETTACJOW TO}}_LNOO

TOS

NEWELVIS EINISONE|(S)ETGVL |—86],'5) U.S. Patent Jun. 25, 2013 Sheet 41 of 50 US 8.473.450 B2

601 BASE DATA LOADER LOADS DICTIONARY FROM META-DATA STORE, EXTRACTS DIMENSIONS FROM DICTIONARY AND FORWARDS DIMENSIONS TO AGGREGATION ENGINE

BASE DATA LOADER LOADS FACT TABLE(S) FROM RDBMS, 603 EXTRACTS ATOMC DATA AND FORWARDS ATOMC DATA TO AGGREGATION ENGINE

AGGREGATION ENGINE ROLLS UP (AGGREGATES) THE 605 ATOMC DATA IN AT LEAST ONE DIMENSION

DEFINE REFERENCE THAT PROVIDES USER WITH ABILITY 6O7 TO QUERY MODB N THE MDDAGGREGATION MODULE

CLIENT FORWARDS SQL STATEMENT(S)- SOME MAY REFER TO REFERENCE DEFINED INSTEP 607 - TO THE QUERY 609 HANDLER

QUERY HANDLER RECEIVES SQL STATEMENT(S) FROM 611 CLIENTS

613

SQL STATEMENT NO

ON REFERENCE DEFINED 625 NSTEP 6O7 NORMAL SOL YES PROCESSING

F G. 19C(i) U.S. Patent Jun. 25, 2013 Sheet 42 of 50 US 8.473.450 B2

ROUTE SQL STATEMENT(S) TO SQL HANDLER IN MO 615 AGGREGATION MODULE

RECEIVE SOL STATEMENT IN SOL HANDLER AND EXTRACT 617 DIMENSIONAL COORDINATES

MDD HANDLER USES DIMENSIONAL COORDNATESTO 619 ADDRESS THE MDDB AND RETRIEVE DATA THEREN

621 RETURN RETREVED DATA TOUSE

F G. 19C(i) U.S. Patent Jun. 25, 2013 Sheet 43 of 50 US 8.473450 B2

VIVOJENHOLS

\/LVOELVITTIOTVO

ETTETTO1SE30DE|}}

U.S. Patent Jun. 25, 2013 Sheet 44 of 50 US 8.473.450 B2

|VSVGBMOIWIWGGW ?º|Bosnyg?ºg}}}}}}}}} HYNOL??IOWEJ EITTACJOWNCICIENH_LIWAXINIT 1SÐNIONBHE-JENJ|‘ETGVLBLOWBAJV

| | %| || | | |--;;------–––––––––1 U.S. Patent US 8.473.450 B2

1OERHIC] U.S. Patent Jun. 25, 2013 Sheet 46 of 50 US 8 9 473.450 B2

5ÐNITONY/HÅRHETTO SHOIA?HBS (S)ETGVLLOVB-

U.S. Patent Sheet 47 of 50 US 8.473.450 B2

U.S. Patent Jun. 25, 2013 Sheet 48 of 50 US 8.473.450 B2

CICIW NOLL\/SDE|}}95)\/ ETTGJOW

80Z"SOI–

U.S. Patent Sheet 50 Of 50 US 8.473.450 B2

SWECINdVTOESTOHERHVNAVLVC]

(S)ETGVLLOVB

| | | | | | | | (AHVNOILOIC)| | | | | | | |

ÅRHETTO US 8,473,450 B2 1. 2 RELATIONAL DATABASE MANAGEMENT manipulate operational data using familiar business terms, in SYSTEM (RDBMS) EMPLOYING order to provide analytical insight into a particular problem or MULTI-DIMENSIONAL DATABASE (MDDB) line of inquiry. For example, by using an OLAP System, FOR SERVICING QUERY STATEMENTS decision makers can "slice and dice' information along a THROUGHONE ORMORE CLIENT customer (or business) dimension, and view business metrics MACHINES by product and through time. Reports can be defined from multiple perspectives that provide a high-level or detailed RELATED CASES view of the performance of any aspect of the business. Deci sion makers can navigate throughout their database by drill This is a Continuation of U.S. application Ser. No. 1 1/888, 10 ing down on a report to view elements at finer levels of detail, 904 filed Aug. 2, 2007 now abandonded; which is a Continu or by pivoting to view reports from different perspectives. To ation of U.S. application Ser. No. 10/839,782 filed May 5, enable such full-functioned business analysis, OLAP systems 2004 now abondoned; which is a Continuation of U.S. appli need to (1) Support Sophisticated analysis, (2) scale to large cation Ser. No. 10/314,884 filed Dec. 9, 2002, now U.S. Pat. numbers of dimensions, and (3) Support analysis against large No. 7.315,849; which is a Continuation of U.S. application 15 atomic data sets. These three key requirements are discussed Ser. No. 09/796,098 filed Feb. 28, 2001, now abandoned; further below. which is a Continuation-in-part of U.S. application Ser. No. Decision makers use key performance metrics to evaluate 09/514,611 filed Feb. 28, 2000, now U.S. Letters Patent the operations within their domain, and OLAP systems need 6,434,544, and U.S. application Ser. No. 09/634,748 filed to be capable of delivering these metrics in a user-customiz Aug. 9, 2000, now U.S. Letters Patent 6,385,604; each said able format. These metrics may be obtained from the trans Application being commonly owned by HyperRoll, Limited, actional databases pre-calculated and stored in the database, and incorporated herein by reference in its entirety. or generated on demand during the query process. Commonly used metrics include: BACKGROUND OF THE INVENTION (1) Multidimensional Ratios (e.g. Percent to Total)— 25 “Show me the contribution to weekly sales and category 1. Field of Invention profit made by all items sold in the Northwest stores The present invention relates to a method of and system for between July 1 and July 14. aggregating data elements in a multi-dimensional database (2) Comparisons (e.g. Actual vs. Plan, This Period vs. Last (MDDB) Supported upon a computing platform and also to Period)—"Show me the sales to plan percentage varia provide an improved method of and system for managing data 30 tion for this year and compare it to that of the previous elements within an MDDB during on-line analytical process year to identify planning discrepancies.” ing (OLAP) operations and as an integral part of a database (3) Ranking and Statistical Profiles (e.g. Top N/BottomN, management System. 70/30, Quartiles) "Show me sales, profit and average 2. Brief Description of the State of the Art call volume per day for my 20 most profitable sales The ability to act quickly and decisively in today’s increas 35 people, who are in the top 30% of the worldwide sales.” ingly competitive marketplace is critical to the Success of (4) Custom Consolidations—"Show me an abbreviated organizations. The Volume of information that is available to income statement by quarter for the last two quarters for corporations is rapidly increasing and frequently overwhelm my Western Region operations.” ing. Those organizations that will effectively and efficiently Knowledge workers analyze data from a number of differ manage these tremendous Volumes of data, and use the infor 40 ent business perspectives or dimensions. As used hereinafter, mation to make business decisions, will realize a significant a dimension is any element or hierarchical combination of competitive advantage in the marketplace. elements in a data model that can be displayed orthogonally Data warehousing, the creation of an enterprise-wide data with respect to other combinations of elements in the data store, is the first step towards managing these Volumes of data. model. For example, if a report lists sales by week, promo The Data Warehouse is becoming an integral part of many 45 tion, Store, and department, then the report would be a slice of information delivery systems because it provides a single, data taken from a four-dimensional data model. central location where a reconciled version of data extracted Target marketing and market segmentation applications from a wide variety of operational systems is stored. Over the involve extracting highly qualified result sets from large Vol last few years, improvements in price, performance, Scalabil umes of data. For example, a direct marketing organization ity, and robustness of open computing systems have made 50 might want to generate a targeted mailing list based on dozens data warehousing a central component of Information Tech of characteristics, including purchase frequency, size of the nology CIT strategies. Details on methods of data integration last purchase, past buying trends, customer location, age of and constructing data warehouses can be found in the white customer, and gender of customer. These applications rapidly paper entitled “Data Integration: The Warehouse Founda increase the dimensionality requirements for analysis. tion” by Louis Rolleigh and Joe Thomas. 55 The number of dimensions in OLAP systems range from a Building a Data Warehouse has its own special challenges few orthogonal dimensions to hundreds of orthogonal dimen (e.g. using common data model, common business dictio sions. Orthogonal dimensions in an exemplary OLAP appli nary, etc.) and is a complex endeavor. However, just having a cation might include Geography, Time, and Products. Data Warehouse does not provide organizations with the Atomic data refers to the lowest level of data granularity often-heralded business benefits of data warehousing. To 60 required for effective decision making. In the case of a retail complete the Supply chain from transactional systems to deci merchandising manager, "atomic data” may refer to informa sion maker, organizations need to deliver systems that allow tion by Store, by day, and by item. For a banker, atomic data knowledge workers to make strategic and tactical decisions may be information by account, by transaction, and by based on the information stored in these warehouses. These branch. Most organizations implementing OLAP Systems decision Support systems are referred to as On-Line Analyti 65 find themselves needing systems that can scale to tens, hun cal Processing (OLAP) systems. OLAP systems allow dreds, and even thousands of gigabytes of atomic informa knowledge workers to intuitively, quickly, and flexibly tion. US 8,473,450 B2 3 4 As OLAP systems become more pervasive and are used by including data aggregation (i.e. preaggregation) in the the majority of the enterprise, more data over longer time MDDB. As shown in FIG. 1B, the base data loader is fed with frames will be included in the data store (i.e. data warehouse), base data, in the most detailed level, from the Data Ware and the size of the database will increase by at least an order house, into the of magnitude. Thus, OLAP systems need to be able to scale Multi-Dimensional DataBase (MDDB). On top of the base from present to near-future Volumes of data. data, layers of aggregated data are built-up by the Aggrega In general, OLAP Systems need to (1) Support the complex tion program, which is part of the Aggregation, Access and analysis requirements of decision-makers, (2) analyze the Retrieval module. As indicated in this figure, the application data from a number of different perspectives (i.e. business logic module is responsible for the execution of all OLAP dimensions), and (3) Support complex analyses against large 10 requests/queries (e.g. ratios, ranks, forecasts, exception scan input (atomic-level) data sets from a Data Warehouse main ning, and slicing and dicing) of data within the MDDB. The tained by the organization using a relational database man presentation module integrates with the application logic agement system (RDBMS). module and provides an interface, through which the end Vendors of OLAP systems classify OLAP Systems as users view and request OLAP analyses on their client either Relational OLAP (ROLAP) or Multidimensional 15 machines which may be web-enabled through the infrastruc OLAP (MOLAP) based on the underlying architecture ture of the Internet. The client/server architecture of a thereof. Thus, there are two basic architectures for On-Line MOLAP system allows multiple users to access the same Analytical Processing systems: the ROLAP Architecture, and multidimensional database (MDDB). the MOLAP architecture. Information (i.e. basic data) from a variety of operational The Relational OLAP (ROLAP) system accesses data systems within an enterprise, comprising the Data Ware stored in a Data Warehouse to provide OLAP analyses. The house, is loaded into a prior art multidimensional database premise of ROLAP is that OLAP capabilities are best pro (MDDB) through a series of batch routines. The ExpressTM vided directly against the relational database, i.e. the Data server by the Oracle Corporation is exemplary of a popular Warehouse. server which can be used to carry out the data loading process The ROLAP architecture was invented to enable direct 25 in prior art MOLAP systems. As shown in FIG.2B, an exem access of data from Data Warehouses, and therefore support plary 3-D MDDB is schematically depicted, showing geog optimization techniques to meet batch window requirements raphy, time and products as the “dimensions' of the database. and to provide fast response times. Typically, these optimiza The multidimensional data of the MDDB is logically orga tion techniques include application-level table partitioning, nized in an array structure, as shown in FIG. 2C. Physically, pre-aggregate inferencing, denormalization Support, and the 30 the ExpressTM server stores data in pages (or records) of an joining of multiple fact tables. information file. Pages contain 512, or 2048, or 4096 bytes of A typical prior art ROLAP system has a three-tier or layer data, depending on the platform and the release of the client/server architecture. The “database layer utilizes rela ExpressTM server. In order to look up the physical record tional databases for data storage, access, and retrieval pro address from the database file recorded on a disk or other cesses. The “application logic layer is the ROLAP engine 35 mass storage device, the ExpressTM server generates a data which executes the multidimensional reports from multiple structure referred to as a “Page Allocation Table (PAT). As users. The ROLAP engine integrates with a variety of “pre shown in FIG. 2D, the PAT tells the ExpressTM server the sentation layers,” through which users perform OLAP analy physical record number that contains the page of data. Typi SCS. cally, the PAT is organized in pages. The simplest way to After the data model for the data warehouse is defined, data 40 access a data element in the MDDB is by calculating the from on-line transaction-processing (OLTP) systems is “offset using the additions and multiplications expressed by loaded into the relational database management system a simple formula: (RDBMS). If required by the data model, database routines are run to pre-aggregate the data within the RDBMS. Indices Offset=Months--Product (# of Months)+City* (# of Months # of Products) are then created to optimize query access times. End users 45 submit multidimensional analyses to the ROLAP engine, During an OLAP session, the response time of a multidi which then dynamically transforms the requests into SQL mensional query on a prior art MDDB depends on how many execution plans. The SQL execution plans are submitted to cells in the MDDB have to be added “on the fly'. As the the relational database for processing, the relational query number of dimensions in the MDDB increases linearly, the results are cross-tabulated, and a multidimensional result data 50 number of the cells in the MDDB increases exponentially. set is returned to the end user. ROLAP is a fully dynamic However, it is known that the majority of multidimensional architecture capable of utilizing pre-calculated results when queries deal with Summarized high level data. Thus, as shown they are available, or dynamically generating results from in FIGS. 3A and 3B, once the atomic data (i.e. “basic data') atomic information when necessary. has been loaded into the MDDB, the general approach is to Multidimensional OLAP (MOLAP) systems utilize a pro 55 perform a series of calculations in batch in order to aggregate prietary multidimensional database (MDDB) to provide (i.e. pre-aggregate) the data elements along the orthogonal OLAP analyses. The MDDB is logically organized as a mul dimensions of the MDDB and to fill the array structures tidimensional array (typically referred to as a multidimen thereof. For example, revenue figures for all retail stores in a sional cube or hypercube or cube) whose rows/columns each particular state (i.e. New York) would be added together to fill represent a different dimension (i.e., relation). A data value is 60 the state level cells in the MDDB. After the array structure in associated with each combination of dimensions (typically the database has been filled, integer-based indices are created referred to as a “coordinate'). The main premise of this archi and hashing algorithms are used to improve query access tecture is that data must be stored multidimensionally to be times. Pre-aggregation of dimension D0 is always performed accessed and viewed multidimensionally. along the cross-section of the MDDB along the D0 dimen As shown in FIG. 1B, prior art MOLAP systems have an 65 S1O. Aggregation, Access and Retrieval module which is respon As shown in FIGS. 3C1 and 3C2, the raw data loaded into sible for all data storage, access, and retrieval processes, the MDDB is primarily organized at its lowest dimensional US 8,473,450 B2 5 6 hierarchy, and the results of the pre-aggregations are stored in MOLAP's capability, because to be effective and to meet the neighboring parts of the MDDB. end-user requirements, MOLAP databases need a high As shown in FIG. 3C2, along the TIME dimension, weeks degree of aggregation. are the aggregation results of days, months are the aggrega By contrast, the ROLAP system architecture allows the tion results of weeks, and quarters are the aggregation results construction of systems requiring a low degree of aggrega of months. While not shown in the figures, along the GEOG tion, but Such systems are significantly slower than systems RAPHY dimension, states are the aggregation results of cit based on MOLAP system architecture principles. The result ies, countries are the aggregation results of states, and conti ing long aggregation times of ROLAP Systems impose severe nents are the aggregation results of countries. By pre limitations on its Volumes and dimensional capabilities. aggregating (i.e. consolidating or compiling) all logical 10 The graphs plotted in FIG. 5 clearly indicate the computa tional demands that are created when searching an MDDB subtotals and totals along all dimensions of the MDDB, it is during an OLAP session, where answers to queries are pre possible to carry out real-time MOLAP operations using a sented to the MOLAP system, and answers thereto are solic multidimensional database (MDDB) containing both basic ited often under real-time constraints. However, prior art (i.e. atomic) and pre-aggregated data. Once this compilation 15 MOLAP systems have limited capabilities to dynamically process has been completed, the MDDB is ready for use. create data aggregations or to calculate business metrics that Users request OLAP reports by submitting queries through have not been precalculated and stored in the MDDB. the OLAP Application interface (e.g. using web-enabled cli The large Volumes of data and the high dimensionality of ent machines), and the application logic layer responds to the certain market segmentation applications are orders of mag submitted queries by retrieving the stored data from the nitude beyond the limits of current multidimensional data MDDB for display on the client machine. bases. Typically, in MDDB systems, the aggregated data is very ROLAP is capable of higher data volumes. However, the sparse, tending to explode as the number of dimension grows ROLAP architecture, despite its high volume and dimension and dramatically slowing down the retrieval process (as ality Superiority, Suffers from several significant drawbacks described in the report entitled “Database Explosion: The 25 as compared to MOLAP: OLAP Report', incorporated herein by reference). Quick and Full aggregation of large data Volumes are very time con on line retrieval of queried data is critical in delivering an Suming, otherwise, partial aggregation severely on-line response for OLAP queries. Therefore, the data struc degrades the query response. ture of the MDDB, and methods of its storing, indexing and It has a slower query response handling are dictated mainly by the need for fast retrieval of 30 It requires developers and end users to know SQL massive and sparse data. SQL is less capable of the sophisticated analytical func Different solutions for this problem are disclosed in the tionality necessary for OLAP following US patents, each of which is incorporated herein by ROLAP provides limited application functionality reference in its entirety: Thus, improved techniques for data aggregation within U.S. Pat. No. 5,822,751 “Efficient Multidimensional Data 35 MOLAP systems would appear to allow the number of Aggregation Operator Implementation' dimensions of and the size of atomic (i.e. basic) data sets in U.S. Pat. No. 5,805,885 “Method And System For Aggre the MDDB to be significantly increased, and thus increase the gation Objects' usage of the MOLAP system architecture. U.S. Pat. No. 5,781,896 “Method And System For Effi Also, improved techniques for data aggregation within ciently Performing Database Table Aggregation Using 40 ROLAP systems would appear to allow for maximized query An Aggregation Index' performance on large data Volumes, and to reduce the time of U.S. Pat. No. 5,745,764“Method And System For Aggre partial aggregations that degrades query response, and thus, gation Objects' generally benefit ROLAP system architectures. In all the prior art of OLAP servers, the process of storing, Thus, there is a great need in the art for an improved way of indexing and handling MDDB utilize complex data structures 45 and means for aggregating data elements within a multi to largely improve the retrieval speed, as part of the querying dimensional database (MDDB), while avoiding the short process, at the cost of slowing down the storing and aggrega comings and drawbacks of prior art systems and methodolo tion. The query-bounded structure, that must Support fast g1eS. retrieval of queries in a restricting environment of high spar Modern operational and informational database systems, city and multi-hierarchies, is not the optimal one for fast 50 as described above, typically use a database management aggregation. system (DBMS) (such as an RDBMS system, object database In addition to the aggregation process, the Aggregation, system, or object/relational database system) as a repository Access and Retrieval module is responsible for all data stor for storing data and querying the data. FIG. 14 illustrates a age, retrieval and access processes. The Logic module is data warehouse-OLAP domain that utilizes the prior art responsible for the execution of OLAP queries. The Presen 55 approaches described above. The data warehouse is an enter tation module intermediates between the user and the Logic prise-wide data store. It is becoming an integral part of many module and provides an interface through which the end users information delivery systems because it provides a single, view and request OLAP analyses. The client/server architec central location wherein a reconciled version of data ture allows multiple users to simultaneously access the mul extracted from a wide variety of operational systems is stored. tidimensional database. 60 Details on methods of data integration and constructing data In Summary, general system requirements of OLAP Sys warehouses can be found in the white paper entitled “Data tems include: (1) Supporting Sophisticated analysis, (2) scal Integration: The Warehouse Foundation” by Louis Rolleigh ing to a large number of dimensions, and (3) Supporting and Joe Thomas. analysis against large atomic data sets. Building a Data Warehouse has its own special challenges MOLAP system architecture is capable of providing ana 65 (e.g. using common data model, common business dictio lytically Sophisticated reports and analysis functionality. nary, etc.) and is a complex endeavor. However, just having a However, requirements (2) and (3) fundamentally limit Data Warehouse does not provide organizations with the US 8,473,450 B2 7 8 often-heralded business benefits of data warehousing. To FIG. 16A illustrates an exemplary table in an RDBMS; and complete the Supply chain from transactional systems to deci FIGS. 16B and 16C illustrate operators (queries) on the table sion maker, organizations need to deliver systems that allow of FIG.16A, and the result of such queries, respectively. The knowledge workers to make strategic and tactical decisions operators illustrated in FIGS. 16B and 16C are expressed as based on the information stored in these warehouses. These 5 Structured Query Language (SQL) statements as is conven decision Support systems are referred to as On-Line Analyti tional in the art. cal Processing (OLAP) systems. Such OLAP systems are The choice of using an RDBMS as the data repository in commonly classified as Relational OLAP systems or Multi information database systems naturally stems from the reali Dimensional OLAP systems as described above. ties of SQL standardization, the wealth of RDBMS-related The Relational OLAP (ROLAP) system accesses data 10 tools, and readily available expertise in RDBMS systems. stored in a relational database (which is part of the Data However, the querying component of RDBMS technology Warehouse) to provide OLAP analyses. The premise of Suffers from performance and optimization problems stem ROLAP is that OLAP capabilities are best provided directly ming from the very nature of the relational data model. More against the relational database. The ROLAP architecture was specifically, during query processing, the relational data invented to enable direct access of data from Data Ware 15 model requires a mechanism that locates the raw data ele houses, and therefore Support optimization techniques to ments that match the query. Moreover, to Support queries that meet batch window requirements and to provide fast response involve aggregation operations, Such aggregation operations times. Typically, these optimization techniques include appli must be performed over the raw data elements that match the cation-level table partitioning, pre-aggregate inferencing, query. For large multi-dimensional databases, a naive imple denormalization Support, and the joining of multiple fact mentation of these operations involves computational inten tables. sive table scans that lead to unacceptable query response As described above, a typical ROLAP system has a three times. tier or layer client/server architecture. The “database layer In order to better understand how the prior art has utilizes relational databases for data storage, access, and approached this problem, it will be helpful to briefly describe retrieval processes. The “application logic layer is the 25 the relational database model. According to the relational ROLAP engine which executes the multidimensional reports database model, a relational database is represented by a from multiple users. The ROLAP engine integrates with a logical Schema and tables that implement the schema. The variety of “presentation layers,” through which users perform logical schema is represented by a set oftemplates that define OLAP analyses. After the data model for the data warehouse one or more dimensions (entities) and attributes associated is defined, data from on-line transaction-processing (OLTP) 30 with a given dimension. The attributes associated with a given systems is loaded into the relational database management dimension includes one or more attributes that distinguish it system (RDBMS). If required by the data model, database from every other dimension in the database (a dimension routines are run to pre-aggregate the data within the RDBMS. identifier). Relationships amongst dimensions are formed by Indices are then created to optimize query access times. End joining attributes. The data structure that represents the set of users submit multidimensional analyses to the ROLAP 35 templates and relations of the logical schema is typically engine, which then dynamically transforms the requests into referred to as a catalog or dictionary. Note that the logical SQL execution plans. The SQL execution plans are submitted schema represents the relational organization of the database, to the relational database for processing, the relational query but does not hold any fact data perse. This fact data is stored results are cross-tabulated, and a multidimensional result data in tables that implement the logical schema: set is returned to the end user. ROLAP is a fully dynamic 40 Star schemas are frequently used to represent the logical architecture capable of utilizing pre-calculated results when structure of a relational database. The basic premise of star they are available, or dynamically generating results from the schemas is that information can be classified into two groups: raw information when necessary. facts and dimensions. Facts are the core data elements being The Multidimensional OLAP (MOLAP) systems utilize a analyzed. For example, units of an individual item sold are proprietary multidimensional database (MDDB) (or “cube') 45 facts, while dimensions are attributes about the facts. For to provide OLAP analyses. The main premise of this archi example, dimensions are the product types purchased and the tecture is that data must be stored multidimensionally to be data purchase. Business questions against this schema are accessed and viewed multidimensionally. Such MOLAP sys asked by looking up specific facts (UNITS) through a set of tems provide an interface that enables users to query the dimensions (MARKETS, PRODUCTS, PERIOD). The cen MDDB data structure such that users can "slice and dice' the 50 tral fact table is typically much larger than any of its dimen aggregated data. As shown in FIG. 15, such MOLAP systems sion tables. have an aggregation engine which is responsible for all data An exemplary star schema is illustrated in FIG. 17A for storage, access, and retrieval processes, including data aggre suppliers (the “Supplier dimension) and parts (the “Parts” gation (i.e. pre-aggregation) in the MDDB, and an analytical dimension) over time periods (the “Time-Period’ dimen processing and GUI module responsible for interfacing with 55 sion). It includes a central fact table “Supplied-Parts” that a user to provide analytical analysis, query input, and report relates to multiple dimensions—the “Supplier. “Parts” and ing of query results to the user. In a relational database, data "Time-Period’ dimensions. A central fact table and a dimen is stored in tables. In contrast, the MDDB is a non-relational sion table for each dimension in the logical schema of FIG. data structure—it uses other data structures, either instead of 17A may be used to implement this logical Schema. A given or in addition to tables—to store data. 60 dimension table stores rows (instances) of the dimension There are other application domains where there is a great defined in the logical schema. Each row within the central fact need for improved methods of and apparatus for carrying out table includes a multi-part key associated with a set of facts data aggregation operations. For example, modern opera (in this example, a number representing a quantity). The tional and informational databases represent Such domains. multi-part key of a given row (values stored in the Si, Pi, TPil As described above, modern operational and informational 65 fields as shown) points to rows (instances) stored in the databases typically utilize a relational database system dimension tables described above. A more detailed descrip (RDBMS) as a repository for storing data and querying data. tion of Star Schemas and the tables used to implement star US 8,473,450 B2 9 10 schemas may be found in C. J. Date, “An Introduction to details and aggregates must use the indicator to obtain the Database Systems. Seventh Edition, Addison-Wesley, 2000, correct result, which impacts performance. The best alterna pp. 711-715, herein incorporated by reference in its entirety. tive to using the level indicator is the snowflake schema. In When processing a query, the tables that implement the this schema, aggregate tables are created separately from the schema are accessed to retrieve the facts that match the query. detail tables. In addition to the main fact tables, snowflake For example, in a star schema implementation as described schema contains separate fact tables for each level of aggre above, the facts are retrieved from the central fact table and/or gation. Notably, the Snowflake schema is even more compli the dimension tables. Locating the facts that match a given cated than a star Schema, and often requires multiple SQL query involves one or more of the join operations. Moreover, statements to get the results that are required. to Support queries that involve aggregation operations. Such 10 aggregation operations must be performed over the facts that Another performance issue arises from the pairwise join match the query. For large multi-dimensional databases, a problem. Traditional RDBMS engines are not design for the naive implementation of these operations involves computa rich set of complex queries that are issued against a star tional intensive table scans that typically lead to unacceptable schema. The need to retrieve related information from several query response times. Moreover, since the fact tables are 15 tables in a single query —join processing is severely pre-Summarized and aggregated along business dimensions, limited. Many RDBMSs can join only two tables at a time. If these tables tend to be very large. This point becomes an a complex join involves more than two tables, the RDBMS important consideration of the performance issues associated needs to break the query into a series of pairwise joins. Select with star schemas. A more detailed discussion of the perfor ing the order of these joins has a dramatic performance mance issues (and proposed approaches that address Such impact. There are optimizers that spend a lot of CPU cycles to issues) related to joining and aggregation of Star Schema is find the best order in which to execute those joins. Unfortu now set forth. nately, because the number of combinations to be evaluated The first performance issue arises from computationally grows exponentially with the number of tables being joined, intensive table scans that are performed by a naive implemen the problem of selecting the best order of pairwise joins rarely tation of data joining. Indexing schemes may be used to 25 can be solved in a reasonable amount of time. bypass these scans when performing joining operations. Such Moreover, because the number of combinations is often too schemes include B-tree indexing, inverted list indexing and large, optimizers limit the selection on the basis of a criterion aggregate indexing. A more detailed description of Such of directly related tables. In a star schema, the fact table is the indexing schemes can be found in “The Art of Indexing, only table directly related to most other tables, meaning that Dynamic Information Systems Corporation, October 1999. 30 the fact table is a natural candidate for the first pairwise join. All of these indexing schemes replace table scan operations Unfortunately, the fact table is the very largest table in the (involved in locating the data elements that match a query) query, so this strategy leads to selecting a pairwise join order with one or more index lookup operation. Inverted list index that generates a very large intermediate result set, severely ing associates an index with a group of data elements, and affecting query performance. stores (at a location identified by the index) a group of point 35 There is an optimization strategy, typically referred to as ers to the associated data elements. During query processing, Cartesian Joins, that lessens the performance impact of the in the event that the query matches the index, the pointers pairwise join problem by allowing joining of unrelated tables. stored in the index are used to retrieve the corresponding data The join to the fact table, which is the largest one, is deferred elements pointed therefrom. Aggregation indexing integrates until the very end, thus reducing the size of intermediate an aggregation index with an inverted list index to provide 40 result sets. In a join of two unrelated tables every combination pointers to raw data elements that require aggregation, of the two tables' rows is produced, a Cartesian product. Such thereby providing for dynamic Summarization of the raw data a Cartesian product improves query performance. However, elements that match the user-Submitted query. this strategy is viable only if the Cartesian product of dimen These indexing schemes are intended to improve the join sion rows selected is much smaller than the number of rows in operations by replacing table scan operations with one or 45 the fact table. The multiplicative nature of the Cartesian join more index lookup operation in order to locate the data ele makes the optimization helpful only for relatively small data ments that match a query. However, these indexing schemes bases. suffer from various performance issues as follows: In addition, systems that exploit hardware and Software Since the tables in the star Schema design typically contain parallelism have been developed which lessens the perfor the entire hierarchy of attributes (e.g. in a PERIOD 50 mance issues set forth above. Parallelism can help reduce the dimension, this hierarchy could be execution time of a single query (speed-up), or handle addi day >week-monthquarter year), a multipart key of tional work without degrading execution time (scale-up). For day, week, month, quarter, year has to be created; thus, example, Red BrickTM has developed STARjoinTM technol multiple meta-data definitions are required (one of each ogy that provides high speed, parallelizable multi-table joins key component) to define a single relationship; this adds 55 in a single pass, thus allowing more than two tables to be to the design complexity, and sluggishness in perfor joined in a single operation. The core technology is an inno aCC. Vative approach to indexing that accelerates multiple joins. Addition or deletion of levels in the hierarchy will require Unfortunately, parallelism can only reduce, not eliminate, the physical modification of the fact table, which is a time performance degradation issues related to the star Schema. consuming process that limits flexibility. 60 One of the most fundamental principles of the multidimen Carrying all the segments of the compound dimensional sional database is the idea of aggregation. The most common key in the fact table increases the size of the index, thus aggregation is called a roll-up aggregation. This type is rela impacting both performance and Scalability. tively easy to compute: e.g. taking daily sales totals and Another performance issue arises from dimension tables rolling them up into a monthly sales table. The more difficult that contain multiple hierarchies. In Such cases, the dimen 65 are analytical calculations, the aggregation of Boolean and sional table often includes a level of hierarchy indicator for comparative operators. However these are also considered as every record. Every retrieval from the fact table that stores a Subset of aggregation. US 8,473,450 B2 11 12 In a star schema, the results of aggregation are Summary and drawbacks. More specifically, atomic (raw) data is tables. Typically, Summary tables are generated by database moved, in a single transfer, to the MOLAP System for aggre administrators who attempt to anticipate the data aggrega gation, analysis and querying. Importantly, the aggregation tions that the users will request, and then pre-build such results are external to the DBMS. Thus, users of the DBMS tables. In Such systems, when processing a user-generated cannot directly view these results. Such results are accessible query that involves aggregation operations, the pre-built only from the MOLAP system. Because the MDD query aggregated data that matches the query is retrieved from the processing logic in prior art MOLAP Systems is separate from summary tables (if such data exists). FIGS. 18A and 18B that of the DBMS, users must procure rights for access to the illustrate a multi-dimensional relational database using a star MOLAP system and be instructed (and be careful to conform schema and Summary tables. In this example, the Summary 10 to such instructions) to access the MDD (or the DBMS) under tables are generated over the “time' dimension storing aggre certain conditions. Such requirements can present security gated data for “month”, “quarter and “year time periods as issues, highly undesirable for system administration. Satisfy shown in FIG. 18B. Summary tables are in essence, addi ing Such requirements is a costly and logistically cumber tional fact tables of higher levels. They are attached to the Some process. As a result, the widespread applicability of basic fact table creating a Snowflake extension of the star 15 MOLAP systems has been limited. schema. There are hierarchies among Summary tables Thus, there is a great need in the art for an improved because users at different levels of management require dif mechanism for joining and aggregating data elements within ferent levels of Summarization. Choosing the level of aggre a database management system (e.g., RDBMS), and for inte gation is accomplished via the “drill-down” feature. grating the improved database management system (e.g., Summary tables containing pre-aggregated results typi RDBMS) into informational database systems (including the cally provide for improved query response time with respect data warehouse and OLAP domains), while avoiding the to on-the-fly aggregation. However, Summary tables Suffer shortcomings and drawbacks of prior art systems and meth from some disadvantages: odologies. Summary tables require that database administrators antici pate the data aggregation operations that users will 25 SUMMARY AND OBJECTS OF THE PRESENT require; this is a difficult task in large multi-dimensional INVENTION databases (for example, in data warehouses and data mining systems), where users always need to query in Accordingly, it is a further object of the present invention to new ways looking for new information and patterns. provide an improved method of and system for managing data Summary tables do not provide a mechanism that allows 30 elements within a multidimensional database (MDDB) using efficient drill down to view the raw data that makes up a novel stand-alone (i.e. external) data aggregation server, the summary table typically a table scan of one or achieving a significant increase in System performance (e.g. more large tables is required. decreased access/search time) using a stand-alone scalable querying is delayed until pre-aggregation is completed. data aggregation server. there is a heavy time overhead because the vast majority of 35 Another object of the present invention is to provide such a the generated information remains unvisited. system, wherein the stand-alone aggregation server includes there is a need to synchronize the summary tables before an aggregation engine that is integrated with an MDDB, to the use. provide a cartridge-style plug-in accelerator which can com the degree of viable parallelism is limited because the municate with virtually any conventional OLAP server. subsequent levels of summary tables must be performed 40 Another object of the present invention is to provide such a in pipeline, due to their hierarchies. stand-alone data aggregation server whose computational for very large databases, this option is not valid because of tasks are restricted to data aggregation, leaving all other time and storage space. OLAP functions to the MOLAP server and therefore comple Note that it is common to utilize both pre-aggregated results menting OLAP server's functionality. and on-the-fly aggregation in Support aggregation. In these 45 Another object of the present invention is to provide such a systems, partial pre-aggregation of the facts results in a small system, wherein the stand-alone aggregation server carries set of Summary tables. On-the-fly aggregation is used in case out an improved method of data aggregation within the the required aggregated data does not exist in the Summary MDDB which enables the dimensions of the MDDB to be tables. scaled up to large numbers and large atomic (i.e. base) data Note that in the event that the aggregated data does not exist 50 sets to be handled within the MDDB. in the Summary tables, the table join operations and the aggre Another object of the present invention is to provide such a gation operations are performed over the raw facts in order to stand-alone aggregation server, wherein the aggregation generate such aggregated data. This is typically referred to as engine Supports high-performance aggregation (i.e. data roll on-the-fly aggregation. In Such instances, aggregation index up) processes to maximize query performance of large data ing is used to mitigate the performance of multiple data joins 55 Volumes, and to reduce the time of partial aggregations that associated with dynamic aggregation of the raw data. Thus, in degrades the query response. large multi-dimensional databases, such dynamic aggrega Another object of the present invention is to provide such a tion may lead to unacceptable query response times. stand-alone, external Scalable aggregation server, wherein its In view of the problems associated with joining and aggre integrated data aggregation (i.e. roll-up) engine speeds up the gation within RDBMS, prior art ROLAP systems have suf 60 aggregation process by orders of magnitude, enabling larger fered from essentially the same shortcomings and drawbacks database analysis by lowering the aggregation times. of their underlying RDBMS. Another object of the present invention is to provide such a While prior art MOLAP systems provide for improved novel stand-alone Scalable aggregation server for use in access time to aggregated data within their underlying MDD OLAP operations, wherein the Scalability of the aggregation structures, and have performance advantages when carrying 65 server enables (i) the speed of the aggregation process carried out joining and aggregation operations, prior art MOLAP out therewithin to be substantially increased by distributing architectures have suffered from a number of shortcomings the computationally intensive tasks associated with data US 8,473,450 B2 13 14 aggregation among multiple processors, and (ii) the large data Another object of the present invention is to provide a sets contained within the MDDB of the aggregation server to generic plug-in cartridge-type data aggregation component, be subdivided among multiple processors thus allowing the suitable for all MOLAP systems of different vendors, dra size of atomic (i.e. basic) data sets within the MDDB to be matically reducing their aggregation burdens. Substantially increased. Another object of the present invention is to provide a Another object of the present invention is to provide such a novel high performance cartridge-type data aggregation novel stand-alone scalable aggregation server, which pro server which, having standardized interfaces, can be plugged vides for uniform load balancing among processors for high into the OLAP system of virtually any user or vendor. efficiency and best performance, and linear scalability for Another object of the present invention is to provide a extending the limits by adding processors. 10 novel "cartridge-style” (stand-alone) scalable data aggrega Another object of the present invention is to provide a tion engine which has the capacity to convert long batch-type stand-alone, external scalable aggregation server, which is data aggregations into interactive sessions. suitable for MOLAP as well as for ROLAP system architec In another aspect, it is an object of the present invention to tures. provide an improved method of and system for joining and Another object of the present invention is to provide a 15 aggregating data elements integrated within a database man novel stand-alone scalable aggregation server, wherein an agement system (DBMS) using a non-relational multi-di MDDB and aggregation engine are integrated and the aggre mensional data structure (MDDB), achieving a significant gation engine carries out a high-performance aggregation increase in System performance (e.g. decreased access/search algorithm and novel storing and searching methods within the time), user flexibility and ease of use. MDDB. Another object of the present invention is to provide such a Another object of the present invention is to provide a DBMS wherein its integrated data aggregation module Sup novel stand-alone scalable aggregation server which can be ports high-performance aggregation (i.e. data roll-up) pro Supported on single-processor (i.e. sequential or serial) com cesses to maximize query performance of large data Volumes. puting platforms, as well as on multi-processor (i.e. parallel) Another object of the present invention is to provide such a computing platforms. 25 DBMS system, wherein its integrated data aggregation (i.e. Another object of the present invention is to provide a roll-up) module speeds up the aggregation process by orders novel stand-alone scalable aggregation server which can be of magnitude, enabling larger database analysis by lowering used as a complementary aggregation plug-in to existing the aggregation times. MOLAP and ROLAP databases. Another object of the present invention is to provide such a Another object of the present invention is to provide a 30 novel DBMS system for use in OLAP operations. novel stand-alone scalable aggregation server which carries Another object of the present invention is to provide a out novel rollup (i.e. down-up) and spread down (i.e. top novel DBMS system having an integrated aggregation mod down) aggregation algorithms. ule that carries out novel rollup (i.e. down-up) and spread Another object of the present invention is to provide a down (i.e. top-down) aggregation algorithms. novel stand-alone scalable aggregation server which includes 35 Another object of the present invention is to provide a an integrated MDDB and aggregation engine which carries novel DBMS system having an integrated aggregation mod out full pre-aggregation and/or “on-the-fly aggregation pro ule that carries out full pre-aggregation and/or “on-the-fly” cesses within the MDDB. aggregation processes. Another object of the present invention is to provide such a Another object of the present invention is to provide a novel stand-alone scalable aggregation server which is 40 novel DBMS system having an integrated aggregation mod capable of supporting MDDB having a multi-hierarchy ule which is capable of supporting an MDDB having a multi dimensionality. hierarchy dimensionality. Another object of the present invention is to provide a These and other objects of the present invention will novel method of aggregating multidimensional data of atomic become apparenthereinafter and in the claims to Invention set data sets originating from an RDBMS Data Warehouse. 45 forth herein. Another object of the present invention is to provide a novel method of aggregating multidimensional data of atomic BRIEF DESCRIPTION OF THE DRAWINGS data sets originating from other sources, such as external ASCII files, an MOLAP server, or other end user applica In order to more fully appreciate the objects of the present tions. 50 invention, the following Detailed Description of the Illustra Another object of the present invention is to provide a tive Embodiments should be read in conjunction with the novel stand-alone scalable data aggregation server which can accompanying Drawings, wherein: communicate with any MOLAP server via standard ODBC, FIG. 1A is a schematic representation of an exemplary OLE DB or DLL interface, in a completely transparent man prior art relational on-line analytical processing (ROLAP) ner with respect to the (client) user, without any time delays in 55 system comprising a three-tier or layer client/server architec queries, equivalent to storage in the MOLAP server's cache. ture, wherein the first tier has a database layer utilizing an Another object of the present invention is to provide a RDBMS for data storage, access, and retrieval processes, the novel "cartridge-style” (stand-alone) scalable data aggrega second tier has an application logic layer (i.e. the ROLAP tion engine which dramatically expands the boundaries of engine) for executing the multidimensional reports from mul MOLAP into large-scale applications including Banking, 60 tiple users, and the third tier integrates the ROLAP engine Insurance, Retail and Promotion Analysis. with a variety of presentation layers, through which users Another object of the present invention is to provide a perform OLAP analyses; novel "cartridge-style” (stand-alone) scalable data aggrega FIG. 1B is a schematic representation of a generalized tion engine which dramatically expands the boundaries of embodiment of a prior art multidimensional on-line analyti high-volatility type ROLAP applications such as, for 65 cal processing (MOLAP) system comprising a base data example, the precalculation of data to maximize query per loader for receiving atomic (i.e. base) data from a Data Ware formance. house realized by an RDBMS, an OLAP multidimensional US 8,473,450 B2 15 16 database (MDDB), an aggregation, an access and retrieval data elements contained therein, and thus there is a need to module, an application logic module and a presentation mod employ address data paging techniques between the DRAM ule associated with a conventional OLAP sever (e.g. Oracle's (e.g. program memory) and mass storage devices (e.g. record Express Server) for Supporting on-line transactional process ing discs or RAIDs) available on the serial computing plat ing (OLTP) operations on the MDDB, to service database form used to implement such prior art MOLAP systems: queries and requests from a plurality of OLAP client FIG. 5 is a graphical representation showing how search machines typically accessing the system from an information time in a conventional (i.e. prior art) MDDB increases in network (e.g. the Internet); proportion to the amount of preaggregation of data there FIG. 2A is a schematic representation of the Data Ware within; house shown in the prior art system of FIG. 1B comprising 10 FIG. 6A is a schematic representation of a generalized numerous data tables (e.g. T1, T2 ... Tn) and data field links, embodiment of a multidimensional on-line analytical pro and the OLAP multidimensional database shown of FIG. 1B, cessing (MOLAP) system of the present invention compris comprising a conventional page allocation table (PAT) with ing a Data Warehouse realized as a relational database, a pointers pointing to the physical storage of variables in an stand-alone Aggregation Server of the present invention hav information storage device; 15 ing an integrated aggregation engine and MDDB, and an FIG. 2B is a schematic representation of an exemplary OLAP server supporting a plurality of OLAP clients, wherein three-dimensional MDDB, organized as a 3-dimensional the stand-alone Aggregation Server performs aggregation Cartesian cube and used in the prior art system of FIG. 2A, functions (e.g. Summation of numbers, as well as other math wherein the first dimension of the MDDB is representative of ematical operations, such as multiplication, Subtraction, divi geography (e.g. cities, states, countries, continents), the sec sion etc.) and multi-dimensional data storage functions; ond dimension of the MDDB is representative of time (e.g. FIG. 6B is a schematic block diagram of the stand-alone days, weeks, months, years), the third dimension of the Aggregation Server of the illustrative embodiment shown in MDDB is representative of products (e.g. all products, by FIG. 6A, showing its primary components, namely, a base manufacturer), and the basic data element is a set of variables data interface (e.g. OLDB, OLE-DB, ODBC, SQL, JDBC, which are addressed by 3-dimensional coordinate values: 25 API, etc.) for receiving RDBMS flat files lists and other files FIG. 2C is a schematic representation of a prior art array from the Data Warehouse (RDBMS), a base data loader for structure associated with an exemplary three-dimensional receiving base data from the base data interface, configura MDDB, arranged according to a dimensional hierarchy; tion manager for managing the operation of the base data FIG. 2D is a schematic representation of a prior art page interface and base data loader, an aggregation engine and allocation table for an exemplary three-dimensional MDDB, 30 MDDB handler for receiving base data from the base loader, arranged according to pages of data element addresses; performing aggregation operations on the base data, and Stor FIG. 3A is a schematic representation of a prior art ing the base data and aggregated data in the MDDB; an MOLAP system, illustrating the process of periodically stor aggregation client interface (e.g. OLDB, OLE-DB, ODBC, ing raw data in the RDBMS Data Warehouse thereof, serially SQL, JDBC, API, etc.) and input analyzer for receiving loading basic data from the Data Warehouse to the MDDB, 35 requests from OLAP client machines, cooperating with the and the process of serially pre-aggregating (or pre-compiling) aggregation engine and MDDB handler to generate aggre the data in the MDDB along the entire dimensional hierarchy gated data and/or retrieve aggregated data from the MDDB thereof that pertains to the received requests, and returning this aggre FIG. 3B is a schematic representation illustrating that the gated data back to the requesting OLAP clients; and a con Cartesian addresses listed in a prior art page allocation table 40 figuration manager for managing the operation of the input (PAT) point to where physical storage of data elements (i.e. analyzer and the aggregation client interface. variables) occurs in the information recording media (e.g. FIG. 6C is a schematic representation of the software mod storage volumes) associated with the MDDB, during the ules comprising the aggregation engine and MDDB handler loading of basic data into the MDDB as well as during data of the stand-alone Aggregation Server of the illustrative preaggregation processes carried out therewithin; 45 embodiment of the present invention, showing a base data list FIG. 3C1 is a schematic representation of an exemplary structure being Supplied to a hierarchy analysis and reorder three-dimensional database used in a conventional MOLAP module, the output thereof being transferred to an aggrega system of the prior art, showing that each data element con tion management module, the output thereof being trans tained therein is physically stored at a location in the record ferred to a storage module via a storage management module, ing media of the system which is specified by the dimensions 50 and a Query Directed Roll-up (QDR) aggregation manage (and subdimensions within the dimensional hierarchy) of the ment module being provided for receiving database (DB) data variables which are assigned integer-based coordinates requests from OLAP client machines (via the aggregation in the MDDB, and also that data elements associated with the client interface) and managing the operation of the aggrega basic data loaded into the MDDB are assigned lower integer tion and storage management modules of the present inven coordinates in MDDB Space than pre-aggregated data ele 55 tion; ments contained therewithin; FIG. 6D is a flow chart representation of the primary opera FIG. 3C2 is a schematic representation illustrating that a tions carried out by the (DB) request serving mechanism conventional hierarchy of the dimension of “time' typically within the QDR aggregation management module shown in contains the Subdimensions “days, weeks, months, quarters, FIG. 6C: etc. of the prior art; 60 FIG. 7A is a schematic representation of a separate-plat FIG. 3C3 is a schematic representation showing how data form type implementation of the stand-alone Aggregation elements having higher subdimensions of time in the MDDB Server of the illustrative embodiment of FIG. 6B and a con of the prior art are typically assigned increased integer ventional OLAP server supporting a plurality of client addresses along the time dimension thereof; machines, wherein base data from a Data Warehouse is shown FIG. 4 is a schematic representation illustrating that, for 65 being received by the aggregation server, realized on a first very large prior art MDDBs, very large page allocation tables hardware/software platform (i.e. Platform A) and the stand (PATs) are required to represent the address locations of the alone Aggregation Server is shown serving the conventional US 8,473,450 B2 17 18 OLAP server, realized on a second hardware/software plat of items A, B, F, and G, the second level is composed of items form (i.e. Platform B), as well as serving data aggregation C. E. Hand I, and the third level is composed of a single item requirements of other clients Supporting diverse applications D, which is common to all three hierarchical structures; Such as spreadsheet, GUI front end, and applications; FIG. 11B is a schematic representation of an optimized FIG. 7B is a schematic representation of a shared-platform 5 multi-hierarchical data structure merged from all three hier type implementation of the stand-alone Aggregation Server archies of FIG. 11A, in accordance with the principles of the of the illustrative embodiment of FIG. 6B and a conventional present invention; OLAP server Supporting a plurality of client machines, FIG.11C(i) through 11C(ix) represent a flow chart descrip wherein base data from a Data Warehouse is shown being tion (and accompanying data structures) of the operations of received by the stand-alone Aggregation Server, realized on a 10 common hardware/software platform and the aggregation an exemplary hierarchy transformation mechanism of the server is shown serving the conventional OLAP server, real present invention that optimally merges multiple hierarchies ized on the same common hardware/software platform, as into a single hierarchy that is functionally equivalent to the well as serving data aggregation requirements of other clients multiple hierarchies. Supporting diverse applications such as spreadsheet, GUI 15 FIG. 12 is a schematic representation showing the levels of front end, and applications; operations performed by the stand-alone Aggregation Server FIG. 8A is a data table setting forth information represen of FIG. 6B, summarizing the different enabling components tative of performance benchmarks obtained by the shared for carrying out the method of segmented aggregation in platform type implementation of the stand-alone Aggregation accordance with the principles of the present invention; Server of the illustrative embodiment serving the conven FIG. 13 is a schematic representation of the stand-alone tional OLAP server (i.e. Oracle EXPRESS Server) shown in Aggregation Server of the present invention shown as a com FIG. 7B, wherein the common hardware/software platform is ponent of a central data warehouse, serving the data aggre realized using a Pentium II 450 Mhz, 1 GB RAM, 18 GB gation needs of URL directory systems, Data Marts, Disk, running the Microsoft NT (OS); RDBMSs, ROLAP systems and OLAP systems alike: FIG. 9A is a schematic representation of the first stage in 25 FIG. 14 is a schematic representation of a prior art infor the method of segmented aggregation according to the prin mation database system, wherein the present invention may ciples of the present invention, showing initial aggregation be embodied; along the 1st dimension; FIG. 15 is a schematic representation of the prior art data FIG.9B is a schematic representation of the next stage in warehouse and OLAP system, wherein the present invention the method of segmented aggregation according to the prin 30 may be embodied; ciples of the present invention, showing that any segment FIGS. 16A-16C are schematic representations of exem along dimension 1, such as the shown slice, can be separately plary tables employed in a prior art Relational Database Man aggregated along the remaining dimensions, 2 and 3, and that agement System (RDBMS): FIGS. 16B and 16C illustrate in general, for an N dimensional system, the second stage operators (queries) on the table of FIG.16A, and the result of involves aggregation in N-1 dimensions. The principle of 35 Such queries, respectively; segmentation can be applied on the first stage as well, how FIG. 17A is a schematic representation of an exemplary ever, only a large enough data will justify Such a sliced pro dimensional schema (star Schema) of a relational database; cedure in the first dimension. Actually, it is possible to con FIG. 18A is a schematic representation of an exemplary sider each segment as an N-1 cube, enabling recursive multidimensional schema (star Schema); computation. 40 FIG. 18B is a schematic representation of tables used to FIG. 9C1 is a schematic representation of the Query implement the schema of FIG. 18A, including summary Directed Roll-up (QDR) aggregation method/procedure of tables storing results of aggregation operations performed on the present invention, showing data aggregation starting from the facts of the central fact table along the time-period dimen existing basic data or previously aggregated data in the first Sion, in accordance with conventional teachings; dimension (D1), and Such aggregated data being utilized as a 45 FIG. 19A is a schematic representation of an exemplary basis for QDRaggregation along the second dimension (D2); embodiment of a DBMS (for example, an RDBMS as shown) FIG. 9C2 is a schematic representation of the Query of the present invention comprising a relational datastore and Directed Roll-up (QDR) aggregation method/procedure of an integrated multidimensional (MDD) aggregation module the present invention, showing initial data aggregation start Supporting queries from a plurality of clients, wherein the ing from existing previously aggregated data in the third 50 aggregation engine performs aggregation functions (e.g. dimension (D3), and continuing along the third dimension Summation of numbers, as well as other mathematical opera (D3), and thereafter continuing aggregation along the second tions, such as multiplication, Subtraction, division etc.) and dimension (D2); non-relational multi-dimensional data storage functions. FIG. 10A is a schematic representation of the "slice-stor FIG. 19B is a schematic block diagram of the MDD aggre age' method of storing sparse data in the disk storage devices 55 gation module of the illustrative embodiment of the present of the MDDB of FIG. 6B in accordance with the principles of invention shown in FIG. 6A. the present invention, based on an ascending-ordered index FIGS. 19C(i) and 19C(i), taken together, set forth a flow along aggregation direction, enabling fast retrieval of data; chart representation of the primary operations carried out FIG. 10B is a schematic representation of the data organi within the DBMS of the present invention when performing zation of data files and the directory file used in the storages 60 data aggregation and related Support operations, including the of the MDDB of FIG. 6B, and the method of searching for a servicing of user-Submitted (e.g. natural language) queries queried data point therein using a simple binary search tech made on Such aggregated database of the present invention. nique due to the data files ascending order; FIG. 19D is a flow chart representation of the primary FIG. 11A is a schematic representation of three exemplary operations carried out by the (DB) request serving mecha multi-hierarchical data structures for storage of data within 65 nism within the MDD control module shown in FIG. 6B. the MDDB of FIG. 6B, having three levels of hierarchy, FIG. 19E is a schematic representation of the view mecha wherein the first level representative of base data is composed nism of a DBMS that enables users to query on the aggregated US 8,473,450 B2 19 20 data generated and/or stored in the MDD Aggregation mod For purposes of illustration, initial focus will be accorded ule according to the present invention. to improvements in MOLAP systems, in which knowledge FIG. 19F is a schematic representation of the trigger workers are enabled to intuitively, quickly, and flexibly mechanism of the DBMS that enables users to query on the manipulate operational data within a MDDB using familiar aggregated data generated and/or stored in the MDD Aggre business terms in order to provide analytical insight into a gation module according to the present invention. business domain of interest. FIG. 19G is a schematic representation of the DBMS of the FIG. 6A illustrates a generalized embodiment of a multi present invention, illustrating a logical partitioning into a dimensional on-line analytical processing (MOLAP) system relational part and a non-relational part. The relational part of the present invention comprising: a Data Warehouse real includes the relational data store (e.g., table(s) and dictionary) 10 ized as a relational database; a stand-alone cartridge-style and Support mechanisms (e.g., query handling services). The Aggregation Server of the present invention having an inte non-relational part includes the MDD Aggregation Module. grated aggregation engine and a MDDB, and an OLAP server Data flows bidirectionally between the relational part and the communicating with the Aggregation Server, and Supporting non-relational part as shown. a plurality of OLAP clients. In accordance with the principles FIG. 20A shows a separate-platform type implementation 15 of the present invention, the stand-alone Aggregation Server of the DBMS system of the illustrative embodiment shown in performs aggregation functions (e.g. Summation of numbers, FIG. 19A, wherein the relational datastore and support as well as other mathematical operations, such as multiplica mechanisms (e.g., query handling, fact table(s) and dictio tion, Subtraction, division etc.) and multi-dimensional data nary of the DBMS) reside on a separate hardware platform storage functions. and/or OS system from that used to run the MDDAggregation Departing from conventional practices, the principles of Module of the present invention. the present invention teaches moving the aggregation engine FIG.20B shows a common-platform type implementation and the MDDB into a separate Aggregation Server having of the DBMS system of the illustrative embodiment shown in standardized interfaces so that it can be plugged-into the FIG. 19A, wherein the relational datastore and support OLAP server of virtually any user or vendor. This dramatic mechanisms (e.g., query handling, fact table(s) and dictio 25 move discontinues the restricting dependency of aggregation nary of the DBMS) share the same hardware platform and from the analytical functions of OLAP and by applying novel operating system (OS) that is used to run the MDD Aggrega and independent algorithms. The stand-alone data aggrega tion Module of the present invention. tion server enables efficient organization and handling of FIG. 21 is a schematic representation of the DBMS of the data, fast aggregation processing, and fast access to and present invention shown as a component of a central data 30 retrieval of any data element in the MDDB. warehouse, serving the data storage and aggregation needs of As will be described in greater detail hereinafter, the a ROLAP system (or other OLAP system). Aggregation Server of the present invention can serve the data FIG. 22 is a schematic representation of the DBMS of the aggregation requirements of other types of systems besides present invention shown as a component of a central data OLAP Systems such as, for example, URL directory manage warehouse, wherein the DBMS includes integrated OLAP 35 ment Data Marts, RDBMS, or ROLAP systems. Analysis Logic (and preferably an integrated Presentation The Aggregation Server of the present invention excels in Module) that operates cooperatively with the query handling performing two distinct functions, namely: the aggregation of of the DBMS system and the MDD Aggregation Module to data in the MDDB; and the handling of the resulting database enable users of the DBMS system to execute multidimen in the MDDB, for "on demand client use. In the case of sional reports (e.g., ratios, ranks, transforms, dynamic con 40 serving an OLAP server, the Aggregation Server of the Solidation, complex filtering, forecasts, query governing, present invention focuses on performing these two functions scheduling, flow control, pre-aggregate inferencing, denor in a high performance manner (i.e. aggregating and storing malization Support, and/or table partitioning and joins) and base data, originated at the Data Warehouse, in a multidimen preferably perform traditional OLAP analyses (grids, graphs, sional storage (MDDB), and providing the results of this data maps, alerts, drill-down, data pivot, data Surf, slice and dice, 45 aggregation process "on demand” to the clients, such as the print). OLAP server, spreadsheet applications, the end user applica tions. As such, the Aggregation Server of the present inven DETAILED DESCRIPTION OF THE PREFERRED tion frees each conventional OLAP server, with which it EMBODIMENTS OF THE PRESENT interfaces, from the need of making data aggregations, and INVENTION 50 therefore allows the conventional OLAP server to concentrate on the primary functions of OLAP servers, namely: data Referring now to FIGS. 6A through 13, the preferred analysis and Supporting a graphical interface with the user embodiments of the method and system of the present inven client. tion will be now described in great detail hereinbelow, FIG. 6B shows the primary components of the stand-alone wherein like elements in the Drawings shall be indicated by 55 Aggregation Server of the illustrative embodiment, namely: a like reference numerals. base data interface (e.g. OLDB, OLE-DB, ODBC, SQL, Through this invention disclosure, the term "aggregation' JDBC, API, etc.) for receiving RDBMS flat files lists and and “preaggregation' shall be understood to mean the process other files from the Data Warehouse (RDBMS), a base data of Summation of numbers, as well as other mathematical loader for receiving base data from the base data interface, operations, such as multiplication, Subtraction, division etc. 60 configuration manager for managing the operation of the base In general, the stand-alone aggregation server and methods data interface and base data loader, an aggregation engine for of and apparatus for data aggregation of the present invention receiving base data from the base loader, a multi-dimensional can be employed in a wide range of applications, including database (MDDB); a MDDB handler, an input analyzer, an MOLAP systems, ROLAP systems, Internet URL-directory aggregation client interface (e.g. OLDB, OLE-DB, ODBC, systems, personalized on-line e-commerce shopping sys 65 SQL API, JDBC, etc.) and a configuration managerforman tems, Internet-based systems requiring real-time control of aging the operation of the input analyzer and the aggregation packet routing and/or Switching, and the like. client interface. US 8,473,450 B2 21 22 During operation, the base data originates at data ware present invention, which will be described in detail hereinaf house or other sources, such as external ASCII files, MOLAP ter with reference to FIGS. 10A and 10B. server, or others. The Configuration Manager, in order to The request serving mechanism shown in FIG. 6D is con enable proper communication with all possible sources and trolled by the QDR aggregation management module. data structures, configures two blocks, the Base Data Inter Requests are queued and served one by one. If the required face and Data Loader. Their configuration is matched with data is already pre-calculated, then it is retrieved by the stor different standards such as OLDB, OLE-DB, ODBC, SQL, age management module and returned to the client. Other API, JDBC, etc. wise, the required data is calculated “on-the-fly” by the aggre As shown in FIG. 6B, the core of the data Aggregation gation management module, and the result moved out to the Server of the present invention comprises: a data Aggregation 10 client, while simultaneously stored by the storage manage ment module, shown in FIG. 6C. Engine; a Multidimensional DataHandler (MDDB Handler); FIGS. 7A and 7B outline two different implementations of and a Multidimensional Data Storage (MDDB). The results the stand-alone (cartridge-style) Aggregation Server of the of data aggregation are efficiently stored in the MDDB by the present invention. In both implementations, the Aggregation MDDB Handler. 15 Server Supplies aggregated results to a client. As shown in FIGS. 6A and 6B, the stand-alone Aggrega FIG. 7A shows a separate-platform type implementation of tion Server of the present invention serves the OLAP Server the MOLAP system of the illustrative embodiment shown in (or other requesting computing system) Via an aggregation FIG. 6A, wherein the Aggregation Server of the present client interface, which preferably conforms to standard inter invention resides on a separate hardware platform and OS face protocols such as OLDB, OLE-DB, ODBC, SQL, JDBC, system from that used to run the OLAP server. In this type of an API, etc. Aggregation results required by the OLAP server implementation, it is even possible to run the Aggregation are supplied on demand. Typically, the OLAP Server disin Server and the OLAP Server on different-type operating sys tegrates the query, via parsing process, into series of requests. tems (e.g. NT, Unix, MAC OS). Each Such request, specifying a n-dimensional coordinate, is FIG. 7B shows a common-platform type implementation presented to the Aggregation Server. The Configuration Man 25 of the MOLAP system of the illustrative embodiment shown ager sets the Aggregation Client Interface and Input Analyzer in FIG. 6B, wherein the Aggregation Server of the present for a proper communication protocol according to the client invention and OLAP Server share the same hardware plat user. The Input Analyzer converts the input format to make it form and operating system (OS). Suitable for the MDDB Handler. FIG. 8A shows a table setting forth the benchmark results An object of the present invention is to make the transfer of 30 of an aggregation engine, implemented on a shared/common data completely transparent to the OLAP user, in a manner hardware platform and OS, in accordance with the principles which is equivalent to the storing of data in the MOLAP of the present invention. The common platform and OS is server's cache and without any query delays. This requires realized using a Pentium II 450 Mhz, 1 GB RAM, 18 GB that the stand-alone Aggregation Server have exceptionally Disk, running the Microsoft NT operating system. The six (6) fast response characteristics. This object is enabled by pro 35 data sets shown in the table differ in number of dimensions, viding the unique data structure and aggregation mechanism number of hierarchies, measure of sparcity and data size. A of the present invention. comparison with ORACLE Express, a major OLAP server, is FIG. 6C shows the software modules comprising the made. It is evident that the aggregation engine of the present aggregation engine and MDDB handler components of the invention outperforms currently leading aggregation technol stand-alone Aggregation Server of the illustrative embodi 40 ogy by more than an order of magnitude. ment. The base data list, as it arrives from RDBMS or text The segmented data aggregation method of the present files, has to be analyzed and reordered to optimize hierarchy invention is described in FIGS. 9A through 9C2. These fig handling, according to the unique method of the present ures outline a simplified setting of three dimensions only; invention, as described later with reference to FIGS. 11A and however, the following analysis applies to any number of 11B. 45 dimensions as well. The function of the aggregation management module is to The data is being divided into autonomic segments to mini administrate the aggregation process according to the method mize the amount of simultaneously handled data. The initial illustrated in FIGS. 9A and 9B. aggregation is practiced on a single dimension only, while In accordance with the principles of the present invention, later on the aggregation process involves all other dimen data aggregation within the stand-alone Aggregation Server 50 sions. can be carried out either as a complete pre-aggregation pro At the first stage of the aggregation method, an aggregation cess, where the base data is fully aggregated before com is performed along dimension 1. The first stage can be per mencing querying, or as a query directed roll-up (QDR) pro formed on more than one dimension. As shown in FIG. 9A, cess, where querying is allowed at any stage of aggregation the space of the base data is expanded by the aggregation using the “on-the-fly” data aggregation process of the present 55 process. invention. The QDR process will be described hereinafter in In the next stage shown in FIG. 9B, any segment along greater detail with reference to FIG. 9C. The response to a dimension 1. Such as the shown slice, can be separately aggre request (i.e. a basic component of a client query), by calling gated along the remaining dimensions, 2 and 3. In general, for the Aggregation management module for “on-the-fly” data an N dimensional system, the second stage involves aggrega aggregation, or for accessing pre-aggregated result data via 60 tion in N-1 dimensions. the Storage management module. The query/request serving The principle of data segmentation can be applied on the mechanism of the present invention within the QDR aggre first stage as well. However, only a large enough data set will gation management module is illustrated in the flow chart of justify Such a sliced procedure in the first dimension. Actu FIG. 6D. ally, it is possible to consider each segment as an N-1 cube, The function of the Storage management module is to 65 enabling recursive computation. handle multidimensional data in the storage(s) module in a It is imperative to get aggregation results of a specific slice very efficient way, according to the novel method of the before the entire aggregation is completed, or alternatively, to US 8,473,450 B2 23 24 have the roll-up done in a particular sequence. This novel FIGS. 11A, 11B, and 11C is preferably used by the Aggre feature of the aggregation method of the present invention is gation Server of the present invention in processing the table that it allows the querying to begin, even before the regular data (base data), as it arrives from RDBMS. aggregation process is accomplished, and still having fast According to the devised method, the inner order of hier response. Moreover, in relational OLAP and other systems archies within a dimension is optimized, to achieve efficient requiring only partial aggregations, the QDR process dra data handling for Summations and other mathematical formu matically speeds up the query response. las (termed in general 'Aggregation'). The order of hierarchy The QDR process is made feasible by the slice-oriented is defined externally. It is brought from a data source to the roll-up method of the present invention. After aggregating the stand-alone aggregation engine, as a descriptor of data, before first dimension(s), the multidimensional space is composed 10 the data itself. In the illustrative embodiment, the method of independent multidimensional cubes (slices). These cubes assumes hierarchical relations of the data, as shown in FIG. can be processed in any arbitrary sequence. 11A. The way data items are ordered in the memory space of Consequently the aggregation process of the present inven the Aggregation Server, with regard to the hierarchy, has a tion can be monitored by means of files, shared memory significant impact on its data handling efficiency. Sockets, or queues to statically or dynamically set the roll-up 15 Notably, when using prior art techniques, multiple han order. dling of data elements, which occurs when a data element is In order to satisfy a single query coming from a client, accessed more than once during aggregation process, has before the required aggregation result has been prepared, the beenhitherto unavoidable when the main concern is to effec QDR process of the present invention involves performing a tively handle the sparse data. The data structures used in prior fast on-the-fly aggregation (roll-up) involving only a thin art data handling methods have been designed for fast access slice of the multidimensional data. to a non NA data. According to prior art techniques, each FIG.9C1 shows a slice required for building-up a roll-up access is associated with a timely search and retrieval in the result of the 2" dimension. In case 1, as shown, the aggrega data structure. For the massive amount of data typically tion starts from an existing data, either basic or previously accessed from a Data Warehouse in an OLAP application, aggregated in the first dimension. This data is utilized as a 25 Such multiple handling of data elements has significantly basis for QDR aggregation along the second dimension. In degraded the efficiency of prior art data aggregation pro case 2, due to lack of previous data, a QDR involves an initial cesses. When using prior art data handling techniques, the slice aggregation along dimension 3, and thereafter aggrega data element D shown in FIG. 11A must be accessed three tion along the 2" dimension. times, causing poor aggregation performance. FIG.9C2 shows two corresponding QDR cases for gaining 30 In accordance with the data handling method of the present results in the 3d dimension. Cases 1 and 2 differ in the amount invention, the data is being pre-ordered for a singular han of initial aggregation required in 2" dimension. dling, as opposed to multiple handling taught by prior art FIG. 10A illustrates the “Slice-Storage' method of storing methods. According to the present invention, elements of sparse data on Storage disks. In general, this data storage base data and their aggregated results are contiguously stored method is based on the principle that an ascending-ordered 35 in a way that each element will be accessed only once. This index along aggregation direction, enables fast retrieval of particular order allows a forward-only handling, never back data. FIG. 10A illustrates a unit-wide slice of the multidimen ward. Once a base data element is stored, or aggregated result sional cube of data. Since the data is sparse, only few non-NA is generated and stored, it is never to be retrieved again for data points exist. These points are indexed as follows. The further aggregation. As a result the storage access is mini Data File consists of data records, in which each n-1 dimen 40 mized. This way of singular handling greatly elevates the sional slice is being stored, in a separate record. These records aggregation efficiency of large databases. An efficient han have a varying length, according to the amount of non-NA dling method as used in the present invention, is shown in stored points. For each registered point in the record, IND FIG. 7A. The data element D, as any other element, is stands for an index in a n-dimensional cube, and Data Stands accessed and handled only once. for the value of a given point in the cube. 45 FIG. 11A shows an example of a multi-hierarchical data FIG. 10B illustrates a novel method for randomly search base structure having 3 hierarchies. As shown, the base data ing for a queried data point in the MDDB of FIG. 6B by using has a dimension that includes items A, B, F, and G. The a novel technique of organizing data files and the directory file second level is composed of items C, E, H and I. The third used in the storages of the MDDB, so that a simple binary level has a single item D, which is common to all three search technique can then be employed within the Aggrega 50 hierarchical structures. In accordance with the method of the tion Server of the present invention. According to this present invention, a minimal computing path is always taken. method, a metafile termed DIR File, keeps pointers to Data For example, according to the method of the present inven Files as well as additional parameters such as the start and end tion, item D will be calculated as part of structure 1, requiring addresses of data record (IND, IND), its location within the two mathematical operations only, rather than as in structure Data File, record size (n), file's physical address on disk 55 3, which would need four mathematical operations. FIG. 11B (D Path), and auxiliary information on the record (Flags). depicts an optimized structure merged from all three hierar A search for a queried data point is then performed by an chies. access to the DIR file. The search along the file can be made FIG.11C(i) through 11C(ix) represent a flow chart descrip using a simple binary search due to files ascending order. tion (and accompanying data structures) of the operations of When the record is found, it is then loaded into main memory 60 an exemplary hierarchy transformation mechanism of the to search for the required point, characterized by its index present invention that optimally merges multiple hierarchies IND. The attached Data field represents the queried value. In into a single hierarchy that is functionally equivalent to the case the exact index is not found, it means that the point is a multiple hierarchies. For the sake of description, the data NA. structures correspond to exemplary hierarchical structures In another aspect of the present invention, a novel method 65 described above with respect to FIGS. 11(A) and 11 (B). As is provided for optimally merging multiple hierarchies in illustrated in FIG. 11C(i), in step 1101, a catalogue is loaded multi-hierarchical structures. The method, illustrated in from the DBMS system. As is conventional, the catalogue US 8,473,450 B2 25 26 includes data (“hierarchy descriptor data') describing mul 1149, it is determined whether any other parent (e.g., a parent tiple hierarchies for at least one dimension of the data stored other than the given patent) of the given item is a child of the in the DBMS. In step 1103, this hierarchy descriptor data is given parent (as specified in the child list entry for the given extracted from the catalogue. A loop (steps 1105-1119) is parent). If so, operation continues to step 1155 to process the performed over the items in the multiple hierarchy described 5 next parent of the given item in the inner loop; otherwise, by the hierarchy descriptor data. operation continues to steps 1151 and 1153. In step 1151, an In the loop 1105-1119, a given item in the multiple hierar entry for the given parent is added to the next level (current chy is selected (step 1107); and, in step 1109, the parent(s) (if level+1) of the ordered list, if it does not exist there already. In any) including grandparents, great-grandparents, etc.—of step 1153, if no children of the given item (as specified in the the given item are identified and added to an entry (for the 10 entry for the given item in the current level of the ordered list) given item) in a parent list data structure, which is illustrated matches (e.g., is covered by) any child (or grandchild or great in FIG. 11C(V). Each entry in the parent list corresponds to a grandchild etc) of item(s) in the entry for the given parent in specific item and includes Zero or more identifiers for items the next level of the ordered list, the given item is added to the that are parents (or grandparents, or great-grandparents) of entry for the given parent in the next level of the ordered list. the specific item. In addition, an inner loop (steps 1111-1117) 15 Levels 1 and 2 of the ordered list for the example described is performed over the hierarchies of the multiple hierarchies above are shown in FIGS. 11C(viii) and 11C(ix), respec described by the hierarchy descriptor data, wherein in step tively. The children (including grandchildren and great grand 1113 one of the multiple hierarchies is selected. In step 1115, children. etc) of an item in the entry for a given parent in the the child of the given item in the selected hierarchy (if any) is next level of the ordered list may be identified by the infor identified and added (if need be) to a group of identifiers in an mation encoded in the lower levels of the ordered list. After entry (for the given item) in a child list data structure, which step 1153, operation continues to step 1155 to process the is illustrated in FIG. 11C(vi). Each entry in the child list next parent of the given item in the inner loop (steps 1145 corresponds to a specific item and includes Zero or more 1155) groups of identifiers each identifying a child of the specific After processing the inner loop (steps 1145-1155), opera item. Each group corresponds to one or more of the hierar 25 tion continues to step 1157 to delete the given item from the chies described by the hierarchy descriptor data. work list, and processing continues to step 1159 to process the The operation then continues to steps 1121 and 1123 as next item of the work list in the loop (steps 1141-1159). illustrated in FIG. 11C(ii) to verify the integrity of the mul After processing the loop (steps 1141-1159), the ordered tiple hierarchies described by the hierarchy descriptor data list (e.g., transformed hierarchy) has been built for the next (step 1121) and fix (or report to the user) any errors discov 30 higher level. The operation continues to step 1161 to incre ered therein (step 1123). Preferably, the integrity of the mul ment the current level to the next higher level, and operation tiple hierarchies is verified in step 1121 by iteratively expand returns (in step 1163) to step 1138 to build the next higher ing each group of identifiers in the child list to include the level, until the highest level is reached (determined in step children, grandchildren, etc of any item listed in the group. If 1139) and the operation ends. the child(ren) for each group for a specific item do not match, 35 FIG. 12 Summarizes the components of an exemplary a verification error is encountered, and Such error is fixed (or aggregation module that takes advantage of the hierarchy reported to the user (step 1123). The operation then proceeds transformation technique described above. More specifically, to a loop (steps 1125-1133) over the items in the child list. the aggregation module includes an hierarchy transformation In the loop (steps 1125-1133), a given item in the child list module that optimally merges multiple hierarchies into a is identified in step 1127. In step 1129, the entry in the child 40 single hierarchy that is functionally equivalent to the multiple list for the given item is examined to determine if the given hierarchies. A second module loads and indexes the base data item has no children (e.g., the corresponding entry is null). If supplied from the DBMS using the optimal hierarchy gener so, the operation continues to step 1131 to add an entry for the ated by the hierarchy transformation module. An aggregation item in level 0 of an ordered list data structure, which is engine performs aggregation operations on the base data. illustrated in FIG. 11C(vii); otherwise the operation contin 45 During the aggregation operations along the dimension speci ues to process the next item of the child list in the loop. Each fied by the optimal hierarchy, the results of the aggregation entry in a given level of the order list corresponds to a specific operations of the level 0 items may be used in the aggregation item and includes Zero or more identifiers each identifying a operations of the level 1 items, the results of the aggregation child of the specific item. The levels of the order list described operations of the level 1 items may be used in the aggregation the transformed hierarchy as will readily become apparent in 50 operations of the level 2 items, etc. Based on these operations, light of the following. Essentially, loop 1125-1333 builds the the loading and indexing operations of the base data, along lowest level (level 0) of the transformed hierarchy. with the aggregation become very efficient, minimizing After loop 1125-1133, operation continues to process the memory and storage access, and speeding up storing and lowest level to derive the next higher level, and iterate over retrieval operations. this process to build out the entire transformed hierarchy. 55 FIG. 13 shows the stand-alone Aggregation Server of the More specifically, in step 1135, a “current level” variable is present invention as a component of a central data warehouse, set to identify the lowest level. In step 1137, the items of the serving the data aggregation needs of URL directory systems, “current level of the ordered list are copied to a work list. In Data Marts, RDBMSs, ROLAP systems and OLAP systems step 1139, it is determined if the work list is empty. If so, the alike. operation ends; otherwise operation continues to step 1141 60 The reason for the central multidimensional database's rise wherein a loop (steps 1141-1159) is performed over the items to corporate necessity is that it facilitates flexible, high-per in the work list. formance access and analysis of large Volumes of complex In step 1143, a given item in the work list is identified and and interrelated data. operation continues to an inner loop (steps 1145-1155) over A stand-alone specialized aggregation server, simulta the parent(s) of the given item (which are specified in the 65 neously serving many different kinds of clients (e.g. data parent list entry for the given item). In step 1147 of the inner mart, OLAP, URL, RDBMS), has the power of delivering an loop, a given parent of the given item is identified. In step enterprise-wide aggregationina cost-effective way. This kind US 8,473,450 B2 27 28 of server eliminates the roll-up redundancy over the group of “on demand client use. Moreover, because of improved data clients, delivering scalability and flexibility. aggregation capabilities, the DBMS of the present invention Performance associated with central data warehouse is an can be employed in a wide range of applications, including important consideration in the overall approach. Performance Data Warehouses supporting OLAP systems and the like. For includes aggregation times and query response. purposes of illustration, initial focus will be accorded to the Effective interactive query applications require near real DBMS of the present invention. Referring now to FIG. 19 time performance, measured in seconds. These application through FIG. 21, the preferred embodiments of the method performances translate directly into the aggregation require and system of the present invention will be now described in mentS. great detail herein below. In the prior art, in case of MOLAP, a full pre-aggregation 10 Through this document, the term "aggregation' and “pre must be done before starting querying. In the present inven aggregation' shall be understood to mean the process of tion, in contrast to prior art, the query directed roll-up (QDR) Summation of numbers, as well as other mathematical opera allows instant querying, while the full pre-aggregation is tions, such as multiplication, Subtraction, division etc. It shall done in the background. In cases a full pre-aggregation is be understood that pre-aggregation operations occur asyn preferred, the currently invented aggregation outperforms 15 chronously with respect to the traditional query processing any prior art. For the ROLAP and RDBMS clients, partial operations. Moreover, the term "atomic data shall be under aggregations maximize query performance. In both cases fast stood to refer to the lowest level of data granularity required aggregation process is imperative. The aggregation perfor for effective decision making. In the case of a retail merchan mance of the current invention is by orders of magnitude dising manager, atomic data may refer to information by higher than that of the prior art. store, by day, and by item. For a banker, atomic data may be The stand-alone scalable aggregation server of the present information by account, by transaction, and by branch. invention can be used in any MOLAP system environment for FIG. 19A illustrates the primary components of an illus answering questions about corporate performance in a par trative embodiment of an DBMS of the present invention, ticular market, economic trends, consumer behaviors, namely: Support mechanisms including a query interface and weather conditions, population trends, or the state of any 25 query handler; a relational data store including one or more physical, Social, biological or other system or phenomenon tables storing at least the atomic data (and possibly Summary on which different types or categories of information, organ tables) and a meta-data store for storing a dictionary (some izable in accordance with a predetermined dimensional hier times referred to as a catalogue or directory); and an MDD archy, are collected and stored within a RDBMS of one sort or Aggregation Module that stores atomic data and aggregated another. Regardless of the particular application selected, the 30 data in a MDDB. The MDDB is a non-relational data struc address data mapping processes of the present invention will ture—it uses other data structures, either instead of or in provide a quick and efficient way of managing a MDDB and addition to tables to store data. For illustrative purposes, also enabling decision Support capabilities utilizing the same FIG. 19A illustrates an RDBMS wherein the relational data in diverse application environments. store includes fact tables and a dictionary. The stand-alone “cartridge-style” plug-in features of the 35 It should be noted that the DBMS typically includes addi data aggregation server of the present invention, provides tional components (not shown) that are not relevant to the freedom in designing an optimized multidimensional data present invention. The query interface and query handler structure and handling method for aggregation, provides free service user-submitted queries (in the preferred embodiment, dom in designing a generic aggregation server matching all SQL query statements) forwarded, for example, from a client OLAP vendors, and enables enterprise-wide centralized 40 machine over a network as shown. The query handler and aggregation. relational data store (tables and meta-data store) are operably The method of Segmented Aggregation employed in the coupled to the MDD Aggregation Module. Importantly, the aggregation server of the present invention provides flexibil query handler and integrated MDD Aggregation Module ity, Scalability, a condition for Query Directed Aggregation, operate to provide for dramatically improved query response and speed improvement. 45 times for data aggregation operations and drill-downs. More The method of Multidimensional data organization and over, it is an object of the present invention to make user indexing employed in the aggregation server of the present querying of the non-relational MDDB no different than que invention provides fast storage and retrieval, a condition for rying a relational table of the DBMS, in a manner that Segmented Aggregation, improves the storing, handling, and minimizes the delays associated with queries that involve retrieval of data in a fast manner, and contributes to structural 50 aggregation or drill down operations. This object is enabled flexibility to allow sliced aggregation and QDR. It also by providing the novel DBMS system and integrated aggre enables the forwarding and single handling of data with gation mechanism of the present invention. improvements in speed performance. FIG. 19B shows the primary components of an illustrative The method of Query Directed Aggregation (QDR) embodiment of the MDD Aggregation Module of FIG. 19A, employed in the aggregation server of the present invention 55 namely: a base data loader for loading the directory and minimizes the data handling operations in multi-hierarchy table(s) of relational data store of the DBMS; an aggregation data structures. engine for receiving dimension data and atomic data from the The method of Query Directed Aggregation (QDR) base loader, a multi-dimensional database (MDDB); a employed in the aggregation server of the present invention MDDB handler and an SQL handler that operate coopera eliminates the need to wait for full aggregation to be com 60 tively with the query handler of the DBMS to provide users pleted, and provides build-up aggregated data required for with query access to the MDD Aggregation Module, and a full aggregation. control module for managing the operation of the compo In another aspect of the present invention, an improved nents of the MDD aggregation module. The base data loader DBMS system (e.g., RDBMS system, object oriented data may load the directory and table(s) of the relational data store base system or object/relational database system) is provided 65 over a standard interface (such as OLDB, OLE-DB, ODBC, that excels in performing two distinct functions, namely: the SQL API, JDBC, etc.). In this case, the DBMS and base data aggregation of data; and the handling of the resulting data for loader include components that provide communication of US 8,473,450 B2 29 30 Such data over these standard interfaces. Such interface com according to a preferred embodiment of the present invention ponents are well known in the art. For example, such interface is set forth below with respect to the QDR process of FIGS. components are readily available from Attunity Corporation. 9A-9C. During operation, base data originates from the table(s) of In step 607, a reference is defined that provides users with the DBMS. The core data aggregation operations are per 5 the ability to query the data generated by the MDD Aggrega formed by the Aggregation Engine; a Multidimensional Data tion Module and/or stored in the MDDB of the MDD Aggre (MDDB) Handler; and a Multidimensional Data Storage gation Module. This reference is preferably defined using the (MDDB). The results of data aggregation are efficiently Create View SQL statement, which allows the user to: i) stored in the MDDB by the MDDB Handler. The SQL han define a table name (TN) associated with the MDDB stored in dler of the MDD Aggregation module services user-submit 10 ted queries (in the preferred embodiment, SQL query state the MDD Aggregation Module, and ii) define a link used to ments) forwarded from the query handler of the DBMS. The route SQL statements on the table TN to the MDD Aggrega SQL handler of the MDD Aggregation module may commu tion Module. In this embodiment, the view mechanism of the nicate with the query handler of the DBMS over a standard DBMS enables reference and linking to the data stored in the interface (such as OLDB, OLE-DB, ODBC, SQL, API, 15 MDDB of the MDDAggregation Engine as illustrated in FIG. JDBC, etc.). In this case, the support mechanisms of the 19E. A more detailed description of the view mechanism and RDBMS and SQL handler include components that provide the Create View SQL statement may be found in C. J. Date, communication of Such data over these standard interfaces. “An Introduction to Database Systems. Addison-Wesley, Such interface components are well known in the art. Aggre Seventh Edition, 2000, pp. 289-326, herein incorporated by gation (or drill down results) are retrieved on demand and reference in its entirety. Thus, the view mechanism enables returned to the user. the query handler of the DBMS system to forward any SQL Typically, a user interacts with a client machine (for query on table TN to the MDD aggregation module via the example, using a web-enabled browser) to generate a natural associated link. In an alternative embodiment, a direct mecha language query, that is communicated to the query interface nism (e.g., NA trigger mechanism) may be used to enable the of the DBMS, for example over a network as shown. The 25 DBMS system to reference and link to the data generated by query interface disintegrates the query, via parsing, into a the MDDAggregation Module and/or stored in the MDDB of series of requests (in the preferred embodiment, SQL state the MDD Aggregation Engine as illustrated in FIG. 19F. A ments) that are communicated to the query handler of the more detailed description of trigger mechanisms and methods DBMS. It should be noted that the functions of the query may be found in C. J. Date, “An Introduction to Database interface may be implemented in a module that is not part of 30 Systems. Addison-Wesley, Seventh Edition, 2000, pp. 250, the DBMS (for example, in the client machine). The query 266, herein incorporated by reference in its entirety. handler of the DBMS forwards requests that involve data In step 609, a user interacts with a client machine togen stored in the MDD of the MDD Aggregation module to the erate a query, and the query is communicated to the query SQL hander of the MDD Aggregation module for servicing. interface. The query interface generate one or more SQL Each request specifies a set of n-dimensions. The SQL han 35 statements. These SQL statements may refer to data stored in dler of the MDD Aggregation Module extracts this set of tables of the relational datastore, or may refer to the reference dimensions and operates cooperatively with the MDD han defined in step 607 (this reference refers to the data stored in dler to address the MDDB using the set of dimensions, the MDDB of the MDD Aggregation Module). These SQL retrieve the addressed data from the MDDB, and return the statement(s) are forwarded to the query handler of the DBMS. results to the user via the query handler of the DBMS. 40 In step 611, the query handler receives the SQL FIGS. 19C(i) and 19C(ii) is a flow chart illustrating the statement(s); and optionally transforms such SQL operations of an illustrative DBMS of the present invention. statement(s) to optimize the SQL statement(s) for more effi In step 601, the base data loader of the MDD Aggregation cient query handling. Such transformations are well known in Module loads the dictionary (or catalog) from the meta-data the art. For example, see Kimball, "Aggregation Navigation store of the DBMS. In performing this function, the base data 45 With (Almost) No MetaData”, DBMS Data Warehouse loader may utilize an adapter (interface) that maps the data Supplement, August 1996. types of the dictionary of the DBMS (or that maps a standard In step 613: the query handler determines whether the data type used to represent the dictionary of the DBMS) into received SQL statement(s) or transformed SQL the data types used in the MDD aggregation module. In addi statement(s) is on the reference generated in step 607. If so, tion, the base data loader extracts the dimensions from the 50 operation continues to step 615; otherwise normal query han dictionary and forwards the dimensions to the aggregation dling operations continue in step 625 wherein the relational engine of the MDD Aggregation Module. datastore is accessed to extract, Store, and/or manipulate the In step 603, the base data loader loads table(s) from the data stored therein as directed by the query, and results are DBMS. In performing this function, the base data loader may returned back to the user via the client machine, if needed. utilize an adapter (interface) that maps the data types of the 55 In step 615, the received SQL statement(s) or transformed table(s) of the DBMS (or that maps a standard data type used SQL statement(s) is routed to the MDD aggregation engine to represent the fact table(s) of the DBMS) into the data types for processing in step 617 using the link for the reference as used in the MDD Aggregation Module. In addition, the base described above with respect to step 607. data loader extracts the atomic data from the table(s), and In step 617, the SQL statement(s) is received by the SQL forwards the atomic data to the aggregation engine. 60 handler of the MDD Aggregation Module, wherein a set of In step 605, the aggregation engine performs aggregation one or more N-dimensional coordinates are extracted from operations (i.e., roll-up operation) on the atomic data (pro the SQL statement. In performing this function, SQL handler vided by the base data loader in step 603) along at least one of may utilize an adapter (interface) that maps the data types of the dimensions (extracted from the dictionary of the DBMS in the SQL statement issued by query handler of the DBMS (or step 601) and operates cooperatively with the MDD handler 65 that maps a standard data type used to represent the SQL to store the resultant aggregated data in the MDDB. A more statement issued by query handler of the DBMS) into the data detailed description of exemplary aggregation operations types used in the MDD aggregation module. US 8,473,450 B2 31 32 In step 619, the set of N-dimensional coordinates extracted FIGS. 20A and 20B outline two different implementations in step 617 are used by the MDD handler to address the of the DBMS of the present invention. In both implementa MDDB and retrieve the corresponding data from the MDDB. tions, the query handler of the DBMS system Supplies aggre Finally, in step 621, the retrieved data is returned to the user gated results retrieved from the MDD to a client. via the DBMS (for example, by forwarding the retrieved data FIG.20A shows a separate-platform implementation of the to the SQL handler, which returns the retrieved data to the DBMS system of the illustrative embodiment shown in FIG. query handler of the DBMS system, which returns the results 19A, wherein the relational part of the DBMS reside on a of the user-submitted query to the user via the client separate hardware platform and/or OS system from that used machine), and the operation ends. to run the non-relational part (MDDAggregation Module). In It should be noted that the table data (base data), as it arrives 10 this type of implementation, it is even possible to run parts of from DBMS, may be analyzed and reordered to optimize the DBMS system and the MDD Aggregation Module on hierarchy handling, according to the unique method of the different-type operating systems (e.g. NT, Unix, MAC OS). present invention, as described above with reference to FIGS. FIG. 20B shows a common-platform implementation of 11A, 11B, and 11C. 15 the DBMS system of the illustrative embodiment shown in Moreover, the MDD control module of the MDD Aggre FIG. 20A, wherein the relational part of the DBMS share the gation Module preferably administers the aggregation pro same hardware platform and operating system (OS) that is cess according to the method illustrated in FIGS. 9A and 9B. used to run the non-relational part (MDD Aggregation Mod Thus, in accordance with the principles of the present inven ule). tion, data aggregation within the DBMS can be carried out FIG. 21 shows the improved DBMS (e.g., RDBMS) of the either as a complete pre-aggregation process, where the base present invention as a component of a data warehouse, serv data is fully aggregated before commencing querying, or as a ing the data storage and aggregation needs of a ROLAP query directed roll-up (QDR) process, where querying is system (or other OLAP systems alike). Importantly, the allowed at any stage of aggregation using the “on-the-fly” improved DBMS of the present invention provides flexible, data aggregation process of the present invention. The QDR 25 high-performance access and analysis of large Volumes of process will be described hereinafter in greater detail with complex and interrelated data. Moreover, the improved Data reference to FIG. 9C. The response to a request (i.e. a basic Warehouse DBMS of the present invention can simulta component of a client query) requiring “on-the-fly” data neously serve many different kinds of clients (e.g. data mart, aggregation, or requiring access to pre-aggregated result data OLAP URL) and has the power of delivering an enterprise via the MDD handler is provided by a query/request serving 30 wide data storage and aggregation in a cost-effective way. mechanism of the present invention within the MDD control This kind of system eliminates redundancy over the group of module, the primary operations of which are illustrated in the clients, delivering scalability and flexibility. Moreover, the flow chart of FIG. 6D. The function of the MDD Handler is to improved DBMS of the present invention can be used as the handle multidimensional data in the storage(s) module in a data store component of in any informational database system very efficient way, according to the novel method of the 35 as described above, including data analysis programs such as present invention, which will be described in detail hereinaf spread-sheet modeling programs, serving the data storage ter with reference to FIGS. 10A and 10B. and aggregation needs of Such systems. The SQL handling mechanism shown in FIG. 6D is con FIG. 22 shows an embodiment of the present invention trolled by the MDD control module. Requests are queued and wherein the DBMS (e.g., RDBMS) of the present invention is served one by one. If the required data is already pre-calcu 40 a component of a data warehouse OLAP system. The lated, then it is retrieved by the MDD handler and returned to DBMS operates as a traditional data warehouse, serving the the client. Otherwise, the required data is calculated “on-the data storage and aggregation needs of an enterprise. In addi fly' by the aggregation engine, and the result moved out to the tion, the DBMS includes integrated OLAP Analysis Logic client, while simultaneously stored by the MDD handler, (and preferably an integrated Presentation Module not shown in FIG. 6C. 45 shown) that operates cooperatively with the query handling of As illustrated in FIG. 19G, the DBMS of the present inven the DBMS system and the MDD Aggregation Module to tion as described above may be logically partitioned into a enable users of the DBMS system to execute multidimen relational part and a non-relational part. The relational part sional reports (e.g., ratios, ranks, transforms, dynamic con includes the relational datastore (e.g., table(s) and dictionary) Solidation, complex filtering, forecasts, query governing, and Support mechanisms (e.g., query handling services). The 50 scheduling, flow control, pre-aggregate inferencing, denor non-relational part includes the MDD Aggregation Module. malization Support, and/or table partitioning and joins) and As described above, bi-directional data flow occurs between preferably perform traditional OLAP analyses (grids, graphs, the relational part and the non-relational part as shown. More maps, alerts, drill-down, data pivot, data Surf, slice and dice, specifically, during data load operations, data is loaded from print). Importantly, the improved DBMS of the present inven the relational part (i.e., the relational datastore) into the non 55 tion provides flexible, high-performance access and analysis relational part, wherein it is aggregated and stored in the of large volumes of complex and interrelated data. Moreover, MDDB. And during query servicing operations, when a given the improved DBMS of the present invention can simulta query references data stored in the MDDB, data pertaining to neously serve many different kinds of clients (e.g. data mart, the query is generated by the non-relational part (e.g., gener other OLAP systems, URL-Directory Systems) and has the ated and/or retrieved from the MDDB) and supplied to the 60 power of delivering enterprise-wide data storage and aggre relational part (e.g., query servicing mechanism) for commu gation and OLAP analysis in a cost-effective way. This kind nication back to the user. Such bi-directional data flow rep of system eliminates redundancy over the group of clients, resents an important distinguishing feature with respect to the delivering scalability and flexibility. Moreover, the improved prior art. For example, in the prior art MOLAP architecture as DBMS of the present invention can be used as the data store illustrated in FIG. 1B, unidirectional data flows occurs from 65 component of in any informational database system as the relational data base (e.g., the Data Warehouse RDBMS described above, serving the data storage and aggregation system) into the MDDB during data loading operations. needs of Such systems. US 8,473,450 B2 33 34 Functional Advantages Gained by the Improved DBMS of the forwards retrieved aggregated fact data to said query Present Invention processing mechanism for Subsequent processing: The features of the DBMS of the present invention, pro wherein when said query processing mechanism deter vides for dramatically improved response time in handling mines that servicing of one or more query requests queries issued to the DBMS that involve aggregation, thus require data stored in said relational tables, then said enabling enterprise-wide centralized aggregation. Moreover, query processing mechanism automatically routes said in the preferred embodiment of the present invention, users one or more query requests to said relational data tables, can query the aggregated data in an manner no different than So that data can be accessed from said relational tables traditional queries on the DBMS. and forwarded to said query processing mechanism for The method of Segmented Aggregation employed by the 10 novel DBMS of the present invention provides flexibility, use in servicing said one or more query requests, in a Scalability, the capability of Query Directed Aggregation, and manner transparent to said client machine; speed improvement. wherein when said query processing mechanism deter Moreover, the method of Query Directed Aggregation mines that servicing of one or more query requests (QDR) employed by the novel DBMS of the present invention 15 require aggregated data stored in said MDDB, then said minimizes the data handling operations in multi-hierarchy query processing mechanism automatically routes said data structures, eliminates the need to wait for full aggrega one or more query requests to said MDDB, so that aggre tion to be complete, and provides for build-up of aggregated gated data can be accessed from said MDDB and for data required for full aggregation. warded to said query processing mechanism for use in It is understood that the System and Method of the illus servicing said one or more query requests, in a manner trative embodiments described herein above may be modified transparent to said client machine; and in a variety of ways which will become readily apparent to wherein said RDBMS comprises computer hardware. those skilled in the art of having the benefit of the novel 2. The RDBMS of claim 1, wherein said query handling teachings disclosed herein. All Such modifications and varia mechanism comprises: tions of the illustrative embodiments thereof shall be deemed 25 an RDBMS query handler operably coupled to said to be within the scope and spirit of the present invention as RDBMS query interface; and defined by the claims to Invention appended hereto. an MDDB query handler operably coupled to a first data communication interface, configured to (i) receive each What is claimed is: query request from said RDBMS query handler, (ii) 1. A relational database management system (RDBMS) 30 extract a set of dimensions associated with said query comprising: request, (iii) provide said dimensions to said data han an RDBMS query interface adapted to receive one or more dling mechanism so that said data handling mechanism natural language query statements from one or more can retrieve aggregated fact data, from said MDDB, and client machines; (iv) forward retrieved aggregated fact data to said a query processing mechanism configured to process a 35 RDBMS query processing mechanism for Subsequent given natural language query statement received from processing. said RDBMS query interface, and generate one or more 3. The RDBMS of claim 1, where said data loading mecha query requests by disintegrating the given natural lan nism is in data communication with said relational data store guage query statement so that each said query request by way of a second data communication interface, configured specifies a set of dimensions; 40 to load said dimension data from said meta-data store and said a query handling mechanism operably coupled to said fact data into said MDDB. RDBMS query interface; 4. The RDBMS of claim 1, wherein after data loading a relational data store having relational tables configured to operations, the fact data is initially aggregated along at least store fact data, and a meta-data store configured to store one of the dimensions extracted from said dictionary and a dictionary containing dimension data; 45 aggregated multidimensional data results are stored in said a multi-dimensional database (MDDB) configured to store MDDB, and wherein during query servicing operations, the aggregated fact data in in a multi-dimensional data struc fact data is aggregated on demand along additional dimen ture and to communicate bi-directionally with the rela sions extracted from said query request and aggregated multi tional data store; dimensional data results are stored in said MDDB. a communication interface operably connected between 50 5. The RDBMS of claim3, wherein said multi-dimensional the relational data store and the MDDB for the commu data structure comprises a plurality of data storage cells, and nication of fact data from the relational data store to the wherein each said data storage cell is indexed with multiple MDDB and for the communication of aggregated fact dimensions and stores either base data values or aggregated data from the MDDB to the relational data store; multi-dimensional data values. a data loading mechanism configured to load dimension 55 6. The RDBMS of claim 3, wherein during data loading data from said meta-data store and said fact data into said operations, said data loading mechanism extracts dimension MDDB; data from the dictionary in said meta-data store, and forwards an aggregation engine configured to calculate aggregated the dimension data over said first data communication inter fact data from the fact data according to a multidimen face to said aggregation engine and configures said MDDB Sional data aggregation process; and 60 using said dimension data. a data handling mechanism configured to store aggregated 7. The RDBMS of claim 3, wherein during aggregation fact data in said MDDB and retrieve aggregated fact data operations, said data loading mechanism extracts fact data from said MDDB; from said relational tables, and forwards the fact data to said wherein said query handling mechanism (i) receives each aggregation engine over said first data communication inter query request, (ii) extracts a set of dimensions associated 65 face; and wherein said aggregation engine calculates aggre with said query request, (iii) uses said dimensions to gated multi-dimensional data from the fact data according to retrieve aggregated fact data from said MDDB, and (iv) said multi-dimensional data aggregation process, and stores US 8,473,450 B2 35 36 the aggregated multi-dimensional data in said MDDB speci in response to determining that servicing the one or more fied by a set of multi-dimensional coordinates. query requests needs data stored in the relational data 8. The RDBMS of claim 1, wherein said query statement is Store: an SQL-type query statement and each query request is an automatically routing the one or more query requests SQL-type query request. to the relational data store, so that fact data is 9. The RDBMS of claim 2, wherein said first data commu accessed from the relational data store and for nication interface is a standard interface selected from the warded to the client machine, in a manner transpar group selected from OLDB, OLE-DB, ODBC, SQL API, and ent to said client machine; JDBC. in response to determining that servicing the one or more 10. The RDBMS of claim 3, wherein said second data 10 communication interface is a standard interface selected from query requests needs data stored in the MDDB: the group selected from OLDB, OLE-DB, ODBC, SQL API, automatically routing the one or more query requests and JDBC. to the MDDB, so that aggregated data can be 11. The RDBMS of claim 1, wherein said RDBMS query accessed and forwarded to the client machine, in a interface is implemented in a module within said RDBMS. 15 manner transparent to said client machine. 12. The RDBMS of claim 1, wherein a user interacts with 17. The method of claim 16, wherein the multi-dimen said client machine using a web-enabled browser to generate Sional data aggregation process comprises: a natural language type query statement, and said natural (i) if the aggregated fact data required to service a given language type query statement is communicated to said natural language query statement is already pre-calcu RDBMS query interface. lated and stored within said MDDB, then the pre-aggre 13. The RDBMS of claim 2, wherein said MDDB query gated multi-dimensional data is retrieved and returned to handler further includes means for transforming each query said client machine; and request so as to optimize the query request for efficient query (ii) if the required multi-dimensional data is not already handling. pre-aggregated and stored within said MDDB, then the 14. The RDBMS of claim 2, wherein said MDDB query 25 required aggregated multi-dimensional data is calcu handler further includes an adapter configured to map the data lated on demand by said aggregation engine, and the types of the query statement issued by said RDBMS query aggregated multi-dimensional data result is automati handler, and/or to map a standard data type used to represent cally forwarded to said client machine. the query request issued by said RDBMS query handler into 18. A non-transitory computer-readable medium encoded the data types used in said MDDB aggregation engine. 30 15. The RDBMS of claim 1, wherein said multi-dimen with instructions thereon, that, in response to execution by a sional aggregation process Supported by said aggregation computing device, cause the computing device to perform engine further operates as follows: operations comprising: (a) if the aggregated multi-dimensional data required to receiving one or more natural language query statements Service a given query statement is already pre-calculated 35 from a client machine; and stored within said MDDB, then the pre-aggregated processing each natural language query statement multi-dimensional data is retrieved by said data han received, and generating one or more query requests by dling mechanism and returned to said client machine via disintegrating the one or more natural language query said RDBMS query handler; and statements so that each said query request specifies a set (b) if the required multi-dimensional data is not already 40 of dimensions; pre-aggregated and stored within said MDDB, then the in response to determining that servicing the one or more required aggregated multi-dimensional data is calcu query requests needs data stored in a relational data lated on demand by said aggregation engine, and the Store: aggregated multi-dimensional data result is automati automatically routing the one or more query requests to cally forwarded to said client machine. 45 the relational data store, so that fact data is accessed 16. A computer-implemented method comprising: from the relational data store and forwarded to the by a computer system comprising computer hardware: client machine, in a manner transparent to said client receiving one or more natural language query statements machine; from a client machine; in response to determining that servicing the one or more processing each natural language query statement 50 query requests needs data stored in a multi-dimensional received, and generating one or more query requests database (MDDB), wherein the MDDB is generated via by disintegrating the one or more natural language a segmented aggregation process involving aggregation query statements so that each said query request along multiple dimensions in a determined sequence: specifies a set of dimensions; automatically routing the one or more query requests to loading meta-data and fact data from a relational data 55 the MDDB, so that aggregated data can be accessed store into a multi-dimensional database (MDDB), and forwarded to the client machine, in a manner wherein the relational data store is configured to com transparent to said client machine. municate fact data to the MDDB and the MDDB is 19. The non-transitory computer-readable medium of configured to communicate aggregated fact data to claim 18, wherein the relational data storestores fact data and the relational data store; 60 the MDDB stores aggregated fact data in a multi-dimensional calculating aggregated fact data from the fact data data structure. according to a multi-dimensional data aggregation 20. The non-transitory computer-readable medium of process; claim 19, wherein the MDDB is generated by calculating storing the aggregated fact data in said MDDB; aggregated fact data from the fact data according to a multi determining whether servicing the one or more query 65 dimensional data aggregation process, and storing the aggre requests needs data stored in the relational data store gated fact data in the MDDB. or in the MDDB; ck ck sk sk *k