Event-Driven System Selective Computation Consumer Listening

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Event-driven systems face challenges in efficiently managing processing resources, leading to either increased latency or higher costs due to compute peaks when generating events in real-time, as they need to perform a large number of computations in response to incoming data elements.

Innovation Solution

An event-driven system that selectively generates events based on the presence of consumers listening for them and the relative importance of the events, deferring computations for less important events until a threshold number of consumers are listening or during off-peak times, thereby conserving processing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If real-time or near real-time event generation is performed, then event delivery timeliness is improved, but processing resource consumption increases substantially due to compute peaks

Engineering Contradiction:
Improveevent generation latencyVSAvoidprocessing resource consumption
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts event generation timing based on consumer presence. When consumers are listening for events, the system generates events in real-time or near real-time. When no consumers are present, event generation is deferred to off-peak times, thereby adapting processing resource usage to actual demand and reducing compute peaks while maintaining timely delivery when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary identification of events that could be generated from incoming data elements, but delays the actual computation and generation until consumers are present. This allows the system to prepare event candidates in advance without immediately consuming processing resources, reducing compute peaks while ensuring events are ready for timely delivery when consumers arrive.

Inventive Principle:
Principle #10Preliminary action

2Use of energy by moving object

If batch-based computations are performed on all incoming data elements, then processing resource requirements are reduced, but event generation latency increases

Engineering Contradiction:
Improveprocessing resource consumptionVSAvoidevent generation latency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system performs partial event generation - only generating events when consumers are present to listen for them. Instead of batch-processing all possible events regardless of consumer presence, the system selectively generates events based on actual consumer demand, reducing processing resource consumption while maintaining timely delivery for relevant events.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically switches between immediate event generation (when consumers are present) and deferred batch processing (when consumers are absent). This dynamic approach allows the system to optimize between real-time performance and resource efficiency based on actual consumer presence, rather than committing to a fixed batch-processing schedule.

Inventive Principle:
Principle #15Dynamics

3Use of energy by moving object

If computations are deferred until consumers begin listening for events, then processing resources are conserved by reducing compute peaks, but some events experience increased latency

Engineering Contradiction:
Improveprocessing resource consumptionVSAvoidevent generation latency
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system performs preliminary identification and buffering of events that could be generated from incoming data elements, but delays actual computation until consumers are present. This preliminary action ensures events are ready to be generated quickly when consumers arrive, reducing the perceived latency while still conserving processing resources during off-peak periods when no consumers are listening.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10379907B2Event-driven system and method for selectively performing computations
Publication Date: 2019.08.13 CHANGE HEALTHCARE HOLDINGS LLC
  • US10379907B2 patent drawing
  • US10379907B2 patent drawing
  • US10379907B2 patent drawing

AI summary

An event-driven system, method and computer program product are provided to selectively generate events in response to receipt of data elements. The event-driven system includes processing circuitry configured to identify, in response to receipt of one or more data elements, an event that is impacted by the one or more data elements. The processing circuitry is also configured to determine whether at least a threshold number of consumers are currently listening for the event. In an instance in which at least a threshold number of consumers are currently listening for the event, the processing circuitry is configured to perform one or more computations based upon the one or more data elements to generate the event. Otherwise, however, the processing circuitry is configured to at least defer the one or more computations that would be performed upon the one or more data elements to generate the event.