Duplicate Message Filtering in Multi-Region Active-Active Architecture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a multi-region multi-active architecture, client applications may receive duplicate messages from multiple active regions, leading to malfunctions and incorrect processing, such as double payment in a payment service provider scenario.

Innovation Solution

Region information and client account information are added to messages produced by region servers, enabling region-specific consumer groups and message filters to ensure that messages are consumed only from the correct region and account, thus preventing duplicates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple region servers are active simultaneously in a multi-region architecture, then system availability and fault tolerance are improved, but duplicate messages are generated and delivered to client applications

Engineering Contradiction:
Improvesystem availabilityVSAvoidduplicate messages
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent segments the message consumption responsibility by introducing region-specific consumer groups that are dedicated to consuming messages from specific regions. Each consumer group is assigned to a particular region and only consumes messages produced by region servers in that region, thereby preventing duplicate message consumption while maintaining multi-region active architecture for high availability

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary filtering mechanism that examines message headers containing region information and consumer group identifiers. This intermediary layer filters out duplicate messages by verifying whether the consumer group is authorized to consume messages from the producing region, thus resolving the duplicate message issue without sacrificing system availability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-generated harmful factors

If region-specific consumer groups and message filters are implemented, then duplicate message consumption is prevented, but message processing complexity increases

Engineering Contradiction:
Improveduplicate messagesVSAvoidmessage processing complexity
Core Design Contradiction:
Object-generated harmful factorsVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by embedding region information and consumer group identifiers in message headers during message production. This pre-tagging approach enables efficient filtering without requiring complex real-time analysis, as the filtering mechanism simply needs to match the pre-defined region and consumer group identifiers, thereby reducing processing complexity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the parameter space by introducing structured message headers with specific fields for region information and consumer group identifiers. This parameterization transforms the filtering problem into a simple key-matching operation, significantly reducing the complexity of duplicate message detection compared to analyzing entire message contents

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS20250097183A1Duplicate message filtering in a multi-region active-active architecture
Publication Date: 2025.03.20 ZOOM COMMUNICATIONS INC
  • US20250097183A1 patent drawing
  • US20250097183A1 patent drawing
  • US20250097183A1 patent drawing

AI summary

Systems and methods of message filtering in a multi-region multi-active architecture are provided. A client device receives a data message, the data message comprising a region tag and an account tag. The client device determines whether the region tag corresponds to a region server assigned to serve the client device. In response to determining the region tag corresponds to the region server assigned to serve the client device, the client device determines whether an account identification (ID) associated with the client device matches the account tag of the data message. In response to determining the account ID matches the account tag, the client device consumes the data message.