IP Library Granted Patent US 10,802,813
Granted Patent B2
US 10,802,813 · App. 16/226,438 · Granted Oct 13, 2020

Systems and methods for updating virtual machines

Inventor: Fabian Mueller (Sunnyvale, CA)
Assignees: ATLASSIAN PTY LTD.; ATLASSIAN INC.
G06F8/65G06F9/45558G06F2009/45562G06F2009/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 10,802,813
App. No.
16/226,438
Granted
Oct 13, 2020
Kind
B2
Abstract

A method and system for updating a virtual machine that is utilized as a base virtual machine for one or more linked clone virtual machines. The method comprises deploying the base virtual machine on a host system, the base virtual machine comprising a base virtual disk which is attachable to the one or more linked clones and a base delta disk. The method further comprises deploying a software update to the base delta disk of the base virtual machine and once the software update is deployed to the base delta disk of the base virtual machine, shutting down the base virtual machine. The method further comprises updating the base virtual machine by merging the software update deployed on the base delta disk of the base virtual machine with the base virtual disk of the base virtual machine.

Claims (64)

1. A computer-implemented method for updating a virtual machine that is utilized as a base virtual machine for one or more linked clone virtual machines, the method comprising:

deploying the base virtual machine on a host system, the base virtual machine comprising:

a base virtual disk which includes an attachment to the one or more linked clones, the attachment allowing each of the one or more linked clones to: execute a same installation of an operating system installed on the base virtual disk, execute a same installation of one or more software applications installed on the base virtual disk, and access data stored on the base virtual disk, and

a base delta disk which does not include an attachment to the one or more linked clones;

deploying a software update to the base delta disk of the base virtual machine;

once the software update is deployed to the base delta disk of the base virtual machine, shutting down the base virtual machine;

determining that an active linked clone of the one or more linked clones exists and in response, terminating the active linked clone before updating the base virtual machine;

updating the base virtual machine by merging the software update deployed on the base delta disk of the base virtual machine with the base virtual disk of the base virtual machine thereby generating an updated base virtual machine that includes an updated base virtual disk;

in response to updating the base virtual machine, recreating and redeploying a linked clone virtual machine of the one or more linked clone virtual machines on the host system based on the updated base virtual machine such that the linked clone is attached to the updated base virtual disk of the updated base virtual machine, wherein deploying the linked clone comprises:

obtaining a dynamic IP address of the linked clone from the host system;

using the dynamic IP address to communicate with the linked clone to assign a static IP address to the linked clone;

mapping the static IP address to a domain name server hostname; and

using the domain name sever hostname to communicate with the linked clone.

2. The method of claim 1 , wherein prior to deploying the base virtual machine on the host system, the method further comprises:

saving a snapshot of the base virtual machine, the snapshot preserving the base virtual disk of the base virtual machine at a specific point in time; and

creating a read-only template of the base virtual machine.

3. The method of claim 2 , where updating the base virtual machine comprises deleting the snapshot of the base virtual machine.

4. The method of claim 2 , further comprising:

saving a snapshot of the updated base virtual machine after merging the software update deployed on the base delta disk with the base virtual disk of the base virtual machine, and

creating a read-only template from the updated base virtual machine.

5. A system for updating a virtual machine that is utilized as a base virtual machine for one or more linked clone virtual machines, the system comprising:

a processor,

a communication interface, and

a non-transitory computer-readable storage medium storing sequences of instructions, which when executed by the processor, cause the processor to:

deploy the base virtual machine on a host system, the base virtual machine comprising:

a base virtual disk which includes an attachment to the one or more linked clones, the attachment allowing each of the one or more linked clones to: execute a same installation of an operating system installed on the base virtual disk, execute a same installation of one or more software applications installed on the base virtual disk, and access data stored on the base virtual disk, and

a base delta disk which does not include an attachment to the one or more linked clones;

deploy a software update to the base delta disk of the base virtual machine;

once the software update is deployed to the base delta disk of the base virtual machine, shut-down the base virtual machine;

determine that an active linked clone exists and in response, terminate the active linked clone before updating the base virtual machine;

