IP Library › Granted Patent US 12,175,078
Granted Patent B2
US 12,175,078 · App. 17/970,676 · Granted Dec 24, 2024

Virtual container storage interface controller

Inventors: Thomas L. Watson (Richardson, TX); Prakash Venkatanarayanan (Framingham, MA)
Assignee: Dell Products L.P.
G06F3/061G06F3/0629G06F3/0673G06F9/45558G06F2009/45579G06F2009/45583
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 12,175,078
App. No.
17/970,676
Granted
Dec 24, 2024
Kind
B2
Abstract

Techniques for container environment management are disclosed. For example, a method manages, via a virtual container storage interface controller, a generic mapping for one or more container storage attributes for a set of storage specific container storage interface drivers respectively associated with a set of storage arrays of a storage system so as to isolate an application program, executing on a host device accessing one or more storage volumes stored on the set of storage arrays, from the set of storage specific container storage interface drivers. For example, the isolation can provide a layer of abstraction for application specific handles from the actual underlying storage and then enable use of the abstraction to provide services such as, but not limited to, seamless data mobility.

Claims (30)

1. An apparatus comprising:

at least one processing platform comprising at least one processor coupled to at least one memory, the at least one processing platform, when executing program code, is configured to implement a virtual container storage interface controller configured to implement a virtual container storage interface driver operatively coupled to and disposed between a set of storage specific container storage interface drivers and a shared set of sidecar containers, wherein the virtual container storage interface controller is configured to:

manage, via the virtual container storage interface driver, a generic mapping for one or more container storage attributes for the set of storage specific container storage interface drivers which are respectively associated with a set of storage arrays of a storage system so as to isolate an application program, executing on a host device accessing one or more storage volumes stored on the set of storage arrays, from the set of storage specific container storage interface drivers, wherein at least one of the storage arrays of the set of storage arrays has at least one of a different interface, different semantics, a different data type, a different storage product, and a different storage vendor than at least another one of the storage arrays of the set of storage arrays; and

translate, via the virtual container storage interface driver, individual requests between the set of storage specific container storage interface drivers and the shared set of sidecar containers so that the shared set of sidecars are enabled to process the individual requests from the set of storage specific container storage interface drivers.

2. The apparatus of claim 1 , wherein the virtual container storage interface controller is further configured to utilize the generic mapping to cause migration of a given one of the one or more storage volumes from a first one of the set of storage arrays to a second one of the set of storage arrays while the application program continues to execute on the host device.

3. The apparatus of claim 2 , wherein the one or more container storage attributes comprise a persistent volume attribute specifying an actual state and an aspirational state, wherein the actual state corresponds to the first one of the set of storage arrays and the aspirational state corresponds to the second one of the set of storage arrays.

4. The apparatus of claim 3 , wherein the actual state comprises an identifier for the first one of the set of storage arrays and an identity of the given one of the one or more storage volumes stored thereon.

5. The apparatus of claim 4 , wherein the aspirational state comprises an identifier for the second one of the set of storage arrays and an identity of the given one of the one or more storage volumes being migrated to the second one of the set of storage arrays for storage thereon.

6. The apparatus of claim 5 , wherein the virtual container storage interface controller is further configured to cause setup of a data path between the first one of the set of storage arrays and the second one of the set of storage arrays to enable copying of data from the given one of the one or more storage volumes from the first one of the set of storage arrays to the second one of the set of storage arrays.

7. The apparatus of claim 6 , wherein the virtual container storage interface controller is further configured to cause switching the data path of the host device from the first one of the set of storage arrays to the second one of the set of storage arrays.

8. The apparatus of claim 7 , wherein the virtual container storage interface controller is further configured to change the actual state to the identifier for the second one of the set of storage arrays and the identity of the given one of the one or more storage volumes migrated to the second one of the set of storage arrays and stored thereon.

9. The apparatus of claim 8 , wherein the virtual container storage interface controller is further configured to cause tear down of the data path between the first one of the set of storage arrays and the second one of the set of storage arrays.

