IP Library › Granted Patent US 12,197,408
Granted Patent B2
US 12,197,408 · App. 17/992,805 · Granted Jan 14, 2025

System and method for use of a dynamic flow in a multidimensional database environment

Inventors: Natasha Reichman (Beer Sheva, IL); Sergei Riaboi (Arad, IL); Alexey Roytman (Beer Sheva, IL); Victor Belyaev (San Jose, CA); Kumar Ramaiyer (Cupertino, CA)
G06F16/22G06F16/24562G06F16/283
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,197,408
App. No.
17/992,805
Granted
Jan 14, 2025
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for use of a dynamic flow process (referred to herein in some examples as Query Processing Dynamic Flow (QPDF)) in a multidimensional database computing environment. The dynamic flow process enables hybrid use of, for example, aggregate storage option, block storage option, or other types of storage containers, and provides a common flow to process a received input query in bottom-up mode. The approach can be used to reduce the size of the cube, which provides for efficient calculation of dynamic members.

Claims (34)

1. A system for use of a dynamic flow in a multidimensional database environment, comprising:

a computing, including a processor;

a multidimensional database, for at least one of storage or analysis of data; and

wherein a dynamic flow process is operated, the dynamic flow process enabling processing of an input query and a hybrid use of at least one or more of block storage option, aggregate storage option, or other data storage container, said dynamic flow process including

expanding the input query;

based upon the expanded input query, defining a plurality of calculation units, determining one or more dependencies, and determining an order of calculation;

building a processing flow comprising the plurality of defined calculation units arranged in an order based upon the determined order of calculation; and

executing the processing flow to determine a response to the input query, wherein executing the processing flow includes executing each of the plurality of defined calculation units according to the determined order of calculation;

wherein the at least one or more of block storage option, aggregate storage option, or other data storage container provides an interface for reading data from the multidimensional database and providing data for aggregation and calculation by the dynamic flow process.

2. The system of claim 1 , wherein the dynamic flow process is a Query Processing Dynamic Flow (QPDF) that provides a common flow for querying both block storage option and aggregate storage option engines, to generate a response to the input query.

3. The system of claim 1 , wherein the dynamic flow process enables users to mark upper-level members as dynamic, for use during processing of the input query.

4. The system of claim 1 , wherein each defined calculation unit comprises a calculation process directed to an associated one of the block storage option, aggregate storage option, or other data storage container.

5. A method for use of a dynamic flow in a multidimensional database environment, comprising:

providing, at a computer system, a multidimensional database, for at least one of storage or analysis of data; and

operating a dynamic flow process that enables processing of an input query and a hybrid use of at least one or more of block storage option, aggregate storage option, or other data storage container, said dynamic flow process including

expanding the input query;

based upon the expanded input query, defining a plurality of calculation units, determining one or more dependencies, and determining an order of calculation;

building a processing flow comprising the plurality of defined calculation units arranged in an order based upon the determined order of calculation; and

executing the flow processing to determine a response to the input query, wherein executing the processing flow includes executing each of the plurality of defined calculation units according to the determined order of calculation;

wherein the at least one or more of block storage option, aggregate storage option, or other data storage container provides an interface for reading data from the multidimensional database and providing data for aggregation and calculation by the dynamic flow process.

6. The method of claim 5 , wherein the dynamic flow process is a Query Processing Dynamic Flow (QPDF) that provides a common flow for querying both block storage option and aggregate storage option engines, to generate a response to the input query.

7. The method of claim 5 , wherein the dynamic flow process enables users to mark upper-level members as dynamic, for use during processing of the input query.

8. The method of claim 5 , wherein each defined calculation unit comprises a calculation process directed to an associated one of the block storage option, aggregate storage option, or other data storage container.

9. A non-transitory computer readable storage medium, including instructions stored thereon which when read and executed by one or more computers cause the one or more computers to perform the method comprising:

providing, at a computer system, a multidimensional database, for at least one of storage or analysis of data; and

operating a dynamic flow process that enables processing of an input query and a hybrid use of at least one or more of block storage option, aggregate storage option, or other data storage container, said dynamic flow process including

expanding the input query;

based upon the expanded input query, defining a plurality of calculation units, determining one or more dependencies, and determining an order of calculation;

building a processing flow comprising the plurality of defined calculation units arranged in an order based upon the determined order of calculation; and

executing the flow processing to determine a response to the input query, wherein executing the processing flow includes executing each of the plurality of defined calculation units according to the determined order of calculation;

wherein the at least one or more of block storage option, aggregate storage option, or other data storage container provides an interface for reading data from the multidimensional database and providing data for aggregation and calculation by the dynamic flow process.

