Vector-Scalar Logical Clock for Distributed Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing logical clock implementations, such as Lamport and vector clocks, face challenges in efficiently managing event ordering and creating globally consistent snapshots in distributed systems, leading to significant overhead and scalability issues due to large message sizes and complex solutions.

Innovation Solution

A vector-scalar (VS) logical clock system that dynamically adjusts between scalar and vector timestamp modes based on message requirements, reducing overhead by using scalar timestamps for simple event ordering and vector timestamps for globally consistent states, allowing nodes to switch between modes arbitrarily.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If vector clocks are used to establish global order of events and create snapshots, then snapshot creation and causal relationship tracking are improved, but message size and overhead increase significantly

Engineering Contradiction:
Improvesnapshot creation accuracyVSAvoidmessage size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements a hybrid clock system that dynamically switches between scalar and vector timestamp modes based on operational requirements. The system uses scalar mode for routine event ordering to minimize message overhead, and transitions to vector mode only when snapshot creation or causal relationship tracking is required, thus optimizing the trade-off between reliability and message size

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the timestamping functionality into two distinct modes: scalar timestamping for simple event ordering and vector timestamping for complex causal tracking. This segmentation allows the system to apply the appropriate level of complexity only when necessary, reducing overall message overhead while maintaining snapshot creation capabilities

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If Lamport clocks are used for simple event ordering, then message overhead is reduced, but ability to create globally consistent snapshots and determine causal relationships is lost

Engineering Contradiction:
Improvemessage overheadVSAvoidsnapshot creation capability
Core Design Contradiction:
Quantity of substanceVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal timestamping system that can perform multiple functions: scalar mode handles simple event ordering like Lamport clocks, while vector mode enables snapshot creation and causal relationship tracking like vector clocks. The hybrid system adapts its functionality based on operational requirements, providing both low-overhead ordering and comprehensive snapshot capabilities within a single framework

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

3Reliability

If centralized timestamp service is used, then global order of events is established, but scalability and performance degrade due to request bottlenecks

Engineering Contradiction:
Improveglobal event orderingVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements a decentralized timestamping mechanism where each node maintains its own logical clock and autonomously generates timestamps for events. Nodes independently update their clocks based on received messages without requiring centralized coordination, eliminating request bottlenecks and improving system scalability while maintaining reliable global event ordering

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11843663B1Vector-scalar logical clock and associated method, apparatus and system
Publication Date: 2023.12.12 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US11843663B1 patent drawing
  • US11843663B1 patent drawing
  • US11843663B1 patent drawing

AI summary

A logical clock is implemented in networked nodes. Messages between nodes can include either a scalar timestamp or a vector timestamp. The scalar timestamp leads to an overhead reduction, and nodes can select whether to send a scalar or vector timestamp depending on requirements. Message recipients update their logical clock vector differently depending on whether the scalar or vector timestamp is received. Applications to multi-master databases are also provided. The clock conforms to Lamport clock requirements when the scalar timestamp is sent, and conforms to both Lamport and vector clock requirements when the vector timestamp is sent.