User Space Time Agent for System Clock Error Correction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
Figure 1
Figure 2
Figure 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.