Event Recording with Sequence Identifiers for Unreliable Client Clocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Assigning accurate timestamps to events on client devices without reliable real-time clocks or permanent network connectivity is challenging, as client RTCs can be unreliable and their resolution is insufficient for reconstructing chronological order.
Innovation Solution
Recording applications on client devices capture current RTC timestamps and assign unique sequence identifiers to events, transmitting this data to a server which reconstructs the chronological order using a server RTC, ensuring accurate timestamp assignment and event ordering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If client device RTC is used to measure time intervals, then relative time measurement precision is improved, but chronological order reconstruction capability deteriorates
Solution Approach 1:
The patent segments the timestamp into two independent components: a high-precision relative time counter (measuring time intervals with millisecond precision) and a monotonically increasing sequence number (ensuring chronological order). This segmentation allows each component to excel at its specific function without compromise.
Solution Approach 2:
The sequence number acts as an intermediary mechanism that bridges the gap between the imprecise RTC timestamps and the required chronological ordering. By introducing this separate monotonic counter, the system achieves reliable event ordering without depending on the accuracy of the RTC.
2Ease of operation
If client device RTC is used for timestamp assignment, then timestamp assignment capability is improved, but timestamp accuracy deteriorates
Solution Approach 1:
The sequence number serves as an intermediary that preserves the monotonic progression of time even when the RTC is unreliable. It provides a fallback mechanism that ensures timestamps maintain their chronological validity without depending on RTC accuracy.
Solution Approach 2:
The patent changes the parameter used for timestamp accuracy from relying solely on RTC time values to using a combination of RTC timestamps and sequence numbers. This parameter change transforms the system from one vulnerable to RTC errors to one that is robust against RTC failures.
3Adaptability or versatility
If RTC time is allowed to be changed by user interaction, then system adaptability is improved, but timestamp reliability deteriorates
Solution Approach 1:
By separating the timestamp into RTC-based time values and independent sequence numbers, the patent allows the RTC to be modified for system adaptability while the sequence numbers maintain timestamp reliability through their monotonic property.
Solution Approach 2:
The sequence number is incremented in advance for each event before the RTC timestamp is finalized. This preliminary action ensures that even if the RTC time changes retroactively, the chronological order established by the sequence numbers remains intact.
Data Source
AI summary
Event information with respect to events that occur at a client is recorded. A current client real time clock (RTC) timestamp at the occurrence of each event is also recorded. Each event is assigned a unique sequence identification. Event data including the event information and the associated RTC timestamp and sequence identification information are transmitted to a server. The server reconstructs at least one of: a chronological order of the events on the client and the time when each event occurred at the client.


