10565000

Method and Apparatus for Online Upgrade of Kernel-Based Virtual Machine Module

PublishedFebruary 18, 2020
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method comprising: reorganizing and compiling a kernel-based virtual machine module to obtain a first running module, the first running module supporting a dual-active mode; causing a machine virtualizer to use the first running module when an online upgrade is performed; compiling an upgrade version of codes of the first running module to obtain a second running module, the second running module being an upgrade version of the first running module; adding parameters in the machine virtualizer, the parameters being used for switching the machine virtualizer from using an export facility of the first running module to an export facility of the second running module; and switching the machine virtualizer to use the second running module after the online upgrade is completed.

Plain English Translation

This invention relates to online upgrading of kernel-based virtual machine (KVM) modules in a virtualized computing environment. The problem addressed is the need for seamless, zero-downtime upgrades of KVM modules without disrupting virtual machine operations. The method involves reorganizing and compiling a KVM module to create a first running module that supports dual-active mode, allowing concurrent operation of both old and new versions during upgrades. A machine virtualizer (e.g., a hypervisor) uses this first module during the upgrade process. Meanwhile, an upgrade version of the first module is compiled to produce a second running module, which is the upgraded version. The virtualizer is then configured with parameters to switch from using the export facilities of the first module to those of the second module. After the upgrade is completed, the virtualizer transitions to using the second module, ensuring continuous operation without service interruption. This approach enables live upgrades of KVM modules while maintaining system stability and performance.

Claim 2

Original Legal Text

2. The method of claim 1 , wherein reorganizing and compiling the kernel-based virtual machine module comprises: integrating a minimal functional portion that supports running of one or more virtual machines and support running modules in the dual-active mode in the kernel-based virtual machine module into a support module, the support module being used for supporting all the running modules; and integrating portions in the kernel-based virtual machine module that are not included in the support module into the first running module.

Plain English Translation

This invention relates to optimizing kernel-based virtual machine (KVM) modules for dual-active mode operation, addressing inefficiencies in traditional KVM architectures where modules are not modularized for concurrent execution. The solution involves reorganizing and compiling the KVM module into distinct functional components to improve performance and resource utilization in dual-active environments. The method integrates a minimal functional portion of the KVM module into a support module, which is designed to handle all running modules. This support module specifically enables the execution of one or more virtual machines and supports dual-active mode operation, ensuring core functionalities are centralized and streamlined. The remaining portions of the KVM module, which are not part of the support module, are consolidated into a first running module. This modularization allows for better resource allocation, reduced overhead, and improved scalability in dual-active configurations where multiple modules must operate simultaneously without conflicts. By separating the KVM module into these distinct components, the invention enhances efficiency, reduces redundancy, and ensures seamless operation in dual-active environments where multiple virtual machines and modules must coexist. The approach minimizes interdependencies and optimizes performance by isolating critical support functions while consolidating non-essential components into a dedicated running module.

Claim 3

Original Legal Text

3. The method of claim 2 , further comprising causing the support module to support the first running module and the second running module.

Plain English Translation

A system and method for managing modular software applications involves dynamically loading and executing multiple independent modules within a unified runtime environment. The technology addresses the challenge of integrating diverse software components while maintaining stability and performance. Each module operates as a self-contained unit with its own execution context, allowing for isolated operation and independent lifecycle management. The system includes a support module that provides shared resources, such as memory, processing power, and communication interfaces, to the running modules. This support module ensures that the first and second running modules receive necessary resources while maintaining their operational independence. The method further includes dynamically adjusting resource allocation based on the requirements of each module, enabling efficient utilization of system resources. The support module may also handle inter-module communication, error recovery, and security enforcement, ensuring seamless interaction between modules while preventing conflicts. This approach enhances modularity, scalability, and maintainability in software applications by allowing modules to be developed, deployed, and updated independently. The system is particularly useful in environments where multiple software components must coexist and collaborate without compromising system stability.

Claim 4

Original Legal Text

4. The method of claim 1 , further comprising inserting the second running module into a kernel after obtaining the second running module.

Plain English Translation

