WO2011077558A1 - 通信装置及び時刻同期システム - Google Patents

通信装置及び時刻同期システム Download PDF

Info

Publication number
WO2011077558A1
WO2011077558A1 PCT/JP2009/071632 JP2009071632W WO2011077558A1 WO 2011077558 A1 WO2011077558 A1 WO 2011077558A1 JP 2009071632 W JP2009071632 W JP 2009071632W WO 2011077558 A1 WO2011077558 A1 WO 2011077558A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
server
time server
message
error
Prior art date
Application number
PCT/JP2009/071632
Other languages
English (en)
French (fr)
Inventor
康之 小堺
充 神田
Original Assignee
株式会社東芝
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社東芝 filed Critical 株式会社東芝
Priority to EP09852574A priority Critical patent/EP2518634A1/en
Priority to JP2011547168A priority patent/JP5450656B2/ja
Priority to PCT/JP2009/071632 priority patent/WO2011077558A1/ja
Publication of WO2011077558A1 publication Critical patent/WO2011077558A1/ja
Priority to US13/432,420 priority patent/US8762796B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/14Time supervision arrangements, e.g. real time clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0673Clock or time synchronisation among packet nodes using intermediate nodes, e.g. modification of a received timestamp before further transmission to the next packet node, e.g. including internal delay time or residence time into the packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/14Monitoring arrangements

