Implementing Containers For A Stateful Application In A Distributed Computing System
First Claim
1. A method comprising:
- instantiating, on a computing device, a container;
loading, by the computing device, an executable program into the container, the container being programmed to control execution of the executable program;
associating, by the computing device, a file system with the container;
mounting, by the computing device, a remote storage volume to the file system;
executing, by the container, the executable program, the executable program being such that persistent changes to a state of the executable program are invoked by the executable program during execution; and
writing, by the container, the persistent changes to the state of the executable program to the remote storage volume.
1 Assignment
0 Petitions
Accused Products
Abstract
A new snapshot of a storage volume is created by instructing computing nodes to suppress write requests. A snapshot of the application may be created and used to rollback or clone the application. Clones snapshots of storage volumes may be gradually populated with data from prior snapshots to reduce loading on a primary snapshot. Components of cloned applications may communicate with one another using addresses of these components in the parent application. Changes to application state may be written to a remote storage volume that may be mounted to a new instance or clone of the application to recreate its state. Jobs to create and execute a bundled application may be referenced with a simulated file system that generates reads to hosts only when the job log file is actually read. Storage nodes may implement interfaces to a SAN or cloud storage system.
6 Citations
20 Claims
-
1. A method comprising:
-
instantiating, on a computing device, a container; loading, by the computing device, an executable program into the container, the container being programmed to control execution of the executable program; associating, by the computing device, a file system with the container; mounting, by the computing device, a remote storage volume to the file system; executing, by the container, the executable program, the executable program being such that persistent changes to a state of the executable program are invoked by the executable program during execution; and writing, by the container, the persistent changes to the state of the executable program to the remote storage volume. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising one or more processing devices and one or more memory devices operably coupled to the one or more processing devices, the one or more memory devices storing executable code effective to cause the one or more processing devices to:
-
instantiate a container; load an executable program into the container, the container being programmed to control execution of the executable program; associate a file system with the container; mount a remote storage volume to the file system; execute the executable program, the executable program being such that persistent changes to a state of the executable program are invoked by the executable program during execution; and write the persistent changes to the state of the executable program to the remote storage volume. - View Dependent Claims (12, 13, 14, 16, 17, 18, 19, 20)
-
-
15. The system of claim 44, wherein the executable code is further effective to cause the one or more processing devices to mount the remote storage volume to the file system by changing metadata of the graph driver plugin to refer to the remote storage volume.
Specification