Server Process Transfer via State Persistence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed applications often face inefficiencies in processing client requests due to the need for one server to restart processing when a request is transferred to another server, leading to inconsistent resource states and reduced efficiency.
Innovation Solution
Implement a system where a first server can transfer ongoing process requests to a second server by storing objects and thread metadata in accessible databases, allowing the second server to continue processing without restarting, facilitated by a switching manager that determines the best server for the transfer based on resources and capabilities.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a process request is transferred from one server to another server in a distributed system, then the request can be processed by a different server providing fault tolerance and load balancing, but the processing must be restarted from the beginning on the new server leading to inefficiency and inconsistent resource states
Solution Approach 1:
The patent applies preliminary action by having the first server store process state information (objects and thread metadata) in databases before the transfer is complete. This allows the second server to retrieve and continue processing from the stored state rather than restarting, thus maintaining reliability while improving productivity.
Solution Approach 2:
The patent introduces databases as intermediaries between servers to store and transfer process state information. The object database and metadata database act as mediators that enable the second server to retrieve the exact state where the first server left off, allowing seamless continuation without restart and resolving the contradiction between fault tolerance and processing efficiency.
2Reliability
If a server fails or is unable to complete a request, then another server can take over providing system reliability, but the client must send a new process request and the server processes it from the beginning causing time loss
Solution Approach 1:
The system performs preliminary action by continuously storing process state information in databases during normal operation. When a server fails, the second server can immediately retrieve the pre-stored state and continue processing without requiring the client to resend the request, thus maintaining system availability while eliminating time loss.
Solution Approach 2:
The patent uses copying by creating a duplicate of the process state information in databases. The second server retrieves this copied state data to resume processing, avoiding the need for the client to resend the entire request and preventing time loss while ensuring system reliability.
3Productivity
If process state information is stored in databases accessible by multiple servers, then seamless transfer and continuation of requests is enabled, but the system complexity increases with additional databases and transfer management
Solution Approach 1:
The patent applies universality by using standard databases that can be accessed by multiple servers with the same architecture. The object database and metadata database serve universal purposes across all servers in the cluster, enabling seamless transfer without requiring server-specific implementations, thus improving productivity while managing complexity through standardized components.
Data Source
AI summary
According to one example, a method performed by a computing system includes, with a first server, receiving a process request, starting processing of the process request, prior to completing the processing of the process request, storing objects associated with a thread of the process request in an object database that is accessible by the second server, storing thread metadata for the thread of the process request in a metadata database that is accessible by the second server, and sending a transfer request to a switching manager, the transfer request being to request that the process request be shifted to the second server.