Definitions

  • the present invention relates to a communication device and a time synchronization system.
  • Non-Patent Document 1 discloses, for example, a protocol specification IEEE 1588-2008 (hereinafter, described as IEEE 1588) which synchronizes time with high accuracy in a Local Area Network (LAN).
  • IEEE 1588 a protocol specification IEEE 1588-2008
  • the communication device synchronizes the time with the time of the time server by using the time when the time server conforming to IEEE 1588 advertises by multicast and the communication delay between the time server and the communication device.
  • the time server with the highest priority advertises time.
  • Non-Patent Document 1 also discloses a method in which a plurality of time servers advertise time.
  • the method is called Alternate masteroption.
  • the communication device periodically receives time from a time server equipped with a plurality of Alterna master option functions, so that, even when an abnormality occurs in any time server, the communication device receives it from other time servers. I can receive the time. Therefore, the communication device can maintain time accuracy.
  • Non-Patent Document 2 discloses a time synchronization system in which a time server is made redundant by connecting one time server to each of two networks and connecting a communication device to both of the two networks.
  • Grandmaster is a time server
  • Ordinary clock is a communication device.
  • the communication device synchronizes the time with the master time server, and switches the time server for synchronizing the time to the sub time server when communication with the master time server becomes impossible.
  • Non-Patent Document 2 when a plurality of time servers are installed on the same network and made redundant, there is a possibility that the time accuracy of the communication apparatus can not be maintained at the time of abnormality or recovery of the time server.
  • the present invention has been made in view of the above, and when a plurality of time servers are installed on the same network and made redundant, a communication apparatus and time that can maintain the time accuracy at the time of abnormality or recovery of the time server It aims to provide a synchronization system.
  • the present invention is a communication device connected to a plurality of time servers to which different identification information is added via a network, wherein the time servers clock A receiving unit that receives a message including time information indicating time and the identification information, a first acquisition unit that acquires a reception time when the message is received, and a plurality of the identification information included in the message A calculation unit that calculates a time error using the time information and the reception time included in the message, when it is assigned to any of the time servers described above, and whether there is an abnormality with respect to the first time server A message including the identification information given to the second time server when it is detected that there is an abnormality with respect to the first time server and the first detection unit that detects the An output unit for outputting the time error calculated using the parameter, a servo for calculating an operation amount using the time error, and a clock for changing a clock rate based on the operation amount.
  • the time servers clock A receiving unit that receives a message including time information indicating time and the identification information, a first acquisition unit that acquire
  • the time accuracy of the communication device can be maintained when the time server is abnormal or restored.
  • FIG. 1 is a diagram illustrating the configuration of a time synchronization system.
  • the time synchronization system includes a time server 101, a switch 102, a switch 103, a time server 104, a network 105, and a communication device 106, and two time servers 101 and 104 are in the same network 105. It is a configuration to be connected.
  • the communication device 106 synchronizes time with the time server 101 or 104 using a VLAN conforming to 802.1Q.
  • the time servers 101 and 104 are servers that advertise time, and for example, are servers equipped with a time synchronization protocol function such as IEEE 1588.
  • the time servers 101 and 104 are assigned different VLAN IDs. Also, in this case, the time server 101 is a main time server, and the time server 104 is a sub time server.
  • the time server 101 is connected to the network 105 via the switch 102, and the time server 104 is connected to the network 105 via the switch 103.
  • the communication device 106 is connected to the network 105 via the switch 114.
  • the network 105 is, for example, Ethernet (registered trademark) (Ethernet (registered trademark)), FDDI, PLC, wireless LAN, WiMAX, Jigbee, LTE, CAN, Profinet.
  • the network 105 is assumed to be Ethernet (registered trademark).
  • the switches 102, 103, and 114 are, for example, transfer devices equipped with an Ethernet (registered trademark) switch function.
  • the communication device 106, the switch 114, the switch 102 and the switch 103 each measure the communication delay with the adjacent IEEE 1588 by a method called Peer to peer delay mechanism defined by the IEEE 1588.
  • the time server 101 receives the PDelay_Req message addressed to the multicast address from the switch 102, the time server 101 transmits the time stamp, which is the reception time when the time server 101 received the PDelay_Req message, and the PDelay_Response message.
  • the time server 101 transmits the time stamp, which is the reception time when the time server 101 received the PDelay_Req message, and the PDelay_Response message.
  • the time server 101 periodically transmits an Announce message in which the multicast address is set in the destination address of the Ethernet (registered trademark) header, and sets the multicast address in the destination address of the Ethernet (registered trademark) header, Send a Sync message including time information indicating transmission time.
  • the Announce message and the Sync message are messages defined by IEEE 1588.
  • FIG. 2 is a diagram illustrating an announce message.
  • FIG. 3 is a diagram illustrating a Sync message. As illustrated in FIG. 3, the Sync message includes the time information indicating the transmission time of the Sync message, which is the time counted by the time server 101. Also, the Sync message includes a Correction field. In the Correction field, an initial value for correcting the time is set, and the transfer processing time of the Sync message and the value of the communication delay with the time server 101 are added and reset by the switch 102 described later. .
  • the time server 104 When the time server 104 receives the PDelay_Req message addressed to the multicast address from the switch 103, the time server 104 transmits the time stamp which is the reception time when the time server 104 received the PDelay_Req message and the PDelay_Response message. Send a PDelay_Response message including a time stamp that is the time of transmission. Also, as with the time server 101, the time server 104 periodically transmits an Announce message in which the multicast address is set in the destination address of the Ethernet (registered trademark) header, and multicasts to the destination address of the Ethernet (registered trademark) header. The address is set, and a Sync message including time information indicating the transmission time is transmitted.
  • the Announce and Sync messages are similar to those illustrated in FIGS. 2-3, respectively. Note that, in the Correction field included in the Sync message, the transfer processing time of the Sync message and the value of the communication delay with the time server 104 are added and reset by the switch 103 described later.
  • the switch 102 When the switch 102 transmits a PDelay_Req message addressed to the multicast address, and receives a PDelay_Response message addressed to the multicast address from the time server 101, the switch 102 uses the time stamp included in the PDelay_Response message to transmit the time. The communication delay with the server 101 is measured. In addition, when the switch 102 receives the Announce message or the Sync message transmitted from the time server 101, the switch 102 adds a VLAN header including the VLAN ID assigned to the time server 101 to the Announce message or the Sync message, respectively. Transfer to the network 105.
  • the switch 102 adds a value obtained by adding the transfer processing time of the Sync message and the value of the communication delay with the time server 101 to the value of the Correction field of the Sync message as the Correction of the Sync message.
  • the VLAN header is, for example, a tag conforming to 802.1Q.
  • FIG. 4 is a diagram illustrating an announce message to which a VLAN header is added. As exemplified in the figure, a VLAN header including a VLAN ID is added to the Announce message illustrated in FIG.
  • FIG. 5 is a diagram illustrating a Sync message to which a VLAN header is added. As illustrated in the figure, a VLAN header including a VLAN ID is added to the Sync message illustrated in FIG.
  • the switch 102 when the switch 102 receives an Announce message or Sync message sent by multicast to the network 105, if a VLAN header is added to these messages, the switch 102 refers to the VLAN ID included in the VLAN header to obtain the message. It is determined whether the VLAN ID is assigned to the time server 101 or not. If the VLAN ID is assigned to the time server 101, the switch 102 removes the VLAN header from the message and transfers the message to the time server 101. For example, the switch 102 removes the VLAN header from the Announce message illustrated in FIG. 4 and forwards the Announce message illustrated in FIG. 2 to the time server 101, and the VLAN header from the Sync message illustrated in FIG. After removal, the Sync message illustrated in FIG.
  • the switch 102 does not transfer the message to the time server 101.
  • an Announce message or Sync message transferred from the time server 104 via the switch 103 described later corresponds to this case.
  • the switch 103 When the switch 103 transmits a PDelay_Req message addressed to the multicast address, and receives a PDelay_Response message addressed to the multicast address from the time server 104, the switch 103 uses the time stamp included in the PDelay_Response message to transmit the time. The communication delay with the server 104 is measured. Also, when the switch 103 receives the Announce message or the Sync message transmitted from the time server 104, it adds a VLAN header including the VLAN ID assigned to the time server 104 to the Announce message or the Sync message, respectively. Transfer to the network 105.
  • the switch 102 adds a value obtained by adding the transfer processing time of the Sync message and the value of the communication delay with the time server 101 to the value of the Correction field of the Sync message as the Correction of the Sync message.
  • the switch 102 adds a value obtained by adding the transfer processing time of the Sync message and the value of the communication delay with the time server 101 to the value of the Correction field of the Sync message as the Correction of the Sync message.
  • the message to which the VLAN header is added is similar to that illustrated in FIGS.
  • the switch 103 when the switch 103 receives the Announce message or Sync message transmitted to the network 105 by multicast, if a VLAN header is added to these messages, the switch 103 refers to the VLAN ID included in the VLAN header to be relevant. It is determined whether the VLAN ID is assigned to the time server 104 or not. If the VLAN ID is assigned to the time server 104, the VLAN header is removed from the message and transferred to the time server 104, and if the VLAN ID is not assigned to the time server 104, the message Is not transferred to the time server 104. For example, an Announce message or Sync message transferred from the time server 101 via the switch 102 corresponds to this case.
  • the switch 114 When the switch 114 receives a PDelay_Req message addressed to a multicast address from the communication device 106, it transmits a time stamp which is the reception time when the switch 114 received the PDelay_Req message and a PDelay_Response message. Transmit a PDelay_Response message including a time stamp which is a transmission time of In addition, when the switch 114 receives an announce message or a sync message from the time servers 101 and 104 via the network 105, the switch 114 transfers the message to the communication device 106 without removing the VLAN header.
  • the switch 114 transmits an Announce message or a Sync message to which a VLAN header including the VLAN ID of the time server 101 is added from the communication apparatus 106 or an Announce message or Sync message to which a VLAN header including the VLAN ID of the time server 104 is added. It transfers to the network 105 as it is.
  • the communication device 106 includes a network interface 107, a network controller 108, a network processing unit 109, a protocol processing unit 110, a servo 111, a clock 112, a storage unit 113, and an application 115.
  • the network interface 107 is a communication interface corresponding to the communication method of the network 105, and controls communication between the communication device 106 and the network 105.
  • the network interface 107 is assumed to be a communication interface compatible with the Ethernet (registered trademark) communication method.
  • the network controller 108 acquires, as a time stamp, the transmission time when the message is transmitted to the time server 101 or the time server 104, and acquires the reception time when the Sync message is received from the time server 101 or the time server 104 as a time stamp.
  • the network processing unit 109 executes processing according to the communication method supported by the network interface 107.
  • the network processing unit 109 performs the Sync message and the Sync message.
  • the time stamp which is the reception time when received is sent to the protocol processing unit 110, and when the VLAN ID is not assigned to the time server 101 or the time server 104, the Sync message is discarded. Further, the network processing unit 109 adds a VLAN header including the VLAN ID assigned to each of the messages transmitted to the time server 101 or the time server 104.
  • the protocol processing unit 110 executes processing in accordance with a time synchronization protocol such as IEEE 1588.
  • a time synchronization protocol such as IEEE 1588.
  • the protocol processing unit 110 transmits a PDelay_Req message addressed to a multicast address, and receives a PDelay_Response message addressed to a multicast address from the switch 114, the protocol processing unit 110 utilizes the time stamp included in the PDelay_Response message. The communication delay with the switch 114 is measured. Further, when the protocol processing unit 110 receives the Sync message and the time stamp transmitted from the time server 101 from the network processing unit 109, the protocol processing unit 110 uses the time information and the time stamp included in the Sync message to communicate with the time server 101.
  • the calculated time error is output to the servo 111.
  • the method of detecting the presence or absence of abnormality with respect to the time server 101 will be described later.
  • the protocol processing unit 110 receives the Sync message and the time stamp transmitted from the time server 104 from the network processing unit 109, the protocol processing unit 110 uses the time information and the time stamp included in the Sync message to communicate with the time server 104.
  • the time error is calculated, and when it is detected that there is no abnormality in the time server 101, the calculated time error is stored in the storage unit 113, and when it is detected that there is an abnormality in the time server 101, the calculation is performed. Output time error to the servo 111.
  • the servo 111 is a control unit configured by, for example, a digital filter or PID control, calculates an operation amount using a time error output from the protocol processing unit 110, and outputs the operation amount to the clock 112.
  • the manipulated variable is a voltage.
  • the manipulated variable is the frequency between the timing of incrementing the counter of the clock 112 and the increment of the counter.
  • the clock 112 is, for example, a voltage controlled crystal oscillator or an Adder Based Clock, and counts time. The clock 112 changes the clock rate in accordance with the amount of operation output from the servo 111.
  • the storage unit 113 includes, for example, a register and a RAM, and stores the time error calculated by the protocol processing unit 110 under the control of the protocol processing unit 110. In addition, the storage unit 113 stores in advance the priority defined by the IEEE 1588 for the time servers 101 and 104. It is assumed that the priority of the time server 101 stored in the storage unit 113 is higher than the priority of the time server 104.
  • the application 115 is an application program that refers to the current time clocked by the clock 112.
  • the switch 102 adds a VLAN header including the VLAN ID assigned to the time server 101 to the Announce message or Sync message transmitted from the time server 101. Also, the switch 102 does not transfer, to the time server 101, the Announce message or the Sync message to which the VAN header including the VLAN ID of the time server 104 is added. Also, the switch 103 adds a VLAN header including the VLAN ID assigned to the time server 104 to the Announce message or Sync message transmitted from the time server 104.
  • the switch 103 does not transfer, to the time server 104, the Announce message or Sync message to which the VLAN header including the VLAN ID of the time server 101 is added.
  • the time servers 101 and 104 can not communicate with each other.
  • the communication device 106 receives the VLAN header added to the Announce message or the Sync message as it is, regardless of which of the time servers 101 and 104 includes the VLAN ID assigned to it.
  • the time server 101 is the main time server, when the time server 101 is normal, the communication device 106 sends the time to the time server 101 using the Sync message transmitted from the time server 101.
  • Such a time synchronization system is applicable to, for example, distributed power control networks as shown in FIG. 6, industrial networks such as substations, factories, and trains, and home networks.
  • the communication device 106 transmits a PDelay_Req message addressed to the multicast address (step S1).
  • the switch 114 receives the PDelay_Req message
  • the switch 114 transmits a PDelay_Response message addressed to the multicast address (step S2).
  • the communication device 106 measures the communication delay with the switch 114 using the time stamp included in the PDelay_Response message.
  • the switch 103 also transmits a PDelay_Req message addressed to a multicast address (step S3).
  • the time server 104 receives the PDelay_Req message
  • the time server 104 transmits a PDelay_Response message addressed to the multicast address (step S4).
  • the switch 103 measures the communication delay with the time server 104 using the time stamp included in the PDelay_Response message.
  • the switch 102 also transmits a PDelay_Req message addressed to the multicast address, similarly to the communication device 106 (step S9).
  • the time server 101 When the time server 101 receives the PDelay_Req message, the time server 101 transmits a PDelay_Response message addressed to the multicast address (step S10).
  • the switch 102 measures the communication delay with the time server 101 using the time stamp included in the PDelay_Response message.
  • the time server 101 periodically transmits an announce message in which the multicast address is set to the destination address of the Ethernet (registered trademark) header (steps S5 and S11), and the multicast address is transmitted to the destination address of the Ethernet (registered trademark) header.
  • the Sync message including the set time information is transmitted (steps S6 and S12).
  • the switch 102 receives the announce message transmitted in step S5 from the time server 101, it adds a VLAN header including the VLAN ID of the time server 101 to the announce message and transfers it to the network 105 as illustrated in FIG. Do.
  • the switch 114 receives this Announce message via the network 105, it does not remove the VLAN header and forwards the Announce message to the communication device 106.
  • the switch 102 receives the Sync message transmitted in step S6 by the time server 101, the VLAN header including the VLAN ID of the time server 101 is added to the Sync message, and the transfer processing time of the Sync message and the time server 101 are further added.
  • the value obtained by adding the value of the communication delay between to and the value of the Correction field of the Sync message is set in the Correction field of the Sync message.
  • the switch 102 transfers this Sync message to the network 105.
  • the switch 114 receives this Sync message via the network 105, it transfers the Sync message to the communication device 106 without removing the VLAN header.
  • step S20 When the communication device 106 receives the Sync message transmitted by the time server 101 in step S6 via the network 105, the switch 102, and the switch 114, the communication device 106 performs time synchronization processing (step S20). The detailed procedure of this time synchronization process will be described later.
  • the time server 104 transmits an Announce message in which the multicast address is set in the destination address of the Ethernet (registered trademark) header (steps S7 and S13), and the destination address of the Ethernet (registered trademark) header A Sync message including time information in which the multicast address has been set is transmitted (steps S8 and S14).
  • the switch 103 receives from the time server 104 the Announce message sent in step S 7 or S 13, the time server 104 adds a VLAN header including the VLAN ID of the time server 104 to the Announce message and transfers it to the network 105.
  • the switch 114 When the switch 114 receives this Announce message via the network 105, it does not remove the VLAN header and forwards the Announce message to the communication device 106. Further, when the switch 103 receives the Sync message transmitted by the time server 104 in step S8 or S14, the VLAN header including the VLAN ID of the time server 104 is added to the Sync message, and the transfer processing time and time of the Sync message are further added. The value obtained by adding the value of the communication delay with the server 104 to the value of the Correction field of the Sync message is set in the Correction field of the Sync message. The switch 103 transfers this Sync message to the network 105. When the switch 114 receives this Sync message via the network 105, it transfers the Sync message to the communication device 106 without removing the VLAN header.
  • the communication device 106 When the communication device 106 receives the Sync message transmitted by the time server 104 in step S8 via the network 105, the switch 103, and the switch 114, the communication device 106 performs time synchronization processing (step S21). The communication device 106 also performs time synchronization processing in the same manner when receiving the Sync message transmitted by the time server 104 in step S14 via the network 105, the switch 103, and the switch 114 (step S22).
  • the switch 102 may receive these messages transferred by the switch 103. However, since a VLAN header is added to these messages, when the switch 102 refers to the VLAN ID included in the VLAN header and the VLAN ID is assigned to the time server 104, the switch 102 The VLAN header is removed from the message and transferred to the time server 104. If the VLAN ID is not assigned to the time server 101, the message is not transferred to the time server 101. Similarly, the switch 103 may receive the Announce message and the Sync message transferred by the switch 102.
  • the switch 103 refers to the VLAN ID included in the VLAN header added to these messages, and when the VLAN ID is assigned to the time server 104, removes the VLAN header from the message and the time server If the VLAN ID is not assigned to the time server 104, the message is not forwarded to the time server 104.
  • the time server 101 and the time server 104 are the time servers with the highest priority among the communicatable time servers, and therefore both the time server 101 and the time server 104 announce messages and Sync messages. It becomes possible to advertise.
  • the network interface 107 of the communication device 106 sends the received Sync message to the network controller 108, and the network controller 108 acquires the reception time at which the Sync message is received as a time stamp (step S21).
  • This time stamp is a value measured using the clock 112.
  • the network controller 108 sends a time stamp and a Sync message to the network processing unit 109.
  • the network processing unit 109 When the network processing unit 109 receives the time stamp and the Sync message, after processing the Ethernet (registered trademark) header added to the Sync message, the network processing unit 109 verifies the VLAN ID included in the VLAN header added to the Sync message. If the VLAN ID is not assigned to the time server 101 or 104, the network processing unit 109 discards the Sync message. On the other hand, if the VLAN ID is assigned to the time server 101 or 104, the network processing unit 109 sends a Sync message and a time stamp to the protocol processing unit 110 (step S22). The network processing unit 109 may send to the protocol processing unit 110 a Sync message from which the Ethernet (registered trademark) header and VLAN ID have been removed.
  • the protocol processing unit 110 determines the time stamp, the time information included in the Sync message, the communication delay time between the communication device 106 and the switch 114, and the method defined in IEEE 1588. The time error with the time server that transmitted the Sync message is calculated using this (step S23). Also, the protocol processing unit 110 determines whether the VLAN ID included in the VLAN header added to the Sync message is assigned to the time server 101 as the main time server or to the time server 104 ( Step S24). If the VLAN ID is assigned to the time server 101 (step S24: YES), the protocol processing unit 110 detects the presence or absence of an abnormality in the time server 101 (step S25).
  • the communication device 106 can not receive the Announce message transmitted by the time server 101 in step S11 illustrated in FIG. 7, or the time server 101 transmits in step S12.
  • the communication apparatus 106 can not receive the Sync message. That is, when the communication apparatus 106 can not receive the next Announce message even after a predetermined time after receiving the Announce message from the time server 101 in the past, or after receiving the Sync message from the time server 101 in the past This is a case where the next Sync message can not be received even after a predetermined time has elapsed.
  • an abnormality is found in the time clocked by the time server 101, there is an abnormality in the time server 101.
  • the protocol processing unit 110 causes the storage unit 113 to store the calculated time error for the time server 101.
  • the protocol processing unit 110 outputs the time error calculated in step S23 to the servo 111.
  • the time error is a time error with the time server 101.
  • the servo 111 calculates an operation amount to the clock 112 using the input time error, and outputs the operation amount to the clock 112 (step S28). For example, the servo 111 calculates an operation amount using PID control.
  • the clock 112 changes the clock rate in accordance with the input operation amount (step S32).
  • the protocol processing unit 110 detects the presence or absence of an abnormality in the time server 101 (step S29). Then, when it is detected that there is no abnormality in the time server 101 (step S29: NO), the protocol processing unit 110 stores the time error calculated in step S23 and the Sync message in the storage unit 113 (step S31). .
  • the time error is a time error with the time server 104. Then, the protocol processing unit 110 ends the processing.
  • the protocol processing unit 110 outputs the time error calculated in step S23 to the servo 111.
  • the time error is a time error with the time server 104.
  • the servo 111 calculates an operation amount to the clock 112 using the input time error, and outputs the operation amount to the clock 112 (step S30). Thereafter, the process proceeds to step S32.
  • the protocol processing unit 110 determines the time error with the time server 104 stored in the storage unit 113 in step S31.
  • the time error estimated as the current time error is recalculated using the time information included in the and sync messages (step S26). For example, the protocol processing unit 110 sets a time error with the time server 104 stored in the storage unit 113 as an estimated time error.
  • the protocol processing unit 110 sets the time when the Sync message was received from the time server 104 last time as T1, the current time as T2, and the time error with the time server 104 stored in the storage unit 113 as E (T2-T1).
  • a value obtained by multiplying the values E) and E and a preset value is set as an estimated time error. Then, the protocol processing unit 110 outputs the recalculated time error to the servo 111.
  • the servo 111 calculates an operation amount to the clock 112 using the input time error, and outputs the operation amount to the clock 112 (step S27). Thereafter, the process proceeds to step S32.
  • the clock rate of clock 112 can be adjusted without interruption. Specifically, when adjusting the clock rate of the clock 112, when the communication device 106 can not periodically receive the Sync message from the time server 101 or when it detects an abnormality at the time of the time server 101, By using the Sync message recently received from the time server 104 without using the Sync message received from the time server 101, the time lag of the communication device 106 can be eliminated.
  • the protocol processing unit 110 of the communication device 106 transmits the Sync message at the time server as the transmission source of the Sync message when the time server 101 is normal and the time server 104 is normal at the time synchronization processing described above.
  • the time error is calculated using the Sync message and output to the servo 111 regardless of whether it is the main time server or the sub time server.
  • the protocol processing unit 110 detects that there is an abnormality in the time server that is the transmission source of the Sync message or when it detects that there is an abnormality in the past, it does not calculate the time error using the Sync message. End time synchronization processing.
  • the protocol processing unit 110 calculates the time error using only the Sync message received from the time server in which no abnormality is detected, and outputs the time error to the servo 111.
  • the protocol processing unit 110 indicates which of the time servers 101 and 104 the time server is, and Abnormality detection data indicating that there is an abnormality is stored in the storage unit 113.
  • the protocol processing unit 110 can determine whether or not the time server as the transmission source of the Sync message has detected an abnormality in the past by referring to the abnormality detection data.
  • the configuration of the other communication device 106 and the configuration of the time synchronization system are the same as those of the above-described first embodiment.
  • step S40 the protocol processing unit 110 of the communication apparatus 106 determines whether or not there is an abnormality in the time server that is the transmission source of the Sync message, and whether or not an abnormality is detected in the past.
  • the method of detecting the presence or absence of abnormality with respect to the time server is, for example, similar to the method of detecting the presence or absence of abnormality of the time of the time server described in the first embodiment described above. It is determined whether or not the protocol processing unit 110 has detected abnormality in the past when there is an abnormality in the time server that is the transmission source of the Sync message. It is performed by judging whether or not it is stored in.
  • step S40 determines that no abnormality is detected in the time server that is the transmission source of the Sync message and that there is an abnormality in the past (step S40: NO)
  • step S28 Similar to S30
  • the time error calculated in step S23 is output to the servo 111.
  • the servo 111 calculates an operation amount to the clock 112 using the input time error, and outputs the operation amount to the clock 112 (step S41).
  • the subsequent step S32 is the same as that of the first embodiment described above.
  • the protocol processing unit 110 detects that there is an abnormality in the time server that is the transmission source of the Sync message (step S40: YES), it indicates which of the time servers 101 and 104 the time server is. At the same time, abnormality detection data indicating that there is an abnormality with respect to the time server is stored in the storage unit 113, and the time synchronization process is ended. In addition, also when the protocol processing unit 110 determines that an abnormality is detected in the past (step S40: YES), the time synchronization process similarly ends.
  • the communication device 106 performs the time synchronization process described above each time a Sync message is received from the time servers 101 and 104. In such processing, regardless of whether the time server is the main time server or the sub time server as the sender of the Sync message, the communication device 106 detects an abnormality with respect to the time server of the sender of the Sync message, The clock rate of the clock 112 is adjusted using the received Sync message. Then, after detecting an abnormality of the time server 101 or the time server 104, the communication device 106 uses only the Sync message received from the normal time server for adjusting the clock 112.
  • the communication device 106 uses the Sync message from the time server 104 even when there is an abnormality in the time of the time server 101 or even when the Sync message can not be received from the time server 101.
  • the clock rate of the clock 112 can be adjusted without interruption.
  • the time server 101 and the time server 104 can not communicate with each other, so that one abnormality can be prevented from affecting the other.
  • the clock rate of the clock 112 is adjusted using both Sync messages received from the time server 101 and the time server 104 when normal, the interval for adjusting the clock 112 is shorter than in the first embodiment. Therefore, in the present embodiment, it is possible to maintain the time accuracy of the communication device 106 better.
  • the configuration has been described in which, when there is an abnormality in the time server 101 that is the main time server, the target for synchronizing the time is switched to the time server 104 that is the sub time server.
  • a configuration will be described in which after switching the time synchronization target to time server 104 which is a sub time server, the time synchronization target is restored to time server 101.
  • the communication device 106 detects that there is an abnormality with respect to the time server 101, the operator restores the time server 101 and connects it to the switch 102, and the time server 101 announces the message and Sync message.
  • the network interface 107 of the communication device 106 receives them.
  • the functions of the network interface 107 and the network controller 108 implemented when these are received are the same as those in the first embodiment described above.
  • the protocol processing unit 110 calculates a time error using the Sync message transmitted from the time server 101, but returns the time synchronization target to the time server 101 when the time of the time server 101 is normal and stable. And the calculated time error is output to the servo 111.
  • the protocol processing unit 110 does not restore the time synchronization target to the time server 101, and stores the calculated time error in the storage unit 113.
  • the configuration of the other communication device 106 and the configuration of the time synchronization system are the same as those of the above-described first embodiment.
  • the communication apparatus 106 switches the time synchronization target from the time server 101, which is the main time server, to the time server 104, which is the sub time server, and uses the Sync message received from the time server 104 to change the time. It shows about the procedure after receiving a Sync message from time server 101, when making it synchronize.
  • the processes of steps S21 to S23 are the same as those of the above-described first embodiment.
  • step S50 the protocol processing unit 110 detects whether the time of the time server 101 calculated in step S23 is normal and stable.
  • the method of detecting the presence or absence of abnormality of the time of the time server 101 is the same as that of the first embodiment described above.
  • the time error with the time server 101 calculated in step S23 and the time server 101 calculated in the past fixed period and stored in the storage unit 113 The time error of is less than a predetermined value (e.g., 1 .mu.sec).
  • step S50 When it is detected that the time of the time server 101 is normal and stable (step S50: YES), the protocol processing unit 110 outputs the time error calculated in step S23 to the servo 111.
  • the servo 111 calculates an operation amount to the clock 112 using the input time error, and outputs the operation amount to the clock 112 (step S51).
  • the subsequent step S32 is the same as that of the first embodiment described above.
  • step S50 NO
  • the protocol processing unit 110 stores the time error calculated in step S23 in the storage unit 113. (Step S52). This time difference is used for the detection of step S50 after the next time.
  • the communication apparatus 106 even when the communication apparatus 106 receives the Sync message from the time server 101, it does not immediately switch the time synchronization target from the time server 104 to the time server 101, but rather, it is constant. During the period, the time error calculated using the Sync message received from the time server 101 is verified, and when it is detected that the time of the time server 101 is normal and stable, the time server 101 is to be synchronized with the time. Switch to According to such a configuration, even when there is an abnormality in the time of the recovered time server 101, the time accuracy of the communication device 106 can be maintained without being affected by the abnormality. Further, as in the first embodiment, by using the VLAN, the time server 101 and the time server 104 can not communicate with each other, so that one abnormality can be prevented from affecting the other.
  • the communication device 106 may perform time synchronization processing whose procedure is shown in FIG. 8 or 9.
  • the clock 112 is an oscillator whose clock rate can be changed.
  • an oscillator whose clock rate can not be changed is used as the clock.
  • the clock counter is gradually separated from the time of the time server 101 or the time server 104.
  • FIG. 11 is a diagram illustrating the configuration of the time synchronization system according to the present embodiment.
  • the communication device 106 includes a clock 912 instead of the clock 112 illustrated in FIG. 1, and includes a servo 911 instead of the servo 111.
  • an application 915 is provided.
  • the protocol processing unit 110 does not detect the presence or absence of an abnormality in the time server 101. Instead, the servo 911 detects the presence or absence of an abnormality in the time of the time server 101 and the presence or absence of an abnormality in the clock rate. Also, the servo 911 calculates correction data using the Sync message received from the time server 101, calculates correction data using the Sync message received from the time server 104, and stores the calculated correction data respectively. It is stored in 113.
  • FIG. 12 is a diagram illustrating correction data.
  • the correction data is obtained by adding the value of the Correction field of the Sync message to the time (the transmission time of the Sync message included in the Sync message) at the time server at the time of receiving the Sync message. Communication delay time), the clock counter of the clock 912 when the Sync message is received, and the time error per second due to the difference of the clock rate of the clock 912 to the time server when the Sync message is received It is shown.
  • the servo 911 does not output the operation amount to the clock 912, but acquires the clock counter from the clock 912 in response to a request from the application 915, and indicates it by a reference server value described later stored in the storage unit 113.
  • the current time is calculated using the correction data for the time server, and this is output to the application 915.
  • the servo 911 calculates the current time according to the following equation 1.
  • Current time (seconds) time at time server when receiving Sync message + (clock counter ⁇ clock counter when receiving Sync message) / 25/1000000 * (1 + time error per second due to difference in clock rate [n seconds ] / 1000000000) ... (Equation 1)
  • the communication device 106 does not adjust the clock rate of the clock 912, but reads the clock counter of the clock 912 and converts it to the current time when the current time is required. Therefore, the servo 911 calculates correction data necessary for conversion from the clock counter to the current time every time a Sync message is received, and stores the correction data in the storage unit 113.
  • the servo 911 stores in the storage unit 113 a value (referred to as a reference server value) indicating which of the time server 101 or the time server 104 the correction data is to be used. Specifically, when the servo 911 detects that there is an abnormality in the time of the time server 101 or that the clock rate is abnormal, the reference server value storage unit 113 indicates that the correction data for the time server 104 is to be used. Update in Further, when the servo 911 detects that the time of the time server 104 is abnormal or the clock rate is abnormal, a value indicating that the time server 104 which is the sub time server is abnormal (sub time server abnormal value ) Is stored in the storage unit 113.
  • a value indicating that the time server 104 which is the sub time server is abnormal (sub time server abnormal value ) Is stored in the storage unit 113.
  • the storage unit 113 stores correction data for the time server 101, correction data for the time server 104, a reference server value, and a sub time server abnormal value.
  • the application 915 obtains the current time from the servo 911, not the clock 912.
  • the configuration of the other communication device 106 and the configuration of the time synchronization system are the same as those of the above-described first embodiment.
  • step S23 when the protocol processing unit 110 of the communication device 106 receives the Sync message and the time stamp, it calculates a time error with the time server that transmitted the Sync message, but in this embodiment, the time stamp is calculated in this embodiment.
  • the correction data for the time server indicated by the reference server value stored in the storage unit 113, to calculate the Sync message reception time, the reception time, the time information included in the Sync message, the communication device 106 and the switch The time delay with the time server is calculated using the communication delay time between 114 and 114 and the method defined in IEEE 1588. Note that the time server that transmitted the Sync message and the time server indicated by the reference server value are not necessarily the same. Then, the protocol processing unit 110 outputs the calculated time error to the servo 911.
  • the servo 911 calculates the clock rate of the clock 912 using PID control with the time error as an input (step S60). Then, the servo 911 calculates the time error per second due to the difference in clock rate using the calculated clock rate, transmits this value as the correction data stored in the storage unit 113, and transmits the Sync message. The correction data for the time server is updated. Further, the servo 911 updates the time in the time server at the time of receiving the Sync message and the clock counter of the clock 912 at the time of receiving the Sync message in the correction data (step S61).
  • step S24 the protocol processing unit 110 determines whether the VLAN ID included in the VLAN header added to the Sync message is assigned to the time server 101, which is the main time server, or to the time server 104. And outputs the determination result to the servo 911. If it is determined that the VLAN ID is assigned to the time server 101 (step S24: YES), the servo 911 detects whether there is an abnormality in the time of the time server 101 and whether the clock rate is abnormal. (Step S62). The method by which the servo 911 detects the presence or absence of the time of the time server 101 is, for example, the same as that performed by the protocol processing unit 110 in the above-described first embodiment.
  • the clock rate is abnormal if, for example, the difference or ratio between the clock rate calculated in step S60 and the clock rate for the time server 104 is equal to or greater than a preset value.
  • the servo 911 calculates the clock rate using the time error per second in the correction data for the time server 104 due to the difference in clock rate.
  • step S62: NO When the servo 911 detects that there is no abnormality in the time of the time server 101 and that the clock rate is not abnormal (step S62: NO), the time synchronization process is ended. On the other hand, when it is detected that the time of the time server 101 is abnormal or the clock rate is abnormal (step S62: YES), the servo 911 indicates that the reference server value is used to indicate that the correction data for the time server 104 is used. The storage unit 113 is updated (step S63), and the time synchronization process is ended.
  • step S24: NO the servo 911 is abnormal in the time of the time server 104 as in step S62. It is detected whether or not the clock rate is abnormal or not (step S64).
  • step S64: NO the time synchronization process ends.
  • step S64: YES the sub indicates that the time server 104 which is the sub time server is abnormal.
  • the time server abnormal value is stored in the storage unit 113 (step S65), and the time synchronization process is ended.
  • the communication device 106 performs the time synchronization process described above each time a Sync message is received from the time servers 101 and 104.
  • the protocol processing unit 110 updates the reference server value in the storage unit 113 to indicate that the correction data for the time server 104 is used when the announce message or the Sync message can not be received from the time server 101 even after a predetermined time has passed. You may do so. Further, when it is detected that the time of the time server 104 is abnormal and the sub time server abnormal value is stored in the storage unit 113, when the Sync message is received from the time server 101, the servo 911 performs the step If it is detected in S62 that there is an abnormality in the time server 101, step S63 may not be performed.
  • the communication device 106 performs a Sync message periodically from the time server 101 when there is an abnormality in the time of the time server 101 or When it becomes impossible to receive, by switching the correction data used for calculation of the time error to the correction data for the time server 104, it becomes possible to maintain the accuracy of the time acquired by the application 915.
  • the time server 101 and the time server 104 can not communicate with each other, so that one abnormality can be prevented from affecting the other.
  • the correction data for the time server 104 is not affected, so that the communication device 106 can instantly restore the time accuracy to a normal state.
  • a fifth embodiment of the communication device and the time synchronization system will be described.
  • the same parts as those in the first to fourth embodiments described above will be described using the same reference numerals or descriptions thereof will be omitted.
  • the configuration of the communication device 106 and the configuration of the time synchronization system according to the present embodiment are the same as those of the fourth embodiment.
  • the fourth embodiment when there is an abnormality in the time server 101 which is the main time server, a configuration in which the correction data used for calculating the time error is switched to the correction data for the time server 104 which is the sub time server explained.
  • a configuration will be described in which, after switching the correction data used for calculating the time error to the correction data for the time server 104, the data is restored to the correction data for the time server 101.
  • the operator restores the time server 101 and connects it to the switch 102, and the time server 101 announces the message and Sync message.
  • the network interface 107 of the communication device 106 receives them.
  • the functions of the network interface 107 and the network controller 108 implemented when these are received are the same as those in the first embodiment described above.
  • the protocol processing unit 110 calculates a time error using the Sync message transmitted from the time server 101, and the servo 911 calculates a clock rate using this, but the time of the time server 101 is normal and the clock rate is stable.
  • the reference server value is updated in the storage unit 113 to indicate that the correction data for the time server 101 is used.
  • the servo 911 does not update the reference server value.
  • the configuration of the other communication device 106 and the configuration of the time synchronization system are the same as those of the above-described first embodiment.
  • FIG. 14 when the communication device 106 switches the correction data used for calculating the time error to the correction data for the time server 104 and synchronizes the time using the Sync message received from the time server 104, The procedure after receiving the Sync message from the server 101 is shown.
  • the processes of steps S21 to S23 are the same as those of the above-described first embodiment.
  • the processing of steps S60 to S61 is the same as that of the fourth embodiment described above.
  • step S70 the servo 911 detects whether the time of the time server 101 is normal and the clock rate is stable.
  • the case where the time of the time server 101 is normal means, for example, a case where the time error of a fixed number of times calculated using the Sync message received from the time server 101 is within the value set continuously.
  • the clock rate is stable, for example, the difference or ratio with the clock rate for the time server 104 stored in the storage unit 113 is set for all the clock rates for the time server 101 in the past fixed number of times. If it is less than
  • step S 70 when the servo 911 detects that the time of the time server 101 is normal and the clock rate is stable (step S 70: YES), the reference server value stores the reference server value as indicated by the time server 101. It updates in 113 (step S71).
  • step S70 NO
  • the time synchronization process is ended.
  • the communication device 106 may have an abnormality in the recovered time of the time server 101 or may have a unstable clock rate.
  • the time accuracy of the communication device 106 can be maintained without being affected by the abnormality of the time of the time server 101.
  • the time server 101 and the time server 104 can not communicate with each other, so that one abnormality can be prevented from affecting the other.
  • the communication device 106 may perform time synchronization processing whose procedure is shown in FIG.
  • the present invention is not limited to the above embodiment as it is, and at the implementation stage, the constituent elements can be modified and embodied without departing from the scope of the invention.
  • various inventions can be formed by appropriate combinations of a plurality of constituent elements disclosed in the embodiments. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, components in different embodiments may be combined as appropriate. In addition, various modifications as exemplified below are possible.
  • various programs executed by the communication device 106 may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network.
  • the various programs are recorded in a computer readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile Disk) or the like in an installable or executable file format. May be configured to be provided as a computer program product.
  • the time servers 101 and 104 are connected to the network 105 via different switches 102 and 103 respectively, but are connected to the network 105 via the same switch You may. Further, the time server 101, the time server 104, and the communication device 106 may be connected to the network 105 via the same switch. Also in this case, when the time servers 101 and 104 transmit and receive messages with no VLAN header added, and the communication device 106 communicates with the time server 101 and the time server 104, as in the above-described embodiment. It suffices to transmit and receive a message added with a VLAN header including a VLAN ID assigned to each.
  • the clock 112 is not limited to the crystal oscillator or the Adder Based Clock, as long as it is an oscillator that can change the clock rate.
  • the switch 102, the switch 103 and the switch 114 receive time from the reception of the Sync message until the transfer is completed. You may hold it. Then, the time servers 101 and 104 may transmit a Follow_Up message including time information indicating the transmission time of the Sync message immediately after transmitting the Sync message. In addition, the switch 102, the switch 103, and the switch 114 add a value obtained by adding the transfer processing time of the Sync message and the communication delay to the adjacent IEEE 1588 device to the Follow_Up message to the value set in the Correction field of the Follow_Up message. It may be set in the field.
  • the protocol processing unit 110 of the communication device 106 uses the time information indicating the transmission time of the Sync message and the value of the Correction field set in the Follow_Up message in addition to the Sync message, and uses the time server 101 or the time server 104. Calculate the time difference with.
  • the communication device 106, the switch 114, the switch 102, and the switch 103 do not measure the communication delay between the adjacent IEEE 1588 in Peer to peer delay mechanism. It is good. In that case, the communication device 106 measures the communication delay between the communication device 106 and the time server 101 and the communication delay between the communication device 106 and the time server 104 using the End to End delay mechanism defined in IEEE 1588. Do. Then, when the switch 114, the switch 102 and the switch 103 receive the Sync message, they add only the transfer processing time of the Sync message to the value set in the Correction field of the Sync message, and set them in the Correction field of the Sync message.
  • the switch 114, the switch 102 and the switch 103 replace the Sync message in the Correction field of the Follow_Up message with only the processing time for transferring the Sync message to the Correction field value of the Follow_Up message. In addition, it is set in the Correction field of the Follow_Up message.
  • the protocol processing unit 110 uses the time information included in the Sync message received in the past from the time server 101 in steps S23 of FIGS. It is also possible to calculate the skew which is the difference in time speed and output it to the servo 111. In this case, the protocol processing unit 110 causes the time server 101 to store the skew calculated in step S23 in the storage unit 113. Further, in steps S27, S28, and S30, the servo 111 calculates the operation amount using the skew. In step S31, the protocol processing unit 110 stores the skew for the time server 104 in the storage unit 113.
  • a new time server may be connected to the network 105 via the Ethernet (registered trademark) switch.
  • the communication device 106 performs the process of step S31 when receiving the Sync message from the new time server.
  • the communication device 106 performs the processing of S30 and S32.
  • the communication device 106 performs the processes of steps S26 to S27 and S32.
  • the communication device 106 determines that all the time servers are normal and receives the Sync message from the time server 101, the time server 104, or a new time server
  • the time calculated in step S23 Regarding the error if the time error with one of the time servers is far apart from the time error of the other two time servers (for example, 2 ⁇ sec), it is detected that there is an abnormality in the time server. It is good.
  • by installing three time servers in the time synchronization system it is possible to specify a time server with an abnormality in time by majority decision.
  • a new time server may be connected to the network 105 via the Ethernet (registered trademark) switch.
  • the servo 911 causes the storage unit 113 to store correction data for each time server. Then, the servo 911 stores the reference server value indicating the normal time server in the storage unit 113, assuming that the time server 101, the time server 104, and the new time server have higher priority in the order. Even with such a configuration, it is possible to specify a time server with an abnormality in time by majority decision.
  • the protocol processing unit 110 of the communication device 106 does not automatically switch the time synchronization target from the time server 104 to the time server 101. It may be switched when instructed by the operator.
  • the communication device 106 includes an output unit such as a display for displaying information and an operation input unit such as a switch for receiving an operation from the operator.
  • the protocol processor 110 determines that the time of the time server 101 is When normal and stable is detected, a message indicating that the preparation for switching has been made is displayed on the output unit, and when there is an operation input from the operator via the input unit, the time is synchronized May be switched from the time server 104 to the time server 101. Further, the output unit does not display a message indicating that the preparation for switching has been made, but may transmit the message to the operation center provided remotely via the network 105.
  • the servo 911 of the communication device 106 does not automatically switch the correction data used for calculating the time error to the correction data for the time server 101, and there is an instruction from the operator.
  • the communication device 106 includes an output unit such as a display and an operation input unit such as a switch, and in step S70 the servo 911 indicates that the time of the time server 101 is normal and the clock rate is stable.
  • the time data is used as the correction data used to calculate the time error. It may be switched to the correction data for 101.
  • the servo 911 updates the reference server value in the storage unit 113 to indicate that the correction data for the time server 101 is used.
  • the output unit may transmit a message indicating that the preparation for switching has been made to the operation center via the network 105.

