IP Library › Granted Patent US 12,271,391
Granted Patent B2
US 12,271,391 · App. 17/487,668 · Granted Apr 8, 2025

Automatic configuration of data invocation from one or more sources based on metadata mappings

Inventors: Daniel Buchmann (Karlsruhe, DE); Timm Falter (Sinsheim, DE); Ralf Dentzer (Hockenheim, DE)
Assignee: SAP SE
G06F16/254G06F9/547G06F16/211G06F16/24534G06F16/24573G06F16/252G06F16/27G06F16/288G06F16/289G06F16/907H04L67/561H04L67/565
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,271,391
App. No.
17/487,668
Granted
Apr 8, 2025
Kind
B2
Abstract

The present disclosure relates to computer-implemented methods, software, and systems for automatic database configuration. One example method includes receiving, at a database associated with a data warehouse application, a request to generate a configuration to acquire data objects based on executing calls to corresponding programming interfaces provided by a source application, wherein the programming interfaces are identified in the received instructions and are associated with acquiring the data objects associated with metadata entities defined at the database; in response to the received instructions, configuring the database to automatically execute one or more calls to acquire relevant data for a metadata entity defined at the database, wherein the metadata entity is associated with a section of a first programming interface; and invoking the first programming interface at the source application, wherein invoking the first programming interface results in acquiring the relevant data.

Claims (40)

1. A computer implemented method for configuring automatic invocation of data from one database to another database, the method comprising:

receiving, at a database, a request to generate a configuration for the database to automatically acquire a plurality of data objects from one or more source applications, the plurality of data objects being associated with a first set of metadata entities defined at the database, the request defining the first set of metadata entities, wherein the plurality of data objects are acquirable based on executing calls to programming interfaces provided by the one or more source applications;

in response to the received request, configuring the database to automatically execute calls to acquire, from a source application, data associated with a first data object of the plurality of data object, the first data object being associated with a first metadata entity of the first set of metadata entities defined at the database, wherein configuring the database comprises:

deploying a data model at the database that defines mappings between an entity of the first set of metadata entities and one or more corresponding programing interfaces at the source application, wherein each entity of the first set of metadata entities is associated with a scope function to determine related entities to the respective entity from the first set of metadata entities, wherein the data associated with the first data object of the plurality of data objects is acquired through invoking one or more programming interfaces determined as associated with a set of entities of the first set of entities according to the mappings of the data model, wherein the set of the entities is identified as related to the first metadata entity according to a first scope function defined for the first metadata entity,

wherein when the first scope function is executed at the database, the set of entities is determined as related to the first metadata entity, wherein at least one of the entities of the set of entities is determined as associated with a data object different from the first data object; and

invoking the one or more programming interfaces at the one or more source applications to acquire the data associated with the first data object of the plurality of data objects.

2. The method of claim 1 , further comprising:

obtaining identifiers defined for metadata entities; and

querying, by a data warehouse application associated with the database, a service at the one or more source applications to identify the programming interfaces associated with the metadata entities for acquiring data objects corresponding to the obtained identifiers,

wherein the request received at the database are generated at the data warehouse application based on querying the service to identify the set of programming interfaces.

3. The method of claim 1 , wherein the database is associated with a data warehouse application that is a data warehouse cloud platform that accumulates metadata for entities from a set of source applications based on a common metadata exposure service that defines a structure of metadata entities.

4. The method of claim 1 , wherein the programming interfaces are application programming interfaces.

5. A non-transitory, computer-readable medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising:

receiving, at a database, a request to generate a configuration for the database to automatically acquire a plurality of data objects from one or more source applications, the plurality of data objects being associated with a first set of metadata entities defined at the database, the request defining the first set of metadata entities, wherein the plurality of data objects are acquirable based on executing calls to programming interfaces provided by the one or more source applications;

in response to the received request, configuring the database to automatically execute calls to acquire, from a source application, data associated with a first data object of the plurality of data object, the first data object being associated with a first metadata entity of the first set of metadata entities defined at the database, wherein configuring the database comprises:

deploying a data model at the database that defines mappings between an entity of the first set of metadata entities and one or more corresponding programing interfaces at the source application, wherein each entity of the first set of metadata entities is associated with a scope function to determine related entities to the respective entity from the first set of metadata entities, wherein the data associated with the first data object of the plurality of data objects is acquired through invoking one or more programming interfaces determined as associated with a set of entities of the first set of entities according to the mappings of the data model, wherein the set of the entities is identified as related to the first metadata entity according to a first scope function defined for the first metadata entity,

