Application Container Version Control for Data Stores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional version control systems for software applications lack functionality for managing data stores, requiring developers to interact with infrastructure management personnel for resource allocation, leading to delays and potential compromises in application development due to the lack of direct control over data versioning.

Innovation Solution

An application development system that stores application containers, each containing metadata and policies, allowing developers to perform actions like data refresh, branching, and sharing without needing IT infrastructure management, by abstracting physical resources and enforcing resource constraints through policies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If developers interact with infrastructure management personnel for data store management, then resource allocation is controlled, but development time increases and productivity decreases

Engineering Contradiction:
Improveresource allocation controlVSAvoiddevelopment efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system enables developers to autonomously perform data store version control operations (branching, sharing, refreshing, rollback) without requiring infrastructure management personnel. The source code management tool directly interfaces with the data store system, allowing developers to self-manage data stores using the same workflows they use for source code.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent merges source code management functionality with data store management functionality into a single integrated system. The source code management tool is extended to also manage data stores, combining two previously separate management processes into one unified workflow that handles both source code and data stores simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If developers wait for infrastructure management personnel to orchestrate backup and restore operations, then resource management is maintained, but time is lost and development delays occur

Engineering Contradiction:
Improveresource managementVSAvoiddevelopment delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Developers can directly initiate backup, restore, branching, and refreshing operations on data stores through the source code management tool without waiting for infrastructure personnel. The system performs these operations automatically based on developer requests, eliminating waiting time while maintaining proper resource management through the established workflow.

Inventive Principle:
Principle #25Self-service

3Productivity

If developers use stale or incorrect data to work around delays, then development continuity is maintained, but application quality deteriorates

Engineering Contradiction:
Improvedevelopment continuityVSAvoidapplication quality
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs automatic data refreshing and synchronization operations before developers need the latest data. Through automated workflows that trigger data store updates, branching, and refreshing operations in advance, developers always have access to current data without needing to use stale data as a workaround.

Inventive Principle:
Principle #10Preliminary action

4Ease of manufacture

If infrastructure management personnel handle data store resources, then resource allocation is optimized, but developer autonomy decreases and process complexity increases

Engineering Contradiction:
Improveresource allocation optimizationVSAvoidprocess complexity
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The source code management tool is enhanced to perform multiple functions: it manages both source code and data stores, handling operations like branching, sharing, refreshing, and rollback for both types of resources. This multi-functional approach eliminates the need for separate infrastructure management interventions while maintaining optimized resource allocation through unified workflows.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10540173B2Version control of applications
Publication Date: 2020.01.21 DELPHIX CORP
  • US10540173B2 patent drawing
  • US10540173B2 patent drawing
  • US10540173B2 patent drawing

AI summary

An application development system allows developers of software system to manage infrastructure resources during the development and testing process. The application development system allows users to define application containers that comprise components including source code, binaries, and virtual databases used for the application. An application container can be associated with policies that control various aspects of the actions taken using the application container including constraints and access control. The application development system enforces the policies for actions taken by users for the application containers. The encapsulation of policies with the application containers allows users of the application containers to take actions including creating virtual databases, provisioning virtual databases, and the like without requiring system administrators to manage resource issues.