IP Library Granted Patent US 11,086,615
Granted Patent B2
US 11,086,615 · App. 15/959,487 · Granted Aug 10, 2021

Virtual appliance upgrades in high-availability (HA) computing clusters

Inventors: Stanislav Paskalev (Sofia, BG); Viktor Kojouharov (Sofia, BG); Alexandar Bonev (Sofia, BG)
Assignee: VMWARE, INC.
G06F8/656G06F9/45558G06F9/547G06F16/27G06F2009/4557G06F2009/45595
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,086,615
App. No.
15/959,487
Granted
Aug 10, 2021
Kind
B2
Abstract

Various examples are disclosed for performing a software upgrade in high-availability (HA) and similar computing clusters while experiencing minimal or no downtime. One or more computing devices can oversee operation of a data center and determine that a software update is unable to be performed on a first virtual appliance based on the first virtual appliance being incompatible with the software update. The one or more computing devices can provision a second virtual appliance in the HA computing cluster, as well as a load balancer, where the second virtual appliance comprises up-to-date software. The one or more computing devices can form a software cluster that includes the first virtual appliance and the second virtual appliance, causing data to be synchronized between the first virtual appliance and the second virtual appliance, and, thereafter, can decommission the first virtual appliance from the HA computing cluster.

Claims (46)

1. A system for performing a software upgrade in a high-availability (HA) computing cluster without experiencing downtime, comprising:

at least one computing device;

program instructions stored in memory and executable in the at least one computing device that, when executed by the at least one computing device, directs the at least one computing device to:

identify that a virtual appliance executing in the HA computing cluster requires a software update comprising an updated version of an application;

determine that the software update is unable to be performed on the virtual appliance based at least in part on the virtual appliance comprising a first operating system that is incompatible with the software update based at least in part on the updated version of the application requiring a second operating system that is different from the first operating system, wherein there is no upgrade path for the updated version of the application based at least in part on the first operating system and the second operating system being different operating systems;

in response to the virtual appliance being incompatible with the software update, provision an additional virtual appliance to replace the virtual appliance in the HA computing cluster, wherein the additional virtual appliance comprises up-to-date software;

form a software cluster that comprises the virtual appliance and the additional virtual appliance, the software cluster causing data to be synchronized between the virtual appliance and the additional virtual appliance; and

decommission the virtual appliance from the HA computing cluster.

2. The system of claim 1 , wherein the at least one computing device is further directed to:

provision a load balancer in the HA computing cluster that balances a workload between at least the virtual appliance and the additional virtual appliance;

verify a functional operation of the additional virtual appliance prior to the virtual appliance being decommissioned using at least one metric associated with an operation of the additional virtual appliance; and

in response to the functional operation being verified, authorize the virtual appliance to be decommissioned.

3. The system of claim 1 , wherein the virtual appliance is incompatible with the software update in response to a software component or a virtual hardware component of the virtual appliance being incompatible with the software update.

4. The system of claim 1 , wherein the at least one computing device is further directed to provide a communication interface in the HA computing cluster that has at least one application programming interface (API) that permits the data being communicated from the virtual appliance to the additional virtual appliance.

5. The system of claim 1 , wherein the additional virtual appliance in the HA computing cluster is provisioned by installing the software update prior to the software cluster being formed that comprises the virtual appliance and the additional virtual appliance.

6. The system of claim 1 , wherein the additional virtual appliance in the HA computing cluster is provisioned by installing an up-to-date version of a client application on the additional virtual appliance prior to the software cluster being formed that comprises the virtual appliance and the additional virtual appliance.

7. A non-transitory computer-readable medium for performing a software upgrade in a high-availability (HA) computing cluster without experiencing downtime, the non-transitory computer-readable medium comprising program code executable in at least one computing device that, when executed by the at least one computing device, directs the at least one computing device to:

identify that a virtual appliance executing in the HA computing cluster requires a software update comprising an updated version of an application;

determine that the software update is unable to be performed on the virtual appliance based at least in part on the virtual appliance comprising a first operating system that is incompatible with the software update based at least in part on the updated version of the application requiring a second operating system that is different from the first operating system, wherein there is no upgrade path for the updated version of the application based at least in part on the first operating system and the second operating system being different operating systems;

