IP Library Granted Patent US 11,531,592
Granted Patent B1
US 11,531,592 · App. 17/386,439 · Granted Dec 20, 2022

Method and system for determining favorability of upgrade window

Inventors: Shelesh Chopra (Bangalore, IN); Hemant Ramesh Gaikwad (Bangalore, IN); Rahul Deo Vishwakarma (Kolkata, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1433G06F8/65G06F8/71G06F11/008G06F11/1451G06F11/3409
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,531,592
App. No.
17/386,439
Granted
Dec 20, 2022
Kind
B1
Abstract

Techniques described herein relate to a method for deploying workflows with data management services. The method may include identifying a service update event; identifying a service sub-tree based on a service call graph; generating an update sequence for the service sub-tree; predicting an update window for the service sub-tree using a final estimated updated completion time for the service, wherein the final estimated updated completion time is based on a risk profile; selecting a first service of the service sub-tree based on the update sequence, wherein the first service includes a first standby service instance and a first active service instance; generating a backup of a first portion of a services shared data volume repository associated with the first service; and applying an update to the first standby service instance to obtain a first updated active service instance.

Claims (87)

1. A method for managing updates of a data manager, the method comprising:

identifying, by a distributed control manager of the data manager, a service update event, wherein the data manager comprises services;

in response to identifying the service update event:

identifying a service sub-tree based on a service call graph;

generating an update sequence for the service sub-tree using the service call graph;

predicting an update window for the service sub-tree based on a risk profile for a service specified in the service sub-tree;

selecting a first service of the service sub-tree based on the update sequence, wherein the first service comprises a first standby service instance and a first active service instance;

generating a backup of a first portion of a services shared data volume repository associated with the first service;

applying a first portion of an update to the first standby service instance to obtain a first updated active service instance;

making a first determination that a first performance and reliability check associated with the first updated active service instance is below a threshold; and

in response to the first determination:

applying the first portion of the update to a second standby service instance, wherein the second standby service instance comprises the first active service instance.

2. The method of claim 1 , wherein predicting the update window for the service sub-tree comprises:

predicting service sub-tree update completion time using a final estimated updated completion time for the service, wherein the final estimated updated completion time is based on the risk profile;

predicting future requests for services associated with the service sub-tree to obtain a future request density transition set;

performing peak smoothening on the future request density transition set;

performing continuous accuracy improvement to obtain an updated future request density transition set;

identifying dynamic update window identification markings (DUWIMs) for the service sub-tree based on the updated future request density transition set; and

identifying the update window using the DUWIMs.

3. The method of claim 2 , wherein the final estimated updated completion time is a function of an estimated update completion time for the service and a buffer window.

4. The method of claim 3 , wherein the buffer window is a function of a risk level specified in the risk profile for the service and the estimated update completion time for the service.

5. The method of claim 4 , wherein the risk level for the service is based on a count of a total number of times that an attempt was made to update the service, a count of a total number of times that an attempted update of the service failed, and a count of a total number of times that an attempted update of the service resulted in an update roll-back.

6. The method of claim 1 , wherein the risk profile for the service is based on a count of a total number of times that an attempt was made to update the service, a count of a total number of times that an attempted update of the service failed, and a count of a total number of times that an attempted update of the service resulted in an update roll-back.

7. The method of claim 1 , the method further comprising:

after applying the first portion of the update to the second standby service instance:

selecting a second service of the service sub-tree based on the update sequence, wherein the second service comprises a third standby service instance and a second active service instance;

generating a backup of a second portion of a services shared data volume repository associated with the second service;

applying a second portion of an update to the third standby service instance to obtain a second updated active service instance;

making a second determination that a second performance and reliability check associated with the second updated active service instance is above a threshold; and

in response to the second determination:

reversing the second portion of the update to the second updated active service instance to obtain the third standby service instance.

8. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for managing updates of a data manager, the method comprising:

identifying, by a distributed control manager of the data manager, a service update event, wherein the data manager comprises services;

in response to identifying the service update event:

identifying a service sub-tree based on a service call graph;

generating an update sequence for the service sub-tree using the service call graph;

predicting an update window for the service sub-tree based on a risk profile for a service specified in the service sub-tree;

selecting a first service of the service sub-tree based on the update sequence, wherein the first service comprises a first standby service instance and a first active service instance;

generating a backup of a first portion of a services shared data volume repository associated with the first service;

applying a first portion of an update to the first standby service instance to obtain a first updated active service instance;

making a first determination that a first performance and reliability check associated with the first updated active service instance is below a threshold; and

in response to the first determination:

applying the first portion of the update to a second standby service instance, wherein the second standby service instance comprises the first active service instance.

9. The non-transitory computer readable medium of claim 8 , wherein predicting the update window for the service sub-tree comprises:

predicting service sub-tree update completion time using a final estimated updated completion time for the service, wherein the final estimated updated completion time is based on the risk profile;

predicting future requests for services associated with the service sub-tree to obtain a future request density transition set;

performing peak smoothening on the future request density transition set;

performing continuous accuracy improvement to obtain an updated future request density transition set;

identifying dynamic update window identification markings (DUWIMs) for the service sub-tree based on the updated future request density transition set; and

identifying the update window using the DUWIMs.

10. The non-transitory computer readable medium of claim 9 , wherein the final estimated updated completion time is a function of an estimated update completion time for the service and a buffer window.

11. The non-transitory computer readable medium of claim 10 , wherein the buffer window is a function of a risk level specified in the risk profile for the service and the estimated update completion time for the service.

12. The non-transitory computer readable medium of claim 11 , wherein the risk level for the service is based on a count of a total number of times that an attempt was made to update the service, a count of a total number of times that an attempted update of the service failed, and a count of a total number of times that an attempted update of the service resulted in an update roll-back.

13. The non-transitory computer readable medium of claim 8 , wherein the risk profile for the service is based on a count of a total number of times that an attempt was made to update the service, a count of a total number of times that an attempted update of the service failed, and a count of a total number of times that an attempted update of the service resulted in an update roll-back.

14. The non-transitory computer readable medium of claim 8 , the method further comprising:

after applying the first portion of the update to the second standby service instance:

selecting a second service of the service sub-tree based on the update sequence, wherein the second service comprises a third standby service instance and a second active service instance;

generating a backup of a second portion of a services shared data volume repository associated with the second service;

applying a second portion of an update to the third standby service instance to obtain a second updated active service instance;

making a second determination that a second performance and reliability check associated with the second updated active service instance is above a threshold; and

in response to the second determination:

reversing the second portion of the update to the second updated active service instance to obtain the third standby service instance.

15. A system for managing updates of a data manager, the system comprising:

the data manager comprising services;

a distributed control manager of the data manager, comprising a processor and memory, configured to:

identify a service update event, wherein the data manager comprises services;

in response to identifying the service update event:

identifying a service sub-tree based on a service call graph;

generating an update sequence for the service sub-tree using the service call graph;

predicting an update window for the service sub-tree based on a risk profile for a service specified in the service sub-tree;

selecting a first service of the service sub-tree based on the update sequence, wherein the first service comprises a first standby service instance and a first active service instance;

generating a backup of a first portion of a services shared data volume repository associated with the first service;

applying a first portion of an update to the first standby service instance to obtain a first updated active service instance;

making a first determination that a first performance and reliability check associated with the first updated active service instance is below a threshold; and

in response to the first determination:

applying the first portion of the update to a second standby service instance, wherein the second standby service instance comprises the first active service instance.

16. The system of claim 15 , wherein predicting the update window for the service sub-tree comprises:

predicting service sub-tree update completion time using a final estimated updated completion time for the service, wherein the final estimated updated completion time is based on the risk profile;

predicting future requests for services associated with the service sub-tree to obtain a future request density transition set;

performing peak smoothening on the future request density transition set;

performing continuous accuracy improvement to obtain an updated future request density transition set;

identifying dynamic update window identification markings (DUWIMs) for the service sub-tree based on the updated future request density transition set; and

identifying the update window using the DUWIMs.

17. The system of claim 16 , wherein the final estimated updated completion time is a function of an estimated update completion time for the service and a buffer window.

18. The system of claim 17 , wherein the buffer window is a function of a risk level specified in the risk profile for the service and the estimated update completion time for the service.

19. The system of claim 18 , wherein the risk level for the service is based on a count of a total number of times that an attempt was made to update the service, a count of a total number of times that an attempted update of the service failed, and a count of a total number of times that an attempted update of the service resulted in an update roll-back.

20. The system of claim 15 , wherein the risk profile for the service is based on a count of a total number of times that an attempt was made to update the service, a count of a total number of times that an attempted update of the service failed, and a count of a total number of times that an attempted update of the service resulted in an update roll-back.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) 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 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) 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 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
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 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
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 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
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 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2021
From: CHOPRA, SHELESH; GAIKWAD, HEMANT; VISHWAKARMA, RAHUL DEO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 057025/0345 →
Priority Claims (1)
IN 202141026168 · Jun 22, 2021 · national