Stream Processing System for Real-Time Data Aggregation and Control Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing stream processing systems face maturity issues, leading to the need for customized solutions in large-scale data processors, particularly in addressing latency and resource management in real-time data processing for control loop feedback algorithms.

Innovation Solution

A stream processing system comprising a publish/subscribe and message queueing subsystem, integrated with an execution subsystem using Apache Kafka and Apache Hadoop YARN, which processes real-time transaction streams to aggregate data and provide input for control loop feedback processes, reducing latency and optimizing resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing stream processing systems are used, then basic data processing is possible, but latency is high and the systems are not mature enough for large-scale data processors

Engineering Contradiction:
Improvesystem maturityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system divides stream processing into separate specialized components: a publish/subscribe subsystem for message routing, a message queueing subsystem for buffering, and an execution subsystem for processing. This segmentation allows each component to be optimized independently, reducing overall latency while maintaining reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces message queues as intermediary components between event producers and consumers. These queues buffer messages and regulate flow, decoupling the timing of event generation from processing, thereby reducing latency spikes while maintaining system stability and maturity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If customized stream processing solutions are developed, then unique problems in large-scale data processors can be addressed, but system complexity increases

Engineering Contradiction:
Improvecustomization capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal stream processing architecture that can handle multiple unique problems through configuration rather than custom development. The publish/subscribe model and message queueing mechanisms provide versatile, reusable components that adapt to different large-scale data processing scenarios without increasing inherent system complexity.

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

3Speed

If real-time data processing is implemented, then control loop feedback can be achieved, but resource management becomes challenging

Engineering Contradiction:
Improvefeedback speedVSAvoidresource utilization
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system implements periodic processing through time-based triggers and batch operations on accumulated messages. Instead of continuous processing of every message, the execution subsystem processes messages in periodic batches or based on time intervals, reducing resource consumption while maintaining real-time feedback capabilities through configurable processing frequencies.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10735336B2Systems and methods for real-time structured object data aggregation and control loop feedback
Publication Date: 2020.08.04 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10735336B2 patent drawing
  • US10735336B2 patent drawing
  • US10735336B2 patent drawing

AI summary

Systems and methods for real-time message processing and control loop feedback are described. A stream processing system includes (i) a publish/subscribe and message queueing subsystem and (ii) an execution subsystem. A real-time stream of transactions is received at the publish/subscribe and message queueing subsystem. A job is created to aggregate data from the real-time stream of transactions with data from one or more other streams received at the publish/subscribe and messaging queueing subsystem. The job is executed at the execution subsystem, and the aggregated data resulting from the execution of the job is received at the publish/subscribe and message queueing subsystem. At least a portion of the aggregated data is provided as input to a control loop feedback process, which is executed to generate a result.