VM Cache Refresh via Notification for Shared File System Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In shared file systems, existing concurrency control mechanisms fail to prevent data corruption when multiple virtual machine hosts simultaneously access the same data storage units, leading to potential data loss and corruption due to stale information in cache systems.
Innovation Solution
A manager program that receives notification messages for events affecting data storage units, determines if other virtual machine hosts are sharing the same units, and sends refresh messages to update cache information, thereby preventing data corruption by ensuring accurate and synchronized data access across hosts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If multiple virtual machine hosts simultaneously access the same data storage units without cache refresh mechanisms, then access speed is improved, but data corruption occurs due to stale information in cache systems
Solution Approach 1:
The system implements a feedback mechanism where the manager program receives notifications about events affecting data storage units and sends refresh messages to virtual machine hosts. This feedback loop ensures that cache information is updated when necessary, maintaining data integrity while allowing concurrent access. The notification message triggers a refresh operation that updates the cache without completely blocking access operations.
Solution Approach 2:
The system performs preliminary actions by maintaining cache information locally at virtual machine hosts for fast access. The cache refresh operation is triggered only when events occur that would make the cached information stale. This preliminary caching approach allows fast access while periodic refreshes prevent data corruption.
2Reliability
If a manager program sends refresh messages to update cache information on multiple virtual machine hosts, then data synchronization is improved, but network communication overhead increases
Solution Approach 1:
The system applies local quality by maintaining cache information locally at each virtual machine host rather than requiring centralized access. Each host has its own cache that can be independently updated. The manager program sends targeted refresh messages only to hosts that need updating, rather than broadcasting to all hosts universally, thus reducing unnecessary network communication.
Solution Approach 2:
The system uses partial action by sending refresh messages only to the specific virtual machine hosts that are sharing the affected data storage unit, rather than refreshing all hosts. The manager program determines which hosts need updates and sends refresh messages selectively, minimizing network overhead while ensuring data synchronization where needed.
3Measurement precision
If the manager program polls each virtual machine host to determine sharing status, then information accuracy is improved, but system complexity and processing time increase
Solution Approach 1:
The system implements self-service by having virtual machine hosts autonomously determine and report their sharing status. Instead of the manager program actively polling each host, hosts can self-report when they begin or end sharing data storage units. This reduces the complexity of polling mechanisms while maintaining accurate information about which hosts are sharing which units.
Data Source
AI summary
A manager program for managing virtual machines includes a process which receives a notification message indicating an occurrence of an event affecting a data storage unit in a data storage system that supports a shared file system. The notification message might have come from a virtual machine host or resulted from a hardware reconfiguration. The manager program then determines whether another virtual machine host is sharing the data storage unit. The manager program might make this determination by polling each of the virtual machine hosts it manages or by checking information previously collected and stored in a database. If another virtual machine host is sharing the data storage unit, the manager program sends a refresh message to that virtual machine host that causes the virtual machine host to update information relating to the data storage unit in a cache associated with the virtual machine host.


