IP Library Granted Patent US 10,764,371
Granted Patent B2
US 10,764,371 · App. 16/034,625 · Granted Sep 1, 2020

Host device with multi-path layer configured to provide cluster identification information to storage system

Inventors: Vinay G. Rao (Bangalore, IN); Subin George (Framingham, MA); Arieh Don (Newton, MA)
Assignee: EMC IP Holding Company LLC
H04L67/1097G06F3/061G06F3/067G06F3/0659G06F9/3891G06F13/20H04L41/08G06F2213/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 10,764,371
App. No.
16/034,625
Granted
Sep 1, 2020
Kind
B2
Abstract

An apparatus in one embodiment comprises a host device configured to communicate over a network with a storage system comprising a plurality of storage devices. The host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network. The multi-path input-output driver is further configured to generate a command comprising a cluster identifier of a cluster that includes the first host device and at least a second host device, and to send the command to the storage system over the network. The command is configured for utilization by the storage system to verify that the second host device is part of the same cluster as the first host device. The command may further comprise a group identifier for utilization by the storage system to identify the first host device of the cluster having the cluster identifier.

Claims (41)

1. An apparatus comprising:

a first host device configured to communicate over a network with a storage system comprising a plurality of storage devices;

the first host device comprising:

a set of input-output queues; and

a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network;

wherein the multi-path input-output driver is further configured:

to generate a command comprising a cluster identifier of a cluster that includes the first host device and at least a second host device, wherein the cluster identifier is shared by the first host device and at least the second host device, and wherein the cluster identifier uniquely identifies the cluster comprising the first and second host devices from among a plurality of other clusters each comprising a set of other host devices; and

to send the command to the storage system over the network;

wherein the command is configured for utilization by the storage system to verify that the second host device is part of the same cluster as the first host device; and

wherein the storage system is configured to extract the cluster identifier from the command and to utilize the cluster identifier to prevent one or more host devices that are not part of the cluster from accessing a given one of the storage devices that is being accessed by one or more of the host devices of the cluster.

2. The apparatus of claim 1 further comprising the second host device and wherein the second host device comprises a set of input-output queues and a multi-path input-output driver configured to select input-output operations from the set of input-output queues for delivery to the storage system over the network, the multi-path input-output driver of the second host device being further configured to generate a command comprising the cluster identifier of the cluster that includes the first host device and at least the second host device and to send the command to the storage system over the network.

3. The apparatus of claim 1 wherein the command further comprises a group identifier for utilization by the storage system to identify the first host device of the cluster having the cluster identifier.

4. The apparatus of claim 1 wherein the command comprises a vendor unique command configured to incorporate the cluster identifier.

5. The apparatus of claim 1 wherein the command is sent to the storage system in conjunction with a host registration process.

6. The apparatus of claim 1 wherein the command comprises a Small Computer System Interface (SCSI) command modified to incorporate the cluster identifier.

7. The apparatus of claim 1 wherein the multi-path input-output driver comprises a user-space portion and a kernel-space portion.

8. The apparatus of claim 7 wherein the user-space portion of the multi-path input-output driver is configured to obtain the cluster identifier from clustering software running on the host device.

9. The apparatus of claim 1 wherein the storage system is further configured to utilize the cluster identifier to verify that the second host device is part of the same cluster as the first host device.

10. The apparatus of claim 1 wherein the storage system is further configured to utilize the cluster identifier to confirm that the first and second host devices are part of an active-active replication pair.

11. The apparatus of claim 1 wherein the storage system is further configured to utilize the cluster identifier to ensure that the host devices of the cluster utilize a common device name for a given one of the storage devices that is being accessed by one or more of the host devices of the cluster.

12. The apparatus of claim 1 wherein the storage system is further configured to utilize the cluster identifier to block one or more actions that might otherwise violate one or more storage system restrictions relating to the cluster.

13. A method comprising:

configuring a multi-path input-output driver of a first host device to communicate with a storage system over a network;

the multi-path input-output driver:

selecting input-output operations from a set of input-output queues of the first host device for delivery to the storage system over the network;

generating a command comprising a cluster identifier of a cluster that includes the first host device and at least a second host device, wherein the cluster identifier is shared by the first host device and at least the second host device, and wherein the cluster identifier uniquely identifies the cluster comprising the first and second host devices from among a plurality of other clusters each comprising a set of other host devices; and

sending the command to the storage system over the network;

wherein the command is configured for utilization by the storage system to verify that the second host device is part of the same cluster as the first host device; and

wherein the cluster identifier is extracted from the command and utilized by the storage system to prevent one or more host devices that are not part of the cluster from accessing a given one of the storage devices that is being accessed by one or more of the host devices of the cluster.

14. The method of claim 13 wherein the command further comprises a group identifier for utilization by the storage system to identify the first host device of the cluster having the cluster identifier.

15. The method of claim 13 wherein the multi-path input-output driver comprises a user-space portion and a kernel-space portion and wherein the user-space portion of the multi-path input-output driver is configured to obtain the cluster identifier from clustering software running on the first host device.

16. 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 a first host device comprising a multi-path input-output driver, the first host device being configured to communicate over a network with a storage system, causes the multi-path input-output driver:

to select input-output operations from a set of input-output queues of the first host device for delivery to the storage system over the network;

to generate a command comprising a cluster identifier of a cluster that includes the first host device and at least a second host device, wherein the cluster identifier is shared by the first host device and at least the second host device, and wherein the cluster identifier uniquely identifies the cluster comprising the first and second host devices from among a plurality of other clusters each comprising a set of other host devices; and

to send the command to the storage system over the network;

wherein the command is configured for utilization by the storage system to verify that the second host device is part of the same cluster as the first host device; and

wherein the cluster identifier is extracted from the command and utilized by the storage system to prevent one or more host devices that are not part of the cluster from accessing a given one of the storage devices that is being accessed by one or more of the host devices of the cluster.

17. The computer program product of claim 16 wherein the command further comprises a group identifier for utilization by the storage system to identify the first host device of the cluster having the cluster identifier.

18. The computer program product of claim 16 wherein the multi-path input-output driver comprises a user-space portion and a kernel-space portion and wherein the user-space portion of the multi-path input-output driver is configured to obtain the cluster identifier from clustering software running on the first host device.

19. The computer program product of claim 16 wherein the cluster identifier is further utilized by the storage system to verify that the second host device is part of the same cluster as the first host device.

20. The computer program product of claim 16 wherein the cluster identifier is further utilized by the storage system to ensure that the host devices of the cluster utilize a common device name for a given one of the storage devices that is being accessed by one or more of the host devices of the cluster.

Assignments (8)
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 (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2018
From: RAO, VINAY G.; GEORGE, SUBIN; DON, ARIEH
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046343/0283 →
Cited By (14)
US 12,189,957 US 12,204,762 US 12,216,526 US 12,222,863 US 12,299,118 US 12,299,300 US 12,299,327 US 12,353,711 US 12,405,738 US 12,487,771 US 12,493,409 US 12,498,866 US 12,561,419 US 12,568,040