IP Library Granted Patent US 10,013,213
Granted Patent B2
US 10,013,213 · App. 15/136,190 · Granted Jul 3, 2018

Container migration utilizing state storage of partitioned storage volume

Inventors: Keerthana Suresh (Sunnyvale, CA); Vaibhav Khanduja (Cupertino, CA); Ashish Mehrotra (San Jose, CA)
Assignee: EMC IP Holding Company LLC
G06F3/0665G06F3/0619G06F3/0644G06F3/0689
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,013,213
App. No.
15/136,190
Granted
Jul 3, 2018
Kind
B2
Abstract

An apparatus comprises at least a first container host device implementing a plurality of containers, a storage platform coupled to the first container host device and implementing storage resources for utilization by the containers, and a container storage controller associated with the first container host device. The container storage controller is configured to provision portions of the storage resources for respective ones of the containers including for each of the containers at least one storage volume. The provisioned storage volume for a given one of the containers is partitioned into at least a data storage volume and a state storage volume, with the data storage volume being configured to store data for at least one application running in the given container, and the state storage volume being configured to store state information of the given container for use in migrating the given container from the first container host device to a second container host device.

Claims (51)

1. An apparatus comprising:

at least a first container host device implementing a plurality of containers;

a storage platform coupled to the first container host device and implementing storage resources for utilization by the containers; and

a container storage controller associated with the first container host device;

wherein the container storage controller is configured to provision portions of the storage resources for respective ones of the containers including for each of the containers at least one storage volume;

wherein the provisioned storage volume for a given one of the containers is partitioned into at least a data storage volume and a state storage volume;

the data storage volume being configured to store data for at least one application running in the given container; and

the state storage volume storing state information of the given container for use in migrating the given container from the first container host device to a second container host device; and

wherein the state information comprises application state information for a given application running in the given container and corresponding container environment state information for the given application.

2. The apparatus of claim 1 wherein the first container host device comprises at least one processor coupled to a memory and wherein at least a portion of the container storage controller is implemented by the processor executing software stored in the memory.

3. The apparatus of claim 1 wherein the storage platform comprises at least one of a storage fabric and a storage array.

4. The apparatus of claim 1 wherein the provisioned storage volumes comprise respective storage disks having respective associated file systems.

5. The apparatus of claim 1 wherein the container environment state information for the given application running in the given container comprises information characterizing one or more parameters of a container operating environment of the given application including one or more of network parameters, port parameters, storage parameters and command line parameters.

6. The apparatus of claim 1 wherein the container environment state information for the given application running in the given container comprises identifiers of one or more other containers that the given application links to in the course of its execution.

7. The apparatus of claim 1 further comprising a container migration controller configured to retrieve the state information of the given container from the state storage volume of the partitioned storage volume, to stop the given container on the first container host device, to start the given container on the second container host device, and to utilize the retrieved state information to configure the given container on the second container host device.

8. The apparatus of claim 7 wherein the container migration controller is implemented at least in part within the container storage controller.

9. The apparatus of claim 1 wherein the container storage controller comprises a container storage orchestration tool running as an application on the first container host device.

10. The apparatus of claim 1 wherein the container storage controller is configured to receive as inputs for each of the containers a container manifest for that container and a storage manifest for that container.

11. The apparatus of claim 10 wherein the container storage controller is configured to identify the given container characterized by the container manifest and provision the storage volume and an associated file system for the given container in accordance with the storage manifest prior to starting the given container.

12. The apparatus of claim 11 wherein the storage manifest for the given container specifies one or more of storage volume size, storage type, deduplication property, protection mechanism and storage mount path for the storage volume of that container.

13. An information processing system comprising the apparatus of claim 1 .

14. The apparatus of claim 1 wherein the data storage volume stores data utilized by the given application in the course of its execution, the application state information comprises an application image that can be used to restart the given application after migration of the given container from the first container host device to the second container host device, and the container environment state information comprises state information relating to a container operating environment for the given application.

15. A method comprising:

implementing containers on at least a first container host device;

configuring storage resources of a storage platform for utilization by the containers;

provisioning portions of the storage resources for respective ones of the containers including for each of the containers at least one storage volume; and

partitioning the provisioned storage volume for a given one of the containers into at least a data storage volume and a state storage volume;

the data storage volume being configured to store data for at least one application running in the given container; and

the state storage volume storing state information of the given container for use in migrating the given container from the first container host device to a second container host device;

wherein the state information comprises application state information for a given application running in the given container and corresponding container environment state information for the given application; and

wherein the implementing, configuring, provisioning and partitioning are performed by at least one processing device comprising a processor coupled to a memory.

16. The method of claim 15 further comprising:

retrieving the state information of the given container from the state storage volume of the partitioned storage volume;

stopping the given container on the first container host device;

starting the given container on the second container host device; and

utilizing the retrieved state information to configure the given container on the second container host device.

17. The method of claim 15 wherein the data storage volume stores data utilized by the given application in the course of its execution, the application state information comprises an application image that can be used to restart the given application after migration of the given container from the first container host device to the second container host device, and the container environment state information comprises state information relating to a container operating environment for the given application.

18. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the processing device:

to implement containers on at least a first container host device;

to configure storage resources of a storage platform for utilization by the containers;

to provision portions of the storage resources for respective ones of the containers including for each of the containers at least one storage volume; and

to partition the provisioned storage volume for a given one of the containers into at least a data storage volume and a state storage volume;

the data storage volume being configured to store data for at least one application running in the given container; and

the state storage volume storing state information of the given container for use in migrating the given container from the first container host device to a second container host device;

wherein the state information comprises application state information for a given application running in the given container and corresponding container environment state information for the given application.

19. The computer program product of claim 18 wherein the program code when executed by said at least one processing device further causes the processing device:

to retrieve the state information of the given container from the state storage volume of the partitioned storage volume;

to stop the given container on the first container host device;

to start the given container on the second container host device; and

to utilize the retrieved state information to configure the given container on the second container host device.

20. The computer program product of claim 18 wherein the data storage volume stores data utilized by the given application in the course of its execution, the application state information comprises an application image that can be used to restart the given application after migration of the given container from the first container host device to the second container host device, and the container environment state information comprises state information relating to a container operating environment for the given application.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: SURESH, KEERTHANA; KHANDUJA, VAIBHAV; MEHROTRA, ASHISH
To: EMC CORPORATION
Reel/Frame 038488/0160 →
Continuity (1)
Related Publication 20170308330A1 · Oct 26, 2017
Cited By (1)
US 12,530,245