Relationship-Based Authorization Models for Multi-Tenant Query Speed

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing authorization systems are time-consuming, error-prone, and not portable across different systems due to hand-coded logic sharing both code and data stores, making it difficult to manage authorization processes efficiently in multi-tenant environments.

Innovation Solution

A multi-tenant authorization system using standardized data types and relationship tuples, specified through a domain-specific language (DSL), allows organizations to define their authorization models autonomously, with features like computational parallelism and distributed data storage to improve query processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If authorization logic is hand-coded for each individual application, then authorization decisions can be made for specific systems, but the process becomes time-consuming and error-prone

Engineering Contradiction:
Improveauthorization accuracyVSAvoidauthorization setup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses template-based authorization logic that can be copied and reused across multiple applications and tenants. Instead of hand-coding authorization for each system, standardized authorization templates are created once and then instantiated across numerous systems, dramatically reducing setup time while maintaining consistency and accuracy through the standardized template structure

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system allows authorization logic to be parameterized through configuration files and metadata that can be adjusted without rewriting the core authorization code. By changing parameters such as tenant identifiers, resource types, and permission levels in configuration files, the same authorization engine can adapt to different applications and requirements, reducing both setup time and errors

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If authorization logic shares code and data stores with application logic, then integration is straightforward, but portability across different systems is lost

Engineering Contradiction:
Improvesystem portabilityVSAvoidauthorization system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts authorization logic from application-specific code and data stores into a separate, standalone authorization service. This extracted authorization system uses its own standardized data models and configuration files, allowing it to be ported across different applications and tenants without being coupled to any single application's internal structure, thereby improving portability while managing complexity through separation of concerns

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The authorization system is designed as a universal, multi-tenant platform that can serve multiple applications and organizations simultaneously. By creating a universal authorization engine that works across different tenants and applications through standardized interfaces and configuration, the system achieves portability without requiring separate authorization logic for each system, managing complexity through reuse rather than duplication

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

3Adaptability or versatility

If multiple authorization models are used for phased rollout, then flexibility is improved, but query processing complexity increases

Engineering Contradiction:
Improverollout flexibilityVSAvoidmodel management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the authorization model into versioned configurations that can be independently managed and deployed. Different versions of authorization models can coexist and be applied to different tenants or resource types, enabling phased rollouts where new authorization logic can be tested and deployed incrementally without affecting the entire system, while managing complexity through clear version separation

Inventive Principle:
Principle #1Segmentation

4Speed

If relationship tuples are stored in a single data store, then data consistency is maintained, but query processing time increases

Engineering Contradiction:
Improvequery processing speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the relationship tuple data store into multiple distributed shards or partitions. Each shard stores a subset of the relationship tuples, allowing authorization queries to be processed in parallel across multiple data stores. This segmentation improves query processing speed by distributing the computational load while maintaining data consistency through standardized schemas and coordinated access patterns across the distributed stores

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250390600A1Fine-grained authorization as a service via relationship- based access control within a multi-tenant system
Publication Date: 2025.12.25 OKTA INC
  • US20250390600A1 patent drawing
  • US20250390600A1 patent drawing

AI summary

An authorization system provides authorization services for multiple tenant organizations. The authorization is performed based on standardized data types—an authorization model, and relationship tuples—that are applicable across the different organizations. Each organization using the system for authorization specifies its own authorization model(s) (representing the types of objects that can exist within the organization, and which types of relations those objects can have) and relationship tuples (representing the existing user/object relationships within the organization). When an organization submits an authorization query to determine whether a given user and a given object are in a type of relation within that organization, the system analyzes the authorization model and relationship tuples to make the determination. Query response latency may be reduced through techniques such as geographic distribution of servers and sharding of data so that the data for a given query can be found within the same shard.