Time synchronization system, time server, switch, end device, time synchronization method, time server time synchronization method, switch time synchronization method, and end device time synchronization method

The proposed time synchronization system addresses the complexity of redundant clock synchronization in train networks by using prioritized time servers to manage time synchronization frames, ensuring continuous and accurate timekeeping even during failures, thus simplifying the system configuration and reducing time jumps.

WO2025027704A1PCT designated stage expired Publication Date: 2025-02-06MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/027828
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-28
Publication Date
2025-02-06

AI Technical Summary

Technical Problem

Conventional time synchronization systems for train networks, particularly in the context of the Shift2Rail project, face complexity due to the lack of clear methods for redundant Master Clock synchronization in Ethernet Consist Networks, leading to potential time jumps during failures and high system construction costs.

Method used

A time synchronization system that includes multiple time servers with prioritization, where active and backup time servers transmit and receive time synchronization frames to ensure seamless transitions and avoid time jumps, even in the event of failures, without requiring compatibility with the Best Master Clock Algorithm (BMCA).

Benefits of technology

This approach simplifies the system configuration while reducing the occurrence of time jumps during failures, allowing for efficient and reliable time synchronization across the network.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023027828_06022025_PF_FP_ABST
    Figure JP2023027828_06022025_PF_FP_ABST
Patent Text Reader

Abstract

This time synchronization system (10) is provided with: a plurality of time servers (20a, 20b) capable of transmitting time synchronization frames; switches (30a to 30d) for time-synchronization with times indicated by the received time synchronization frames and for transmitting the time synchronization frames to other devices; and end devices (40a to 40d) for time-synchronization with the times indicated by the received time synchronization frames. After the plurality of time servers (20a, 20b) are activated, a standby system time server excluding active system time servers from among the plurality of activated time servers (20a, 20b) is time-synchronized with a time indicated by a time synchronization frame transmitted from the active system time server from among the plurality of activated time servers (20a, 20b), and the active system time server and the standby system time server are periodically time-synchronized by the active system time server periodically transmitting the time synchronization frame.
Need to check novelty before this filing date? Find Prior Art

Description

Time synchronization system, time server, switch, end device, time synchronization method, time server time synchronization method, switch time synchronization method, and end device time synchronization method

[0001] The present disclosure relates to a time synchronization system that performs time synchronization, a time server, a switch, an end device, a time synchronization method, a time server time synchronization method, a switch time synchronization method, and an end device time synchronization method.

[0002] Conventionally, a network is formed within a train to control and monitor devices installed in each vehicle. The European Shift2Rail project has proposed several different time synchronization architectures for the next-generation Train Control Management System (TCMS). One of these architectures is an architecture in which the ETB (Ethernet (registered trademark) Train Backbone) and each ECN (Ethernet Consist Network) independently synchronize their time, i.e., the ETB and each ECN are asynchronous. In the architecture in which the ETB and each ECN are asynchronous, a method for redundancy of the ETB's Master Clock (MC) is specified, but a method for redundancy of the ECN's Master Clock (MC) is not specified.

[0003] BMCA (Best Master Clock Algorithm) is an algorithm for selecting the best MC from multiple MCs. By applying BMCA, if the GM (Grand Master Clock) that distributes time fails, the next most accurate MC is automatically selected as the GM. Because the changed GM is time-synchronized with the previous GM, no time jumps occur even if the GM to which the BC (Boundary Clock) or SC (Slave Clock) synchronizes is changed. However, when BMCA is applied, not only the MC but also the BC and SC must be compatible with BMCA, which increases the cost of system construction. To address this issue, Patent Document 1 discloses a technology in which a secondary master node receives a reference clock from a primary master node and corrects its own local clock.

[0004] JP 2018-37885 A

[0005] However, according to the above-described conventional technology, all master nodes must be configured to be time-synchronized with an external clock source, which causes a problem of a complex system configuration.

[0006] The present disclosure has been made in view of the above, and aims to provide a time synchronization system that can reduce the occurrence of time jumps when a failure occurs while having a simple configuration.

[0007] In order to solve the above-mentioned problems and achieve the object, the time synchronization system of the present disclosure includes a plurality of time servers capable of transmitting time synchronization frames, a switch that synchronizes with the time indicated in the received time synchronization frame and transmits the time synchronization frame to another device, and an end device that synchronizes with the time indicated in the received time synchronization frame. The switch transmits the time synchronization frame to at least one of the other devices, which are the time server, another switch, and the end device. After the plurality of time servers are started, a backup time server other than the active time server among the plurality of started time servers synchronizes with the time indicated in the time synchronization frame transmitted from the active time server among the plurality of started time servers, and the active time server periodically transmits a time synchronization frame, thereby periodically synchronizing the active time server and the backup time server.

[0008] The time synchronization system of the present disclosure has an effect of being able to reduce the occurrence of time jumps when a failure occurs while having a simple configuration.

[0009] FIG. 1 is a diagram showing an example of the configuration of a time synchronization system according to the first embodiment. FIG. 1 is a diagram showing an example of the configuration of a time server according to the first embodiment. FIG. 2 is a diagram showing an example of the configuration of a switch according to the first embodiment. FIG. 3 is a diagram showing an example of the configuration of an end device according to the first embodiment. FIG. 4 is a flowchart showing the operation of a time server according to the first embodiment.

[0010] Below, a time synchronization system, a time server, a switch, an end device, a time synchronization method, a time server time synchronization method, a switch time synchronization method, and an end device time synchronization method according to embodiments of the present disclosure will be described in detail with reference to the drawings.

[0011] First Embodiment. Figure 1 is a diagram showing an example of the configuration of a time synchronization system 10 according to a first embodiment. The time synchronization system 10 includes time servers 20a and 20b, switches 30a, 30b, 30c, and 30d, and end devices 40a, 40b, 40c, and 40d. The time synchronization system 10 is a system in which the switches 30a to 30d and the end devices 40a to 40d are time-synchronized with the time indicated in a time synchronization frame transmitted from the time server 20a or the time server 20b. The time synchronization system 10 is a system used, for example, in the ECN of the in-train network described in the Background Art section, but is not limited to this and can be applied to other uses as well.

[0012] In the following description, when there is no need to distinguish between the time servers 20a and 20b, they will be referred to as time servers 20; when there is no need to distinguish between the switches 30a to 30d, they will be referred to as switches 30; and when there is no need to distinguish between the end devices 40a to 40d, they will be referred to as end devices 40. In the example of FIG. 1 , the time synchronization system 10 includes two time servers 20 and four switches 30 and end devices 40, but the number of each device is not limited to this. The time synchronization system 10 can include three or more time servers 20, and can include three or fewer or five or more switches 30 and end devices 40. The time synchronization system 10 has a redundant configuration including multiple time servers 20 that transmit time synchronization frames. In the first embodiment, a case will be described in which one of the time servers 20a and 20b transmits a time synchronization frame.

[0013] In the time synchronization system 10, a priority is set for each time server 20. The priority set for each time server 20 may be set in advance by an administrator of the time synchronization system 10 or may be uniquely set based on identification information such as a Media Access Control (MAC) address assigned to each time server 20 when the time synchronization system 10 is started up. Even when the priority set for each time server 20 is uniquely set based on identification information such as a MAC address, the administrator of the time synchronization system 10 or the like can assign a desired priority to a time server 20 at a certain location in the configuration of the time synchronization system 10 shown in FIG. 1 by understanding the priority setting pattern. In the example of FIG. 1, time server 20a is set as a primary time server 20 with a higher priority than time server 20b, and time server 20b is set as a secondary time server 20 with a lower priority than time server 20a.

[0014] In the time synchronization system 10, after startup, the time server 20 with the highest priority among the multiple active time servers 20 is selected based on the set priorities, which in the example of FIG. 1 is the primary time server 20a, and is designated as the active time server. In the first embodiment, the active time server is the time server 20 that transmits the time synchronization frame. Of the multiple time servers 20, a time server 20 other than the active time server, which in the example of FIG. 1 is the secondary time server 20b, is designated as the backup time server. In the first embodiment, the backup time server is the time server 20 that does not transmit the time synchronization frame. In this way, the multiple time servers 20 are composed of one active time server and backup time servers other than the active time server. In the first embodiment, the active time server is the specified time server 20 that transmits the time synchronization frame.

