US10606632B2 - Preventing interruption during virtual machine reboot - Google Patents
Preventing interruption during virtual machine reboot Download PDFInfo
- Publication number
- US10606632B2 US10606632B2 US15/980,732 US201815980732A US10606632B2 US 10606632 B2 US10606632 B2 US 10606632B2 US 201815980732 A US201815980732 A US 201815980732A US 10606632 B2 US10606632 B2 US 10606632B2
- Authority
- US
- United States
- Prior art keywords
- vmc
- changes
- reboot
- hypervisor
- virtual machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
- G06F11/1484—Generic software techniques for error detection or fault masking by means of middleware or OS functionality involving virtual machines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Definitions
- Enterprises are increasingly utilizing virtual machines to provide flexible computing environments for work purposes.
- computing devices can instantiate virtual machines hosted by a server, allowing workers to access a desktop and enterprise applications that run in the respective virtual machine.
- the virtual machine can simulate an operating system that supports multiple applications, and provide a managed computing environment to a user.
- instances of virtual machines can be advantageously accessed remotely, such as at a server, allowing further work flexibility for the enterprise.
- virtual machines sometimes need to reboot for updates to applications or an operating system, similarly to non-virtual environments. For example, when an operating system in the virtual machine requires an update, the virtual machine restarts and configures new operating system features. During this time, the user cannot use the virtual machine. A reboot can involve multiple time-consuming operations, software updates or installations, and patch or driver installations. As a result, a user must stop working and will lose valuable time that could normally be used for production. The user can also experience various inefficiencies when restarting work after the virtual machine is ready. The problem also exists when the virtual machine is a virtualization of a server, in which case the reboot can simultaneously interrupt multiple user sessions hosted by the virtual machine.
- Examples described herein include systems and methods for managing reboot operations of virtual machines.
- a virtual machine being used by at least one user can detect that a reboot is needed.
- the reboot can be needed to update an operating system or an application of the virtual machine.
- the virtual machine can prompt a user to allow for the reboot operation to be completed locally or in a background. If the user opts for the reboot to take place in the background, the virtual machine can be cloned and the cloned virtual machine can perform the reboot and update while the user continues using the original virtual machine. Changes made at the original virtual machine during the reboot can then be added to the cloned virtual machine once the reboot is complete.
- a virtual machine can be operating in an active state as it is utilized through a computing device by a user.
- the active state can include the VM performing normal I/O operations caused by user, internal operating system, network, or enterprise computing system interactions.
- the VM Upon receiving a request from the user for a reboot to be performed in the background, the VM can send a request to a backup agent to complete the reboot without an operational interruption to the VM.
- a pre-shutdown service on the VM can recognize the reboot, cause the user to be prompted to select a native or background reboot option, and send the request to the backup agent.
- the backup agent can be a service operating on a virtual machine server separately from the virtual machines, such as the VM, accessed from the virtual machine server. Alternatively, the backup agent can execute on a different server.
- the backup agent can instruct a hypervisor to clone the VM, and generate a VM clone (VMC) that performs the reboot while operating in a maintenance state.
- the hypervisor can generate, manage, and support multiple virtual machines that can be accessed from the virtual machine server.
- the VMC can include a copy of the VM with the same application settings and registry data.
- the maintenance state may encompass substantially all operations that can be executed by a virtual machine operating in the active state. However, these operations are executed while the virtual machine is not being implemented on a computing device that is different from the virtual machine server.
- the VM can cancel its own native reboot operation in response to the background reboot selection, or in response to a message from the backup agent confirming the VM will be cloned.
- the VM can continuously capture changes to the VM that occur during and after a cloning process.
- a filter agent executing on the VM captures these changes.
- the backup agent can send a message to the VM that causes the filter agent to begin collecting the changes.
- the VMC can notify the backup agent it has completed the reboot operation.
- the backup agent can transmit, or cause the VM to transmit, the changes captured by the filter agent to the VMC for integration.
- an instruction can be issued to the hypervisor to switch user control over to the VMC, transitioning the VM to a dormant state and the VMC to the active state.
- the dormant state can include a virtual machine, being stored on a server with a respective operating system completely inactive, and thus ceasing from any operations.
- the backup agent instructs the hypervisor to transition based on a notification from the VM that the changes have been transmitted.
- the backup agent itself transmits the changes to the VMC and can instruct the hypervisor to transition control to the VMC after the changes are transmitted.
- the hypervisor can cause the VMC to be displayed by and controlled through the computing device.
- the instruction causing the transitions can specify a removal protocol for the virtual machine.
- the hypervisor can immediately delete the virtual machine, or maintain it in an accessible location until deleted automatically or through an authorization process.
- the hypervisor can remove the virtual machine to a storage space of the VMC for a predetermined period of time prior to deletion.
- FIG. 1 is a flowchart of an exemplary method for cloning a virtual machine and integrating changes to the virtual machine into a virtual machine clone.
- FIG. 2 is a sequence diagram of an exemplary method for cloning a virtual machine.
- FIG. 3 is a sequence diagram of an exemplary method for integrating changes to a virtual machine into a virtual machine clone.
- FIG. 4 is a sequence diagram of an exemplary method for integrating changes to a virtual machine into a virtual machine clone.
- FIG. 5 is an exemplary illustration of system components for cloning a virtual machine and integrating changes to the virtual machine into a virtual machine clone.
- FIG. 6A is an exemplary illustration of a virtual machine being implemented on a user device.
- FIG. 6B is an exemplary illustration of a virtual machine being implemented on a user device and a representation of a virtual machine clone operating on a server.
- FIG. 6C is an exemplary illustration of a virtual machine being implemented on a user device and a representation of a virtual machine clone operating on a server.
- FIG. 6D is an exemplary a virtual machine being implemented on a user device and a representation of a virtual machine clone operating on a server.
- FIG. 6E is an exemplary illustration of a virtual machine clone being implemented on a user device.
- a backup agent operating on a server can receive a request from a virtual machine for a reboot operation without operational interruption.
- a service operating on the virtual machine can issue the request to the backup agent.
- the backup agent can send a first instruction to a hypervisor to clone the virtual machine and generate a virtual machine clone.
- the virtual machine can remain active for use by the user, while the virtual machine clone performs the reboot.
- the backup agent can cause the virtual machine to implement a filter agent that continuously captures changes to the virtual machine.
- the virtual machine clone can notify the backup agent it has completed the reboot.
- the backup agent can transmit, or cause the virtual machine to transmit, the changes to the virtual machine clone for integration.
- a second instruction can be issued to the hypervisor causing the hypervisor to transition the user from the virtual machine to the virtual machine clone. This can include setting the virtual machine to a dormant state and the virtual machine clone to the active state.
- the hypervisor can cause the computing device to implement the virtual machine clone instead of the virtual machine.
- the second instruction can be issued by the backup agent and specify a removal protocol for the virtual machine. For example, the hypervisor can immediately delete the virtual machine, or maintain it in an accessible location until deleted automatically or through an authorization process.
- FIG. 1 provides a flowchart of an example method for cloning a virtual machine operating in an active state. The illustrated method further provides for integrating changes to the virtual machine occurring during a reboot operation, into a virtual machine clone operating in a maintenance state.
- FIG. 2 provides a more detailed sequence diagram for a portion of the method of FIG. 1 including a cloning process.
- FIG. 3 provides a more detailed sequence diagram for an example of a portion of the method of FIG. 1 , including an integrating process.
- FIG. 4 provides a more detailed sequence diagram for another example of a portion of the method of FIG. 1 , including an integrating process.
- FIG. 5 provides an illustration of an example system for performing the methods of FIGS. 1-4 .
- FIGS. 6A-E provide illustrations of a virtual machine operating in an active state and being implemented on a user device, and representations of a virtual machine clone operating in a maintenance state on a server.
- stage 110 includes receiving a request from a virtual machine (referred to as “VM”) operating in an active state to perform a background reboot.
- the active state can include the VM performing normal I/O operations caused by user, internal operating system, network, or enterprise computing system interactions.
- the VM can be a virtualization of a physical computing system or device.
- the VM can be configured to simulate an embedded operating system that supports multiple applications.
- the VM is a virtualization of a user device such as a laptop, a mobile device, or other computing device.
- the VM is a virtualization of a server.
- the background reboot can allow a user to continue using the VM instead of waiting for the VM to restart. Numerous reasons exist why a VM may need to reboot. As a few examples, the VM may need to reboot as part of updating its operating system (“OS”), updating applications that execute on the VM, or to complete installation of a new application. Aspects of the present disclosure apply to virtual machines implementing various operating systems including, but not limited to WINDOWS and Linux operating systems.
- the OS and applications on the VM can routinely check for available updates.
- the OS of the VM can receive an indication that an update is available.
- the update indication can be handled by an OS service that determines what the VM will do in response to the update indication.
- the OS service can execute a pre-shutdown procedure for notifying the user when a reboot is necessary.
- a pre-shutdown procedure is SERVICE_CONTROL_PRESHUTDOWN, which is used by WINDOWS.
- the pre-shutdown procedure can be called by the OS service as part of notifying a user that the VM needs to restart.
- the OS service can implement the pre-shutdown procedure to instead prompt the user regarding whether they would like to update in the background so they can continue using the VM. If the user selects to do so, the process for a background reboot can begin.
- the pre-shutdown procedure of the VM can be configured to automatically initiate a background reboot and notify the user that the background reboot is taking place. In that example, the pre-shutdown procedure can display a notification to the user of the VM that the background reboot is occurring.
- the VM can send a request to a backup agent.
- the backup agent can operate separately from the VM, such as on the server that hosts the VM or on a separate server.
- the backup agent can communicate with a hypervisor to manage various steps of the background reboot, as will be described in detail.
- the request for the background reboot can be sent to the backup agent by the OS service.
- the OS service can send the request in response to receiving an instruction from a user, an application, or a computing device.
- the instruction can indicate that an operational state of the VM is not to be interrupted by a reboot previously detected, scheduled, or prompted for by the OS service.
- the VM can persist in a dormant, active, or maintenance state.
- a dormant state a virtual machine can be stored on a server with a respective operating system inactive and ceasing from any operations.
- the active state can include the virtual machine performing normal I/O operations while it is implemented on a computing device other than a computing device, such as a server, from which it is accessed.
- a maintenance state may encompass substantially all operations that can be executed by a virtual machine such as the VM operating in the active state. However, these operations are executed while the virtual machine is not being implemented on a computing device that is different from the virtual machine server.
- a reboot can be a process in which file systems can be initialized, drivers can be loaded, operating systems can be updated, applications can be updated or installed, and patches can be installed.
- the reboot can include a startup sequence that starts an operating system of a virtual machine as it is initialized from the dormant state for operation in the active or maintenance state.
- the reboot may include an initial set of operations performed by a virtual machine as it is reimplemented in the active or maintenance state.
- a background reboot can encompass the same processes of a reboot originally detected by a virtual machine, being performed with a clone of the virtual machine.
- Both the OS service of the VM and the backup agent can include respective device-level and application-level management sub-agents.
- Device-level management sub-agents can include an Application Programming Interface (“API”), agent application, hypervisor, or virtualized device.
- Application-level management sub-agents can include an API, Software Development Kit (“SDK”), application wrapper, or workspace agent application.
- the device-level management sub-agent can include system level privileges.
- the application-level management sub-agent can include privileges in managed applications. These privileges can be developed for operation with a computing device implementing, or on which is implemented, a virtual machine, or a server(s) implementing agents such as the management and backup agents.
- Reference to the OS service and the backup agent is understood to include either or both of the device-level and application-level management sub-agents unless otherwise specified.
- the VM can execute on and be accessed from a virtual machine server.
- the virtual machine server can be one or more servers.
- the virtual machine server can implement a respective management interface separately from an implementation of the backup agent.
- the backup agent can be implemented on a different server than the management interface being implemented by the virtual machine server.
- the virtual machine server can implement both of the backup agent and the management interface.
- the virtual machine server can implement the backup agent as the management interface.
- a first instruction is sent to a hypervisor of the virtual machine server to create a clone of the VM.
- the backup agent can send the first instruction, causing the hypervisor to generate a VM clone (“VMC”).
- VMC can be a copy of the VM, including the same OS, stored data, files, and settings.
- the first instruction can be issued by the backup agent to the hypervisor directly, or through a management interface of the virtual machine server.
- the hypervisor can operate on the virtual machine server to generate, manage, and support multiple virtual machines that can be accessed from the virtual machine server. Processes on the virtual machine server can communicate with instances of virtual machines through the hypervisor, such that resources can be shared with operating systems of the virtual machines.
- the hypervisor can clone a virtual machine operating in the active state, the maintenance state, or the dormant state.
- the hypervisor can clone a virtual machine that includes a call for a reboot. Further, the hypervisor can cause any virtual machine it generates to operate in the maintenance state.
- the backup agent specifies the VM is to be cloned by the hypervisor while the VM operates in the active state.
- the hypervisor can cause the VMC to reboot after the VMC has been created. The user can continue using the VM while this occurs.
- the hypervisor can maintain the VM in the active state while the VMC reboots in the maintenance state.
- Stage 130 includes capturing changes to data in the VM occurring during cloning and while the VMC reboots. By capturing these changes in the interim, the system can later synchronize the rebooted VMC with the VM, as will be described.
- the backup agent can cause a filter agent to be implemented by the VM to capture input and output (I/O) operations performed by the VM.
- the filter agent can be installed or activated in a filter system of the VM by the backup agent, or by the OS service of the VM via an instruction from the backup agent.
- the filter agent can be a file system driver in the OS kernel.
- WINDOWS can implement a MiniFilter Driver to capture I/O operations at the VM.
- the system can extend the MiniFilter Driver to record I/O operations and data changes at the VM.
- the system can extend and utilize multiple different filter agents on the VM to capture different changes. These changes can include new or updated files, applications, and registry entries.
- the management or backup agent can specify which I/O operations the filter agent will filter. This can include specified I/O request operations, fast I/O operations, and system callback operations. For each I/O operation filtered by the filter agent, a preoperation callback routine, a postoperation callback routine, or both can be registered for the filter agent with a filter manager of the filter system.
- the management or backup agent can define a priority of the filter agent relative to the other filter agents in stage 130 .
- the filter manager can call the appropriate callback routine for the filter agent, which registered for that operation with a respective priority.
- the filter manager can call the appropriate callback routine for another filter agent registered for the operation and with a lower priority.
- Changes to the VM captured with the filter agent filtering I/O operations can be continuously stored in or transmitted by the VM.
- the backup agent can specify that the changes be transmitted to the VMC directly, or through a server that stores the changes while the VMC performs the reboot.
- the changes are stored on a separate server that can include the backup agent. Further, the backup agent can transmit the changes to the VMC in real time except when the VMC is performing the reboot.
- Stage 140 can include integrating the changes captured by the filter agent into the VMC after the reboot is completed by the VMC.
- the VMC can send the backup agent a notification that the reboot has been completed.
- the VMC has not received any of the changes that occurred during the interim at the VM, beginning at the time the background reboot was requested.
- These changes at the VM may include new files, files modified from respective instances at the time of the request at stage 110 , or new or updated applications installed in the VM.
- the backup agent can instruct the OS service for the VM to transmit the changes, for example in a step file, directly to an OS service of the VMC.
- This process advantageously does not require an intermediary to temporarily store the changes, which can add time and complexities to the overall method.
- the backup agent can provide a bridge between the VM and the VMC.
- the backup agent can continuously receive and store the changes in real time from the VM during the reboot by the VMC. After the reboot, the backup agent can resume communication with the VMC now operating in the maintenance state.
- the backup agent can subsequently transmit the changes in a step file with an instruction for integration by the VMC. Accordingly, resources for the VM that may be used to store the changes can be freed during the background reboot process. This may also be advantageous where a step file with the changes includes a substantial amount of data. Transmitting such a file at one time may tie up substantial resources of the VM and affect performance, and is therefore better stored and transmitted by an intermediary such as the backup agent.
- the backup agent can continuously send the changes from the VM that continues to operate in the active state after the background reboot has been performed.
- the backup agent can switch the manner in which the changes are transmitted. The backup agent can cause the VM to pause its respective transmittance of any ongoing changes, and direct the OS service of the VM to send these stored changes directly to the VMC.
- Stage 150 can include sending a second instruction to the hypervisor to transition the VM and VMC from respective operating states. This can include transitioning user control from the VM to the VMC.
- the second instruction may be issued by the backup agent and received by the hypervisor.
- the second instruction can direct and cause the hypervisor to transition the VM from the active state to the dormant state.
- the hypervisor can transition the VM from being accessed by the computing device to residing on the virtual machine server in a dormant state that is marked for removal.
- the hypervisor can transition the VMC from the maintenance state to the active state. More specifically, the VMC will transition to being accessed by the computing device.
- Stage 160 can include the backup agent causing the hypervisor to remove the VM.
- Removal of the VM can include the hypervisor removing the VM from a location on the virtual machine server where the VM was previously accessed.
- the VM can persist in the dormant state for a period of time, in case an error occurs when transitioning user access to VMC. Otherwise, the hypervisor can delete the VM.
- the backup agent can direct the hypervisor to remove the VM by deleting it from a respective location on the virtual machine server automatically, subject to user authorization, or through a combination of these protocols.
- the hypervisor can delete the VM immediately, or after a predetermined period of time following the transition to the dormant state.
- the backup agent can cause the VM or VMC to prompt a user to accept the transition.
- the backup agent can also cause the virtual machine server to prompt a user-administrator to confirm deletion of the VM, in an example.
- the backup agent can prompt a user for authorization, and the hypervisor can delete the VM after a predetermined period of time for which authorization is not obtained. A time period for any of the cases described can be defined by the backup agent.
- the hypervisor may store the VM in a different location for a period of time that can be defined by the backup agent.
- the backup agent can direct the hypervisor to store the VM in a storage space of the VMC.
- the VM can be stored in the dormant state on a separate server that includes, for example, the backup agent.
- the VM may be accessible by a user, the backup agent, or the hypervisor to be transitioned back into the active state. Accordingly, should an issue arise with the VMC, such as a loss of data resulting from the execution of the reboot, the VM can be retrieved. Deletion of the VM from the VMC or the separate server can be executed according to any of the deletion protocols described in present disclosure.
- the VMC can be transitioned to the active state and the VM can been transitioned to the maintenance state immediately after the VM is cloned.
- user control is switched over to the VMC immediately after respective generation.
- the backup agent can communicate with the OS service for the VMC to cause implementation of the filter agent while the VM performs the reboot. Changes to the VMC can be captured by the filter agent and transmitted to the VM for integration.
- the backup agent can send the hypervisor an instruction to transition the VM back to the active state, and transition the VMC to the dormant state. The instruction can further provide for removal of the VMC by the hypervisor.
- FIG. 2 provides an example sequence diagram encompassing the stages directed toward a cloning process described in FIG. 1 , and showing interactions between various system components.
- the VM operating in the active state on a computing device, can detect a reboot.
- the OS service operating on the VM can detect the reboot, or call for the reboot to service the VM.
- the VM can issue a notification of the pending reboot to a user.
- the pre-shutdown procedure can cause a notification to display in the VM environment displayed in the computing device.
- the notification can allow the user to choose between rebooting the VM or performing a background reboot.
- the notification can also describe the reason for the reboot, such as an update that is being performed.
- the notification can include scheduling and duration information, processes that will be completed, and information identifying applications or systems being updated.
- the notification can be displayed to the user in any manner, such as in a pop-up on the desktop of the VM, in a message delivered to an email inbox, or as a reminder from a calendar application.
- the VM can receive a selection of an option for completion of the reboot without an operational interruption of the virtual machine (background reboot operation).
- the option can be included in the notification, or made active subsequent to the issuance of the notification.
- the option for the background reboot can be one of several selectable options for obtaining more information about the reboot.
- the VM can request completion of the background reboot with the backup agent.
- the request can specify the operations encompassed in the reboot and be issued by the OS service that detected the reboot.
- the backup agent can optionally check the VM for a filter agent in response to the request for the background reboot.
- the VM can include a filter system with one or more filter agents previously installed.
- the backup agent can determine if a filter agent required for capturing changes to the VM is installed, and determine its priority with respect to other filter agents.
- the backup agent can issue a confirmation and filter instruction to the VM.
- the confirmation can include a notification that the operations encompassed in the reboot can be performed by a virtual machine operating in the maintenance state.
- the confirmation can further include an instruction for canceling the reboot on the VM during or after a cloning process.
- the confirmation can specify a time required for the background reboot to be completed.
- the filter instruction can include an instruction for implementing a filter agent in the filter system of the VM, and a capture protocol.
- the implementation instruction can include the filter agent for installation, and specify that the filter agent is to be installed and initialized during a cloning process.
- the filter system of the VM may already include the required filter agent.
- the implementation instruction may specify a priority of the filter agent relative to other filter agents.
- the implementation instruction can further specify that the filter agent be initialized during the cloning process, and include a location where changes captured by the filter agent be written to or stored.
- the implementation instruction can specify the changes be stored on the virtual machine and transmitted by the OS service to the backup agent or the VMC.
- the implementation instruction can specify the filter agent write the changes to a volume located on a separate server that can include the backup agent.
- the capture protocol can specify a priority of changes that can be captured by the filter agent relative to any that cannot, and include an instruction for the computing device to store any uncapturable changes in a respective memory or storage.
- the capture protocol can further specify an instruction for issuing a notification, by the VM or VMC displayed at the computing device, of changes that were not captured in the filter agent.
- the backup agent can instruct the hypervisor to clone the VM.
- the backup agent can specify that the VM be cloned with the call for the reboot. Further, the backup agent can specify that the VMC operate in the maintenance state on the virtual machine server once cloned.
- the call for the clone can be routed directly from the backup agent operating as a management interface of the virtual machine server including the hypervisor.
- the backup agent can persist on a separate server, or on the virtual machine server in addition to a management interface. The call for the clone can be routed from the backup agent to the hypervisor through the management interface.
- the hypervisor can clone the VM, instantiating the VMC.
- the VM can continue to operate in the active state, allowing continued use by the user, from the time of the original detection of the reboot through an initialization of the cloning process.
- the hypervisor can create a clone of the VM even though the VM is running in an active state.
- VMWARE's InstantClone technology can be used to create a VMC with the same OS, files, registry, and data as the VM at the moment of cloning.
- the hypervisor can generate a clone of a virtual machine in 1.0 to 1.5 seconds.
- a user logged into the VM operating in the active state will also be logged into the VMC upon generation, but prevented access to the VMC by the hypervisor.
- this dual login can enable direct communication between OS services of the VM and the VMC in one example.
- the VM can cancel the reboot. Accordingly, the VM will not perform the reboot, and in one example, will not prompt a user for authorization to execute the reboot again. In another example, the VM may set an expiration period for receiving a notification that background reboot has been completed. If a notification of completion is not received, the OS service for VM may prompt a user for authorization to execute the reboot on the VM.
- the VM can implement the filter agent and the capture protocol according the to filter instruction received from the backup agent at stage 218 .
- the filter agent can be a file system driver or extension thereof.
- the filter agent can function inside a kernel of the OS of the VM.
- the filter agent can actually include multiple filter agents installed or activated in the filter system.
- the filter agent can capture all disc and VM I/O operations, as well as any changes to a file system and registry of the VM.
- the filter agent can intercept any I/O operations or changes to the file system and registry, or a system driver of the VM.
- the filter agent can log any changes to the VM that could not be saved, or were required to be saved locally on the VM.
- the filter agent can cause the changes to be stored, for example, in a step file, on the VM, or transmitted to another location.
- FIG. 3 provides an example sequence diagram encompassing stages that can follow the sequence of FIG. 2 .
- the stages of FIG. 3 are directed toward integrating and transitioning described in FIG. 1 , and showing interactions between various system components.
- the VMC operating in the maintenance state, can execute the reboot originally detected by the VM. Accordingly, any operations specified for the VM in the reboot will be executed on the VMC. This can include installing updates, in an example.
- the backup agent can receive a notification from the VMC that the reboot is complete.
- the OS service of the VMC can notify the backup agent, in one example.
- the notification can include information about the operations performed by the VMC as a result of the reboot.
- the notification may indicate any issues occurring during the reboot.
- the backup agent can notify the VM that the background reboot is complete at stage 314 .
- the VMC can continue to operate in the maintenance state.
- the filter agent can complete capturing changes to the VM.
- the filter agent can specify a location for the changes to be directed in response to the notification in stage 314 , and according to the filter instruction of stage 218 .
- the filter agent can store the changes in a step file.
- an agent responsive to the filter agent can direct file system and registry write operations to a specified writable volume accessible by the OS service for the VM.
- the VM can transmit the changes captured by the filter agent directly to the VMC.
- a user operating the VM can be logged into both the VM and the VMC simultaneously.
- the shared credentials can allow the OS services of the VM and the VMC to communicate directly. Accordingly, the captured changes can be accessed and sent directly to the OS service of the VMC by the OS service of the VM.
- the VMC can integrate the changes captured and transmitted by the VM.
- a step file including all of the changes can be pushed to the VMC.
- the changes can be implemented by repeating the same I/O or by copying over changed files, applications, and registry information.
- the VM can notify the backup agent that the changes have been transmitted.
- the backup agent can send a transition instruction to the hypervisor in response to the notification.
- the transition instruction can specify a protocol for transitioning the VMC into the active state, as well as a removal protocol for the VM.
- the transition protocol can specify that the transition is to occur immediately after reception of the instruction.
- the transition protocol can specify a series of prompts for a user to respond to in order to choose when a transition to the VMC can occur.
- the hypervisor or backup agent can cause the VM to prompt the user for authorization to transition.
- the OS service of the VM can display a notice allowing the user to authorize the transition.
- the hypervisor can complete the transition automatically.
- the hypervisor transitions the VM to the dormant state from the active state.
- the hypervisor transitions the VMC from the maintenance state to the active state. Accordingly, a user may be switched from control of the VM to control of VMC at stage 328 .
- Stage 328 may occur simultaneously, or shortly after, the transition in stage 326 .
- the total time for the transitions in stages 326 and 328 is considerably less than the time required to complete a reboot operation, saving the user significant downtime.
- the transition can be performed over a period equal to or less than a virtual machine cloning process for the hypervisor.
- the filter agent can be reimplemented by the OS service of the VM.
- the hypervisor can implement a removal protocol included in the transition instruction.
- the removal protocol can specify a destination for the VM and a deletion policy.
- the VM can be deleted immediately, or after a predetermined period of time by the hypervisor.
- the VM can be stored on a separate server or in a storage space of the VMC. In the latter case, the removal protocol may specify a removal policy for the hypervisor to push to the OS service for the VMC.
- the VM can be accessible for a defined period of time for reimplementation if there is an issue with the VMC.
- FIG. 4 provides another example sequence diagram encompassing stages that can follow the sequence in FIG. 2 .
- the stages of FIG. 4 are directed toward the integrating and transitioning described in FIG. 1 , and showing interactions between various system components.
- the VM continuously transmits the changes to the backup agent.
- the OS service for the VM transmits the changes.
- the filter agent can direct file system and registry write operations encompassing the changes directly to the backup agent.
- the backup agent can continuously store the changes in a step file, for example.
- the VM can additionally store the changes prior to transmitting the changes to the backup agent.
- the redundant storage protocol can ensure that all changes captured by the filter agent are integrated into the VMC.
- the VM can redundantly store the changes for a limited period of time set by the backup agent.
- the VMC can execute the reboot.
- the backup agent can receive a notification from the VMC that the reboot is complete at stage 416 .
- the OS service for the VMC can send the notification to the backup agent.
- the notification can include information about the operations performed as part of the reboot.
- the backup agent can notify the VM the background reboot is complete at stage 418 .
- the VMC can continue to operate in the maintenance state.
- the filter agent can complete capturing changes to the VM.
- the VM can transmit the last captured changes to the backup agent. Accordingly, the VM can discontinue implementing the filter agent unless other changes are registered before a transition to the dormant state occurs.
- the notification in stage 418 can include a record of the changes the backup agent was able to store. If the VM has been redundantly storing the changes, the VM can compare the record with the changes the VM has stored. At stage 422 , the VM can supplement the last changes with any previous changes the backup agent did not store.
- the backup agent compiles the last changes into the changes it has been storing, and transmits the stored changes to the VMC.
- the VMC can integrate the captured changes transmitted by the VM at stage 426 .
- the changes can be integrated by repeating the same I/O or by copying over changed files, applications, and registry information.
- the backup agent having transmitted the stored changes, can issue a transition instruction to the hypervisor.
- the transition instruction can include transition and removal protocols.
- the hypervisor following the transition protocol, can transition the VM to the dormant state at stage 430 , and transition the VMC to the active state at stage 432 .
- the hypervisor can implement the removal protocol as to the VM.
- the VM can be a virtualization of a single computing device.
- the VM can be a virtualization of a server having multiple users.
- the hypervisor can generate the VMC as a clone of the multi-user server (i.e., the VM). Users of the VM can continue with respective sessions being hosted on the VM, but after the VMC is generated, all the sessions on the VM will be moved to the VMC at the same time.
- FIG. 5 is an exemplary illustration of system components for carrying out the methods described above, including those described with respect to FIGS. 1-4 .
- the system can include a virtual machine server 500 and at least one user device 550 .
- the virtual machine server 500 can be one or more servers respectively.
- the virtual machine server 500 can include a management interface 501 , a backup agent 502 , and a hypervisor 504 .
- a virtual machine, VM 510 , and a virtual machine clone, VMC 530 can be accessed from the virtual machine server 500 .
- the management interface 501 can provide a two-way communication channel between the virtual machine server 500 and the user device 550 .
- the management interface 501 can be in communication with the backup agent 502 and the hypervisor 504 . Communications facilitated through the management interface 500 can enable implementation of VM 510 or VMC 530 on the user device 550 .
- the backup agent 502 can include one or both of a device-level and an application-level management sub-agent.
- the backup agent 502 can direct operations of the hypervisor 504 for generating and transitioning virtual machines.
- the backup agent 502 can communicate directly with VM 510 and VMC 530 to manage respective reboot and filtering operations.
- the hypervisor 504 can be implemented on the virtual machine server 500 to generate, manage, and support multiple virtual machines such as VM 510 and VMC 530 .
- VM 510 is a virtualization of a physical computing device and is configured to simulate an operating system that supports multiple applications.
- VM 510 includes an OS service 512 , a system driver 514 , a file system and registry 516 , and a filter system 520 .
- the OS service 512 can include device-level and application-level management sub-agents as described herein and manage operations of VM 510 .
- the system driver 514 can process requests from the OS service 512 for I/O operations such as program calls for routines and sub-routines.
- the system driver 514 can command various programs, devices, or an operating system to perform the necessary functions to satisfy the request.
- the system driver 514 can direct the file system and registry 516 to implement storage, modification, deletion, or duplication requests for respective data.
- VM 510 corresponds to a virtual machine in which a background reboot has been confirmed and a filter agent has been implemented.
- the filter system 520 includes a filter manager 522 and a filter agent 524 . Due to the implementation of the filter agent 524 , the filter manager 522 intercepts I/O operation requests from the OS service 512 and directs them to the filter agent 524 .
- VMC 530 represents a clone of VM 510 before the filter agent 524 was implemented.
- An OS service 532 , a driver system 534 , a file system and registry 538 , and a filter system 540 represent exact clones of their respective counterparts in VM 510 prior to implementation of the filter agent 524 .
- FIG. 5 illustrates an exemplary situation where the filter agent 524 was installed as part of an implementation after a cloning process.
- the filter agent 524 could have been part of the filter system 520 prior to cloning and have a counterpart in VMC 530 .
- the cloned filter agent would not be configured to cause the filter manager 542 to intercept I/O operations from the OS service 532 .
- the user device 550 can be any type of computing device, such as a phone, tablet, watch, laptop, desktop computer, or server.
- the user device 550 can include a processor and memory storage, and can communicate over a network, such as the interne, in wired or wireless fashion, using one or more components.
- the user device 550 can include a non-transitory computer-readable medium containing instructions that are executed by the processor. Exemplary non-transitory, computer-readable mediums include RAM and ROM, disks, and other memory and storage that is accessible by a USB port, a floppy drive, CD-ROM, or DVD-ROM drive, and a flash drive, among others.
- the user device 550 can further include a VM Client 552 and a management agent 554 .
- the VM Client 552 can be a managed application that is installed on the user device 550 as part of enrolment in an enterprise mobility management (“EMM”) system.
- EMM enterprise mobility management
- the VM Client 552 can provide access to VMs managed by the enterprise on the virtual machine server 500 .
- the management interface 501 can exchange communications with the management agent 554 to authenticate the VM Client 552 and connect to a virtual machine.
- the VM Client 552 can request implementation of a virtual machine from the virtual machine server 500 .
- the virtual machine server 500 can implement VM 510 or VMC 530 for access by the user device 550 through the management interface 501 and the hypervisor 504 .
- the management interface 501 can open a socket for sending graphics information from VM 510 or VMC 530 , to the VM Client 552 .
- the socket can be used for sending user interface events from the user device 550 to VM 510 or VMC 530 .
- FIGS. 6A-E provide exemplary illustrations of a user device 600 and a virtual machine server 602 during implementations of various stages of the methods described herein.
- FIG. 6A illustrates a virtual machine, VM 610 , being implemented on the user device 600 .
- VM 610 virtual machine
- FIG. 6A illustrates a reboot operation notification 610 generated by VM 610 .
- the notification 610 can provide an option to implement the reboot immediately. If selected, VM 616 will be unavailable to the user during the reboot, and reduce the user's ability to utilize VM 610 to be productive.
- the notification can additionally provide an option to continue working on VM 610 and have a background reboot performed.
- the virtual machine server 602 Upon selection, the virtual machine server 602 will create a virtual machine clone.
- a representation of the virtual machine clone operating in the maintenance state is illustrated in FIG. 6B , and designated as VMC 630 .
- Data for VMC 630 corresponding to the data represented by folders 612 in VM 610 are represented as folders 632 .
- FIG. 6B illustrates a time immediately after the background reboot was selected. Accordingly, VMC 630 is an exact clone of VM 610 and includes the call for the reboot.
- FIG. 6C provides and exemplary illustration of VM 610 and VMC 630 during the background reboot.
- changes to VM 610 have occurred, as represented by an increase in the number of folders 612 .
- a filter agent for VM 610 has been capturing the changes.
- the increase in the folders 612 is merely representative of I/O operations, or changes to files, programs, and an operating system that a filter agent according to the present disclosure can capture.
- VMC 630 performs the reboot represented by numeral 640 .
- FIG. 6D provides an exemplary illustration of VM 610 and VMC 630 after the background reboot has been completed. Further, the captured changes to VM 610 have been integrated into VMC 630 as represented by the folders 632 in FIG. 6D being the same as the folders 612 in FIG. 6C .
- a notification 618 that the background reboot is complete is provided through the user interface 614 implemented by VM 610 . The notification 618 provides a selectable option to transition to VMC 630 .
- FIG. 6E provides an exemplary illustration of VMC 630 being implemented on the user device 600 . Accordingly, VMC 630 has been transitioned from the maintenance state to the active state, and VM 610 has been removed by the virtual machine server 602 .
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (20)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/980,732 US10606632B2 (en) | 2018-05-15 | 2018-05-15 | Preventing interruption during virtual machine reboot |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/980,732 US10606632B2 (en) | 2018-05-15 | 2018-05-15 | Preventing interruption during virtual machine reboot |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20190354392A1 US20190354392A1 (en) | 2019-11-21 |
| US10606632B2 true US10606632B2 (en) | 2020-03-31 |
Family
ID=68532562
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/980,732 Active 2038-06-21 US10606632B2 (en) | 2018-05-15 | 2018-05-15 | Preventing interruption during virtual machine reboot |
Country Status (1)
| Country | Link |
|---|---|
| US (1) | US10606632B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200150972A1 (en) * | 2018-11-09 | 2020-05-14 | Microsoft Technology Licensing, Llc | Performing actions opportunistically in connection with reboot events in a cloud computing system |
| US11847482B2 (en) * | 2020-05-14 | 2023-12-19 | Vmware, Inc. | Distributed resource scheduler as a service |
| US11656933B2 (en) * | 2021-09-24 | 2023-05-23 | International Business Machines Corporation | System tuning across live partition migration |
Citations (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080104588A1 (en) * | 2006-10-27 | 2008-05-01 | Barber Michael J | Creation of temporary virtual machine clones of multiple operating systems |
| US20100106885A1 (en) * | 2008-10-24 | 2010-04-29 | International Business Machines Corporation | Method and Device for Upgrading a Guest Operating System of an Active Virtual Machine |
| US20110208908A1 (en) * | 2010-02-24 | 2011-08-25 | Avaya, Inc. | Method and apparatus for high availability (ha) protection of a running virtual machine (vm) |
| US8151263B1 (en) * | 2006-03-31 | 2012-04-03 | Vmware, Inc. | Real time cloning of a virtual machine |
| US20120084520A1 (en) * | 2010-09-30 | 2012-04-05 | Avaya Inc. | Method and Apparatus for Efficient Memory Replication for High Availability (HA) Protection of a Virtual Machine (VM) |
| US20120180040A1 (en) * | 2011-01-06 | 2012-07-12 | International Business Machines Corporation | Techniques for personalizing feed content in virtualized computing environments |
| US20120227038A1 (en) * | 2011-03-03 | 2012-09-06 | Microsoft Corporation | Lightweight on-demand virtual machines |
| US20130132945A1 (en) * | 2011-11-17 | 2013-05-23 | International Business Machines Corporation | Virtual machine updates |
| US20140122941A1 (en) * | 2012-03-22 | 2014-05-01 | Huawei Technologies Co., Ltd. | Auxiliary method, apparatus and system for diagnosing failure of virtual machine |
| US20140244950A1 (en) * | 2013-02-26 | 2014-08-28 | Red Hat Israel, Ltd. | Cloning live virtual machines |
| US20150074054A1 (en) * | 2013-09-06 | 2015-03-12 | Vmware, Inc. | Virtual machine cloning |
| US9110762B2 (en) * | 2012-12-04 | 2015-08-18 | Microsoft Technology Licensing, Llc | Virtual machine-preserving host updates |
| US9110693B1 (en) * | 2011-02-17 | 2015-08-18 | Emc Corporation | VM mobility over distance |
| US9323565B2 (en) * | 2013-12-20 | 2016-04-26 | Vmware, Inc. | Provisioning customized virtual machines without rebooting |
| US20160164762A1 (en) * | 2014-12-05 | 2016-06-09 | Amazon Technologies, Inc. | Automatic management of resource sizing |
| US20160335111A1 (en) * | 2014-02-24 | 2016-11-17 | Hewlett-Packard Development Company, L.P. | Virtual network function management with deactivated virtual machines |
| US20160378527A1 (en) * | 2015-06-26 | 2016-12-29 | Vmware, Inc. | Cloning a virtual machine from a physical device based on a local snapshot |
| US9575792B2 (en) * | 2014-03-14 | 2017-02-21 | Netapp, Inc. | Method and system for replicating virtual machines |
| US20170147819A1 (en) * | 2015-11-20 | 2017-05-25 | Lastline, Inc. | Methods and systems for maintaining a sandbox for use in malware detection |
| US9852011B1 (en) * | 2009-06-26 | 2017-12-26 | Turbonomic, Inc. | Managing resources in virtualization systems |
| US9929931B2 (en) * | 2011-03-16 | 2018-03-27 | International Business Machines Corporation | Efficient provisioning and deployment of virtual machines |
| US20180225108A1 (en) * | 2014-10-28 | 2018-08-09 | International Business Machines Corporation | Applying update to snapshots of virtual machine |
| US20180248750A1 (en) * | 2017-02-27 | 2018-08-30 | Cisco Technology, Inc. | Mitigating network impact of disruptive device changes |
| US20180260237A1 (en) * | 2017-03-13 | 2018-09-13 | International Business Machines Corporation | Nondisruptive updates in a networked computing environment |
| US10353733B1 (en) * | 2018-10-02 | 2019-07-16 | Capital One Services, Llc | Systems and methods for performing virtual machine updates without rebuild of distributed databases thereon |
| US20190265998A1 (en) * | 2018-02-27 | 2019-08-29 | Hewlett Packard Enterprise Development Lp | Transitioning virtual machines to an inactive state |
-
2018
- 2018-05-15 US US15/980,732 patent/US10606632B2/en active Active
Patent Citations (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8151263B1 (en) * | 2006-03-31 | 2012-04-03 | Vmware, Inc. | Real time cloning of a virtual machine |
| US20080104588A1 (en) * | 2006-10-27 | 2008-05-01 | Barber Michael J | Creation of temporary virtual machine clones of multiple operating systems |
| US20100106885A1 (en) * | 2008-10-24 | 2010-04-29 | International Business Machines Corporation | Method and Device for Upgrading a Guest Operating System of an Active Virtual Machine |
| US9852011B1 (en) * | 2009-06-26 | 2017-12-26 | Turbonomic, Inc. | Managing resources in virtualization systems |
| US20110208908A1 (en) * | 2010-02-24 | 2011-08-25 | Avaya, Inc. | Method and apparatus for high availability (ha) protection of a running virtual machine (vm) |
| US20120084520A1 (en) * | 2010-09-30 | 2012-04-05 | Avaya Inc. | Method and Apparatus for Efficient Memory Replication for High Availability (HA) Protection of a Virtual Machine (VM) |
| US20120180040A1 (en) * | 2011-01-06 | 2012-07-12 | International Business Machines Corporation | Techniques for personalizing feed content in virtualized computing environments |
| US9110693B1 (en) * | 2011-02-17 | 2015-08-18 | Emc Corporation | VM mobility over distance |
| US20120227038A1 (en) * | 2011-03-03 | 2012-09-06 | Microsoft Corporation | Lightweight on-demand virtual machines |
| US9929931B2 (en) * | 2011-03-16 | 2018-03-27 | International Business Machines Corporation | Efficient provisioning and deployment of virtual machines |
| US20130132945A1 (en) * | 2011-11-17 | 2013-05-23 | International Business Machines Corporation | Virtual machine updates |
| US20140122941A1 (en) * | 2012-03-22 | 2014-05-01 | Huawei Technologies Co., Ltd. | Auxiliary method, apparatus and system for diagnosing failure of virtual machine |
| US9110762B2 (en) * | 2012-12-04 | 2015-08-18 | Microsoft Technology Licensing, Llc | Virtual machine-preserving host updates |
| US20140244950A1 (en) * | 2013-02-26 | 2014-08-28 | Red Hat Israel, Ltd. | Cloning live virtual machines |
| US20150074054A1 (en) * | 2013-09-06 | 2015-03-12 | Vmware, Inc. | Virtual machine cloning |
| US9323565B2 (en) * | 2013-12-20 | 2016-04-26 | Vmware, Inc. | Provisioning customized virtual machines without rebooting |
| US20160335111A1 (en) * | 2014-02-24 | 2016-11-17 | Hewlett-Packard Development Company, L.P. | Virtual network function management with deactivated virtual machines |
| US9575792B2 (en) * | 2014-03-14 | 2017-02-21 | Netapp, Inc. | Method and system for replicating virtual machines |
| US20180225108A1 (en) * | 2014-10-28 | 2018-08-09 | International Business Machines Corporation | Applying update to snapshots of virtual machine |
| US20160164762A1 (en) * | 2014-12-05 | 2016-06-09 | Amazon Technologies, Inc. | Automatic management of resource sizing |
| US20160378527A1 (en) * | 2015-06-26 | 2016-12-29 | Vmware, Inc. | Cloning a virtual machine from a physical device based on a local snapshot |
| US20170147819A1 (en) * | 2015-11-20 | 2017-05-25 | Lastline, Inc. | Methods and systems for maintaining a sandbox for use in malware detection |
| US20180248750A1 (en) * | 2017-02-27 | 2018-08-30 | Cisco Technology, Inc. | Mitigating network impact of disruptive device changes |
| US20180260237A1 (en) * | 2017-03-13 | 2018-09-13 | International Business Machines Corporation | Nondisruptive updates in a networked computing environment |
| US20190265998A1 (en) * | 2018-02-27 | 2019-08-29 | Hewlett Packard Enterprise Development Lp | Transitioning virtual machines to an inactive state |
| US10353733B1 (en) * | 2018-10-02 | 2019-07-16 | Capital One Services, Llc | Systems and methods for performing virtual machine updates without rebuild of distributed databases thereon |
Also Published As
| Publication number | Publication date |
|---|---|
| US20190354392A1 (en) | 2019-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9262212B2 (en) | Systems and methods for migrating virtual machines | |
| US8484653B2 (en) | Mechanism for delayed hardware upgrades in virtualization systems | |
| US10503532B2 (en) | Creating a virtual machine clone of the host computing device and handling of virtual machine clone requests via an I/O filter | |
| JP5251002B2 (en) | Distributed processing program, distributed processing method, distributed processing apparatus, and distributed processing system | |
| US10540499B2 (en) | Method for monitoring the security of a virtual machine in a cloud computing architecture | |
| EP2816467B1 (en) | Method and device for checkpoint and restart of container state | |
| US7392374B2 (en) | Moving kernel configurations | |
| US9600369B2 (en) | Operating system recovery method and apparatus, and terminal device | |
| US10860363B1 (en) | Managing virtual machine hibernation state incompatibility with underlying host configurations | |
| JP2018519560A (en) | System operation method and intelligent terminal | |
| WO2019196705A1 (en) | Physical-to-virtual migration method and apparatus, and storage medium | |
| US10606632B2 (en) | Preventing interruption during virtual machine reboot | |
| CN117112313B (en) | Service disaster tolerance switching method, device, equipment and storage medium | |
| US20200326956A1 (en) | Computing nodes performing automatic remote boot operations | |
| WO2010000142A1 (en) | Distributed network management system and maintenance management method thereof | |
| US20180349133A1 (en) | Software update rollbacks using file system volume snapshots | |
| CN108874459B (en) | Quick start method and device based on virtualization technology | |
| US10108434B2 (en) | Booting a computing device by streaming a desktop image over a network | |
| CN104951348B (en) | A kind of interruptable recovery upgrade method and device | |
| US10409577B2 (en) | Hybrid application delivery that combines download and remote access | |
| US11086652B2 (en) | Fault-tolerant application virtualization using computer vision | |
| CN120631659A (en) | A method and system for processing virtual machine persistent volumes | |
| KR20160059181A (en) | Apparatus and method for controlling updating software of AVN system in vehicle | |
| JP4883492B2 (en) | Virtual machine management system, computer, and program | |
| CN115605847A (en) | Recovery of computing sessions |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: VMWARE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHEN, ZHIKAI;TENG, SHENGBO;HE, ZHIBIN;AND OTHERS;REEL/FRAME:045813/0973 Effective date: 20180328 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT RECEIVED |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
| MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |
|
| AS | Assignment |
Owner name: VMWARE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:VMWARE, INC.;REEL/FRAME:067102/0395 Effective date: 20231121 |