Software Robot Change Detection via Screen Fingerprinting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Robotic process automation (RPA) systems face challenges when interacting with software applications through user interfaces, as changes to these interfaces can cause software robots to fail in execution, necessitating improved methods for detecting changes to ensure reliability and flexibility.

Innovation Solution

A system and method for detecting changes in application programs used by software robots, involving the generation of design-time and execution-time fingerprints of application screens, with comparison to determine if changes have occurred, and providing notifications for potential updates or recreations of software robots.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If software robots interact with software applications through user interfaces, then automation of repetitive tasks is enabled, but execution fails when user interfaces are changed

Engineering Contradiction:
Improveautomation of repetitive tasksVSAvoidexecution reliability
Core Design Contradiction:
Extent of automationVSReliability

Solution Approach 1:

The system performs preliminary actions by generating fingerprints of application screens during design time and storing them for later comparison. This advance preparation enables the system to detect interface changes before they cause execution failures, allowing proactive adaptation rather than reactive failure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously comparing execution-time fingerprints with stored design-time fingerprints to detect changes in application interfaces. This feedback loop enables the system to monitor for changes and trigger notifications or updates, maintaining reliability despite interface modifications.

Inventive Principle:
Principle #23Feedback

2Ease of manufacture

If software robots are created with fixed user interface interactions, then initial execution is simple, but updates are required when interfaces change

Engineering Contradiction:
Improveease of robot creationVSAvoidadaptability to interface changes
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The system creates a digital copy of the application interface state in the form of a fingerprint during design time. This copy serves as a reference model that can be compared against future states, enabling the system to detect changes without requiring complete redesign of the robot when interfaces are modified.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system transitions from a static robot design to a dynamic system that can adapt to interface changes. By implementing change detection through fingerprint comparison, the robot can be automatically updated or notified when its underlying interface changes, providing versatility without sacrificing ease of initial creation.

Inventive Principle:
Principle #15Dynamics

3Reliability

If change detection is implemented through fingerprint comparison, then reliability is improved, but system complexity increases

Engineering Contradiction:
Improveexecution reliabilityVSAvoidchange detection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts the essential characteristics of the application interface into a condensed fingerprint representation. By taking out only the critical identifying features rather than analyzing the entire interface, the system achieves reliable change detection with minimal complexity and computational overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system uses simple, lightweight fingerprint objects that are inexpensive to generate and compare. These disposable-like fingerprint structures provide sufficient information for change detection without requiring complex, resource-intensive analysis mechanisms, maintaining simplicity while improving reliability.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS20240256227A1Software robots with change detection for utilized application programs
Publication Date: 2024.08.01 AUTOMATION ANYWHERE INC
  • US20240256227A1 patent drawing
  • US20240256227A1 patent drawing
  • US20240256227A1 patent drawing

AI summary

Systems and methods for evaluating whether software robots need to be updated due to changes in underlying application programs upon which the software robots operate. According to one embodiment, during creation of a software robot, a fingerprint for a screen of an application program being utilized by the software robot can be generated and stored. Then, later during execution of the software robot, a fingerprint for the screen of the application program can be again generated and compared with the stored fingerprint. If the fingerprints do not match, then the screen of the application program can be determined to have changed. When one or more of the screens of the application program have changed, the software robot may no longer execute correctly with the application program. In such case, the system and method can recommend that that the software robot be recreated.