wherein when the first scope function is executed at the database, the set of entities is determined as related to the first metadata entity, wherein at least one of the entities of the set of entities is determined as associated with a data object different from the first data object; and

invoking the one or more programming interfaces at the one or more source applications to acquire the data associated with the first data object of the plurality of data objects.

6. The computer-readable medium of claim 5 , further comprising instructions which, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising:

obtaining identifiers defined for metadata entities; and

querying, by a data warehouse application associated with the database, a service at the one or more source applications to identify the programming interfaces associated with the metadata entities for acquiring data objects corresponding to the obtained identifiers,

wherein the request received at the database are generated at the data warehouse application based on querying the service to identify the set of programming interfaces.

7. The computer-readable medium of claim 5 , wherein the database is associated with a data warehouse application that is configured to automatically acquire data from a set of source application based on deployed data models at the database, wherein the deployed data models are based on metadata and mappings between the metadata and corresponding programing interfaces at the set of source application.

8. A system comprising

one or more processors; and

a computer-readable storage device coupled to the one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising:

receiving, at a database, a request to generate a configuration for the database to automatically acquire a plurality of data objects from one or more source applications, the plurality of data objects being associated with a first set of metadata entities defined at the database, the request defining the first set of metadata entities, wherein the plurality of data objects are acquirable based on executing calls to programming interfaces provided by the one or more source applications;

in response to the received request, configuring the database to automatically execute calls to acquire, from a source application, data associated with a first data object of the plurality of data object, the first data object being associated with a first metadata entity of the first set of metadata entities defined at the database, wherein configuring the database comprises:

deploying a data model at the database that defines mappings between an entity of the first set of metadata entities and one or more corresponding programing interfaces at the source application, wherein each entity of the first set of metadata entities is associated with a scope function to determine related entities to the respective entity from the first set of metadata entities, wherein the data associated with the first data object of the plurality of data objects is acquired through invoking one or more programming interfaces determined as associated with a set of entities of the first set of entities according to the mappings of the data model, wherein the set of the entities is identified as related to the first metadata entity according to a first scope function defined for the first metadata entity,

wherein when the first scope function is executed at the database, the set of entities is determined as related to the first metadata entity, wherein at least one of the entities of the set of entities is determined as associated with a data object different from the first data object; and

invoking the one or more programming interfaces at the one or more source applications to acquire the data associated with the first data object of the plurality of data objects.

9. The system of claim 8 , wherein the computer-readable storage device further stores instructions which, when executed by the one or more processors, cause the one or more processors to perform operations, the operations comprising:

obtaining identifiers defined for metadata entities; and

querying, by a data warehouse application associated with the database, a service at the one or more source applications to identify the programming interfaces associated with the metadata entities for acquiring data objects corresponding to the obtained identifiers,

wherein the request received at the database are generated at the data warehouse application based on querying the service to identify the set of programming interfaces.

10. The system of claim 8 , wherein the database is associated with a data warehouse application that is configured to automatically acquire data from a set of source application based on deployed data models at the database, wherein the deployed data models are based on metadata and mappings between the metadata and corresponding programing interfaces at the set of source application.

11. The computer-readable medium of claim 5 , wherein the other metadata entities are identified as relevant to the first metadata entity based on invoking a scope function defining dependencies between entities at the source application.

12. The computer-readable medium of claim 5 , wherein the programming interfaces are application programming interfaces.

13. The system of claim 8 , wherein the other metadata entities are identified as relevant to the first metadata entity based on invoking a scope function defining dependencies between entities at the source application.