A system and method for dynamically managing software modules in a computing environment addresses the challenge of efficiently integrating and executing additional software components without disrupting system stability. The invention involves a process where a first running module, already executing in a system, identifies a need for a second running module. The system then retrieves the second running module from a storage location, verifies its integrity and compatibility, and prepares it for execution. The second running module is then inserted into the system's kernel, allowing it to run alongside the first module. This dynamic insertion ensures seamless integration of new functionality while maintaining system performance and security. The method includes steps for error handling, such as rolling back changes if the insertion fails, to prevent system instability. The invention is particularly useful in environments requiring real-time updates or modular software architectures, such as operating systems, embedded systems, or cloud-based applications. By enabling on-demand module insertion, the system reduces downtime and enhances flexibility in software deployment.

Claim 5

Original Legal Text

5. The method of claim 1 , wherein the first running module and the second running module use different export facilities, the export facilities being used for exporting respective user state interfaces.

Plain English Translation

This invention relates to a system for managing user state interfaces in a computing environment where multiple running modules interact with different export facilities. The problem addressed is the need to efficiently handle and export user state interfaces from different modules, which may use distinct export mechanisms, ensuring compatibility and seamless integration. The system includes at least two running modules, each responsible for executing specific tasks or functions within the computing environment. These modules generate user state interfaces, which represent the current state or configuration of a user's interaction with the system. The key innovation lies in the use of different export facilities for each module, allowing flexibility in how user state interfaces are exported. These export facilities are specialized mechanisms designed to convert, format, or transmit the user state interfaces in a way that is compatible with other system components or external systems. By employing distinct export facilities for each module, the system ensures that the user state interfaces are properly adapted to the requirements of the receiving system, whether it is another module, an external application, or a storage system. This approach enhances interoperability and reduces the risk of data loss or corruption during the export process. The system may also include additional modules or components that further process or utilize the exported user state interfaces, enabling advanced features such as state synchronization, backup, or migration. The overall goal is to provide a robust and scalable solution for managing user state interfaces in heterogeneous computing environments.

Claim 6

Original Legal Text

6. The method of claim 1 , further comprising removing the first running module after switching the machine virtualizer to use the second running module.

Plain English Translation

A system and method for managing virtualization modules in a computing environment involves dynamically switching between different virtualization modules to improve performance, reliability, or compatibility. The technology addresses the challenge of maintaining seamless operation when transitioning between virtualization modules, ensuring minimal disruption to running virtual machines or applications. The method includes executing a first running module to manage virtualization tasks, such as emulating hardware or managing guest operating systems. When a switch to a second running module is triggered—due to performance degradation, updates, or compatibility requirements—the system initiates the transition. This involves preparing the second module to take over operations while the first module continues running. Once the second module is ready, the system switches the machine virtualizer to use the second module, allowing it to assume control of virtualization tasks. After the switch, the first running module is removed from the system to free up resources and prevent conflicts. This approach ensures continuous operation without requiring a full system reboot or manual intervention, enhancing efficiency and reliability in virtualized environments.

Claim 7

Original Legal Text

7. The method of claim 1 , further comprising upgrading the machine virtualizer.

Plain English Translation

A system and method for managing machine virtualization involves dynamically adjusting virtual machine (VM) configurations based on workload demands. The core technology enables real-time monitoring of VM performance metrics, such as CPU usage, memory allocation, and network traffic, to optimize resource allocation. When performance thresholds are exceeded, the system automatically scales VM resources by redistributing available hardware resources or provisioning additional VM instances. The system also includes predictive analytics to anticipate workload spikes and preemptively adjust configurations to maintain service levels. Security features ensure that VM adjustments comply with predefined policies, preventing unauthorized access or resource exhaustion. The method further includes upgrading the machine virtualizer, which involves updating the underlying virtualization software to incorporate new features, security patches, or performance improvements. This upgrade process may include compatibility checks, rolling updates to minimize downtime, and validation steps to ensure the virtualizer operates correctly with existing VM configurations. The system is designed for cloud computing environments, data centers, and enterprise IT infrastructures, addressing inefficiencies in static resource allocation and improving scalability, reliability, and security in virtualized environments.

Claim 8

Original Legal Text

