Event Distribution Pattern for Distributed Data Grids

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data caching techniques in distributed computing environments face challenges in efficiently managing vast amounts of data, leading to memory latency bottlenecks and the need for scalable, reliable, and fault-tolerant data access, especially in mission-critical applications.

Innovation Solution

An event distribution pattern for a distributed data grid that replicates application events across multiple servers, using an event distributor and event channel controller to ensure asynchronous delivery and redundancy, allowing for efficient data distribution to various destinations such as local or remote caches, files, and JMS components, while providing fault tolerance and high availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in distributed caches across multiple servers, then data access speed and availability are improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improvedata access speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces an event distributor as an intermediary component that manages event routing between distributed caches. The event distributor receives events from the data grid and distributes them to appropriate event channels, which then deliver events to target caches. This intermediary abstraction layer simplifies the complexity of direct peer-to-peer coordination by providing a centralized event distribution mechanism that handles routing, filtering, and delivery semantics.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments event distribution into distinct functional components: the event distributor that manages event routing logic, event channels that handle specific delivery paths, and cache consumers that process events locally. This segmentation allows each component to be independently configured, managed, and optimized, reducing overall system complexity while maintaining distributed architecture benefits.

Inventive Principle:
Principle #1Segmentation

2Reliability

If data is replicated across multiple servers for fault tolerance, then system reliability is improved, but data synchronization overhead and network traffic increase

Engineering Contradiction:
Improvefault toleranceVSAvoidnetwork traffic
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The event distribution system implements partial replication by allowing selective event routing to specific cache destinations based on event type, target cache configuration, and delivery semantics. Not all events are replicated to all caches - instead, the event distributor filters and routes only relevant events to appropriate destinations. This reduces unnecessary network traffic while maintaining fault tolerance for critical data.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system supports asynchronous event delivery with configurable delivery semantics including at-least-once, at-most-once, and exactly-once delivery guarantees. Events can be buffered and delivered periodically or in batches rather than immediately, allowing for optimized network utilization and reduced peak traffic while maintaining data consistency across replicated caches.

Inventive Principle:
Principle #19Periodic action

3Productivity

If event distribution is implemented asynchronously, then system throughput is improved, but delivery timing precision and event ordering become uncertain

Engineering Contradiction:
Improvesystem throughputVSAvoidevent delivery timing
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The event distribution system implements feedback mechanisms through event acknowledgments and delivery confirmation protocols. When events are delivered to target caches, the system tracks delivery status and can retry failed deliveries or confirm successful processing. This feedback loop allows asynchronous operation to maintain high throughput while providing visibility into event delivery timing and ordering for applications that require it.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system establishes event delivery contracts and routing configurations in advance through the event distributor, defining delivery semantics, target caches, and ordering requirements before events are generated. This preliminary configuration allows asynchronous event processing to proceed efficiently while maintaining predetermined delivery guarantees, reducing the need for real-time coordination and timing synchronization.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10127077B2Event distribution pattern for use with a distributed data grid
Publication Date: 2018.11.13 ORACLE INT CORP
  • US10127077B2 patent drawing
  • US10127077B2 patent drawing
  • US10127077B2 patent drawing

AI summary

An event distribution pattern is described for use with a distributed data grid. The grid can be comprised of a cluster of computer devices having a cache for storing data entries. An event distributor residing on at least one of those computer devices provides a domain for sending events to a desired end point destination and also provides the store and forward semantics for ensuring asynchronous delivery of those events. An event channel controller resides as an entry in the cache on at least one of computers in the cluster. This event channel controller receives the events defined by said application from the event distributor and provides the events to a set of event channels. Each event channel controller can include multiple event channel implementations for distributing the events to different destinations. The destinations can include local caches, remote caches, standard streams, files and JMS components.