14. The system of claim 8 , wherein the programming interfaces are application programming interfaces.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2021
From: BUCHMANN, DANIEL; FALTER, TIMM; DENTZER, RALF
To: SAP SE
Reel/Frame 057626/0832 →
Continuity (2)
Provisional Application 63211944 · Jun 17, 2021
Related Publication 20220405308A1 · Dec 22, 2022
References Cited (104)
US 6609123B1 · Cazemier et al. · 2003 [cited by applicant]
US 7487512B2 · Brunswig et al. · 2009 [cited by applicant]
US 7487513B1 · Savchenko et al. · 2009 [cited by applicant]
US 7496624B2 · Falter et al. · 2009 [cited by applicant]
US 7606818B2 · Buchmann et al. · 2009 [cited by applicant]
US 7617480B2 · Falter et al. · 2009 [cited by applicant]
US 7620934B2 · Falter et al. · 2009 [cited by applicant]
US 7689646B2 · Buchmann et al. · 2010 [cited by applicant]
US 7694140B1 · Savchenko et al. · 2010 [cited by applicant]
US 7739387B2 · Eberlein et al. · 2010 [cited by applicant]
US 7756870B2 · Buchmann et al. · 2010 [cited by applicant]
US 7783717B1 · Savchenko et al. · 2010 [cited by applicant]
US 7822826B1 · Savchenko et al. · 2010 [cited by applicant]
US 7853616B2 · Buchmann et al. · 2010 [cited by applicant]
US 7971209B2 · Eberlein et al. · 2011 [cited by applicant]
US 8010376B2 · Buchmann et al. · 2011 [cited by applicant]
US 8027963B2 · Dentzer et al. · 2011 [cited by applicant]
US 8099431B2 · Buchmann et al. · 2012 [cited by applicant]
US 8131694B2 · Bender et al. · 2012 [cited by applicant]
US 8209281B2 · Dentzer · 2012 [cited by applicant]
US 8209302B2 · Dentzer · 2012 [cited by applicant]
US 8352478B2 · Buchmann et al. · 2013 [cited by applicant]
US 8458189B1 · Ludwig et al. · 2013 [cited by applicant]
US 8572286B2 · Buchmann et al. · 2013 [cited by applicant]
US 8606723B2 · Seubert et al. · 2013 [cited by applicant]
US 8655756B2 · Seubert et al. · 2014 [cited by applicant]
US 8694397B2 · Seubert et al. · 2014 [cited by applicant]
US 8756273B2 · Buchmann et al. · 2014 [cited by applicant]
US 8862613B2 · Stein et al. · 2014 [cited by applicant]
US 8863097B2 · Thimmel et al. · 2014 [cited by applicant]
US 8892454B2 · Rabetge et al. · 2014 [cited by applicant]
US 8943176B2 · Buchmann et al. · 2015 [cited by applicant]
US 9176801B2 · Baeuerle et al. · 2015 [cited by applicant]
US 9009354B2 · Schmitt et al. · 2015 [cited by applicant]
US 9021019B2 · Krannich et al. · 2015 [cited by applicant]
US 9031976B2 · Seufert et al. · 2015 [cited by applicant]
US 9148488B2 · Rabetge et al. · 2015 [cited by applicant]
US 9299049B2 · Stallman et al. · 2016 [cited by applicant]
US 9354948B2 · Baeuerle et al. · 2016 [cited by applicant]
US 9361407B2 · Hutzel et al. · 2016 [cited by applicant]
US 9430523B2 · Falter et al. · 2016 [cited by applicant]
US 9442977B2 · Falter et al. · 2016 [cited by applicant]
US 9575819B2 · Baeuerle et al. · 2017 [cited by applicant]
US 9619552B2 · Falter et al. · 2017 [cited by applicant]
US 9639572B2 · Hutzel et al. · 2017 [cited by applicant]
US 9697042B2 · Stein et al. · 2017 [cited by applicant]
US 9703833B2 · Buchmann et al. · 2017 [cited by applicant]
US 9996594B2 · Richter et al. · 2018 [cited by applicant]
US 10133826B2 · Mehta et al. · 2018 [cited by applicant]
US 10176230B2 · Buchmann · 2019 [cited by applicant]
US 10255239B2 · Michels et al. · 2019 [cited by applicant]
US 10275495B2 · Buchmann et al. · 2019 [cited by applicant]
US 10289622B2 · Buchmann · 2019 [cited by applicant]
US 10365896B2 · Finke et al. · 2019 [cited by applicant]
US 10366089B2 · Buchmann · 2019 [cited by applicant]
US 10706047B2 · Buchmann · 2020 [cited by applicant]
US 10713246B2 · Schukovets et al. · 2020 [cited by applicant]
US 10838781B1 · Banerjee et al. · 2020 [cited by applicant]
US 20050022156A1 · Schwan et al. · 2005 [cited by applicant]
US 20070156427A1 · Dentzer et al. · 2007 [cited by applicant]
US 20070162415A1 · Dentzer et al. · 2007 [cited by applicant]
US 20070162468A1 · Dentzer et al. · 2007 [cited by applicant]
US 20070276920A1 · Buchmann et al. · 2007 [cited by applicant]
US 20090049509A1 · Chan et al. · 2009 [cited by applicant]
US 20100332277A1 · Dentzer et al. · 2010 [cited by applicant]
US 20110153582A1 · Buchmann et al. · 2011 [cited by applicant]
US 20110295793A1 · Venkatasubramanian et al. · 2011 [cited by applicant]
US 20120254094A1 · Flinn et al. · 2012 [cited by applicant]
US 20120296929A1 · Hossain et al. · 2012 [cited by applicant]
US 20130166550A1 · Buchmann et al. · 2013 [cited by applicant]
US 20130166563A1 · Mueller et al. · 2013 [cited by applicant]
US 20140164449A1 · Kim et al. · 2014 [cited by applicant]
US 20140279839A1 · Balzar et al. · 2014 [cited by applicant]
US 20140310231A1 · Sampathkumaran et al. · 2014 [cited by applicant]
US 20150293947A1 · Bhagavan et al. · 2015 [cited by applicant]
US 20160092476A1 · Stojanovic et al. · 2016 [cited by applicant]
US 20170103093A1 · Chandra et al. · 2017 [cited by applicant]
US 20170185684A1 · Tsirulnik et al. · 2017 [cited by applicant]
US 20180144067A1 · Chatelain et al. · 2018 [cited by applicant]
US 20180174161A1 · You · 2018 [cited by examiner]
US 20180285390A1 · Mayer et al. · 2018 [cited by applicant]
US 20190109822A1 · Clark et al. · 2019 [cited by applicant]
US 20200177476A1 · Agarwal · 2020 [cited by examiner]
US 20200183927A1 · Buchmann · 2020 [cited by applicant]
US 20200296169A1 · Jeuk et al. · 2020 [cited by applicant]
US 20200311078A1 · Qiao et al. · 2020 [cited by applicant]
US 20210026817A1 · Eswaran et al. · 2021 [cited by applicant]
US 20210049183A1 · Ramanathan et al. · 2021 [cited by applicant]
US 20210084108A1 · Lu et al. · 2021 [cited by applicant]
US 20210216510A1 · Falter et al. · 2021 [cited by applicant]
U.S. Appl. No. 17/073,560, filed Oct. 19, 2020, Schlarb et al. [cited by applicant]
U.S. Appl. No. 17/487,527, filed Sep. 28, 2021, Buchmann. [cited by applicant]
U.S. Appl. No. 17/487,567, filed Sep. 28, 2021, Buchmann. [cited by applicant]
U.S. Appl. No. 17/487,608, filed Sep. 28, 2021, Buchmann et al. [cited by applicant]
Github.wdf.sap.corp [online], “orca/data_mart_management_service” Jan. 2021, [retrieved on May 24, 2021], retrieved from: URL <https://github.wdf.sap.corp/orca/data_mart_management_service/tree/master/service/docs/csnEx… [cited by applicant]
Pages.github.tools.sap [online], ORD Document Interface Jun. 2021, [retrieved on Jun. 18, 2021], retrieved from : URL <https://pages.github.tools.sap/1522722/open-resource-discovery-specification/#/v1/generated/Document… [cited by applicant]
Wiki.wdf.sap.corp [online], “CSN—Service Implementation—PI Core Application Services—Wiki@SAP” May 2021, [retrieved on May 24, 2021], retrieved from : URL <https://wiki.wdf.sap.corp/wiki/display/ApplServ/CSN+-+Service+I… [cited by applicant]
Wiki.wdf.sap.corp [online], “Resolution Framework—ABAP for HANA—Wiki@SAP” Jun. 2020 [retrieved on May 24, 2021], retrieved from : URL <https://wiki.wdf.sap.corp/wiki/display/A4H/Resolution+Framework>, 4 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/487,567, dated Jul. 27, 2023, 22 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 17/487,567, dated Feb. 9, 2023, 23 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/487,527, dated May 3, 2023, 19 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/487,567, dated Oct. 20, 2022, 23 pages. [cited by applicant]
Non-Final Office Action in U.S. Appl. No. 17/487,608, dated Sep. 21, 2022, 15 pages. [cited by applicant]
Final Office Action in U.S. Appl. No. 17/487,567, mailed on Dec. 14, 2023, 24 pages. [cited by applicant]