Containerized Application Instance Stateful Storage Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing containerized software applications face challenges in interoperability across different computing environments and have limited implementation in distributed contexts, where dependency relationships and version differences complicate software functionality.
Innovation Solution
The implementation of containerized scalable storage applications, which involve instantiating application instances based on specific parameters to utilize storage volumes in a storage cluster, attaching unattached storage volumes, and generating new volumes as needed, enabling seamless data access and failover protection across different environments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If containerized software applications are implemented in distributed contexts, then interoperability across different computing environments is improved, but dependency relationships and version differences complicate software functionality
Solution Approach 1:
The patent segments the software application into containerized units that can be independently deployed and managed. Each container encapsulates its dependencies and runtime environment, allowing the application to be divided into manageable components that can operate across different computing environments without conflict.
Solution Approach 2:
The patent implements a universal container interface that allows software containers to run consistently across different operating systems and computing environments. The container engine provides a standardized API that abstracts away environment-specific dependencies, enabling the same containerized application to function universally across diverse platforms.
2Reliability
If application instances are terminated and restarted in distributed systems, then system availability is improved, but data loss may occur without proper state management
Solution Approach 1:
The patent implements preliminary state capture mechanisms that save application state to persistent storage before termination. The system proactively manages state persistence, ensuring that data is preserved in storage volumes before the container instance is terminated, so that state can be restored upon restart without data loss.
Solution Approach 2:
The patent creates copies of application state data in persistent storage volumes that are separate from the volatile container filesystem. When a container instance is terminated, the state data exists as a copy in the storage volume, allowing the application to be restarted and have its state restored from the copied data without loss.
3Reliability
If storage volumes are dynamically attached to container instances, then data persistence and failover protection are improved, but system complexity increases
Solution Approach 1:
The patent introduces a storage driver as an intermediary layer between the container engine and the underlying storage infrastructure. This driver automates the dynamic attachment and detachment of storage volumes to container instances, managing the complexity of storage operations while providing reliable data persistence and failover protection to the containerized applications.
Solution Approach 2:
The patent implements self-service storage management where the container engine and storage driver automatically handle volume attachment, detachment, and mounting operations without requiring manual intervention. The system autonomously manages the lifecycle of storage volumes, dynamically allocating storage resources to container instances as needed and handling failover scenarios automatically.
Data Source
AI summary
An illustrative method includes determining that a first application instance of an application is terminated, instantiating, in response to the determining that the first application instance of the application is terminated, a second application instance of the application, identifying one or more particular storage volumes based on the first application instance, and attaching the one or more particular storage volumes to the second application instance.