[0015] The time synchronization system 10 performs time synchronization between time servers 20 by having the active time server transmit a time synchronization frame and having the backup time server synchronize with the time indicated in the time synchronization frame transmitted from the active time server. After time synchronization between time servers 20 is performed, the time synchronization system 10 performs time synchronization between the active time server and the switch 30 and end device 40 by having the active time server transmit a time synchronization frame and having the switch 30 and end device 40 synchronize with the time indicated in the time synchronization frame transmitted from the active time server. After the end device 40 has synchronized with the active time server, it starts user traffic communication.

[0016] In the time synchronization system 10, the multiple time servers 20, i.e., the active time servers and the backup time servers, periodically synchronize time among themselves even after time synchronization between them has been performed after startup. This allows the time synchronization system 10 to avoid time jumps even when a failure occurs in the active time server and one of the backup time servers is switched to become the next active time server. Although the switch 30 and the end device 40 change the time server 20 that transmits the time synchronization frame, the next active time server is time-synchronized with the time server 20 that was the active time server before the switch, so time jumps can be avoided.

[0017] Furthermore, when the time server 20 that was the active time server returns to the time synchronization system 10, the time server 20 that was the active time server synchronizes its time with the current active time server and then returns to being the active time server. This allows the time synchronization system 10 to avoid a time jump even when the time server 20 that was the active time server returns. Although the switch 30 and end device 40 change the time server 20 that is the source of the time synchronization frame again, the returned active time server is time-synchronized with the time server 20 that was the active time server before the return, so a time jump can be avoided.

[0018] When the time synchronization system 10 is operating normally, the switch 30 and the end device 40 synchronize their time with the active time server 20, which is the time server 20 with the highest priority when the multiple time servers 20 are started up. If a failure occurs in the active time server, they synchronize their time with the next active time server 20, which is the time server 20 with the next highest priority. If a failure also occurs in the next active time server, the time synchronization system 10 will make the time server 20 with the highest priority among the time servers 20 currently operating as backup time servers the next active time server. Therefore, the switch 30 and the end device 40 synchronize their time with the time server 20 with the highest priority among the time servers 20 currently operating.

[0019] As described above, the time synchronization system 10 includes a plurality of time servers 20 capable of transmitting time synchronization frames, a switch 30 that synchronizes with the time indicated in the received time synchronization frame and transmits the time synchronization frame to other devices, and an end device 40 that synchronizes with the time indicated in the received time synchronization frame. The switch 30 transmits the time synchronization frame to at least one of the other devices, namely, the time server 20, the other switches 30, and the end device 40. After activation, the plurality of time servers 20 synchronize with the time indicated in the time synchronization frame transmitted from the active time server among the plurality of activated time servers 20, with the standby time servers other than the active time servers. Furthermore, the active time servers periodically transmit time synchronization frames, thereby periodically synchronizing the active and standby time servers among the plurality of time servers 20.

[0020] Next, the configuration of each device will be described. Fig. 2 is a diagram showing an example of the configuration of the time server 20 according to embodiment 1. The time server 20 includes a communication unit 21, a time synchronization frame reception processing unit 22, a storage unit 23, a time synchronization unit 24, and a time synchronization frame transmission processing unit 25.

[0021] The communication unit 21 has a plurality of ports, receives time synchronization frames from other time servers 20, and transmits time synchronization frames from its own time server 20.

[0022] The time synchronization frame reception processing unit 22 performs reception processing of a time synchronization frame transmitted from another time server 20. The time synchronization frame reception processing unit 22 extracts, for example, time information contained in the received time synchronization frame and identification information of the transmitting time server 20. The time synchronization frame reception processing unit 22 may store this extracted information in the storage unit 23 or output it to the time synchronization unit 24.

[0023] The storage unit 23 stores timer information for a plurality of timers with different expiration times. As described above, the time server 20 can be either an active time server or a standby time server depending on the priority set for it. Therefore, the storage unit 23 stores timer information for timers used when the local time server 20 is an active time server, and timer information for timers used when the local time server 20 is a standby time server. The storage unit 23 may store time information included in the time synchronization frame extracted by the time synchronization frame reception processing unit 22, identification information of the sending time server 20, etc.

[0024] The time synchronization unit 24 controls the transmission of time synchronization frames from the local time server 20, i.e., the time synchronization frame transmission processing unit 25. The time synchronization unit 24 also performs time synchronization using a timer corresponding to the local time server 20, i.e., a timer used when the local time server 20 is an active time server or a timer used when the local time server 20 is a standby time server. After the multiple time servers 20 are started, the time synchronization unit 24 performs time synchronization so that, at the time indicated in a time synchronization frame transmitted from an active time server among the multiple started time servers 20, a standby time server other than the active time server among the multiple started time servers 20 is time synchronized, and the active time server periodically transmits a time synchronization frame, thereby periodically synchronizing the active time server and the standby time server.

[0025] The time synchronization frame transmission processing unit 25 performs a transmission process of a time synchronization frame to be transmitted from its own time server 20 based on the control from the time synchronization unit 24 .

[0026] 3 is a diagram illustrating an example of the configuration of the switch 30 according to embodiment 1. The switch 30 includes a frame reception processing unit 31, a time synchronization frame reception processing unit 32, a storage unit 33, a time synchronization unit 34, a time synchronization frame transmission processing unit 35, a main signal frame reception processing unit 36, a demultiplexing unit 37, and a frame transmission processing unit 38.

[0027] The frame reception processing unit 31 receives a time synchronization frame transmitted from the time server 20. The frame reception processing unit 31 also receives a data frame of user traffic communication transmitted from the end device 40. The frame reception processing unit 31 outputs the time synchronization frame to the time synchronization frame reception processing unit 32, and outputs the data frame to the main signal frame reception processing unit 36.

[0028] The time synchronization frame reception processing unit 32 performs reception processing of the time synchronization frame transmitted from the time server 20. The time synchronization frame reception processing unit 32 extracts, for example, time information contained in the received time synchronization frame and identification information of the transmitting time server 20. The time synchronization frame reception processing unit 32 may store this extracted information in the storage unit 33, or may output it to the time synchronization unit 34.

[0029] The storage unit 33 stores timer information for a plurality of timers with different expiration times. The storage unit 33 also stores timer information for timers with specified periods for switching one of the ports set as a passive port to the slave port setting when a time synchronization frame is not received at the slave port for the specified period. The storage unit 33 may store information such as the time included in the time synchronization frame extracted by the time synchronization frame reception processing unit 32, and identification information of the transmission source time server 20.

[0030] The time synchronization unit 34 synchronizes the time with the time indicated in the received time synchronization frame using a timer corresponding to the time server 20 that is the sender of the time synchronization frame.

[0031] The time synchronization frame transmission processing unit 35 performs a transmission process of the time synchronization frame used for time synchronization by the time synchronization unit 34 .

[0032] The main signal frame reception processing unit 36 ​​performs reception processing of data frames transmitted from the end device 40 .

[0033] The demultiplexing unit 37 performs demultiplexing, ie, processing like an L2 switch, on the data frames transmitted from the end device 40 .

[0034] The frame transmission processing unit 38 transmits, that is, transfers, from a specified port, the time synchronization frame acquired from the time synchronization frame transmission processing unit 35 and the data frame acquired from the demultiplexing unit 37 .

[0035] 4 is a diagram illustrating an example of the configuration of the end device 40 according to embodiment 1. The end device 40 includes a communication unit 41, a time synchronization frame reception processing unit 42, a storage unit 43, a time synchronization unit 44, and a main signal frame transmission processing unit 45.

[0036] The communication unit 41 has a plurality of ports, receives a time synchronization frame from the time server 20 , and transmits a data frame from the main signal frame transmission processing unit 45 .

[0037] The time synchronization frame reception processing unit 42 performs reception processing of the time synchronization frame transmitted from the time server 20. The time synchronization frame reception processing unit 42 extracts, for example, time information contained in the received time synchronization frame and identification information of the transmitting time server 20. The time synchronization frame reception processing unit 42 may store this extracted information in the storage unit 43, or may output it to the time synchronization unit 44.

[0038] The storage unit 43 holds timer information for a plurality of timers with different expiration times. The storage unit 43 may store information on the time included in the time synchronization frame extracted by the time synchronization frame reception processing unit 42, identification information of the transmission source time server 20, and the like.

[0039] The time synchronization unit 44 synchronizes the time with the time indicated in the received time synchronization frame using a timer corresponding to the time server 20 that is the sender of the time synchronization frame.

[0040] The main signal frame transmission processing unit 45 performs a transmission process of a data frame. The data frame includes, for example, information indicating the state of the end device 40, the results of arithmetic processing performed by the end device 40, and the like.

