IP Library Granted Patent US 11,599,418
Granted Patent B2
US 11,599,418 · App. 16/878,062 · Granted Mar 7, 2023

Maintaining components of networked nodes with distributed data dependencies

Inventors: Mark Ranger (Seattle, WA); Michael Frank (Seattle, WA); David T Leimbach (Lynnwood, WA); Raymond Ramsden (Seattle, WA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F11/1076G06F3/0619G06F3/0689G06F11/1425G06F16/27
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,599,418
App. No.
16/878,062
Granted
Mar 7, 2023
Kind
B2
Abstract

Methods, systems and computer program products for maintaining components of networked nodes with distributed data dependencies are described. For example, in accordance with one or more embodiments, a method can comprise identifying, by a device comprising a processor, in a group of dependent nodes of a cluster of nodes, a first portion of the dependent nodes for which an update is implicated. The method can further comprise selecting, by the device, from the first portion, a second portion of the dependent nodes that are predicted to be able to be updated with the update without affecting access to data of the group of dependent nodes. Further, the method can comprise communicating, by the device, the update to the second portion of the dependent nodes.

Claims (33)

1. A method, comprising:

identifying, by a device comprising a processor, in a group of dependent nodes of a cluster of nodes, a first portion of the dependent nodes of the group, comprising first dependent nodes, for which an update is implicated, wherein the group of dependent nodes stores data linked across the group of dependent nodes;

identifying, from the first portion, a second portion, comprising second dependent nodes, of the dependent nodes of the group, that have a dependency upon other nodes of the group other than the second dependent nodes, wherein, when the second dependent nodes of the second portion are rendered unavailable for providing access to the data by the update, the first dependent nodes of the first portion are not rendered unavailable for providing the access to the data;

based on the first dependent nodes not being rendered unavailable for providing access to the data by the update, selecting, by the device, the second portion of the dependent nodes of the group to be updated with the update; and

communicating, by the device, the update to the second portion of the dependent nodes of the group.

2. The method of claim 1 , wherein the group of dependent nodes comprises a redundant array of an independent disks system.

3. The method of claim 2 , wherein the data of the group of dependent nodes is first data, and wherein the redundant array of the independent disks system comprises second data corresponding to a parity protected stripe of data that spans the redundant array of the independent disks system.

4. The method of claim 1 , wherein the selecting the second portion of the dependent nodes comprises selecting the second portion of the dependent nodes based on a journal shared between nodes of the second portion of the dependent nodes.

5. The method of claim 1 , wherein the data of the group of dependent nodes is first data, and, wherein during the updating, the access to the first data of the group of dependent nodes is enabled by replacing second data of the second portion of the dependent nodes with error-correction data.

6. The method of claim 5 , wherein the selecting the second portion of the dependent nodes comprises analyzing the error-correction data to predict whether the error-correction data is able to replace the second data of the second portion.

7. The method of claim 1 , wherein the second portion of the dependent nodes is selected based on an estimated duration for the updating of the second portion of the dependent nodes with the update.

8. The method of claim 1 , wherein the communicating the update to the second portion of the dependent nodes is for updating firmware of the second portion of the dependent nodes, and wherein the second portion of the dependent nodes is not accessible during the updating.

9. A first node device, comprising:

a memory that stores computer executable components;

a network interface that connects to a network of peer node devices;

a drive storage device that stores node data in coordination with related data stored in a second node device selected from the peer node devices, the first node device and the second node device being in a neighborhood of node devices selected from the peer node devices; and

a processor that executes the computer executable components stored in the memory, wherein the computer executable components comprise:

an update receiving component to receive an update for a component of the first node device, wherein the first node device was selected to receive the update based on the second node device being determined not to have a dependency on the first device, that results in, when the first device is rendered unavailable for provision of access to data by the update, the second device is not rendered unavailable for provision of the access to the data, and

an updating component to update the component of the first node device while the first node device is disabled from providing the node data.

10. The first node device of claim 9 , wherein the neighborhood of node devices comprises a redundant array of independent disks system.

11. The first node device of claim 10 , wherein the node data stored in coordination with data stored in the second node device comprises data corresponding to a parity protected stripe of data that spans the redundant array of independent disks system.

12. The first node device of claim 9 , wherein the first node device and the second node device are restricted from being concurrently disabled from providing data based on a sharing of a resource between the first node device and the second node device.

13. The first node device of claim 12 , wherein the resource comprises a database journal maintained by the first node device and the second node device.

14. The first node device of claim 9 , wherein, during the disabling of the first node device from providing the node data, the access to the node data of the first node device is provided by replacing data of the first node device with error-correction data provided by the neighborhood of node devices.

15. The first node device of claim 14 , wherein the update receiving component receives the update for the component of the first node device further based on an analysis of the error-correction data to predict whether the error-correction data can replace the data of the first node device.

16. The first node device of claim 14 , wherein the update receiving component receives the update for the component of the first node device further based on a predicted duration for updating the component of the first node device.

17. A non-transitory machine-readable medium comprising executable instructions that, when executed by a processor of a first device, facilitate performance of operations, the operations comprising:

identifying, in a group of dependent nodes of a cluster of nodes, a second device to be updated with an update, wherein the group of dependent nodes stores data linked across the group of dependent nodes;

selecting, from the group of dependent nodes, a third device to provide data of the second device while the second device is updated with the update, wherein the third device was selected based on the third device being determined not to have a dependency on the second device, wherein, when the second device is rendered unavailable for provision of access to the data by the update, the third device is not rendered unavailable for provision of the access to the data; and

updating the second device with the update.

18. The non-transitory machine-readable medium of claim 17 , wherein the data is first data, and wherein, during the updating, access to the first data linked across the group of dependent nodes is provided by replacing second data of the second device with third error correction data stored on the third device.

19. The non-transitory machine-readable medium, wherein the identifying the second device is based on a prediction that the second device is able to be updated without affecting access to the data linked across the group of dependent nodes.

20. The non-transitory machine-readable medium of claim 19 , wherein the prediction that the second device is able to be updated without the affecting the access to the data linked across the group of dependent nodes was based on an estimated duration for the updating the second device with the update.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2020
From: RANGER, MARK; FRANK, MICHAEL; LEIMBACH, DAVID T; RAMSDEN, RAYMOND
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052701/0869 →