# US 11,029,992 B2 · Nondisruptive updates in a networked computing environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,029,992 B2
- Document ID: US11029992B2
- Status: Granted
- Kind: B2
- Application number: 16/449,533
- Filed: 2019-06-24
- Published: 2019-10-10
- Granted: 2021-06-08
- Earliest claimed: 2017-03-13
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Dietmar Noll; Patrick Schaefer; Willi Wuensch
- Web page: https://patentgrep.com/patent/US11029992B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 11/1433: {during software upgrading}
- G06F 11/1446: Point-in-time backing up or restoration of persistent data
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2201/815: Virtual
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

As indicated above, aspects of the present invention provide an approach for facilitating nondisruptive virtual machine (VM) maintenance in a networked computing environment. In an embodiment, a request for an update to an active VM is received, and a copy of the active VM is taken to create a snapshot VM. An update is installed on the snapshot VM. While the snapshot VM is being updated, all changes made to the active VM are saved. Once the update is installed on the snapshot VM, the saved changes are applied to the snapshot VM. A switch is made over to the snapshot VM in real time so that the snapshot VM becomes the active VM. The process allows a user to work continuously with the software as a service (SaaS) VM without disruption.

## Claims

### Claim 1

A computer-implemented method for facilitating nondisruptive maintenance on a virtual machine (VM) in a networked computing environment, comprising:
creating, in response to a receipt of a request to implement an update on an active VM, a copy of the active VM, wherein the copy is a snapshot VM;
installing, while saving any incoming changes directed to the active VM to a storage system, the update on the snapshot VM;
applying, when the update on the snapshot VM is complete, the saved incoming changes on the snapshot VM until the saved incoming changes are completely applied to the snapshot VM such that the active VM and the snapshot VM are running in parallel; and
switching, in response to the active VM and the snapshot VM running in parallel, from the active VM to the snapshot VM so the snapshot VM becomes a new active VM and the active VM becomes an inactive VM.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the saving includes applying a reference count that indicates that the incoming change needs to be executed on both the active VM and the snapshot VM.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein switching includes assigning the internet protocol (IP) address of the active VM to the snapshot VM.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising deleting the inactive VM.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the update is associated with an application or an operating system on the active VM.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the update is selected from a group consisting of a version upgrade and a security patch.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising suspending any agents on the active VM prior to switching from the active VM to the snapshot VM.

### Claim 8

A computer program product embodied in a computer readable medium that, when executed by a computer device, performs a method for facilitating nondisruptive maintenance on a virtual machine (VM) in a networked computing environment, the method comprising:
creating, in response to a receipt of a request to implement an update on an active VM, a copy of the active VM, wherein the copy is a snapshot VM;
installing, while saving all incoming changes directed to the active VM, the update on the snapshot VM;
applying, when the update on the snapshot VM is complete, the saved incoming changes on the snapshot VM until the saved incoming changes are completely applied to the snapshot VM such that the active VM and the snapshot VM are running in parallel; and
switching, in response to the active VM and the snapshot VM running in parallel, from the active VM to the snapshot VM so the snapshot VM becomes a new active VM and the active VM becomes an inactive VM.

### Claim 9 (depends on 8)

The computer program product of claim 8, wherein the saving includes applying a reference count that indicates that the incoming change needs to be executed on both the active VM and the snapshot VM.

### Claim 10 (depends on 8)

The computer program product of claim 8, wherein switching includes assigning the internet protocol (IP) address of the active VM to the snapshot VM.

### Claim 11 (depends on 8)

The computer program product of claim 8, the method further comprising deleting the inactive VM.

### Claim 12 (depends on 8)

The computer program product of claim 8, wherein the update is associated with an application or an operating system on the active VM.

### Claim 13 (depends on 8)

The computer program product of claim 8, wherein the update is selected from a group consisting of a version upgrade and a security patch.

### Claim 14 (depends on 8)

The computer program product of claim 8, the method further comprising suspending any agents on the active VM prior to switching.

### Claim 15

A system for facilitating nondisruptive maintenance on a virtual machine (VM) in a networked computing environment, comprising:
a physical server having an operating system;
a plurality of virtual machines running on the physical server;
a communications port that connects the physical server to a network;
a virtual machine upgrade engine, configured to:
create, in response to a receipt of a request to implement an update on an active VM, a copy of the active VM, wherein the copy is a snapshot VM;
install, while saving all incoming changes directed to the active VM, the update on the snapshot VM;
apply, when the update on the snapshot VM is complete, the saved incoming changes on the snapshot VM until the saved incoming changes are completely applied to the snapshot VM such that the active VM and the snapshot VM are running in parallel; and
switch, in response to the active VM and the snapshot VM running in parallel, from the active VM to the snapshot VM so the snapshot VM becomes a new active VM and the active VM becomes an inactive VM.

### Claim 16 (depends on 15)

The system of claim 15, wherein the saving includes applying a reference count that indicates that the incoming change needs to be executed on both the active VM and the snapshot VM.

### Claim 17 (depends on 15)

The system of claim 15, wherein switching includes assigning the internet protocol (IP) address of the active VM to the snapshot VM.

### Claim 18 (depends on 15)

The system of claim 15, further comprising deleting the inactive VM.

### Claim 19 (depends on 15)

The system of claim 15, wherein the update is associated with an application or an operating system on the active VM.

### Claim 20 (depends on 15)

The system of claim 15, wherein the update is selected from a group consisting of a version upgrade and a security patch.