8. An apparatus comprising: one or more processors; memory storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising: reorganizing and compiling a kernel-based virtual machine module to obtain a first running module, the first running module supporting a dual-active mode; and causing a machine virtualizer to: use the first running module, obtain a second running module by compiling according to an upgrade version of codes of the first running module, add parameters for switching from using an export facility of the first running module to an export facility of the second running module, and switch to use the second running module, wherein the second running module is an upgrade version of the first running module.

Plain English Translation

This invention relates to virtualization systems, specifically methods for upgrading kernel-based virtual machine (KVM) modules in a live environment without service interruption. The problem addressed is the need to update KVM modules while maintaining continuous operation, avoiding downtime that would otherwise occur during traditional upgrade processes. The apparatus includes processors and memory storing instructions for managing KVM module upgrades. The system reorganizes and compiles a kernel-based virtual machine module to create a first running module that supports dual-active mode, allowing simultaneous operation of both old and new versions during transition. A machine virtualizer then uses this first module, compiles an upgraded version of the module to obtain a second running module, and adds parameters to facilitate switching from the first module's export facility to the second module's export facility. The system seamlessly transitions to the upgraded second module, which is a newer version of the first module. This approach ensures that virtualization services remain uninterrupted during the upgrade process, improving system reliability and availability. The dual-active mode and parameter-based switching mechanism enable a smooth transition between versions without requiring system restarts or downtime.

Claim 9

Original Legal Text

9. The apparatus of claim 8 , the acts further comprising: integrating a minimal functional portion that supports virtual machine running and support running modules in the dual-active mode in the kernel-based virtual machine module into a support module, the support module being used for supporting the running modules; and integrating portions in the kernel-based virtual machine module that are not included in the support module into the first running module.

Plain English Translation

This invention relates to a virtualization system designed to improve the efficiency and modularity of kernel-based virtual machines (KVM). The problem addressed is the complexity and inefficiency in managing virtual machine (VM) operations, particularly in dual-active mode, where multiple VMs run simultaneously. The solution involves restructuring the KVM module to enhance modularity and reduce redundancy. The system includes a kernel-based virtual machine module that supports VM execution and dual-active mode operation. A support module is created to handle core functionalities, such as VM running and dual-active mode support, ensuring minimal functional requirements are met. This support module is integrated into the kernel-based virtual machine module to streamline operations. Additionally, non-essential portions of the kernel-based virtual machine module, not included in the support module, are consolidated into a first running module. This separation allows for better resource allocation and modular management of VM operations. By integrating minimal functional components into the support module and offloading non-essential functions to the first running module, the system optimizes performance and reduces overhead. This modular approach simplifies maintenance, improves scalability, and ensures efficient VM execution in dual-active mode. The invention enhances the overall efficiency of virtualization environments by reducing redundancy and improving functional separation within the KVM module.

Claim 10

Original Legal Text

10. The apparatus of claim 8 , further comprising inserting the second running module into a kernel after the second running module is obtained.

Plain English Translation

A system and method for managing software modules in a computing environment, particularly for handling the execution and integration of modules within an operating system kernel. The technology addresses the challenge of dynamically loading and executing software modules in a secure and efficient manner, ensuring compatibility and proper integration with the kernel. The apparatus includes a first running module that operates within the kernel and a second running module that is obtained from an external source. The system is designed to insert the second running module into the kernel after it has been obtained, ensuring that the module is properly integrated and can interact with the first running module. This insertion process involves verifying the module's integrity, compatibility, and security before allowing it to execute within the kernel space. The apparatus may also include a communication interface that facilitates data exchange between the first and second running modules, enabling seamless interaction and coordination. The overall system enhances the flexibility and functionality of the kernel by allowing dynamic module insertion while maintaining system stability and security.

Claim 11

Original Legal Text

11. The apparatus of claim 8 , wherein the first running module and the second running module use different export facilities, the export facilities being used for exporting respective user state interfaces.

Plain English Translation

