Patching systems and applications in a virtualized environment

US10296320B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10296320-B2
Application numberUS-201414482010-A
CountryUS
Kind codeB2
Filing dateSep 10, 2014
Priority dateSep 10, 2014
Publication dateMay 21, 2019
Grant dateMay 21, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for updating an application executing on a virtual machine includes replicating the virtual machine to produce a replica, applying an update to the replica that is scheduled to be made to the virtual machine, in parallel with the applying, updating one of the virtual machine and the replica so that a state of the virtual machine matches a state of the replica, and continuing execution of the application on one of the virtual machine and the replica.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for updating an application executing on a virtual machine, wherein the virtual machine is one of a plurality of virtual machines on which the application is executing, the method comprising: replicating the virtual machine to produce a replica; applying a software update to the replica that is scheduled to be made to the virtual machine, without applying the software update to the virtual machine at the same time, before the software update is applied to the virtual machine; in parallel with the applying, updating a state of one of the virtual machine and the replica so that a state of the virtual machine matches a state of the replica, wherein the updating comprises: testing the replica after the applying; saving user requests received by the virtual machine during the replicating and the applying into a queue, wherein the virtual machine continues to process the user requests during the replicating and the applying; creating a mapping between those of the user requests that travel from a virtual machine of the plurality of virtual machines under a control of a first party to a virtual machine of the plurality of virtual machines under a control of a second party and corresponding responses to those of the user requests from the virtual machine of the plurality of virtual machines under the control of the second party to the virtual machine of the plurality of virtual machines under control of the first party; replaying data flows between the virtual machine of the plurality of virtual machines under the control of the first party and the virtual machine of the plurality of virtual machines under the control of the second party in the replica, in accordance with the mapping; replaying the user requests from the queue to the replica after the applying, until the queue is empty; delivering new user requests received after the replaying to the virtual machine and to the replica until a predefined maintenance window arrives; switching execution of the application from the virtual machine to the replica when the predefined maintenance window arrives; and shutting down the virtual machine after the switching. 2. The method of claim 1 , wherein the replicating, the applying, and the updating are performed for each virtual machine of the plurality of virtual machines, resulting in a plurality of replicas. 3. The method of claim 2 , wherein the applying and the updating are performed for one replica of the plurality of replicas at a time. 4. The method of claim 2 , wherein the applying and the updating are performed for all replicas of the plurality of replicas at once. 5. The method of claim 2 , wherein the applying and the updating are performed for all replicas of a subset of the plurality of replicas at once. 6. The method of claim 1 , further comprising: subsequent to the replicating, monitoring system calls in the virtual machine that set seeds for random value generation for session key generation; recording the seeds; and intercepting the system calls during the replaying, wherein the intercepting comprises providing the seeds. 7. The method of claim 6 , further comprising: matching the seeds to one session of a plurality of sessions handled by the virtual machine, prior to the replaying. 8. A computer program product for updating an application executing on a virtual machine, wherein the virtual machine is one of a plurality of virtual machines on which the application is executing, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising: replicating the virtual machine to produce a replica; applying a software update to the replica that is scheduled to be made to the virtual machine, without applying the software update to the virtual machine at the same time, before the software update is applied to the virtual machine; in parallel with the applying, updating a state of one of the virtual machine and the replica so that a state of the virtual machine matches a state of the replica, wherein the updating comprises: testing the replica after the applying; saving user requests received by the virtual machine during the replicating and the applying into a queue, wherein the virtual machine continues to process the user requests during the replicating and the applying; creating a mapping between those of the user requests that travel from a virtual machine of the plurality of virtual machines under a control of a first party to a virtual machine of the plurality of virtual machines under a control of a second party and corresponding responses to those of the user requests from the virtual machine of the plurality of virtual machines under the control of the second party to the virtual machine of the plurality of virtual machines under control of the first party; replaying data flows between the virtual machine of the plurality of virtual machines under the control of the first party and the virtual machine of the plurality of virtual machines under the control of the second party in the replica, in accordance with the mapping; replaying the user requests from the queue to the replica after the applying, until the queue is empty; delivering new user requests received after the replaying to the virtual machine and to the replica until a predefined maintenance window arrives; switching execution of the application from the virtual machine to the replica when the predefined maintenance window arrives; and shutting down the virtual machine after the switching.

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • G06F8/65Primary

    Updates (security arrangements therefor G06F21/57) · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10296320B2 cover?
A method for updating an application executing on a virtual machine includes replicating the virtual machine to produce a replica, applying an update to the replica that is scheduled to be made to the virtual machine, in parallel with the applying, updating one of the virtual machine and the replica so that a state of the virtual machine matches a state of the replica, and continuing execution …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/65. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 21 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).