IP Library Granted Patent US 10,628,146
Granted Patent B1
US 10,628,146 · App. 16/261,242 · Granted Apr 21, 2020

Method and system for non-disruptive host repurposing

Inventors: Ravikanth Chaganti (Bangalore, IN); Rizwan Ali (Cedar Park, TX); Dharmesh M. Patel (Round Rock, TX)
Assignee: EMC IP Holding Company LLC
G06F8/61G06F3/0604G06F3/0653G06F8/62G06F8/65G06F3/067G06F9/4401G06F21/78
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,628,146
App. No.
16/261,242
Granted
Apr 21, 2020
Kind
B1
Abstract

A method and system for non-disruptive host repurposing. Specifically, the method and system disclosed herein entail the re-optimization of datacenter hosts (e.g., servers) for any infrastructure and/or workload deployment. Different infrastructure and/or workload deployments may require the tuning of various memory parameters (or attributes) in the basic input-output system (BIOS) configuration. Presently, the repurposing of any given host demands the full reset of the system configuration—i.e., a disruptive process—prior to implementing the necessary BIOS configuration changes. In contrast, the method and system disclosed herein facilitate the repurposing of a host through the installation and/or uninstallation of configuration overlays—a modular approach to interchanging infrastructure and/or workload deployments—without the disruption of full system resets.

Claims (107)

1. A method for repurposing a host, using a package registrar executing on a processing system equipped with a processor and memory-stored instructions thereon, which when executed by the processor, cause the processor to execute the method, comprising:

receiving a first host repurposing package (HRP) comprising a first package manifest;

examining a first base flag specified in the first package manifest; making a first determination that the first base flag is disabled;

identifying, based on the first determination, a second HRP stored in a package stack, wherein the second HRP comprises a second package manifest;

examining a first overlay whitelist specified in the second package manifest;

making a second determination that the first overlay whitelist comprises a first package identifier (ID) associated with the first HRP; and

installing, based on the second determination, the first HRP to repurpose the host.

2. The method of claim 1 , wherein the second HRP is a latest HRP installed prior to receipt of the first HRP.

3. The method of claim 1 , further comprising:

decompressing the first HRP to obtain the first package manifest and a first configuration profile.

4. The method of claim 3 , wherein installing the first HRP comprises:

examining the first configuration profile, to identify an attribute set comprising at least one attribute;

for each attribute of the attribute set:

replacing a current value for the attribute, specified on the host, with a new value for the attribute, specified in the first configuration profile; and

storing the first HRP in the package stack.

5. The method of claim 4 , wherein installing the first HRP further comprises:

after identifying the attribute set, and for each attribute of the attribute set:

storing the current value for the attribute, specified on the host, in a restore profile; and

referencing the restore profile within an uninstallation workflow specified in the first package manifest.

6. The method of claim 1 , further comprising:

receiving a third HRP comprising a third package manifest, wherein a second base flag is specified in the third package manifest;

examining the second base flag specified in the third package manifest;

making a third determination that the second base flag is disabled;

identifying, based on the third determination, the first HRP stored in the package stack;

decompressing the first HRP, to obtain the first package manifest;

examining a second overlay whitelist specified in the first package manifest;

making a fourth determination that the second overlay whitelist comprises a second package ID associated with the third HRP; and

installing, based on the fourth determination, the third HRP to repurpose the host.

7. The method of claim 1 , further comprising:

receiving a third HRP comprising a third package manifest, wherein a second base flag is specified in the third package manifest;

examining a second base flag specified in the third package manifest;

making a third determination that the second base flag is enabled;

uninstalling, based on the third determination, each HRP stored in the package stack until the package stack is empty; and

after the package stack is empty:

installing the third HRP to repurpose the host.

8. The method of claim 7 , wherein uninstalling each HRP stored in the package stack comprises:

for each HRP stored in the package stack from a most recently installed to a least recently installed:

decompressing the HRP, to obtain a fourth package manifest;

examining an uninstallation workflow specified in the fourth package manifest, to identify a restore profile reference;

obtaining a restore profile for the HRP using the restore profile reference;

identifying, within the restore profile, an attribute set comprising at least one attribute;

for each attribute of the attribute set:

reverting a current value for the attribute, specified on the host, to a previous value for the attribute, specified in the restore profile; and

removing the HRP from the package stack.