Abstract

 通信装置は、各々異なる識別情報が付与された複数の時刻サーバとネットワークを介して接続される。通信装置は、時刻サーバが計時した時刻を示す時刻情報と識別情報とを含むメッセージを受信し、当該メッセージが受信されたときの受信時刻を取得し、当該メッセージに含まれる識別情報が複数の時刻サーバのいずれかに付与されたものである場合に、当該メッセージに含まれる時刻情報及び受信時刻を用いて、時刻誤差を計算する。通信装置は、第1時刻サーバに対する異常の有無を検知した場合、第2時刻サーバに付与された識別情報を含むメッセージを用いて計算された時刻誤差をサーボに出力する。サーボは、時刻誤差を用いて、操作量を計算し、当該操作量に基づいて、クロックは、クロックレートを変更する。

Description

通信装置及び時刻同期システム
 本発明は、通信装置及び時刻同期システムに関するものである。
 従来より、通信装置が時刻サーバと通信して、時刻サーバと時刻を同期させる技術がある。非特許文献1には、例えばLocal Area Network(LAN)内において、高精度で時刻を同期させるプロトコル仕様IEEE1588-2008(以下、IEEE1588と記述)が開示されている。この技術では、IEEE1588に準拠した時刻サーバがマルチキャストで広告する時刻と、時刻サーバと通信装置との間の通信遅延を利用して、通信装置は時刻を時刻サーバの時刻に同期させる。また、複数の時刻サーバが通信可能な同一ネットワーク上に存在する場合、優先度が最も高い時刻サーバのみが時刻を広告する。また、非特許文献1には、複数の時刻サーバが時刻を広告する方法も開示されている。その方法はAlternate masteroptionと呼ばれている。この方法では、通信装置は複数のAlterna master option機能を搭載した時刻サーバから時刻を定期的に受信することで、いずれかの時刻サーバに異常が起きたときでも、通信装置はその他の時刻サーバから時刻を受信できる。このため、通信装置は時刻精度を維持することができる。
 しかしながら、IEEE1588では、同一ドメイン内の全ての時刻サーバが折衝することでそれぞれの時刻サーバの内部状態を決定し、内部状態に応じてメッセージの送受信処理を変更する。そこで、ある時刻サーバの挙動が他の時刻サーバに影響する。例えば、ある時刻サーバが異常を起こし、時刻サーバの優先度を示すパラメータが管理者の意図しない値に設定されたAnnounceメッセージを送信した場合、他の時刻サーバは時刻の広告を一時的に中止する可能性がある。また、時刻サーバの復旧時やメンテナンス時に、ネットワークへ新たに接続する時刻サーバの設定を間違った場合、同様に他の時刻サーバは時刻の広告を一時的に中止する可能性がある。そのため、通信装置の時刻は、時刻サーバから時刻を受信できない間にずれるという問題がある。
 非特許文献2には、2つのネットワークそれぞれに1台ずつ時刻サーバを接続し、2つのネットワークの両方に通信装置を接続することで、時刻サーバを冗長化する時刻同期システムが開示されている。非特許文献2において、Grandmasterは時刻サーバであり、Ordinary clockは通信装置である。各ネットワークに接続された2つの時刻サーバのうち一方を主時刻サーバとし、他方を副時刻サーバとする。通信装置は主時刻サーバと時刻を同期させ、主時刻サーバと通信不可能になったとき、時刻を同期させる時刻サーバを副時刻サーバへ切り替える。このように通信経路及び時刻サーバを冗長化することで、時刻同期システムの信頼性を向上させている。
