IP Library Granted Patent US 10,338,828
Granted Patent B1
US 10,338,828 · App. 15/499,281 · Granted Jul 2, 2019

Shared storage based host device state transition control

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,338,828
App. No.
15/499,281
Granted
Jul 2, 2019
Kind
B1
Abstract

An apparatus in one embodiment comprises a storage system having a plurality of storage devices. The storage system is configured for accessibility by a plurality of host devices over at least one network. The storage system is further configured to store a plurality of objects and to store host device state transition information for a plurality of data services each involving one or more of the objects. The storage system comprises first and additional sets of storage elements configured to store the host device state transition information for each of at least a subset of the objects. The first and additional sets of storage elements for a given one of the objects comprise a first set of storage elements for a first data service involving the given object, and one or more additional sets of storage elements for respective ones of one or more additional data services involving the given object.

Claims (47)

1. An apparatus comprising:

a storage system comprising a plurality of storage devices;

the storage system being configured for accessibility by a plurality of host devices over at least one network;

the storage system being configured to store a plurality of objects;

the storage system being further configured to store host device state transition information for a plurality of data services each involving one or more of the objects;

the storage system comprising first and additional sets of storage elements configured to store the host device state transition information for each of at least a subset of the objects, the first and additional sets of storage elements for a given one of the objects comprising:

a first set of storage elements configured to store current state information for each of the host devices for a first data service involving the given object; and

one or more additional sets of storage elements configured to store current state information for each of the host devices for respective ones of one or more additional data services involving the given object.

2. The apparatus of claim 1 wherein the storage system is implemented at least in part within at least one processing platform that implements at least a subset of the host devices.

3. The apparatus of claim 1 wherein the first and additional sets of storage elements comprise respective tables storing current state information for each of the host devices for respective ones of the first and additional data services involving the given object.

4. The apparatus of claim 1 wherein the first and additional sets of storage elements configured to store host device state transition information are utilized by state control elements of respective ones of the host devices to ensure atomicity in state transitions of the host devices for the first and additional data services.

5. The apparatus of claim 1 wherein the data services comprise at least one of a migration service and a replication service.

6. The apparatus of claim 1 wherein the data services are associated with respective ones of a plurality of distributed state machines each comprising a plurality of host device states and host device state transitions.

7. The apparatus of claim 6 wherein the host device state transitions of a given one of the distributed state machines are controlled in accordance with a plurality of state transition rules of that distributed state machine.

8. The apparatus of claim 7 wherein the host device state transition information is read by a state control element of a given one of the host devices in order for that host device to determine if a transition to another state is permissible under the state transition rules of the given distributed state machine.

9. The apparatus of claim 7 wherein the state transition rules of the given distributed state machine comprise one or more of:

a rule specifying that a given host device can advance from a particular state to a next state only if all other host devices have reached the particular state;

a rule specifying that a given host device can advance from a previous state to a particular state and then from the particular state to a next state only if all other host devices have reached the particular state;

a rule specifying that if all host devices cannot advance from a particular state to a next state within a designated period of time then all host devices must return to the particular state; and

at least one additional rule specifying one or more actions taken responsive to detection of at least one of an absent liveliness indication and a data rendering fault for at least one of the host devices.

10. The apparatus of claim 1 wherein a given one of the objects comprises at least a portion of at least one object storage logical unit of the storage system.

11. The apparatus of claim 1 wherein the first and additional sets of storage elements comprise respective portions of at least one host device state transition logical unit of the storage system that is separate from object storage logical units of the storage system.

12. The apparatus of claim 11 wherein the host device state transition logical unit comprises a scratchpad logical unit.

13. The apparatus of claim 1 wherein writes by the host devices to the first and additional sets of storage elements configured to store the host device state transition information are performed using atomic compare and write commands.

14. The apparatus of claim 13 wherein the atomic compare and write commands comprise a Small Computer System Interface (SCSI) compare and write command.

15. The apparatus of claim 1 wherein the storage system further comprises:

a host information table configured to store host identification and liveliness information for respective ones of the host devices; and

a data service information table;

wherein host information of the host information table and data service information of the data service information table are utilized by a data services controller to implement one or more of the data services and to reconstruct host device state transition information responsive to a reboot of at least one of the host devices.

16. A method comprising:

configuring a storage system for accessibility by a plurality of host devices over at least one network;

storing a plurality of objects in the storage system; and

storing host device state transition information in the storage system for a plurality of data services each involving one or more of the objects;

wherein storing host device state transition information in the storage system further comprises for a given one of the objects:

storing in a first set of storage elements current state information for each of the host devices for a first data service involving the given object; and

storing in one or more additional sets of storage elements current state information for each of the host devices for respective ones of one or more additional data services involving the given object.

17. The method of claim 16 wherein the first and additional sets of storage elements comprise respective portions of at least one host device state transition logical unit of the storage system that is separate from object storage logical units of the storage system.

18. The method of claim 16 wherein writes by the host devices to the first and additional sets of storage elements configured to store the host device state transition information are performed using atomic compare and write commands.

19. 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 processing platform causes said processing platform:

to configure a storage system for accessibility by a plurality of host devices over at least one network;

to store a plurality of objects in the storage system; and

to store host device state transition information in the storage system for a plurality of data services each involving one or more of the objects;

wherein storing host device state transition information in the storage system further comprises for a given one of the objects:

storing in a first set of storage elements current state information for each of the host devices for a first data service involving the given object; and

storing in one or more additional sets of storage elements current state information for each of the host devices for respective ones of one or more additional data services involving the given object.

20. The computer program product of claim 19 wherein the first and additional sets of storage elements comprise respective portions of at least one host device state transition logical unit of the storage system that is separate from object storage logical units of the storage system.

21. The computer program product of claim 19 wherein writes by the host devices to the first and additional sets of storage elements configured to store the host device state transition information are performed using atomic compare and write commands.

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 (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2017
From: MALLICK, SANJIB; G, VINAY RAO; ANCHI, AMIT PUNDALIK; KANGYAMPETA, SRINIVAS
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042675/0664 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →