IP Library Granted Patent US 12,405,962
Granted Patent B2
US 12,405,962 · App. 16/868,081 · Granted Sep 2, 2025

System and method for customization in an analytic applications environment

Inventors: Balaji Krishnan (Fremont, CA); Matthew Bedin (Denver, CO); Saurabh Verma (Cupertino, CA); Ananth Venkata (San Ramon, CA); Joseph Kuttikat (Bengaluru, IN); Pavan Ananthamurthy (Bengaluru, IN)
Assignee: ORACLE INTERNATIONAL CORPORATION
G06F16/254G06F8/65
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,405,962
App. No.
16/868,081
Granted
Sep 2, 2025
Kind
B2
Abstract

In accordance with an embodiment, described herein is a system and method for providing support for extensibility and customization in an analytic applications environment. An extract, transform, load (ETL) or other data pipeline or process provided by the analytic applications environment, can operate in accordance with an analytic applications schema and/or a customer schema associated with a customer (tenant), to receive data from the customer's enterprise software application or data environment, for loading into a data warehouse instance. A semantic layer enables the use of custom semantic extensions to extend a semantic model, and provide custom content at a presentation layer. Extension wizards or development environments can guide users in using the custom semantic extensions to extend or customize the semantic model, through a definition of branches and steps, followed by promotion of the extended or customized semantic model to a production environment.

Claims (53)

1. A system for providing extensibility and customization in an analytic applications environment, comprising:

a computer including one or more processors, that provides access by an analytic applications environment to a data warehouse for storage of data by a plurality of tenants;

wherein each tenant of the plurality of tenants is associated with a customer tenancy, and with a tenant-specific customer schema maintained within their customer tenancy, for use in populating a data warehouse instance;

wherein the system performs an extract, transform, load or other data pipeline or process as defined by a combination of an analytic applications schema shared by the plurality of tenants and the tenant-specific customer schema associated with a tenant, to receive data from the tenant's enterprise software application or data environment, for loading into a data warehouse instance, and populate the data warehouse instance with the data received from the tenant's enterprise software application or data environment as defined by the combination of the analytic applications schema and the tenant-specific customer schema; and

a semantic layer that enables use of custom semantic extensions to extend a packaged semantic model, and provides custom content at a presentation layer, wherein the semantic layer includes:

an initial version of a semantic model usable to provide a packaged content, to access the data loaded from the tenant's enterprise software application or data environment, as defined by the combination of the analytic applications schema and the tenant-specific customer schema, into their data warehouse instance, and provide a packaged content to the presentation layer; and

one or more semantic extensions that when merged with the initial version of the semantic model, operate to modify operation of the semantic model and provide a custom content to the presentation layer, wherein each of a plurality of users are provided with an instance of the semantic model to provide modifications as extensions or customizations thereto as a separate branch, wherein the extensions or customizations provided by the plurality of users are then merged into the semantic model;

wherein the custom content is customized on a per tenant basis, for different tenants of the plurality of tenants, as determined by the semantic model including the extensions or customizations thereto;

wherein the presentation layer provides access to data in the data warehouse instance for each of the different tenants using the tenant's custom content at the presentation layer;

wherein an extension wizard provides instructions indicative of guided steps through customization and use of the custom semantic extensions and enables the user to edit or create a customization branch to extend or customize the semantic model, wherein selection of the branch provides the user with an instance of the semantic model to work with and incorporate their particular customizations or extensions, which customizations or extensions can then be promoted to a production environment;

wherein in response to immutable aspects of the semantic model being patched or updated, customizations provided as the custom semantic extensions are retained and automatically applied following the patch or update.

2. The system of claim 1 , wherein customizations or extensions developed by the multiple users can then be promoted to a production environment.

3. The system of claim 1 , wherein the analytic applications environment is provided within a cloud environment, and the semantic layer includes a physical layer that maps to a physical data model or data plane, a logical layer that operates as a mapping or transformation layer where calculations are defined.