IEEEE1588-2008 Std. Sven Meier and Hans Weibel,"IEEE 1588 applied in the environment ofhigh availability LANs," 2007 Proceedings on International IEEE Symposiumon Precision Clock Synchronization (ISPCS), pp.100-104, Oct 2007.
 しかし、非特許文献2の技術では、同一ネットワーク上に複数の時刻サーバを設置して冗長化した場合、時刻サーバの異常時や復旧時に通信装置の時刻精度を維持できない恐れがあった。
 本発明は、上記に鑑みてなされたものであって、同一ネットワーク上に複数の時刻サーバを設置して冗長化した場合、時刻サーバの異常時や復旧時に時刻精度を維持可能な通信装置及び時刻同期システムを提供することを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、各々異なる識別情報が付与された複数の時刻サーバとネットワークを介して接続される通信装置であって、前記時刻サーバが計時した時刻を示す時刻情報と、前記識別情報とを含むメッセージを受信する受信部と、前記メッセージが受信されたときの受信時刻を取得する第1取得部と、前記メッセージに含まれる前記識別情報が複数の前記時刻サーバのいずれかに付与されたものである場合に、前記メッセージに含まれる前記時刻情報及び前記受信時刻を用いて、時刻誤差を計算する計算部と、第1時刻サーバに対する異常の有無を検知する第1検知部と、前記第1時刻サーバに対して異常があることが検知された場合、第2時刻サーバに付与された前記識別情報を含むメッセージを用いて計算された前記時刻誤差を出力する出力部と、前記時刻誤差を用いて、操作量を計算するサーボと、前記操作量に基づいて、クロックレートを変更するクロックとを備えることを特徴とする。
 本発明によれば、同一ネットワーク上に複数の時刻サーバを設置して冗長化した場合、時刻サーバの異常時や復旧時に通信装置の時刻精度を維持することができる。
第1の実施の形態の時刻同期システムの構成を例示する図。 Announceメッセージを例示する図。 Syncメッセージを例示する図。 VLANヘッダを付加したAnnounceメッセージを例示する図。 VLANヘッダを付加したSyncメッセージを例示する図。 時刻同期システムの適用例を示す図。 時刻同期通信処理の手順を示すフローチャート。 時刻同期処理の手順を示すフローチャート。 第2の実施の形態の時刻同期処理の手順を示すフローチャート。 第3の実施の形態の時刻同期処理の手順を示すフローチャート。 第4の実施の形態の時刻同期システムの構成を例示する図。 補正データを例示する図。 時刻同期処理の手順を示すフローチャート。 第5の実施の形態の時刻同期処理の手順を示すフローチャート。
 以下に添付図面を参照して、この発明にかかる通信装置及び時刻同期システムの実施の形態を詳細に説明する。
