Global Context Cache for Microservice Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microservices architectures face inefficiencies in handling access requests due to the time-consuming nature of transactions and resource consumption in propagating requests to persistent storage, leading to downtime and resource inefficiency.

Innovation Solution

Implementing a global context cache with read, write, and discard caches to quickly determine if access requests will fail, allowing for immediate error return instead of propagating through the network, thereby reducing downtime and resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If access requests are propagated to persistent storage to determine failure, then accurate failure determination is achieved, but response time increases and resource consumption increases

Engineering Contradiction:
Improvefailure determination accuracyVSAvoidresponse time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-computing and caching failure determination results in the global context cache before actual access requests occur. When a request comes in, the system checks the cache first to see if the failure determination has already been made, allowing immediate response without propagating to persistent storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The global context cache acts as an intermediary between the microservice and the persistent storage. Instead of directly querying persistent storage for every access request, the system uses the cache as a mediator that provides pre-computed failure determination results, reducing the need for direct persistent storage interactions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If access requests are propagated to persistent storage, then accurate data is obtained, but resource consumption increases

Engineering Contradiction:
Improvedata accuracyVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary computation of failure determinations and stores them in the global context cache. This pre-computation eliminates the need for repeated persistent storage queries for the same data, significantly reducing resource consumption while maintaining data accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a copy of the failure determination data in the global context cache instead of repeatedly accessing the original data in persistent storage. This copy allows multiple requests to be served from the cache without consuming additional resources from the persistent storage system.

Inventive Principle:
Principle #26Copying

3Reliability

If error returns are propagated through the network, then proper error handling is achieved, but downtime increases

Engineering Contradiction:
Improveerror handlingVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The system pre-determines potential failures and caches these determinations in the global context cache. When an access request comes in that would result in an error, the system can immediately return the pre-determined error from the cache without needing to propagate through the network to persistent storage, significantly reducing downtime.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If global context cache is implemented, then response time is reduced and resource consumption is lowered, but system complexity increases

Engineering Contradiction:
Improveresponse timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The global context cache serves multiple functions: it caches failure determinations, reduces network traffic, decreases resource consumption, and provides fast error returns. By consolidating these multiple functions into a single cache mechanism, the system achieves performance improvements without proportionally increasing complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11803485B2Microservice system with global context cache
Publication Date: 2023.10.31 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11803485B2 patent drawing
  • US11803485B2 patent drawing
  • US11803485B2 patent drawing

AI summary

Disclosed embodiments provide features for the architecture of microservices. A global context cache is created for a microservice environment that is accessible from multiple deployed microservices. Data from various customers/applications can be aggregated to establish a determination of when a read or write access would fail due to permissions, and/or other condition such as existence or non-existence of certain data. In such situations, an error can be returned from the global context cache in much less time than if the access request propagated throughout the computer network to the persistent storage. In this way, disclosed embodiments reduce downtime and save money for organizations, and increase the efficiency of utilization of computer resources.