[0041] Next, the operation of the time server 20 will be described. In the first embodiment, the time synchronization profile of IEEE (Institute of Electrical and Electronics Engineers) 802.1AS (gPTP (generalized Precision Time Protocol)) is assumed, and therefore the time synchronization frames transmitted by the time server 20 are Sync messages and Follow_up messages. However, the time synchronization profile is not limited to gPTP, and any time synchronization profile using IEEE 1588 PTP (Precision Time Protocol) frames, or a time synchronization profile using an extended IEEE 1588 PTP frame, can be applied to the time synchronization system 10. Furthermore, the time synchronization method can be either a two-step method using transmission and reception of Sync messages and Follow_up messages, or a one-step method. The delay measurement method is not particularly limited. In the time synchronization system 10, the time server 20 does not need to be compatible with BMCA. Similarly, the switch 30 and the end device 40 do not need to be BMCA compatible. In the first embodiment, the time servers 20a and 20b belong to the same clock domain.

[0042] In the first embodiment, the following cases are assumed for the states of the primary time server 20a and the secondary time server 20b. Case 1 (when the time synchronization system 10 is started): The primary time server 20a becomes the active time server, and the secondary time server 20b becomes the standby time server. Case 2 (when a failure occurs due to a breakdown in the primary time server 20a): The secondary time server 20b becomes the active time server. Case 3 (when the failure is recovered by the recovery of the primary time server 20a): The primary time server 20a becomes the active time server, and the secondary time server 20b becomes the standby time server. Note that in case 3, it is assumed that the primary time server 20a returns to the active time server and the secondary time server 20b transitions to the standby time server, but it is also possible for the primary time server 20a to become the standby time server even after recovery, and for the secondary time server 20b to continue operating as the active time server. In other words, when a time server 20a having a higher priority than the current active time server returns to the time synchronization system 10, it can synchronize its time with the time of the time server 20b, which is the current active time server, and then return as a backup time server.

[0043] Fig. 5 is a flowchart showing the operation of the time server 20 according to the first embodiment. Hereinafter, the following five patterns will be specifically described using the flowchart shown in Fig. 5. Pattern 1: Case 1a, which is the operation of the primary time server 20a when the time synchronization system 10 is started. Pattern 2: Case 1b, which is the operation of the secondary time server 20b when the time synchronization system 10 is started. Pattern 3: Case 2, which is the operation of the secondary time server 20b when a failure occurs in the time synchronization system 10. Pattern 4: Case 3a, which is the operation of the primary time server 20a when the time synchronization system 10 is restored from the failure. Pattern 5: Case 3b, which is the operation of the secondary time server 20b when the time synchronization system 10 is restored from the failure.

[0044] Here, in the time synchronization system 10, it is assumed that only single failures occur, such as a failure of the switch 30 or a link break. In other words, the time synchronization system 10 does not consider multiple failures, in which failures occur simultaneously at multiple locations. Furthermore, in a ring-connected configuration of the switches 30 as shown in FIG. 1 , even if a single failure occurs, such as a failure of the switch 30 or a link break, time synchronization frames can be transmitted and received between the time servers 20a and 20b via a detour path, and the behavior of the primary time server 20a and the secondary time server 20b does not change. Therefore, cases in which a single failure occurs, such as a failure of the switch 30 or a link break, are not described. As a prerequisite, the expiration times of the timers used for the active time server and the standby time server are set to satisfy the following formulas (1) and (2). In formulas (1) and (2), E2E stands for End to End.

[0045] Time synchronization frame transmission period + E2E delay between time servers 20 of time synchronization frame < expiration time of the active timer for the active time server (1)

[0046] Expiration time of the active timer for the active time server + time synchronization frame transmission period + E2E delay of the time synchronization frame between the time servers 20 < expiration time of the standby timer for the standby time server ... (2)

[0047] First, we will describe the operation of the primary time server 20a when the time synchronization system 10 is started as Pattern 1: Case 1a. After startup, the time synchronization unit 24 of the primary time server 20a has its priority set to primary (step S100: Yes), so it starts the active timer based on the timer information stored in the storage unit 23 (step S101a). The time synchronization unit 24 waits until the active timer expires (step S101b: No). When the active timer expires (step S101b: Yes), it checks whether a time synchronization frame has been received from another time server 20b (step S103). If formula (1) is satisfied and no time synchronization frame has been received in step S103, it is determined that the time synchronization system 10 is starting up, i.e., the secondary time server 20b is not operating as an active time server.

[0048] In this case, since the time synchronization unit 24 has not received a time synchronization frame from another time server 20b (step S103: No), it sets the active / standby parameters to the active system (step S104). However, since the primary time server 20a is already set to the active system at this point, no special action is taken in this step S104. The time synchronization unit 24 operates on its own clock or synchronizes with an external clock source (step S105). The external clock source may be, for example, a Global Navigation Satellite System (GNSS), but is not limited thereto. The time synchronization unit 24 controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame including time information based on the clock of step S105 as the time source from the time synchronization frame transmission processing unit 25 via the communication unit 21 (step S106). At this time, the time synchronization unit 24 starts a time synchronization frame transmission period timer based on the timer information stored in the storage unit 23.

[0049] Since the active / standby parameter is active (step S110: Yes), the time synchronizer 24 waits until the time synchronization frame transmission period timer expires (step S111: No). When the time synchronization frame transmission period timer expires (step S111: Yes), the time synchronizer 24 checks whether a time synchronization frame has been received from another time server 20b (step S103). As long as the primary time server 20a is operating as the active time server, the time synchronizer 24 branches to step S103: No. Thereafter, the above-described operations are repeated.

[0050] Next, we will explain the operation of the secondary time server 20b when the time synchronization system 10 is started as Pattern 2: Case 1b. After startup, the time synchronization unit 24 of the secondary time server 20b has its priority set to secondary (step S100: No), so it starts the standby timer based on the timer information stored in the storage unit 23 (step S102a). The time synchronization unit 24 waits until the standby timer expires (step S102b: No). When the standby timer expires (step S102b: Yes), it checks whether a time synchronization frame has been received from another time server 20a (step S103). If formula (2) is satisfied, the secondary time server 20b will receive the time synchronization frame transmitted from the primary time server 20a.

[0051] In this case, the time synchronization unit 24 has received a time synchronization frame from another time server 20a (step S103: Yes), so it synchronizes with the time of the other time server 20a indicated in the received time synchronization frame, i.e., the primary time server 20a (step S107). Since the priority setting of its own time server 20b, i.e., the time synchronization unit 24's time server 20b, is secondary (step S108: No), the time synchronization unit 24 sets the active / standby parameter to standby (step S109). However, since the secondary time server 20b is already set to standby at this point, no special action is taken in this step S109. Since the active / standby parameter is standby (step S110: No), the time synchronization unit 24 returns to step S102a. The above-described operations are then repeated.

[0052] Next, we will explain the operation of the secondary time server 20b when a failure occurs in the time synchronization system 10 as Pattern 3: Case 2. After startup, the time synchronization unit 24 of the secondary time server 20b has its priority set to secondary (step S100: No), so it starts the standby timer based on the timer information stored in the storage unit 23 (step S102a). The time synchronization unit 24 waits until the standby timer expires (step S102b: No). When the standby timer expires (step S102b: Yes), it checks whether it has received a time synchronization frame from another time server 20a (step S103). When the active time server, which is the primary time server 20a, fails, the standby time server, which is the secondary time server 20b, will no longer receive time synchronization frames from the other time servers 20a.

[0053] In this case, the time synchronization unit 24 has not received a time synchronization frame from another time server 20a (step S103: No), so it sets the active / standby parameter to the active system (step S104). The time synchronization unit 24 operates on its own clock or synchronizes with an external clock source (step S105). The time synchronization unit 24 controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame including time information based on the clock of step S105 as the time source from the time synchronization frame transmission processing unit 25 via the communication unit 21 (step S106). At this time, the time synchronization unit 24 starts the time synchronization frame transmission period timer based on the timer information stored in the storage unit 23. Since the active / standby parameter is active (step S110: Yes), the time synchronizer 24 waits until the time synchronization frame transmission period timer expires (step S111: No). When the time synchronization frame transmission period timer expires (step S111: Yes), the time synchronizer 24 checks whether a time synchronization frame is being received from another time server 20a (step S103). As long as the primary time server 20a is faulty, the time synchronizer 24 branches to step S103: No. Thereafter, the above-described operations are repeated.

