IP Library Granted Patent US 11,803,426
Granted Patent B2
US 11,803,426 · App. 17/137,733 · Granted Oct 31, 2023

Determining a deployment schedule for operations performed on devices using device dependencies and redundancies

Inventors: Mohamed Sohail (Sheikh Zayed, EG); Hung Dinh (Austin, TX); Parminder Singh Sethi (Ludhiana, IN); Mohammad Rafey (Bangalore, IN); Bijan Kumar Mohanty (Austin, TX)
Assignee: Dell Products L.P.
G06F9/52G06F9/4881G06N5/04G06N20/00
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,803,426
App. No.
17/137,733
Granted
Oct 31, 2023
Kind
B2
Abstract

An apparatus comprises a processing device configured to generate a model of a plurality of devices characterizing relationships between the devices, to build a device dependency chain for the devices based on the model, to predict workload for each of the devices in one or more time slots of a given time period, and to determine a deployment schedule for the devices based on the device dependency chain and the predicted workload. The processing device is also configured to utilize the deployment schedule to select a device of the devices on which to perform an operation, to determine whether the selected device corresponds to an additional device of the devices configured to operate in place of the selected device during performance of the operation, and to control performance of the operation on the selected device responsive to the determination of whether the selected device corresponds to the additional device.

Claims (59)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

generating a model of a plurality of devices in an information technology infrastructure, the generated model characterizing relationships between the plurality of devices;

building a device dependency chain for the plurality of devices based at least in part on the generated model characterizing the relationships between the plurality of devices;

predicting workload for each of the plurality of devices in one or more time slots of a given time period;

determining a deployment schedule for the plurality of devices based at least in part on the device dependency chain and the predicted workload for each of the plurality of devices in the one or more time slots;

utilizing the deployment schedule to select a device of the plurality of devices on which to perform an operation;

determining whether the selected device corresponds to an additional device of the plurality of devices configured to operate in place of the selected device during performance of the operation; and

controlling performance of the operation on the selected device responsive to the determination of whether the selected device corresponds to the additional device.

2. The apparatus of claim 1 wherein the plurality of devices comprise Internet of Things devices.

3. The apparatus of claim 1 wherein determining whether the selected device corresponds to the additional device comprises:

analyzing configurations of the plurality of devices to build a device redundancy matrix comprising relationships between at least a subset of the plurality of devices identified as being able to operate in place of one or more devices in the subset; and

identifying a relationship between the selected device and the additional device on the device redundancy matrix.

4. The apparatus of claim 1 wherein the operation comprises updating at least one application on the selected device.

5. The apparatus of claim 4 wherein the operation is performed using a rolling update mechanism responsive to an affirmative determination that the selected device corresponds to the additional device, and wherein performing the operation using the rolling update mechanism comprises:

notifying the additional device of the operation to be performed on the selected device; and

configuring an application on the additional device to operate in place of the at least one application on the selected device during the updating of the at least one application on the selected device.

6. The apparatus of claim 4 wherein the operation is performed using an in-place update mechanism responsive to a negative determination that the selected device corresponds to the additional device.

7. The apparatus of claim 1 wherein the model of the plurality of devices comprises a directed weighted graph with nodes representing the plurality of devices and edges between the nodes representing call relationships between the plurality of devices.

8. The apparatus of claim 7 wherein a given edge weight associated with a given edge between a first node and a second node in the directed weighted graph is based at least in part on a number of requests between the first node and the second node and an amount of data exchanged between the first node and the second node.

9. The apparatus of claim 1 wherein building the device dependency chain for the plurality of devices comprises computing an overall dependency score for each of the plurality of devices, the overall dependency score for a given device comprising a sum of pairwise dependency scores characterizing activity between the given device and each of at least a subset of other ones of the plurality of devices that have call relationships with the given device.

10. The apparatus of claim 1 wherein the given time period comprises a day, and the one or more time slots comprise hours in the day.

11. The apparatus of claim 1 wherein predicting the workload for each of the plurality of devices in the one or more time slots of the given time period comprises utilizing a machine learning regression analysis.

12. The apparatus of claim 11 wherein the machine learning regression analysis comprises a multivariate linear regression analysis.

