Virtualized In-Memory File System for Seamless VM Upgrades
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional network devices experience downtime and performance degradation during software upgrades, leading to network outages and service disruptions, as they require rebooting and cannot provide network services simultaneously.
Innovation Solution
The implementation of a virtualized in-memory file system (VIMFS) that allows for the redistribution of data and context between virtual machines (VMs) via an in-memory file system (IMFS), enabling near-instantaneous transfer of program states and contexts between VMs, thus facilitating in-service software upgrades without performance penalties or data loss.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional software upgrade or modification is performed on a network device, then the device can be upgraded with new software, but the device must stop operation and reboot, causing network outage
Solution Approach 1:
The network device is divided into multiple virtual machines (VMs), each capable of independent operation. This segmentation allows one VM to be upgraded while others continue providing network services, eliminating complete network outage during software upgrades.
Solution Approach 2:
A standby virtual machine is prepared in advance with the new software version. When an upgrade is needed, the standby VM is already ready to take over immediately, minimizing service interruption time and enabling near-instantaneous failover.
2Reliability
If in-service software upgrade using virtual machines is implemented, then network service availability is improved, but the performance of VM degrades when communicating with other VMs
Solution Approach 1:
Multiple virtual machine file systems are merged into a single shared in-memory file system located in the hypervisor. This consolidation eliminates the performance overhead of inter-VM file system communications, as all VMs now access a unified namespace without translation or copying overhead.
Solution Approach 2:
The in-memory file system in the hypervisor acts as an intermediary layer that provides a unified file system namespace to all virtual machines. This mediator eliminates direct VM-to-VM file system communication overhead by providing centralized access points.
3Productivity
If virtual machine file systems are shared via in-memory file system, then VM communication performance is improved, but fault tolerance and state persistence become critical concerns
Solution Approach 1:
The system implements fault tolerance mechanisms in advance by maintaining VM state information in the shared in-memory file system and implementing checkpointing. This cushioning prepares the system to handle VM failures gracefully without data loss or service interruption.
Solution Approach 2:
VM state and file system data are copied and maintained in the shared in-memory file system in the hypervisor. This copying mechanism ensures that even if a VM fails, its state can be restored from the shared namespace, providing fault tolerance.
Data Source
AI summary
A method or network system able to efficiently redistribute information, data, and/or context between virtual machines (“VMs”) using an in-memory file system (“IMFS”) is disclosed. After requesting memory access by an application program, a process of VM using IMFS is able to forward the memory allocation request from a VM kernel operating under a VM environment to an emulator. The emulator, which operates between the VM kernel and the hypervisor, again redirects the memory allocation request to the hypervisor for storage allocation. The hypervisor subsequently allocates at least a portion of storage space in the IMFS in accordance with the memory allocation request.