[0054] Next, we will explain the operation of the primary time server 20a when the time synchronization system 10 recovers from a failure as Pattern 4: Case 3a. After startup, the time synchronization unit 24 of the primary time server 20a has its priority set to primary (step S100: Yes), so it starts the active timer based on the timer information stored in the storage unit 23 (step S101a). The time synchronization unit 24 waits until the active timer expires (step S101b: No). When the active timer expires (step S101b: Yes), it checks whether a time synchronization frame has been received from another time server 20b (step S103). If formula (1) is satisfied, and the secondary time server 20b is operating as the active time server, the primary time server 20a will receive the time synchronization frame transmitted from the secondary time server 20b.

[0055] In this case, the time synchronization unit 24 receives a time synchronization frame from another time server 20b (step S103: Yes), so it synchronizes with the time of the other time server 20b, i.e., the secondary time server 20b, indicated in the received time synchronization frame (step S107). Since the priority setting of its own time server 20a is primary (step S108: Yes), the time synchronization unit 24 sets the active / standby parameter to active (step S104). The time synchronization unit 24 operates on its own clock or synchronizes with an external clock source (step S105). The time synchronization unit 24 controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame including time information based on the clock of step S105 as the time source from the time synchronization frame transmission processing unit 25 via the communication unit 21 (step S106). At this time, the time synchronization unit 24 starts the time synchronization frame transmission period timer based on the timer information stored in the storage unit 23.

[0056] Since the active / standby parameter is active (step S110: Yes), the time synchronizer 24 waits until the time synchronization frame transmission period timer expires (step S111: No). When the time synchronization frame transmission period timer expires (step S111: Yes), the time synchronizer 24 checks whether a time synchronization frame has been received from another time server 20b (step S103). As long as the primary time server 20a is operating as the active time server, the time synchronizer 24 branches to step S103: No. Thereafter, the above-described operations are repeated.

[0057] Next, we will explain the operation of the secondary time server 20b when the time synchronization system 10 recovers from a failure as Pattern 5: Case 3b. After startup, the time synchronization unit 24 of the secondary time server 20b has its priority set to secondary (step S100: No), so it starts the standby timer based on the timer information stored in the storage unit 23 (step S102a). The time synchronization unit 24 waits until the standby timer expires (step S102b: No). When the standby timer expires (step S102b: Yes), it checks whether a time synchronization frame has been received from another time server 20a (step S103). When the primary time server 20a recovers, the secondary time server 20b receives the time synchronization frame transmitted from the primary time server 20a.

[0058] In this case, the time synchronization unit 24 has received a time synchronization frame from another time server 20a (step S103: Yes), so it synchronizes with the time of the other time server 20a indicated in the received time synchronization frame, i.e., the primary time server 20a (step S107). Since the priority setting of its own time server 20b, i.e., the time synchronization unit 24, is secondary (step S108: No), the time synchronization unit 24 sets the active / standby parameter to standby (step S109). Since the active / standby parameter is standby (step S110: No), the time synchronization unit 24 returns to step S102a. The above-described operations are then repeated.

[0059] In this way, if a standby time server does not receive a time synchronization frame from the active time server between the start and expiration of a standby timer that has a longer expiration time than the active timer used when the standby time server is the active time server, it determines that a failure has occurred in the current active time server and sets the standby time server with the highest priority among the standby time servers as the next active time server. When a time server 20a with a higher priority than the current active time server returns to the time synchronization system 10, it synchronizes its time with the time of the current active time server before returning to the active time server. When the time server 20b that was the current active time server receives a time synchronization frame from the restored active time server, it returns to the setting of a standby time server.

[0060] Specifically, in the time server 20, the time synchronization unit 24 controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame when the time server 20 is the active time server and not transmit a time synchronization frame when the time server 20 is the standby time server. Furthermore, when the time synchronization unit 24 is the standby time server, if it does not receive a time synchronization frame from the active time server between the start and expiration of a standby timer that has a longer expiration time than the active timer used when the time server 20 is the active time server, it determines that a failure has occurred in the current active time server and sets the standby time server with the highest priority among the standby time servers as the next active time server. Furthermore, when the time synchronization unit 24 returns to the time synchronization system 10 when it is a time server 20 with a higher priority than the current active time server, it synchronizes its time with the time of the current active time server before returning to the active time server. However, when it was the time server 20 that was the current active time server, it receives a time synchronization frame from the restored active time server and returns to the standby time server setting.

[0061] Next, the operation of the switch 30 will be described. In the switch 30, the storage unit 33 stores identifiers of the primary time server 20a and the secondary time server 20b. The identifiers are, for example, but not limited to, MAC addresses assigned to each time server 20. The time synchronization system 10 may use identifiers other than MAC addresses as long as they can uniquely identify each time server 20. The storage unit 33 also stores sync tree information. The time synchronization unit 34 measures delays between the switch 30 itself and adjacent devices. As shown in FIG. 1 , the adjacent devices are at least one of the time server 20, other switches 30, and end devices 40. The time synchronization unit 34 also synchronizes with the time indicated in the time synchronization frame received from the time server 20 and stores the time. The frame reception processing unit 31 also sets one of the ports that receive the time synchronization frame transmitted from the active time server as a slave port and the other ports as passive ports. As described above, the active time server is time server 20a when the time synchronization system 10 is operating normally, but may become time server 20b when a failure occurs in the time synchronization system 10. When a network failure such as a failure of another switch 30 or a link disconnection occurs in the time synchronization system 10, the frame reception processing unit 31 switches one of the ports set as a passive port to the slave port setting if it is unable to receive a time synchronization frame at the slave port for a specified period of time.

[0062] 6 is a state transition diagram illustrating the operation of the switch 30 according to the first embodiment. After startup, the switch 30 performs initialization processing in the initial state (step S201). After the initialization processing in the initial state (step S202), the switch 30 transitions to the pre-synchronization attempt state (step S203). Upon transitioning to the pre-synchronization attempt state, the time synchronization unit 34 of the switch 30 starts a timer T1 for controlling the time synchronization frame reception timeout in the pre-synchronization attempt state (step S203). If the time synchronization unit 34 receives a time synchronization frame P from the primary time server 20a before the timer T1 expires (step S204), it synchronizes with the time of the sender of the received time synchronization frame P, i.e., the primary time server 20a, and transitions to the primary-side synchronization state as the next state (step S205). Alternatively, if the time synchronizer 34 receives a time synchronization frame S from the secondary time server 20b before the timer T1 expires (step S206), it synchronizes with the time of the sender of the received time synchronization frame S, i.e., the secondary time server 20b, and transitions to the secondary-side synchronized state as the next state (step S207). Note that if the timer T1 expires (step S208), the time synchronizer 34 transitions to the unsynchronized state as the next state (step S209).

[0063] When the time synchronization unit 34 transitions to the primary-side synchronization state, it starts timer T2, which controls the timeout for receiving a time synchronization frame P in the primary-side synchronization state (step S205). As part of its normal operation in the primary-side synchronization state, the switch 30 transmits and receives data frames containing user data and performs calculations based on the data frame transmission and reception. If the time synchronization unit 34 receives a time synchronization frame P from the primary time server 20a before timer T2 expires, it synchronizes with the time of the sender of the received time synchronization frame P, i.e., the primary time server 20a (step S210) and transitions to the current state (step S205). When timer T2 expires (step S211), the time synchronization unit 34 transitions to the secondary-side synchronization state as the next state (step S207). This corresponds to a situation in which the primary time server 20a is not operating due to a malfunction or other reason. As described above, the secondary time server 20b is constantly time-synchronized with the primary time server 20a. Therefore, even if the switch 30 changes the target for time synchronization from the primary time server 20a to the secondary time server 20b, the occurrence of time jumps is suppressed.

[0064] When the time synchronization unit 34 transitions to the secondary-side synchronization state, it starts timer T3, which controls the timeout for receiving the time synchronization frame S in the secondary-side synchronization state (step S207). The switch 30 performs steady-state operations in the secondary-side synchronization state, such as transmitting and receiving data frames and performing calculations based on the data frame transmission and reception. If the time synchronization unit 34 receives a time synchronization frame S from the secondary time server 20b before timer T3 expires, it synchronizes with the time of the source of the received time synchronization frame S, i.e., the secondary time server 20b (step S212), and transitions to the current state (step S207). If the time synchronization unit 34 receives a time synchronization frame P from the primary time server 20a before timer T3 expires, it synchronizes with the time of the source of the received time synchronization frame P, i.e., the primary time server 20a (step S213), and transitions to the primary-side synchronization state as the next state (step S205). This is a situation in which the primary time server 20a, which was out of operation due to a failure or other reason, recovers and returns to being the active time server. As described above, the primary time server 20a is synchronized with the secondary time server 20b, which was operating as the active time server in the pre-synchronization attempt state. Therefore, even if the switch 30 changes the target for time synchronization from the secondary time server 20b to the primary time server 20a, the occurrence of time jumps is suppressed. When timer T3 expires (step S214), the time synchronizer 34 transitions to the synchronization failure state as the next state (step S209). This is a situation in which neither the primary time server 20a nor the secondary time server 20b is operating due to a malfunction or other reason.

