IP Library Granted Patent US 10,860,306
Granted Patent B2
US 10,860,306 · App. 16/054,435 · Granted Dec 8, 2020

Reducing downtime when applying a patch to multiple databases

Inventors: Pratheek Velusamy (Bangalore, IN); Janardhana Korapala (Round Rock, TX)
Assignee: Dell Products L.P.
G06F8/65G06F8/71G06F11/1433G06F11/1438G06F16/23G06F16/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 10,860,306
App. No.
16/054,435
Granted
Dec 8, 2020
Kind
B2
Abstract

A patching module being executed by a computing device may select a node comprising a first set of instances of a first module, a second set of instances of a second module, and infrastructure software used by the first and second set of instances. The patching module may apply an infrastructure patch to a copy of the infrastructure software to create patched infrastructure. The patching module may stop the first and second set of instances using the infrastructure software and restart the first and second set of instances to use the patched infrastructure. The patching module may determine that a module patch applies to the first module, copy the first module, and apply the module patch to the copy to create a patched module. The patching module may stop the first set of instances of the first module and start a third set of instances of the patched module.

Claims (102)

1. A method comprising:

concurrently executing, on a plurality of nodes, a first set of instances of a first data management module, a second set of instances of a second data management module, and infrastructure software used by the first set of instances and second set of instances; wherein

the first set of instances of the first data management module, and the second set of instances of the second data management module on the plurality of nodes are configured to execute data management operations on one or more common databases;

selecting, by one or more processors, a node from the plurality of nodes;

using the one or more processors to make a duplicate copy of the infrastructure software on the selected node to create an infrastructure software copy on the selected node;

applying, by the one or more processors, an infrastructure patch to the infrastructure software copy on the selected node to create a patched infrastructure software on the selected node, wherein the infrastructure software is used by the first set of instances of the first data management module and the second set of instances of the second data management module while the infrastructure patch is applied to the infrastructure software copy on the selected node;

stopping, by the one or more processors, the first set of instances of the first data management module on the selected node while continuing execution of the first set of instances of the first data management module on one or more other nodes of the plurality of nodes;

stopping, by the one or more processors, the second set of instances of the second data management module on the selected node while continuing execution of the second set of instances of the second data management module on one or more other nodes of the plurality of nodes; and

after stopping the first set of instances of the first data management module and the second set of instances of the second data management module on the selected node:

restarting, by the one or more processors, the first set of instances of the first data management module on the selected node to use the patched infrastructure software on the selected node; and

restarting, by the one or more processors, the second set of instances of the second data management module on the selected node to use the patched infrastructure software on the selected node.

2. The method of claim 1 , further comprising:

determining that the patched infrastructure software on the selected node causes an error message;

stopping the first set of instances of the first data management module using the patched infrastructure software on the selected node;

stopping the second set of instances of the second data management module using the patched infrastructure software on the selected node;

restarting the first set of instances of the first data management module to use the infrastructure software on the selected node; and

restarting the second set of instances of the second data management module to use the infrastructure software on the selected node.

3. The method of claim 1 , wherein:

the infrastructure software provides system support for the first and second data management modules.

4. The method of claim 1 , further comprising:

determining that a module patch applies to the first data management module on the selected node;

copying the first data management module to create a copy of the first data management module on the selected node;

applying the module patch to the copy of the first data management module on the selected node to create a patched first data management module;

stopping the first set of instances of the first data management module on the selected node; and

starting a third set of instances of the patched first data management module on the selected node.

5. The method of claim 4 , wherein applying the module patch to the copy of the first data management module to create the patched first data management module comprises:

replacing at least a portion of executable code included in the copy of the first data management module with an updated portion of the executable code to create the patched first data management module.

6. The method of claim 4 , further comprising:

determining that the patched first data management module causes an error message;

stopping the third set of instances of the patched first data management module; and

starting a fourth set of instances of the first data management module.

7. The method of claim 4 , wherein determining that the module patch applies to the first data management module comprises:

determining a version of the first data management module; and

determining that the module patch applies to the version of the first data management module.

8. A computing device comprising:

one or more processors; and

one or more non-transitory computer readable media storing instructions executable by the one or more processors to perform operations comprising:

concurrently executing, on a plurality of nodes, a first set of instances of a first data management module, a second set of instances of a second data management module, and infrastructure software used by the first set of instances and second set of instances; wherein

the first set of instances of the first data management module, and the second set of instances of the second data management module on the plurality of nodes are configured to execute data management operations on one or more common databases;

selecting a node from the plurality of nodes;

copying the infrastructure software that is on the selected node to create an infrastructure software copy on the selected node;

applying an infrastructure patch to the infrastructure software copy on the selected node to create a patched infrastructure software on the selected node, wherein the infrastructure software is used by the first set of instances of the first data management module and the second set of instances of the second data management module while the infrastructure patch is applied to the infrastructure software copy on the selected node;

stopping the first set of instances of the first data management module on the selected node while continuing execution of the first set of instances of the first data management module on one or more other nodes of the plurality of nodes;

stopping the second set of instances of the second data management module on the selected node while continuing execution of the second set of instances of the second data management module on one or more other nodes of the plurality of nodes;