This invention relates to a computing apparatus with multiple running modules that manage user state interfaces. The apparatus includes a first running module and a second running module, each responsible for handling user state interfaces. The key innovation is that these modules use different export facilities to manage and export their respective user state interfaces. The export facilities are specialized components that enable the modules to present and transfer user state data in a structured format. By using distinct export facilities, the apparatus ensures compatibility and isolation between the modules, preventing conflicts and enabling independent operation. This design is particularly useful in systems where multiple modules must coexist while maintaining separate user state management. The apparatus may be part of a larger system, such as an operating system or application framework, where modularity and isolation are critical for stability and security. The different export facilities allow each module to define its own interface specifications, ensuring that user state data is handled according to the module's requirements. This approach improves flexibility and scalability in systems with diverse user state management needs.

Claim 12

Original Legal Text

12. One or more processor-readable media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising: reorganizing and compiling a kernel-based virtual machine module to obtain a first running module, the first running module supporting a dual-active mode; causing a machine virtualizer to use the first running module when an online upgrade is performed; compiling an upgrade version of codes of the first running module to obtain a second running module, the second running module being an upgrade version of the first running module; adding parameters in the machine virtualizer, the parameters being used for switching the machine virtualizer from using an export facility of the first running module to an export facility of the second running module; and switching the machine virtualizer to use the second running module after the online upgrade is completed.

Plain English Translation

This invention relates to online upgrading of kernel-based virtual machine (KVM) modules in a virtualized computing environment. The problem addressed is the need for seamless, zero-downtime upgrades of virtualization components without disrupting running virtual machines (VMs). The solution involves a dual-active mode that allows parallel operation of old and new module versions during the upgrade process. The system includes a kernel-based virtual machine module that is reorganized and compiled to create a first running module supporting dual-active operation. A machine virtualizer (e.g., a hypervisor) uses this first module during normal operation. When an upgrade is initiated, the system compiles an upgraded version of the module's code to produce a second running module, which is the upgraded version of the first. The virtualizer is then configured with parameters that enable switching from the export facilities of the first module to those of the second. After the upgrade is complete, the virtualizer transitions to using the second module, ensuring continuous operation of VMs throughout the process. This approach minimizes downtime and maintains system stability during upgrades.

Claim 13

Original Legal Text

13. The one or more processor-readable media of claim 12 , wherein reorganizing and compiling the kernel-based virtual machine module comprises: integrating a minimal functional portion that supports running of one or more virtual machines and support running modules in the dual-active mode in the kernel-based virtual machine module into a support module, the support module being used for supporting all the running modules; and integrating portions in the kernel-based virtual machine module that are not included in the support module into the first running module.

Plain English Translation

This invention relates to optimizing the structure of a kernel-based virtual machine (KVM) module to improve performance and efficiency in a dual-active mode system. The problem addressed is the inefficiency of traditional KVM modules, which often contain redundant or unnecessary components that increase overhead and complexity when running multiple virtual machines (VMs) in a dual-active configuration. The solution involves reorganizing and compiling the KVM module into distinct functional components. A minimal functional portion of the KVM module, which supports the execution of one or more VMs and enables dual-active mode operation, is integrated into a dedicated support module. This support module is designed to handle all running modules, ensuring streamlined and consistent functionality. The remaining portions of the KVM module, which are not part of the support module, are consolidated into a first running module. This separation allows for better resource management, reduced overhead, and improved performance in dual-active environments where multiple VMs must operate simultaneously. The reorganization ensures that only essential components are loaded, minimizing unnecessary processing and memory usage.

Claim 14

Original Legal Text

14. The one or more processor-readable media of claim 13 , the acts further comprising causing the support module to support the first running module and the second running module.

Plain English Translation

A system and method for managing modular software applications involves a support module that provides operational support to multiple running modules. The support module ensures that the first and second running modules, which may be distinct software components or applications, are properly executed and maintained. This includes handling dependencies, resource allocation, and inter-module communication. The support module may also monitor the performance and stability of the running modules, intervening if necessary to prevent failures or conflicts. The system is designed to enhance modularity, allowing different software components to operate independently while still being integrated within a unified framework. This approach improves scalability, maintainability, and fault isolation in software systems. The support module may further include features such as error recovery, logging, and dynamic configuration adjustments to adapt to changing conditions. The overall system is particularly useful in environments where multiple software modules need to coexist and interact efficiently, such as in cloud computing, distributed systems, or enterprise applications.

