Two-Part Event Identifier for Peer-to-Peer Ordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In peer-to-peer communication environments, existing solutions for event ordering are unreliable due to the lack of a central server, with issues such as differing timestamps and biased disambiguation methods, particularly when peer devices run on different machines.

Innovation Solution

A two-part event identifier system is established, where each peer device initializes a unique current event identifier that is updated differently when sending and receiving events, allowing for unambiguous event ordering without relying on external disambiguation logic.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If absolute timestamps are used for event ordering, then event ordering can be performed, but the ordering becomes unreliable when peer devices have different time configurations

Engineering Contradiction:
Improveevent ordering capabilityVSAvoidordering consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The event identifier is segmented into two distinct parts: a local counter portion and a remote counter portion. This segmentation allows each peer to maintain independent timing references while achieving consistent global ordering through the combination of both portions, eliminating the need for synchronized clocks across peers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The remote counter portion acts as an intermediary mechanism that mediates between the local counters of different peers. By incorporating remote counter values into the event identifier, the system eliminates the need for direct time synchronization while ensuring consistent ordering across all peers.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If Lamport timestamps with process ID disambiguation are used, then event ordering can be achieved, but the disambiguation process introduces bias when peers continuously win

Engineering Contradiction:
Improveevent ordering capabilityVSAvoidordering fairness
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The event identifier is divided into symmetric counter portions (local and remote) that both contribute equally to the ordering decision. This segmentation eliminates the hierarchical bias inherent in process-ID-based disambiguation, as neither peer has inherent superiority in the ordering process.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces asymmetry in the counter update behavior: when a peer sends an event, it increments its local counter; when it receives an event, it increments its remote counter. This asymmetric update pattern ensures fair ordering without continuous bias toward any single peer.

Inventive Principle:
Principle #4Asymmetry

3Reliability

If a central server is used for event ordering, then ordering consistency can be ensured, but security and scalability are compromised

Engineering Contradiction:
Improveordering consistencyVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The central server is completely extracted from the system. Event ordering is achieved through distributed peer-to-peer mechanisms where each peer maintains its own counter and exchanges counter values with others, eliminating the need for a central authority while maintaining ordering consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each peer device performs self-service by maintaining its own counter and autonomously ordering events based on the two-part identifier. The system achieves global ordering consistency through local peer actions without requiring external server intervention, enabling scalability.

Inventive Principle:
Principle #25Self-service

4Device complexity

If simple counters are used for event identifiers, then device complexity is reduced, but concurrent events with identical timestamps require additional disambiguation logic

Engineering Contradiction:
Improveidentifier structureVSAvoidevent disambiguation capability
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The counter is segmented into two independent portions (local and remote) that together provide sufficient information to distinguish all concurrent events. This segmentation eliminates the need for additional disambiguation logic beyond simple counter comparison, as the two-part identifier inherently provides unique ordering for all events.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10637920B2System, method, and computer program product for peer-to-peer event ordering using a two part event identifier
Publication Date: 2020.04.28 KATIM LLC
  • US10637920B2 patent drawing
  • US10637920B2 patent drawing
  • US10637920B2 patent drawing

AI summary

A system, method, and computer program product are provided for peer-to-peer event ordering using a two part event identifier. In use, a peer-to-peer communication channel is established by a first peer device with a second peer device. A current event identifier is initialized at the first peer device, and the second peer device initializes a different current event identifier at the second peer device. A plurality of events are communicated between the first peer device and the second peer device, where the events are each configured to include an event identifier that is the current event identifier of a sender of the event, and where the current event identifier includes two portions that are updated differently when sending and receiving events. Further, the events are ordered by the first peer device, using the event identifier included with each of the events.