Distributed Object Cache for Real-Time Security Propagation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If database polling is used, then all nodes can access security information, but the approach relies on a single point of failure
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.
3Speed
If notification infrastructure is added to the physical repository, then change notifications can be sent, but the complexity increases
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.
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
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.
Data Source
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.


