Paged Topics Messaging in Distributed Data Grids

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing messaging systems in distributed computing environments face challenges in maintaining message order and scalability, particularly in distributed data grids, where contention among publishers and subscribers degrades performance and limits the use of distributed processing power and memory.

Innovation Solution

The implementation of a paged topics messaging system, which uses a hash function to distribute messages across multiple partitions, reducing contention and maintaining order through a linked list-like structure within each partition, allowing for efficient publishing and subscribing while leveraging the distributed data grid's capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If messages are stored in a linked list structure to maintain ordering, then message order is preserved, but contention among publishers and subscribers increases and performance degrades

Engineering Contradiction:
Improvemessage orderVSAvoidmessaging performance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the single linked list into multiple linked lists, each maintained by a different node in the distributed data grid. Publishers can choose which list to publish to based on a hash of the message key, and subscribers can choose which list to read from. This segmentation reduces contention because multiple publishers and subscribers can operate on different lists simultaneously without interfering with each other, while each individual list maintains its ordering property.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If the linked list is limited to a single node to solve ordering, then message order is maintained, but distributed processing power and memory are not utilized

Engineering Contradiction:
Improvemessage orderVSAvoiddistributed resources utilization
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The patent divides the messaging system into multiple segments distributed across different nodes in the data grid. Each node maintains one or more linked lists for specific message keys or key ranges. This allows the system to utilize the distributed processing power and memory of multiple nodes while preserving order within each node's local lists.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of distribution by organizing linked lists across multiple nodes rather than confining them to a single node. Messages are routed to specific nodes based on a hash function applied to the message key, creating a distributed structure that scales with the number of nodes while maintaining local ordering guarantees.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Adaptability or versatility

If multiple publishers and subscribers contend for the same linked list, then messaging functionality is maintained, but performance degrades due to increased contention

Engineering Contradiction:
Improvemessaging functionalityVSAvoidmessaging performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the messaging workload by creating multiple independent linked lists that can be assigned to different nodes. Publishers select which list to use based on the message key, and subscribers select which list to consume from. This segmentation allows multiple publishers and subscribers to operate concurrently with minimal contention, as they are working with different segments of the overall messaging system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different nodes to specialize in handling specific message keys or key ranges. Each node optimizes its local linked lists for the messages it handles, and the system as a whole benefits from the distributed specialization. This reduces contention because each node becomes an expert in handling its assigned messages independently.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10862965B2System and method for topics implementation in a distributed data computing environment
Publication Date: 2020.12.08 ORACLE INT CORP
  • US10862965B2 patent drawing
  • US10862965B2 patent drawing
  • US10862965B2 patent drawing

AI summary

A system and method for providing store and forward messaging on a partitioned cache provided by a distributed data grid. The store and forward message system implements publish and subscribe semantics in a way that distributed messages over the partitions of the distributed cache, reduces contention and makes efficient use of processor and network resources.