[第1の実施の形態]
 図1は、時刻同期システムの構成を例示する図である。同図に示されるように、時刻同期システムは、時刻サーバ101、スイッチ102、スイッチ103、時刻サーバ104、ネットワーク105及び通信装置106を備え、2つの時刻サーバ101,104が、同一のネットワーク105に接続される構成である。時刻同期システムでは、例えば802.1Qに準拠したVLANを用いて、通信装置106が時刻サーバ101又は104と時刻を同期させる。時刻サーバ101,104は時刻を広告するサーバであり、例えばIEEE1588等の時刻同期プロトコル機能を搭載したサーバである。但し、IEEE1588のAlternate master option機能を搭載していなくても良い。時刻サーバ101,104には、各々異なるVLAN IDが付与されている。また、ここでは、時刻サーバ101を主時刻サーバとし、時刻サーバ104を副時刻サーバとする。時刻サーバ101はスイッチ102を介してネットワーク105に接続され、時刻サーバ104はスイッチ103を介してネットワーク105に接続される。通信装置106は、スイッチ114を介してネットワーク105に接続される。ネットワーク105は、例えばEthernet(登録商標)(イーサネット(登録商標))、FDDI、PLC、無線LAN、WiMAX、Jigbee、LTE、CAN、Profinetである。ここではネットワーク105はイーサネット(登録商標)であるとする。スイッチ102,103,114は、例えばイーサネット(登録商標)スイッチ機能を搭載した転送装置である。通信装置106、スイッチ114、スイッチ102及びスイッチ103はそれぞれ、IEEE1588で規定されるPeer to peer delay mechanismと呼ばれる方法で、隣接するIEEE1588との間の通信遅延を測定するものとする。
 次に、時刻サーバ101、スイッチ102、スイッチ103、時刻サーバ104、ネットワーク105及び通信装置106の各構成について説明する。時刻サーバ101は、マルチキャストアドレスを宛先としたPDelay_Reqメッセージをスイッチ102から受信すると、マルチキャストアドレスを宛先とし、時刻サーバ101がPDelay_Reqメッセージを受信したときの受信時刻であるタイムスタンプと、PDelay_Responseメッセージを送信したときの送信時刻であるタイムスタンプとを含むPDelay_Responseメッセージを送信する。また、時刻サーバ101は、定期的に、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットしたAnnounceメッセージを送信すると共に、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットした、その送信時刻を示す時刻情報を含むSyncメッセージを送信する。Announceメッセージ及びSyncメッセージは、IEEE1588が規定するメッセージである。図2は、Announceメッセージを例示する図である。図3は、Syncメッセージを例示する図である。図3に例示されるように、Syncメッセージには、時刻サーバ101が計時した時刻であり、Syncメッセージの送信時刻を示す時刻情報が含まれる。また、Syncメッセージには、Correctionフィールドが含まれている。Correctionフィールドには、時刻を訂正するための初期値がセットされており、Syncメッセージの転送処理時間及び時刻サーバ101との間の通信遅延の値が後述するスイッチ102により加算されて再セットされる。
 時刻サーバ104は、マルチキャストアドレスを宛先としたPDelay_Reqメッセージをスイッチ103から受信すると、マルチキャストアドレスを宛先とし、時刻サーバ104がPDelay_Reqメッセージを受信したときの受信時刻であるタイムスタンプと、PDelay_Responseメッセージを送信したときの送信時刻であるタイムスタンプとを含むPDelay_Responseメッセージを送信する。また、時刻サーバ104は時刻サーバ101と同様に、定期的に、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットしたAnnounceメッセージを送信すると共に、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットした、その送信時刻を示す時刻情報を含むSyncメッセージを送信する。Announceメッセージ及びSyncメッセージは、図2~3に各々例示されるものと同様である。尚、Syncメッセージに含まれるCorrectionフィールドには、Syncメッセージの転送処理時間及び時刻サーバ104との間の通信遅延の値が後述するスイッチ103により加算されて再セットされる。
 スイッチ102は、マルチキャストアドレスを宛先としたPDelay_Reqメッセージを送信し、これに対して、マルチキャストアドレスを宛先としたPDelay_Responseメッセージを時刻サーバ101から受信すると、PDelay_Responseメッセージに含まれるタイムスタンプを利用して、時刻サーバ101との間の通信遅延を測定する。また、スイッチ102は、時刻サーバ101から送信されたAnnounceメッセージやSyncメッセージを受信すると、時刻サーバ101に付与されたVLAN IDを含むVLANヘッダをAnnounceメッセージやSyncメッセージに各々付加して、これらを各々ネットワーク105へ転送する。このとき、Syncメッセージについては、スイッチ102は、Syncメッセージの転送処理時間、及び時刻サーバ101との間の通信遅延の値を、SyncメッセージのCorrectionフィールドの値に加算した値を、SyncメッセージのCorrectionフィールドにセットしてネットワーク105へ転送する。VLANヘッダは、例えば802.1Qに準拠したタグである。図4は、VLANヘッダを付加したAnnounceメッセージを例示する図である。同図に例示されるように、図2に例示されたAnnounceメッセージに対して、VLAN IDを含むVLANヘッダが付加されている。図5は、VLANヘッダを付加したSyncメッセージを例示する図である。同図に例示されるように、図3に例示されたSyncメッセージに対して、VLAN IDを含むVLANヘッダが付加されている。
 また、スイッチ102は、ネットワーク105にマルチキャストで送信されたAnnounceメッセージやSyncメッセージを受信すると、これらのメッセージにVLANヘッダが付加されている場合、当該VLANヘッダに含まれるVLAN IDを参照して、当該VLAN IDが時刻サーバ101に付与されたものか否かを判断する。当該VLAN IDが時刻サーバ101に付与されたものである場合、スイッチ102は、当該メッセージからVLANヘッダを除去して時刻サーバ101へ転送する。例えば、スイッチ102は、図4に例示されるAnnounceメッセージからVLANヘッダを除去して、図2に例示されるAnnounceメッセージを時刻サーバ101へ転送し、図5に例示されるSyncメッセージからVLANヘッダを除去して、図3に例示されるSyncメッセージを時刻サーバ101へ転送する。一方、受信したAnnounceメッセージやSyncメッセージに付加されたVLANヘッダに含まれるVLAN IDが時刻サーバ101に付与されたものではない場合、スイッチ102は、当該メッセージを時刻サーバ101へ転送しない。例えば、時刻サーバ104から後述するスイッチ103を介して転送されたAnnounceメッセージやSyncメッセージがこの場合に該当する。
 スイッチ103は、マルチキャストアドレスを宛先としたPDelay_Reqメッセージを送信し、これに対して、マルチキャストアドレスを宛先としたPDelay_Responseメッセージを時刻サーバ104から受信すると、PDelay_Responseメッセージに含まれるタイムスタンプを利用して、時刻サーバ104との間の通信遅延を測定する。また、スイッチ103は、時刻サーバ104から送信されたAnnounceメッセージやSyncメッセージを受信すると、時刻サーバ104に付与されたVLAN IDを含むVLANヘッダをAnnounceメッセージやSyncメッセージに各々付加して、これらを各々ネットワーク105へ転送する。このとき、Syncメッセージについては、スイッチ102は、Syncメッセージの転送処理時間、及び時刻サーバ101との間の通信遅延の値を、SyncメッセージのCorrectionフィールドの値に加算した値を、SyncメッセージのCorrectionフィールドにセットしてネットワーク105へ転送する。VLANヘッダを付加したメッセージは、図4~5に例示されるものと同様である。
 また、スイッチ103は、ネットワーク105にマルチキャストで送信されたAnnounceメッセージやSyncメッセージを受信すると、これらのメッセージにVLANヘッダが付加されている場合、当該VLANヘッダに含まれるVLAN IDを参照して、当該VLAN IDが時刻サーバ104に付与されたものか否かを判断する。当該VLAN IDが時刻サーバ104に付与されたものである場合、当該メッセージからVLANヘッダを除去して時刻サーバ104へ転送し、当該VLAN IDが時刻サーバ104に付与されたものではない場合、当該メッセージを時刻サーバ104へ転送しない。例えば、時刻サーバ101からスイッチ102を介して転送されたAnnounceメッセージやSyncメッセージがこの場合に該当する。
 スイッチ114は、マルチキャストアドレスを宛先としたPDelay_Reqメッセージを通信装置106から受信すると、マルチキャストアドレスを宛先とし、スイッチ114がPDelay_Reqメッセージを受信したときの受信時刻であるタイムスタンプと、PDelay_Responseメッセージを送信したときの送信時刻であるタイムスタンプとを含むPDelay_Responseメッセージを送信する。また、スイッチ114は、時刻サーバ101,104からネットワーク105を介してAnnounceメッセージやSyncメッセージを受信すると、VLANヘッダを除去せず通信装置106へ転送する。また、スイッチ114は、通信装置106から時刻サーバ101のVLAN IDを含むVLANヘッダが付加されたAnnounceメッセージやSyncメッセージ又は時刻サーバ104のVLAN IDを含むVLANヘッダが付加されたAnnounceメッセージやSyncメッセージをそのままネットワーク105へ転送する。
 通信装置106は、ネットワークインタフェース107、ネットワークコントローラ108、ネットワーク処理部109、プロトコル処理部110、サーボ111、クロック112、記憶部113及びアプリケーション115を備える。ネットワークインタフェース107は、ネットワーク105の通信方式に対応した通信インタフェースであり、通信装置106とネットワーク105との通信を制御する。ここでは、ネットワークインタフェース107は、イーサネット(登録商標)の通信方式に対応した通信インタフェースであるとする。
 ネットワークコントローラ108は、時刻サーバ101又は時刻サーバ104にメッセージを送信したときの送信時刻をタイムスタンプとして取得し、時刻サーバ101又は時刻サーバ104からSyncメッセージを受信したときの受信時刻をタイムスタンプとして取得する。ネットワーク処理部109は、ネットワークインタフェース107が対応する通信方式に応じた処理を実行する。ネットワーク処理部109は、時刻サーバ101から受信したSyncメッセージに付加されたVLANヘッダに含まれるVLAN IDが時刻サーバ101又は時刻サーバ104に付与されたものである場合、当該Syncメッセージ及び当該Syncメッセージを受信したときの受信時刻であるタイムスタンプをプロトコル処理部110に送り、当該VLAN IDが時刻サーバ101又は時刻サーバ104に付与されたものではない場合、当該Syncメッセージを破棄する。また、ネットワーク処理部109は、時刻サーバ101又は時刻サーバ104に送信するメッセージに、各々に付与されたVLAN IDを含むVLANヘッダを付加する。
 プロトコル処理部110は、IEEE1588などの時刻同期プロトコルに従った処理を実行する。プロトコル処理部110は、マルチキャストアドレスを宛先としたPDelay_Reqメッセージを送信し、これに対して、マルチキャストアドレスを宛先としたPDelay_Responseメッセージをスイッチ114から受信すると、PDelay_Responseメッセージに含まれるタイムスタンプを利用して、スイッチ114との間の通信遅延を測定する。また、プロトコル処理部110は、時刻サーバ101から送信されたSyncメッセージ及びタイムスタンプをネットワーク処理部109から受け取ると、当該Syncメッセージに含まれる時刻情報及びタイムスタンプを用いて、時刻サーバ101との間の時刻誤差を計算し、時刻サーバ101に対する異常がないことを検知した場合、計算した時刻誤差をサーボ111に出力する。時刻サーバ101に対する異常の有無を検知する方法については後述する。また、プロトコル処理部110は、時刻サーバ104から送信されたSyncメッセージ及びタイムスタンプをネットワーク処理部109から受け取ると、当該Syncメッセージに含まれる時刻情報及びタイムスタンプを用いて、時刻サーバ104との間の時刻誤差を計算し、時刻サーバ101に対して異常がないことを検知した場合、計算した時刻誤差を記憶部113に記憶させ、時刻サーバ101に対して異常があることを検知した場合、計算した時刻誤差をサーボ111に出力する。
 サーボ111は、例えばデジタルフィルタやPID制御で構成された制御部であり、プロトコル処理部110が出力した時刻誤差を用いて操作量を計算して、これをクロック112へ出力する。例えば、クロック112が電圧制御水晶発振器の場合、操作量は、電圧である。クロック112がAdder Based Clockの場合、操作量は、クロック112のカウンタを増加させるタイミングの間の周波数とカウンタの増加量とである。クロック112は例えば電圧制御水晶発振器またはAdder Based Clockであり、時刻を計時する。クロック112は、サーボ111から出力された操作量に応じてクロックレートを変更する。
 記憶部113は、例えばレジスタやRAMにより構成され、プロトコル処理部110の制御の下、プロトコル処理部110が計算した時刻誤差を記憶する。また、記憶部113は、時刻サーバ101,104について、IEEE1588が規定する優先度を予め記憶する。記憶部113に記憶される時刻サーバ101の優先度は時刻サーバ104の優先度より高いものとする。アプリケーション115は、クロック112が計時した現在時刻を参照するアプリケーションプログラムである。
 以上のような構成の時刻同期システムでは、同一ネットワーク105上の2つの時刻サーバ101,104に対して各々異なるVLAN IDを付与する。スイッチ102は、時刻サーバ101から送信されたAnnounceメッセージやSyncメッセージに対して時刻サーバ101に付与されたVLAN IDを含むVLANヘッダを付加する。また、スイッチ102は、時刻サーバ104のVLAN IDを含むVANヘッダが付加されたAnnounceメッセージやSyncメッセージを時刻サーバ101に転送しないようにする。また、スイッチ103は、時刻サーバ104から送信されたAnnounceメッセージやSyncメッセージに対して時刻サーバ104に付与されたVLAN IDを含むVLANヘッダを付加する。また、スイッチ103は、時刻サーバ101のVLAN IDを含むVLANヘッダが付加されたAnnounceメッセージやSyncメッセージを時刻サーバ104に転送しないようにする。これにより、時刻サーバ101,104が互いに通信できないようにする。一方、通信装置106は、AnnounceメッセージやSyncメッセージに付加されたVLANヘッダが時刻サーバ101,104のいずれに付与されたVLAN IDを含んでいてもそのまま受信する。上述したように時刻サーバ101を主時刻サーバとしているので、通信装置106は、時刻サーバ101が正常である場合には、時刻サーバ101から送信されたSyncメッセージを用いて、時刻サーバ101に時刻を同期させるが、時刻サーバ101に対する異常を検知した場合、時刻を同期させる対象を時刻サーバ104に切替えて、時刻サーバ104から送信されたSyncメッセージを用いて、時刻サーバ104に時刻を同期させる。このような時刻同期システムは、例えば図6に示すような分散電力制御ネットワークや、変電所、工場、列車といった産業用ネットワーク及び家庭ネットワークに適用可能である。
 次に、本実施の形態にかかる時刻同期システムで行う時刻同期通信処理の手順について図7を用いて説明する。通信装置106は、マルチキャストアドレスを宛先としたPDelay_Reqメッセージを送信する(ステップS1)。スイッチ114はPDelay_Reqメッセージを受信すると、マルチキャストアドレスを宛先としたPDelay_Responseメッセージを送信する(ステップS2)。通信装置106は、PDelay_Responseメッセージに含まれるタイムスタンプを利用して、スイッチ114との間の通信遅延を測定する。
 スイッチ103も通信装置106と同様に、マルチキャストアドレスを宛先としたPDelay_Reqメッセージを送信する(ステップS3)。時刻サーバ104はPDelay_Reqメッセージを受信すると、マルチキャストアドレスを宛先としたPDelay_Responseメッセージを送信する(ステップS4)。スイッチ103はPDelay_Responseメッセージに含まれるタイムスタンプを利用して、時刻サーバ104との間の通信遅延を測定する。また、スイッチ102も通信装置106と同様に、マルチキャストアドレスを宛先としたPDelay_Reqメッセージを送信する(ステップS9)。時刻サーバ101はPDelay_Reqメッセージを受信すると、マルチキャストアドレスを宛先としたPDelay_Responseメッセージを送信する(ステップS10)。スイッチ102はPDelay_Responseメッセージに含まれるタイムスタンプを利用して、時刻サーバ101との間の通信遅延を測定する。
 時刻サーバ101は、定期的に、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットしたAnnounceメッセージを送信すると共に(ステップS5,S11)、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットした、時刻情報を含むSyncメッセージを送信する(ステップS6,S12)。ステップS5で送信されたAnnounceメッセージをスイッチ102が時刻サーバ101から受信すると、図2に例示されるように、時刻サーバ101のVLAN IDを含むVLANヘッダをAnnounceメッセージに付加して、ネットワーク105へ転送する。このAnnounceメッセージをスイッチ114がネットワーク105を介して受信すると、VLANヘッダを除去せずAnnounceメッセージを通信装置106へ転送する。
 また、時刻サーバ101がステップS6で送信したSyncメッセージをスイッチ102は受信すると、時刻サーバ101のVLAN IDを含むVLANヘッダをSyncメッセージに付加し、更に、Syncメッセージの転送処理時間、及び時刻サーバ101との間の通信遅延の値を、SyncメッセージのCorrectionフィールドの値に加算した値を、SyncメッセージのCorrectionフィールドにセットする。このSyncメッセージをスイッチ102はネットワーク105へ転送する。このSyncメッセージをスイッチ114がネットワーク105を介して受信すると、VLANヘッダを除去せずSyncメッセージを通信装置106へ転送する。
 尚、時刻サーバ101がステップS11で送信したAnnounceメッセージ及びステップS12で送信したSyncメッセージは、なんらかの異常の発生により、スイッチ102に受信されないことが、図7において例示されている。
 通信装置106は、時刻サーバ101がステップS6で送信したSyncメッセージを、ネットワーク105、スイッチ102及びスイッチ114を介して受信すると、時刻同期処理を行う(ステップS20)。この時刻同期処理の詳細な手順については後述する。
 一方、時刻サーバ104も時刻サーバ101と同様に、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットしたAnnounceメッセージを送信すると共に(ステップS7,S13)、Ethernet(登録商標)ヘッダの宛先アドレスにマルチキャストアドレスをセットした、時刻情報を含むSyncメッセージを送信する(ステップS8,S14)。時刻サーバ104がステップS7又はS13で送信したAnnounceメッセージをスイッチ103が時刻サーバ104から受信すると、時刻サーバ104のVLAN IDを含むVLANヘッダをAnnounceメッセージに付加して、ネットワーク105へ転送する。このAnnounceメッセージをスイッチ114がネットワーク105を介して受信すると、VLANヘッダを除去せずAnnounceメッセージを通信装置106へ転送する。また、時刻サーバ104がステップS8又はS14で送信したSyncメッセージをスイッチ103は受信すると、時刻サーバ104のVLAN IDを含むVLANヘッダをSyncメッセージに付加し、更に、Syncメッセージの転送処理時間、及び時刻サーバ104との間の通信遅延の値を、SyncメッセージのCorrectionフィールドの値に加算した値を、SyncメッセージのCorrectionフィールドにセットする。このSyncメッセージをスイッチ103はネットワーク105へ転送する。このSyncメッセージをスイッチ114がネットワーク105を介して受信すると、VLANヘッダを除去せずSyncメッセージを通信装置106へ転送する。
 通信装置106は、時刻サーバ104がステップS8で送信したSyncメッセージを、ネットワーク105、スイッチ103及びスイッチ114を介して受信すると、時刻同期処理を行う(ステップS21)。また、通信装置106は、時刻サーバ104がステップS14で送信したSyncメッセージを、ネットワーク105、スイッチ103及びスイッチ114を介して受信した場合も同様に、時刻同期処理を行う(ステップS22)。
 尚、Announceメッセージ及びSyncメッセージはマルチキャストで送信されるため、スイッチ103が転送したこれらのメッセージをスイッチ102が受信する可能性がある。しかし、これらのメッセージにはVLANヘッダが付加されているため、スイッチ102は、当該VLANヘッダに含まれるVLAN IDを参照して、当該VLAN IDが時刻サーバ104に付与されたものである場合、当該メッセージからVLANヘッダを除去して時刻サーバ104へ転送し、当該VLAN IDが時刻サーバ101に付与されたものではない場合、当該メッセージを時刻サーバ101へ転送しない。同様に、スイッチ102が転送したAnnounceメッセージ及びSyncメッセージをスイッチ103が受信する可能性がある。スイッチ103は、これらのメッセージに付加されたVLANヘッダに含まれるVLAN IDを参照して、当該VLAN IDが時刻サーバ104に付与されたものである場合、当該メッセージからVLANヘッダを除去して時刻サーバ104へ転送し、当該VLAN IDが時刻サーバ104に付与されたものではない場合、当該メッセージを時刻サーバ104へ転送しない。
 以上のようにスイッチ102,103を構成することで、時刻サーバ101及び時刻サーバ104は互いのメッセージを受信することがないため、一方の時刻サーバの異常が他方の時刻サーバへ影響することを防ぐことができる。また、IEEE1588が規定するとおり、時刻サーバ101及び時刻サーバ104は通信可能な時刻サーバの中で最も優先度が高い時刻サーバとなるため、時刻サーバ101及び時刻サーバ104は両方ともAnnounceメッセージ及びSyncメッセージを広告可能となる。
 次に、本実施の形態にかかる通信装置106の行う時刻同期処理の手順について図8を用いて説明する。ここでは、通信装置106は、時刻サーバ101又は時刻サーバ104から定期的に送信されるSyncメッセージを受信した後の処理の手順について説明する。通信装置106のネットワークインタフェース107は、受信したSyncメッセージをネットワークコントローラ108へ送り、ネットワークコントローラ108はSyncメッセージを受信した受信時刻をタイムスタンプとして取得する(ステップS21)。このタイムスタンプは、クロック112を用いて計測した値である。そしてネットワークコントローラ108は、タイムスタンプ及びSyncメッセージをネットワーク処理部109へ送る。ネットワーク処理部109は、タイムスタンプ及びSyncメッセージを受け取ると、Syncメッセージに付加されたEthernet(登録商標)ヘッダを処理した後、Syncメッセージに付加されたVLANヘッダに含まれるVLAN IDを検証する。VLAN IDが時刻サーバ101または104に付与されたものではない場合、ネットワーク処理部109は、Syncメッセージを破棄する。一方、VLAN IDが時刻サーバ101または104に付与されたものである場合、ネットワーク処理部109は、プロトコル処理部110へSyncメッセージ及びタイムスタンプを送る(ステップS22)。尚、ネットワーク処理部109はEthernet(登録商標)ヘッダおよびVLAN IDを除去したSyncメッセージをプロトコル処理部110へ送っても良い。
 次に、プロトコル処理部110は、Syncメッセージ及びタイムスタンプを受け取ると、タイムスタンプ、Syncメッセージに含まれる時刻情報、通信装置106とスイッチ114との間の通信遅延時間及びIEEE1588で規定された方法を用いて、Syncメッセージを送信した時刻サーバとの時刻誤差を計算する(ステップS23)。また、プロトコル処理部110は、Syncメッセージに付加されたVLANヘッダに含まれるVLAN IDが、主時刻サーバである時刻サーバ101に付与されたものか時刻サーバ104に付与されたものかを判断する(ステップS24)。VLAN IDが時刻サーバ101に付与されたものである場合(ステップS24:YES)、プロトコル処理部110は、時刻サーバ101に対する異常の有無を検知する(ステップS25)。
 時刻サーバ101に対して異常がある場合とは、例えば、図7に例示したステップS11で時刻サーバ101が送信したAnnounceメッセージを通信装置106が受信できない場合や、ステップS12で時刻サーバ101が送信したSyncメッセージを通信装置106が受信できない場合である。即ち、通信装置106が時刻サーバ101からAnnounceメッセージを過去に受信してから予め決められた時間経っても次のAnnounceメッセージを受信できない場合、または、時刻サーバ101からSyncメッセージを過去受信してから予め決められた時間経過しても次のSyncメッセージを受信できない場合である。また、時刻サーバ101の計時する時刻に異常を発見した場合も、時刻サーバ101に対して異常がある場合である。具体的には例えば、ステップS23で計算した時刻誤差が、過去に計算した時刻誤差の一定倍数以上(例えば3倍)になった場合や、過去の時刻誤差の時系列データを用いて回帰直線を求め、その傾きが「0」から一定数以上大きくなった場合である。このような時刻の異常の有無を検知する場合には、プロトコル処理部110は、時刻サーバ101に対して計算した時刻誤差を記憶部113に記憶させるようにする。
 図8の説明に戻る。そして、時刻サーバ101に対して異常がないことを検知した場合(ステップS25:NO)、プロトコル処理部110は、ステップS23で計算した時刻誤差をサーボ111へ出力する。この時刻誤差は、時刻サーバ101との時刻誤差である。サーボ111は入力された時刻誤差を用いてクロック112への操作量を計算し、操作量をクロック112へ出力する(ステップS28)。例えば、サーボ111はPID制御を用いて操作量を計算する。クロック112は、入力された操作量に応じてクロックレートを変更する(ステップS32)。
 一方、VLAN IDが時刻サーバ104に付与されたものである場合も(ステップS24:NO)、プロトコル処理部110は、時刻サーバ101に対する異常の有無を検知する(ステップS29)。そして、時刻サーバ101に対して異常がないことを検知した場合(ステップS29:NO)、プロトコル処理部110は、ステップS23で計算した時刻誤差及びSyncメッセージを記憶部113に記憶させる(ステップS31)。この時刻誤差は、時刻サーバ104との時刻誤差である。そしてプロトコル処理部110は処理を終了する。時刻サーバ101に対して異常があることを検知した場合には(ステップS29:YES)、プロトコル処理部110は、ステップS23で計算した時刻誤差をサーボ111へ出力する。この時刻誤差は、時刻サーバ104との時刻誤差である。サーボ111は入力された時刻誤差を用いてクロック112への操作量を計算し、操作量をクロック112へ出力する(ステップS30)。その後ステップS32に進む。
 また、ステップS25で、時刻サーバ101に対して異常があることを検知した場合(ステップS25:YES)、プロトコル処理部110は、ステップS31で記憶部113に記憶させた時刻サーバ104との時刻誤差及びSyncメッセージに含まれる時刻情報を用いて、現在の時刻誤差として推定される時刻誤差を再計算する(ステップS26)。例えば、プロトコル処理部110は、記憶部113に記憶させた時刻サーバ104との時刻誤差を推定時刻誤差とする。または、プロトコル処理部110は、前回時刻サーバ104からSyncメッセージを受信した時刻をT1、現在の時刻をT2、記憶部113に記憶させた時刻サーバ104との時刻誤差をEとし、(T2-T1)、Eおよびあらかじめ設定された値をかけた値を推定時刻誤差とする。そして、プロトコル処理部110は、再計算した時刻誤差をサーボ111へ出力する。サーボ111は入力された時刻誤差を用いてクロック112への操作量を計算し、操作量をクロック112へ出力する(ステップS27)。その後ステップS32に進む。
 以上の時刻同期処理を通信装置106は時刻サーバ101,104からSyncメッセージを受信する度に行うことで、サーボ111に時刻誤差を出力する時間間隔がある一定以上にならないようにすることができ、クロック112のクロックレートを間断なく調節することができる。具体的には、通信装置106は、時刻サーバ101からのSyncメッセージを定期的に受信できなくなった場合や、時刻サーバ101の時刻に異常を検知した場合に、クロック112のクロックレートの調節に、時刻サーバ101から受信したSyncメッセージを用いず、時刻サーバ104から最近受信したSyncメッセージを用いることで、通信装置106の時刻のずれを解消させることができる。即ち、時刻サーバ101または時刻サーバ104いずれかのSyncメッセージから得られた時刻誤差を常にサーボ111に出力するので、時刻サーバ101の異常時であっても時刻サーバ104が正常であればこの時刻に合わせることができるため、通信装置106の時刻のずれを解消させることができる。従って、同一ネットワーク上に複数の時刻サーバを設置して冗長化した場合、時刻サーバの異常時に通信装置の時刻精度を維持することが可能になる。
