Provisioning Server Cache Synchronization for J2EE Security

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

J2EE containers face inconsistencies in their security caches due to insufficient timeout features in dynamic environments, leading to potential security issues and inefficiencies in maintaining current security data across application servers.

Innovation Solution

A provisioning server system is introduced, coupled with a directory server, which sends provisioning requests to clear security caches and update them with the latest security data from the directory server, ensuring consistency across application servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If timeout features are used to keep security cache current, then security cache consistency is improved, but the timeout mechanism is insufficient in dynamic environments leading to data inconsistency

Engineering Contradiction:
Improvesecurity cache consistencyVSAvoidadaptability to dynamic environments
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements a feedback mechanism where the provisioning server continuously monitors for security data changes from the directory server and automatically pushes updates to application servers. This event-driven feedback loop replaces passive timeout polling, ensuring security caches remain synchronized with the directory server in dynamic environments without relying on insufficient timeout mechanisms.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The provisioning server autonomously detects security data changes and initiates cache updates without requiring external triggers or manual intervention. The system self-manages the synchronization process by monitoring the directory server for changes and automatically provisioning updated security data to application servers, eliminating the need for inadequate timeout-based refresh mechanisms.

Inventive Principle:
Principle #25Self-service

2Speed

If security cache stores data locally in JVM to avoid round trip latency, then access speed is improved, but data consistency with third party sources deteriorates

Engineering Contradiction:
Improvesecurity data access speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The provisioning server acts as an intermediary between the directory server and application servers. It maintains a connection to the directory server, detects changes, and pushes updates to application servers, thereby bridging the gap between local caching needs and remote data consistency requirements without requiring application servers to directly access the directory server.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The provisioning server continuously monitors the directory server for security data changes and maintains an ongoing synchronization process. This continuous monitoring and automatic update mechanism ensures that security caches remain current without interrupting the fast local access provided by JVM caching, eliminating the need for periodic timeout-based refreshes.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If provisioning server pushes updated security data to all application servers, then data consistency is improved, but network traffic and processing overhead increase

Engineering Contradiction:
Improvedata consistency across serversVSAvoidnetwork traffic and processing overhead
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system segments the update distribution by identifying and notifying only those application servers that are actually affected by security data changes. Rather than broadcasting updates to all servers indiscriminately, the provisioning server determines which specific servers require updates and targets them, reducing unnecessary network traffic and processing overhead while maintaining consistency where needed.

Inventive Principle:
Principle #1Segmentation

4Reliability

If security cache is cleared and repopulated with updated data, then data freshness is improved, but temporary loss of security data access occurs

Engineering Contradiction:
Improvedata freshnessVSAvoiddata access interruption time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The provisioning server performs preliminary actions by pre-fetching and validating updated security data from the directory server before clearing application server caches. This ensures that updated data is ready and verified before the cache clearance occurs, minimizing any potential access interruption and ensuring immediate availability of fresh data upon cache repopulation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9129126B2Updating changes to caches
Publication Date: 2015.09.08 RED HAT INC
  • US9129126B2 patent drawing
  • US9129126B2 patent drawing
  • US9129126B2 patent drawing

AI summary

Embodiments relate to systems and methods for updating changes to caches. In aspects, a provisioning server can receive by a hardware processor a security data provisioning request from a first application server in a set of application servers. In response to receiving the security data change provisioning request, identifying updated security data compatible with the cache of a second application server of the set of application servers. Further, sending a command to the second application server of the set of application servers to clear the cache of the second application server of the set of application servers. A provisioning server sending the updated security data to the cache of the second application server of the set of application servers.