IP Library Granted Patent US 11,032,373
Granted Patent B1
US 11,032,373 · App. 17/068,203 · Granted Jun 8, 2021

Host-based bandwidth control for virtual initiators

Inventors: Sanjib Mallick (Bangalore, IN); Vinay G. Rao (Bangalore, IN); Krishna Deepak Nuthakki (Bangalore, IN); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
H04L67/1097H04L41/0896H04L61/6022H04L67/322
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,032,373
App. No.
17/068,203
Granted
Jun 8, 2021
Kind
B1
Abstract

An apparatus comprises at least one processing device that is configured to control delivery of input-output operations from a host device to a storage system over selected ones of a plurality of paths through a network, wherein the paths are associated with respective initiator-target pairs, the initiators being implemented on the host device and the targets being implemented on the storage system. The at least one processing device is further configured to identify a particular one of the initiators that comprises multiple virtual initiators having respective virtual identifiers, to determine a negotiated rate of the particular initiator, to determine a negotiated rate of a corresponding one of the targets, and to limit amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target.

Claims (56)

1. An apparatus comprising:

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

wherein the at least one processing device is configured:

to control delivery of input-output operations from a host device to a storage system over selected ones of a plurality of paths through a network, wherein the paths are associated with respective initiator-target pairs, the initiators being implemented on the host device and the targets being implemented on the storage system;

to identify a particular one of the initiators that comprises multiple virtual initiators having respective virtual identifiers;

to determine a negotiated rate of the particular initiator;

to determine a negotiated rate of a corresponding one of the targets; and

to limit amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target;

wherein limiting amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target comprises restricting a total amount of bandwidth utilized across the multiple initiators as a function of the negotiated rate of the particular initiator or the negotiated rate of the corresponding target, whichever is smaller.

2. The apparatus of claim 1 wherein the initiators of the initiator-target pairs comprise respective host bus adaptors of the host device and the targets of the initiator-target pairs comprise respective storage array ports of the storage system.

3. The apparatus of claim 1 wherein the negotiated rates of the respective particular initiator and the corresponding target comprise respective negotiated data rates determined by execution of at least one link negotiation protocol for an associated one of the paths.

4. The apparatus of claim 1 wherein the multiple virtual initiators are identified by respective ones of a plurality of media access control (MAC) addresses of a single network interface of a network interface card (NIC).

5. The apparatus of claim 1 wherein said at least one processing device comprises at least one multi-path input-output driver implemented in the host device and configured to control delivery of input-output operations to storage devices of the storage system over selected ones of the plurality of paths through the network.

6. The apparatus of claim 1 wherein determining a negotiated rate of a corresponding one of the targets comprises obtaining the negotiated rate directly from the storage system.

7. The apparatus of claim 6 wherein obtaining the negotiated rate directly from the storage system comprises sending to the storage system one or more commands of a specified storage access protocol in order to read the negotiated rate from the storage system.

8. The apparatus of claim 1 wherein determining a negotiated rate of a corresponding one of the targets comprises obtaining the negotiated rate indirectly from the storage system.

9. The apparatus of claim 8 wherein obtaining the negotiated rate indirectly from the storage system comprises obtaining the negotiated rate via one or more external servers coupled between the host device and the storage system.

10. The apparatus of claim 1 wherein limiting amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target further comprises:

monitoring bandwidth usage of the multiple virtual initiators over time; and

limiting at least one of a number of input-output operations and an amount of data sent using each of the multiple virtual initiators based at least in part on their respective monitored bandwidth usage.

11. The apparatus of claim 1 wherein the multiple virtual initiators are associated with a single host bus adaptor of the host device but have respective unique identifiers associated therewith.

12. The apparatus of claim 1 wherein different ones of the multiple virtual initiators are associated with respective different ones of:

a plurality of virtual machines of the host device that share a single host bus adaptor of the host device; and

a plurality of logical partitions of the host device that share a single host bus adaptor of the host device.

13. An apparatus comprising:

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

wherein the at least one processing device is configured:

to control delivery of input-output operations from a host device to a storage system over selected ones of a plurality of paths through a network, wherein the paths are associated with respective initiator-target pairs, the initiators being implemented on the host device and the targets being implemented on the storage system;

to identify a particular one of the initiators that comprises multiple virtual initiators having respective virtual identifiers;

to determine a negotiated rate of the particular initiator;

to determine a negotiated rate of a corresponding one of the targets; and

to limit amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target;

wherein the multiple virtual initiators comprise respective ones of a plurality of N-Port ID Virtualization (NPIV) initiators associated with one or more Fibre Channel (FC) network connections.

14. 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, causes the at least one processing device:

to control delivery of input-output operations from a host device to a storage system over selected ones of a plurality of paths through a network, wherein the paths are associated with respective initiator-target pairs, the initiators being implemented on the host device and the targets being implemented on the storage system;

to identify a particular one of the initiators that comprises multiple virtual initiators having respective virtual identifiers;

to determine a negotiated rate of the particular initiator;

to determine a negotiated rate of a corresponding one of the targets; and

to limit amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target;

wherein limiting amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target comprises restricting a total amount of bandwidth utilized across the multiple initiators as a function of the negotiated rate of the particular initiator or the negotiated rate of the corresponding target, whichever is smaller.

15. The computer program product of claim 14 wherein limiting amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target further comprises:

monitoring bandwidth usage of the multiple virtual initiators over time; and

limiting at least one of a number of input-output operations and an amount of data sent using each of the multiple virtual initiators based at least in part on their respective monitored bandwidth usage.

16. The computer program product of claim 14 wherein the multiple virtual initiators comprise respective ones of a plurality of N-Port ID Virtualization (NPIV) initiators associated with one or more Fibre Channel (FC) network connections.

17. A method comprising:

controlling delivery of input-output operations from a host device to a storage system over selected ones of a plurality of paths through a network, wherein the paths are associated with respective initiator-target pairs, the initiators being implemented on the host device and the targets being implemented on the storage system;

identifying a particular one of the initiators that comprises multiple virtual initiators having respective virtual identifiers;

determining a negotiated rate of the particular initiator;

determining a negotiated rate of a corresponding one of the targets; and

limiting amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target;

wherein limiting amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target comprises restricting a total amount of bandwidth utilized across the multiple initiators as a function of the negotiated rate of the particular initiator or the negotiated rate of the corresponding target, whichever is smaller.

18. The method of claim 17 wherein limiting amounts of bandwidth utilized by the multiple virtual initiators in communicating with the corresponding target based at least in part on the negotiated rate of the particular initiator and the negotiated rate of the corresponding target further comprises:

monitoring bandwidth usage of the multiple virtual initiators over time; and

limiting at least one of a number of input-output operations and an amount of data sent using each of the multiple virtual initiators based at least in part on their respective monitored bandwidth usage.

19. The method of claim 17 wherein the multiple virtual initiators comprise respective ones of a plurality of N-Port ID Virtualization (NPIV) initiators associated with one or more Fibre Channel (FC) network connections.

20. The method of claim 17 wherein the multiple virtual initiators are identified by respective ones of a plurality of media access control (MAC) addresses of a single network interface of a network interface card (NIC).

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) 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 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) 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 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) 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/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
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 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
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 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2020
From: MALLICK, SANJIB; RAO, VINAY G.; NUTHAKKI, KRISHNA DEEPAK; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054027/0946 →
Cited By (1)
US 12,561,419