Distributed Object Cache for Real-Time Security Propagation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for propagating security information across nodes in a cluster are slow and prone to single points of failure, relying on database polling or notification systems that are complex and not guaranteed to synchronize changes in real-time.

Innovation Solution

A distributed object cache system, such as Oracle Coherence, is used to propagate and activate security information across nodes, utilizing a MapStore API and journaling mechanism to ensure timely and reliable updates, eliminating the need for external repositories and reducing complexity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If database polling is used to propagate security information, then changes are propagated to all nodes, but the propagation is slow and not real-time

Engineering Contradiction:
Improvesynchronization guaranteeVSAvoidpropagation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system implements event-driven notifications where the database sends real-time change notifications to the cache. When security information changes in the database, a notification is immediately triggered and propagated to all cache nodes, eliminating the delay inherent in polling mechanisms while ensuring all nodes receive updates reliably.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The cache system acts as an intermediary between the database and application nodes. It receives real-time notifications from the database and distributes them to all cluster nodes, providing both real-time propagation and reliability guarantees without requiring nodes to directly poll the database.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If database polling is used, then all nodes can access security information, but the approach relies on a single point of failure

Engineering Contradiction:
Improveaccess availabilityVSAvoidsystem architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the centralized database into distributed cache nodes across the cluster. Each node maintains a local copy of security information in the cache, eliminating the single point of failure at the database while distributing access capabilities across multiple nodes, thereby improving availability without significantly increasing complexity.

Inventive Principle:
Principle #1Segmentation

3Speed

If notification infrastructure is added to the physical repository, then change notifications can be sent, but the complexity increases

Engineering Contradiction:
Improvenotification speedVSAvoidinfrastructure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The notification infrastructure is merged with the cache system itself. The cache is configured to subscribe to database change notifications and automatically distributes them to all nodes. This combines the notification function with the existing cache infrastructure, achieving real-time propagation without adding separate complex notification systems.

Inventive Principle:
Principle #5Merging (Combining)

4Ease of operation

If external physical repository is used to store security information, then centralized management is achieved, but real-time propagation across nodes is not guaranteed

Engineering Contradiction:
Improvecentralized managementVSAvoidsynchronization delay
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

Security information is pre-loaded into the distributed cache from the centralized database before application use. When changes occur in the database, real-time notifications trigger immediate updates across all cache nodes, ensuring synchronized availability without the delays associated with polling or batch updates.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8898728B2System and method of real-time change propagation and activation using a distributed object cache
Publication Date: 2014.11.25 ORACLE INT CORP
  • US8898728B2 patent drawing
  • US8898728B2 patent drawing
  • US8898728B2 patent drawing

AI summary

Embodiments of the invention provide systems and methods for using a distributed object cache to propagate and activate changes to security information across nodes of a cluster. Embodiments of the present invention can be implemented, for example, in a security product that enforces security policies, i.e., access control, etc., on resources such as web content provided by a set of servers of nodes of a computing grid and provide ways to handle data synchronization between the servers or nodes of the grid. This synchronization can be performed using a distributed object cache that provides replicated and distributed object caching services. For example, Oracle Coherence is one such distributed object cache that is built on top of a reliable, highly scalable peer-to-peer clustering protocol. However, embodiment of the present invention are not limited to use with Coherence but rather are equally applicable to other distributed object caches.