Shim Resource DLL for Clustered System Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In clustered computer systems, changing a resource dynamic link library (DLL) often results in temporary unavailability of resources, which is unacceptable in high-availability environments, as each member computer may need to be rebooted during the change process.
Innovation Solution
A shim resource DLL is linked to a managed resource DLL, allowing it to be changed by unlinking during the change mode and handling calls to exported functions without passing them to the managed resource DLL, thereby maintaining application availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the resource DLL is changed by taking the resource offline or moving it to another member computer, then the resource DLL can be updated or upgraded, but the resource becomes temporarily unavailable and system interruption occurs
Solution Approach 1:
The patent introduces a shim resource DLL as an intermediary layer between the application and the managed resource DLL. During DLL changes, the shim resource DLL intercepts and handles function calls, preventing direct access to the unlinked managed resource DLL. This mediator approach allows the managed resource DLL to be replaced without disrupting application operations, thus maintaining resource availability while enabling DLL updates.
2Adaptability or versatility
If each member computer is re-booted to complete the resource DLL change process, then the new resource DLL version is installed, but system operations are interrupted and availability is lost
Solution Approach 1:
The patent implements preliminary action by establishing the shim resource DLL linkage mechanism before the managed resource DLL needs to be changed. The shim resource DLL is pre-configured to intercept function calls and manage the transition process. This preparation allows the DLL change to occur without requiring system reboots, as the infrastructure for handling the transition is already in place.
Solution Approach 2:
The patent ensures continuity of useful action by maintaining the shim resource DLL's ability to handle function calls throughout the entire process, including during the transition when the managed resource DLL is unlinked and replaced. The shim resource DLL continues to provide the necessary interface and functionality, ensuring that applications can operate continuously without interruption while the managed resource DLL is updated.
3Stability of the object's composition
If the resource DLL is changed without unlinking the shim resource DLL, then the linkage structure is maintained, but the managed resource DLL cannot be replaced or updated
Solution Approach 1:
The patent implements dynamics by making the linkage between the shim resource DLL and the managed resource DLL changeable rather than fixed. The system can dynamically transition between linked and unlinked states. During normal operation, the linkage is maintained for stability. When updates are needed, the linkage can be dynamically broken by unlinking the managed resource DLL from the shim resource DLL, allowing replacement, and then re-established after the update completes.
Data Source
AI summary
An embodiment of the invention is a technique for maintaining application availability during a change in a resource dynamic link library (DLL). A shim resource DLL is linked to a resource DLL managed by a resource manager in a clustered system. The managed resource DLL exports a function to control a resource in the clustered system. During a normal mode, the shim resource DLL passes to the managed resource DLL a call to an exported function unchanged. During a change mode, the shim resource DLL is unlinked from the managed resource DLL to allow the managed resource DLL to be changed, and the shim resource DLL handles a call to an exported function without passing the call to the managed resource DLL.


