# US 10,872,093 B2 · Dynamically switching between data sources

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,872,093 B2
- Document ID: US10872093B2
- Status: Granted
- Kind: B2
- Application number: 16/446,076
- Filed: 2019-06-19
- Published: 2019-10-03
- Granted: 2020-12-22
- Earliest claimed: 2015-07-06
- Assignees: Oracle International Corporation
- Applicants: Oracle International Corporation
- Inventors: Justin Hyde; Jeff Titmas; Gunaranjan Vasireddy
- Web page: https://patentgrep.com/patent/US10872093B2

## CPC

- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/211: {Schema design and management}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In various embodiments, a data integration system is disclosed which enables dynamically switching between sources for loading data into a data warehouse by utilizing a source-dependent data store at the data warehouse.

## Claims

### Claim 1

A method, comprising:
identifying, by a computing system, a plurality of data sources comprising at least one of a business intelligence server or a local table of the computing system;
receiving, by the computing system, information about the plurality of data sources and one or more data types of data associated with the plurality of data sources;
identifying, by the computing system, that the data is to be loaded from a first data source of the plurality of data sources;
selecting, by the computing system, a transport mechanism from among a plurality of selectable transport mechanisms based at least in part on the first data source and a particular data type of the one or more data types that corresponds to the first data source, the selected transport mechanism being different from a previously used second transport mechanism; and
loading, by the computing system, the data from the first data source into a data warehouse using the selected transport mechanism.

### Claim 2 (depends on 1)

The method of claim 1, wherein a logical design of the data warehouse, the plurality of data sources, and/or the plurality of selectable transport mechanisms is specified via a user interface of a designer module.

### Claim 3 (depends on 2)

The method of claim 2, wherein a physical design of the plurality of data sources and/or the plurality of selectable transport mechanisms is based at least in part on the specified logical design.

### Claim 4 (depends on 2)

The method of claim 2, wherein:
data warehouse and/or application metadata are defined via the designer module; and
the designer module uses the data warehouse and/or application metadata to generate data integration scenarios or load plans for production.

### Claim 5 (depends on 1)

The method of claim 1, further comprising, responsive to a direct extract, transform, load (ETL) connection being unavailable:
creating one or more source-dependent data store (SDS) tables in an SDS schema; and
extracting, at least in part, the data from the first data source to one or more flat files to be transferred securely.

### Claim 6 (depends on 5)

The method of claim 5, wherein attributes of the one or more SDS tables have names conforming to naming restrictions, and wherein the names differ from source names associated with source attributes of the first data source.

### Claim 7 (depends on 6)

The method of claim 6:
wherein the naming restrictions comprise a maximum name length; and
further comprising, responsive to the direct ETL connection being unavailable, loading the data into equivalent attributes belonging to the attributes of the one or more SDS tables, based at least in part on a metadata mapping table, the metadata mapping table associating a respective source name in the first data source to a respective name of the attributes of the one or more SDS tables, the respective source name being longer than the maximum name length.

### Claim 8 (depends on 6)

The method of claim 6, wherein a Dynamic Warehouse interface layer:
generates a query notwithstanding the direct ETL connection being unavailable;
parses the generated query; and
translates, using a metadata mapping table, the source names associated with the source attributes of the first data source to the names of the attributes conforming to the naming restrictions.

### Claim 9 (depends on 1)

The method of claim 1, wherein the first data source comprises a source-dependent data store (SDS), and further comprising implementing an SDS mode, wherein:
a view is created pointing to a schema of the SDS; and
the view is used to insert data into a target database.

### Claim 10

A computer-readable medium storing program code that when executed by a processor of a computing system causes the processor to perform operations comprising:
identifying a plurality of data sources comprising at least one of a business intelligence server or a local table of the computing system;
receiving information about the plurality of data sources and one or more data types of data associated with the plurality of data sources;
identifying that the data is to be loaded from a first data source of the plurality of data sources;
selecting a transport mechanism from among a plurality of selectable transport mechanisms based at least in part on the first data source and a particular data type of the one or more data types that corresponds to the first data source, the selected transport mechanism being different from a previously used second transport mechanism; and
loading the data from the first data source into a data warehouse using the selected transport mechanism.

