-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does SDPi need to define a SDC suitable slewing period ? #295
Comments
Slewing adjustmentsSlewing occurs when a device's clock is not too dissimilar from times provided by reference (NTP) sources. Conceptually, this involves speeding up or slowing down the clock so that the device clock eventually matches the reference clock. In practice, a closed loop control system is used to minimize the error between the device and reference clocks. BackgroundAn SDC provider declares the methods it may use to determine time in 11073-20701, R0007 requires support for NTPv3 (or compatible versions) and notes SNTP RFC1769 and SNTP v4 RFC4330 are not recommended. Presumably RFC2030 (also SNTPv4?) is off the table too. RR1162 from 10700-D7-2022 requires consumers to consider the risks from erroneous timestamps, suggesting regular comparison of clock information from a provider with its own clock. NTPv4Looking into NTPv4, the latest version of the options recommended by 20701. SlewingSlewing clock adjustments
This suggests that, during normal operation, the difference between the device clocks of any two SDC participants synchronizing their clocks with NTPv4 will be less than 8 minutes and 32 seconds. Time error measurementThe error between a client and an NTP reference source is estimated by exchanging time-stamped (T1 … T4) NTP messages: sequenceDiagram
participant C as Client
participant S as NTP server
C->>S: T1 --- T2
S->>C: T3 --- T4
NTPv4 accuracy11073-10207-2019 includes accuracy information for the clock state ( RFC5905 notes:
NTP.org notes:
Note Likely this all means the expected accuracy during normal operation (e.g., no non-slewing adjustments) is a few milliseconds (value in NTPv4 startupWhen power is restored after several hours or days, the clock offset and oscillator frequency errors must be resolved by the clock discipline algorithm, but this can take several hours without specific provisions. NTPv4 startup provisions ensure that, in all but pathological situations, the startup transient is suppressed to within nominal levels in no more than five minutes after a warm start or ten minutes after a cold start. Two provisions, in the reference implementation, synchronize time at startup quickly.
Implications for SDPiThe following options are proposed to resolve this issue, please add others you think of to this issue: 1. No special treatment needed.11073-20701, R0007 stipulates NTPv3 or higher which, of course, comes with the limitations discussed above and 10700-D7-2022 RR1162 requires consumers to consider associated risks and suggests regular clock comparisons. Does anyone have broadly applicable use-cases, which could (for example) be added to this issue, that warrant expansion on this SDPi? 2. Monitor timeTime errors exceeding a few seconds after initialization may indicate a problem with timekeeping infrastructure or networking systems rather than a tardy participant. SDPi might require that the responsible organization should operate a monitoring system that periodically requests time from active participants, reporting faults appropriately, as part of maintaining this infrastructure. 3. Time validationSDPi might require validation of participant time by the responsible organization, for example during a conformity validation workflow, when a participant joins the organization SDC network. External conformity certification might validate that participants don't perform non-slewing adjustments unnecessarily. 4. Time-stamp messagesA header field with the SDC participants local time could be included in every SDC report and/or message. This would enable time-sensitive participants to make informed decisions about clock discrepancies with little additional overhead and without imposing more complex time-keeping solutions on all providers. WS-Security defines flexible a mechanism to include time-stamps in a SOAP header, though a custom header may be more appropriate. 5. Require more precise time-keepingSDPi could identify and stipulate a more accurate and/or precise time-keeping protocol. However, this may be challenging with current methods well thought out and perhaps limited by practical considerations that would also be faced by alternatives. Suggested resolutionGiven large time errors seem more likely to arise from network and infrastructure problems (e.g., high network latency, time server can't be reached, wrong time-server configured), to me option 2 and/or 3 make the most sense for SDPi. Note: time-stamp uncertainty in messages delivered by the history service, shared in plug-a-thon 17, wouldn't be addressed by any of these measures. References
|
Some sources indicate the slewing period, the amount of time a device will take to bring its internal clock in-line with a time-stamp supplied by an NTP source, could be 300s or 600s. Are system defaults for NTP synchronization acceptable for SDC?
The text was updated successfully, but these errors were encountered: