Surrogate Cache With Compact User Objects for Fast Access Decisions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face challenges in processing real-time requests for online access due to the processing-intensive and latency-intensive nature of determining access permissions, which can strain the ability to handle millions of user accounts, leading to cache misses and significant delays in granting or denying service connections.

Innovation Solution

Implementing a two-level cache system, comprising a first cache for full user objects and a second surrogate cache for compact user objects, where the compact user objects include a single field indicating whether a request should be granted, derived from full user object fields using offline update logic, allowing rapid access decisions without extensive retrieval and processing delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a single-level cache system stores full user objects, then comprehensive user data is available, but cache size becomes too large to hold all user objects in memory

Engineering Contradiction:
Improvenumber of user objects in cacheVSAvoidcache memory size
Core Design Contradiction:
Quantity of substanceVSVolume of stationary object

Solution Approach 1:

The patent divides the user object data into two segments: full user objects stored in a first cache and compact user objects stored in a second cache. This segmentation allows the system to maintain both comprehensive data and space-efficient storage, resolving the contradiction between storing more user objects and limiting cache memory usage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates a simplified copy of user objects (compact user objects) that contains only essential fields needed for access decisions. These compact copies are stored in the second cache, allowing the system to store many more user objects in limited memory while still providing fast access for authorization decisions.

Inventive Principle:
Principle #26Copying

2Reliability

If the system retrieves and processes full user objects in real-time, then accurate access decisions can be made, but processing time and latency increase

Engineering Contradiction:
Improveaccess decision accuracyVSAvoidrequest processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-processes user objects offline to create compact versions with pre-computed access decision fields. This preliminary action eliminates the need for complex real-time processing, allowing the system to make accurate access decisions by simply reading pre-computed values from the compact user objects, thus reducing latency while maintaining reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts only the essential access decision fields from full user objects to create compact user objects. By taking out only the necessary information (access grant/deny fields) and removing redundant data, the system achieves fast real-time processing while maintaining the reliability needed for accurate access control decisions.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If the cache stores detailed user objects with multiple fields, then comprehensive access control is possible, but processing complexity and computational overhead increase

Engineering Contradiction:
Improveaccess control granularityVSAvoidprocessing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent uses compact user objects that are computationally inexpensive to process and store. These simplified objects contain only the essential fields needed for access decisions, making them 'cheap' in terms of processing resources. The system can quickly create, update, and discard these compact objects without significant computational overhead, while still maintaining versatile access control capabilities.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Speed

If the system processes user objects in real-time, then immediate access decisions are provided, but the system cannot handle millions of user accounts efficiently

Engineering Contradiction:
Improveaccess decision speedVSAvoidsystem throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the user object processing into offline batch processing (creating compact objects) and online real-time processing (reading compact objects for access decisions). This segmentation allows the system to handle millions of user accounts efficiently by performing heavy processing offline and only requiring simple read operations in real-time, thus achieving both high speed and high productivity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12413978B2Surrogate cache for optimized service access with compact user objects and offline database updates
Publication Date: 2025.09.09 ORACLE INT CORP
  • US12413978B2 patent drawing
  • US12413978B2 patent drawing
  • US12413978B2 patent drawing

AI summary

When a request for accessing a service is received, a user object may be stored in a long-term data store, as well as in a short-term cache. The cache may be divided into a regular cache that stores full versions of the user objects, and a surrogate cache that stores compact versions of the user object. The compact version of the user object may include a field that is derived from the full user object indicating whether a subsequent request for access to a particular service should be granted. After access is granted/denied based on this value in the compact user object, the system can process an update to the full user object offline. This surrogate cache structure may be used to rapidly approve/deny requests, decoupling this procedure from the processing involved with a full user object.