IP Library Granted Patent US 11,409,460
Granted Patent B2
US 11,409,460 · App. 17/114,854 · Granted Aug 9, 2022

Performance-driven movement of applications between containers utilizing multiple data transmission paths with associated different access protocols

Inventors: Amit Pundalik Anchi (Bangalore, IN); Sanjib Mallick (Bangalore, IN); Vinay G. Rao (Bangalore, IN); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0653G06F3/061G06F3/0679G06F13/426G06F13/4221G06F2213/0008G06F2213/0036
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 11,409,460
App. No.
17/114,854
Granted
Aug 9, 2022
Kind
B2
Abstract

An apparatus in one embodiment comprises at least one processing device. The at least one processing device is configured to monitor performance of respective ones of a plurality of paths for accessing a logical storage device, and responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, to move at least one application from a first container that utilizes a first access protocol to access the logical storage device to a second container that utilizes a second access protocol different than the first access protocol to access the logical storage device. For example, in some embodiments, the at least one processing device is configured to move an application from first container that utilizes a SCSI access protocol to a second container that utilizes an NVMe access protocol, and vice versa, responsive to detected performance issues.

Claims (47)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to monitor performance of respective ones of a plurality of paths for accessing a logical storage device; and

responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, to move at least one application from a first container that utilizes a first access protocol to access the logical storage device to a second container that utilizes a second access protocol different than the first access protocol to access the logical storage device;

wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises:

monitoring performance of a first set of paths associated with the first access protocol; and

monitoring performance of a second set of paths associated with the second access protocol; and

wherein said at least one processing device comprises at least a portion of at least one host device coupled to a storage system via at least one network.

2. The apparatus of claim 1 wherein the first access protocol comprises a Small Computer System Interface (SCSI) access protocol and the second access protocol comprises a Non-Volatile Memory Express (NVMe) access protocol.

3. The apparatus of claim 2 wherein the SCSI access protocol comprises a SCSI over Fibre Channel (SCSI-FC) access protocol and the NVMe access protocol comprises an NVMe over Fabrics (NVMeF) access protocol.

4. The apparatus of claim 1 wherein the paths are associated with respective initiator-target pairs and wherein each of a plurality of initiators of the initiator-target pairs comprises a corresponding host bus adaptor of said at least one host device and each of a plurality of targets of the initiator-target pairs comprises a corresponding port of the storage system.

5. The apparatus of claim 1 wherein monitoring performance of the first and second sets of paths associated with the respective first and second access protocols is performed at least in part by a multi-path layer of the at least one host device.

6. The apparatus of claim 1 wherein monitoring performance of the first and second sets of paths associated with the respective first and second access protocols is performed at least in part by a container orchestrator of the at least one host device.

7. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

said at least one processing device being configured:

to monitor performance of respective ones of a plurality of paths for accessing a logical storage device; and

responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, to move at least one application from a first container that utilizes a first access protocol to access the logical storage device to a second container that utilizes a second access protocol different than the first access protocol to access the logical storage device;

wherein said at least one processing device comprises at least a portion of at least one host device coupled to a storage system via at least one network; and

wherein said at least one host device comprises a multi-path layer, the multi-path layer comprising at least one multi-path input-output driver configured to control delivery of input-output operations from said at least one host device to the storage system over selected paths through the network.

8. The apparatus of claim 7 wherein the multi-path layer of the at least one host device presents the logical storage device to the first and second containers as respective first and second distinct pseudo devices.

9. The apparatus of claim 8 wherein an operating system of the at least one host device sees the logical storage device as the first and second distinct pseudo devices.

10. The apparatus of claim 8 wherein the multi-path layer of the at least one host device directs input-output operations received from the first container for the first pseudo device to a first host bus adaptor associated with the first access protocol and directs input-output operations received from the second container for the second pseudo device to a second host bus adaptor associated with the second access protocol.

11. The apparatus of claim 7 wherein the multi-path layer of the at least one host device, responsive to detection of the at least one specified condition, instructs a container orchestrator of the at least one host device to move the at least one application from the first container that utilizes the first access protocol to access the logical storage device to the second container that utilizes the second access protocol to access the logical storage device.

12. The apparatus of claim 7 wherein the multi-path layer of the at least one host device comprises one or more kernel-space components implemented in a kernel space of the at least one host device and one or more user-space components implemented in a user space of the at least one host device, and wherein the one or more user-space components of the multi-path layer comprise a user agent configured to provide an interface between at least a subset of the one or more kernel-space components of the multi-path layer and at least one user-space component of a container orchestrator of the at least one host device.

13. 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 comprising a processor coupled to a memory and configured to communicate over at least one network with a storage system, causes said at least one processing device:

to monitor performance of respective ones of a plurality of paths for accessing a logical storage device; and

responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, to move at least one application from a first container that utilizes a first access protocol to access the logical storage device to a second container that utilizes a second access protocol different than the first access protocol to access the logical storage device;

wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises:

monitoring performance of a first set of paths associated with the first access protocol; and

monitoring performance of a second set of paths associated with the second access protocol; and

wherein said at least one processing device comprises at least a portion of at least one host device coupled to the storage system via the at least one network.

14. The computer program product of claim 13 wherein a multi-path layer of the at least one host device presents the logical storage device to the first and second containers as respective first and second distinct pseudo devices.

15. The computer program product of claim 13 wherein a multi-path layer of the at least one host device, responsive to detection of the at least one specified condition, instructs a container orchestrator of the at least one host device to move the at least one application from the first container that utilizes the first access protocol to access the logical storage device to the second container that utilizes the second access protocol to access the logical storage device.

16. A method comprising:

monitoring performance of respective ones of a plurality of paths for accessing a logical storage device; and

responsive to detection of at least one specified condition in the monitored performance relating to at least a subset of the paths, moving at least one application from a first container that utilizes a first access protocol to access the logical storage device to a second container that utilizes a second access protocol different than the first access protocol to access the logical storage device;

wherein monitoring performance of respective ones of a plurality of paths for accessing a logical storage device comprises:

monitoring performance of a first set of paths associated with the first access protocol; and

monitoring performance of a second set of paths associated with the second access protocol;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory; and

wherein said at least one processing device comprises at least a portion of at least one host device coupled to a storage system via at least one network.

17. The method of claim 16 wherein a multi-path layer of the at least one host device presents the logical storage device to the first and second containers as respective first and second distinct pseudo devices.

18. The method of claim 16 wherein a multi-path layer of the at least one host device, responsive to detection of the at least one specified condition, instructs a container orchestrator of the at least one host device to move the at least one application from the first container that utilizes the first access protocol to access the logical storage device to the second container that utilizes the second access protocol to access the logical storage device.

19. The method of claim 16 wherein monitoring performance of the first and second sets of paths associated with the respective first and second access protocols is performed at least in part by a multi-path layer of the at least one host device.

20. The method of claim 16 wherein monitoring performance of the first and second sets of paths associated with the respective first and second access protocols is performed at least in part by a container orchestrator of the at least one host device.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2020
From: ANCHI, AMIT PUNDALIK; MALLICK, SANJIB; RAO, VINAY G.; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054575/0758 →
Continuity (1)
Related Publication 20220179580A1 · Jun 9, 2022