10. The apparatus of claim 1 , wherein the virtual container storage interface controller is further configured to utilize the generic mapping to cause initial placement of an additional storage volume on a given one of the set of storage arrays.

11. The apparatus of claim 10 , wherein the one or more container storage attributes comprise a storage class attribute specifying a class of service attributes for selecting the given one of the set of storage arrays on which the additional storage volume will be initially placed.

12. The apparatus of claim 1 , wherein the virtual container storage interface controller is further configured to utilize the generic mapping to cause replication of at least a portion of the one or more storage volumes from a first one of the set of storage arrays to a second one of the set of storage arrays.

13. The apparatus of claim 12 , wherein the one or more container storage attributes comprise a storage class attribute specifying a class of service attributes for selecting the second one of the set of storage arrays on which the portion of the one or more storage volumes will be replicated.

14. The apparatus of claim 1 , wherein the virtual container storage interface controller is further configured to operate in a pod-based environment.

15. A method comprising:

implementing a virtual container storage interface controller configured to implement a virtual container storage interface driver operatively coupled to and disposed between a set of storage specific container storage interface drivers and a shared set of sidecar containers;

managing, via the virtual container storage interface driver, a generic mapping for one or more container storage attributes for the set of storage specific container storage interface drivers respectively associated with a set of storage arrays of a storage system so as to isolate an application program, executing on a host device accessing one or more storage volumes stored on the set of storage arrays, from the set of storage specific container storage interface drivers, wherein at least one of the storage arrays of the set of storage arrays has at least one of a different interface, different semantics, a different data type, a different storage product, and a different storage vendor than at least another one of the storage arrays of the set of storage arrays; and

translating, via the virtual container storage interface driver, individual requests between the set of storage specific container storage interface drivers and the shared set of sidecar containers so that the shared set of sidecars are enabled to process the individual requests from the set of storage specific container storage interface drivers;

wherein the virtual container storage interface controller is implemented on a processing platform comprising at least one processor, coupled to at least one memory, executing program code.

16. The method of claim 15 , wherein the virtual container storage interface controller utilizes the generic mapping to cause migration of a given one of the one or more storage volumes from a first one of the set of storage arrays to a second one of the set of storage arrays while the application program continues to execute on the host device.

17. The method of claim 15 , wherein the virtual container storage interface controller utilizes the generic mapping to cause initial placement of an additional storage volume on a given one of the set of storage arrays.

18. The method of claim 15 , wherein the virtual container storage interface controller utilizes the generic mapping to cause replication of at least a portion of the one or more storage volumes from a first one of the set of storage arrays to a second one of the set of storage arrays.

19. The method of claim 18 , wherein the one or more container storage attributes comprise a storage class attribute specifying a class of service attributes for selecting the second one of the set of storage arrays on which the portion of the one or more storage volumes will be replicated.

20. 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 platform causes the at least one processing platform to:

implement a virtual container storage interface controller configured to implement a virtual container storage interface driver operatively coupled to and disposed between a set of storage specific container storage interface drivers and a shared set of sidecar containers;

manage, via the virtual container storage interface driver, a generic mapping for one or more container storage attributes for a set of storage specific container storage interface drivers respectively associated with the set of storage arrays of a storage system so as to isolate an application program, executing on a host device accessing one or more storage volumes stored on the set of storage arrays, from the set of storage specific container storage interface drivers, wherein at least one of the storage arrays of the set of storage arrays has at least one of a different interface, different semantics, a different data type, a different storage product, and a different storage vendor than at least another one of the storage arrays of the set of storage arrays; and

translate, via the virtual container storage interface driver, individual requests between the set of storage specific container storage interface drivers and the shared set of sidecar containers so that the shared set of sidecars are enabled to process the individual requests from the set of storage specific container storage interface drivers.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: WATSON, THOMAS L.; VENKATANARAYANAN, PRAKASH
To: DELL PRODUCTS L.P.
Reel/Frame 061492/0310 →
Continuity (2)
Related Publication 20240134526A1 · Apr 25, 2024
Related Publication 20240231620A9 · Jul 11, 2024