# US 2017/0286508 A1 · Optimizing transformation of data

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

- Number: US 2017/0286508 A1
- Document ID: US20170286508A1
- Status: Published application
- Kind: A1
- Application number: 15/090,624
- Filed: 2016-04-05
- Published: 2017-10-05
- Earliest claimed: 2016-04-05
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: YADESH GUPTA; SUDHIR VERMA
- Web page: https://patentgrep.com/patent/US20170286508A1

## CPC

- G06F 16/258: {Data format conversion from or to a database}
- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and system are disclosed that generate an execution schedule to optimize a transformation of business. In one aspect, from multiple tables residing in multiple databases and storing business data associate with multiple business management systems, dependencies between the tables may be determined based on attributes associated with the tables. When execution time for transforming business data exists, a decrease time algorithm or a critical path algorithm may be executed to generate execution schedule and to calculate processor idle times during the transformation of business data. Based on the calculated processor idle times, whether or not to execute a local optimization algorithm may be determined. Based on the determination, execution schedule that optimize the transformation of business data may be generated. The transformation of business data may be executed based to the generated execution schedule that optimizes a time consumed for transforming the business data in the tables.

## Claims

### Claim 1

A computer implemented method to generate an execution schedule to optimize transformation of business data, comprising:
from a plurality of tables residing in a plurality of databases and storing business data associated with a plurality of business management systems, determining dependencies between one or more tables from the plurality of tables based on attributes associated with the plurality of tables;
when an execution time for transforming the business data in the one or more tables exist, executing one of a decrease time algorithm or a critical path algorithm to generate an execution schedule and calculate one or more processor idle times for the transformation of the business data in the one or more tables;
based on the calculated one or more processor idle times:
determining whether or not to execute a local optimization algorithm; and
based on the determination, modifying the generated execution schedule for the transformation of the business data, and
executing the transformation of the business data based on the generated execution schedule that optimizes a time consumed for transformation of the business data in the one or more tables.

### Claim 2 (depends on 1)

The computer implemented method of claim 1, further comprising: when the historical execution time for the transformation of the business data does not exist, executing an estimation algorithm to generate the estimated execution time for the transformation of the business data.

### Claim 3 (depends on 2)

The computer implemented method of claim 2, further comprising: when the estimation algorithm is executed:
determine number of records in the one or more tables;
determine the execution time of one or more records by executing a test run on the one or more tables for transforming the business data; and
dynamically modifying the generated estimated execution time to optimize the time consumed for transforming the business data.

### Claim 4 (depends on 1)

The computer implemented method of claim 1, further comprising: when the decrease time algorithm is executed:
upon determining the existence of the execution time, sorting the execution time in a descending order; and
based on the sorted execution time, rearranging the one or more tables between the one or more processors to generate the execution schedule for transforming the business data.

### Claim 5 (depends on 1)

The computer implemented method of claim 1, further comprising: when the critical path algorithm is executed:
upon generating a precedence graph for the one or more tables based on the determined dependencies between the one or more tables:
from the precedence graph, computing one or more critical paths between the one or more tables based on a descending order of the execution time associated with one or more tables for the transformation of the business data- and
based on the computed critical paths, generating a priority list including the execution schedule for transformation of the business data.

### Claim 6 (depends on 1)

The computer implemented method of claim 1, further comprising: when the local optimization algorithm is executed:
determining the one or more processor idle times in the one or more processors; and
based on the determined one or more processor idle times and the one or more dependencies between the one or more tables, determining whether or not to rearrange the one or more tables between the one or more processors for transforming the business data.

### Claim 7 (depends on 1)

The computer implemented method of claim 1, wherein the execution of local optimization algorithm is terminated after an elapse in predetermined time.

### Claim 8

A computer system to generate an execution schedule to optimize transformation of business data, comprising:
a memory storing computer instructions; and
a processor communicatively coupled with the memory to execute the instructions to perform operations comprising:
from a plurality of tables residing in a plurality of databases and storing business data associated with a plurality of business management systems, determining one or more dependencies between one or more tables from the plurality of tables based on attributes associated with the plurality of tables;
when a execution time for transforming the business data in the one or more tables exist, executing one of a decrease time algorithm or a critical path algorithm, to generate an execution schedule and calculate one or more processor idle times for the transformation of the business data in the one or more tables;
based on the calculated one or more processor idle times:
determining whether or not to execute a local optimization algorithm; and
based on the determination, modifying the generated execution schedule for the transformation of the business data; and
executing the transformation of the business data based on the generated execution schedule that optimizes a time consumed for transformation of the business data in the one or more tables.