[0065] In this way, in the switch 30, the time synchronization unit 34 synchronizes time to the time indicated in the time synchronization frame transmitted from the active time server. The frame reception processing unit 31 sets one of the ports that receive the time synchronization frame transmitted from the same time server 20 as a slave port, and sets the other ports as passive ports. If the frame reception processing unit 31 does not receive a time synchronization frame at the slave port for a specified period, it switches one of the ports set as a passive port to the slave port setting.

[0066] Next, the operation of the end device 40 will be described. In the end device 40, the storage unit 43, like the storage unit 33 of the switch 30, stores the identifiers of the primary time server 20a and the secondary time server 20b. The time synchronization unit 44 measures the delay between the end device 40 itself and an adjacent device. As shown in FIG. 1, the adjacent device is the switch 30. The time synchronization unit 44 also synchronizes with the time indicated in the time synchronization frame received from the time server 20 and stores the time. Note that the transition of the operating state in the end device 40 is similar to the transition of the operating state in the switch 30 shown in FIG. 6 . Therefore, a description of the transition of the operating state in the end device 40 will be omitted. In the end device 40, the time synchronization unit 44 synchronizes with the time indicated in the time synchronization frame transmitted from the active time server.

[0067] Next, the hardware configuration of the time server 20 will be described. In the time server 20, the communication unit 21 is a communication interface. The storage unit 23 is a memory. The time synchronization frame reception processing unit 22, the time synchronization unit 24, and the time synchronization frame transmission processing unit 25 are realized by processing circuits. The processing circuit may be a processor and memory that executes a program stored in memory, or may be dedicated hardware.

[0068] FIG. 7 is a diagram showing an example in which the processing circuit 90 included in the time server 20 according to the first embodiment is configured with a processor 91 and a memory 92. When the processing circuit 90 is configured with the processor 91 and the memory 92, each function of the processing circuit 90 of the time server 20 is realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in the memory 92. In the processing circuit 90, each function is realized by the processor 91 reading and executing the program stored in the memory 92. That is, the processing circuit 90 includes the memory 92 for storing the program that will result in the processing of the time server 20 being executed. It can also be said that these programs cause a computer to execute the procedures and methods of the time server 20.

[0069] The above program includes a time synchronization frame reception processing step in which the time synchronization frame reception processing unit 22 performs reception processing of a time synchronization frame transmitted from another time server 20, a time synchronization frame transmission processing step in which the time synchronization frame transmission processing unit 25 performs transmission processing of a time synchronization frame to be transmitted from its own time server 20, and a time synchronization step in which the time synchronization unit 24 controls the transmission of the time synchronization frame from its own time server 20 and performs time synchronization using a timer corresponding to its own time server 20.In the time synchronization step, the time synchronization unit 24 can also be said to be a program that causes the time server 20 to execute the following: after the multiple time servers 20 are started, at the time indicated in the time synchronization frame transmitted from the active time server among the multiple time servers 20 that are started, the backup time servers other than the active time servers among the multiple time servers 20 that are started are time synchronized, and the active time servers periodically transmit time synchronization frames so that the active time servers and the backup time servers are periodically time synchronized.

