Asynchronous Data Journaling in Hybrid Cloud

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hybrid cloud systems using synchronous distributed replicated block devices (DRBD) for database journaling are costly, slow, and limited in scalability and bandwidth due to the need for constant active instances, slower virtual network links, and restricted replication to a fixed number of clouds, leading to potential data loss in case of failures.

Innovation Solution

An asynchronous data journaling model utilizing a cloud queueing service where virtual machines write journal records to a journaling device, which are then converted to messages by a hypervisor and published by the cloud queueing service, allowing asynchronous replication across secondary clouds using a host OS's storage network, reducing latency and enabling high scalability and bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If synchronous distributed replicated block devices (DRBD) are used for database journaling, then data consistency is maintained, but system latency increases and scalability is limited

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem latency
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system segments the journaling process into two independent parts: (1) local journal writing performed synchronously by the virtual machine to ensure data consistency, and (2) remote replication performed asynchronously by a separate replication service. This segmentation allows the primary VM to complete transactions without waiting for remote cloud acknowledgments, reducing latency while maintaining data integrity through the local journal.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A replication service acts as an intermediary between the primary virtual machine and secondary cloud storage. The replication service receives journal data from the primary VM and handles all remote replication operations, including converting block data to messages and publishing them to cloud queues. This intermediary isolates the primary VM from remote network delays, eliminating their impact on transaction speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If synchronous replication to multiple clouds is implemented, then data redundancy is improved, but device complexity and cost increase

Engineering Contradiction:
Improvedata redundancyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The replication service operates autonomously to manage all aspects of multi-cloud replication. It automatically converts block data to messages, publishes them to appropriate cloud queues, and handles retransmission logic. The system uses existing cloud infrastructure services (queueing services, storage) to perform replication tasks, eliminating the need for complex custom replication protocols and reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The replication service is designed as a universal component that can replicate journal data to any number of secondary clouds using standard message queue interfaces. It handles multiple cloud providers and storage systems through a unified approach, converting block data to messages that can be published to any cloud queueing service, thereby supporting data redundancy across multiple clouds without proportionally increasing complexity.

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

3Ease of operation

If virtual network links are used for cloud-to-cloud communication, then setup is simplified, but bandwidth and speed are reduced

Engineering Contradiction:
Improvesetup simplicityVSAvoidcommunication bandwidth
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The system replaces direct virtual network link communication with a message queue-based architecture. Instead of establishing persistent high-speed network connections between clouds, the replication service publishes journal data as messages to cloud queueing services. Secondary clouds subscribe to these queues and retrieve messages asynchronously. This substitution uses standardized messaging protocols that are easier to configure and manage while achieving high effective bandwidth through optimized message transmission.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Ease of manufacture

If a fixed number of cloud replicas are maintained, then resource allocation is simplified, but adaptability and scalability are limited

Engineering Contradiction:
Improveresource allocationVSAvoidscalability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The replication service dynamically adapts to changes in the number of required replicas without requiring system reconfiguration. It monitors subscription requests from secondary clouds and automatically adjusts replication operations accordingly. The service can scale from replicating to one cloud to multiple clouds seamlessly, with each secondary cloud independently subscribing to the journal data queue. This dynamic approach allows flexible resource allocation while maintaining simplicity through standardized message-based communication.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9852203B1Asynchronous data journaling model in hybrid cloud
Publication Date: 2017.12.26 RED HAT INC
  • US9852203B1 patent drawing
  • US9852203B1 patent drawing
  • US9852203B1 patent drawing

AI summary

A system and method for scheduling of hyper-threaded CPUs using memory monitoring includes a memory with an operating system memory and a physical processor in communication with the memory. The physical processor includes a first hyper-thread and a second hyper-thread. A monitor instruction to monitor for updates to a designated memory location is executed in the first hyper-thread. The system further includes an operating system to execute on the physical processor and a system call configured to record in the operating system memory that the first hyper-thread is in a memory wait state. The system call is further configured to execute a memory wait instruction in the first hyper-thread. A task is executed in the second hyper-thread while the first hyper-thread is in the memory wait state.