Broker Journaling for Volatile Memory State Mirroring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server communication management systems fail to prevent data loss in volatile memory during broker failures, despite backup mechanisms for non-volatile data.

Innovation Solution

A system with a primary broker and a backup broker, where the primary broker maintains a journal of state-changing events and sends these to the backup broker, ensuring the backup broker can seamlessly take over processing without interruption, even for volatile data, by mirroring the state of the volatile memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a backup broker with volatile memory is provided to take over during primary broker failure, then system availability is improved, but data loss in volatile memory cannot be prevented

Engineering Contradiction:
Improvesystem availabilityVSAvoiddata loss in volatile memory
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent applies preliminary action by continuously writing journal entries to non-volatile storage before volatile memory data can be lost. The journal records all state-changing events in advance, so that when a broker failure occurs, the backup broker can reconstruct the volatile memory state from these pre-recorded journal entries, preventing data loss while maintaining high availability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by maintaining a journal that is a copy of the state-changing events from the primary broker's volatile memory. This journal copy is stored in non-volatile memory and can be used to reconstruct the original state after failure, effectively creating a recoverable copy of the volatile data

Inventive Principle:
Principle #26Copying

2Reliability

If journal entries are sent to backup broker to mirror volatile memory state, then data integrity is improved, but communication overhead increases

Engineering Contradiction:
Improvedata integrityVSAvoidcommunication overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by making the journaling mechanism local to the primary broker's processing. Instead of replicating all memory operations, only state-changing events are journaled and transmitted to the backup broker. This selective approach maintains data integrity while minimizing communication overhead by focusing only on critical state changes

Inventive Principle:
Principle #3Local quality

3Reliability

If complete volatile memory state is replicated to backup broker, then fail-safe recovery is improved, but system complexity increases

Engineering Contradiction:
Improvefail-safe recoveryVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts only the essential state-changing events from the complete volatile memory state and stores them in the journal. Instead of replicating the entire volatile memory contents, the system extracts and records only the critical state changes, simplifying the backup mechanism while maintaining sufficient information for complete state reconstruction after failure

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8156177B2Fail-safe system for managing of client-server communication
Publication Date: 2012.04.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8156177B2 patent drawing
  • US8156177B2 patent drawing
  • US8156177B2 patent drawing

AI summary

The invention relates to a system for managing of communication between at least one client (10a-d) and at least one server (12a-d) with a primary broker (20) which comprises a first volatile memory (23) and which manages at least one request of the at least one client (10a-d) at the at least one server (12a-d). The system further comprises a backup broker (30) with a second volatile memory (33) which manages at least one request of the client (10a-d) at the server (12a-d), when the primary broker (20) has failed, wherein the primary broker (20) comprises a journal with entries on actions which may change the state of the first volatile memory (23) and sends these entries of the journal to the backup broker (30) such that the state of the second volatile memory (33) is essentially identical to the state of the first volatile memory (23).