Reactive Publisher Concatenation With O(1) Memory Backpressure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Reactive computing environments face challenges in maintaining a constant memory footprint while concatenating publishers due to the ABA problem, where updates may not notice changes from A to B and back to A, leading to complex state management and potential performance issues.

Innovation Solution

A system and method for providing a constant memory footprint concatenating reactive publisher using atomic request counters and extended request ranges to manage state transitions, ensuring timely delivery and reducing buffering needs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If atomic request counters and extended request ranges are used to manage state transitions, then memory footprint is reduced to O(1), but the complexity of handling negative values and atomic operations increases

Engineering Contradiction:
Improvememory footprintVSAvoidstate management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent changes the parameter range of request counters from non-negative to including negative values. This parameter change allows the system to encode multiple states (current publisher, completion status, cancellation status) within the counter itself, eliminating the need for separate state variables and reducing memory footprint to constant space while managing complexity through mathematical encoding

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The request counter serves multiple functions simultaneously: tracking the current publisher index, indicating completion status, signaling cancellation, and managing backpressure. This multi-functionality consolidates what would traditionally require multiple separate data structures into a single atomic counter, achieving O(1) memory footprint while handling diverse state management needs

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Quantity of substance

If buffering is reduced to minimize memory usage, then memory footprint decreases, but the ability to handle concurrent requests and maintain state coordination becomes more difficult

Engineering Contradiction:
Improvememory footprintVSAvoidstate coordination reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent replaces the mechanical buffering system with an atomic counter-based coordination mechanism. Instead of using buffers to serialize and coordinate access to shared state, the system uses atomic read-modify-write operations on extended-range counters that encode all necessary state information, achieving both low memory usage and reliable coordination through atomic operations

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

Solution Approach 2:

The extended-range atomic counter acts as an intermediary that mediates between multiple publishers and subscribers without requiring buffers. The counter's encoded state provides the necessary coordination information to all parties atomically, enabling reliable state coordination in a lock-free manner with constant memory footprint

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If lock-free and non-blocking operations are used to improve concurrency, then throughput increases, but the complexity of managing ABA problems and ensuring atomic state transitions increases

Engineering Contradiction:
Improveconcurrency throughputVSAvoidatomic operation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent adds a temporal dimension to the state representation by using negative values in the counter to indicate completion and cancellation states that occur after the publisher sequence ends. This dimensional extension of the counter range allows the system to encode the full lifecycle state (active, completed, cancelled) without requiring additional locks or blocking mechanisms, maintaining high concurrency while managing ABA problems through the counter's inherent state encoding

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP4237948B1Concatenating reactive publisher for use with a microservices or other computing environment
Publication Date: 2026.04.08 ORACLE INT CORP
  • EP4237948B1 patent drawingFigure 1
  • EP4237948B1 patent drawingFigure 2
  • EP4237948B1 patent drawingFigure 3

AI summary

In accordance with an embodiment, described herein is a system and method for providing a concatenating reactive publisher, for use with microservices or reactive programming environments. A Publisher provides a Subscriber with a Subscription that supports requests of an amount up to a particular value. The Publisher can keep track of a requested number of items. When concatenating output from multiple Publishers, the switch between the output of one Publisher, and that of the next, may involve keeping track of new states. The described approach supports the requirement to maintain an amount of requests, by using request counters to maintain the necessary state, heed backpressure, and deliver requests as soon as they are issued by the Subscriber owning the Subscription.