Event Path Vector Prevents Circular Publication in Pub-Sub Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In publish/subscribe models, circular event publication occurs when an information producer also consumes events, leading to infinite loops and unnecessary updates, as components may subscribe to and publish events in response to each other, causing inefficiencies and potential system crashes.

Innovation Solution

Implementing an event path vector that includes an identifier associated with the publishing entity in the event payload, allowing consuming entities to check if their own identifier is present in the vector, and if so, drop the event to prevent circular propagation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a component publishes a change event and also subscribes to the same event type, then the component can respond to its own changes, but circular event publication occurs causing infinite loops

Engineering Contradiction:
Improvecomponent self-response capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The publishing entity adds its identifier to the event path vector before publishing the event. This preliminary action enables the consuming entity to detect circular references in advance by checking whether its own identifier already exists in the path vector, preventing infinite loops before they occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The event path vector serves as an intermediary data structure that carries identifier information through the event publication chain. It mediates between the publishing entity and consuming entity by providing a mechanism to track and detect circular references without requiring direct communication or complex coordination between entities.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If event path vector checking is implemented to prevent circular publication, then system stability improves, but event processing overhead increases

Engineering Contradiction:
Improvesystem stabilityVSAvoidevent processing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs a partial check by only examining whether the consuming entity's own identifier exists in the path vector, rather than analyzing the entire event propagation chain. This selective approach provides sufficient protection against circular publication while minimizing processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Each consuming entity independently checks its own identifier against the event path vector without requiring external validation or coordination. This self-service mechanism distributes the validation workload across all entities, eliminating the need for a centralized validation system and reducing overall processing complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10242083B2Prevention of circular event publication in publish/subscribe model using path vector
Publication Date: 2019.03.26 OPEN TEXT CORP
  • US10242083B2 patent drawing
  • US10242083B2 patent drawing
  • US10242083B2 patent drawing

AI summary

Techniques to prevent circular event publication are disclosed. In various embodiments, a change in an entity's own value is detected. A change event is published based at least in part on the detected change, including by associating with the change event an event path vector that includes an identifier associated with the entity.