# US 12,222,706 B2 · Adapting data models for data communication to external platforms

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

- Number: US 12,222,706 B2
- Document ID: US12222706B2
- Status: Granted
- Kind: B2
- Application number: 18/597,757
- Filed: 2024-03-06
- Published: 2024-06-27
- Granted: 2025-02-11
- Earliest claimed: 2020-05-08
- Assignees: Rockwell Automation Technologies, Inc.
- Applicants: Rockwell Automation Technologies, Inc.
- Inventors: Dale A. Hawthorne; Stephen C. Briant; Nicholas J. Marangoni
- Web page: https://patentgrep.com/patent/US12222706B2

## CPC

- G05B 19/4185: {characterised by the network communication}
- G06F 16/906: Clustering; Classification
- G05B 19/4183: {characterised by data acquisition, e.g. workpiece identification}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 16/2282: {Tablespace storage structures; Management thereof}
- G06F 16/284: {Relational databases}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- G05B: CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS (systems for controlling or regulating non-electric variables G05D; systems for regulating electric or magnetic variables G05F; control devices or systems insofar as characterised by mechanical features only G05G)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An adapter of a common gateway platform associated with an industrial automation system is described for communicating data acquired from various devices using a data model of the common gateway platform with external components using various data models. The computing device may determine a relationship between datasets of the native data model and datasets of an external component based on obtaining an application programming interface (API) and/or software development kit (SDK) of the external component. Accordingly, the adapter may enable the common gateway platform to interact with the external component by providing functionalities of the external component as native functions of the computing device. That is, the adapter may provide functions to connect, create, read, write, update, delete, run commands and queries, and disconnect from the external component using native commands and actions of the common gateway platform.

## Claims

### Claim 1

A tangible, non-transitory, machine-readable medium, comprising machine-readable instructions that, when executed by a processor of an industrial automation system, cause the processor to perform actions comprising:
receiving a request to transmit a first dataset to an external component communicatively coupled to the processor, the first dataset having a first data structure;
receiving an indication of a second data structure associated with the external component;
determining a relationship between the first data structure and the second data structure;
converting the first dataset into a second dataset structured according to the second data structure based on the relationship; and
transmitting the second dataset to the external component.

### Claim 2 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to receive an application program interface (API) or a software development kit (SDK) of the external component comprising the indication of the second data structure.

### Claim 3 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to determine the relationship between the first data structure and the second data structure by generating a table representative of one or more associations between the first data structure and the second data structure.

### Claim 4 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to determine the relationship by determining one or more related variable names, related operations, related functions, or related data types between the first data structure and the second data structure.

### Claim 5 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to generate an endpoint component based on the relationship, wherein the endpoint component is configured to convert the first dataset into the second dataset.

### Claim 6 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, wherein the processor is configured to communicatively couple to the external component via a WebSocket.

### Claim 7 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, wherein the machine-readable instructions, when executed by a processor, cause the processor to receive raw data from one or more control systems of the industrial automation system and generate the first dataset based on the raw data and the first data structure.

### Claim 8 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, comprising the first data structure stored thereon, wherein the processor is configured to store the first dataset based on the first data structure.

### Claim 9 (depends on 1)

The tangible, non-transitory, machine-readable medium of claim 1, wherein the first data structure comprises a first hierarchical representation of the first dataset corresponding to the first dataset, the second data structure comprises a second hierarchical representation of the first dataset corresponding to the second dataset, and wherein the machine-readable instructions, when executed by a processor, cause the processor to map at least a portion of the first hierarchical representation of the first dataset to the second hierarchical representation of the first dataset.

### Claim 10

An industrial automation system, comprising:
a plurality of devices configured to perform industrial automation system operations;
a processor configured to:
receive a request to transmit a first dataset to an external component communicatively coupled to the processor, the first dataset having a first data structure;
receive an indication of a second data structure associated with the external component;
detecting a second data structure of one or more datasets associated with the external component;
determine a relationship between the first data structure and the second data structure; and
generate a second dataset by converting the first dataset into a second dataset structured according to the second data structure based on the relationship.

### Claim 11 (depends on 10)

The industrial automation system of claim 10, wherein the processor is configured to receive an application program interface (API) or a software development kit (SDK) of the external component comprising the indication of the second data structure.

### Claim 12 (depends on 10)

The industrial automation system of claim 10, wherein the processor is configured to determine the relationship between the first data structure and the second data structure by generating a table representative of one or more associations between the first data structure and the second data structure.

### Claim 13 (depends on 10)

The industrial automation system of claim 10, wherein the processor is configured to generate an endpoint component based on the relationship, wherein the endpoint component is configured to convert the first dataset into the second dataset and transmit the second dataset to the external component.

### Claim 14 (depends on 10)

The industrial automation system of claim 10, wherein the processor is configured to receive raw data from one or more of the plurality of devices and generate the first dataset based on the raw data and the first data structure, wherein the first data structure comprises a first hierarchical representation of the first dataset.

### Claim 15

A method, comprising:
receiving, by a computing device of an industrial automation system, a request to transmit a first dataset to an external component communicatively coupled to the computing device, the first dataset having a first data structure;
receiving, by the computing device, an indication of a second data structure associated with the external component;
determining, by the computing device, a relationship between the first data structure and the second data structure;
converting, by the computing device, the first dataset into a second dataset structured according to the second data structure based on the relationship; and
transmitting, by the computing device, the second dataset to the external component.

### Claim 16 (depends on 15)

The method of claim 15, comprising receiving, by the computing device, raw data from one or more control systems of the industrial automation system and generating the first dataset based on the raw data and the first data structure.

### Claim 17 (depends on 15)

The method of claim 15, comprising receiving, by the computing device, an application program interface (API) or a software development kit (SDK) of the external component comprising the indication of the second data structure.

### Claim 18 (depends on 15)

The method of claim 15, comprising mapping, by the computing device, at least a portion of a first hierarchical representation of the first dataset associated with the first data structure to a second hierarchical representation of the first dataset associated with the second data structure.

### Claim 19 (depends on 15)

The method of claim 15, comprising generating, by the computing device, an endpoint component based on the relationship, wherein the endpoint component is configured to convert the first dataset into the second dataset.

### Claim 20 (depends on 15)

The method of claim 15, comprising determining, by the computing device, the relationship by determining one or more related variable names, related operations, related functions, or related data types between the first data structure and the second data structure.
