Versioned Schema Call Stack Management for Asynchronous Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data platforms face challenges in updating applications while they are in use, requiring methodologies that allow for seamless updates, fine-grained security controls, and protection of consumer data and intellectual property, while enabling global distribution and execution of in-database applications.

Innovation Solution

The proposed solution involves a data platform architecture that includes a compute service manager, execution platform, and metadata database, enabling the development, distribution, and secure execution of applications within a customer's environment, with explicit control over permissions and isolation of applications to prevent malicious behavior, along with a versioning methodology for database schema and application packages that allows asynchronous updates without impacting running instances.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If application updates are performed while applications are in use, then continuous operation is maintained, but system stability and security may be compromised

Engineering Contradiction:
Improvecontinuous operationVSAvoidsystem stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the application update process into distinct phases: compilation of updated code, validation against security policies, and staged deployment. This segmentation allows updates to be prepared and verified before being applied to running applications, maintaining system stability while enabling continuous operation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by compiling and validating updated application code before it is deployed to running instances. Security policies are established in advance, and update proposals are validated against these policies before application, ensuring that only secure updates are applied while maintaining continuous operation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If fine-grained security controls are implemented for in-database applications, then protection of consumer data and intellectual property is improved, but system complexity increases

Engineering Contradiction:
Improvedata protectionVSAvoidsecurity control complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary security policy layer that mediates between application code and consumer data. Security policies are defined as separate entities that can be validated automatically, reducing the complexity of implementing fine-grained controls while maintaining strong protection for consumer data and intellectual property.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service security validation by automatically checking update proposals against established security policies. This automated validation process reduces the manual complexity of implementing fine-grained security controls while maintaining comprehensive data protection.

Inventive Principle:
Principle #25Self-service

3Ease of operation

If versioning methodology is implemented for schema and application packages, then seamless updates are enabled, but processing overhead increases

Engineering Contradiction:
Improveupdate smoothnessVSAvoidprocessing time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system uses copying by maintaining versioned copies of schema and application packages. Update proposals are validated against these versioned copies, enabling seamless updates through automated version comparison and validation without significant processing overhead.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12032947B1Loading procedures of versioned schema
Publication Date: 2024.07.09 SNOWFLAKE INC
  • US12032947B1 patent drawing
  • US12032947B1 patent drawing
  • US12032947B1 patent drawing

AI summary

A versioned schema of a data platform. A process of maintaining a call stack of executing objects of an application package having a versioned schema includes calling, by a first procedure executed by one or more processors, a second procedure of a versioned application instance, and determining, by the first procedure, a version of the second procedure based on a call context. In response to determining that the version of the second procedure is not in the call context, the first procedure determines a current version of the versioned application package adds the current version to the call context as the version of the second procedure.