### Claim 9 (depends on 8)

The computer system of claim 8, further comprising: when the historical execution time for the transformation of the business data does not exist, executing an estimation algorithm to generate the estimated execution time for the transformation of the business data.

### Claim 10 (depends on 9)

The computer system of claim 9, further comprising: when the estimation algorithm is executed:
determine number of records in the one or more tables;
determine the execution time of one or more records by executing a test run on the one or more tables for transforming the business data; and
dynamically modifying the generated one or more estimated execution time to optimize the time consumed for transforming the business data.

### Claim 11 (depends on 8)

The computer system of claim 8, further comprising: when the decrease time algorithm is executed:
upon determining the existence of the execution time, sorting the execution time in a descending order; and
based on the sorted execution time, rearranging the one or more tables between the one or more processors to generate the execution schedule for transforming the business data.

### Claim 12 (depends on 8)

The computer system of claim 8, further comprising: when the critical path algorithm is executed:
upon generating a precedence graph for the one or more tables based on the determined dependencies between the one or more tables;
from the precedence graph, computing one or more critical paths between the one or more tables based on a descending order of the execution time associated with one or more tables for the transformation of the business data; and
based on the computed critical paths, generating a priority list including the execution schedule for transformation of the business data.

### Claim 13 (depends on 8)

The computer system of claim 8, further comprising: when the local optimization algorithm is executed:
determining the one or more processor idle times in the one or more processors; and
based on the determined one or more processor idle times and the dependencies between the one or more tables, determining whether or not to rearrange the one or more tables between the one or more processors for transforming the business data.

### Claim 14 (depends on 8)

The computer system of claim 8, wherein the execution of local optimization algorithm is terminated after an elapse in predetermined time.

### Claim 15

A non-transitory computer readable storage medium tangibly storing instructions, which when executed by a computer, cause the computer to execute operations comprising:
from a plurality of tables residing in a plurality of databases and storing business data associated with a plurality of business management systems, determine dependencies between one or more tables from the plurality of tables based on attributes associated with the plurality of tables;
when a execution time for transforming the business data in the one or more tables exist, execute one of a decrease time algorithm or a critical path algorithm to generate an execution schedule and calculate one or more processor idle times for the transformation of the business data in the one or more tables;
based on the calculated one or more processor idle times:
determining whether or not to execute a local optimization algorithm; and
based on the determination, modifying the generated execution schedule for the transformation of the business data; and
execute the transformation of the business data based on the generated execution schedule that optimizes a time consumed for transformation of the business data in the one or more tables.

### Claim 16 (depends on 15)

The non-transitory computer readable storage medium of claim 15, further comprising: when the historical execution time for the transformation of the business data does not exist, executing an estimation algorithm to generate the estimated execution time for the transformation of the business data.

### Claim 17 (depends on 15)

The non-transitory computer readable storage medium of claim 15, further comprising: when the estimation algorithm is executed:
determine number of records in the one or more tables;
determine the execution time of one or more records by executing a test run on the one or more tables for transforming the business data, and
dynamically modifying the generated estimated execution time to optimize the time consumed for transforming the business data.

### Claim 18 (depends on 17)

The non-transitory computer readable storage medium of claim 17, further comprising: when the decrease time algorithm is executed:
upon determining the existence of the execution time, sorting the execution time in a descending order; and
based on the sorted execution time, rearranging the one or more tables between the one or more processors to generate the execution schedule for transforming the business data.

### Claim 19 (depends on 15)

The non-transitory computer readable storage medium of claim 15, further comprising: when the critical path algorithm is executed:
upon generating a precedence graph for the one or more tables based on the determined dependencies between the one or more tables;
from the precedence graph, computing one or more critical paths between the one or more tables based on a descending order of the one or more execution time associated with one or more tables for the transformation of the business data; and
based on the computed critical paths, generating a priority list to including the execution schedule for transformation of the business data.

### Claim 20 (depends on 15)

The non-transitory computer readable storage medium of claim 15, further comprising: when the local optimization algorithm is executed:
determining the one or more processor idle times in the one or more processors; and
based on the determined one or more processor idle times and the dependencies between the one or more tables, determining whether or not to rearrange the one or more tables between the one or more processors for transforming the business data.
