IP Library Granted Patent US 11,461,026
Granted Patent B2
US 11,461,026 · App. 16/747,631 · Granted Oct 4, 2022

Non-disruptive update of host multipath device dependency

Inventors: Gopinath Marappan (Coimbatore, IN); Madhu Tarikere (Bangalore, IN); Ajaykumar Rajappa (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F3/0635G06F3/0604G06F3/067G06F3/0632G06F3/0647G06F3/0659G06F3/0665
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,461,026
App. No.
16/747,631
Granted
Oct 4, 2022
Kind
B2
Abstract

A host device is configured to communicate with a storage system comprising a root logical volume. The root logical volume comprises an operating system associated with the host device. The host device is configured to obtain execution data from the root logical volume and to store the execution data in the memory of the host device. The host device is further configured to suspend the root logical volume based at least in part on the execution data stored in the memory of the host device and to change a dependency of the host device from a first multipath device of the host device to a second multipath device of the host device. The host device is further configured to reload and resume the root logical volume based at least in part on the execution data.

Claims (58)

1. An apparatus comprising:

a host device comprising at least one processor coupled to memory, the host device configured to communicate over a network with a storage system comprising a root logical volume, the root logical volume comprising an operating system associated with the host device, the host device being configured to boot based at least in part on the operating system residing in the root logical volume;

wherein the host device is further configured:

to obtain execution data from the root logical volume;

to store the execution data in the memory of the host device;

to suspend the root logical volume based at least in part on the execution data stored in the memory of the host device;

to change a dependency of the host device from a first multipath device of the host device to a second multipath device of the host device;

to reload the root logical volume based at least in part on the execution data stored in the memory of the host device, the reloading comprising updating at least a portion of the root logical volume based at least in part on the change in the dependency of the host device; and

to resume the root logical volume based at least in part on the execution data stored in the memory of the host device.

2. The apparatus of claim 1 wherein the first multipath device comprises a first plurality of paths to the root logical volume and the second multipath device comprises a second plurality of paths to the root logical volume.

3. The apparatus of claim 2 wherein the host device comprises a first multipath driver and a second multipath driver, the first multipath driver comprising the first multipath device and the second multipath driver comprising the second multipath device;

wherein changing the dependency of the host device comprises changing the dependency of the host device from the first multipath driver to the second multipath driver; and

wherein the host device is configured to submit IO operations to the root logical volume using the first multipath driver via the first multipath device prior to the change in dependency of the host device and to submit IO operations to the root logical volume using the second multipath driver via the second multipath device after the change in dependency.

4. The apparatus of claim 1 wherein the first multipath device comprises a first plurality of paths to the root logical volume and the second multipath device comprises a second plurality of paths to a target root logical volume.

5. The apparatus of claim 4 wherein the host device is further configured to migrate data of the root logical volume to the target root logical volume.

6. The apparatus of claim 4 wherein changing the dependency of the host device from the first multipath device to the second multipath device comprises changing the dependency of the host device from the root logical volume to the target root logical volume; and

wherein the host device is configured to submit IO operations to the root logical volume using the first multipath device prior to the change in dependency of the host device and to submit IO operations to the target root logical volume using the second multipath device after the change in dependency of the host device.

7. The apparatus of claim 1 wherein the execution data comprises machine code for executing at least one operating system command of the operating system residing in the root logical volume.

8. The apparatus of claim 7 wherein the at least one operating system command comprises two or more of a suspend command, a reload command and a resume command;

wherein suspending the root logical volume based at least in part on the execution data stored in the memory of the host device comprises executing the suspend command on the root logical volume based at least in part on the machine code for the suspend command stored in the memory of the host device; and

wherein at least one of reloading the root logical volume and resuming the root logical volume comprises executing the respective reload or resume command on the root logical volume based at least in part on the machine code for the respective reload or resume command stored in the memory of the host device while the root logical volume is suspended due to the execution of the suspend command.

9. A method comprising:

obtaining, by a host device, execution data from a root logical volume stored on a storage system, the host device comprising at least one processor coupled to memory and configured to communicate over a network with the storage system, the root logical volume comprising an operating system associated with the host device, the host device being configured to boot based at least in part on the operating system residing in the root logical volume;

storing, by the host device, the execution data in the memory of the host device;

suspending, by the host device, the root logical volume based at least in part on the execution data stored in the memory of the host device;

changing, by the host device, a dependency of the host device from a first multipath device of the host device to a second multipath device of the host device;

reloading, by the host device, the root logical volume based at least in part on the execution data stored in the memory of the host device, the reloading comprising updating at least a portion of the root logical volume based at least in part on the change in the dependency of the host device; and

resuming, by the host device, the root logical volume based at least in part on the execution data stored in the memory of the host device.

10. The method of claim 9 wherein the first multipath device comprises a first plurality of paths to the root logical volume and the second multipath device comprises a second plurality of paths to the root logical volume.

11. The method of claim 10 wherein the host device comprises a first multipath driver and a second multipath driver, the first multipath driver comprising the first multipath device and the second multipath driver comprising the second multipath device;

wherein changing the dependency of the host device comprises changing the dependency of the host device from the first multipath driver to the second multipath driver; and

wherein the host device is configured to submit IO operations to the root logical volume using the first multipath driver via the first multipath device prior to the change in dependency of the host device and to submit IO operations to the root logical volume using the second multipath driver via the second multipath device after the change in dependency.

12. The method of claim 9 wherein the first multipath device comprises a first plurality of paths to the root logical volume and the second multipath device comprises a second plurality of paths to a target root logical volume.

13. The method of claim 12 wherein method further comprises migrating data of the root logical volume to the target root logical volume.

14. The method of claim 12 wherein changing the dependency of the host device from the first multipath device to the second multipath device comprises changing the dependency of the host device from the root logical volume to the target root logical volume; and

wherein the host device is configured to submit IO operations to the root logical volume using the first multipath device prior to the change in dependency of the host device and to submit IO operations to the target root logical volume using the second multipath device after the change in dependency of the host device.

15. The method of claim 9 wherein the execution data comprises machine code for executing at least one operating system command of the operating system residing in the root logical volume.

16. The method of claim 15 wherein the at least one operating system command comprises two or more of a suspend command, a reload command and a resume command;

wherein suspending the root logical volume based at least in part on the execution data stored in the memory of the host device comprises executing the suspend command on the root logical volume based at least in part on the machine code for the suspend command stored in the memory of the host device; and

wherein at least one of reloading the root logical volume and resuming the root logical volume comprises executing the respective reload or resume command on the root logical volume based at least in part on the machine code for the respective reload or resume command stored in the memory of the host device while the root logical volume is suspended due to the execution of the suspend command.

17. 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 host device comprising at least one processor coupled to memory, the host device configured to communicate over a network with a storage system comprising a root logical volume, the root logical volume comprising an operating system associated with the host device, the host device being configured to boot based at least in part on the operating system residing in the root logical volume, causes the host device:

to obtain execution data from the root logical volume;

to store the execution data in the memory of the host device;

to suspend the root logical volume based at least in part on the execution data stored in the memory of the host device;

to change a dependency of the host device from a first multipath device of the host device to a second multipath device of the host device;

to reload the root logical volume based at least in part on the execution data stored in the memory of the host device, the reloading comprising updating at least a portion of the root logical volume based at least in part on the change in the dependency of the host device; and

to resume the root logical volume based at least in part on the execution data stored in the memory of the host device.

18. The computer program product of claim 17 wherein the first multipath device comprises a first plurality of paths to the root logical volume and the second multipath device comprises a second plurality of paths to the root logical volume;

wherein the host device comprises a first multipath driver and a second multipath driver, the first multipath driver comprising the first multipath device and the second multipath driver comprising the second multipath device;

wherein changing the dependency of the host device comprises changing the dependency of the host device from the first multipath driver to the second multipath driver; and

wherein the host device is configured to submit TO operations to the root logical volume using the first multipath driver via the first multipath device prior to the change in dependency of the host device and to submit TO operations to the root logical volume using the second multipath driver via the second multipath device after the change in dependency.

19. The computer program product of claim 17 wherein the first multipath device comprises a first plurality of paths to the root logical volume and the second multipath device comprises a second plurality of paths to a target root logical volume;

wherein changing the dependency of the host device from the first multipath device to the second multipath device comprises changing the dependency of the host device from the root logical volume to the target root logical volume; and

wherein the host device is configured to submit TO operations to the root logical volume using the first multipath device prior to the change in dependency of the host device and to submit TO operations to the target root logical volume using the second multipath device after the change in dependency of the host device.

20. The computer program product of claim 17 wherein the execution data comprises machine code for executing at least one operating system command;

wherein the at least one operating system command comprises two or more of a suspend command, a reload command and a resume command;

wherein suspending the root logical volume based at least in part on the execution data stored in the memory of the host device comprises executing the suspend command on the root logical volume based at least in part on the machine code for the suspend command stored in the memory of the host device; and

wherein at least one of reloading the root logical volume and resuming the root logical volume comprises executing the respective reload or resume command on the root logical volume based at least in part on the machine code for the respective reload or resume command stored in the memory of the host device while the root logical volume is suspended due to the execution of the suspend command.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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 060438/0742 →
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 (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2020
From: MARAPPAN, GOPINATH; TARIKERE, MADHU; RAJAPPA, AJAYKUMAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051565/0045 →