IP Library Granted Patent US 10,740,035
Granted Patent B1
US 10,740,035 · App. 16/404,305 · Granted Aug 11, 2020

System and method for controlling management commands at devices

Inventors: Christopher Domingo Arzola (Round Rock, TX); Austin Patrick Bolen (Austin, TX); Hahn Norden (Austin, TX)
Assignee: Dell Products L.P.
G06F3/0659G06F3/0604G06F3/0683G06F2003/0697
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,740,035
App. No.
16/404,305
Granted
Aug 11, 2020
Kind
B1
Abstract

Methods, systems, and computer programs encoded on computer storage medium, for determining a unique identifier and a firmware version of each device; updating a cache storage to store the unique identifier and the firmware version for each device; generating, for a particular device, a command that is to be performed at the particular device; accessing the cache storage to identify the cached unique identifier and the cached firmware version for the particular device; transmitting, to a device driver or the particular device, the command and data indicating the cached unique identifier and the cached firmware version for the particular device; determining, by the device driver or the particular device, that i) the cached unique identifier matches a current unique identifier for the particular device and ii) the cached firmware version matches a current firmware version for the particular device; and completing the command at the particular device.

Claims (56)

1. A computer-implemented method for controlling management commands at devices, the method comprising:

identifying a plurality of devices for inventorying;

determining, for each of the plurality of devices and by a management software module, i) a unique identifier for the device and ii) a firmware version of the device;

updating a cache storage to store the unique identifier and the firmware version for each device of the plurality of devices;

generating, for a particular device of the plurality of devices and by the management software module, a management command that is to be performed at the particular device;

in response to generating the management command, accessing the cache storage to identify the cached unique identifier and the cached firmware version for the particular device;

transmitting, by the management software module and to a device driver associated with the particular device or to the particular device, the management command and data indicating the cached unique identifier and the cached firmware version for the particular device;

determining, by the device driver or the particular device, that i) the cached unique identifier matches a current unique identifier for the particular device and ii) the cached firmware version matches a current firmware version for the particular device; and

in response to the matching, completing the management command at the particular device.

2. The computer-implemented method of claim 1 , further comprising:

determining, by the device driver or the particular device, that the cached unique identifier does not match the current unique identifier for the particular device; and

in response to determining that the cached unique identifier does not match the current unique identifier for the particular device, rejecting the management command at the particular device.

3. The computer-implemented method of claim 1 , further comprising:

determining, by the device driver or the particular device, that the cached firmware version does not match the current firmware version for the particular device; and

in response to determining that the cached firmware version does not match the current firmware version for the particular device, rejecting the management command at the particular device.

4. The computer-implemented method of claim 1 , wherein the unique identifier for each device is based on one or more properties of the device, the properties including, for each device, one or more of a serial number of the device, a state of the device, and a current configuration of the device.

5. The computer-implemented method of claim 4 , further comprising applying, by the management software module, an algorithm based on the properties of the particular device to determine the unique identifier for the particular device.

6. The computer-implemented method of claim 4 , further comprising:

determining, by the device driver, i) the current unique identifier for the particular device and ii) the current firmware version for the particular device.

7. The computer-implemented method of claim 6 , further comprising applying, by the device driver, an algorithm based on the properties of the particular device to determine the current unique identifier for the particular device.

8. The computer-implemented method of claim 1 , wherein the unique identifier is a universally unique identifier (UUID).

9. The computer-implemented method of claim 1 , wherein the plurality of devices are storage devices.

10. A system comprising a processor having access to memory media storing instructions executable by the processor to perform operations comprising:

identifying a plurality of devices for inventorying;

determining, for each of the plurality of devices and by a management software module, i) a unique identifier for the device and ii) a firmware version of the device;

updating a cache storage to store the unique identifier and the firmware version for each device of the plurality of devices;

generating, for a particular device of the plurality of devices and by the management software module, a management command that is to be performed at the particular device;

in response to generating the management command, accessing the cache storage to identify the cached unique identifier and the cached firmware version for the particular device;

transmitting, by the management software module and to a device driver associated with the particular device or to the particular device, the management command and data indicating the cached unique identifier and the cached firmware version for the particular device;

determining, by the device driver or the particular device, that i) the cached unique identifier matches a current unique identifier for the particular device and ii) the cached firmware version matches a current firmware version for the particular device; and

in response to the matching, completing the management command at the particular device.

11. The system of claim 10 , the operations further comprising:

determining, by the device driver or the particular device, that the cached unique identifier does not match the current unique identifier for the particular device; and

in response to determining that the cached unique identifier does not match the current unique identifier for the particular device, rejecting the management command at the particular device.

12. The system of claim 10 , the operations further comprising:

determining, by the device driver or the particular device, that the cached firmware version does not match the current firmware version for the particular device; and

in response to determining that the cached firmware version does not match the current firmware version for the particular device, rejecting the management command at the particular device.

13. The system of claim 10 , wherein the unique identifier for each device is based on one or more properties of the device, the properties including, for each device, one or more of a serial number of the device, a state of the device, and a current configuration of the device.

14. The system of claim 13 , the operations further comprising applying, by the management software module, an algorithm based on the properties of the particular device to determine the unique identifier for the particular device.

15. The system of claim 10 , the operations further comprising:

determining, by the device driver, i) the current unique identifier for the particular device and ii) the current firmware version for the particular device.

16. The system of claim 15 , the operations further comprising applying, by the device driver, an algorithm based on the properties of the particular device to determine the current unique identifier for the particular device.

17. The system of claim 10 , wherein the unique identifier is a universally unique identifier (UUID).

18. The system of claim 10 , wherein the plurality of devices are storage devices.

19. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:

identifying a plurality of devices for inventorying;

determining, for each of the plurality of devices and by a management software module, i) a unique identifier for the device and ii) a firmware version of the device;

updating a cache storage to store the unique identifier and the firmware version for each device of the plurality of devices;

generating, for a particular device of the plurality of devices and by the management software module, a management command that is to be performed at the particular device;

in response to generating the management command, accessing the cache storage to identify the cached unique identifier and the cached firmware version for the particular device;

transmitting, by the management software module and to a device driver associated with the particular device, or to the particular device the management command and data indicating the cached unique identifier and the cached firmware version for the particular device;

determining, by the device driver or the particular device, that i) the cached unique identifier matches a current unique identifier for the particular device and ii) the cached firmware version matches a current firmware version for the particular device; and

in response to the matching, completing the management command at the particular device.

20. The computer-readable medium of claim 19 , the operations further comprising:

determining, by the device driver or the particular device, that the cached unique identifier does not match the current unique identifier for the particular device; and

in response to determining that the cached unique identifier does not match the current unique identifier for the particular device, rejecting the management command at the particular device.

Assignments (9)
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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2019
From: ARZOLA, CHRISTOPHER DOMINGO; BOLEN, AUSTIN PATRICK; NORDEN, HAHN
To: DELL PRODUCTS L.P.
Reel/Frame 049093/0616 →