[0070] Here, the processor 91 may be a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor), etc. The memory 92 may be, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), or an EEPROM (Electrically EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a DVD (Digital Versatile Disc).

[0071] 8 is a diagram showing an example in which the processing circuit 93 included in the time server 20 according to the first embodiment is configured with dedicated hardware. When the processing circuit 93 is configured with dedicated hardware, the processing circuit 93 shown in FIG. 8 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination thereof. Each function of the time server 20 may be realized by the processing circuit 93 separately, or all functions may be realized collectively by the processing circuit 93.

[0072] It should be noted that some of the functions of the time server 20 may be realized by dedicated hardware and some by software or firmware. In this way, the processing circuit can realize each of the above-mentioned functions by dedicated hardware, software, firmware, or a combination of these.

[0073] The hardware configuration of the time server 20 has been described above, but the switch 30 and the end device 40 also have similar hardware configurations. In the switch 30, the frame reception processing unit 31 and the frame transmission processing unit 38 are communication interfaces. The storage unit 33 is a memory. The time synchronization frame reception processing unit 32, the time synchronization unit 34, the time synchronization frame transmission processing unit 35, the main signal frame reception processing unit 36, and the demultiplexing unit 37 are realized by processing circuits. The processing circuits may be a processor and memory that execute programs stored in memory, or may be dedicated hardware. In the end device 40, the communication unit 41 is a communication interface. The storage unit 43 is a memory. The time synchronization frame reception processing unit 42, the time synchronization unit 44, and the main signal frame transmission processing unit 45 are realized by processing circuits. The processing circuits may be a processor and memory that execute programs stored in memory, or may be dedicated hardware.

[0074] As described above, according to this embodiment, in the time synchronization system 10, after startup, the multiple time servers 20 determine an active time server based on preset priorities, and the other time servers 20, which are backup time servers, synchronize with the time of the active time server. The active time server then transmits a time synchronization frame to the switch 30 and the end device 40, thereby performing time synchronization between the active time server and the switch 30 and the end device 40. After time synchronization of each device within the time synchronization system 10 has been performed, the end device 40 begins user traffic communication. Furthermore, the multiple time servers 20 periodically perform time synchronization among themselves even after startup.

[0075] As a result, even if a single network failure occurs, such as a failure of the time server 20, a failure of the switch 30, a cable break, or a device port failure, the time synchronization system 10 allows the switch 30 and the end device 40 to continue time synchronization with the time server 20 without time skips. The time synchronization system 10 has a simple configuration and can reduce the occurrence of time skips when a failure occurs. Because the time synchronization system 10 is configured to set priorities in advance for multiple time servers 20, there is no limit to the number of time servers 20, and system modifications such as replacing or adding time servers 20 can be easily made.

[0076] Embodiment 2. In the first embodiment, a case where one of the time servers 20a and 20b transmits a time synchronization frame has been described. In the second embodiment, a case where both the time servers 20a and 20b transmit time synchronization frames regardless of whether they are active time servers or standby time servers will be described. That is, in the second embodiment, the active time server and the standby time server transmit time synchronization frames as the specified time servers 20.

[0077] In the second embodiment, the configurations of the time synchronization system 10, the time server 20, the switch 30, and the end device 40 are the same as those of the time synchronization system 10, the time server 20, the switch 30, and the end device 40 in the first embodiment shown in Figures 1 to 4. In the first embodiment, only one of the time servers 20a, 20b, which is the active system, transmitted the time synchronization frame, so there was no problem in the time synchronization system 10 even if the time servers 20a, 20b used the same clock domain. In contrast, in the second embodiment, the time servers 20a, 20b transmit the time synchronization frame, so the switch 30 and the end device 40 that receive the time synchronization frame need to distinguish from which time server 20 the time synchronization frame was transmitted.

[0078] There are two methods for the switch 30 and the end device 40 to determine the time server 20 that is the sender of the time synchronization frame: The first method is for the primary time server 20a and the secondary time server 20b to have different clock domains. Here, the primary time server 20a and the secondary time server 20b have different clock domains primarily for the purpose of distinguishing the sender of the time synchronization frame, and is not intended to allow multiple clock domains with different precision or offsets to coexist in the time synchronization system 10. The second method is for the primary time server 20a and the secondary time server 20b to have the same clock domain but be configured in different virtual local area networks (VLANs).

[0079] 9 is a diagram showing an example of the path of a time synchronization frame when the time server 20 that is the sender of the time synchronization frame is determined by the clock domain in the time synchronization system 10 according to the second embodiment. In FIG. 9, the master port is a port used in the device that sends the time synchronization frame, and the slave port and passive port are the same as the slave port and passive port described in the first embodiment. The same applies to FIG. 10 described below. The primary time server 20a uses the clock domain CD_P, and the secondary time server 20b uses the clock domain CD_S. The ports of each switch 30 are statically configured to form a clock hierarchy in which the time server 20a is the master clock in the clock domain CD_P, and the time server 20b is the master clock in the clock domain CD_S. In the dual-homing end device 40, the destination address DST_P for the time synchronization frame of the clock domain CD_P is set at port p1 and the time synchronization frame of the clock domain CD_P is received, and the destination address DST_S for the time synchronization frame of the clock domain CD_S is set at port p2 and the time synchronization frame of the clock domain CD_S is received, according to the clock hierarchy setting of each switch 30. The end device 40 determines the time server 20 that is the sender of the received time synchronization frame based on the clock domain of the time synchronization frame or the port that received the time synchronization frame.

[0080] FIG. 10 is a diagram showing an example of the path of a time synchronization frame when the time server 20 that is the sender of the time synchronization frame is identified by VLAN identification information in the time synchronization system 10 according to the second embodiment. The primary time server 20a and the secondary time server 20b use the same clock domain. The end device 40 in the dual-homing configuration receives the time synchronization frame by assigning port p1 to VLAN VID_P and port p2 to VLAN VID_S. In addition, in each switch 30, the access ports connected to the end device 40 in the dual-homing configuration are assigned to the corresponding VLANs. The ports of each time server 20 are assigned to both VLAN VID_P and VLAN VID_S. When transmitting a time synchronization frame, the primary time server 20a uses a port that belongs to VLAN VID_P, and the secondary time server 20b uses a port that belongs to VLAN VID_S. The end device 40 determines the time server 20 that is the source of the received time synchronization frame based on the VLAN ID of the time synchronization frame or the port through which the time synchronization frame was received.

[0081] In either method, the operation of the time server 20 of embodiment 2 differs only in the method of setting identification information when transmitting a time synchronization frame, and other operations are the same as those of the time server 20 of embodiment 1. Also, in either method, the operation of the switch 30 and end device 40 of embodiment 2 differs only in the method of determining the sender of a received time synchronization frame, and other operations are the same as those of the switch 30 and end device 40 of embodiment 1.

[0082] In the second embodiment, the IEEE 802.1AS (gPTP) time synchronization profile is also assumed, and therefore the time synchronization frames transmitted by the time server 20 are Sync messages and Follow_up messages. However, the time synchronization profile is not limited to gPTP, and any time synchronization profile using IEEE 1588 PTP frames, or a time synchronization profile using an extended IEEE 1588 PTP frame, can be applied to the time synchronization system 10. Furthermore, the time synchronization method can be either a two-step method using transmission and reception of Sync messages and Follow_up messages, or a one-step method, and can be applied to the time synchronization system 10. The delay measurement method is not particularly limited.

[0083] The following describes the operations of the time server 20, the switch 30, and the end device 40 using a state transition diagram. The operations of each device are further described for the case where the primary time server 20a does not return as an active time server when it is restored after a failure, and for the case where the primary time server 20a returns as an active time server when it is restored after a failure.

[0084] First, the operation of the time server 20 will be described. FIG. 11 is a state transition diagram showing the operation of the time server 20 according to the second embodiment when the primary time server 20a does not return to the active time server upon recovery. In the time server 20, the time synchronization unit 24 performs initial processing in the initial state after startup (step S301). Specifically, as part of the initial processing, the time synchronization unit 24 sets its own priority to primary or secondary. If the priority is primary (step S302), the time synchronization unit 24 transitions to a primary pre-synchronization attempt state (step S303). The primary pre-synchronization attempt state is a state in which the primary time server 20a first attempts time synchronization with the secondary time server 20b when the primary time server 20a is started while the secondary time server 20b is already operating. If the priority is other than primary (step S304), the time synchronization unit 24 transitions to a secondary pre-synchronization attempt state (step S305). The secondary pre-synchronization attempt state is a state in which, when the secondary time server 20b is started, the secondary time server 20b checks whether the primary time server 20a is already operating.

[0085] When the time synchronization unit 24 transitions to the primary pre-synchronization attempt state, it starts timer M for controlling the timeout of the reception of the active system time synchronization frame (step S303). Timer M for controlling the timeout of the reception of the active system time synchronization frame satisfies the same constraints as the active system timer in embodiment 1. If the time synchronization unit 24 receives a time synchronization frame from another time server 20 before timer M expires, it synchronizes with the time of the sender of the received time synchronization frame (step S306) and transitions to the standby system steady state (step S307). The synchronization process in step S306 prevents time jumps when the primary time server 20a temporarily stops operating due to a failure or other reason, recovers, and returns to the active system time server. When timer M expires (step S308), the time synchronization unit 24 transitions to the active system steady state (step S309).

[0086] When the time synchronization unit 24 transitions to the active system steady state, it starts a timer M for controlling the timeout of the active system time synchronization frame reception in the active system steady state (step S309). The time synchronization unit 24 operates on its own clock, or synchronizes with an external clock source if configured with an external clock source. The time synchronization unit 24 also transmits a time synchronization frame according to its own priority. When the time synchronization unit 24 identifies the time server 20 by clock domain, if its own priority is primary, it controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame in the clock domain CD_P, and if its own priority is not primary, it controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame in the clock domain CD_S. When the timer M expires (step S310), the time synchronization unit 24 transitions to the current state (step S309).

[0087] When the time synchronization unit 24 transitions to the secondary pre-synchronization attempt state, it starts timer B for backup system time synchronization frame reception timeout control (step S305). Timer B for backup system time synchronization frame reception timeout control satisfies the same constraints as the backup system timer in embodiment 1. If the time synchronization unit 24 receives a time synchronization frame from another time server 20 before timer B expires, it synchronizes with the time of the sender of the received time synchronization frame (step S311) and transitions to the backup system steady state (step S307). When timer B expires (step S312), the time synchronization unit 24 transitions to the active system steady state (step S309).

[0088] When the time synchronization unit 24 transitions to the standby system steady state, it starts timer B, which controls the standby system time synchronization frame reception timeout (step S307). The time synchronization unit 24 also controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame according to its own priority. If the time synchronization unit 24 receives a time synchronization frame from another time server 20 before timer B expires, it synchronizes with the time of the sender of the received time synchronization frame (step S313) and transitions to the current state (step S307). The synchronization process in step S313 prevents time jumps when the primary time server 20a becomes inoperable due to a failure or other reason and the secondary time server 20b takes over as the active system time server. When timer B expires (step S314), the time synchronization unit 24 transitions to the active system steady state as the next state (step S309). This is a situation in which the primary time server 20a becomes inoperable due to a failure or other reason and the secondary time server 20b takes over as the active system time server.

[0089] 12 is a state transition diagram showing the operation of the time server 20 according to the second embodiment when the primary time server 20a returns to being the active time server upon recovery. The state transition diagram of FIG. 12 differs from step S306 in the state transition diagram of FIG. 11 in the transition destination of step S306a. In the state transition diagram of FIG. 11, when the time synchronization unit 24 receives a time synchronization frame from another time server 20 before timer M expires, it synchronizes with the time of the source of the received time synchronization frame (step S306) and transitions to the standby system steady state (step S307). In contrast, in the state transition diagram of FIG. 12, when the time synchronization unit 24 receives a time synchronization frame from another time server 20 before timer M expires, it synchronizes with the time of the source of the received time synchronization frame (step S306a) and transitions to the active system steady state (step S309). Furthermore, when the time synchronizer 24 receives a time synchronization frame from another time server 20 before the timer M expires in the active system steady state (step S309), if its own priority is not primary, it synchronizes with the time of the sender of the received time synchronization frame (step S315) and transitions to the standby system steady state as the next state (step S307). Other operations are the same in the state transition diagram of FIG. 11 and the state transition diagram of FIG. 12.

[0090] Next, the operation of the switch 30 and the end device 40 will be described. The operation of the switch 30 and the end device 40 when the primary time server 20a returns to the active time server upon recovery is the same as the operation in the state transition diagram shown in FIG. 6 described in the first embodiment. Therefore, the description of the operation of the switch 30 and the end device 40 when the primary time server 20a returns to the active time server upon recovery will be omitted. FIG. 13 is a state transition diagram showing the operation of the switch 30 and the end device 40 according to the second embodiment when the primary time server 20a does not return to the active time server upon recovery. The state transition diagram in FIG. 13 differs from steps S211, S213, and S214 in the state transition diagram in FIG. 6 in that the transition destinations of steps S211a, S211b, S213a, and S213b are different. Since the operation of the switch 30 and the operation of the end device 40 are the same, the following description will be given using the switch 30 as an example.

[0091] In the switch 30, when timer T2 expires in the primary-side synchronized state (step S205), the time synchronizer 34 transitions to the secondary-side synchronized state as the next state (step S207) if timer T3 has not expired (step S211a). When timer T2 expires in the primary-side synchronized state (step S205), the time synchronizer 34 transitions to the unsynchronized state as the next state (step S209) if timer T3 has also expired (step S211b). Timer T3 expires when the secondary time server 20b is not operating due to a malfunction or other reason.

[0092] Furthermore, when timer T3 expires in the secondary-side synchronized state (step S207), the time synchronizer 34 transitions to the primary-side synchronized state as the next state (step S205) unless timer T2 has expired (step S213a). When timer T3 expires in the secondary-side synchronized state (step S207), the time synchronizer 34 transitions to the out-of-sync state as the next state (step S209) unless timer T2 has also expired (step S213b). Timer T2 expires when the primary time server 20 is not operating due to a malfunction or other reason.

[0093] In this way, the active time server and the standby time server transmit time synchronization frames. When the standby time server receives a time synchronization frame from the active time server, it synchronizes with the time indicated in the time synchronization frame received from the active time server. Furthermore, different clock domains or different VLAN identification information are set for the multiple time servers 20 in the time synchronization frames transmitted from the multiple time servers 20. Furthermore, if the standby time server does not receive a time synchronization frame from the active time server between the start and expiration of a standby timer that has a longer expiration time than the active timer used for the active time server, it determines that a failure has occurred in the current active time server and sets the standby time server with the highest priority among the standby time servers as the active time server.

[0094] Furthermore, when a time server 20 with a higher priority than the current active time server returns to the time synchronization system 10, it synchronizes its time with the time of the current active time server before returning as a backup time server. At this time, the switch 30 and end device 40 synchronize their time with the time indicated in the time synchronization frame transmitted from the time server 20 with the highest priority. Alternatively, when a time server 20 with a higher priority than the current active time server returns to the time synchronization system 10, it synchronizes its time with the time of the current active time server before returning as an active time server. The time server 20 that was the current active time server returns to the setting of a backup time server by receiving a time synchronization frame from the restored active time server. At this time, the switch 30 and end device 40 synchronize their time with the time indicated in the time synchronization frame transmitted from the active time server.

[0095] Furthermore, for each time synchronization frame transmitted from the active time server and the standby time server, the switch 30 sets one of the receiving ports as a slave port and sets the other ports as passive ports. If the switch 30 does not receive a time synchronization frame at the slave port for a specified period, the switch 30 switches one of the ports set as a passive port to the slave port setting.

[0096] Specifically, in the time server 20, the time synchronization unit 24 controls the time synchronization frame transmission processing unit 25 to transmit a time synchronization frame when the time server 20 is an active time server and a standby time server. When the time synchronization unit 24 receives a time synchronization frame from the active time server when the time synchronization unit 24 is a standby time server, the time synchronization unit 24 synchronizes the time to the time indicated in the time synchronization frame received from the active time server. The time synchronization unit 24 also sets different clock domains or different VLAN identification information for the multiple time servers 20 in the time synchronization frame transmitted from the time synchronization frame transmission processing unit 25. When the time synchronization unit 24 is a standby time server, if it does not receive a time synchronization frame from the active time server between the start and expiration of a standby timer that has a longer expiration time than the active timer used when the time server is an active time server, the time synchronization unit 24 determines that a failure has occurred in the current active time server and sets the standby time server with the highest priority among the standby time servers as the active time server.

[0097] Furthermore, when the time synchronization unit 24 returns to the time synchronization system 10 as a time server 20 with a higher priority than the current active time server, it synchronizes its time with the time of the current active time server and then returns as a backup time server. At this time, the time synchronization unit 34 of the switch 30 and the time synchronization unit 44 of the end device 40 synchronize their time with the time indicated in the time synchronization frame transmitted from the time server 20 with the highest priority. Alternatively, when the time synchronization unit 24 returns to the time synchronization system 10 as a time server 20 with a higher priority than the current active time server, it synchronizes its time with the time of the current active time server and then returns to the active time server. If it was the current active time server, it receives a time synchronization frame from the restored active time server and returns to the standby time server setting. At this time, the time synchronization unit 34 of the switch 30 and the time synchronization unit 44 of the end device 40 synchronize their time with the time indicated in the time synchronization frame transmitted from the active time server.

[0098] As described above, according to this embodiment, both the active time server and the standby time server transmit time synchronization frames in the time synchronization system 10. In this case, the same effects as those of the first embodiment can be obtained.

[0099] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or different embodiments may be combined with each other. It is also possible to omit or modify parts of the configurations as long as they do not deviate from the gist of the invention.

[0100] 10 Time synchronization system, 20, 20a, 20b Time server, 21, 41 Communication unit, 22, 32, 42 Time synchronization frame reception processing unit, 23, 33, 43 Storage unit, 24, 34, 44 Time synchronization unit, 25, 35 Time synchronization frame transmission processing unit, 30, 30a to 30d Switch, 31 Frame reception processing unit, 36 Main signal frame reception processing unit, 37 Multiplexing / demultiplexing unit, 38 Frame transmission processing unit, 40, 40a to 40d End device, 45 Main signal frame transmission processing unit, 90, 93 Processing circuit, 91 Processor, 92 Memory.

Claims

1. A time synchronization system comprising: a plurality of time servers capable of transmitting time synchronization frames; a switch that synchronizes with the time indicated in the received time synchronization frame and transmits the time synchronization frame to other devices; and an end device that synchronizes with the time indicated in the received time synchronization frame, wherein the switch transmits the time synchronization frame to at least one of the other devices, which are the time server, another switch, and the end device; and wherein, after startup, a backup time server other than the active time server among the plurality of time servers that are running is time-synchronized with the time indicated in the time synchronization frame transmitted from an active time server among the plurality of time servers that are running, and the active time server periodically transmits the time synchronization frame, thereby periodically synchronizing the time between the active time server and the backup time server.

2. A time synchronization system as described in claim 1, characterized in that, among the multiple time servers, the active time server transmits the time synchronization frame, and the backup time server does not transmit the time synchronization frame.

3. The time synchronization system described in claim 2, characterized in that if the standby time server does not receive the time synchronization frame from the active time server between the start and expiration of a standby timer that has a longer expiration time than the active timer used for the active time server, the standby time server determines that a failure has occurred in the current active time server, and sets the standby time server with the highest priority among the standby time servers as the next active time server.

4. The time synchronization system described in claim 3, characterized in that when a time server with a higher priority than the current active time server returns to the time synchronization system, it synchronizes its time with the time of the current active time server before returning to the active time server, and the time server that was currently the active time server returns to the settings of the standby time server by receiving the time synchronization frame from the restored active time server.

5. The time synchronization system according to claim 3, characterized in that, when a time server having a higher priority than the current active time server returns to the time synchronization system, it synchronizes its time with the time of the current active time server before returning as the backup time server.

6. A time synchronization system according to any one of claims 2 to 5, characterized in that the switch and the end device are time-synchronized to the time indicated in the time synchronization frame transmitted from the active time server.

7. A time synchronization system as described in any one of claims 2 to 6, characterized in that the switch sets one of the ports that receive the time synchronization frame transmitted from the active time server as a slave port, and sets the other ports as passive ports.

8. The time synchronization system described in claim 7, characterized in that the switch switches one of the ports set as the passive port to the slave port setting if the time synchronization frame is not received at the slave port for a specified period of time.

9. The time synchronization system according to claim 1, characterized in that the active time server and the standby time server transmit the time synchronization frame, and when the standby time server receives the time synchronization frame from the active time server, it synchronizes with the time indicated in the time synchronization frame received from the active time server.

10. The time synchronization system according to claim 9, characterized in that the time synchronization frame is set with different clock domains for the multiple time servers or different virtual local area network identification information for the multiple time servers.

11. The time synchronization system according to claim 9 or 10, characterized in that if the standby time server does not receive the time synchronization frame from the active time server between the start and expiration of a standby timer that has a longer expiration time than the active timer used for the active time server, the standby time server determines that a fault has occurred in the current active time server, and sets the standby time server with the highest priority among the standby time servers as the active time server.

12. A time synchronization system as described in any one of claims 9 to 11, characterized in that, when a time server having a higher priority than the current active time server returns to the time synchronization system, it synchronizes its time with the time of the current active time server before returning to the active time server, and the time server that was currently the active time server returns to the settings of the standby time server by receiving the time synchronization frame from the restored active time server.

13. The time synchronization system according to claim 12, wherein the switch and the end device are time-synchronized to the time indicated in the time synchronization frame transmitted from the active time server.

14. A time synchronization system as described in any one of claims 9 to 11, characterized in that, when a time server having a higher priority than the current active time server returns to the time synchronization system, it synchronizes its time with the time of the current active time server before returning as the backup time server.

15. The time synchronization system according to claim 14, wherein the switch and the end device synchronize their times with a current time server.

16. A time synchronization system as described in any one of claims 9 to 15, characterized in that the switch sets one of the receiving ports as a slave port and the other ports as passive ports for each of the time synchronization frames transmitted from the active time server and the backup time server.

17. The time synchronization system described in claim 16, characterized in that the switch switches one of the ports set as the passive port to the slave port setting if the time synchronization frame is not received at the slave port for a specified period of time.

18. A time server in a time synchronization system having a plurality of time servers, switches, and end devices, comprising: a time synchronization frame reception processing unit that performs reception processing of time synchronization frames transmitted from other time servers; a time synchronization frame transmission processing unit that performs transmission processing of a time synchronization frame to be transmitted from its own time server; a storage unit that holds timer information for a plurality of timers having different expiration times; and a time synchronization unit that controls the transmission of the time synchronization frame from its own time server and performs time synchronization using the timer corresponding to its own time server, wherein the time synchronization unit performs time synchronization such that, after the start of the plurality of time servers, a backup time server other than the active time server among the plurality of time servers that are started is time synchronized at the time indicated in the time synchronization frame transmitted from an active time server among the plurality of time servers that are started, and the active time server periodically transmits the time synchronization frame, thereby periodically synchronizing the time of the active time server and the backup time server.

19. The time server according to claim 18, characterized in that the time synchronization unit controls the time synchronization frame transmission processing unit to transmit the time synchronization frame when the time server is the active system time server, and not transmit the time synchronization frame when the time server is the standby system time server.

20. A time server as described in claim 19, characterized in that if, when the time synchronization unit is the standby time server, it does not receive the time synchronization frame from the active time server between the start and expiration of a standby timer that has a longer expiration time than the active timer used when the active time server is the active time server, it determines that a failure has occurred in the current active time server, and sets the standby time server with the highest priority among the standby time servers as the next active time server.

21. The time server according to claim 20, characterized in that, when the time synchronization unit is returning to the time synchronization system when it is a time server with a higher priority than the current active time server, it synchronizes its time with the time of the current active time server and then returns to the active time server, and when it is a time server that was currently the active time server, it returns to the settings of the standby time server by receiving the time synchronization frame from the restored active time server.

22. The time server according to claim 18, characterized in that the time synchronization unit controls the time synchronization frame transmission processing unit to transmit the time synchronization frame when the time server is the active time server and the standby time server, and when the time synchronization frame is received from the active time server when the time server is the standby time server, synchronizes with the time indicated in the time synchronization frame received from the active time server.

23. The time server according to claim 22, characterized in that the time synchronization unit sets different clock domains for the multiple time servers or different Virtual Local Area Network identification information for the multiple time servers in the time synchronization frame transmitted from the time synchronization frame transmission processing unit.

24. A time server as described in claim 22 or 23, characterized in that if, when the time synchronization unit is the standby time server, it does not receive the time synchronization frame from the active time server from the time the standby timer, which has a longer expiration time than the active timer used when the active time server is the active time server, expires after starting the standby timer, it determines that a fault has occurred in the current active time server, and sets the standby time server with the highest priority among the standby time servers as the active time server.

25. A time server as described in any one of claims 22 to 24, characterized in that when the time synchronization unit returns to the time synchronization system when it is a time server with a higher priority than the current active time server, it synchronizes the time with the time of the current active time server and then returns to the active time server, and when it is the current active time server, it returns to the settings of the standby time server by receiving the time synchronization frame from the returned active time server.

26. A time server as described in any one of claims 22 to 24, characterized in that when the time synchronization unit returns to the time synchronization system as a time server with a higher priority than the current active time server, it synchronizes its time with the time of the current active time server and then returns as the backup time server.

27. A switch in a time synchronization system having a plurality of time servers, switches, and end devices, comprising: a frame receiving processing unit that receives a time synchronization frame transmitted from the time server; a frame transmitting processing unit that transmits the time synchronization frame; a memory unit that holds timer information for a plurality of timers having different expiration times; and a time synchronization unit that performs time synchronization to the time indicated in the received time synchronization frame, using the timer corresponding to the time server that is the source of the time synchronization frame.

28. A switch as described in claim 27, characterized in that the multiple time servers are composed of one active time server and a standby time server other than the active time server, and the time synchronization unit synchronizes with the time indicated in the time synchronization frame transmitted from the active time server.

29. A switch as described in claim 27 or 28, characterized in that the frame reception processing unit sets one of the ports that receive the time synchronization frame transmitted from the same time server as a slave port, and sets the other ports as passive ports.

30. The switch described in claim 29, characterized in that the frame reception processing unit switches one of the ports set as the passive port to the slave port setting if the time synchronization frame is not received at the slave port for a specified period of time.

31. An end device in a time synchronization system having a plurality of time servers, switches, and end devices, characterized in that the end device comprises: a time synchronization frame reception processing unit that performs reception processing of a time synchronization frame transmitted from the time server; a memory unit that holds timer information for a plurality of timers having different expiration times; and a time synchronization unit that synchronizes with the time indicated in the received time synchronization frame using the timer corresponding to the time server that is the source of the time synchronization frame.

32. The end device described in claim 31, characterized in that the multiple time servers are composed of one active time server and a standby time server other than the active time server, and the time synchronization unit synchronizes with the time indicated in the time synchronization frame transmitted from the active time server.

33. A time synchronization method for a time synchronization system, comprising: a first step in which a specified time server among a plurality of time servers capable of transmitting a time synchronization frame transmits the time synchronization frame; a second step in which a switch synchronizes with the time indicated in the received time synchronization frame and transmits the time synchronization frame to another device; and a third step in which an end device synchronizes with the time indicated in the received time synchronization frame, wherein in the first step, after startup, a backup time server other than the active time server among the plurality of activated time servers synchronizes with the time indicated in the time synchronization frame transmitted from an active time server among the plurality of activated time servers, and the active time server periodically transmits the time synchronization frame, thereby periodically synchronizing the time of the active time server and the backup time server; and in the second step, the switch transmits the time synchronization frame to at least one of the other devices, which are the time server, another switch, and the end device.

34. A time server time synchronization method for a time server in a time synchronization system having a plurality of time servers, switches, and end devices, wherein the time server has a storage unit that holds timer information for a plurality of timers having different expiration times, the method comprising: a time synchronization frame reception processing step in which a time synchronization frame reception processing unit performs reception processing of a time synchronization frame transmitted from another time server; a time synchronization frame transmission processing step in which a time synchronization frame transmission processing unit performs transmission processing of a time synchronization frame to be transmitted from the own time server; and a time synchronization step in which a time synchronization unit controls transmission of the time synchronization frame from the own time server and performs time synchronization using the timer corresponding to the own time server, wherein in the time synchronization step, after the start of the plurality of time servers, the time synchronization unit performs time synchronization such that, at the time indicated in the time synchronization frame transmitted from an active time server among the plurality of time servers that are started, a backup time server other than the active time server among the plurality of time servers that are started is time-synchronized, and the active time server periodically transmits the time synchronization frame, thereby periodically synchronizing the active time server and the backup time server. A time server time synchronization method comprising:

35. A switch time synchronization method for a switch in a time synchronization system comprising a plurality of time servers, switches, and end devices, wherein the switch comprises a memory unit for retaining timer information for a plurality of timers having different expiration times, and the switch time synchronization method includes the following steps: a frame reception processing step in which a frame reception processing unit receives a time synchronization frame transmitted from the time server; a frame transmission processing step in which a frame transmission processing unit transmits the time synchronization frame; and a time synchronization step in which a time synchronization unit synchronizes with the time indicated in the received time synchronization frame using the timer corresponding to the time server that is the source of the time synchronization frame.

36. An end device time synchronization method for an end device in a time synchronization system comprising a plurality of time servers, switches, and end devices, wherein the end device comprises a storage unit for retaining timer information for a plurality of timers with different expiration times, the end device comprising: a time synchronization frame reception processing step in which a time synchronization frame reception processing unit performs reception processing of a time synchronization frame transmitted from the time server; and a time synchronization step in which a time synchronization unit synchronizes with the time indicated in the received time synchronization frame using the timer corresponding to the time server that is the source of the time synchronization frame.

Citation Information

Patent Citations

  • In-vehicle device, in-vehicle network system, and information processing method

    WO2022230503A1

  • Forwarding device and time synchronization system

    WO2023105777A1