Global Queue Replication for Data Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Message queues are prone to data loss due to power failures or other events, leading to operational disruptions and significant financial losses, as existing recovery methods are difficult and time-consuming, and may not fully restore lost data.

Innovation Solution

Implementing a global queue system through replication, where transactions in a local queue are replicated to a remote queue, maintaining transaction order and reducing bandwidth usage, allowing for efficient recovery with minimal data loss by creating a synchronized global queue accessible across different computing infrastructure collections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If message queues are implemented without replication, then device complexity is reduced, but reliability deteriorates due to data loss from power failures or other events

Engineering Contradiction:
Improvedata protectionVSAvoidqueue architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements replication by creating copies of queue data across multiple computing infrastructure collections. When data is written to a queue in one location, it is automatically replicated to queues in remote locations, ensuring that copies exist elsewhere in case of failure. This copying mechanism directly addresses the reliability issue without requiring fundamentally new architecture.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent divides the global queue system into multiple independent local queues distributed across different computing infrastructure collections. Each local queue operates independently but is part of a unified global queue through replication. This segmentation allows the system to maintain high reliability through distribution while managing complexity through modular, independent components.

Inventive Principle:
Principle #1Segmentation

2Reliability

If replication is implemented across remote locations, then reliability improves through data protection, but loss of energy increases due to bandwidth usage for synchronizing queue data

Engineering Contradiction:
Improvedata protectionVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs replication actions in advance by continuously synchronizing queue data to remote locations before failures occur. This preliminary replication ensures that up-to-date copies are already available at remote sites, eliminating the need for intensive post-failure data recovery operations that would consume more energy and bandwidth.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates and maintains copies of queue data at remote locations through efficient replication mechanisms. By copying data proactively and maintaining synchronization, the system reduces the need for frequent large-scale data transfers during recovery, thereby reducing overall bandwidth consumption and energy loss.

Inventive Principle:
Principle #26Copying

3Reliability

If transactions are replicated to remote queues, then reliability improves through data protection, but loss of time increases due to replication delays

Engineering Contradiction:
Improvedata protectionVSAvoidreplication delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary replication by continuously synchronizing queue transactions to remote locations as they occur, rather than waiting for failures or performing batch transfers. This preliminary action ensures that replicated data is already available at remote sites, minimizing the time delay between the original transaction and its replicated copy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The replication process operates continuously rather than intermittently, maintaining constant synchronization between local and remote queues. This continuous replication ensures that data is always up-to-date at remote locations, eliminating gaps or delays that would occur with periodic or on-demand replication approaches.

Inventive Principle:
Principle #20Continuity of useful action

4Reliability

If a global queue system with replication is implemented, then reliability improves through data protection, but ease of operation deteriorates due to complex recovery procedures

Engineering Contradiction:
Improvedata protectionVSAvoidrecovery process
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements automatic failover mechanisms where the system self-manages recovery by detecting failures and automatically switching to replicated queues at remote locations without requiring manual intervention. The replication infrastructure automatically takes over data access when primary queues become unavailable, making recovery transparent to users and simplifying operations.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates monitoring and feedback mechanisms that detect queue failures and automatically trigger recovery procedures. By continuously monitoring queue health and providing feedback about system state, the system can automatically initiate failover to replicated queues, reducing the operational complexity of manual recovery while maintaining high reliability.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11500701B1Providing a global queue through replication
Publication Date: 2022.11.15 AMAZON TECH INC
  • US11500701B1 patent drawing
  • US11500701B1 patent drawing
  • US11500701B1 patent drawing

AI summary

A global queue service of a provider network allows clients to automatically replicate a queue to another queue of one or more other regions (creating a global queue). A local instance of the service receives a send request from a producer. In response, the local instance stores a message in a local queue and replicates the send request to a remote queue of a remote instance of the global queue service (e.g., at another region). The local instance receives a receive request from a consumer and sends the message to the consumer (without replicating the request to the remote queue). The local instance then receives a delete request from a consumer. In response, the local instance deletes the message from the local queue and replicates the delete request to the remote queue. The local instance also receives replicated requests from the remote instance and in response, applies them locally.