4. The system of claim 1 , wherein the branch operates as an atomic work unit and includes one or more customization steps associated with customization types and corresponding extensions, and wherein the extension wizard is data-aware and provides a preview of underlying data as the branch is customized.

5. The system of claim 1 , wherein the customization branch is merged into the semantic model and wherein the semantic terms are business terms.

6. The system of claim 1 , wherein the extension wizard is configured to guide users in using the custom semantic extensions to extend or customize the semantic model through a definition of branches and steps, wherein different types of branches are associated with different extension wizards, and different versions of the semantic model are supported.

7. The system of claim 1 , wherein in response to a user specifying the branch to customize, the extension wizard presents a table of example data to a user and thereafter guides the user though customizing definitions or aggregations for use with the data.

8. The system of claim 1 , wherein the analytic applications environment provides:

for a first tenant of the plurality of tenants, a first tenant-specific customer schema maintained within a first customer tenancy; and

for a second tenant of the plurality of tenants, a second tenant-specific customer schema maintained within a second customer tenancy;

wherein each tenant's resultant data warehouse instance contents are:

partly-controlled by their customer schema; and

partly-controlled by the analytic applications schema in pre-populating their data warehouse instance with data retrieved from the tenant's enterprise software application or data environment.

9. A method for providing extensibility and customization in an analytic applications environment, comprising:

providing, at a computer including one or more processors, an analytic applications environment that provides access by an analytic applications environment to a data warehouse for storage of data by a plurality of tenants;

wherein each tenant of the plurality of tenants is associated with a customer tenancy, and with a tenant-specific customer schema maintained within their customer tenancy, for use in populating a data warehouse instance;

wherein the system performs an extract, transform, load or other data pipeline or process as defined by a combination of an analytic applications schema shared by the plurality of tenants and the tenant-specific customer schema associated with a tenant, to receive data from the tenant's enterprise software application or data environment, for loading into a data warehouse instance, and populate the data warehouse instance with the data received from the tenant's enterprise software application or data environment as defined by the combination of the analytic applications schema and the tenant-specific customer schema; and

providing a semantic layer that enables use of custom semantic extensions to extend a packaged semantic model, and provide custom content at a presentation layer, wherein the semantic layer includes:

an initial version of a semantic model usable to provide a packaged content, to access the data loaded from the tenant's enterprise software application or data environment, as defined by the combination of the analytic applications schema and the tenant-specific customer schema, into their data warehouse instance, and provide a packaged content to the presentation layer; and

one or more semantic extensions that when merged with the initial semantic model, operate to modify operation of the semantic model and provide a custom content to the presentation layer, wherein each of a plurality of users are provided with an instance of the semantic model to provide modifications as extensions or customizations thereto as a separate branch, wherein the extensions or customizations provided by the plurality of users are then merged into the semantic model;

wherein the custom content is customized on a per tenant basis, for different tenants of the plurality of tenants, as determined by the semantic model including the extensions or customizations thereto;

wherein the presentation layer provides access to data in the data warehouse instance for each of the different tenants using the tenant's custom content at the presentation layer;

wherein an extension wizard provides instructions indicative of guided steps through customization and use of the custom semantic extensions and enables the user to edit or create a customization branch to extend or customize the semantic model, wherein selection of the branch provides the user with an instance of the semantic model to work with and incorporate their particular customizations or extensions, which customizations or extensions can then be promoted to a production environment;

wherein in response to immutable aspects of the semantic model being patched or updated, customizations provided as the custom semantic extensions are retained and automatically applied following the patch or update.

10. The method of claim 9 , wherein the analytic applications environment is provided within a cloud environment.

11. The method of claim 9 , wherein the analytic applications environment provides:

for a first tenant of the plurality of tenants, a first tenant-specific customer schema maintained within a first customer tenancy; and

for a second tenant of the plurality of tenants, a second tenant-specific customer schema maintained within a second customer tenancy;

wherein each tenant's resultant data warehouse instance contents are:

partly-controlled by their customer schema; and

partly-controlled by the analytic applications schema in pre-populating their data warehouse instance with data retrieved from the tenant's enterprise software application or data environment.

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

