Distributed Authorization Caching for Cloud Service Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud services face inefficiencies in user authentication and authorization due to high computational overhead, bandwidth issues, and complex key management, particularly with stateless systems relying on cryptographically signed tokens, which can lead to scalability problems and difficulties in revoking access rights.

Innovation Solution

Implementing a location-aware, multilevel in-memory store to cache authentication and authorization data, allowing for quick retrieval and caching of authorization documents across distributed service resources, with session IDs identifying locations and enabling dynamic creation of local resource sections for authorization data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographically signed tokens are used for authentication and authorization in stateless cloud services, then security is improved, but computational overhead increases significantly due to cryptographic operations required for validating tokens at each front end machine

Engineering Contradiction:
ImprovesecurityVSAvoidcomputational overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the cryptographic validation burden from front end machines by removing the need for them to verify signed tokens. Instead, front end machines only need to validate simple session IDs against stored session data, while the authorization token validation is handled separately through a different mechanism that doesn't require cryptographic operations at each front end node.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces session data stored in distributed storage as an intermediary between the authorization token and the front end validation process. The session data acts as a mediator that translates the cryptographic authorization information into a simple session ID that front end machines can validate without performing cryptographic operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cryptographically signed tokens are used for authentication, then authorization security is improved, but key management complexity increases significantly

Engineering Contradiction:
Improveauthorization securityVSAvoidkey management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the key management burden from the distributed system by centralizing session data storage in a managed distributed storage system. This removes the need for front end machines to store, manage, or share cryptographic keys, eliminating the complex key distribution and rotation management that would be required in a traditional signed token system.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If signed tokens are validated at front end machines, then authorization verification is improved, but scalability deteriorates due to CPU overhead affecting the amount of resources a single front end machine can manage

Engineering Contradiction:
Improveauthorization verificationVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the CPU-intensive validation workload from front end machines by replacing cryptographic token verification with simple session ID lookup operations. Front end machines only need to check whether a session ID exists in the distributed storage, which is a lightweight operation that doesn't consume significant CPU resources, thereby improving scalability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent creates simplified copies of authorization information in the form of session data stored in distributed storage. Instead of validating the original cryptographic tokens at each front end machine, the system uses copies of the authorization state (session data) that can be quickly validated without cryptographic operations.

Inventive Principle:
Principle #26Copying

4Ease of operation

If authorization tokens are used for stateless authentication, then front end machine state management is simplified, but token management complexity increases for clients

Engineering Contradiction:
Improvefront end machine state managementVSAvoidclient token management complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent replaces long-lived cryptographic authorization tokens with short-lived session IDs that are inexpensive to generate and validate. Session IDs are simple string identifiers that don't require cryptographic processing, making them computationally cheap to create and verify, while their short lifespan (tied to session duration) reduces the management burden on clients.

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

Data Source

PatentUS8898318B2Distributed services authorization management
Publication Date: 2014.11.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8898318B2 patent drawing
  • US8898318B2 patent drawing
  • US8898318B2 patent drawing

AI summary

One or more techniques and/or systems are disclosed for providing resource authorization to users of a distributed memory store (e.g., a distributed web-based cloud service). A session ID that identifies a location of an authorization document in a distributed memory store is used to access the authorization document, which comprises a global section with a principal ID related to a user. The user can be authorized to utilize a resource (e.g., in a distributed cloud service) if a resource section is present for the principal ID in the authorization document, and has appropriate resource data for the resource. If the resource section is not present, it can be created in the authorization document, and identified by a resource identifier. Authorization data can be loaded into the newly created resource section, and the authorization document, with the global and resource sections, is saved to a local cache for the distributed memory store.