Time synchronization system, management server, time server, and time synchronization method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- WINGARC 1ST
- Filing Date
- 2025-03-26
- Publication Date
- 2026-05-22
AI Technical Summary
Existing timestamp services experience downtime and time accuracy issues due to leap seconds, as conventional gradual adjustment methods result in time differences exceeding one second, necessitating service suspension.
A time synchronization system involving a management server that adjusts the reference time within an acceptable error margin before and after leap seconds, combined with a time server that gradually adjusts system time to maintain time accuracy.
Ensures continuous time accuracy within acceptable error limits during leap seconds, preventing service downtime and maintaining timestamp reliability.
Smart Images

Figure 0007864221000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a time synchronization system, a management server, a time server, and a time synchronization method, and particularly relates to time synchronization processing when a leap second is implemented.
Background Art
[0002] In a timestamp service that issues timestamps in response to user requests, in order to prove the existence time of documents and data, the internal clock (system clock) of a timestamp server synchronized with a specific reliable time source is used. Usually, in order to ensure the reliability of the time of this internal clock (system time), the timestamp server periodically synchronizes the system time with the reference time provided by the upper NTP (Network Time Protocol) server. The reference time distributed by the NTP server to the timestamp server is a time synchronized with the UTC (Coordinated Universal Time) provided by the National Institute of Information and Communications Technology (for example, NICT) with an accuracy within ±1 second.
[0003] In order to ensure the time accuracy of the system time even when a leap second occurs once every four years, the timestamp server stops and restarts the timestamp service in relation to the synchronization process with the reference time distributed from the NTP server. That is, when an insertion or deletion of 1 second is performed with respect to the reference time of the NTP server due to the leap second countermeasure of the NTP server, the timestamp server cannot ensure the time accuracy within ±1 second. Therefore, the timestamp server stops the timestamp service in the time periods before and after the leap second countermeasure is performed in the NTP server.
[0004] After the NTP server implements leap second correction, the timestamp server will resume its timestamp service as soon as the time difference between the NTP server's reference time and the timestamp server's system time exceeds one second. At this time, either slew adjustment (a method that gradually adjusts the time) or step adjustment (a method that instantly adjusts the time) is used to resolve the time difference. Since a time accuracy of within ±1 second cannot be achieved during time adjustment, the timestamp service must be suspended.
[0005] In contrast, a method is known for gradually adjusting the system time for leap seconds before the leap second occurs (called a gradual adjustment function). This method gradually eliminates the one-second time difference that suddenly occurs when a leap second is implemented by gradually delaying or advancing the system time in milliseconds during a specific period before the insertion or deletion of a leap second. Figure 7 is a diagram illustrating this gradual adjustment function.
[0006] In Figure 7, (a) shows the reference time and (b) shows the system time. Here, the gradual adjustment period is set to 2 hours (7200 seconds) before the leap second is implemented, and an example is shown in which the insertion of 1 second into the system time is distributed over the 2-hour gradual adjustment period. In this case, the system time is gradually increased by 1 / 7200 seconds at a time during the gradual adjustment period. As a result, a leap second of "59 seconds" is inserted into the reference time, such as 58 seconds → 59 seconds → 59 seconds → 00 seconds → 01 seconds, while the system time is measured as 56.99 seconds (= 57 - 3 / 7200 seconds) → 57.99 seconds (= 58 - 2 / 7200 seconds) → 58.99 seconds (= 59 - 1 / 7200 seconds) → 00 seconds → 01 seconds.
[0007] Furthermore, Patent Documents 1 and 2 also disclose that leap second adjustments to the system time are gradually performed in millisecond increments, starting from a time earlier than the scheduled time when the leap second adjustment is to be completed at the reference time. [Prior art documents] [Patent Documents]
[0008] [Patent Document 1] Patent No. 7234343 [Patent Document 2] Japanese Patent Publication No. 2006-10638 [Overview of the Initiative] [Problems that the invention aims to solve]
[0009] Ensuring time accuracy is one of the most important requirements in a timestamp service. Using the gradual adjustment function of the conventional technology shown in Figure 7 eliminates the need to insert or remove ±1 second from the system time to coincide with leap seconds occurring in the reference time. However, a time difference of more than one second occurs between the reference time and the system time before the leap second occurs. For example, when the reference time is at its first 59-second mark, the system time is at 57.99 seconds, resulting in a time difference of more than one second. Similarly, when the reference time is at its 58-second mark, the system time is at 56.99 seconds, also resulting in a time difference of more than one second. The same applies to earlier times. Therefore, the timestamp service needs to be stopped before and after leap second adjustments, resulting in downtime.
[0010] This invention was made to solve such problems, and aims to ensure that the system time included in the timestamp token generated by the timestamp server can continuously maintain a time accuracy within an acceptable time error, even when leap seconds are applied relative to the reference time. [Means for solving the problem]
[0011] To solve the above-mentioned problems, the time synchronization system of the present invention comprises a time server that generates system time using an internal clock, and a management server that adjusts the reference time in a predetermined pre-implementation period before the timing at which a leap second is implemented relative to the reference time in a time source that provides a reference time for synchronizing the system time, and provides the time server with the adjusted reference time as the adjusted reference time. The management server generates the adjusted reference time by performing an adjustment in the predetermined pre-implementation period that gives a time difference to the reference time within an acceptable time error. The time server also gradually adjusts the system time relative to the adjusted reference time in a gradual adjustment period included in the predetermined pre-implementation period so that the time difference between the adjusted reference time and the system time is eliminated at the timing when a leap second is implemented. [Effects of the Invention]
[0012] According to the present invention configured as described above, it is possible to ensure that the time difference between the reference time of the time source and the system time generated by the time server remains within an acceptable time error at a time prior to the implementation of a leap second at the time source. As a result, the system time included in the timestamp token generated by the timestamp server in synchronization with the time server's system time can be continuously maintained within an acceptable time error, even when a leap second is implemented. [Brief explanation of the drawing]
[0013] [Figure 1] This figure shows an example of the overall configuration of a time stamp issuance system to which the time synchronization system according to this embodiment is applied. [Figure 2] This figure shows an example of the hardware configuration of the NTP server for synchronization according to this embodiment. [Figure 3] This figure shows an example of the hardware configuration of the management server according to this embodiment. [Figure 4] This figure shows an example of the functional configuration of the synchronization NTP server and management server according to this embodiment. [Figure 5]This figure shows an example of the operation of the synchronization NTP server and management server according to this embodiment (in the case of a 1-second insertion). [Figure 6] This figure shows an example of the operation of the synchronization NTP server and management server according to this embodiment (in the case of 1-second deletion). [Figure 7] This is a diagram illustrating the conventional gradual adjustment function. [Modes for carrying out the invention]
[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Figure 1 is a diagram showing an example of the overall configuration of a time stamp issuance system to which the time synchronization system according to this embodiment is applied. As shown in Figure 1, the time stamp issuance system of this embodiment is configured to include a time stamp server 1, a synchronization NTP server 2, a monitoring NTP server 3, a management server 4, and a user terminal 5. The synchronization NTP server 2 corresponds to the time server in the claims.
[0015] The timestamp server 1 and the user terminal 5 are connected via a communication network 6. The communication network 6 is, for example, the internet and is constructed including public communication lines and mobile phone lines. The communication network 6 may also include wireless communication channels and LANs (Local Area Networks). The timestamp server 1 issues a timestamp based on the system time measured by an internal clock (system clock) in response to a request from the user terminal 5.
[0016] Timestamp Server 1 is a device logically implemented by a general-purpose computer such as a workstation or personal computer, or by cloud computing. Timestamp Server 1 may consist of a single device or a combination of multiple devices. The same applies to the synchronization NTP server 2, monitoring NTP server 3, and management server 4.
[0017] The user terminal 5 is a computer used by the user, and is composed of, for example, a smartphone, a tablet, a personal computer, etc. The user terminal 5 can be connected to the timestamp server 1 via the communication network 6 by an application or a web browser executed on the user terminal 5, and can receive the issuance of a timestamp from the timestamp server 1.
[0018] The timestamp server 1 manages the system time measured by an internal clock in order to issue a timestamp based on an accurate time. Regarding the management of this system time, the timestamp server 1 performs periodic time synchronization processing with the upper-level synchronization NTP server 2 and performs periodic time monitoring processing (health check) with the monitoring NTP server 3.
[0019] That is, the timestamp server 1 periodically acquires the time information distributed by the synchronization NTP server 2, and synchronizes the system time of the timestamp server 1 with the acquired time. The time distributed by the synchronization NTP server 2 to the timestamp server 1 is based on UTC (Coordinated Universal Time) provided by the National Institute of Information and Communications Technology (for example, NICT) as a time source, and is a time synchronized with this time source with an accuracy within ±1 second. This synchronization processing is performed, for example, by Slew adjustment. Note that this synchronization processing may be performed by Step adjustment.
[0020] In addition, the timestamp server 1 refers to the monitoring time measured by the monitoring NTP server 3 and compares it with the system time. If there is an abnormality in the comparison result, the issuance of the timestamp is stopped and an alert is issued. The monitoring time measured by the monitoring NTP server 3 is based on, for example, GPS (Global Positioning System) or GNSS (Global Navigation Satellite System) as a time source, and is a time synchronized with this time source with an accuracy within ±1 second.
[0021] The synchronization NTP server 2 generates its system time using an internal clock, which is used as a reference time for the timestamp server 1's system time. The synchronization NTP server 2 manages the system time in order to provide the timestamp server 1 with accurate time. Regarding this system time management, the synchronization NTP server 2 performs periodic time synchronization with the management server 4. That is, the synchronization NTP server 2 periodically acquires time information distributed by the management server 4 and synchronizes its system time with this acquired time. The system time distributed by the management server 4 to the synchronization NTP server 2 is based on UTC as its time source and is synchronized to this time source with an accuracy of ±1 second or less. In this embodiment, the synchronization NTP server 2 performs special processing that differs from other normal periods during a predetermined period before and after the timing when leap seconds are implemented in the UTC time source. Details of this will be described later.
[0022] The management server 4 provides the synchronization NTP server 2 with a reference time that serves as the basis for synchronizing the system time of the synchronization NTP server 2. The management server 4 manages the reference time in order to provide the synchronization NTP server 2 with an accurate time. Regarding this management of the reference time, the management server 4 performs periodic time synchronization processing with UTC, which is used as the reference time. That is, the management server 4 periodically acquires UTC time information, synchronizes its system time with this acquired time to an accuracy of ±1 second or less, and provides this as the reference time to the synchronization NTP server 2. In this embodiment, the management server 4 adjusts the reference time (UTC) acquired from the time source during a predetermined period before and after the timing in which leap seconds are implemented in the UTC time source, and provides the adjusted reference time to the synchronization NTP server 2. Details of this will be described later.
[0023] Figure 2 shows an example of the hardware configuration of the synchronization NTP server 2 according to this embodiment. As shown in Figure 2, the synchronization NTP server 2 has a hardware configuration that includes a processor 201, main memory 202, auxiliary memory 203, hardware clock 204, and communication interface 205.
[0024] The processor 201 consists of a microcomputer equipped with a CPU, RAM, ROM, etc. The main memory 202 includes, for example, volatile memory such as DRAM or SRAM, non-volatile memory such as flash memory, or other semiconductor memory. The auxiliary storage device 203 is, for example, a hard disk drive or a solid-state drive. The auxiliary storage device 203 stores the operating system (OS) and various application programs.
[0025] The hardware clock 204 is comprised of an RTC (Real Time Clock) mounted on an IC on the motherboard of the synchronization NTP server 2 (hereinafter sometimes referred to as RTC204), and it keeps track of the so-called hardware time. The RTC204 continues to keep track of the hardware time even when the synchronization NTP server 2 is powered off. When the synchronization NTP server 2 is first started up, the hardware time of the RTC204 is set as the system time, and thereafter the system time is periodically updated based on the management of the OS.
[0026] The communication interface 205 is a module for communicating with the timestamp server 1 and the management server 4, and may include, for example, a modem for connecting to a public communication network or a public telephone network. In addition, it may include at least one of the following: an adapter for connecting to a LAN, a wireless communication device for wireless communication, and a USB (Universal Serial Bus) connector or RS232C connector for serial communication.
[0027] Figure 3 shows an example of the hardware configuration of the management server 4 according to this embodiment. As shown in Figure 3, the management server 4 has a hardware configuration that includes a processor 401, main memory 402, auxiliary memory 403, hardware clock 404, and communication interface 405.
[0028] The processor 401 consists of a microcomputer equipped with a CPU, RAM, ROM, etc. The main memory 402 includes, for example, volatile memory such as DRAM or SRAM, non-volatile memory such as flash memory, or other semiconductor memory. The auxiliary storage device 403 is, for example, a hard disk drive or a solid-state drive. The auxiliary storage device 403 stores the OS and various application programs.
[0029] The hardware clock 404 is comprised of an RTC (Real-Time Clock) mounted on an IC on the motherboard of the management server 4 (hereinafter sometimes referred to as RTC404), and it keeps track of the so-called hardware time. The RTC404 continues to keep track of the hardware time even when the management server 4 is powered off. When the management server 4 is first started up, the hardware time of the RTC404 is set as the system time, and thereafter the system time is periodically updated based on the management of the OS.
[0030] The communication interface 405 is a module for communicating with a UTC time source and a synchronization NTP server 2, and includes, for example, a modem for connecting to a public communication network or a public telephone network. In addition, it may include at least one of the following: an adapter for connecting to a LAN, a wireless communication device for wireless communication, and a USB (Universal Serial Bus) connector or an RS232C connector for serial communication.
[0031] Figure 4 shows an example of the functional configuration of the synchronization NTP server 2 and management server 4 according to this embodiment. As shown in Figure 4, the synchronization NTP server 2 according to this embodiment has a functional configuration comprising a management time synchronization processing unit 21, a gradual time adjustment unit 22, and a time distribution unit 23. The management server 4 according to this embodiment has a functional configuration comprising a UTC synchronization processing unit 41, a reference time adjustment unit 42, and a time distribution unit 43.
[0032] Functional blocks 21-23 of the NTP server 2 for synchronization perform the processes described below through the cooperation of hardware and software. For example, the processes of functional blocks 21-23 are executed by the operation of the OS and application programs stored in the auxiliary storage device 203, under the control of the processor 201 shown in Figure 2.
[0033] Functional blocks 41 to 43 of the management server 4 perform the processes described below through the cooperation of hardware and software. For example, the processes of the above functional blocks 41 to 43 are executed by the operation of the OS and application programs stored in the auxiliary storage device 403, under the control of the processor 401 shown in Figure 3.
[0034] The UTC synchronization processing unit 41 of the management server 4 performs periodic time synchronization with UTC during normal periods, excluding predetermined periods before and after leap seconds are implemented in the UTC time source. That is, the UTC synchronization processing unit 41 periodically synchronizes the system time measured by the management server 4's internal clock with UTC. It then supplies time information representing the synchronized system time to the time distribution unit 43. The time distribution unit 43 provides the time information supplied by the UTC synchronization processing unit 41 to the synchronization NTP server 2 as the reference time for the synchronization NTP server 2.
[0035] The reference time adjustment unit 42 of the management server 4 adjusts the reference time provided by the time source that provides the reference time (UTC) for a predetermined period before and after the timing at which a leap second is implemented for that reference time, and provides the adjusted reference time to the synchronization NTP server 2 as the adjusted reference time via the time distribution unit 43. When a leap second is implemented, flag information indicating a leap second implementation notice is sent from the UTC time source to the management server 4. This flag information includes either the value "01" which indicates the insertion of one second at the timing of the leap second implementation, or the value "10" which indicates the deletion of one second. The reference time adjustment unit 42 of the management server 4 executes the reference time adjustment process when the UTC synchronization processing unit 41 receives this flag information as a trigger.
[0036] The reference time adjustment unit 42 generates an adjusted reference time by performing an adjustment that gives the reference time a time difference within an acceptable time error during a predetermined period prior to the implementation of a leap second. It then supplies the adjusted time information to the time distribution unit 43. The time distribution unit 43 distributes the adjusted time information supplied by the reference time adjustment unit 42 to the synchronization NTP server 2. The time difference within an acceptable time error is a time difference of ±1 second or less. While any time difference of 1 second or less is acceptable, it is preferable not to make the time difference unnecessarily large; for example, it is possible to set the time difference to 0.5 seconds or less. In this embodiment, as an example, the time difference added for adjustment is set to 0.2 seconds.
[0037] Here, if the value of the flag information indicating the implementation of a leap second is "01," that is, if it is announced that one second will be inserted at the time of the leap second implementation, the reference time adjustment unit 42 adds 0.2 seconds to the reference time. In other words, it advances the adjusted reference time by 0.2 seconds relative to the reference time. On the other hand, if the value of the flag information indicating the implementation of a leap second is "10," that is, if it is announced that one second will be deleted at the time of the leap second implementation, the reference time adjustment unit 42 subtracts 0.2 seconds from the reference time. In other words, it delays the adjusted reference time by 0.2 seconds relative to the reference time.
[0038] The reference time adjustment unit 42 may divide the pre-implementation predetermined period into a first half and a second half, generate a first adjusted reference time by performing an adjustment in the first half of the pre-implementation predetermined period to give a first time difference to the reference time that is within the allowable time error, and then generate a second adjusted reference time in the second half of the pre-implementation predetermined period to give a second time difference to the reference time that is within the allowable time error and is greater than the first time difference.
[0039] For example, it is possible to set the first time difference to 0.1 seconds and the second time difference to 0.2 seconds. Another example is to define the 24 hours prior to the implementation of the leap second as the pre-implementation period, the period from 24 hours to 12 hours prior as the first half of the pre-implementation period, and the period from 12 hours prior to the implementation of the leap second as the second half of the pre-implementation period. By applying a time difference to the reference time in this two-stage manner, it is possible to prevent the time difference from becoming too large all at once.
[0040] Furthermore, the reference time adjustment unit 42 generates an adjusted reference time by performing adjustments that give the reference time a time difference within an acceptable time error, not only during a predetermined period before implementation but also during a predetermined period after implementation following the timing of the leap second implementation. The adjusted reference time generated during the predetermined period after implementation is intended to return the adjusted reference time to the original reference time during that predetermined period after implementation.
[0041] For example, the reference time adjustment unit 42 generates a second adjusted reference time by performing an adjustment that gives a second time difference (e.g., 0.2 seconds) to the reference time within a predetermined period after execution, and then generates a first adjusted reference time by performing an adjustment that gives a first time difference (e.g., 0.1 seconds) to the reference time. After the predetermined period has elapsed, the processing of the reference time adjustment unit 42 ends, and the normal processing by the UTC synchronization processing unit 41 returns.
[0042] The management time synchronization processing unit 21 of the synchronization NTP server 2 performs periodic time synchronization processing with the reference time distributed from the management server 4 during the period excluding a certain gradual adjustment period included in the latter half of the predetermined pre-implementation period described above. The period excluding the gradual adjustment period includes the predetermined pre-implementation period other than the gradual adjustment period, the predetermined post-implementation period, and other normal periods. Here, the system time of the synchronization NTP server 2 is immediately synchronized with the reference time (time synchronized by the UTC synchronization processing unit 41) or the adjustment reference time (time adjusted by the reference time adjustment unit 42) distributed from the management server 4. The synchronized system time information is then supplied to the time distribution unit 23. The time distribution unit 23 distributes the time information supplied from the management time synchronization processing unit 21 to the timestamp server 1.
[0043] The gradual time adjustment unit 22 of the synchronization NTP server 2 gradually adjusts the system time relative to the adjustment reference time during a gradual adjustment period included in the latter half of the predetermined pre-implementation period described above, so that the time difference between the adjustment reference time and the system time of the synchronization NTP server 2 is eliminated at the timing when a leap second is implemented in the UTC time source (when UTC becomes 0:00:00). The gradual time adjustment unit 22 then sequentially supplies the system time being adjusted to the time distribution unit 23. The time distribution unit 23 distributes the time information of the system time supplied by the gradual time adjustment unit 22 to the timestamp server 1.
[0044] As described above, when the reference time adjustment unit 42 of the management server 4 performs a two-stage adjustment by dividing the predetermined pre-implementation period into a first half and a second half and applying a first time difference (0.1 seconds) and a second time difference (0.2 seconds) to the reference time, the gradual time adjustment unit 22 gradually adjusts the system time with respect to the second adjustment reference time so that the time difference between the second adjustment reference time and the system time of the synchronization NTP server 2 is eliminated at the timing when leap seconds are implemented.
[0045] Figure 5 shows an example of the operation of the synchronization NTP server 2 and management server 4 configured as described above, along with the UTC time provided by NICT, which is the time source, and the system time managed by the timestamp server 1. Figure 5(a) shows UTC, Figure 5(b) shows the reference time (including the adjustment reference time) managed by the management server 4, Figure 5(c) shows the system time managed by the synchronization NTP server 2, and Figure 5(d) shows the system time managed by the timestamp server 1. Figure 5 shows an example in which one second is inserted at the timing of leap second implementation.
[0046] As shown in Figure 5(a), UTC ticks away the time one second at a time, inserting a second leap second, 23:59:59, between the first leap second, 23:59:59 (indicated as 23:59:59), and the second leap second, 0:00:00.
[0047] The management server 4 performs periodic time synchronization with UTC (reference time) through the processing of the UTC synchronization processing unit 41 from the timing of the leap second implementation in UTC until the predetermined 24-hour period prior to the implementation. During this period, the time synchronization process is performed by polling UTC from the management server 4 at time intervals of several minutes to several tens of minutes. Alternatively, this time synchronization process may be performed at time intervals of every second.
[0048] As shown in Figure 5(b), the management server 4 generates a first adjusted reference time by adding 0.1 seconds to UTC during the first half of the predetermined pre-implementation period (the period from 24 hours before to 12 hours before the leap second implementation timing) through processing by the reference time adjustment unit 42, and generates a second adjusted reference time by adding 0.2 seconds to UTC during the second half of the predetermined pre-implementation period (the period from 12 hours before the leap second implementation timing to the leap second implementation timing). As a result, at the leap second implementation timing when UTC is 0:00:00, the adjusted reference time generated by the management server 4 will be 0:00:00.2.
[0049] Furthermore, the management server 4 generates an adjusted reference time by performing adjustments that create a time difference with respect to the reference time even during a predetermined period after the leap second implementation timing, through the processing of the reference time adjustment unit 42. In the example shown in Figure 5(b), the reference time adjustment unit 42 performs processing to generate a second adjusted reference time by adding 0.2 seconds to UTC for a while immediately after the leap second implementation timing, following the latter half of the predetermined period before implementation.
[0050] Subsequently, each time the reference time adjustment unit 42 polls UTC, it reduces the time difference added to UTC by half. In the example in Figure 5(b), when polling UTC is performed at 1:08:00, the time difference added to UTC is changed from 0.2 seconds to 0.1 seconds, and when polling UTC is performed again at 2:16:00, the addition of the time difference to UTC is stopped (the processing of the reference time adjustment unit 42 is stopped).
[0051] As shown in Figure 5(c), in this embodiment, the two-hour period prior to the leap second implementation timing (i.e., the period from 22:00:00 to 0:00:00 UTC) is set as the gradual adjustment period. The synchronization NTP server 2 performs periodic time synchronization processing with the reference time (including the adjustment reference time) distributed from the management server 4 through processing by the management time synchronization processing unit 21 during the period excluding this gradual adjustment period (a predetermined period before implementation other than the gradual adjustment period, a predetermined period after implementation, and other normal periods). This time synchronization processing during this period may be performed at time intervals of several minutes to several tens of minutes, or at time intervals of every second.
[0052] Furthermore, during the gradual adjustment period, the synchronization NTP server 2 gradually adjusts the system time relative to the adjustment reference time through the processing of the gradual time adjustment unit 22, so that the time difference between the adjustment reference time and the system time of the synchronization NTP server 2 is eliminated at the time of the leap second implementation when UTC becomes 0:00:00. At the time of the leap second implementation, both the adjustment reference time and the system time are 0:00:00.2, and the time difference is zero.
[0053] Specifically, the gradual time adjustment unit 22, during a gradual adjustment period of 2 hours (7200 seconds), increments the time by 1 / 7200th of a second each second (i.e., adjusting 1 second to 1 + 1 / 7200th of a second), so that the system time of the synchronization NTP server 2 is incremented by one less time than the adjustment reference time distributed from the management server 4 during the gradual adjustment period. As a result, at the moment when UTC first ticks 23:59:59 just before the leap second is implemented, the system time of the synchronization NTP server 2 will be 23:59:58.19, and the time difference will be approximately 0.81 seconds, which is within the allowable time error (within ±1 second). Furthermore, when the system time of the synchronization NTP server 2 next ticks 23:59:59.19, the time difference with UTC at 23:59:59 is approximately 0.19 seconds, which is within the allowable time error.
[0054] As shown in Figure 5(d), the timestamp server 1 generates the system time used for issuing timestamps by performing periodic time synchronization with the time distributed by the synchronization NTP server 2 throughout the entire period. The time synchronization process by the timestamp server 1 may be performed at time intervals of several minutes to several tens of minutes, or at time intervals of every second. The adjustment method used for the time synchronization process by the timestamp server 1 may be, for example, Slew adjustment, but Step adjustment may also be used.
[0055] Thus, since the system time of timestamp server 1 is synchronized with the system time of synchronization NTP server 2, the time difference with UTC will be within the acceptable time error, just like the system time of synchronization NTP server 2.
[0056] Figure 6 shows an example of the operation of the synchronization NTP server 2 and the management server 4 when one second is deleted at the time of leap second implementation. Figure 6(a) shows UTC, Figure 6(b) shows the reference time (including the adjustment reference time) managed by the management server 4, Figure 6(c) shows the system time managed by the synchronization NTP server 2, and Figure 6(d) shows the system time managed by the timestamp server 1. The basic operation of the synchronization NTP server 2 and the management server 4 shown in Figure 6 is the same as in Figure 5, so we will briefly explain the differences.
[0057] As shown in Figure 6(a), UTC keeps the time increments by one second, and deletes the 23:59:59 mark between 23:59:58 and 0:00:00.
[0058] As shown in Figure 6(b), the management server 4 generates a first adjusted reference time by subtracting 0.1 seconds from UTC in the first half of the predetermined pre-implementation period, and generates a second adjusted reference time by subtracting 0.2 seconds from UTC in the second half of the predetermined pre-implementation period. As a result, at the timing of the leap second implementation in UTC (the timing when UTC becomes 0:00:00), the adjusted reference time generated by the management server 4 will be 23:59:59.8.
[0059] Furthermore, the management server 4, through the processing of the reference time adjustment unit 42, generates a second adjusted reference time by subtracting 0.2 seconds from UTC for a period of time immediately following the leap second implementation. Subsequently, each time the reference time adjustment unit 42 polls UTC, it gradually returns the adjusted reference time to the original reference time by reducing the time difference subtracted from UTC by half.
[0060] As shown in Figure 6(c), the synchronization NTP server 2 performs periodic time synchronization with the reference time (including the adjustment reference time) distributed from the management server 4, through processing by the management time synchronization processing unit 21, except during the gradual adjustment period. In addition, during the gradual adjustment period, the synchronization NTP server 2 gradually adjusts the system time relative to the adjustment reference time through processing by the gradual time adjustment unit 22, so that the time difference between the adjustment reference time and the system time of the synchronization NTP server 2 is eliminated at the time of the leap second implementation when UTC is 0:00:00. At the time of the leap second implementation, both the adjustment reference time and the system time are 23:59:59.8, and the time difference is zero.
[0061] Specifically, the gradual time adjustment unit 22 advances the time by 1 / 7200 of a second each second during the gradual adjustment period (i.e., adjusts 1 second to 1 - 1 / 7200 of a second), so that the system time of the synchronization NTP server 2 is one time step more than the adjustment reference time distributed from the management server 4 during the gradual adjustment period. As a result, when UTC reaches 23:59:57 just before the leap second is implemented, the system time of the synchronization NTP server 2 will be 23:59:56.81, and the time difference will be approximately 0.19 seconds, which is within the allowable time error (within ±1 second). When the system time of the synchronization NTP server 2 next reaches 23:59:57.81, the time difference with UTC at 23:59:57 is approximately 0.81 seconds, which is within the allowable time error.
[0062] As shown in Figure 6(d), the timestamp server 1 generates the system time used for issuing timestamps by performing periodic time synchronization processing with the time distributed by the synchronization NTP server 2 throughout the entire period. Since the system time of the timestamp server 1 is synchronized with the system time of the synchronization NTP server 2, the time difference with UTC is within the acceptable time error, just like the system time of the synchronization NTP server 2.
[0063] As explained in detail above, in this embodiment, a management server 4 is provided that adjusts the reference time during a predetermined pre-implementation period before the timing at which a leap second is implemented relative to the reference time in the UTC time source, and provides the adjusted reference time to the synchronization NTP server 2 as the adjusted reference time. The adjusted reference time is generated by performing an adjustment during the predetermined pre-implementation period to give the reference time a time difference within an acceptable time error. Furthermore, the synchronization NTP server 2 gradually adjusts its system time relative to the adjusted reference time during the predetermined pre-implementation period so that the time difference between the adjusted reference time and the system time of the synchronization NTP server 2 is eliminated at the timing at which a leap second is implemented.
[0064] With this configuration, the time difference between the UTC time source and the system time generated by the synchronization NTP server 2 can be kept within an acceptable time error, not only at the timing when leap seconds are implemented in the UTC time source, but also at a time prior to that. As a result, the system time included in the timestamp token generated by the timestamp server 1 in synchronization with the system time of the synchronization NTP server 2 can be continuously kept within an acceptable time error, even when leap seconds are implemented.
[0065] In the above embodiment, an example of a two-stage adjustment was described in which the reference time adjustment unit 42 of the management server 4 applies a first time difference (0.1 seconds) to the reference time starting 24 hours before the leap second implementation timing, and then applies a second time difference (0.2 seconds) starting 12 hours before. However, the present invention is not limited to this. For example, the adjustment may be performed in three or more stages, or in one stage. In the case of a one-stage adjustment, for example, the reference time may be left unadjusted until 12 hours before the leap second implementation timing, and then a second time difference (0.2 seconds) may be applied to the reference time starting 12 hours before. Alternatively, the reference time adjustment unit 42 may leave the reference time unadjusted until 2 hours before the leap second implementation timing when the gradual time adjustment unit 22 of the synchronization NTP server 2 starts gradual adjustment of the system time, and then apply a second time difference (0.2 seconds) to the reference time starting 2 hours before.
[0066] Furthermore, although the above embodiment describes an example in which the reference time adjustment unit 42 of the management server 4 adjusts the reference time in two stages even during a predetermined period after the leap second implementation timing, the present invention is not limited thereto. For example, the adjustment may be performed in three or more stages, or in one stage. In the case of a one-stage adjustment, for example, the addition of a time difference to the reference time may be stopped (the processing of the reference time adjustment unit 42 may be stopped) at the first polling after the leap second implementation timing. Alternatively, the processing of the reference time adjustment unit 42 may be stopped one second or a few seconds after the leap second implementation timing.
[0067] Furthermore, although the above embodiment describes an example in which the time difference assigned to the reference time during a predetermined period before implementation and the time difference assigned to the reference time during a predetermined period after implementation are the same, the present invention is not limited thereto. For example, the reference time adjustment unit 42 of the management server 4 may generate a third adjusted reference time by performing an adjustment in the first half of the predetermined period after implementation to assign a third time difference to the reference time that is within the allowable time error, and then generate a fourth adjusted reference time by performing an adjustment to assign a fourth time difference to the reference time that is within the allowable time error and smaller than the third time difference. The above embodiment is an example in which the third time difference = second time difference and the fourth time difference = first time difference, but the third time difference ≠ second time difference, and the fourth time difference ≠ first time difference, may also be set.
[0068] Furthermore, the above embodiments are merely examples of how the present invention may be implemented, and the technical scope of the invention should not be interpreted as being limited by them. In other words, the present invention can be implemented in various ways without departing from its gist or its main features. [Explanation of Symbols]
[0069] 1. Timestamp Server 2. NTP server for synchronization 3. NTP server for monitoring 4. Management Server 5. User terminals 21 Management Time Synchronization Processing Unit 22 Gradual time adjustment section 23 Time Distribution Department 41 UTC Synchronization Processing Unit 42 Reference time adjustment section 43 Time-based distribution department
Claims
1. A time server that generates the system time using an internal clock, The system includes a time source that provides a reference time for synchronizing the above system time, and a management server that adjusts the reference time during a predetermined period prior to the timing when a leap second is implemented relative to the reference time, and provides the adjusted reference time to the time server as the adjusted reference time. The above management server generates the above-mentioned adjusted reference time by performing adjustments during the predetermined period prior to the above implementation to give a time difference within an acceptable time error to the above-mentioned reference time. The above time server, during the gradual adjustment period included in the latter half of the predetermined period prior to the above implementation, gradually adjusts the system time relative to the above adjustment reference time so that the time difference between the above adjustment reference time and the above system time is eliminated at the time the above leap second is implemented. A time synchronization system characterized by the following features.
2. The above time server performs a process to immediately synchronize the system time with the above adjustment reference time during periods other than the above gradual adjustment period, and gradually adjusts the system time with respect to the above adjustment reference time during the above gradual adjustment period. The time synchronization system according to feature 1.
3. The management server generates a first adjusted reference time by performing an adjustment in the first half of the predetermined pre-implementation period to give the reference time a first time difference within the allowable time error, and then generates a second adjusted reference time in the second half of the predetermined pre-implementation period to give the reference time a second time difference within the allowable time error and greater than the first time difference. The time server performs a process to immediately synchronize the system time with the first and second adjustment reference times during periods other than the gradual adjustment period, and gradually adjusts the system time with respect to the second adjustment reference time during the gradual adjustment period. The time synchronization system according to claim 2, characterized in that it is the same as described in claim 2.
4. The above management server generates and provides the above adjustment reference time to the above time server not only during the predetermined period before implementation, but also during the predetermined period after implementation following the timing of the leap second implementation. The above time server will execute a process to immediately synchronize the system time with the above adjustment reference time within a predetermined period after the above execution. A time synchronization system according to any one of claims 1 to 3.
5. The management server, after performing the above-mentioned actions for a predetermined period, generates a third adjusted reference time by applying an adjustment to the reference time that is within the allowable time error, and then generates a fourth adjusted reference time by applying an adjustment to the reference time that is within the allowable time error and smaller than the third time difference. The above time server will, within a predetermined period after the above implementation, execute a process to immediately synchronize the system time with the third adjustment reference time and the fourth adjustment reference time. The time synchronization system according to feature 4.
6. The above management server generates and provides the above adjustment reference time to the above time server not only during the predetermined period before implementation, but also during the predetermined period after implementation following the timing of the leap second implementation. The management server, after performing the above-mentioned actions for a predetermined period, generates the second adjusted reference time by applying the second time difference to the reference time, and then generates the first adjusted reference time by applying the first time difference to the reference time. The above time server will, within a predetermined period after the above implementation, execute a process to immediately synchronize the system time with the second adjustment reference time and the first adjustment reference time. The time synchronization system according to claim 3.
7. A management server that provides a reference time for synchronizing the system time with a time server that generates the system time using an internal clock, In the time source providing the above-mentioned reference time, during a predetermined period prior to the implementation of a leap second relative to the reference time, an adjustment is made to the reference time to provide a time difference within the allowable time error, and the adjusted reference time is provided to the time server as the adjusted reference time. A management server characterized by the following features.
8. A time server that generates the system time using an internal clock, In the time source that provides the reference time for synchronizing the above system time, an adjusted reference time is obtained from the management server during a predetermined period prior to the implementation of a leap second relative to the above reference time, such that it gives a time difference within an acceptable time error relative to the above reference time. The system time is then gradually adjusted relative to the adjusted reference time so that the time difference between the adjusted reference time and the above system time is eliminated at the time the leap second is implemented. A time server characterized by the following features.
9. A method for performing the synchronization of the system time in a system including a time server that generates a system time using an internal clock and a management server that provides the time server with a reference time for synchronizing the system time, The management server, in the time source that provides the reference time for synchronizing the system time, performs an adjustment during a predetermined period prior to the implementation of a leap second relative to the reference time, giving the reference time a time difference within an acceptable time error, and provides the adjusted reference time to the time server as the adjusted reference time. The above time server gradually adjusts the system time relative to the above adjustment reference time during the gradual adjustment period included in the predetermined period before the above implementation, so that the time difference between the above adjustment reference time and the above system time is eliminated at the time the above leap second is implemented. A time synchronization method characterized by the following features.