In-Database Application Package Versioning and Upgrade

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data platforms face challenges in updating applications while they are in use, requiring methods that allow for seamless upgrades and patching without disrupting service, while ensuring security and intellectual property protection.

Innovation Solution

The implementation of an in-database application package and instance with versioned schema, where application instances are upgraded or patched based on application package versions, with fine-grained security controls and the ability to manage versions and upgrades globally, ensuring that consumers have explicit control over permissions and that applications are isolated from their environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If application instances are updated while in use, then application functionality is improved, but service disruption occurs

Engineering Contradiction:
Improveapplication update capabilityVSAvoidservice continuity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by creating backup versions of application instances before applying updates. The version control mechanism captures the current state, and rollback capabilities are prepared in advance, allowing updates to proceed without risking service disruption if issues occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates copies of application instances in different versions (current and updated). Multiple instances can run in parallel with different version states, allowing the system to switch between versions without disruption. The copying mechanism enables A/B testing and gradual rollouts.

Inventive Principle:
Principle #26Copying

2Reliability

If fine-grained security controls are implemented, then security and IP protection are improved, but system complexity increases

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

Solution Approach 1:

The security control system is segmented into multiple independent components: authentication modules, authorization modules, encryption modules, and audit modules. Each component handles a specific aspect of security, making the overall system more manageable and maintainable despite the fine-grained control requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces intermediary components such as security agents, policy enforcement points, and authentication brokers that mediate between application instances and consumer environments. These intermediaries simplify the security implementation by providing standardized interfaces and abstracting the complexity of fine-grained controls.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If version tracking is implemented in call context, then upgrade reliability is improved, but processing overhead increases

Engineering Contradiction:
Improveupgrade accuracyVSAvoidprocessing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system extracts version tracking information from the general call context and manages it separately through dedicated version control mechanisms. Version identifiers, metadata, and state information are stored in specialized data structures that are optimized for version management, reducing the burden on general call context processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Version tracking is implemented with local quality by maintaining version information only where and when it is needed. The system tracks versions at the application instance level rather than globally, and only active or recently used instances maintain detailed version metadata. This reduces overall processing overhead while maintaining upgrade reliability.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP4432116A1In-database application package and application
Publication Date: 2024.09.18 SNOWFLAKE INC
  • EP4432116A1 patent drawingFigure 1
  • EP4432116A1 patent drawingFigure 2
  • EP4432116A1 patent drawingFigure 3

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.