9. A system, comprising:

a host comprising a computer processor; and

a package registrar executing on the computer processor, and programmed to:

receive a first host repurposing package (HRP) comprising a first package manifest;

examine a first base flag specified in the first package manifest;

make a first determination that the first base flag is disabled;

identify, based on the first determination, a second HRP stored in a package stack, wherein the second HRP comprises a second package manifest;

examine a first overlay whitelist specified in the second package manifest;

make a second determination that the first overlay whitelist comprises a first package identifier (ID) associated with the first HRP; and

install, based on the second determination, the first HRP to repurpose the host.

10. The system of claim 9 , wherein the host further comprises a host repurposing controller (HRC) executing on the computer processor, wherein the HRC comprises the package registrar and the package stack.

11. The system of claim 9 , further comprising:

a host repurposing service (HRS) operatively connected to the host,

wherein the package registrar receives the first HRP from the HRS.

12. The system of claim 9 , wherein the host is a bare-metal server.

13. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to:

receive a first host repurposing package (HRP);

decompress the first HRP, to obtain a first package manifest;

examine a first base flag specified in the first package manifest;

make a first determination that the first base flag is disabled;

identify, based on the first determination, a second HRP stored in a package stack;

decompress the second HRP, to obtain a second package manifest;

examine a first overlay whitelist specified in the second package manifest;

make a second determination that the first overlay whitelist comprises a first package identifier (ID) associated with the first HRP; and

install, based on the second determination, the first HRP to repurpose a host.

14. The non-transitory CRM of claim 13 , wherein the second HRP is a latest HRP installed prior to receipt of the first HRP.

15. The non-transitory CRM of claim 13 , wherein decompressing the first HRP further obtains a first configuration profile.

16. The non-transitory CRM of claim 15 , wherein to install the first HRP, the computer readable program code enables the computer processor to:

examine the first configuration profile, to identify an attribute set comprising at least one attribute;

for each attribute of the attribute set:

replace a current value for the attribute, specified on the host, with a new value for the attribute, specified in the first configuration profile; and

store the first HRP in the package stack.

17. The non-transitory CRM of claim 16 , wherein to install the first HRP, the computer readable program code further enables the computer processor to:

after identifying the attribute set, and for each attribute of the attribute set:

store the current value for the attribute, specified on the host, in a restore profile; and

reference the restore profile within an uninstallation workflow specified in the first package manifest.

18. The non-transitory CRM of claim 13 , further comprising computer readable program code, which when executed by the computer processor, enables the computer processor to:

receive a third HRP;

decompress the third HRP, to obtain a third package manifest;

examine a second base flag specified in the third package manifest;

make a third determination that the second base flag is disabled;

identify, based on the third determination, the first HRP stored in the package stack;

decompress the first HRP, to obtain the first package manifest;

examine a second overlay whitelist specified in the first package manifest;

make a fourth determination that the second overlay whitelist comprises a second package ID associated with the third HRP; and

install, based on the fourth determination, the third HRP to repurpose the host.

19. The non-transitory CRM of claim 13 , further comprising computer readable program code, which when executed by the computer processor, enables the computer processor to:

receive a third HRP;

decompress the third HRP, to obtain a third package manifest;

examine a second base flag specified in the third package manifest;

make a third determination that the second base flag is enabled;

uninstall, based on the third determination, each HRP stored in the package stack until the package stack is empty; and

after the package stack is empty:

install the third HRP to repurpose the host.

20. The non-transitory CRM of claim 19 , wherein to uninstall each HRP stored in the package stack, the computer readable program code enables the computer processor to:

for each HRP stored in the package stack from a most recently installed to a least recently installed:

decompress the HRP, to obtain a fourth package manifest;

examine an uninstallation workflow specified in the fourth package manifest, to identify a restore profile reference;

obtain a restore profile for the HRP using the restore profile reference;

identify, within the restore profile, an attribute set comprising at least one attribute;

for each attribute of the attribute set:

revert a current value for the attribute, specified on the host, to a previous value for the attribute, specified in the restore profile; and

remove the HRP from the package stack.

Assignments (5)
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2019
From: CHAGANTI, RAVIKANTH; ALI, RIZWAN; PATEL, DHARMESH M.
To: DELL PRODUCTS L.P.
Reel/Frame 048199/0275 →