Distributed Clock Sequence Number Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed systems, corrupt sequence numbering can lead to synchronization issues and scalability problems due to discrepancies in internal clocks and inherent latencies, making it difficult to determine the order of events effectively.

Innovation Solution

A method for detecting and rectifying corrupt sequence values involves determining a valid sequence number range, evaluating the propagation count and epoch number, and using an estimated sequence number to prevent the propagation of corrupt values, allowing nodes to communicate effectively and maintain system integrity.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If sequence numbers are used for event ordering in distributed systems, then event ordering capability is improved, but system reliability deteriorates due to corrupt sequence values

Engineering Contradiction:
Improveevent ordering accuracyVSAvoidsequence number integrity
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The system performs preliminary validation of sequence numbers before processing events. Nodes check whether received sequence numbers fall within the expected range (between stored sequence number and estimated sequence number) before accepting them, preventing corrupt values from propagating through the system

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where nodes monitor sequence number propagation and detect anomalies. When corrupt sequence numbers are detected, the system generates error information and propagates corrections to other nodes, allowing the system to self-heal and maintain reliability

Inventive Principle:
Principle #23Feedback

2Reliability

If strict sequence number validation is implemented, then system integrity is improved, but system complexity increases

Engineering Contradiction:
Improvesequence number integrityVSAvoidvalidation mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system changes the validation approach from complex cryptographic verification to simple range checking. By estimating the maximum possible sequence number based on system parameters (event rate, propagation delay) and checking if received values fall within the expected range, the system maintains integrity with simpler operations

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs partial validation by checking only the most critical aspect (whether sequence number is within expected range) rather than comprehensive verification. This partial action is sufficient to catch most corrupt values while keeping the mechanism simple and efficient

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If sequence number propagation is allowed without validation, then system scalability is improved, but data quality deteriorates due to corrupt value spread

Engineering Contradiction:
Improvesystem scalabilityVSAvoidsequence number accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system introduces an intermediary validation step in the sequence number propagation path. Before a sequence number is accepted and further propagated, it undergoes range validation against the estimated maximum value, acting as a filter that prevents corrupt values from spreading while allowing legitimate values to pass through freely

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary estimation of the maximum sequence number based on system characteristics (event generation rate, network propagation delay, clock synchronization accuracy) before validation occurs. This preliminary calculation establishes the bounds within which all valid sequence numbers must fall

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2795482B1Rectifying corrupt sequence values in distributed systems
Publication Date: 2017.05.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2795482B1 patent drawingFigure 1
  • EP2795482B1 patent drawingFigure 2~3
  • EP2795482B1 patent drawingFigure 4~5

AI summary

Embodiments of the present invention relate to detecting and rectifying corruption in a distributed clock in a distributed system. Aspects may include receiving a sequence number used as part of the distributed clock at a node and determining if the sequence number is corrupt. In order to provide an effective mechanism for determining a sequence number is corrupt and taking corrective actions, a valid sequence number range may be determined, a propagation count associated with the sequence number may be evaluated, an estimated sequence number may be calculated, and an epoch number associated with the sequence number may be evaluated. Additionally, in exemplary aspects node with a corrupt trusted sequence values may self diagnosis and terminate associated processes to prevent further propagation of the corrupt sequence number.