Claim 15

Original Legal Text

15. The one or more processor-readable media of claim 12 , the acts further comprising inserting the second running module into a kernel after obtaining the second running module.

Plain English Translation

This invention relates to computer security, specifically to techniques for managing and inserting software modules into a computer system's kernel. The problem addressed is the need to securely and efficiently integrate additional functionality into a kernel environment, particularly in scenarios where dynamic updates or modifications are required. The invention involves a method for handling software modules, where a first running module is identified and executed within a kernel. The system then obtains a second running module, which may include updated or new functionality, and inserts this second module into the kernel after verifying its integrity and compatibility. The insertion process ensures that the second module is properly integrated without disrupting the existing kernel operations. The invention also includes mechanisms to manage the lifecycle of these modules, such as monitoring their execution, handling errors, and ensuring secure communication between the kernel and the modules. The overall goal is to provide a robust and flexible way to extend kernel capabilities while maintaining system stability and security.

Claim 16

Original Legal Text

16. The one or more processor-readable media of claim 15 , wherein the first running module and the second running module use different export facilities, the export facilities being used for exporting respective user state interfaces.

Plain English Translation

This invention relates to a system for managing user state interfaces in a computing environment, particularly where different modules require distinct export facilities to handle user state data. The problem addressed is the need to efficiently and securely transfer user state information between modules that may operate under different security contexts or use different mechanisms for exporting user state interfaces. The solution involves a processor-readable medium storing instructions that, when executed, enable a first running module and a second running module to utilize different export facilities for exporting their respective user state interfaces. The export facilities are specialized components that handle the serialization, transmission, or other processing of user state data, ensuring compatibility and security between modules. The system ensures that each module can maintain its own export facility while still allowing interoperability, which is particularly useful in environments where modules have varying security requirements or different methods for managing user state. This approach improves flexibility and security in distributed or modular computing systems.

Claim 17

Original Legal Text

17. The one or more processor-readable media of claim 12 , the acts further comprising removing the first running module after switching the machine virtualizer to use the second running module.

Plain English Translation

A system and method for managing virtualization modules in a computing environment involves dynamically switching between different virtualization modules to improve performance, security, or compatibility. The system includes a machine virtualizer that executes a first running module to manage virtualized operations. When a need arises, such as performance degradation or security concerns, the system loads a second virtualization module while the first module remains active. The system then switches the machine virtualizer to use the second module, allowing seamless transition without interrupting ongoing virtualized operations. After the switch, the first module is removed to free system resources. This approach ensures continuous operation while enabling flexible updates or changes to virtualization modules. The method is particularly useful in environments where virtualization modules must be updated or replaced without downtime, such as cloud computing or enterprise data centers. The system may also include mechanisms to verify the integrity or compatibility of the second module before switching, ensuring stability and reliability.

Claim 18

Original Legal Text

18. The one or more processor-readable media of claim 12 , the acts further comprising upgrading the machine virtualizer.

Plain English Translation

A system and method for managing machine virtualization involves upgrading a machine virtualizer to enhance performance, security, or functionality. The machine virtualizer is a software component that enables the creation, management, and execution of virtual machines (VMs) on a host system. The upgrade process includes obtaining an updated version of the virtualizer, validating its compatibility with the host system and existing VMs, and applying the update while minimizing disruption to running VMs. The system ensures that the upgrade preserves the state of active VMs, maintains data integrity, and supports backward compatibility with older VM configurations. The upgrade may introduce new features such as improved resource allocation, enhanced security protocols, or support for additional virtualization technologies. The method also includes post-upgrade verification to confirm that the virtualizer operates correctly and that VMs function as expected. This approach allows for seamless transitions between virtualizer versions, reducing downtime and ensuring continuous operation of virtualized environments.

Patent Metadata

Filing Date

Unknown

Publication Date

February 18, 2020

Inventors

Xiantao Zhang
Junkang Fu

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND APPARATUS FOR ONLINE UPGRADE OF KERNEL-BASED VIRTUAL MACHINE MODULE” (10565000). https://patentable.app/patents/10565000

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/10565000. See llms.txt for full attribution policy.