Cache Partitioning for Connection-Specific Data Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current caching technologies do not provide enhanced access to data stored in caches, limiting the ability of user applications to directly retrieve data elements and restricting access based on connection-specific activity, which hampers efficient data retrieval and management.

Innovation Solution

Implementing a caching system that allows user applications to directly access data elements stored in a cache by intercepting requests, sending copies of data as responses, and maintaining data partitions based on connections, enabling efficient retrieval and management of data elements while restricting access to connection-specific data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a cache stores copies of data from remote sources, then data access speed is improved, but access control and security management become more complex

Engineering Contradiction:
Improvedata access speedVSAvoidaccess control complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The cache is segmented into multiple partitions, with each partition associated with a specific connection or data source. This segmentation enables fine-grained access control where each connection can only access its designated partition, simplifying security management while maintaining fast access speeds for authorized data.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The cache acts as an intermediary layer between user applications and remote data sources. It manages access control policies and enforces connection-specific access rules, shielding applications from the complexity of security management while providing rapid data retrieval for authorized requests.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the cache allows direct access to all cached data, then data retrieval efficiency is improved, but data security and access control are compromised

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoiddata security
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The cache is divided into multiple secure partitions, each accessible only by specific connections or applications. This segmentation enables direct access within partitions (maintaining efficiency) while enforcing security boundaries (maintaining reliability).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different security policies and access permissions are applied to different partitions of the cache. Each partition has its own access control characteristics, allowing optimized direct access for authorized connections while maintaining security through localized access restrictions.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If the cache stores data from multiple connections, then data availability is improved, but access management and connection tracking become more complex

Engineering Contradiction:
Improvedata availabilityVSAvoidaccess management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The cache is partitioned into connection-specific segments, where each partition stores data from a specific connection. This segmentation provides versatile data availability across multiple connections while simplifying access management through automatic partition-based routing and isolation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8065484B2Enhanced access to data available in a cache
Publication Date: 2011.11.22 ORACLE INT CORP
  • US8065484B2 patent drawing
  • US8065484B2 patent drawing
  • US8065484B2 patent drawing

AI summary

Enhanced access data available in a cache. In one embodiment, a cache maintaining copies of source data is formed as a volatile memory. On receiving a request directed to the cache for a copy of a data element, the requested copy maintained in the cache is sent as a response to the request. In another embodiment used in the context of applications accessing databases in a navigational model, a cache maintains rows of data accessed by different user applications on corresponding connections. Applications may send requests directed to the cache to retrieve copies of the rows, populated potentially by other applications, while the cache restricts access to rows populated by other applications when processing requests directed to the source database system. In another embodiment, an application may direct requests to retrieve data elements caused to be populated by activity on different connections established by the same application.