Server Process Transfer via State Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefault toleranceVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesystem availabilityVSAvoidrequest processing time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

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

Engineering Contradiction:
Improverequest continuation efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11146629B2Process transfer between servers
Publication Date: 2021.10.12 RED HAT INC
  • US11146629B2 patent drawing
  • US11146629B2 patent drawing
  • US11146629B2 patent drawing

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.