Event Processing Timeout and Retry Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Event-driven computing services face issues with processing delays and errors due to timeout restrictions, leading to stagnation when multiple events occur consecutively, as the system retries processing until the previous event is deleted from the stream, causing subsequent events to be skipped until the deletion occurs, and lack of timely error notifications.

Innovation Solution

Implement a system that manages events for a specified time length, retrying event processing if the time difference between the current time and the event occurrence time is within a shorter time frame, and execute failure notifications if the time difference exceeds this frame, ensuring timely processing and error notification without prolonged delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the event-driven computing service retries processing of stream events until the event is deleted from the stream, then the processing reliability is improved, but the system becomes stuck for a long period of time when an error occurs

Engineering Contradiction:
Improveprocessing reliabilityVSAvoidprocessing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by introducing a timeout mechanism that preemptively stops retry operations after a predetermined period. The event-driven computing service is configured to terminate retry processing when the elapsed time since event occurrence exceeds the timeout threshold, preventing indefinite stagnation while maintaining reliability within acceptable time bounds.

Inventive Principle:
Principle #10Preliminary action

2Stability of the object's composition

If the event-driven computing service processes stream events in chronological order, then the processing order is maintained, but subsequent events cannot be processed until the previous event is deleted from the stream

Engineering Contradiction:
Improveprocessing orderVSAvoidevent processing throughput
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the event processing into independent time-bounded units. Each stream event is processed with its own timeout threshold, allowing the system to segment the processing stream so that failed events do not block subsequent events. The event loop continues to iterate through the stream, processing events that meet the timeout criteria independently of ongoing retries for previous events.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If the event-driven computing service executes program code in response to stream events, then the event processing functionality is provided, but timeout errors occur when processing exceeds the specified time limit

Engineering Contradiction:
Improveevent processing capabilityVSAvoidprocessing success rate
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies dynamics by making the retry behavior adaptive based on time elapsed. The system dynamically adjusts processing behavior by comparing the current time with the event occurrence time and the timeout threshold. This dynamic time-based control allows the service to maintain versatility in processing various event types while improving reliability by abandoning excessively long-running events that are unlikely to complete successfully.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11442812B2System and method
Publication Date: 2022.09.13 CANON KK
  • US11442812B2 patent drawing
  • US11442812B2 patent drawing
  • US11442812B2 patent drawing

AI summary

If processing of a first event in response to a stream event is not normally ended due to an occurrence of an exception or a timeout, the processing is executed repeatedly during a predetermined period of time from an occurrence of the first event. Then, after the predetermined period of time passes, an error notification is issued while processing of a second event that has occurred during the predetermined period of time is executed only once.