IP Library Granted Patent US 12,443,497
Granted Patent B2
US 12,443,497 · App. 18/336,131 · Granted Oct 14, 2025

High availability systems having thinly-provisioned secondary servers

Inventors: Eric P. Fitzpatrick (Durham, NC); Isaac R. Nassi (Los Gatos, CA); David P. Reed (Los Gatos, CO); Gary Smerdon (Monterey, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F11/2033G06F11/2025G06F11/2041
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 12,443,497
App. No.
18/336,131
Granted
Oct 14, 2025
Kind
B2
Abstract

In accordance with example implementations, a process includes associating a secondary computer system with a primary computer system. The secondary computer system includes a first virtual machine, which is hosted by a secondary set of physical computer nodes. The primary computer system has a primary role, and the primary role corresponds to a minimum physical resource allocation. The secondary computer system is associated with a secondary role, and the second computer system is provisioned with a second physical resource allocation, which is less than the minimum physical resource allocation. The process includes, responsive to the primary computer system failing and without rebooting the secondary computer system, preparing the secondary computer system to take over the primary role. The preparation includes adding at least one physical computer node to the secondary set of physical computer nodes to cause the second physical resource allocation to meet or exceed the minimum physical resource allocation. The process includes, responsive to the primary computer system failing and without rebooting the secondary computer system, causing the secondary computer system to take over the primary role.

Claims (53)

1. A non-transitory computer-readable storage medium to store instructions, that, when executed by a machine, cause the machine to:

associate a secondary computer system with a primary computer system, wherein the secondary computer system comprises a first virtual machine hosted by a secondary set of physical computer nodes, the primary computer system having a primary role, the primary role corresponding to a minimum physical resource allocation, the secondary computer system being associated with a secondary role, and the secondary computer system being provisioned with a second physical resource allocation less than the minimum physical resource allocation; and

responsive to the primary computer system failing and without rebooting the secondary computer system:

prepare the secondary computer system to take over the primary role, wherein the preparation comprises adding at least one physical computer node to the secondary set of physical computer nodes to cause the second physical resource allocation to meet or exceed the minimum physical resource allocation; and

cause the secondary computer system to take over the primary role.

2. The non-transitory computer-readable storage medium of claim 1 , wherein:

the primary computer system, in the primary role, comprises a second virtual machine hosted by a primary set of physical computer nodes;

a number of the secondary set of physical computer nodes of the secondary computer system in the secondary role is less than the number of the primary set of physical computer nodes of the primary computer system in the primary role; and

the number of the secondary set of physical computer nodes of the secondary computer system in the secondary role corresponds to the second physical resource allocation.

3. The non-transitory computer-readable storage medium of claim 2 , wherein the instructions, when executed by the machine, further cause the machine to, in the preparation of a second computer system, add the at least one physical computer node to the secondary set of physical computer nodes to cause the number of the secondary set of physical computer nodes to be the same or greater than the number of the primary set of physical computer nodes of the primary computer system in the primary role.

4. The non-transitory computer-readable storage medium of claim 1 , wherein:

a second computer system comprises a software-defined server; and

the instructions, when executed by the machine, further cause the machine to, in the preparation of the second computer system, update a resource mapping of the software-defined server.

5. The non-transitory computer-readable storage medium of claim 4 , wherein updating the resource mapping comprises updating a physical resource map of the software-defined server to include physical resources of the at least one physical computer node.

6. The non-transitory computer-readable storage medium of claim 4 , wherein updating the resource mapping comprises updating a mapping between a virtual resource map of the software-defined server and a physical resource map of the software-defined server, wherein the virtual resource map describes virtual resources of the software-defined server from a point of view of a guest operating system of the software-defined server.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the preparation of the secondary computer system occurs without interrupting an operating system of the secondary computer system.

8. The non-transitory computer-readable storage medium of claim 1 , wherein the preparation of the secondary computer system occurs without interrupting an application of the secondary computer system.

9. The non-transitory computer-readable storage medium of claim 1 , wherein the primary computer system and the secondary computer system comprise at least one of a pair of high availability servers or a pair of disaster recovery servers.

10. A system comprising:

a pair of servers comprising a first server associated with a primary role of the pair and a second server associated with a secondary role of the pair, wherein the second server comprises:

a virtual machine;

a first plurality of physical computer nodes hosting the virtual machine and corresponding to an actual physical resource allocation of the second server;

an operating system; and

a hyper-kernel to provide, to the operating system, an abstraction of an available physical resource allocation of the second server, wherein the available physical resource allocation is greater than the actual physical resource allocation; and

a failover manager to, responsive to a failure of the first server and without disrupting the operating system, add at least one physical computer node to the first plurality of physical computer nodes to cause the actual physical resource allocation to correspond to the available physical resource allocation.

11. The system of claim 10 , wherein:

the second server comprises a software-defined server of a plurality of software-defined servers; and

the at least one physical computer node, before being added, corresponds to at least one spare computer node of a pool of spare computer nodes available to the plurality of software-defined servers for upscaling.

12. The system of claim 10 , wherein:

the first server comprises a software-defined server; and

the second server comprises a software-defined server.

13. The system of claim 10 , wherein:

the first server to, prior to the failure, provide an application service and maintain a first database state, and the first server having an actual physical resource allocation sized to provide the application service and maintain the first database state; and

the actual physical resource allocation corresponding to the first plurality of computer nodes is sized to maintain a second data state consistent with the first database state but not sized to provide the application service.

14. The system of claim 10 , wherein the actual physical resource allocation corresponding to the available physical resource allocation comprises the actual physical resource allocation being greater than or equal to the available physical resource allocation.

15. The system of claim 10 , wherein:

the hyper-kernel uses resource mapping information to map between a virtual resource map and a physical resource map;

the virtual resource map describes virtual resources visible to the operating system; and

the failover manager to further update the physical resource map to include physical resources of the at least one physical computer node.

16. The system of claim 10 , wherein the failover manager to further update mapping information of the second server to map virtual resources visible by the operating system to physical resources of the at least one additional physical computer node.

17. A method comprising:

providing a secondary server as a backup to a primary server, wherein the secondary server comprises a virtual machine and a plurality of physical computer nodes hosting the virtual machine;

thinly provisioning physical resources for the secondary server; and

responsive to a failure of the primary server:

expanding the physical resources for the secondary server, wherein the expanding comprises, without rebooting the secondary server, adding at least one physical computer node to the secondary server; and

designating the secondary server to be the primary server.

18. The method of claim 17 , wherein:

thinly provisioning the physical resources for the secondary server comprises causing a hyper-kernel of the secondary server to provide a perceived physical resource allocation for the secondary server that is greater than an actual physical resource allocation for the secondary server; and

expanding the physical resources comprises causing the perceived physical resource allocation to be commensurate with the actual physical resource allocation.

19. The method of claim 17 , wherein:

the secondary server comprises a software-defined server of a plurality of software-defined servers located in a data center; and

the at least one physical computer node corresponds to a spare computer node of a pool of spare computer nodes of the data center available to the plurality of software-defined servers.

20. The method of claim 17 , wherein the primary server comprises a software-defined server, and the secondary server comprises a software-defined server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2023
From: FITZPATRICK, ERIC P.; NASSI, ISAAC R.; REED, DAVID P.; SMERDON, GARY
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 063970/0348 →
Continuity (2)
Provisional Application 63356865 · Jun 29, 2022
Related Publication 20250117300A1 · Apr 10, 2025
References Cited (22)
US 9848041B2 · Einkauf · 2017 [cited by examiner]
US 10061652B2 · Johnson · 2018 [cited by examiner]
US 10846079B2 · Olderdissen · 2020 [cited by examiner]
US 20050273645A1 · Satran · 2005 [cited by examiner]
US 20130036322A1 · Bauer et al. · 2013 [cited by applicant]
US 20140189085A1 · Khandelwal · 2014 [cited by examiner]
US 20140280951A1 · Steinder · 2014 [cited by examiner]
US 20150324260A1 · Mutalik et al. · 2015 [cited by applicant]
US 20160072725A1 · Amann · 2016 [cited by examiner]
US 20170168907A1 · Harper · 2017 [cited by examiner]
US 20170264564A1 · Suchter · 2017 [cited by examiner]
US 20180048522A1 · Pan · 2018 [cited by examiner]
US 20180095845A1 · Sanakkayala · 2018 [cited by examiner]
US 20180302340A1 · Alvarez Callau · 2018 [cited by examiner]
US 20190149399A1 · Reed · 2019 [cited by examiner]
US 20190340088A1 · Sanakkayala · 2019 [cited by examiner]
US 20190384667A1 · Aiyar · 2019 [cited by examiner]
US 20190384668A1 · Aiyar · 2019 [cited by examiner]
US 20210232469A1 · Gill · 2021 [cited by examiner]
US 20250045166A1 · Mal · 2025 [cited by examiner]
WO WO2023229691A1 · 2023 [cited by examiner]
International Search Report and Written Opinion received for PCT Patent Application No. PCTUS/2023/014029, mailed on Jun. 13, 2023, 9 pages. [cited by applicant]