after stopping the first set of instances of the first data management module and the second set of instances of the second data management module on the selected node:

automatically restarting the first set of instances of the first data management module on the selected node to use the patched infrastructure software on the selected node; and

automatically restarting the second set of instances of the second data management module on the selected node to use the patched infrastructure software on the selected node.

9. The computing device of claim 8 , wherein the operations further comprise:

determining that the patched infrastructure software on the selected node causes an error message;

stopping the first set of instances of the first data management module using the patched infrastructure software on the selected node;

stopping the second set of instances of the second data management module using the patched infrastructure software on the selected node;

restarting the first set of instances of the first data management module to use the infrastructure software on the selected node; and

restarting the second set of instances of the second data management module to use the infrastructure software on the selected node.

10. The computing device of claim 8 , wherein the operations further comprise:

determining that a module patch applies to the first data management module on the selected node;

copying the first data management module on the selected node to create a of the first data management module on the selected node;

applying the module patch to the copy of the first data management module on the selected node to create a patched first data management module;

stopping the first set of instances of the first data management module on the selected node; and

starting a third set of instances of the patched first data management module.

11. The computing device of claim 10 , wherein applying the module patch to the copy of the first data management module to create the patched first data management module comprises:

replacing at least a portion of executable code included in the copy of the first data management module with an updated portion of the executable code to create the patched first data management module.

12. The computing device of claim 10 , wherein the operations further comprise:

determining that the patched first data management module causes an error message;

stopping the third set of instances of the patched first data management module; and

starting a fourth set of instances of the first data management module.

13. The computing device of claim 10 , wherein determining that the module patch applies to the first data management module comprises:

determining a version of the first data management module; and

determining that the module patch applies to the version of the first data management module.

14. One or more non-transitory computer readable media storing instructions executable by one or more processors to perform operations comprising:

concurrently executing, on a plurality of nodes, a first set of instances of a first data management module, a second set of instances of a second data management module, and infrastructure software used by the first set of instances and second set of instances; wherein

the first set of instances of the first data management module, and the second set of instances of the second data management module on the plurality of nodes are configured to execute data management operations on one or more common databases;

selecting a node from the plurality of nodes;

copying the infrastructure software on the selected node to create an infrastructure software copy on the selected node;

applying an infrastructure patch to the infrastructure software copy on the selected node to create a patched infrastructure software on the selected node, wherein the infrastructure software is used by the first set of instances of the first data management module and the second set of instances of the second data management module while the infrastructure patch is applied to the infrastructure software copy on the selected node;

stopping the first set of instances of the first data management module on the selected node while continuing execution of the first set of instances of the first data management module on one or more other nodes of the plurality of nodes;

stopping the second set of instances of the second data management module on the selected node while continuing execution of the second set of instances of the second data management module on one or more other nodes of the plurality of nodes;

after stopping the first set of instances of the first data management module and the second set of instances of the second data management module on the selected node:

restarting, by the one or more processors, the first set of instances of the first data management module on the selected node to use the patched infrastructure software on the selected node; and

restarting, by the one or more processors, the second set of instances of the second data management module on the selected node to use the patched infrastructure software on the selected node.

15. The one or more non-transitory computer readable media of claim 14 , wherein the operations further comprise:

determining that the patched infrastructure software on the selected node causes an error message;

stopping the first set of instances of the first data management module using the patched infrastructure software on the selected node;

stopping the second set of instances of the second data management module using the patched infrastructure software on the selected node;

restarting the first set of instances of the first data management module to use the infrastructure software on the selected node; and

restarting the second set of instances of the second data management module to use the infrastructure software on the selected node.

16. The one or more non-transitory computer readable media of claim 14 , wherein:

the infrastructure software provides volume management, file system management, and automatic restart to the first set of instances and to the second set of instances.

17. The one or more non-transitory computer readable media of claim 14 , further comprising:

determining that a module patch applies to the first data management module;

copying the first data management module at the selected node to create a copy of the first data management module at the selected node;

applying the module patch to the copy of the first data management module at the selected node to create a patched module of the first data management module at the selected node;

stopping the first set of instances of the first data management module; and

starting a third set of instances of the patched module of the first data management module at the selected node.

18. The one or more non-transitory computer readable media of claim 17 , wherein applying the module patch to the copy of the first data management module to create the patched first data management module comprises:

replacing at least a portion of executable code included in the copy of the first data management module with an updated portion of the executable code to create the patched first data management module.

19. The one or more non-transitory computer readable media of claim 17 , the operations further comprising:

determining that the patched first data management module causes an error message;

stopping the third set of instances of the patched first data management module; and

starting a fourth set of instances of the first data management module.

20. The one or more non-transitory computer readable media of claim 17 , wherein determining that the module patch applies to the first data management module comprises:

determining a version of the first data management module; and

determining that the module patch applies to the version of the first data management module.

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 Aug 3, 2018
From: VELUSAMY, PRATHEEK; KORAPALA, JANARDHANA
To: DELL PRODUCTS L. P.
Reel/Frame 046716/0657 →