Multi-Flat-Map Publisher for Microservices Event Stream Flattening

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microservices environments face challenges in efficiently processing streams of data from multiple publishers due to performance issues related to real-time processing and resource management, particularly in traditional message-driven environments where buffering can lead to inefficiencies.

Innovation Solution

A multi-flat-map publisher component is introduced to abstract execution away from thread dependencies, providing rigorous coordination of state transitions by concurrently flattening events from multiple publishers into a single stream for downstream subscribers, utilizing a ticket lock for serialization and inner queues for efficient resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional message-driven environments with buffering are used to process streams from multiple publishers, then data can be accumulated and managed, but performance issues arise due to inefficiencies in real-time processing and resource management

Engineering Contradiction:
Improvereal-time processing efficiencyVSAvoidresource management inefficiency
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent segments the stream processing system into distinct functional components: multiple publisher components, a flattening map component, and subscriber components. Each publisher independently emits events to the flattening map, which concurrently processes and merges events from multiple sources without traditional buffering. This segmentation enables efficient real-time processing by eliminating bottlenecks associated with centralized buffer management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The flattening map component dynamically coordinates state transitions and event merging from multiple publishers concurrently. It adapts to varying event rates from different publishers by dynamically managing the merging process, allowing the system to maintain high productivity under varying load conditions without wasting computational resources on fixed buffering infrastructure.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If events from multiple publishers are concurrently merged into a single stream, then downstream subscribers receive comprehensive data, but coordination of state transitions and event ordering becomes complex

Engineering Contradiction:
Improvestream consolidation capabilityVSAvoidcoordination mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The flattening map component serves as an intermediary between multiple publishers and downstream subscribers. It receives events from multiple publishers, coordinates the merging of these events into a single consolidated stream, and forwards the merged events to subscribers. This intermediary approach simplifies the overall system architecture by centralizing the coordination logic in one component rather than requiring complex peer-to-peer coordination between publishers and subscribers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The flattening map component performs multiple functions: it merges events from multiple publishers, maintains event ordering, coordinates state transitions, and handles error propagation. By consolidating these diverse functions into a single universal component, the patent reduces overall system complexity while maintaining comprehensive stream consolidation capability.

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

3Reliability

If rigorous coordination of state transitions is implemented, then correct event ordering and error handling are maintained, but processing latency may increase

Engineering Contradiction:
Improveevent ordering accuracyVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The flattening map component is designed with pre-established coordination mechanisms for state transitions and event merging. By setting up the coordination framework in advance, the component can efficiently process events without requiring complex runtime negotiations or additional synchronization overhead, thus maintaining reliability while minimizing latency.

Inventive Principle:
Principle #10Preliminary action

4Ease of operation

If buffering is used to manage data streams, then resource management is simplified, but real-time processing performance deteriorates

Engineering Contradiction:
Improveresource management simplicityVSAvoidreal-time processing throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the buffering function from the traditional message-driven architecture and replaces it with a direct event streaming approach through the flattening map. By removing the buffer layer, the system achieves simpler resource management (no buffer allocation, memory management, or flush operations) while simultaneously improving real-time processing throughput through direct event forwarding from publishers to subscribers.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11822924B2System and method for reactive flattening map for use with a microservices or other computing environment
Publication Date: 2023.11.21 ORACLE INT CORP
  • US11822924B2 patent drawing
  • US11822924B2 patent drawing
  • US11822924B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for providing a reactive flattening map for use with a microservices or other computing environment. In a cloud computing environment, reactive programming can be used with publishers and subscribers, to abstract execution away from the thread of execution while providing rigorous coordination of various state transitions. The described approach provides support for processing streams of data involving one or more publishers and subscribers, by use of a multi-flat-map publisher component, to flatten or otherwise combine events emitted by multiple publishers concurrently, into a single stream of events for use by a downstream subscriber.