Push Replication in Distributed Data Grids

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems in distributed computing environments face challenges in scaling to handle rapidly increasing data volumes efficiently, with memory latency becoming a bottleneck and the need for continuous data availability and transactional integrity, especially in the event of server failures.

Innovation Solution

The implementation of push replication techniques in an in-memory data grid, which asynchronously transfers updates from a source cluster to a remote destination cluster over a wide area network, using a pluggable transport mechanism and publishing transformer to ensure data synchronization across multiple servers, thereby eliminating single points of failure and improving data access speeds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is stored in large databases on disk with RAM caching, then storage capacity is improved, but data access speed deteriorates due to memory latency

Engineering Contradiction:
Improvestorage capacityVSAvoiddata access speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent transitions from a single-tier storage architecture to a multi-dimensional distributed data grid architecture where data is replicated across multiple nodes and clusters. This spatial distribution across different dimensions (nodes, clusters, sites) enables parallel access paths, reducing the effective latency experienced by applications while maintaining large storage capacity.

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

Solution Approach 2:

The patent implements data replication by creating multiple copies of data across different nodes and clusters in the distributed data grid. This copying strategy ensures that frequently accessed data is available from multiple locations simultaneously, eliminating single points of failure and improving data access speed through parallel retrieval paths while maintaining the required storage capacity.

Inventive Principle:
Principle #26Copying

2Speed

If data is pushed closer to applications for faster access, then data access speed is improved, but system complexity increases

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

Solution Approach 1:

The distributed data grid is designed as a universal platform that can be deployed in multiple configurations (single-cluster, multi-cluster, active-passive, active-active) and serves multiple functions including data storage, data access acceleration, and fault tolerance. This multi-functionality reduces the need for separate specialized systems, thereby managing complexity while delivering fast data access close to applications.

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

Solution Approach 2:

The patent segments the data grid into independent nodes and clusters that can be distributed across multiple sites. Each node operates semi-autonomously, managing its own data storage and access operations. This segmentation allows the system to scale horizontally while maintaining manageable complexity at each individual node, as the overall system complexity is distributed rather than centralized.

Inventive Principle:
Principle #1Segmentation

3Reliability

If data is distributed across multiple servers, then fault tolerance is improved, but data synchronization difficulty increases

Engineering Contradiction:
Improvefault toleranceVSAvoiddata synchronization difficulty
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The distributed data grid implements feedback mechanisms where nodes continuously monitor each other's status and data consistency. When changes occur in one node, the system automatically detects and propagates these changes to other nodes through coordinated feedback loops. This feedback-driven approach ensures data synchronization across distributed servers while maintaining fault tolerance, as the system can detect and recover from failures automatically.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent introduces intermediary components such as data grid managers and coordination services that mediate between distributed nodes. These intermediaries handle the complex tasks of data synchronization, conflict resolution, and consistency management, thereby reducing the direct synchronization burden between nodes. The intermediary layer abstracts the synchronization complexity while maintaining reliable fault-tolerant operation across distributed servers.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Speed

If RAM capacity is increased to store more data, then data access speed is improved, but cost increases

Engineering Contradiction:
Improvedata access speedVSAvoidcost
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent merges the advantages of both disk-based storage and RAM-based caching into a unified distributed data grid architecture. Data is strategically placed in memory across multiple nodes for frequently accessed items, while less frequently accessed data resides on disk. The system automatically manages this hierarchy, merging the speed benefits of RAM with the capacity benefits of disk storage across the distributed infrastructure, thereby improving data access speed without proportionally increasing cost.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9081839B2Push replication for use with a distributed data grid
Publication Date: 2015.07.14 ORACLE INT CORP
  • US9081839B2 patent drawing
  • US9081839B2 patent drawing
  • US9081839B2 patent drawing

AI summary

Push replication techniques are described for use in an in-memory data grid. When applications on a cluster perform insert, update or delete operations in the cache, a push replication provider asynchronously pushes updates from the source cluster to one or more remote destination clusters. The push replication provider includes a pluggable internal transport to send the updates to the destination cluster. This pluggable transport can be switched to employ a different communication service or protocol. A publishing transformer can chain multiple filters and apply filters on a stream of updates from source cluster to the destination cluster. A batch publisher can be used to receive batches multiple updates and replicate those batch to the destination cluster. XML based configuration can be provided to configure the push replication techniques on a cluster. A number of cluster topologies can be utilized, including active/passive, active/active, multi-site active/passive, multi-site active/active and centralized replication arrangement.