Listener Service Event Capture Reducing CPU Usage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional automation software faces inefficiencies in monitoring changes within target applications due to high processing resource consumption, potential loss of change events, and lack of integration with selectors, leading to missed events and processor-intensive polling.

Innovation Solution

A listener service is implemented to provide event listeners specific to target applications, capturing change events and optimizing event management by integrating with selectors, ensuring notifications for opening, closing, and changing window events, thus reducing CPU usage and preventing event losses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional automation software continuously polls values from text fields to monitor changes, then change detection capability is improved, but processing resource consumption increases significantly

Engineering Contradiction:
Improvechange detection capabilityVSAvoidprocessing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The application itself provides change notification through built-in event listening mechanisms (such as Windows Message Queue, .NET Events, or JavaScript event listeners). The automation software simply subscribes to these events and receives notifications when changes occur, eliminating the need for continuous polling and significantly reducing processing resource consumption.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the mechanical polling system (periodically checking values) with an event-driven notification system. Instead of actively searching for changes through continuous polling, the system passively receives notifications when changes occur, substituting a reactive mechanism with a proactive one that consumes far fewer resources.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Measurement precision

If conventional automation software polls values frequently to catch fast changes, then change event capture accuracy is improved, but processor intensity increases

Engineering Contradiction:
Improvechange event capture accuracyVSAvoidprocessor intensity
Core Design Contradiction:
Measurement precisionVSPower

Solution Approach 1:

The system establishes a feedback mechanism where the application automatically notifies the automation software when changes occur. This feedback loop ensures that change events are captured accurately without requiring frequent polling, as the notification system provides immediate feedback about state changes through event subscriptions.

Inventive Principle:
Principle #23Feedback

3Reliability

If conventional automation software uses listeners to identify change events, then event detection is improved, but integration with selectors is lacking causing event loss

Engineering Contradiction:
Improveevent detectionVSAvoidevent loss
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent merges the event listening mechanism with the selector system by allowing selectors to directly subscribe to change events in the application. This integration ensures that selectors can detect changes in real-time and propagate these changes through the automation workflow, eliminating event loss that occurs when listeners are separate from the selector framework.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20240202050A1User interface automation and monitoring integrating application event listeners
Publication Date: 2024.06.20 UIPATH INC
  • US20240202050A1 patent drawing
  • US20240202050A1 patent drawing
  • US20240202050A1 patent drawing

AI summary

A method is provided. The method is executed by a listener service implemented as a computer program executed by a processor. The listener service provides event listeners for change event management. The method includes initiating the event listeners specific to a target application and specifying change events for the event listeners that occur in the target application. The method also includes receiving, by the listener service from the event listeners, the change events in the target application, based on the specified change events, to capture the change events.