User Space Time Agent for System Clock Error Correction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for delivering time to computer-implemented applications, such as real-time applications, face challenges in improving the accuracy of time recovery and delivery, with known techniques not adequately addressing the precision and frequency synchronization issues.

Innovation Solution

A method involving a time agent component in the user space that measures system time delivery errors and corrects system time by issuing successive 'Read Clock' calls with high priority, calculating and applying corrections, and maintaining priority-based data structures to provide accurate system time to time clients, while also validating time errors through external probes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional time transfer protocols (PTP, NTP) are used to synchronize time, then time recovery is achieved, but the accuracy of delivering corrected time to applications remains insufficient

Engineering Contradiction:
Improvetime recovery accuracyVSAvoidtime delivery accuracy to applications
Core Design Contradiction:
Measurement precisionVSManufacturing precision

Solution Approach 1:

The patent implements a feedback mechanism where the time agent component continuously measures the actual time delivery performance by issuing successive 'Read Clock' calls and calculating the observed time error TE S2C. This measured error is then fed back to correct the system time, creating a closed-loop system that adapts to actual delivery conditions. The feedback loop includes: measuring time delivery delay, calculating time error, correcting system time based on the error, and repeating the process periodically or responsive to events.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies preliminary action by having the time agent component proactively measure and correct time delivery errors before they affect application operations. The system issues successive 'Read Clock' calls with high priority to measure time delivery characteristics in advance, calculates corrections beforehand, and applies these corrections to the system time clock. This preliminary correction ensures that when applications read the system time, the errors have already been compensated for.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If system time is corrected using measured time errors, then time delivery accuracy improves, but system complexity increases due to additional measurement and correction mechanisms

Engineering Contradiction:
Improvetime delivery accuracyVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The time agent component implements self-service by autonomously measuring time delivery errors, calculating corrections, and applying them to the system time without requiring external intervention. The component issues its own 'Read Clock' calls, processes the timing information, and automatically adjusts the system clock. This self-service mechanism reduces the need for complex external synchronization systems while maintaining high accuracy.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The time agent component acts as an intermediary between the system time clock and the applications. It sits in user space and mediates the time delivery process by measuring actual delivery performance, calculating errors, and providing corrected time values to applications. This intermediary role simplifies the overall system architecture by consolidating measurement and correction functions in a single component rather than requiring distributed complexity throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If successive high-priority 'Read Clock' calls are issued to measure time delivery, then time error measurement accuracy improves, but CPU load and scheduling delays increase

Engineering Contradiction:
Improvetime error measurement accuracyVSAvoidCPU efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial action by issuing a limited number of successive 'Read Clock' calls (N ≥ 2) rather than continuously calling. The time agent component performs a finite sequence of measurements to calculate the time error, then stops and applies the correction. This partial action approach provides sufficient measurement accuracy without the excessive CPU load that would result from continuous or unlimited calls. The system balances measurement precision with CPU efficiency by using a reasonable number of samples.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The time agent component implements periodic action by repeating the measurement and correction process at scheduled intervals or responsive to predefined events rather than continuously. The system can be configured to perform measurements periodically, allowing the CPU to perform other tasks between measurements. This periodic approach maintains time delivery accuracy while significantly reducing CPU load compared to continuous measurement and correction operations.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP3677984B1Method of time delivery in a computing system and system thereof
Publication Date: 2022.08.10 ADVA OPTICAL NETWORKING SP ZOO
  • EP3677984B1 patent drawingFigure 1
  • EP3677984B1 patent drawingFigure 2
  • EP3677984B1 patent drawingFigure 3

AI summary

There are provided a method of time delivery in a computer system comprising a system call interface (SCI) located in a kernel space and operatively connected to a time client located in a user space. The method comprises: using a time agent component located in the user space to measure data indicative of delay in a system time delivery and to derive therefrom a system time delivery error TES2C; using TES2C to enable correction of system time; and sending by the SCI the corrected system time in response to a "Read Clock RT" (RCRT) call received from the time client. The method can further comprise: measuring data indicative of delays in the system time delivery for RCRT calls with different priorities; and in response to a system time request received from the time client, providing the time client with system time corrected per TES2C corresponding to the recognized priority thereof.