Dynamic Query Describe Object for Database Access Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content management systems face challenges in accurately describing record properties and user permissions due to their dynamic nature, making it difficult for applications to present correct behavior to end users, especially when permissions and actions vary by record and user role.

Innovation Solution

A user programmatic interface is provided that includes configuration metadata and record property objects to support dynamic security models, enabling applications to understand and display data access permissions and actions dynamically, such as hiding or making fields editable based on user roles and permissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a static metadata API is used to describe record properties, then the system structure is simple, but it cannot accurately describe dynamic record properties and user permissions that vary by record and user role

Engineering Contradiction:
Improveaccuracy of describing record propertiesVSAvoidcomplexity of metadata interface
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies dynamics by transforming the static metadata API into a dynamic query describe object that adapts to different records and user roles. The query describe object is generated at runtime based on the specific record being accessed and the user's permissions, allowing the system to accurately describe record properties dynamically rather than using a fixed static structure.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes parameters by making the metadata description parameters dynamic rather than fixed. The query describe object includes parameters such as visible fields, editable fields, and permitted actions that change based on the record state and user role, allowing the same interface to describe different property sets for different users accessing different records.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If granular security models are implemented with dynamic permissions, then user access control accuracy is improved, but the complexity of managing and describing permissions increases

Engineering Contradiction:
Improveaccuracy of access controlVSAvoidcomplexity of permission management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces the query describe object as an intermediary between the dynamic permission system and the application developer. This intermediary object consolidates complex permission information into a manageable format that describes what the user can see and do, shielding developers from the underlying complexity of the granular security model while maintaining accurate access control.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback by generating the query describe object based on the user's actual permissions and the record's security requirements. The describe object reflects the current state of permissions and provides feedback to the application about what actions are permitted, allowing the application to adapt its behavior accordingly without hardcoding permission logic.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If applications hardcode permissions and actions, then the application structure is simple, but it cannot adapt to different user roles and record permissions

Engineering Contradiction:
Improveadaptability to user rolesVSAvoidcomplexity of application code
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by providing the query describe object before the application needs to render or interact with the record. This describe object pre-calculates and describes all the permissions, visible fields, and permitted actions based on the user's role and the record's security settings, allowing the application to simply follow the describe object's guidance without hardcoding permission logic for different scenarios.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11416630B1User programmatic interface for supporting data access control in a database system
Publication Date: 2022.08.16 VEEVA SYSTEMS INC
  • US11416630B1 patent drawing
  • US11416630B1 patent drawing
  • US11416630B1 patent drawing

AI summary

Systems and methods for providing an API for a database system. The API may be provided to enable external application developers to build applications that can support the dynamic security model of the content management system and describe the runtime properties of records in data objects. The API of may provide a record property object and/or a query describe object when returning data set in response to a query by providing information about actions an end user can take on the data records, and to provide metadata required to understand a data response.