| CPC G06F 9/45558 (2013.01) [G06F 16/9027 (2019.01); G06F 2009/45562 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45575 (2013.01)] | 18 Claims |

|
1. A method, comprising:
invoking a library to clone a container running on a host, wherein the invoking comprises acquiring from the library a predetermined execution point that identifies in code where, during execution of the running container, a cloning operation should occur, and a location of a second host, associated with the execution point, to which a clone of the running container is to be deployed;
making, by the library, a synchronous call to a controller requesting that the running container be cloned;
in response to the call, the controller performing:
pausing the container at the execution point specified in the library;
generating a checkpoint image of the running container, wherein the checkpoint image includes a memory dump of the running container and is stored in a checkpoint image storage;
storing the checkpoint image as a child of the running container in a list maintained by the controller, wherein the list identifies a tree of containers that designate a container as a parent container and one or more other containers as children of the parent and leaf containers, wherein the tree of containers allows restoration of a leaf to be performed using checkpoint images in a corresponding branch of the tree of containers and wherein the running container and the clone container are included in the tree of containers;
restoring the checkpoint image into a clone container on the second host that is specified in the library, wherein restoring the checkpoint image includes restoring the memory dump of the running container into the clone container; and
issuing a response to the call to the clone container indicating that the clone container may proceed to new instructions or requests;
in response to receiving the response, resuming operation of the clone container at the execution point; and
resuming operation of the running container at the execution point.
|