[第2の実施の形態]
 次に、通信装置及び時刻同期システムの第2の実施の形態について説明する。なお、上述の第1の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
 本実施の形態においては、通信装置106のプロトコル処理部110は、上述した時刻同期処理の際に、時刻サーバ101の正常時及び時刻サーバ104の正常時において、Syncメッセージの送信元の時刻サーバが主時刻サーバであるか副時刻サーバであるかに関わらず、Syncメッセージを用いて時刻誤差を計算して、サーボ111へ出力する。一方、プロトコル処理部110は、Syncメッセージの送信元の時刻サーバに対して異常があると検知した場合及び異常があると過去に検知した場合、Syncメッセージを用いた時刻誤差の計算を行わず、時刻同期処理を終了する。つまり、プロトコル処理部110は、異常を検知されていない時刻サーバから受信したSyncメッセージだけを用いて時刻誤差を計算し、サーボ111へ出力する。また、Syncメッセージの送信元の時刻サーバに対して異常があると検知した場合、プロトコル処理部110は、当該時刻サーバが時刻サーバ101,104のいずれであるかを示すと共に、当該時刻サーバに対して異常があることを示す異常検知データを記憶部113に記憶させる。プロトコル処理部110は、この異常検知データを参照することにより、Syncメッセージの送信元の時刻サーバに対して異常があると過去に検知したか否かを判断することができる。その他の通信装置106の構成及び時刻同期システムの構成については上述の第1の実施の形態と同様である。
 次に、本実施の形態にかかる通信装置106が行う時刻同期処理の手順について図9を用いて説明する。尚、時刻同期システムで行う時刻同期通信処理の手順は図7を用いて上述の第1の実施の形態で説明した通りである。通信装置106は、時刻サーバ101又は時刻サーバ104から定期的に送信されるSyncメッセージを受信した後、時刻同期処理を行う。ステップS21~S23の処理は上述の第1の実施の形態と同様である。ステップS40では、通信装置106のプロトコル処理部110は、Syncメッセージの送信元の時刻サーバに対して異常の有無、及び異常があると過去に検知したか否かを判断する。時刻サーバに対して異常の有無を検知する方法は、例えば、上述の第1の実施の形態で説明した時刻サーバの時刻の異常の有無を検知する方法と同様である。Syncメッセージの送信元の時刻サーバに対して異常があると過去に検知したか否かの判断は、プロトコル処理部110は、当該時刻サーバに対して異常があると示す異常検知データが記憶部113に記憶されているか否かを判断することにより行う。
 プロトコル処理部110は、Syncメッセージの送信元の時刻サーバに対して異常を検知せず、かつ異常があると過去に検知していないと判断した場合(ステップS40:NO)、上述のステップS28,S30と同様にして、ステップS23で計算した時刻誤差をサーボ111へ出力する。サーボ111は入力された時刻誤差を用いてクロック112への操作量を計算し、操作量をクロック112へ出力する(ステップS41)。その後のステップS32は上述の第1の実施の形態と同様である。
 一方、プロトコル処理部110は、Syncメッセージの送信元の時刻サーバに対して異常があることを検知した場合(ステップS40:YES)、当該時刻サーバが時刻サーバ101,104のいずれであるかを示すと共に、当該時刻サーバに対して異常があることを示す異常検知データを記憶部113に記憶させて、時刻同期処理を終了する。また、プロトコル処理部110は、異常があると過去に検知したと判断した場合も(ステップS40:YES)、同様に、時刻同期処理を終了する。
 以上の時刻同期処理を通信装置106は時刻サーバ101,104からSyncメッセージを受信する度に行う。このような処理では、通信装置106は、Syncメッセージの送信元に時刻サーバが主時刻サーバか副時刻サーバかに関わらず、かつSyncメッセージの送信元の時刻サーバに対して異常を検知しない限り、受信したSyncメッセージを利用してクロック112のクロックレートを調節する。そして、時刻サーバ101又は時刻サーバ104の異常を検知した後は、通信装置106は、正常な時刻サーバから受信したSyncメッセージのみをクロック112の調節に利用する。
 以上のような構成によれば、通信装置106は、時刻サーバ101の時刻に異常があった場合又は時刻サーバ101からSyncメッセージを受信できなくなった場合でも、時刻サーバ104からのSyncメッセージを利用してクロック112のクロックレートを間断なく調節することができる。また、第1の実施形態と同様に、VLANを利用することで、時刻サーバ101及び時刻サーバ104は互いに通信できないため、一方の異常がもう一方へ影響することを防ぐことができる。また、正常時に時刻サーバ101及び時刻サーバ104から受信したSyncメッセージ両方を利用してクロック112のクロックレートを調節するため、クロック112を調節する間隔は第1の実施形態よりも短くなる。このため、本実施の形態においては、通信装置106の時刻精度をより良く維持することが可能になる。
[第3の実施の形態]
 次に、通信装置及び時刻同期システムの第3の実施の形態について説明する。なお、上述の第1の実施の形態又は第2の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
 上述の第1の実施の形態においては、主時刻サーバである時刻サーバ101に対して異常があった場合、時刻を同期させる対象を副時刻サーバである時刻サーバ104に切り替える構成について説明した。本実施の形態においては、時刻を同期させる対象を副時刻サーバである時刻サーバ104に切り替えた後、時刻を同期させる対象を時刻サーバ101に復帰させる構成について説明する。本実施の形態においては、通信装置106が時刻サーバ101に対して異常があることを検知した後、時刻サーバ101をオペレータが復旧してスイッチ102に接続させ、時刻サーバ101がAnnounceメッセージ及びSyncメッセージを送信し始めた時に、通信装置106のネットワークインタフェース107は、これらを受信する。これらを受信したときに実現されるネットワークインタフェース107及びネットワークコントローラ108の各機能については上述の第1の実施の形態と同様である。プロトコル処理部110は、時刻サーバ101から送信されたSyncメッセージを用いて、時刻誤差を計算するが、時刻サーバ101の時刻が正常且つ安定した場合に、時刻を同期させる対象を時刻サーバ101に復帰させ、計算した時刻誤差をサーボ111に出力する。一方、時刻サーバ101の時刻が異常又は正常であっても安定していない場合、プロトコル処理部110は、時刻を同期させる対象を時刻サーバ101に復帰させず、計算した時刻誤差を記憶部113に記憶させる。その他の通信装置106の構成及び時刻同期システムの構成については上述の第1の実施の形態と同様である。
 次に、本実施の形態にかかる通信装置106が行う時刻同期処理の手順について図10を用いて説明する。尚、時刻同期システムで行う時刻同期通信処理の手順は図7を用いて上述の第1の実施の形態で説明した通りである。図10においては、通信装置106が、時刻を同期させる対象を主時刻サーバである時刻サーバ101から副時刻サーバである時刻サーバ104に切り替え、時刻サーバ104から受信したSyncメッセージを利用して時刻を同期させている場合に、時刻サーバ101からSyncメッセージを受信した後の手順について示されている。ステップS21~S23の処理は上述の第1の実施の形態と同様である。ステップS50では、プロトコル処理部110は、ステップS23で計算した時刻サーバ101の時刻が正常且つ安定しているかを検知する。時刻サーバ101の時刻の異常の有無を検知する方法は、上述の第1の実施の形態と同様である。時刻サーバ101の時刻が正常且つ安定している場合とは、例えば、ステップS23で計算した時刻サーバ101との時刻誤差及び過去の一定期間において計算されて記憶部113に記憶された時刻サーバ101との時刻誤差が、所定値以下(例えば、1μ秒)である場合である。
 プロトコル処理部110は、時刻サーバ101の時刻が正常且つ安定していると検知した場合(ステップS50:YES)、ステップS23で計算した時刻誤差をサーボ111へ出力する。サーボ111は入力された時刻誤差を用いてクロック112への操作量を計算し、操作量をクロック112へ出力する(ステップS51)。その後のステップS32は上述の第1の実施の形態と同様である。一方、プロトコル処理部110は、時刻サーバ101の時刻が異常又は正常であっても安定していないと検知した場合(ステップS50:NO)、ステップS23で計算した時刻誤差を記憶部113に記憶させる(ステップS52)。この時刻誤差は、次回以降のステップS50の検知に用いられる。
 以上のように、本実施の形態においては、通信装置106は、時刻サーバ101からSyncメッセージを受信しても、時刻を同期させる対象を時刻サーバ104から時刻サーバ101へ直ちに切替えるのではなく、一定期間、時刻サーバ101から受信したSyncメッセージを用いて計算された時刻誤差を検証して、時刻サーバ101の時刻が正常且つ安定していると検知した場合に、時刻を同期させる対象を時刻サーバ101へ切替える。このような構成によれば、復旧した時刻サーバ101の時刻に異常があった場合でも、その異常の影響を受けることなく、通信装置106の時刻精度を維持することができる。また、第1の実施形態と同様に、VLANを利用することで、時刻サーバ101及び時刻サーバ104は互いに通信できないため、一方の異常がもう一方へ影響することを防ぐことができる。
 なお、通信装置106は、時刻サーバ101の時刻が正常且つ安定していることを検知した以降は、図8や図9にその手順を示した時刻同期処理を行うようにしても良い。
[第4の実施の形態]
 次に、通信装置及び時刻同期システムの第4の実施の形態について説明する。なお、上述の第1の実施の形態乃至第3の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
 上述の実施の形態においては、クロック112は、クロックレートを変更できる発振器であるとした。本実施の形態においては、クロックとして、クロックレートを変更できない発振器を用いる。このようなクロックを用いると、クロックの時刻スピードが時刻サーバ101又は時刻サーバ104と異なる場合、そのクロックカウンタは時刻サーバ101又は時刻サーバ104の時刻から徐々に離れていくことになる。図11は、本実施の形態にかかる時刻同期システムの構成を例示する図である。同図に示されるように、本実施の形態に係る時刻同期システムでは、通信装置106は、図1に例示したクロック112の代わりにクロック912を備え、サーボ111の代わりにサーボ911を備え、アプリケーション115の代わりにアプリケーション915を備える。
 尚、本実施の形態においては、プロトコル処理部110は、時刻サーバ101に対する異常の有無を検知しない。代わりに、サーボ911は、時刻サーバ101の時刻の異常の有無及びクロックレートの異常の有無を検知する。また、サーボ911は、時刻サーバ101から受信されたSyncメッセージを用いて補正データを計算し、時刻サーバ104から受信されたSyncメッセージを用いて補正データを計算し、計算した補正データをそれぞれ記憶部113に記憶させる。図12は、補正データを例示する図である。同図に例示されるように、補正データは、Syncメッセージ受信時の時刻サーバにおける時刻(Syncメッセージに含まれるSyncメッセージの送信時刻にSyncメッセージのCorrectionフィールの値を加え、通信装置106とスイッチ114の間の通信遅延時間を減じた値)、Syncメッセージ受信時のクロック912のクロックカウンタ、及びSyncメッセージ受信時における時刻サーバに対するクロック912のクロックレートの違いによる1秒あたりの時刻誤差を対応付けて示すものである。
 また、サーボ911は、クロック912へ操作量を出力するのではなく、アプリケーション915からの要求に応じて、クロック912からクロックカウンタを取得し、記憶部113に記憶された後述の参照サーバ値によって示される時刻サーバに対する補正データを用いて現在時刻を計算して、これをアプリケーション915へ出力する。例えば、クロック912が25MHzの水晶発振器の場合、サーボ911は以下の式1により現在時刻を計算する。
