In-Database Application Package Versioning and Update

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data platform providers face challenges in updating data products while they are in use, requiring a methodology that allows for fine-grained security controls, protection of consumer data and intellectual property, and seamless application updates without disrupting existing instances.

Innovation Solution

The proposed solution involves a data platform architecture that includes a compute service manager, execution platform, and metadata database, enabling the development, global distribution, and secure execution of in-database applications with fine-grained security controls, versioning, and asynchronous updates, ensuring that consumer environments remain secure and performance is maximized.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If in-database applications are updated while in use, then application functionality and security can be improved, but system stability and data integrity may be compromised

Engineering Contradiction:
Improveapplication securityVSAvoidsystem stability
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system performs preliminary actions by creating a snapshot of the database state before applying updates. This allows the update process to proceed while maintaining a known good state that can be restored if needed, thus improving security through controlled updates while preserving system stability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The update process is segmented into distinct phases: snapshot creation, update application, and validation. This segmentation allows each phase to be managed independently with appropriate security controls and stability保障措施, resolving the contradiction between updating and stability.

Inventive Principle:
Principle #1Segmentation

2Object-affected harmful factors

If fine-grained security controls are implemented, then consumer data and intellectual property are better protected, but system complexity increases

Engineering Contradiction:
Improvedata protectionVSAvoidsystem complexity
Core Design Contradiction:
Object-affected harmful factorsVSDevice complexity

Solution Approach 1:

The system introduces an intermediary security layer that manages fine-grained controls without requiring complex modifications to the core database engine. This intermediary handles authentication, authorization, and data protection tasks, achieving strong security while containing system complexity in a dedicated module.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates copies of security policies and access control rules that can be applied consistently across different data objects. This copying mechanism allows fine-grained security to be enforced through template-based approaches rather than individual complex configurations for each object.

Inventive Principle:
Principle #26Copying

3Stability of the object's composition

If application updates are applied globally, then consistency across all instances is improved, but performance of existing instances may be impacted

Engineering Contradiction:
Improveapplication consistencyVSAvoidinstance performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The update application process is made dynamic, allowing the system to adapt the update propagation based on current system conditions. Instances can be updated asynchronously with configurable priorities, enabling consistency to be achieved while minimizing performance impact by updating instances during low-utilization periods or using incremental update strategies.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240272900A1In-database application package updating
Publication Date: 2024.08.15 SNOWFLAKE INC
  • US20240272900A1 patent drawing
  • US20240272900A1 patent drawing
  • US20240272900A1 patent drawing

AI summary

An in-database application package and application instance for a data platform. The data platform creates an application instance of an application package having a versioned schema, creates one or more system roles for the application instance, creates a user role and an administrator role for the application instance, creates one or more objects of the application instance based on a versioned schema, and grants one or more use privileges to the one or more roles. Application instances of the application package are upgraded or patched on the data platform based on application package versions. To ensure a proper upgrade or patch, the data platform tracks versions of executing objects of application instances in a call context.