Seamless Shared Library Patching via Symbolic Link
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for updating shared libraries in client-server architectures are time-consuming and require downtime or additional resource procurement, which is not feasible for organizations with economic constraints.
Innovation Solution
A method and system for seamlessly patching shared libraries by creating a symbolic link to a new shared library, allowing an application process to replace the existing library when it reaches a free-state, enabling continuous operation during the update process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the conventional method of bringing down all server instances to update shared libraries is used, then the shared libraries are updated, but the services are brought down and the update process is time-consuming
Solution Approach 1:
The patent segments the server system into multiple independent server instances, each capable of loading its own shared libraries. This allows individual instances to be updated without affecting others, enabling continuous service operation during library updates while maintaining system-wide reliability
Solution Approach 2:
The patent implements preliminary actions by creating a symbolic link to the new shared library before actually replacing the old one. The application process is notified to unload the old library only when it reaches a free-state, ensuring service continuity while completing the update in advance without downtime
2Reliability
If extra server nodes are deployed to maintain service continuity during updates, then service availability is maintained, but procurement costs, infrastructure requirements, and maintenance costs increase significantly
Solution Approach 1:
The patent makes existing server instances multi-functional by enabling them to load and switch between different versions of shared libraries dynamically. This eliminates the need for separate server nodes for different library versions, reducing hardware procurement, infrastructure, and maintenance costs while maintaining service availability
Solution Approach 2:
The patent introduces a symbolic link as an intermediary mechanism between the application process and the shared library. This intermediary allows seamless switching between library versions without requiring additional server nodes, simplifying the system architecture while ensuring continuous service operation during updates
Data Source
AI summary
Methods, systems and non-transitory computer readable media involves receiving information of a new library from a patch management repository. A symbolic link to the new shared library is created and a request to an application process to replace a shared library is communicated. To replace the shared library, the application process periodically checks reference state of the shared library till it reaches a free-state. When the shared library reaches the free-state, the application process unloads the shared library from memory space and loads the new shared library to the memory space. The application process continues performing one or more pre-define functions during the replacement of the shared library.


