Event Server Caching for Real-Time Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Event servers face challenges in processing real-time data streams efficiently, as they often require converting multiple input streams into smaller output streams, leading to performance issues and limited flexibility in handling data availability and storage.

Innovation Solution

The integration of a caching system within the event server, allowing for the use of a cache as both an event source and sink, enables flexible operation by using the same event processing language code for both input and output, increasing availability and performance through asynchronous data processing and direct programmatic access to cache data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If event servers convert multiple input streams into smaller output streams in real-time, then processing speed is improved, but system complexity and performance issues arise

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a cache as an intermediary component between input streams and event processing logic. The cache stores event data and allows event processing to occur asynchronously, decoupling the real-time ingestion of multiple input streams from the processing operations. This mediator approach enables high-speed data ingestion while maintaining manageable processing complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements preliminary action by pre-storing event data in the cache before actual processing occurs. Events are captured and held in the cache in real-time, allowing subsequent processing operations to retrieve and analyze the data without blocking the ingestion pipeline. This separation of data capture from data processing reduces system complexity while maintaining processing speed.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If event servers process data synchronously, then processing accuracy is maintained, but availability and performance decrease

Engineering Contradiction:
ImproveavailabilityVSAvoidprocessing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The cache performs preliminary action by storing events as they arrive, allowing the system to maintain high availability for data ingestion while processing operations can occur at their own pace. This ensures no events are lost (maintaining reliability) while enabling parallel processing operations that increase throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent enables continuous useful action by allowing event ingestion to continue uninterrupted while processing operations occur independently. The cache maintains continuous data availability for processing without requiring synchronous coordination, thereby maintaining both high availability and processing throughput through asynchronous operations.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If event servers use caching, then availability and performance increase, but data consistency and latency control become challenging

Engineering Contradiction:
ImproveavailabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies dynamics by making the cache configurable and adaptable to different operational requirements. The system can dynamically adjust cache behavior, retention policies, and access patterns based on specific use cases, allowing optimization between availability and latency control for different event types and processing requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent utilizes parameter changes by allowing configuration of cache timing parameters, retention durations, and access patterns. These adjustable parameters enable the system to optimize for either availability or latency control depending on the specific operational context, resolving the contradiction through configurable parameter adjustment rather than fixed behavior.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If event servers integrate third-party caching products, then functionality and performance are enhanced, but integration complexity increases

Engineering Contradiction:
Improvecaching functionalityVSAvoidintegration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements universality by designing the caching interface to work with multiple third-party cache implementations (such as GemFire and GigaSpaces) through a common event processing language. This universal interface layer allows the system to leverage the functionality of different caching products without requiring separate integration logic for each, thereby enhancing versatility while controlling integration complexity through standardization.

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

Data Source

PatentUS9542708B2Event server using caching
Publication Date: 2017.01.10 ORACLE INT CORP
  • US9542708B2 patent drawing
  • US9542708B2 patent drawing
  • US9542708B2 patent drawing

AI summary

An event server adapted to receive events from an input stream and produce an output event stream. The event server uses a processor using code in an event processing language to process the events. The event server obtaining input events from and/or producing output events to a cache.