Transaction Management for Multi-Node Clusters via Tagged Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High availability clusters face challenges in scaling and maintaining fault tolerance due to the complexity and cost of shared memory solutions, which can lead to inefficient resource usage and increased latency.

Innovation Solution

A transaction management system for multi-node clusters that utilizes pre-allocated memory blocks with requested and serviced tags to facilitate zero-copy operations and node recovery, allowing for efficient data management and fault tolerance without the need for extensive shared memory infrastructure.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If shared memory solutions are used to provide high availability and fault tolerance in multi-node clusters, then system reliability is improved, but device complexity and resource overhead increase

Engineering Contradiction:
Improvefault toleranceVSAvoidshared memory infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the complex shared memory infrastructure from the system and replaces it with independent memory blocks on each node. Each node maintains its own memory blocks with tags indicating data ownership and service status, eliminating the need for centralized shared memory while preserving fault tolerance capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements data duplication across nodes through memory blocks with ownership tags. When data is stored on one node, a copy is maintained on other nodes with appropriate ownership and service tags, enabling fault tolerance without requiring complex shared memory structures. The copying mechanism allows any node to serve data requests if the original owner node fails.

Inventive Principle:
Principle #26Copying

2Reliability

If redundancy is implemented across multiple nodes to provide high availability, then system reliability is improved, but latency and resource usage increase

Engineering Contradiction:
ImproveavailabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-allocates memory blocks on each node and establishes ownership and service relationships before data operations are needed. Tags are pre-configured to indicate which nodes own data and which nodes can service requests, eliminating the need for dynamic lookup or coordination during data operations. This preliminary setup reduces latency while maintaining availability through redundancy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Each node independently manages its own memory blocks and can autonomously service data requests based on pre-configured tags. When a node needs data, it checks local memory blocks first, and if not found, queries other nodes using the tag-based system. This self-service approach eliminates centralized coordination overhead and reduces latency compared to traditional shared memory architectures.

Inventive Principle:
Principle #25Self-service

3Productivity

If extensive shared memory infrastructure is deployed to enable zero-copy operations, then data access efficiency is improved, but cost and complexity increase

Engineering Contradiction:
Improvedata access efficiencyVSAvoidshared memory infrastructure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent removes the extensive shared memory infrastructure requirement and implements zero-copy operations through a simplified tag-based system. Each node has independent memory blocks with tags that indicate data ownership and service status, allowing efficient data access without physical data movement while eliminating the need for complex shared memory hardware or software structures.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces tags as intermediaries between data storage and data access. Instead of requiring shared memory infrastructure to enable direct data access, the system uses tags on memory blocks to mediate data location and ownership information. This intermediary mechanism enables efficient data access across nodes without the overhead of shared memory, as nodes can quickly determine data location and ownership through tag checking rather than complex memory arbitration.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10783021B2Transaction management for multi-node clusters
Publication Date: 2020.09.22 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10783021B2 patent drawing
  • US10783021B2 patent drawing
  • US10783021B2 patent drawing

AI summary

Examples include transaction management for a multi-node cluster. Some examples include generating a request log entry at an owner node that identifies a duplicate data location, tagging the duplicate data location with a requested tag, and issuing a zero-copy request that identifies the duplicate data location. In some such examples, a service node may generate a service log entry based on the zero-copy request that identifies the duplicate data location, process the zero-copy request, and tag the duplicate data location with a serviced tag. A determination may be made as to whether at least one of the owner node and the service node have failed and based on the determination that at least one has failed, the failed node may be recovered via at least one of the requested tag and the serviced tag of the duplicate data location.