# US 10,768,906 B2 · Multi-technology visual integrated data management and analytics development and deployment environment

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

- Number: US 10,768,906 B2
- Document ID: US10768906B2
- Status: Granted
- Kind: B2
- Application number: 16/188,474
- Filed: 2018-11-13
- Published: 2019-03-14
- Granted: 2020-09-08
- Earliest claimed: 2016-01-12
- Assignees: Kavi Associates, LLC
- Applicants: Kavi Associates, LLC
- Inventors: Vijitha P. Kaduwela; Rajesh Inbasekaran
- Web page: https://patentgrep.com/patent/US10768906B2

## CPC

- G06F 8/34: Graphical or visual programming
- G06F 8/35: model driven
- G06F 8/36: Software reuse
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present disclosure relates to a system for providing a multi-technology visual integrated data management and analytics development and deployment environment. In an embodiment, the system is configured to generate executable code suitable to carry out a data analytics request using a first software platform, migrate executable code for the first software platform to a second software platform, and cause executable code to be processed on the first or second software platform to perform the data analytics request.

## Claims

### Claim 1

A system comprising a processor communicatively coupled to a non-transitory memory containing a program configured to call the processor to implement a backend services module communicatively coupled to a code generation fulfiller and execute the steps of:
creating, by the backend services module, a code generation request specifying an identity of a first software platform and a corresponding set of metadata comprising a plurality of nodes each corresponding to a respective one of a plurality of operations to be performed, a plurality of node properties for the plurality of nodes, and an execution order for the plurality of nodes, wherein the set of metadata is created in a logical format that is independent of a set of platforms comprising at least the first software platform and a second software platform that is different from the first software platform and the logical format is compatible with the set of platforms and is not a source code format specific to any of the set of platforms;
obtaining from a metadata server or creating, by the backend services module, the plurality of nodes in the logical format based on the code generation request, the plurality of nodes comprising at least one of a business rule node or a data quality node;
retrieving, by the code generation fulfiller, a plurality of code templates, each containing executable code and placeholders and corresponding to a respective one of the plurality of nodes, wherein the plurality of code templates is selected based on the identity of the first software platform and wherein the executable code is executable on the first software platform;
based on the execution order for the plurality of nodes, identifying, by the code generation fulfiller, parallel and dependent ones of said plurality of nodes and determining a node order sequence;
transforming, by the code generation fulfiller, the set of metadata into generated executable code capable of execution on the first software platform based on the plurality of code templates by merging the executable code of the plurality of code templates together based on the node sequence order; and
replacing, by the code generation fulfiller, the placeholders in the generated executable code based on the node properties.

### Claim 2 (depends on 1)

The system of claim 1, further comprising executing a target operation on a set of data stored on at least one of the set of platforms based on a logical definition of the business rule node.

### Claim 3 (depends on 1)

The system of claim 1, further comprising executing a data quality operation on a set of data stored on at least one of the set of platforms based on the data quality node.

### Claim 4 (depends on 3)

The system of claim 3, wherein the data quality operation is a validation operation that validates whether the set of data satisfies a predetermined quality condition.

### Claim 5 (depends on 3)

The system of claim 3, wherein the data quality operation is a standardization operation that manipulates a subset of the set of data to satisfy a data standardization requirement.

### Claim 6 (depends on 2)

The system of claim 2, wherein the target operation is an evaluation of the set of data based on at least one predetermined condition.

### Claim 7 (depends on 6)

The system of claim 6, wherein the at least one predetermined condition comprises at least two conditions that are interconnected.

### Claim 8 (depends on 2)

The system of claim 2, wherein the set of data comprises a first set of data comprising a first set of variables, the system further comprising mapping a second set of data to the business rule node, wherein the second set of data comprises a second set of variables that are different from the first set of variables.

### Claim 9 (depends on 4)

The system of claim 4, wherein a subset of the set of data fails the predetermined quality condition, the system further comprising executing a corrective operation on the subset to satisfy a validation requirement.

### Claim 10 (depends on 2)

The system of claim 2, wherein the target operation is an assignment of at least one value to a first subset of the set of data based on whether the first subset of data satisfies or fails to satisfy the logical definition of the business rule node.

### Claim 11

A computer implemented method performed on a system comprising a backend services module communicatively coupled to a code generation fulfiller, the method comprising:
creating a code generation request specifying an identity of a first software platform and a corresponding set of metadata comprising a plurality of nodes each corresponding to a respective one of a plurality of operations to be performed, a plurality of node properties for the plurality of nodes, and an execution order for the plurality of nodes, wherein the set of metadata is created in a logical format that is independent of a set of platforms comprising at least the first software platform and a second software platform that is different from the first software platform and the logical format is compatible with the set of platforms and is not a source code format specific to any of the set of platforms;
obtaining from a metadata server or creating the plurality of nodes in the logical format based on the code generation request, the plurality of nodes comprising at least one of a business rule node or a data quality node;
retrieving a plurality of code templates, each containing executable code and placeholders and corresponding to a respective one of the plurality of nodes, wherein the plurality of code templates is selected based on the identity of the first software platform and wherein the executable code is executable on the first software platform;
based on the execution order for the plurality of nodes, identifying parallel and dependent ones of said plurality of nodes and determining a node order sequence;
transforming the set of metadata into generated executable code capable of execution on the first software platform based on the plurality of code templates by merging the executable code of the plurality of code templates together based on the node sequence order; and
replacing the placeholders in the generated executable code based on the node properties.

### Claim 12 (depends on 11)

The method of claim 11, further comprising executing a target operation on a set of data stored on at least one of the set of platforms based on a logical definition of the business rule node.

### Claim 13 (depends on 11)

The method of claim 11, further comprising executing a data quality operation on a set of data stored on at least one of the set of platforms based on the data quality node.

### Claim 14 (depends on 13)

The method of claim 13, wherein the data quality operation is a validation operation that validates whether the set of data satisfies a defined quality condition.

### Claim 15 (depends on 13)

The method of claim 13, wherein the data quality operation is a standardization operation that manipulates a subset of the set of data to satisfy a data standardization requirement.

### Claim 16 (depends on 12)

The method of claim 12, wherein the target operation is an evaluation of the set of data based on at least one predetermined conditions.

### Claim 17 (depends on 16)

The method of claim 16, wherein the at least one predetermined conditions comprises at least two conditions that are interconnected.

### Claim 18 (depends on 12)

The method of claim 12, wherein the set of data comprises a first set of data comprising a first set of variables, the method further comprising mapping a second set of data to the business rule node, wherein the second set of data comprises a second set of variables that are different from the first set of variables.

### Claim 19 (depends on 14)

The method of claim 14, wherein a subset of the set of data fails the predetermined quality condition, the method further comprising executing a corrective operation on the subset to satisfy a validation requirement.

### Claim 20 (depends on 12)

The method of claim 12, wherein the target operation is an assignment of at least one value to a first subset of the set of data based on whether the first subset of data satisfies or fails to satisfy the logical definition of the business rule node.
