# US 2023/0053594 A1 · Distributive deployment of process automation software applications

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

- Number: US 2023/0053594 A1
- Document ID: US20230053594A1
- Status: Published application
- Kind: A1
- Application number: 17/407,788
- Filed: 2021-08-20
- Published: 2023-02-23
- Earliest claimed: 2021-08-20
- Assignees: Yokogawa Electric Corporation
- Applicants: Yokogawa Electric Corporation
- Inventors: Hidenori SAWAHARA; Ichiro WAKE; Patrick CLAY; Vien NGUYEN; Dave EMERSON; Mark HAMMER
- Web page: https://patentgrep.com/patent/US20230053594A1

## CPC

- H04L 47/788: {Autonomous allocation of resources}
- H04L 47/724: at intermediate nodes, e.g. resource reservation protocol [RSVP]
- H04L 47/821: {Prioritising resource allocation or reservation requests}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Implementations are described herein for automatic deployment of function block application programs (FBAPs) across process automation nodes of a process automation system. In various implementations, one or more constraints associated with execution of a FBAP may be identified. Based on the one or more constraints, a process automation system that includes a plurality of process automation nodes may be analyzed. Based on the analysis, a subset of two or more process automation nodes on which to distributively deploy the FBAP may be selected from the plurality of processing node. In response to selecting the subset, the FBAP may be distributively deployed across the two or more process automation nodes of the subset.

## Claims

### Claim 1

A method implemented using one or more processors, comprising:
identifying one or more constraints associated with execution of a process automation software application (FBAP);
analyzing, based on the one or more constraints, a process automation system that includes a plurality of process automation nodes;
based on the analyzing, selecting a subset of two or more process automation nodes, from the plurality of processing nodes, on which to distributively deploy the FBAP; and
in response to selecting the subset:
distributively deploying the FBAP across the two or more process automation nodes of the subset.

### Claim 2 (depends on 1)

The method of claim 1, further comprising assembling the FBAP into a plurality of function blocks, wherein the distributively deploying includes installing a respective one of the plurality of function blocks on an execution engine of a respective one of the two or more process automation nodes of the subset.

### Claim 3 (depends on 2)

The method of claim 2, wherein the assembling includes generating one or more communication modules for each of the plurality of respective function blocks, the one or more communication modules facilitating publishing or subscribing of data between the plurality of function blocks.

### Claim 4 (depends on 1)

The method of claim 1, wherein the one or more constraints associated with execution of the FBAP include a limit on a number of process automation nodes on which the FBAP can be distributively deployed.

### Claim 5 (depends on 4)

The method of claim 4, wherein the limit on the number of process automation nodes is determined based available computing resources of the plurality of process automation nodes.

### Claim 6 (depends on 1)

The method of claim 1, wherein the one or more constraints associated with execution of the FBAP include a time limit for execution of a control loop that includes or is implemented by the FBAP.

### Claim 7 (depends on 1)

The method of claim 1, wherein the one or more constraints associated with execution of the FBAP include one or more location constraints.

### Claim 8 (depends on 7)

The method of claim 7, wherein one or more of the location constraints are imposed between two or more function blocks of the FBAP.

### Claim 9 (depends on 7)

The method of claim 7, wherein one of the location constraints include a maximum physical distance between a first process automation node of the subset and another process automation node.

### Claim 10 (depends on 9)

The method of claim 9, further comprising determining the maximum physical distance based on a communication protocol used between the first process automation node of the subset and the another process automation node.

### Claim 11 (depends on 9)

The method of claim 9, wherein the another process automation node comprises a sensor that generates sensor data that is processed by the FBAP.

### Claim 12 (depends on 7)

The method of claim 7, wherein one of the location constraints include a maximum number of network hops between a first process automation node of the subset and another process automation node.

### Claim 13 (depends on 7)

The method of claim 7, wherein one of the location constraints include a maximum number of network hops between a first process automation node of the subset and a sensor that generates sensor data that is processed by the FBAP.

### Claim 14 (depends on 7)

The method of claim 7, wherein one of the location constraints include a maximum number of smart junction boxes between a first process automation node of the subset and another process automation node.

### Claim 15 (depends on 7)

The method of claim 7, wherein one of the location constraints include a requirement that a first process automation node of the subset and another process automation node be co-located in a room of a process automation facility in which at least part of the process automation system is implemented.

### Claim 16 (depends on 1)

The method of claim 1, wherein the analyzing includes:
identifying a first candidate process automation node of the plurality of process automation nodes that satisfies one or more of the constraints associated with execution of the FBAP;
evaluating actual or potential exhaustion of computing resources of the first candidate process automation node;
based on the evaluating, selecting, as at least one of the subset of two or more process automation nodes, another process automation node having the closest spatial or network relationship to the first candidate process automation node.

### Claim 17 (depends on 1)

The method of claim 1, wherein the FBAP comprises a first FBAP of a plurality of FBAPs to be deployed among the plurality of process automation nodes, and the method further comprises:
ranking the plurality of FBAPs based on respective priorities of the plurality of FBAPs; and
selecting, for each of the plurality of FBAPs in an order determined based on the ranking, a respective subset of the plurality of process automation nodes on which to distributively deploy the FBAP.

### Claim 18

A system comprising one or more processors and memory storing instructions that, in response to execution of the instructions by the one or more processors, cause the one or more processors to:
identify one or more constraints associated with execution of a process automation software application (FBAP);
analyze, based on the one or more constraints, a process automation system that includes a plurality of process automation nodes;
based on the analysis, select a subset of two or more process automation nodes, from the plurality of processing nodes, on which to distributively deploy the FBAP; and
in response to selection of the subset:
distributively deploy the FBAP across the two or more process automation nodes of the subset.

### Claim 19 (depends on 18)

The system of claim 18, further comprising instructions to:
assemble the FBAP into a plurality of function blocks, wherein the distributively deployment includes installation of a respective one of the plurality of function blocks on an execution engine of a respective one of the two or more process automation nodes of the subset; and
generate one or more communication modules for each of the plurality of respective function blocks, the one or more communication modules facilitating publishing or subscribing of data between the plurality of function blocks.

### Claim 20

A system comprising one or more processors and memory storing instructions that, in response to execution of the instructions by the one or more processors, cause the one or more processors to:
identify a plurality of function blocks that cooperate to implement a control loop within a process automation system, as well as one or more constraints of the control loop;
analyze a plurality of candidate distributed control nodes (DCNs) of the process automation system to identify a subset of two or more DCNs, from the plurality of candidate DCNs, that collectively satisfy the one or more constraints of the control loop; and
distributively deploy the plurality of function blocks across execution engines provided by the two or more DCNs of the subset.