現在時刻(秒)= Syncメッセージ受信時の時刻サーバにおける時刻+(クロックカウンタ-Syncメッセージ受信時のクロックカウンタ)/25/1000000*(1+クロックレートの違いによる1秒当りの時刻誤差[n秒]/1000000000)・・・(式1)
 つまり、本実施の形態においては、通信装置106は、クロック912のクロックレートを調節するのではなく、現在時刻を必要とするときにクロック912のクロックカウンタを読み取り現在時刻へ変換する。このため、サーボ911は、クロックカウンタから現在時刻への変換に必要な補正データを、Syncメッセージを受信する度に計算して、当該補正データを記憶部113へ記憶させる。
 また、サーボ911は、時刻サーバ101又は時刻サーバ104のいずれに対する補正データを用いるかを示す値(参照サーバ値という)を記憶部113に記憶する。具体的には、サーボ911は、時刻サーバ101の時刻に異常がある又はクロックレートが異常であることを検知した場合、時刻サーバ104に対する補正データを用いることを示すよう参照サーバ値を記憶部113において更新する。また、サーボ911は、時刻サーバ104の時刻に異常がある又はクロックレートが異常であることを検知した場合、副時刻サーバである時刻サーバ104が異常であることを示す値(副時刻サーバ異常値という)を記憶部113に記憶させる。
 記憶部113は、時刻サーバ101に対する補正データおよび時刻サーバ104に対する補正データと、参照サーバ値と、副時刻サーバ異常値とを記憶する。アプリケーション915は、クロック912ではなく、サーボ911から現在時刻を取得する。その他の通信装置106の構成及び時刻同期システムの構成については上述の第1の実施の形態と同様である。
 次に、本実施の形態にかかる通信装置106が行う時刻同期処理の手順について図13を用いて説明する。尚、時刻同期システムで行う時刻同期通信処理の手順は図7を用いて上述の第1の実施の形態で説明した通りである。通信装置106は、時刻サーバ101又は時刻サーバ104から定期的に送信されるSyncメッセージを受信した後、時刻同期処理を行う。ステップS21~S22の処理は上述の第1の実施の形態と同様である。ステップS23では、通信装置106のプロトコル処理部110は、Syncメッセージ及びタイムスタンプを受け取ると、Syncメッセージを送信した時刻サーバとの時刻誤差を計算するが、このとき、本実施の形態では、タイムスタンプと、記憶部113に記憶された参照サーバ値によって示される時刻サーバに対する補正データとを用いて、Syncメッセージ受信時刻を計算し、当該受信時刻、Syncメッセージに含まれる時刻情報、通信装置106とスイッチ114との間の通信遅延時間及びIEEE1588で規定された方法を用いて、時刻サーバとの時刻誤差を計算する。尚、Syncメッセージを送信した時刻サーバと、参照サーバ値によって示される時刻サーバとは必ずしも同じではない。そして、プロトコル処理部110は、計算した時刻誤差をサーボ911へ出力する。
 サーボ911は、時刻誤差を入力とするPID制御を用いてクロック912のクロックレートを計算する(ステップS60)。そして、サーボ911は、計算したクロックレートを用いて、クロックレートの違いによる1秒当たりの時刻誤差を計算し、この値を、記憶部113に記憶された補正データであって、Syncメッセージを送信した時刻サーバに対する補正データにおいて更新する。また、サーボ911は、当該補正データにおける、Syncメッセージ受信時の時刻サーバにおける時刻及びSyncメッセージ受信時のクロック912のクロックカウンタを更新する(ステップS61)。また、ステップS24では、プロトコル処理部110は、Syncメッセージに付加されたVLANヘッダに含まれるVLAN IDが、主時刻サーバである時刻サーバ101に付与されたものか時刻サーバ104に付与されたものかを判断して、その判断結果をサーボ911に出力する。VLAN IDが時刻サーバ101に付与されたものであると判断された場合(ステップS24:YES)、サーボ911は時刻サーバ101の時刻の異常の有無及びクロックレートが異常であるか否かを検知する(ステップS62)。サーボ911が時刻サーバ101の時刻の有無を検知する方法は、例えば、上述の第1の実施の形態でプロトコル処理部110が行ったものと同様である。クロックレートが異常である場合とは、例えば、ステップS60で計算したクロックレートと、時刻サーバ104に対するクロックレートとの差または比が予め設定された値以上である場合である。なお、ステップS62において、サーボ911は時刻サーバ104に対する補正データにおける、クロックレートの違いによる1秒当りの時刻誤差を用いてクロックレートを計算する。
 そして、サーボ911は、時刻サーバ101の時刻に異常がない及びクロックレートが異常でないことを検知した場合(ステップS62:NO)、時刻同期処理を終了する。一方、サーボ911は、時刻サーバ101の時刻に異常がある又はクロックレートが異常であることを検知した場合(ステップS62:YES)、時刻サーバ104に対する補正データを用いることを示すよう参照サーバ値を記憶部113において更新し(ステップS63)、時刻同期処理を終了する。
 また、ステップS24で、VLAN IDが時刻サーバ104に付与されたものであると判断された場合も(ステップS24:NO)、サーボ911は、ステップS62と同様にして、時刻サーバ104の時刻の異常の有無及びクロックレートが異常であるか否かを検知する(ステップS64)。そして、サーボ911は、時刻サーバ104の時刻に異常がない及びクロックレートが異常でないことを検知した場合(ステップS64:NO)、時刻同期処理を終了する。一方、サーボ911は、時刻サーバ104の時刻に異常がある又はクロックレートが異常であることを検知した場合(ステップS64:YES)、副時刻サーバである時刻サーバ104が異常であることを示す副時刻サーバ異常値を記憶部113に記憶させ(ステップS65)、時刻同期処理を終了する。
 以上の時刻同期処理を通信装置106は時刻サーバ101,104からSyncメッセージを受信する度に行う。尚、プロトコル処理部110は、所定時間以上経っても時刻サーバ101からAnnounceメッセージまたはSyncメッセージを受信できない場合、時刻サーバ104に対する補正データを用いることを示すよう参照サーバ値を記憶部113において更新するようにしても良い。また、時刻サーバ104の時刻が異常であることが検知され、副時刻サーバ異常値が記憶部113に記憶されている場合に、時刻サーバ101からSyncメッセージが受信された場合、サーボ911は、ステップS62で、時刻サーバ101に対して異常があると検知した場合、ステップS63を行わないようにしても良い。
 以上のような構成によれば、クロック912がクロックレートを変更できるものでなくても、通信装置106は、時刻サーバ101の時刻に異常がある場合、又は時刻サーバ101から定期的にSyncメッセージを受信できなくなった場合に、時刻誤差の計算に用いる補正データを時刻サーバ104に対する補正データに切替えることで、アプリケーション915が取得する時刻の精度を維持することが可能になる。また、第1の実施形態と同様に、VLANを利用することで、時刻サーバ101及び時刻サーバ104は互いに通信できないため、一方の異常がもう一方へ影響することを防ぐことができる。更に、時刻サーバ101の時刻に異常が起こっても、時刻サーバ104に対する補正データに影響がないため、通信装置106は時刻精度を正常な状態に瞬時に戻すことができる。
[第5の実施の形態]
 次に、通信装置及び時刻同期システムの第5の実施の形態について説明する。なお、上述の第1の実施の形態乃至第4の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。本実施の形態にかかる通信装置106の構成及び時刻同期システムの構成は、第4の実施の形態と同様である。第4の実施の形態においては、主時刻サーバである時刻サーバ101に対して異常があった場合、時刻誤差の計算に用いる補正データを副時刻サーバである時刻サーバ104に対する補正データに切り替える構成について説明した。本実施の形態においては、時刻誤差の計算に用いる補正データを時刻サーバ104に対する補正データに切り替えた後、時刻サーバ101に対する補正データに復帰させる構成について説明する。
 本実施の形態においては、通信装置106が時刻サーバ101に対して異常があることを検知した後、時刻サーバ101をオペレータが復旧してスイッチ102に接続させ、時刻サーバ101がAnnounceメッセージ及びSyncメッセージを送信し始めた時に、通信装置106のネットワークインタフェース107は、これらを受信する。これらを受信したときに実現されるネットワークインタフェース107及びネットワークコントローラ108の各機能については上述の第1の実施の形態と同様である。プロトコル処理部110は、時刻サーバ101から送信されたSyncメッセージを用いて時刻誤差を計算し、これを用いてサーボ911はクロックレートを計算するが、時刻サーバ101の時刻が正常且つクロックレートが安定した場合に、時刻サーバ101に対する補正データを用いることを示すよう参照サーバ値を記憶部113において更新する。一方、時刻サーバ101の時刻が異常又は正常であってもクロックレートが安定していない場合、サーボ911は、参照サーバ値を更新しない。その他の通信装置106の構成及び時刻同期システムの構成については上述の第1の実施の形態と同様である。
 次に、本実施の形態にかかる通信装置106が行う時刻同期処理の手順について図14を用いて説明する。尚、時刻同期システムで行う時刻同期通信処理の手順は図7を用いて上述の第1の実施の形態で説明した通りである。図14においては、通信装置106が、時刻誤差の計算に用いる補正データを時刻サーバ104に対する補正データに切り替え、時刻サーバ104から受信したSyncメッセージを利用して時刻を同期させている場合に、時刻サーバ101からSyncメッセージを受信した後の手順について示されている。ステップS21~S23の処理は上述の第1の実施の形態と同様である。ステップS60~S61の処理は上述の第4の実施の形態と同様である。ステップS70では、サーボ911は、時刻サーバ101の時刻が正常且つクロックレートが安定しているか否かを検知する。時刻サーバ101の時刻が正常である場合とは、例えば、時刻サーバ101から受信したSyncメッセージを用いて計算した、過去一定回数の時刻誤差が連続して設定された値以内である場合である。クロックレートが安定している場合とは、例えば、過去一定回数の時刻サーバ101に対するクロックレート全てに対して、記憶部113に記憶された時刻サーバ104に対するクロックレートとの差または比が、設定された値以内である場合である。
 そして、サーボ911は、時刻サーバ101の時刻が正常且つクロックレートが安定していることを検知した場合(ステップS70:YES)、参照サーバ値が時刻サーバ101を示すように参照サーバ値を記憶部113において更新する(ステップS71)。サーボ911は、時刻サーバ101の時刻が異常又はクロックレートが安定していないことを検知した場合(ステップS70:NO)、時刻同期処理を終了する。
 以上のような構成によれば、クロック912がクロックレートを変更できるものでなくても、通信装置106は、復旧した時刻サーバ101の時刻に異常がある場合やクロックレートが安定していない場合でも、時刻誤差の計算に時刻サーバ104に対する補正データを用いることで、時刻サーバ101の時刻の異常の影響を受けることなく、通信装置106の時刻精度を維持することができる。また、第1の実施形態と同様に、VLANを利用することで、時刻サーバ101及び時刻サーバ104は互いに通信できないため、一方の異常がもう一方へ影響することを防ぐことができる。
 なお、通信装置106は、時刻サーバ101の時刻が正常且つクロックレートが安定していることを検知した以降は、図13にその手順を示した時刻同期処理を行うようにしても良い。
