Account-Level Namespace Segmentation for Database Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database platforms face challenges in managing name collisions and access control for objects within customer accounts, leading to complexity and inefficiency in object naming, replication, and user access.

Innovation Solution

Implementing account-level namespaces that allow for name resolution and access control, enabling developers to manage objects within specific namespaces, preventing name collisions and simplifying replication and user access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional flat namespace structure is used for database objects, then object naming is simple, but name collisions occur and access control becomes complex

Engineering Contradiction:
Improvename collision preventionVSAvoidnamespace management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the flat namespace into hierarchical account-level namespaces, where each customer account has its own isolated namespace. This segmentation prevents name collisions between objects from different accounts while maintaining simple naming within each account's namespace.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds an account-level dimension to the traditional flat namespace, transforming it from a two-dimensional structure (database objects) to a three-dimensional hierarchical structure (account → namespace → objects). This dimensional change enables isolated name spaces for different customers while preserving simple object naming within each account.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If centralized access control is implemented for all database objects, then security is maintained, but administrative burden increases

Engineering Contradiction:
Improveaccess control securityVSAvoidadministrative burden
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments access control management by implementing account-level namespaces, where each customer account has autonomous control over its own objects. This eliminates the need for centralized administrative management across all customer accounts, reducing administrative burden while maintaining security within each account's boundary.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each customer account autonomously manages its own namespace and objects without requiring external administrative intervention. The account-level namespace enables self-service access control where customers can independently manage their own database objects, reducing the administrative burden on platform operators.

Inventive Principle:
Principle #25Self-service

3Reliability

If objects are replicated across multiple environments, then system reliability is improved, but replication errors increase

Engineering Contradiction:
Improvesystem reliabilityVSAvoidreplication accuracy
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The patent implements account-level namespaces that can be replicated as complete, isolated units across different environments (development, testing, production). This copying approach ensures that all objects within an account's namespace are replicated together, maintaining referential integrity and reducing replication errors compared to individual object replication.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11593354B2Namespace-based system-user access of database platforms
Publication Date: 2023.02.28 SNOWFLAKE INC
  • US11593354B2 patent drawing
  • US11593354B2 patent drawing
  • US11593354B2 patent drawing

AI summary

A database platform authenticates a system user for access via an application to a database that is associated with a customer account of the database platform. The system user is a first object in a first account-level namespace of the customer account, and the first account-level namespace is distinct from a default account-level namespace of the customer account. The database platform sends, as the system user, a query to the database via the application. The database platform receives, as the system user, results of the query from the database, and stores, as the system user, the results of the query in a first-namespace stage, which is a second object in the first account-level namespace.