Exclusive Session Mode for vSAN I/O Integrity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed storage systems face inefficiencies due to the need for heavy-duty locking mechanisms to manage simultaneous I/O requests from multiple clients or virtual machines, which are cumbersome, expensive, and resource-intensive.
Innovation Solution
Implementing non-overlapping, exclusive client sessions with an owner node that processes I/O requests sequentially, ensuring the integrity of I/O operations without the need for heavy-duty locks, by establishing sessions in a way that guarantees exclusive access and reduces memory consumption and network bandwidth usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If heavy-duty lock systems are used to manage simultaneous I/O requests, then I/O request integrity is ensured, but processing resources and time are excessively consumed
Solution Approach 1:
The patent extracts the locking mechanism from the I/O request processing flow. Instead of acquiring locks before I/O operations, the system uses session-based exclusivity where the owner node processes I/O requests without traditional locks. The session context itself provides the exclusivity guarantee, removing the need for separate lock acquisition and release operations.
Solution Approach 2:
The patent introduces a session context as an intermediary between multiple clients and the owner node. This session acts as a mediator that guarantees exclusive access to the owner node for a specific client without requiring traditional locking mechanisms. The session context manages the exclusivity relationship, allowing I/O requests to be processed efficiently while maintaining integrity.
2Reliability
If heavy-duty lock systems are used to manage simultaneous I/O requests, then access control is ensured, but device complexity increases
Solution Approach 1:
The patent removes the complex lock system from the architecture and replaces it with simpler session-based access control. The session context provides the necessary access control guarantees without the complexity of traditional locking mechanisms, including lock hierarchies, lock contention management, and deadlock prevention.
Solution Approach 2:
The patent changes the fundamental parameter of access control from lock-based to session-based. Instead of using lock states (locked/unlocked) to control access, the system uses session establishment and termination to manage exclusivity. This parameter change simplifies the access control mechanism while maintaining reliability.
3Reliability
If traditional lock systems are used, then simultaneous access is controlled, but network bandwidth is consumed by lock communication
Solution Approach 1:
The patent extracts the access control communication from the I/O request flow. Instead of exchanging lock messages with the owner node for each I/O operation, the system establishes a session that provides ongoing exclusivity guarantees. This eliminates the need for continuous lock-related network communication, reducing bandwidth consumption.
4Reliability
If heavy-duty locks are used to ensure exclusive access, then I/O integrity is maintained, but processing resources are depleted
Solution Approach 1:
The session context provides self-service exclusivity guarantees. Once a session is established, the client can process I/O requests without continuously consulting the owner node for lock status. The session context automatically manages the exclusivity relationship, freeing up processing resources while maintaining I/O integrity.
Data Source
AI summary
Examples perform input/output (I/O) requests, issued by a plurality of clients to an owner-node, in a virtual storage area network (vSAN) environment. I/O requests are guaranteed, as all I/O requests are performed during non-overlapping, exclusive sessions between one client at a time and the owner node. The owner node rejects requests for simultaneous sessions, and duplicate sessions are prevented by requiring that a client refresh its memory state after termination of a previous session.