### Claim 11 (depends on 10)

The computer-readable medium of claim 10, wherein a logical design of the data warehouse, the plurality of data sources, and/or the plurality of selectable transport mechanisms is specified via a user interface of a designer module.

### Claim 12 (depends on 11)

The computer-readable medium of claim 11, wherein:
a physical design of the plurality of data sources and/or the plurality of selectable transport mechanisms is based at least in part on the specified logical design;
data warehouse and/or application metadata are defined via the designer module; and
the designer module uses the data warehouse and/or application metadata to generate data integration scenarios or load plans for production.

### Claim 13 (depends on 10)

The computer-readable medium of claim 10, wherein the operations further comprise, responsive to a direct extract, transform, load (ETL) connection being unavailable:
creating one or more source-dependent data store (SDS) tables in an SDS schema; and
extracting, at least in part, the data from the first data source to one or more flat files to be transferred securely.

### Claim 14 (depends on 13)

The computer-readable medium of claim 13, wherein:
attributes of the one or more SDS tables have names conforming to naming restrictions;
the names differ from source names associated with source attributes of the first data source; and
a Dynamic Warehouse interface layer:
generates a query notwithstanding the direct ETL connection being unavailable;
parses the generated query; and
translates, using a metadata mapping table, the source names associated with the source attributes of the first data source to the names of the attributes conforming to the naming restrictions.

### Claim 15 (depends on 10)

The computer-readable medium of claim 10, wherein the first data source comprises a source-dependent data store (SDS), and further comprising implementing an SDS mode, wherein:
a view is created pointing to a schema of the SDS; and
the view is used to insert data into a target database.

### Claim 16

A system, comprising:
a memory configured to store computer-executable instructions; and
a processor configured to access the memory and execute the computer-executable instructions to at least:
identify a plurality of data sources comprising at least one of a business intelligence server or a local table of the system;
receive information about the plurality of data sources and one or more data types of data associated with the plurality of data sources;
identify that the data is to be loaded from a first data source of the plurality of data sources;
select a transport mechanism from among a plurality of selectable transport mechanisms based at least in part on the first data source and a particular data type of the one or more data types that corresponds to the first data source, the selected transport mechanism being different from a previously used second transport mechanism; and
load the data from the first data source into a data warehouse using the selected transport mechanism.

### Claim 17 (depends on 16)

The system of claim 16, wherein:
a logical design of the data warehouse, the plurality of data sources, and/or the plurality of selectable transport mechanisms is specified via a user interface of a designer module;
a physical design of the plurality of data sources and/or the plurality of selectable transport mechanisms is based at least in part on the specified logical design;
data warehouse and/or application metadata are defined via the designer module; and
the designer module uses the data warehouse and/or application metadata to generate data integration scenarios or load plans for production.

### Claim 18 (depends on 16)

The system of claim 16, wherein the processor is further configured to access the memory and execute the computer-executable instructions to at least:
create one or more source-dependent data store (SDS) tables in an SDS schema; and
extract, at least in part, the data from the first data source to one or more flat files to be transferred securely.

### Claim 19 (depends on 18)

The system of claim 18, wherein:
attributes of the one or more SDS tables have names conforming to naming restrictions;
the names differ from source names associated with source attributes of the first data source; and
the naming restrictions comprise a maximum name length; and
further comprising, responsive to the direct ETL connection being unavailable, loading the data into equivalent attributes belonging to the attributes of the one or more SDS tables, based at least in part on a metadata mapping table, the metadata mapping table associating a respective source name in the first data source to a respective name of the attributes of the one or more SDS tables, the respective source name being longer than the maximum name length.

### Claim 20 (depends on 16)

The system of claim 16, wherein the first data source comprises a source-dependent data store (SDS), and further comprising implementing an SDS mode, wherein:
a view is created pointing to a schema of the SDS; and
the view is used to insert data into a target database.