update the base virtual machine by merging the software update deployed on the base delta disk of the base virtual machine with the base virtual disk of the base virtual machine thereby generating an updated base virtual machine that includes an updated base virtual disk;

in response to updating the base virtual machine, recreating and redeploying a linked clone virtual machine of the one or more linked clone virtual machines on the host system based on the updated base virtual machine such that the linked clone is attached to the updated base virtual disk of the updated base virtual machine, wherein to deploy the linked clone, the system further comprising instructions which when executed by the processor cause the processor to:

obtain a dynamic IP address of the linked clone from the host system;

use the dynamic IP address to communicate with the linked clone to assign a static IP address to the linked clone;

map the static IP address to a domain name server hostname; and

use the domain name sever hostname to communicate with the linked clone.

6. The system of claim 5 , further comprising instructions which when executed by the processor cause the processor to:

prior to deploying the base virtual machine on the host system:

save a snapshot of the base virtual machine, the snapshot preserving the base virtual disk of the base virtual machine at a specific point in time; and

create a read-only template of the base virtual machine.

7. The system of claim 6 , to update the base virtual machine, further comprising instructions which when executed by the processor cause the processor to:

delete the snapshot of the base virtual machine.

8. The system of claim 6 , further comprising instructions which when executed by the processor cause the processor to:

save a snapshot of the updated base virtual machine after merging the software update deployed on the base delta disk with the base virtual disk of the base virtual machine, and

create a read-only template from the updated base virtual machine.

9. A non-transitory computer readable storage medium comprising instructions which, when executed by a processor, cause the processor to:

update a virtual machine that is utilized as a base virtual machine for one or more linked clone virtual machines, by:

deploying the base virtual machine on a host system, the base virtual machine comprising a base virtual disk which includes an attachment to the one or more linked clones, the attachment allowing each of the one or more linked clones to: execute a same installation of an operating system installed on the base virtual disk, execute a same installation of one or more software applications installed on the base virtual disk, and access data stored on the base virtual disk, and a base delta disk which does not include an attachment to the one or more linked clones;

deploying a software update to the base delta disk of the base virtual machine;

once the software update is deployed to the base delta disk of the base virtual machine, shutting down the base virtual machine;

determining that an active linked clone of the one or more linked clones exists and in response, terminating the active linked clone before updating the base virtual machine;

updating the base virtual machine by merging the software update deployed on the base delta disk of the base virtual machine with the base virtual disk of the base virtual machine thereby generating an updated base virtual machine that includes an updated base virtual disk;

in response to updating the base virtual machine, recreating and redeploying a linked clone virtual machine of the one or more linked clone virtual machines on the host system based on the updated base virtual machine such that the linked clone is attached to the updated base virtual disk of the updated base virtual machine, wherein deploying the linked clone comprises:

obtaining a dynamic IP address of the linked clone from the host system;

using the dynamic IP address to communicate with the linked clone to assign a static IP address to the linked clone;

mapping the static IP address to a domain name server hostname; and

using the domain name sever hostname to communicate with the linked clone.

10. The non-transitory computer readable storage medium of claim 9 , further comprising instructions for, prior to deploying the base virtual machine on the host system:

saving a snapshot of the base virtual machine, the snapshot preserving the base virtual disk of the base virtual machine at a specific point in time; and

creating a read-only template of the base virtual machine.

11. The non-transitory computer readable storage medium of claim 10 , wherein updating the base virtual machine comprises deleting the snapshot of the base virtual machine.

12. The non-transitory computer readable storage medium of claim 10 , further comprising instructions for:

saving a snapshot of the updated base virtual machine after merging the software update deployed on the base delta disk with the base virtual disk of the base virtual machine, and

creating a read-only template from the updated base virtual machine.

Assignments (2)
CHANGE OF NAME Recorded Aug 5, 2022
From: ATLASSIAN, INC.
To: ATLASSIAN US, INC.
Reel/Frame 061085/0690 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2020
From: MUELLER, FABIAN
To: ATLASSIAN PTY LTD; ATLASSIAN, INC.
Reel/Frame 052428/0210 →
Continuity (1)
Related Publication 20200201616A1 · Jun 25, 2020