providing, at a computer including one or more processors, an analytic applications environment that provides access by an analytic applications environment to a data warehouse for storage of data by a plurality of tenants;

wherein each tenant of the plurality of tenants is associated with a customer tenancy, and with a tenant-specific customer schema maintained within their customer tenancy, for use in populating a data warehouse instance;

wherein the system performs an extract, transform, load or other data pipeline or process as defined by a combination of an analytic applications schema shared by the plurality of tenants and the tenant-specific customer schema associated with a tenant, to receive data from the tenant's enterprise software application or data environment, for loading into a data warehouse instance, and populate the data warehouse instance with the data received from the tenant's enterprise software application or data environment as defined by the combination of the analytic applications schema and the tenant-specific customer schema; and

providing a semantic layer that enables use of custom semantic extensions to extend a packaged semantic model, and provide custom content at a presentation layer, wherein the semantic layer includes:

an initial version of a semantic model usable to provide a packaged content, to access the data loaded from the tenant's enterprise software application or data environment, as defined by the combination of the analytic applications schema and the tenant-specific customer schema, into their data warehouse instance, and provide a packaged content to the presentation layer; and

one or more semantic extensions that when merged with the initial semantic model, operate to modify operation of the semantic model and provide a custom content to the presentation layer, wherein each of a plurality of users are provided with an instance of the semantic model to provide modifications as extensions or customizations thereto as a separate branch, wherein the extensions or customizations provided by the plurality of users are then merged into the semantic model;

wherein the custom content is customized on a per tenant basis, for different tenants of the plurality of tenants, as determined by the semantic model including the extensions or customizations thereto;

wherein the presentation layer provides access to data in the data warehouse instance for each of the different tenants using the tenant's custom content at the presentation layer;

wherein an extension wizard provides instructions indicative of guided steps through customization and use of the custom semantic extensions and enables the user to edit or create a customization branch to extend or customize the semantic model, wherein selection of the branch provides the user with an instance of the semantic model to work with and incorporate their particular customizations or extensions, which customizations or extensions can then be promoted to a production environment;

wherein in response to immutable aspects of the semantic model being patched or updated, customizations provided as the custom semantic extensions are retained and automatically applied following the patch or update.

