Non-blocking Token Authentication Cache for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client-server architectures, the latency incurred by server systems when validating authentication tokens with a centralized authentication service leads to significant performance penalties, especially during high-volume service requests, and there is a risk of approving requests with revoked or expired tokens.

Innovation Solution

Implementing a non-blocking authentication cache with a time-to-live (TTL) mechanism that allows server systems to store validation responses, enabling immediate response to client requests without initial validation checks, while revalidating tokens with the authentication service in parallel, and extending TTL within a token revocation grace period.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server system validates every authentication token with the centralized authentication service before processing requests, then security is maintained by detecting revoked or expired tokens, but significant latency is incurred leading to performance penalties during high-volume service requests

Engineering Contradiction:
Improvetoken validation accuracyVSAvoidrequest processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The server system performs preliminary validation of authentication tokens by checking them against a cached list of valid tokens before processing service requests. This preliminary action allows the server to quickly determine token validity without always contacting the authentication service, thereby reducing latency while maintaining security. The cached token list is periodically updated to reflect current valid tokens.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (cached token list) between the server system and the authentication service. This intermediary allows the server to validate tokens locally using the cached list, reducing direct communications with the authentication service and thereby minimizing latency. The intermediary is periodically refreshed to maintain accuracy of token validation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the server system uses a cache of validation responses to reduce latency, then request processing speed improves, but there is a risk of approving requests with revoked or expired tokens if the cache is not properly maintained

Engineering Contradiction:
Improverequest processing throughputVSAvoidtoken validity assurance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The server system implements periodic action by regularly updating the cached token list from the authentication service at predetermined intervals. This periodic refresh ensures that the cache contains current valid tokens while allowing the server to process requests in between updates. The periodic updates maintain reliability by ensuring revoked or expired tokens are removed from the cache in a timely manner.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system implements feedback mechanisms where the server system monitors the age of cached token data and triggers updates when tokens approach expiration or when revocation events are detected. This feedback loop ensures the cache remains accurate without requiring constant validation, balancing productivity and reliability by updating only when necessary based on observed conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11568596B2Non-blocking token authentication cache
Publication Date: 2023.01.31 SALESFORCE INC
  • US11568596B2 patent drawing
  • US11568596B2 patent drawing
  • US11568596B2 patent drawing

AI summary

Techniques are disclosed relating to a non-blocking token authentication cache. In various embodiments, a server computer system receives a request for service from a client device, with the request including an authentication token issued by an authentication service. The server computer system accesses a cache of previously received validation responses from the authentication service to determine whether one of the validation responses indicates that the authentication token has already been validated by the authentication service. In response to determining that the cache includes a validation response indicating that the authentication token has already been validated by the authentication service, the server computer system first provides a response to the request for service to the client device, and then contacts the authentication service to determine whether the authentication token is still valid.