Event Recording with Sequence Identifiers for Unreliable Client Clocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetime interval measurement precisionVSAvoidchronological order reconstruction reliability
Core Design Contradiction:
Measurement precisionVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If client device RTC is used for timestamp assignment, then timestamp assignment capability is improved, but timestamp accuracy deteriorates

Engineering Contradiction:
Improvetimestamp assignment capabilityVSAvoidtimestamp accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If RTC time is allowed to be changed by user interaction, then system adaptability is improved, but timestamp reliability deteriorates

Engineering Contradiction:
Improvesystem adaptabilityVSAvoidtimestamp reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7970946B1Recording and serializing events
Publication Date: 2011.06.28 GOOGLE LLC
  • US7970946B1 patent drawing
  • US7970946B1 patent drawing
  • US7970946B1 patent drawing

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.