13. The non-transitory computer readable storage medium of claim 12 , wherein the analytic applications environment is provided within a cloud environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2020
From: KRISHNAN, BALAJI; BEDIN, MATTHEW; VERMA, SAURABH; VENKATA, ANANTH; KUTTIKAT, JOSEPH; ANANTHAMURTHY, PAVAN
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 054508/0225 →
Continuity (2)
Provisional Application 62844004 · May 6, 2019
Related Publication 20200356575A1 · Nov 12, 2020
References Cited (101)
US 7058615B2 · Yao · 2006 [cited by applicant]
US 7739292B2 · Falk · 2010 [cited by applicant]
US 8799209B2 · Bakalash · 2014 [cited by applicant]
US 8805971B1 · Roth · 2014 [cited by applicant]
US 9075860B2 · Kozina · 2015 [cited by applicant]
US 9294482B2 · Mellor · 2016 [cited by applicant]
US 9355145B2 · George · 2016 [cited by applicant]
US 9442993B2 · Tung · 2016 [cited by applicant]
US 9509571B1 · Liu · 2016 [cited by examiner]
US 9619535B1 · Kapoor · 2017 [cited by applicant]
US 9961011B2 · Mordani · 2018 [cited by applicant]
US 9990383B2 · Brinnand · 2018 [cited by applicant]
US 10110390B1 · Nguyen · 2018 [cited by applicant]
US 10324932B2 · Gordon · 2019 [cited by applicant]
US 10572679B2 · Frank · 2020 [cited by applicant]
US 10614091B1 · Kapoor · 2020 [cited by applicant]
US 10628594B2 · Himmel · 2020 [cited by applicant]
US 10685034B2 · Shi · 2020 [cited by applicant]
US 10866938B2 · Gutpa · 2020 [cited by applicant]
US 10997129B1 · Nanda · 2021 [cited by applicant]
US 11138164B1 · Munuhur · 2021 [cited by applicant]
US 11190599B2 · Greenstein · 2021 [cited by applicant]
US 11194795B2 · Muralidhar · 2021 [cited by applicant]
US 11250344B2 · Maurya · 2022 [cited by applicant]
US 11349917B2 · Jennings · 2022 [cited by applicant]
US 11609904B2 · Ananthamurthy · 2023 [cited by applicant]
US 11646975B2 · Rushton · 2023 [cited by applicant]
US 20040215584A1 · Yao · 2004 [cited by applicant]
US 20070073712A1 · Falk · 2007 [cited by applicant]
US 20080162509A1 · Becker · 2008 [cited by applicant]
US 20090248739A1 · Cao · 2009 [cited by applicant]
US 20090281865A1 · Stoitsev · 2009 [cited by applicant]
US 20100161648A1 · Eberlein · 2010 [cited by examiner]
US 20110295793A1 · Venkatasubramanian · 2011 [cited by examiner]
US 20120089564A1 · Bakalash · 2012 [cited by applicant]
US 20120191642A1 · George · 2012 [cited by applicant]
US 20120310875A1 · Prahlad · 2012 [cited by applicant]
US 20130086134A1 · Doughan · 2013 [cited by examiner]
US 20140075032A1 · Vasudevan et al. · 2014 [cited by applicant]
US 20140114907A1 · Kozina · 2014 [cited by applicant]
US 20140149180A1 · Yaseen · 2014 [cited by applicant]
US 20140229511A1 · Tung · 2014 [cited by applicant]
US 20150033217A1 · Mellor · 2015 [cited by applicant]
US 20150088807A1 · Toppin · 2015 [cited by applicant]
US 20150207758A1 · Mordani · 2015 [cited by applicant]
US 20160224803A1 · Frank · 2016 [cited by applicant]
US 20160292192A1 · Bhagat · 2016 [cited by examiner]
US 20160321308A1 · Brinnand · 2016 [cited by applicant]
US 20160328566A1 · Nellamakkada · 2016 [cited by applicant]
US 20170116295A1 · Wan et al. · 2017 [cited by applicant]
US 20170249361A1 · Gordon · 2017 [cited by applicant]
US 20180012145A1 · Maurya · 2018 [cited by applicant]
US 20180032550A1 · Gupta · 2018 [cited by examiner]
US 20180039921A1 · Mos · 2018 [cited by applicant]
US 20180052898A1 · Allan · 2018 [cited by examiner]
US 20180211051A1 · Himmel · 2018 [cited by applicant]
US 20190114350A1 · Shi · 2019 [cited by applicant]
US 20200007556A1 · Brebner · 2020 [cited by applicant]
US 20200007631A1 · Greenstein · 2020 [cited by applicant]
US 20200334240A1 · Muralidhar · 2020 [cited by applicant]
US 20210044540A1 · Rushton · 2021 [cited by applicant]
US 20220030062A1 · Jennings · 2022 [cited by applicant]
US 20220067511A1 · Goldman-Shenhar · 2022 [cited by applicant]
US 20220100748A1 · Ananthamurthy · 2022 [cited by applicant]
US 20220100749A1 · Kuttikat · 2022 [cited by applicant]
US 20220100778A1 · Krishnan · 2022 [cited by applicant]
CN 101971176 · 2011 [cited by applicant]
CN 105900059 · 2016 [cited by applicant]
CN 107015794 · 2017 [cited by applicant]
CN 108701256 · 2018 [cited by applicant]
JP 2003529119 · 2003 [cited by applicant]
JP 2009146350 · 2009 [cited by applicant]
International Search Report and the Written Opinion of the International Searching Authority mailed Jul. 21, 2020 for PCT Application No. PCT/US2020/031572, 11 pages. [cited by applicant]
United States Patent and Trademark Office, Notice of Allowance and Fee(s) due dated Jul. 26, 2023 for U.S. Appl. No. 16/851,869, 9 pages. [cited by applicant]
European Patent Office, International Searching Authority, Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration dated Jan. 1… [cited by applicant]
European Patent Office, International Searching Authority, Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration dated Jan. 1… [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Oct. 6, 2022 for U.S. Appl. No. 17/376,890, 6 pages. [cited by applicant]
United States Patent and Trademark Office, Notice of Allowance and Fee(s) Due dated Feb. 8, 2023 for U.S. Appl. No. 17/376,890, 10 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Jul. 22, 2022 for U.S. Appl. No. 17/376,895, 10 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Jul. 11, 2022 for U.S. Appl. No. 17/376,903, 11 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Apr. 27, 2023 for U.S. Appl. No. 17/376,895, 12 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Apr. 13, 2023 for U.S. Appl. No. 17/376,903, 13 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Oct. 5, 2023 for U.S. Appl. No. 17/180,385, 16 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Sep. 15, 2023 for U.S. Appl. No. 17/883,471, 6 pages. [cited by applicant]
European Patent Office, Communication pursuant to Article 94(3) EPC dated Oct. 18, 2023 for European Patent Application No. 21712313.2, 7 pages. [cited by applicant]
Oracle, “Creating a Repository Using the Oracle BI Administration Tool (12.2.1.0.0)” Copyright © 2015, retrieved on Dec. 1, 2023 from: <https://web.archive.org/web/20151030024408/https://www.oracle.com/webfolder/technet… [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Aug. 23, 2023 for U.S. Appl. No. 16/920,574, 16 pages. [cited by applicant]
Ramesh, S. M. and Gomathy, B. “Review on Scheduling Algorithms for Data Warehousing” International Journal of Science and Research (IJSR), vol. 3 Issue 9, Sep. 2014, 6 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Nov. 7, 2023 for U.S. Appl. No. 18/137,306, 20 pages. [cited by applicant]
United States Patent and Trademark Office, Notice of Allowance and Fee(s) Due dated Jul. 30, 2024 for U.S. Appl. No. 17/180,385, 8 pages. Reason(s) for Refusal dated Jul. 24, 2024 for Japanese Patent Application. [cited by applicant]
Japan Patent Office, Final Notification of No. 2021-551956, 8 pages. [cited by applicant]
Intellectual Property India, Examination report under sections 12 & 13 of the Patents Act, 1970 and the Patents Rules, 2003 dated Feb. 15, 2024 for India Patent Application No. 202147017548, 7 pages. [cited by applicant]
European Patent Office, Communication pursuant to Article 94(3) EPC dated January 3, 20214 for European Patent Application No. 20728321.9, 9 pages. [cited by applicant]
Japan Patent Office, Notice of Reasons for Refusal dated Mar. 15, 2024 for Japanese Patent Application No. 2021-551956, 8 pages. [cited by applicant]
Japan Patent Office, Notice of Reasons for Refusal dated Jun. 13, 2024 for Japanese Patent Application No. 2021-551582, 12 pages. [cited by applicant]
Japan Patent Office, Notice of Reasons for Refusal dated Jun. 12, 2024 for Japanese Patent Application No. 2021-551572, 6 pages. [cited by applicant]
United States Patent and Trademark Office, Office Communication dated Jul. 1, 2024 for U.S. Appl. No. 17/076,164, 28 pages. [cited by applicant]
China National Intellectual Property Administration, Notification of Second Office Action dated Dec. 6, 2024 for Chinese Patent Application No. 202080006154.5, 12 pages. [cited by applicant]
United States Patent and Trademark Office, Notice of Allowance and Fee(s) Due dated Dec. 5, 2024 for U.S. Appl. No. 17/180,385, 5 pages. [cited by applicant]
China National Intellectual Property Administration, Notification of the First Office Action dated Sep. 24, 2024 for Chinese Patent Application No. 202080006154.5, 11 pages. [cited by applicant]
China National Intellectual Property Administration, Notification of Grant dated Feb. 21, 2025 for Chinese Patent Application No. 202080006154.5, 2 pages. [cited by applicant]