13. The apparatus of claim 12 wherein the multivariate linear regression analysis is based at least in part on two or more of processor utilization of the plurality of devices, memory utilization of the plurality of devices, availability of the plurality of devices, response time of the plurality of devices, and disk utilization of the plurality of devices.

14. The apparatus of claim 1 wherein determining the deployment schedule comprises, for a given one of the one or more time slots of the given time period:

identifying a subset of the devices whose lowest predicted workload is in the given time slot; and

selecting an order in which the identified subset of the devices whose lowest predicted workload is in the given time slot in decreasing order of dependency scores obtained from the device dependency chain.

15. The apparatus of claim 1 wherein the deployment schedule specifies a sequence in which the operation is to be performed on the plurality of devices.

16. 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 at least one processing device causes the at least one processing device to perform steps of:

generating a model of a plurality of devices in an information technology infrastructure, the generated model characterizing relationships between the plurality of devices;

building a device dependency chain for the plurality of devices based at least in part on the generated model characterizing the relationships between the plurality of devices;

predicting workload for each of the plurality of devices in one or more time slots of a given time period;

determining a deployment schedule for the plurality of devices based at least in part on the device dependency chain and the predicted workload for each of the plurality of devices in the one or more time slots;

utilizing the deployment schedule to select a device of the plurality of devices on which to perform an operation;

determining whether the selected device corresponds to an additional device of the plurality of devices configured to operate in place of the selected device during performance of the operation; and

controlling performance of the operation on the selected device responsive to the determination of whether the selected device corresponds to the additional device.

17. The computer program product of claim 16 wherein determining whether the selected device corresponds to the additional device comprises:

analyzing configurations of the plurality of devices to build a device redundancy matrix comprising relationships between at least a subset of the plurality of devices identified as being able to operate in place of one or more devices in the subset; and

identifying a relationship between the selected device and the additional device on the device redundancy matrix.

18. The computer program product of claim 16 wherein:

the operation comprises updating at least one application on the selected device;

the operation is performed using a rolling update mechanism responsive to an affirmative determination that the selected device corresponds to the additional device; and

performing the operation using the rolling update mechanism comprises:

notifying the additional device of the operation to be performed on the selected device; and

configuring an application on the additional device to operate in place of the at least one application on the selected device during the updating of the at least one application on the selected device.

19. A method comprising:

generating a model of a plurality of devices in an information technology infrastructure, the generated model characterizing relationships between the plurality of devices;

building a device dependency chain for the plurality of devices based at least in part on the generated model characterizing the relationships between the plurality of devices;

predicting workload for each of the plurality of devices in one or more time slots of a given time period;

determining a deployment schedule for the plurality of devices based at least in part on the device dependency chain and the predicted workload for each of the plurality of devices in the one or more time slots;

utilizing the deployment schedule to select a device of the plurality of devices on which to perform an operation;

determining whether the selected device corresponds to an additional device of the plurality of devices configured to operate in place of the selected device during performance of the operation; and

controlling performance of the operation on the selected device responsive to the determination of whether the selected device corresponds to the additional device;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

20. The method of claim 19 wherein determining whether the selected device corresponds to the additional device comprises:

analyzing configurations of the plurality of devices to build a device redundancy matrix comprising relationships between at least a subset of the plurality of devices identified as being able to operate in place of one or more devices in the subset; and

identifying a relationship between the selected device and the additional device on the device redundancy matrix.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0342) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0460 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056136/0752) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0771 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (055479/0051) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0663 →
RELEASE OF SECURITY INTEREST AT REEL 055408 FRAME 0697 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0553 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0342 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056136/0752 →
SECURITY INTEREST Recorded Mar 3, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 055479/0051 →
SECURITY AGREEMENT Recorded Feb 25, 2021
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 055408/0697 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2021
From: MOHANTY, BIJAN KUMAR
To: DELL PRODUCTS L.P.
Reel/Frame 054795/0089 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2020
From: SOHAIL, MOHAMED; DINH, HUNG; SETHI, PARMINDER SINGH; RAFEY, MOHAMMAD
To: DELL PRODUCTS L.P.
Reel/Frame 054779/0104 →