10. The non-transitory computer readable storage medium of claim 9 , wherein the dynamic flow process is a Query Processing Dynamic Flow (QPDF) that provides a common flow for querying both block storage option and aggregate storage option engines, to generate a response to the input query.

11. The non-transitory computer readable storage medium of claim 9 , wherein the dynamic flow process enables users to mark upper-level members as dynamic, for use during processing of the input query.

12. The non-transitory computer readable storage medium of claim 9 , wherein each defined calculation unit comprises a calculation process directed to an associated one of the block storage option, aggregate storage option, or other data storage container.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2022
From: REICHMAN, NATASHA; RIABOI, SERGEI; ROYTMAN, ALEXEY; BELYAEV, VICTOR; RAMAIYER, KUMAR
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 061859/0249 →
Continuity (7)
Continuation 16735448 · Jan 6, 2020
Continuation 15332948 · Oct 24, 2016
Provisional Application 62411473 · Oct 21, 2016
Provisional Application 62245892 · Oct 23, 2015
Provisional Application 62245901 · Oct 23, 2015
Provisional Application 62245897 · Oct 23, 2015
Related Publication 20230089618A1 · Mar 23, 2023
References Cited (132)
US 5574952A · Brady · 1996 [cited by applicant]
US 5799300A · Agrawal · 1998 [cited by applicant]
US 5915129A · Slivka · 1999 [cited by applicant]
US 6161105A · Keighan · 2000 [cited by applicant]
US 6560594B2 · Cochrane · 2003 [cited by applicant]
US 6574720B1 · Hopeman · 2003 [cited by applicant]
US 6629102B1 · Malloy · 2003 [cited by applicant]
US 6766325B1 · Pasumansky · 2004 [cited by applicant]
US 6873994B2 · Kootale · 2005 [cited by applicant]
US 7080081B2 · Agarwal · 2006 [cited by applicant]
US 7133876B2 · Roussopoulos · 2006 [cited by applicant]
US 7181450B2 · Malloy · 2007 [cited by applicant]
US 7392242B1 · Baccash · 2008 [cited by applicant]
US 7529727B2 · Arning · 2009 [cited by applicant]
US 7779031B2 · Grosset · 2010 [cited by applicant]
US 7895191B2 · Colossi · 2011 [cited by applicant]
US 8037086B1 · Upstill · 2011 [cited by applicant]
US 8090730B2 · Shahabi · 2012 [cited by applicant]
US 8156083B2 · Banerjee · 2012 [cited by applicant]
US 8200612B2 · Soylemez · 2012 [cited by applicant]
US 8359305B1 · Burke · 2013 [cited by examiner]
US 8386296B2 · Hage · 2013 [cited by applicant]
US 8510329B2 · Balkir · 2013 [cited by applicant]
US 8825621B2 · Cushing · 2014 [cited by applicant]
US 9081830B1 · Stolte · 2015 [cited by applicant]
US 9135586B2 · Balko · 2015 [cited by applicant]
US 9600554B2 · Gerweck · 2017 [cited by applicant]
US 9773048B2 · Sarferaz · 2017 [cited by applicant]
US 10083195B2 · Zhou · 2018 [cited by applicant]
US 10318498B2 · Tran · 2019 [cited by applicant]
US 10346435B2 · Walker · 2019 [cited by applicant]
US 10360527B2 · Abe · 2019 [cited by applicant]
US 10467251B2 · Menon · 2019 [cited by applicant]
US 10528540B2 · Gerweck · 2020 [cited by applicant]
US 10552393B2 · Reichman · 2020 [cited by applicant]
US 10565176B2 · Brodt · 2020 [cited by applicant]
US 11132388B2 · Brodt · 2021 [cited by applicant]
US 11520760B2 · Roytman · 2022 [cited by applicant]
US 11531662B2 · Reichman · 2022 [cited by applicant]
US 20020029207A1 · Bakalash · 2002 [cited by applicant]
US 20020138460A1 · Cochrane · 2002 [cited by applicant]
US 20030005420A1 · Ghosh · 2003 [cited by applicant]
US 20030204499A1 · Shahabi · 2003 [cited by applicant]
US 20030217075A1 · Nakano · 2003 [cited by applicant]
US 20040054858A1 · Chandrasekaran · 2004 [cited by applicant]
US 20040215626A1 · Colossi · 2004 [cited by applicant]
US 20040236767A1 · Soylemez · 2004 [cited by applicant]
US 20050091206A1 · Koukerdjinian · 2005 [cited by applicant]
US 20050094742A1 · Yee · 2005 [cited by applicant]
US 20050262108A1 · Gupta · 2005 [cited by applicant]
US 20060010156A1 · Netz · 2006 [cited by examiner]
US 20060010159A1 · Mirchandani · 2006 [cited by applicant]
US 20060085742A1 · Harold · 2006 [cited by applicant]
US 20060106769A1 · Gibbs · 2006 [cited by applicant]
US 20060271568A1 · Balkir · 2006 [cited by applicant]
US 20070027674A1 · Parson · 2007 [cited by applicant]
US 20070061344A1 · Dickerman · 2007 [cited by applicant]
US 20070088691A1 · Dickerman · 2007 [cited by applicant]
US 20070094236A1 · Otter · 2007 [cited by applicant]
US 20070094668A1 · Jacquot · 2007 [cited by applicant]
US 20080201293A1 · Grosset · 2008 [cited by applicant]
US 20080288524A1 · Dumitru · 2008 [cited by applicant]
US 20090030915A1 · Winter · 2009 [cited by applicant]
US 20090063403A1 · Malloy · 2009 [cited by applicant]
US 20090248651A1 · Perry · 2009 [cited by examiner]
US 20090249125A1 · Bhatawdekar · 2009 [cited by applicant]
US 20090276705A1 · Ozdemir · 2009 [cited by applicant]
US 20090307248A1 · Moser · 2009 [cited by applicant]
US 20120005151A1 · Vasudevan · 2012 [cited by applicant]
US 20120110583A1 · Balko · 2012 [cited by applicant]
US 20120331259A1 · Fulton · 2012 [cited by applicant]
US 20130097151A1 · Cushing · 2013 [cited by applicant]
US 20130166497A1 · Schroetel · 2013 [cited by examiner]
US 20140046920A1 · Shuma · 2014 [cited by applicant]
US 20140122413A1 · Presti · 2014 [cited by applicant]
US 20140317156A1 · Kanamatareddy · 2014 [cited by applicant]
US 20150026207A1 · Bharti · 2015 [cited by applicant]
US 20150074038A1 · Sarferaz · 2015 [cited by applicant]
US 20150120786A1 · Slovacek · 2015 [cited by applicant]
US 20150142724A1 · Nair · 2015 [cited by applicant]
US 20150278334A1 · Gerweck · 2015 [cited by examiner]
US 20150310047A1 · Zhou · 2015 [cited by applicant]
US 20160306810A1 · Ni · 2016 [cited by applicant]
US 20160335318A1 · Gerweck · 2016 [cited by applicant]
US 20170116032A1 · Tran · 2017 [cited by applicant]
US 20170116215A1 · Ramaiyer · 2017 [cited by applicant]
US 20170116281A1 · Roytman · 2017 [cited by applicant]
US 20170116290A1 · Reichman · 2017 [cited by applicant]
US 20170116308A1 · Alberg · 2017 [cited by applicant]
US 20170116309A1 · Menon · 2017 [cited by applicant]
US 20170116310A1 · Walker · 2017 [cited by applicant]
US 20170116311A1 · Reichman · 2017 [cited by applicant]
US 20170116312A1 · Reichman · 2017 [cited by applicant]
US 20170116313A1 · Roytman · 2017 [cited by applicant]
US 20190073366A1 · Raimaiyer · 2019 [cited by applicant]
US 20190079959A1 · Raimaiyer · 2019 [cited by applicant]
US 20190102445A1 · Raimaiyer · 2019 [cited by applicant]
US 20190102446A1 · Raimaiyer · 2019 [cited by applicant]
US 20190102447A1 · Raimaiyer · 2019 [cited by applicant]
US 20190228024A1 · Brodt · 2019 [cited by applicant]
US 20190258612A1 · Tran · 2019 [cited by applicant]
US 20190286638A1 · Walker · 2019 [cited by applicant]
Zumbrum, Sarah Craynon, “How Exactly Does Essbase Work? Part I” Jul. 22, 2014 , 9 pages from: <https://realtrigeek.com/2014/07/22/how-exactly-does-essbase-work-part-i/>. [cited by applicant]
Russakovsky, Alexander; “Hopping over Big Data: Accelerating Ad-hoc OLAP Queries with Grasshopper Algorithms” published Feb. 26, 2015, 30 pages. [cited by applicant]
Dynamic Flow process definition Nov. 26, 2018, google.com, hllps://www.google.com/search?biw=1920&bih=1076&ei=njv8W_CJD4mizwK_l4gCQ&q=%22dynamic+flow+process%22+definition&oq=%22dynamic-flow+process%22+definition&gs I=p… [cited by applicant]
Dynamic Flow process OLAP Nov. 26, 2018, google.com, https://www.google.com/search?biw=1920&bih=1076&ei=njv8W_CJD4mizwK_l4gCQ&q=%22dynamic+flow+process%22+definition&oq=%22dynamic-flow+process%22+definition&gs I=psy-ab … [cited by applicant]
PerformanceArchHowTo, Aggregate Storage Option ASO vs Block Storage Option BSO Contrast and Comparison Aug. 24, 2011, youtube.com, https://www.youtube.com/watch?v=i8AeH5UGT90. [cited by applicant]
Oracle®, Oracle Enterprise Performance Management System Documentation, Release 11.1.2.4/ Essbase, Database Administrator's Guide, Developing Formulas for Block Storage Databases, Copyright © 2019, 28 pages. [cited by applicant]
Larimer, Mike et al., ORACLE, OAC Essbase Hybrid Block Storage Option Performance Tuning, White Paper, Oracleo ©, Jun. 11, 2018, 24 pages. [cited by applicant]
Oracle, Oracle® Cloud, Oracle Cloud Administering Oracle Essbase Cloud, Copyright © 1996, 2016, 632 pages. [cited by applicant]
Oracle, Oracle® Cloud, Administering Oracle Analytics Cloud—Essbase, Copyright © 1996, 2017, 703 pages. [cited by applicant]
Essbase Information Development Team, Oracle® Cloud, Technical Reference for Oracle Analytics Cloud—Essbase, E70189-04, Sep. 2017, Copyright © 1996, 2017, 1044 pages. [cited by applicant]
EPM Information Development Team, Oracle® Essbase Release 11.1.1, Database Administrator's Guide, Copyright © 1996, 2008, 1182 pages. [cited by applicant]
EPM Information Development Team, Oracle® Essbase, Technical Reference, Release 11.1.2.2.100, Copyright © 1996, 2012, 1402 pages. [cited by applicant]
EPM Information Development Team, Oracle® Essbase Database Administrator's Guide, Release 11.1.2.2.100, Updated Dec. 2013, Copyright © 1996, 2013, 1138 pages. [cited by applicant]
Turrell, Jake, “Introduction to Essbase Hybrid Aggregation Mode”, Mar. 4, 2015, 12 pages, retreived on Jan. 15, 2020 from: <http://turrellconsulting.com/blog/?s=introduction+to+essbase+hybrid+aggregation+mode&searchsubm… [cited by applicant]
Iankovszky, Andra et al., Edgewater Ranzal, Oracle Platinum Consulting Partner, “The Uncharted Territory Ready to be Discovered: Hybrid Essbase”, Hyperion UKOUG, Jun. 18, 2015, 24 pages. [cited by applicant]
Crisan, Dan, “Intro to Database Systems: Indexing Part 2—B+trees” Apr. 6, 2015 , 8 pages from: <http://blog.dancrisan.com/intro-to-database-systems-indexing-part-2-b-trees>. [cited by applicant]
Oracle, Oracle® Business Intelligence Cloud Service Data Sync, Getting Started, Release 2.2, Sep. 2016, Copyright © 2010, 2016, 6 pages. [cited by applicant]
Oracle, Oracle® Business Intelligence Cloud Service Data Sync, Read Me, Release 2.2, Sep. 2016, Copyright © 2016, 6 pages. [cited by applicant]
Harvey, Rosie et al., Oracle® Cloud, Preparing Data in Oracle Business Intelligence Cloud Service, E64760-07, Feb. 2017, Copyright © 2014, 2017, 282 pages. [cited by applicant]
Williams, Richard “Configuring the Data Sync Tool for BI Cloud Service (BICS)”, Apr. 24, 2015, 20 pages. [cited by applicant]
Oracle, Loading Data with Oracle BI Cloud Service Data Sync, Tutorial, Copyright © 2015, 34 pages. [cited by applicant]
Unknown Author, DBMS Indexing, 5 pages, retrieved Feb. 20, 2020 from: <https://www.tutorialspoint.com/dbms/dbms_indexing.htm>. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Jan. 20, 2023 for U.S. Appl. No. 17/234,479 , 22 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Mar. 30, 2023 for U.S. Appl. No. 17/234,479 , 4 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Dec. 21, 2023 for U.S. Appl. No. 17/992,305 , 18 pages. [cited by applicant]
United States Patent and Trademark Office, Notice of Allowance and Fee(s) Due dated Dec. 21, 2023 for U.S. Appl. No. 17/234,479 , 9 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Aug. 25, 2023 for U.S. Appl. No. 17/234,479 , 13 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Jul. 11, 2023 for U.S. Appl. No. 17/234,479 , 21 pages. [cited by applicant]
United States Patent and Trademark Office, Notice of Allowance and Fee(s) Due dated May 1, 2024 for U.S. Appl. No. 17/234,479 , 9 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Apr. 8, 2024 for U.S. Appl. No. 17/992,305 , 15 pages. [cited by applicant]