Journal-Based State Replication for Service Continuity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional primary replica node fault tolerance methods often result in secondary replica nodes not being in the same state as the primary node when it fails, leading to service disruptions and inefficiencies, with potential for returning incorrect or outdated responses.

Innovation Solution

Implementing a system where a management device maintains a journal of client requests and responses, ensuring that secondary replica nodes process requests in the same order and sequence as the primary node, allowing them to seamlessly take over and maintain the same state, thereby minimizing service disruption and ensuring accurate responses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional primary replica node fault tolerance methods are used, then service continuity is maintained during node failure, but secondary replica nodes are not in the same state as the primary node, leading to incorrect or outdated responses

Engineering Contradiction:
Improveservice continuityVSAvoidstate accuracy
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The system performs preliminary actions by having secondary replica nodes process client requests in advance and maintain a journal of requests and responses before primary node failure occurs. This ensures that when failover is needed, the secondary node already has the correct state and can immediately provide accurate responses without needing to replay journal entries.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If secondary replica nodes process requests asynchronously without strict ordering, then processing speed is improved, but state consistency between primary and secondary nodes deteriorates

Engineering Contradiction:
Improverequest processing speedVSAvoidstate consistency
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system segments the request processing workflow into distinct phases: primary node receives and processes requests, maintains a journal of requests and responses, and secondary nodes process requests in the same sequence from the journal. This segmentation allows asynchronous processing while maintaining strict ordering through the journal mechanism, ensuring both speed and state consistency.

Inventive Principle:
Principle #1Segmentation

3Reliability

If secondary replica nodes maintain identical state as primary node, then fault tolerance reliability is improved, but system complexity increases due to journal maintenance and ordered processing requirements

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The journal acts as an intermediary mechanism between the primary node and secondary replica nodes. It stores the sequence of client requests and responses, allowing secondary nodes to reconstruct the exact state of the primary node without requiring complex direct synchronization protocols. This intermediary simplifies the overall system architecture while ensuring reliable state replication.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3635558B1Service state preservation across nodes
Publication Date: 2021.06.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3635558B1 patent drawingFigure 1
  • EP3635558B1 patent drawingFigure 2A
  • EP3635558B1 patent drawingFigure 2B

AI summary

According to examples, an apparatus may include a processor and a memory on which is stored machine readable instructions that are to cause the processor to receive, from a first node, a client request and a response corresponding to the processed client request, in which the first node is configured to generate the response by processing the client request on a service and processed client request is configured to change a state of the service. The instructions are also to cause the processor to receive, from the first node, a response corresponding to the received request, generate an entry including the received request and response, commit the generated entry into a journal, and send an acknowledgement of the received request and response to the first node after the generated entry is committed into the journal.