Industrial IDE Logic View Updates Using Hash Diffing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current approaches to identifying modifications in industrial control programs within unidirectional data flow architectures are inefficient, consuming significant bandwidth and processing resources due to the need to transmit and compare entire object models, leading to suboptimal update management in collaborative development environments.

Innovation Solution

The use of a hashing component to generate hash values from a text model of the control program, combined with a patience difference algorithm, allows for efficient identification of modified program segments, reducing the need for full object model transmission and minimizing processing overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If entire object models are transmitted and compared to identify modifications, then modification detection is achieved, but bandwidth consumption and processing resources increase significantly

Engineering Contradiction:
Improvemodification detection accuracyVSAvoidbandwidth consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent extracts only the essential identifying features (hash values) from the complete object models. Instead of transmitting and comparing entire object models, the system generates hash values that represent the essential state of program elements, thereby achieving modification detection while significantly reducing data transmission requirements

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent transforms the object model representation from detailed structural data to condensed hash value parameters. By changing the parameter representation from full object models to hash values, the system maintains the ability to detect modifications while reducing the amount of data that needs to be transmitted and processed

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If entire object models are transmitted and compared to identify modifications, then modification detection is achieved, but processing resources are consumed significantly

Engineering Contradiction:
Improvemodification detection accuracyVSAvoidprocessing resources
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent extracts only the essential identifying features (hash values) from the complete object models. Instead of comparing entire object models which requires substantial processing resources, the system compares compact hash values, thereby achieving modification detection while significantly reducing computational requirements

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses hash values as simplified copies or representations of the complete object models. These hash copies contain sufficient information to detect modifications without requiring the full object model data to be processed, thereby reducing computational overhead while maintaining detection accuracy

Inventive Principle:
Principle #26Copying

3Reliability

If full object models are transmitted for updates, then update completeness is ensured, but communication bandwidth is wasted

Engineering Contradiction:
Improveupdate completenessVSAvoidcommunication bandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts only the modified portions of the object model by comparing hash values before and after changes. Instead of transmitting complete object models to ensure update completeness, the system identifies and transmits only the specific elements that have changed, thereby maintaining reliability while reducing bandwidth consumption

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the object model into individual program elements (statements, expressions, literals) and processes them independently. By segmenting the model and using hash values for each element, the system can identify and transmit only the specific segments that have been modified, ensuring update completeness for changed portions while avoiding transmission of unchanged segments

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4137938B1Efficient client updates using patience difference algorithm in a unidirectional data flow architecture for industrial automation design
Publication Date: 2026.01.28 ROCKWELL AUTOMATION TECH INC
  • EP4137938B1 patent drawingFigure 1
  • EP4137938B1 patent drawingFigure 2
  • EP4137938B1 patent drawingFigure 3

AI summary

An industrial integrated development environment (IDE) identifies modifications to an industrial control program using a combination of program hashing and text differencing. The system performs deep-level hashing of the control program's text model to obtain hash data comprising rung-level hash values that collectively represent the current state of the program. When edits to the program are received, the modified text model is hashed again to yield modified hash data, and differencing analysis is performed on the initial and modified hash data. Differences between the two sets of hash values are used to identify portions of the control program that have been modified so that the targeted updates to a logic view of the program can be implemented. This allows the logic view to be updated without redrawing the entire view, and without the need to store multiple copies of the program's object model for comparison purposes.