[変形例]
 なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
 上述した各実施の形態において、通信装置106で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスク(FD)、CD-R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
 上述した第1の実施の形態乃至第3の実施の形態において、時刻サーバ101,104は、各々異なるスイッチ102,103を介してネットワーク105に接続したが、同一のスイッチを介してネットワーク105に接続しても良い。また、時刻サーバ101、時刻サーバ104及び通信装置106は、同一のスイッチを介してネットワーク105に接続しても良い。この場合も、上述の当該実施の形態と同様にして、時刻サーバ101,104はそれぞれVLANヘッダが付加されていないメッセージを送受信し、通信装置106は時刻サーバ101及び時刻サーバ104と通信する際は、各々に付与されたVLAN IDを含むVLANヘッダを付加したメッセージを送受信すれば良い。
 上述した第1の実施の形態乃至第3の実施の形態において、クロック112は、クロックレートを変更できる発振器であれば、水晶発振器やAdder Based Clockに限らない。
 上述した第1の実施の形態乃至第5の実施の形態においては、IEEE1588が規定するように、スイッチ102、スイッチ103及びスイッチ114は、Syncメッセージを受信してから転送を完了するまでの時間を保持しても良い。そして、時刻サーバ101,104はSyncメッセージ送信直後にSyncメッセージの送信時刻を示す時刻情報を含むFollow_Upメッセージを送信しても良い。また、スイッチ102、スイッチ103、スイッチ114はFollow_UpメッセージにSyncメッセージの転送処理時間および隣接するIEEE1588機器までの通信遅延をFollow_UpメッセージのCorrectionフィールドにセットされた値に加算した値を、Follow_UpメッセージのCorrectionフィールドにセットするようにしても良い。その場合、通信装置106のプロトコル処理部110は、Syncメッセージに加えてFollow_Upメッセージにセットされた、Syncメッセージの送信時刻を示す時刻情報およびCorrectionフィールドの値を用いて、時刻サーバ101または時刻サーバ104との時刻誤差を計算する。
 上述した第1の実施の形態乃至第5の実施の形態においては、通信装置106、スイッチ114、スイッチ102、スイッチ103はPeer to peer delay mechanismで隣接するIEEE1588との間の通信遅延を測定しなくても良い。その場合、通信装置106はIEEE1588に規定されたEnd to End delay mechanismを用いて通信装置106と時刻サーバ101との間の通信遅延、および通信装置106と時刻サーバ104との間の通信遅延を測定する。そしてスイッチ114、スイッチ102、およびスイッチ103はSyncメッセージを受信すると、Syncメッセージの転送処理時間のみをSyncメッセージのCorrectionフィールドにセットされた値に加算し、SyncメッセージのCorrectionフィールドにセットする。
 End to End delay mechanismに加えてFollow_Upメッセージを用いる場合、スイッチ114、スイッチ102およびスイッチ103はSyncメッセージの代わりにFollow_UpメッセージのCorrectionフィールドにSyncメッセージの転送処理時間のみをFollow_UpメッセージのCorrectionフィールドの値に加えてFollow_UpメッセージのCorrectionフィールドにセットする。
 上述した第1の実施の形態乃至第5の実施の形態においては、図8~10のステップS23において、プロトコル処理部110は、時刻サーバ101から過去に受信したSyncメッセージに含まれる時刻情報を用いて、時刻スピードの違いであるスキューを計算し、サーボ111へ出力しても良い。この場合、プロトコル処理部110は、時刻サーバ101に対してステップS23で計算したスキューを記憶部113に記憶させる。また、ステップS27,S28,S30では、サーボ111はスキューを用いて操作量を計算する。また、ステップS31では、プロトコル処理部110は、時刻サーバ104に対するスキューを記憶部113に記憶させる。
 上述した第1の実施の形態乃至第3の実施の形態においては、時刻サーバ101,104の他に新たな時刻サーバをEthernet(登録商標)スイッチを介してネットワーク105へ接続しても良い。この場合、通信装置106は、時刻サーバ101又は時刻サーバ104が正常のときに新たな時刻サーバからSyncメッセージを受信すると、ステップS31の処理を行う。そして、時刻サーバ101のみに対して異常があった場合、時刻サーバ104からSyncメッセージを受信すると、通信装置106はS30,S32の処理を行う。さらに、時刻サーバ101及び時刻サーバ104の両方に対して異常があった場合、新たな時刻サーバからSyncメッセージを受信すると、通信装置106はステップS26~27,S32の処理を行う。
 また、この場合、通信装置106は、全ての時刻サーバが正常であると判断し、且つ時刻サーバ101、時刻サーバ104、又は新たな時刻サーバからSyncメッセージを受信した時、ステップS23において計算した時刻誤差について、いずれかの時刻サーバとの時刻誤差が他の二台の時刻サーバの時刻誤差よりも大きく離れている場合(例えば、2μ秒など)、その時刻サーバに対して異常があると検知しても良い。このように、時刻サーバを3台時刻同期システムに設置することで、時刻の異常がある時刻サーバを多数決により特定することができる。
 上述した第4の実施の形態又は第5の実施の形態においても、時刻サーバ101,104の他に新たな時刻サーバをEthernet(登録商標)スイッチを介してネットワーク105へ接続しても良い。この場合、サーボ911は、それぞれの時刻サーバに対する補正データを記憶部113に記憶させる。そして、サーボ911は、時刻サーバ101、時刻サーバ104、新たな時刻サーバの順に優先度が高いとして、正常な時刻サーバを示す参照サーバ値を記憶部113に記憶させる。このような構成によっても、時刻の異常がある時刻サーバを多数決により特定することができる。
 上述した第3の実施の形態又は第5の実施の形態においては、通信装置106のプロトコル処理部110は、時刻を同期させる対象を時刻サーバ104から時刻サーバ101に自動的に切替えるのではなく、オペレータからの指示があった場合に切替えても良い。例えば、通信装置106は、情報を表示するディスプレイ等の出力部とオペレータからの操作が入力されるスイッチ等の操作入力部を備え、ステップS50で、プロトコル処理部110が、時刻サーバ101の時刻が正常且つ安定していることを検知した場合、切替え準備が調った旨を示すメッセージを出力部に表示させ、入力部を介してオペレータからの操作入力があったときに、時刻を同期させる対象を時刻サーバ104から時刻サーバ101に切替えても良い。また、出力部としては、切替え準備が調った旨を示すメッセージを表示するものではなく、遠隔に設置されたオペレーションセンタへネットワーク105を介して当該メッセージを送信するものであっても良い。
 第5の実施の形態においても同様に、通信装置106のサーボ911は、時刻誤差の計算に用いる補正データを、時刻サーバ101に対する補正データに自動的に切替えるのではなく、オペレータからの指示があった場合に切替えても良い。この場合も、例えば、通信装置106は、ディスプレイ等の出力部とスイッチ等の操作入力部を備え、ステップS70で、サーボ911が、時刻サーバ101の時刻が正常且つクロックレートが安定していることを検知した場合、切替え準備が調った旨を示すメッセージを出力部に表示させ、入力部を介してオペレータからの操作入力があったときに、時刻誤差の計算に用いる補正データを、時刻サーバ101に対する補正データに切替えても良い。この切り替え時に、例えば、サーボ911が、時刻サーバ101に対する補正データを用いることを示すよう参照サーバ値を記憶部113において更新する。また、出力部としては、切替え準備が調った旨を示すメッセージをオペレーションセンタへネットワーク105を介して送信するものであっても良い。
101,104 時刻サーバ
102,103,114 スイッチ
105 ネットワーク
106 通信装置
107 ネットワークインタフェース
108 ネットワークコントローラ
109 ネットワーク処理部
110 プロトコル処理部
111,911 サーボ
112,912 クロック
113 記憶部
115,915 アプリケーション

Claims (5)

  1.  各々異なる識別情報が付与された複数の時刻サーバとネットワークを介して接続される通信装置であって、
     前記時刻サーバが計時した時刻を示す時刻情報と、前記識別情報とを含むメッセージを受信する受信部と、
     前記メッセージが受信されたときの受信時刻を取得する第1取得部と、
     前記メッセージに含まれる前記識別情報が複数の前記時刻サーバのいずれかに付与されたものである場合に、前記メッセージに含まれる前記時刻情報及び前記受信時刻を用いて、時刻誤差を計算する計算部と、
     第1時刻サーバに対する異常の有無を検知する第1検知部と、
     前記第1時刻サーバに対して異常があることが検知された場合、第2時刻サーバに付与された前記識別情報を含むメッセージを用いて計算された前記時刻誤差を出力する出力部と、
     前記時刻誤差を用いて、操作量を計算するサーボと、
     前記操作量に基づいて、クロックレートを変更するクロックとを備える
    ことを特徴とする通信装置。
  2.  前記出力部は、前記第1時刻サーバに対して異常がないことが検知された場合、受信された前記メッセージを用いて計算された前記時刻誤差を出力する
    ことを特徴とする請求項1に記載の通信装置。
  3.  前記出力部は、
     前記メッセージに含まれる前記識別情報が第2時刻サーバに付与されたものである場合且つ前記第1時刻サーバに対して異常がないことが検知された場合、当該メッセージを用いて計算された前記時刻誤差を記憶部に記憶させる記憶制御部と、
     前記メッセージに含まれる前記識別情報が前記第1時刻サーバに付与されたものである場合且つ前記第1時刻サーバに対して異常がないことが検知された場合、当該メッセージを用いて計算された前記時刻誤差を出力し、前記メッセージに含まれる前記識別情報が第2時刻サーバに付与されたものである場合且つ前記第1時刻サーバに対して異常があることが検知された場合、当該メッセージを用いて計算された前記時刻誤差を出力し、前記メッセージに含まれる前記識別情報が前記第1時刻サーバに付与されたものである場合且つ前記第1時刻サーバに対して異常があることが検知された場合、前記記憶部に記憶された前記時刻誤差を用いて計算した推定時刻誤差を出力する誤差出力部とを有する
    ことを特徴とする請求項2に記載の通信装置。
  4.  前記第1時刻サーバに対して異常が検知された後に、前記第1時刻サーバに付与された前記識別情報を含む新たな前記メッセージが受信された場合、当該メッセージを用いて計算された前記時刻誤差及び過去に受信された前記メッセージを用いて計算された前記時刻誤差を用いて、前記第1時刻サーバの計時する時刻が正常且つ安定しているか否かを検知する第2検知部を更に備え、
     前記出力部は、前記第1時刻サーバの計時する時刻が異常又は安定していないことが検知された場合、前記第2時刻サーバに付与された前記識別情報を含むメッセージを用いて計算された前記時刻誤差を出力し、前記第1時刻サーバの計時する時刻が正常且つ安定していることが検知された場合、前記第1時刻サーバに付与された前記識別情報を含むメッセージを用いて計算された前記時刻誤差を出力する
    ことを特徴とする請求項3に記載の通信装置。
  5.  複数の時刻サーバと前記ネットワークとの接続を中継する少なくとも1つの第1スイッチと、請求項4に記載の通信装置と前記ネットワークとの接続を中継する第2スイッチとを備え、
     前記第1スイッチは、前記時刻サーバから送信された前記時刻情報を含む第1メッセージを受信した場合、当該時刻サーバに付与された前記識別情報を含むヘッダを前記第1メッセージに付加した第2メッセージを転送し、
     前記第2スイッチは、前記ネットワークを介して受信した前記第2メッセージを前記通信装置に転送する
    ことを特徴とする時刻同期システム。
PCT/JP2009/071632 2009-12-25 2009-12-25 通信装置及び時刻同期システム WO2011077558A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP09852574A EP2518634A1 (en) 2009-12-25 2009-12-25 Communication apparatus and time synchronization system
JP2011547168A JP5450656B2 (ja) 2009-12-25 2009-12-25 通信装置及び時刻同期システム
PCT/JP2009/071632 WO2011077558A1 (ja) 2009-12-25 2009-12-25 通信装置及び時刻同期システム
US13/432,420 US8762796B2 (en) 2009-12-25 2012-03-28 Communication device and time synchronization system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/071632 WO2011077558A1 (ja) 2009-12-25 2009-12-25 通信装置及び時刻同期システム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/432,420 Continuation US8762796B2 (en) 2009-12-25 2012-03-28 Communication device and time synchronization system

Publications (1)

Publication Number Publication Date
WO2011077558A1 true WO2011077558A1 (ja) 2011-06-30

Family

ID=44195119

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/071632 WO2011077558A1 (ja) 2009-12-25 2009-12-25 通信装置及び時刻同期システム

Country Status (4)

Country Link
US (1) US8762796B2 (ja)
EP (1) EP2518634A1 (ja)
JP (1) JP5450656B2 (ja)
WO (1) WO2011077558A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016503623A (ja) * 2012-11-16 2016-02-04 ブラックファイヤー リサーチ コーポレイションBlackfire Research Corporation 共通イベントベースのマルチデバイスメディア再生
JP2020155011A (ja) * 2019-03-22 2020-09-24 株式会社中電工 図面学習装置
WO2023243384A1 (ja) * 2022-06-17 2023-12-21 株式会社オートネットワーク技術研究所 車載装置および時刻同期方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013207784A (ja) * 2012-03-29 2013-10-07 Fujitsu Ltd 通信インターフェース装置、該プログラム、及び仮想ネットワーク構築方法
US9853949B1 (en) 2013-04-19 2017-12-26 Amazon Technologies, Inc. Secure time service
US20150213838A1 (en) * 2014-01-30 2015-07-30 Imperx, Inc. Network based video event recording system
DE102015112583B4 (de) * 2015-07-31 2017-06-08 Deutsche Telekom Ag Zeitserveranordnung
KR102065188B1 (ko) * 2019-06-15 2020-03-02 강길영 시각정보 제공모듈 및 이를 이용한 시각정보 제공방법
US11502767B2 (en) * 2019-08-16 2022-11-15 Arista Networks, Inc. VLAN-aware clock synchronization

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007178363A (ja) * 2005-12-28 2007-07-12 Seiko Precision Inc 計時システム、時刻サービス提供装置及び時刻サービス提供システム
JP2009157913A (ja) * 2007-12-07 2009-07-16 Omron Corp 産業用コントローラ
JP2009199139A (ja) * 2008-02-19 2009-09-03 Seiko Precision Inc パケット監視装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4481141B2 (ja) * 2004-10-13 2010-06-16 株式会社日立製作所 ストレージシステム及び計算機システム
US7926096B2 (en) * 2005-08-31 2011-04-12 Gemalto Sa Enforcing time-based transaction policies on devices lacking independent clocks
US8688588B2 (en) * 2007-06-08 2014-04-01 Sandisk Technologies Inc. Method for improving accuracy of a time estimate used in digital rights management (DRM) license validation
US8473638B2 (en) * 2008-05-02 2013-06-25 James Aweya Method and apparatus for time and frequency transfer in communication networks
JP4831154B2 (ja) * 2008-09-30 2011-12-07 ブラザー工業株式会社 計時装置
US7873862B2 (en) * 2008-10-21 2011-01-18 International Business Machines Corporation Maintaining a primary time server as the current time server in response to failure of time code receivers of the primary time server

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007178363A (ja) * 2005-12-28 2007-07-12 Seiko Precision Inc 計時システム、時刻サービス提供装置及び時刻サービス提供システム
JP2009157913A (ja) * 2007-12-07 2009-07-16 Omron Corp 産業用コントローラ
JP2009199139A (ja) * 2008-02-19 2009-09-03 Seiko Precision Inc パケット監視装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SVEN MEIER; HANS WEIBEL: "IEEE 1588 applied in the environment ofhigh availability LANs", 2007 PROCEEDINGS ON INTERNATIONAL IEEE SYMPOSIUMON PRECISION TIMING SYNCHRONIZATION (ISPCS, October 2007 (2007-10-01), pages 100 - 104

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016503623A (ja) * 2012-11-16 2016-02-04 ブラックファイヤー リサーチ コーポレイションBlackfire Research Corporation 共通イベントベースのマルチデバイスメディア再生
JP2020155011A (ja) * 2019-03-22 2020-09-24 株式会社中電工 図面学習装置
JP7301278B2 (ja) 2019-03-22 2023-07-03 株式会社中電工 図面学習装置
WO2023243384A1 (ja) * 2022-06-17 2023-12-21 株式会社オートネットワーク技術研究所 車載装置および時刻同期方法

Also Published As

Publication number Publication date
US20120254674A1 (en) 2012-10-04
JPWO2011077558A1 (ja) 2013-05-02
US8762796B2 (en) 2014-06-24
EP2518634A1 (en) 2012-10-31
JP5450656B2 (ja) 2014-03-26

Similar Documents

Publication Publication Date Title
WO2011077558A1 (ja) 通信装置及び時刻同期システム
JP5358813B2 (ja) ネットワークノード、時刻同期方法及びネットワークシステム
US8953645B2 (en) Communication system, communication apparatus and time synchronization method
CN102833061B (zh) 基于无缝冗余环网的提高时钟精度的方法及节点
EP2738971A1 (en) Mehtod and device for clock synchronization
WO2016004644A1 (zh) 一种监控以太网时钟同步的方法及装置
JP6452427B2 (ja) 時刻同期監視方法、通信システム、及びマスタ装置
WO2017107519A1 (zh) 时钟同步方法和装置
JP2013017104A (ja) 通信システム
US20160170441A1 (en) Feed-forward time transfer mechanism for time synchronization
JP5736550B1 (ja) 基地局装置
US8472370B2 (en) Apparatus and method for timing synchronization in a communication system
JP2011091624A (ja) メッシュネットワークシステム及びその時刻同期方法
JP6281603B2 (ja) 情報処理システム、情報処理方法、及び、情報処理プログラム
JP2011176479A (ja) 情報通信システム及び処理遅延時間算出方法
EP2628274B1 (en) Reducing continuity check message (ccm) bursts in connectivity fault management (cfm) maintenance association (ma)
EP3166241A1 (en) Monitoring clock synchronization status in an ethernet-based network
JP6729040B2 (ja) 通信システム、ノード装置、およびプログラム
JP5391964B2 (ja) クロック同期方法及びパケット通信システム
JP2012114815A (ja) 位相同期装置および位相同期方法
EP3288200B1 (en) Method of synchronizing master and slave clocks in a computer network, corresponding system
KR20150027606A (ko) 센서 네트워크에서의 시간 동기 장치 및 방법
WO2015063815A1 (ja) 信号処理装置
KR20100048124A (ko) 근거리 통신망에서의 시간 동기화 방법
EP3288198B1 (en) System and method of clock synchronization in a computer network

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09852574

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011547168

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2009852574

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE