Map-Update Application for Low-Latency Event Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

MapReduce is not suited for processing fast data streams due to its reliance on static data sets and inability to handle continuous, evolving data streams with minimal latency, as it requires a 'start' and 'finish' for computations, whereas stream computations are ongoing and data is constantly changing.

Innovation Solution

The development of a map-update application that processes events in an event stream using a multithreaded architecture, allowing for real-time processing with a map function publishing events and an update function updating corresponding slates, and implementing methods to prevent overloading by distributing events among multiple threads and nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If MapReduce is used to process data streams, then scalability is improved, but processing latency increases and real-time capability deteriorates

Engineering Contradiction:
ImprovescalabilityVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system transitions from static MapReduce processing to dynamic stream processing where data flows continuously through the system. The map-update model allows dynamic state maintenance across events, enabling real-time processing while maintaining scalability through distributed architecture.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements continuous processing of data streams without requiring start and finish conditions. The map-update functions operate continuously on incoming events, maintaining state across the stream and enabling real-time responses without the batch processing delays inherent in traditional MapReduce.

Inventive Principle:
Principle #20Continuity of useful action

2Ease of operation

If MapReduce processes data in batches, then processing simplicity is maintained, but real-time response capability deteriorates

Engineering Contradiction:
Improveprocessing simplicityVSAvoidreal-time response
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system performs preliminary state initialization and maintenance during the stream processing phase. State is updated incrementally as events arrive, so when queries are needed, the state is already prepared and current, eliminating the need for complex batch processing and enabling immediate real-time responses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The map-update model allows the system to automatically maintain state and process events without external intervention. The framework handles state management, event routing, and result aggregation automatically, maintaining processing simplicity while achieving real-time performance through self-managed state updates.

Inventive Principle:
Principle #25Self-service

3Device complexity

If a single-threaded processing model is used, then system simplicity is maintained, but handling high event volumes deteriorates

Engineering Contradiction:
Improvesystem simplicityVSAvoidevent processing capacity
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The processing system is segmented into multiple independent threads that can handle events concurrently. Each thread maintains its own state and processes events independently, allowing the system to scale processing capacity by adding threads while keeping each individual thread simple and manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system adds the dimension of threading to handle event volumes. By introducing multiple threads as an additional processing dimension, the system achieves high event processing capacity without increasing the complexity of individual processing units, as each thread operates independently with similar simple logic.

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

4Reliability

If events are processed sequentially, then processing correctness is ensured, but processing speed deteriorates

Engineering Contradiction:
Improveprocessing correctnessVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The sequential processing logic is segmented across multiple threads, each handling specific portions of the event stream. This segmentation allows parallel execution that maintains correctness through proper event routing and state management while dramatically increasing processing speed through concurrent operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements feedback mechanisms where processed events and state updates are communicated back to the appropriate threads and state management structures. This feedback ensures processing correctness by maintaining consistent state across all threads while enabling parallel processing that increases speed.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9304809B2Systems and methods for event stream processing
Publication Date: 2016.04.05 WALMART APOLLO LLC
  • US9304809B2 patent drawing
  • US9304809B2 patent drawing
  • US9304809B2 patent drawing

AI summary

Disclosed are systems and methods for processing events in an event stream using a map-update application. The events may be embodied as a key-attribute pair. An event is processed by one or more instances implementing either a map or an update function. A map function receives an input event from the event stream and publishes one or more events to the event stream. An update function receives an event and updates a corresponding slate and publishes zero or more events. Systems and methods are also disclosed herein for implementing a map-update application in a multithreaded architecture and for handling overloading of a particular thread or node. Systems and methods for providing access to slates updated according to update operations are also disclosed.