in response to the virtual appliance being incompatible with the software update, provision an additional virtual appliance to replace the virtual appliance in the HA computing cluster, wherein the additional virtual appliance comprises up-to-date software;

form a software cluster that comprises the virtual appliance and the additional virtual appliance, the software cluster causing data to be synchronized between the virtual appliance and the additional virtual appliance; and

decommission the virtual appliance from the HA computing cluster.

8. The non-transitory computer-readable medium of claim 7 , wherein the at least one computing device is further directed to:

provision a load balancer in the HA computing cluster that balances a workload between at least the virtual appliance and the additional virtual appliance;

verify a functional operation of the additional virtual appliance prior to the virtual appliance being decommissioned using at least one metric associated with an operation of the additional virtual appliance; and

in response to the functional operation being verified, authorize the virtual appliance to be decommissioned.

9. The non-transitory computer-readable medium of claim 7 , wherein the virtual appliance is incompatible with the software update in response to a software component or a virtual hardware component of the virtual appliance being incompatible with the software update.

10. The non-transitory computer-readable medium of claim 7 , wherein the at least one computing device is further directed to provide a communication interface in the HA computing cluster that has at least one application programming interface (API) that permits the data being communicated from the virtual appliance to the additional virtual appliance.

11. The non-transitory computer-readable medium of claim 7 , wherein the additional virtual appliance in the HA computing cluster is provisioned by installing the software update prior to the software cluster being formed that comprises the virtual appliance and the additional virtual appliance.

12. The non-transitory computer-readable medium of claim 7 , wherein the additional virtual appliance in the HA computing cluster is provisioned by installing an up-to-date version of a client application on the additional virtual appliance prior to the software cluster being formed that comprises the virtual appliance and the additional virtual appliance.

13. A computer-implemented method for performing a software upgrade in a high-availability (HA) computing cluster without experiencing downtime, the method comprising:

identifying that a virtual appliance executing in the HA computing cluster requires a software update comprising an updated version of an application;

determining that the software update is unable to be performed on the virtual appliance based at least in part on the virtual appliance comprising a first operating system that is incompatible with the software update based at least in part on the updated version of the application requiring a second operating system that is different from the first operating system, wherein there is no upgrade path for the updated version of the application based at least in part on the first operating system and the second operating system being different operating systems;

in response to the virtual appliance being incompatible with the software update, provisioning an additional virtual appliance to replace the virtual appliance in the HA computing cluster, wherein the additional virtual appliance comprises up-to-date software;

forming a software cluster that comprises the virtual appliance and the additional virtual appliance, the software cluster causing data to be synchronized between the virtual appliance and the additional virtual appliance; and

decommissioning the virtual appliance from the HA computing cluster.

14. The computer-implemented method of claim 13 , further comprising:

provisioning a load balancer in the HA computing cluster that balances a workload between at least the virtual appliance and the additional virtual appliance;

verifying a functional operation of the additional virtual appliance prior to the virtual appliance being decommissioned using at least one metric associated with an operation of the additional virtual appliance; and

in response to the functional operation being verified, authorizing the virtual appliance to be decommissioned.

15. The computer-implemented method of claim 13 , wherein the virtual appliance is incompatible with the software update in response to a software component or a virtual hardware component of the virtual appliance being incompatible with the software update.

16. The computer-implemented method of claim 13 , wherein the additional virtual appliance in the HA computing cluster is provisioned by installing the software update prior to the software cluster being formed that comprises the virtual appliance and the additional virtual appliance.

17. The computer-implemented method of claim 13 , wherein the additional virtual appliance in the HA computing cluster is provisioned by installing an up-to-date version of a client application on the additional virtual appliance prior to the software cluster being formed that comprises the virtual appliance and the additional virtual appliance.

18. The computer-implemented method of claim 13 , wherein the at least one computing device is further directed to provide a communication interface in the HA computing cluster that has at least one application programming interface (API).

19. The computer-implemented method of claim 18 , wherein the API permits the data being communicated from the virtual appliance to the additional virtual appliance.

20. The computer-implemented method of claim 13 , wherein the additional virtual appliance comprises the second operating system.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: PASKALEV, STANISLAV; KOJOUHAROV, VIKTOR; BONEV, ALEXANDAR
To: VMWARE, INC.
Reel/Frame 045609/0196 →