WO2004066530A1 - Method and apparatus for the synchronization of a system time of a communications network with a clock reference - Google Patents

Method and apparatus for the synchronization of a system time of a communications network with a clock reference Download PDF

Info

Publication number
WO2004066530A1
WO2004066530A1 PCT/US2004/000858 US2004000858W WO2004066530A1 WO 2004066530 A1 WO2004066530 A1 WO 2004066530A1 US 2004000858 W US2004000858 W US 2004000858W WO 2004066530 A1 WO2004066530 A1 WO 2004066530A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
module
communications network
synchronization
limit
Prior art date
Application number
PCT/US2004/000858
Other languages
French (fr)
Inventor
Ronald E. Rygielski
Steven C. Ramsdell
David I. Kirk
Original Assignee
Honeywell International Inc.
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 Honeywell International Inc. filed Critical Honeywell International Inc.
Priority to EP04702172A priority Critical patent/EP1782559A1/en
Publication of WO2004066530A1 publication Critical patent/WO2004066530A1/en

Links

Classifications

    • 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/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G04HOROLOGY
    • G04GELECTRONIC TIME-PIECES
    • G04G7/00Synchronisation
    • 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
    • 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/0664Clock or time synchronisation among packet nodes using timestamps unidirectional timestamps
    • 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/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0688Change of the master or reference, e.g. take-over or failure of the master

Definitions

  • the present invention relates to network timing synchronization. More particularly, the present invention relates to a method and apparatus for controlling the relationship between a reference clock and a system time of a communications network in a precise manner within a predetermined degree of accuracy.
  • Communications networks and the nodes thereof very often need to be synchronized so that processing tasks are scheduled and executed in an orderly and sequenced manner in order to avoid conflicts in communication and/or execution of tasks.
  • Various time synchronization techniques have been proposed in the past. Some of these systems and methods reset either the network system time to match the time provided by the node reference timing signal or vice versa. However, the resetting of the time between the network and the nodes thereon may result in non-linear adjustments in the network and/or node reference time. In an attempt to synchronize the network time and the node reference time, some of the previous systems and methods resulted in non-uniform gaps and reversals of time content.
  • time may need adjusting to compensate for a rather large or abrupt change in time from the current time to a desired time. For example, to compensate for daylight savings time, an adjustment of one hour may be required.
  • some of the heretofore systems and methods for network time synchronization have to be adjusted manually. Such a proposition may pose considerable costs on the communications network in terms of system availability, reliability, and accuracy during the (manual) resetting of the network time.
  • the present invention provides a method for controlling a time synchronization relationship between a communications network time and a module located at a node connected to the communications network for providing a module reference time, the method includes determining a time synchronization function is enabled, determining a time difference between the communications network time and the module reference time provided by the module, determining that the determined time difference is greater than a first limit, and less than or equal to a second limit, and gradually adjusting, automatically, the network communications network time to synchronize with the module reference time over a predetermined synchronization interval.
  • the system of the present invention provides a module for controlling a time synchronization relationship between the communications network time and the module reference time of a node connected to the communications network, the module includes a processor, a network interface for providing a communication interface to the communications network, a bus interface for providing a communication interface to a host processor, and a system clock subsystem for providing the module reference time and for controlling the time synchronization functionality to reduce a time difference between the communications network time and the module reference time.
  • Fig. 1 is a schematic block diagram of an exemplary communications network environment for the system and method of the present invention
  • Fig. 2 is block diagram illustrating portions of an exemplary module of a communications network
  • Fig. 3 is an exemplary communications network suitable for the system and method of the present invention.
  • Fig. 4 is a flow diagram illustrating portions of the method of the present invention.
  • Fig. 5 is an exemplary configuration menu screen, in accordance with the system and method of the present invention.
  • Fig. 6 depicts an exemplary Accumulated Seconds Register that contains the current time in seconds
  • Fig. 7 depicts an exemplary Interpolation Register for containing the fractional part of the current second
  • Fig. 8 depicts an exemplary status register
  • Fig. 9 depicts an exemplary command register
  • Fig. 10 illustrates a corresponding listing of command operation codes for the command register of Fig. 9. DETAILED DESCRIPTION OF THE INVENTION
  • Modules 110-00, 110-01 to 110-n are interconnected to communicate with each other over network control bus 105.
  • Each of the modules 110-00 to 110-n of communications network 100 are preferably the equivalent of each other, i.e., capable of performing the same functions.
  • Each of the modules 110-00 to 110-n preferably receives all signals transmitted from any of the other modules 110-00 to 110-n via bus 105.
  • the signals transmitted over bus 105 are broadcast to all of the modules 110- 00 to 110-n.
  • Each module 110 such as module 110-01 shown in Fig. 2, includes a microprocessor 125 for carrying out the processing functionality of the module as determined by instructions from local memory and/or instructions from other of the modules or other networked and interface components.
  • Modules 110 are preferably implemented as a processor board interfaced with a PC (personal computer). Accordingly, module 110-01 has a bus interface 130 for connecting to a communications interface slot of the PC, such as an industry standard PCI slot.
  • the module includes a network interface 135 for interfacing and connecting to communications network 100.
  • Transceiver 150 provides a connection to communications network 100 for receiving and transmitting signals.
  • Module 110-01 includes a system clock subsystem 140 for generating and controlling the timing aspects of the module.
  • a time link connector 145 is preferably included for connecting a number of the modules together such that timing signals may be communicated between the various modules 110-00 to 110-n.
  • Time link 145 may be used to provide, optionally, interface capabilities with a GPS (Global Positioning Satellite) reference timing signal.
  • modules 110 are connected to dually redundant buses LAN A 320 and LAN B 325 as illustrated in the exemplary communications network of Fig. 3, such as a plant local control network 300.
  • Local control network 300 is preferably segmented into local control network clusters 305, 310, and 315.
  • Modules 110 each embodied as a processor board, are plugged into a PCI slot of a PC based bridge and operates as a PCI target device.
  • the PC based bridges are networked for communication with each other over dually redundant LAN A 320 and LAN B 325. In this manner, although network 300 is segmented, the various clusters of 300 network are interconnected for communication.
  • the network interface 135 preferably also provides the connection for the reception and transmission of time synchronization data.
  • Time link 345 connects the modules 110 of local control network 300 together for routing and sharing of timing information between the modules 110.
  • time link 145 can be utilized to limit the drift or skew between modules 110 and reception of the GPS reference timing signal.
  • time synchronization is provided as a function of the local control network 100, 300.
  • the communications network 100, 300 is periodically synchronized to the time of a network module 110. Accordingly, the module 110 time is periodically pushed onto the communications network 100, 300.
  • one of the modules is designated a master, one a slave, and the other networked modules are designated as listeners.
  • the slave module provides functional redundancy for the master module in the instance the master fails or is otherwise incapable of performing the master system clock subsystem functions. It is preferred that a switch-over to the slave module from the master module is transparent regarding the time synchronization of the network time and the local time.
  • system clock subsystem 140 operates to synchronize the local time of the module 110 (e.g., 110-01) to network 100, 300 for the purpose of, for example, maintaining accurate scheduling of tasks, including the monitoring and archiving of an error history.
  • system clock subsystem 140 maintains the current time in a seconds/100 ⁇ s format, which is distributed to the other modules 110 to maintain the synchronization between the local control network connected nodes (e.g., modules 110).
  • System clock subsystem 140 maintains the accurate timing signal for the communications network, (e.g. plant control network 300), distributes the timing signal to the communications network 100 and 300, interprets the signals received over the network, and provides the time reference to the module processor and the bridge kernal level driver.
  • the communication to microprocessor 125 may be accomplished, preferably, by precisely spaced interrupts at 50 msec and 1 second intervals.
  • a time interpolations resister for monitoring the number of 100 ⁇ s intervals since the last second rollover is also provided as part of the system clock subsystem.
  • Fig. 6 depicts an exemplary Accumulated Seconds Register that contains the current time in seconds (i.e., the calendar time in seconds). As shown, the current time can be represented by a 32 bit binary representation of the present time in seconds.
  • Fig. 7 shows an exemplary Interpolation Register for containing the fractional part of the current second. As shown, register locations are provided for the number of 100 microsecond intervals since a last second rollover.
  • Fig. 8 shows an exemplary statutes register for containing, inter alia, data related to the current sync state, mode of operation (e.g., master, slave, or listener), error codes, and a status bit indicative of whether a new time value has been written to the Real Time Clock Subsystem of the present invention.
  • mode of operation e.g., master, slave, or listener
  • error codes e.g., error codes
  • status bit indicative of whether a new time value has been written to the Real Time Clock Subsystem of the present invention.
  • Fig. 9 depicts an exemplary command register and Fig. 10 illustrates a corre -si ponding listing of command operation codes for the command register of Fig. 9.
  • Fig. 10 includes definitions for the extended command set, $F, gradual adjust control.
  • the method and system of herein provides a method for providing system time synchronization across local control networks segments 305, 310, and 315.
  • the current system time i.e., calendar time
  • Every other module 110 maintains a local copy of the current time, preferably within a 100 ⁇ s resolution.
  • Each slave module is preferably synchronized to the clock of the master module (i.e., the master clock).
  • the local time bases are maintained at a non-synchronized drift rate of ⁇ 32ppm ⁇ 2.76 sec/day until synchronization is re-established.
  • the system synchronization is preferably automatically maintained by software and does not require user intervention or initiation.
  • the amount of time skew permitted between local network segments may be limited based on the particular implementation and context of application for the present application. For example, if an application requires a low amount of skew (e.g., ⁇ 16 msec) between network segments then time link cables 345 may be used to daisy chain time link connectors of modules 110 together. For an application where the amount of skew between modules is less critical, then the use of the time link cables 345 may be avoided.
  • skew e.g., ⁇ 16 msec
  • GPS interface 155 may be connected to the GPS antenna 350 to receive the GPS reference signal obtained from GPS satellite 355 for receiving a stable, reliable timing signal.
  • time link connector 145 can be connected to time link cable 345 and GPS interface 350 can be connected to GPS antenna 350.
  • the system clock subsystem uses 5 MBPS time sync frames for maintaining network time synchronization.
  • the 5 MBPS time sync frames are generated by the master clock designated module at 1 second intervals.
  • the master module acts as a transmitter of the. system-wide real time clock data and the slave and listener modules act as receivers of the time sync frame transmissions.
  • the module 110 transmitting the 5MBPS time sync frames is designated the master clock via a personality software control.
  • the clock operating as the master is instructed to generate an interrupt each 1 second period, and when a time set occurs to the Kernel firmware.
  • the Kernel firmware initiates a 5 MBPS time sync frame in response to this 1 second periodic interrupt.
  • the designated slave clock acts as a backup for the master clock.
  • Software preferably controls the selection of the master and slave clocks and handles the switchover of the transmit function through control of a master/slave relationship, including an initial startup selection and all failure scenarios.
  • the time information is updated locally during the unsynchronized period to continue in an uninterrupted manner based upon the last valid time data received prior to the failover.
  • the first module 110 Upon the establishment of the module/node load, the first module 110 preferably establishes itself as the master time reference source by trying to detect a clock on LAN A and LAN B. Since the module will be the first clock source, it will not detect a clock source and will thus assume the role as the master module. After establishing itself as the master, the module does not listen but instead broadcasts its time synchronization message (i.e., reference time) periodically, preferably once every second.
  • time synchronization message i.e., reference time
  • the second module loaded onto the network will detect a clock on both LAN A and LAN B and will thus become a slave.
  • the slave module listens for and receives time synchronization message from the master module to synchronize its clock thereto.
  • the slave does not normally transmit its clock time onto the network unless the master module fails.
  • the transition from master clock reference to slave clock reference should be smooth and virtually transparent since the slave was tracking the master modules clock source.
  • FIG. 4 A flow diagram illustrating an exemplary process used by the present invention to automatically synchronize the communications network 100, 300 time to the reference time of the modules 110 is shown in Fig. 4.
  • the reference time provided by module 110 designated as the master may be generated or obtained by the system clock subsystem 140 from a local crystal oscillator, from a time synchronizations functionality of an operating system of the PC in which the master module 110 is interfaced with, or from an independent source such as a GPS signal.
  • the communications network time and the module 110 time are periodically read to determine the synchronization between the two time signals. In one embodiment of the present invention, this period is once every one (1) second. If the determination is made that there is a time difference greater than a predetermined limit, then the time synchronization process of Fig. 4 is invoked.
  • the time synchronization functionality of the present invention is preferably enabled or disabled at the preference of a user.
  • the user may be a network administrator for the communications network 100, 300. It should be noted that the time synchronization may, as a default, be enabled or disabled.
  • a determination is made whether the time synchronization functionality of the present method and system is enabled. If not enabled, then process 400 proceeds to the end at step 450. In the instance the time synchronization functionality is enable, then process 400 proceeds to step 415.
  • the Dead Band limit is preferably set at or below a threshold value above which the operations of the communication network would be adversely affected. The Dead Band limit should therefore represent a relatively insignificant time difference as far as network communication, scheduling and operations are concerned. That is, the Dead Band limit is set to allow for tolerable differences in the network time and the module 110 time.
  • any Gradual Adjustment in effect at the time the time difference is equal to or less than the Dead Band limit i.e., the time difference is between zero time difference and the dead bane limit
  • the Dead Band limit i.e., the time difference is between zero time difference and the dead bane limit
  • process 400 proceeds to step 450. However, if the time difference between the communications network time and the module 110 time is not in the Dead Band range, as determined at step 420, then process 400 proceeds to step 425.
  • the time synchronization function at step 440 determines the rate at which the gradual adjustment of the time is applied to the network time. Preferably, the time adjustments are applied smoothly over a period of time, such as a day, at a rate of 1 sec/day to 8 sec/day. By adjusting the network time gradually, the impact to the sequence of events logging is minimized and the abrupt loss of network history data is avoided.
  • the time synchronization function at step 440 uses a gradual adjustment algorithm to automatically calculate the rate of change value for the gradual adjustment based on, in one aspect hereof, the time difference and the synchronization interval. The rate of correction is calculated to complete the time correction over the configured synchronization interval. The maximum rate of correction may be limited to, for example, 8 sec/day.
  • the time synchronization function at step 440 operates to correct the 2 second time difference over the next 12 hour cycle.
  • the calculated rate of change will remain in effect until the next scheduled synchronization interval unless the time synchronization function detects a time sync configuration change, a Daylight Savings Time change, a Demand Time Sync Request change, or a Set Network Control Time to Module/Node Time Request change is detected. If any of these events occurs, then the rate of change is recalculated and reapplied by the time synchronization function adjustment, step 440.
  • step 425 If it is determined at step 425 that the time difference is not in the Gradual Adjustment range, then process 400 proceeds to step 430.
  • step 430 a determination is made whether the time difference is in an Immediate Adjustment range. In the instance the time difference is in the Immediate Adjustment range, process 400 proceeds to step 440 to immediately change the communications network time to match that module 110 time. This immediate time correction is in contrast to the gradual adjustment of the communications network time invoked when the time difference is in the Gradual Adjustment range, as determined at step 425. In the Immediate Adjustment range, applying the gradual adjustment is expected to take too long. Thus, adjusting the network time immediately is done.
  • the Immediate Adjustment range is defined as a time difference greater than the Gradual Adjustment limit and below or equal to a Cutoff Synchronization limit.
  • the Cutoff Synchronization limit is a time difference for which a gradual or immediate adjustment of the network time is deemed unacceptable.
  • process 400 proceeds to step 435 and is considered to be in a User Intervention range.
  • the Cutoff Synchronization limit is preferably user configurable. If the time difference exceeds the Cutoff Synchronization limit then a user-initiated mechanism is provided through a user interface so that the user can initiate a network time synchronization.
  • the user may initiate an immediate communications network time adjustment by selecting to invoke the Set Network Time to Module Node Time operation.
  • the Set Network Time to Module/Node Time operation is preferably only enabled at the module 110 designated as the master for selection by an authorized user. Since an immediate change of the network time may cause disruptions in the history and error logging, a warning message may be displayed to the user via the user interface to warn the user that such an immediate network time change may cause an abrupt loss of history data.
  • a warning-level event is logged by PC interfaced with the master module to indicate an immediate change in network time occurred. This provides a measure of explanation in the event that the immediate change of network time does result in a loss of history data.
  • the user may manually adjust the time difference to be equal to or less than the Cutoff Synchronization limit. By doing so, process 400 will proceed to act on the time difference, as discussed above.
  • the user can also invoke the Demand Time Sync operation at the master module to avoid waiting for the next scheduled time sync interval.
  • the Demand Time Sync operates exactly like a scheduled time sync and resets the interval scheduling.
  • Redundancy for the time synchronization functionality of the present invention is provided by having at least two modules/nodes on communications network 100, 300 configured as clock sources.
  • one module 110 is designated as the master, at least one module 110 is designated as the slave, and the other modules 110 are configured as listeners.
  • the slave(s) provide backup for the master in the event the master fails.
  • the time sync functionality only actively corrects time on the master module.
  • the other modules are updated by the timing signal received from the master module. It is preferred that the time synchronization function performs some level of monitoring of module 110 activity to prepare the non-master modules for assuming the role of the master.
  • the master and slave modules are configured the same so that a failover to the slave module does not change the communications network 100, 300 time sync configuration parameters.
  • the time synchronization parameters on the (newly) designated master will be used.
  • the time synchronization parameters may be shared between modules.
  • a user interface is provided to effectuate the configuration and monitoring of the time synchronization function. Since modules 110 are preferably implemented as processor boards interfaced with a PC, the user interface may be graphical menu (i.e., window) as part of a graphical user interface.
  • Fig. 5 illustrates an exemplary graphical menu 500 that is preferably available as a tab on a network configuration utility. Access to the Time sync configuration page 500 is preferably limited to authorized users.
  • any change to the time synchronization configuration will cause the time sync function to execute immediately based on the new configuration settings. Thereafter, the time sync function will operate on a periodic basis specified in the synchronization interval 535.
  • the Enable Time Synchronization checkbox 510 must be checked for the time sync function to be enabled. The selection of this checkbox is verified at step 410 of Fig. 4. By default, Enable Time Synchronization checkbox 510 may be unchecked.
  • the Enable Gradual Adjustment checkbox 515 is selected to enable the gradual adjustment of the network time as discussed above. By default, Enable Time Synchronization checkbox 510 may be checked.
  • the Enable Auto Adjust for Daylight Savings checkbox 505 is selected to enable the immediate adjustment of the network time to compensate for daylight savings time changes, as discussed above. By default, Enable Auto Adjust for Daylight Savings checkbox 505 may be unchecked. If enabled and invoked, the automatic adjustment for daylight savings time functionality supersedes any gradual adjustment that may be in effect by the system and method herein. Preferably, the Enable Auto Adjust for Daylight Savings checkbox 505 is independent of Enable Time Synchronization checkbox 510.
  • the network time is will immediately be changed to the match the master module's reference time, regardless of the synchronization interval or the Cutoff Synchronization limit or the Gradual
  • the Synchronization Interval box 520 value is applicable when the Enable
  • Synchronization checkbox 510 is checked. It provides a mechanism for the user to set the synchronization interval, preferably between 1 and 99999 seconds with 3600 seconds (1 hour) being a preferred default value.
  • Dead Band limit box 525 provides a mechanism for the user to specify the Dead
  • the Dead Band limit the time difference for which the time synchronization function will take no action. Per process 400, the Dead Band limit cannot be greater than the Gradual Adjustment limit, provided the Gradual Adjust is enabled at checkbox 515.
  • the Dead Band limit may have a default of 2 seconds.
  • the Gradual Adjust Limit box 530 is applicable when the Gradual Adjust checkbox 515 is enabled.
  • the Gradual Adjust box may be set to a value between 1 and 99999 seconds. By default, the Gradual Adjust box is set to 10 seconds.
  • the Cutoff Synchronization limit box 535 is provided to allow for the setting of the time difference limit above which the time synchronization feature will not automatically reset the communications network time.
  • the range for this limit is preferably 1 to 99999 seconds.
  • the Cutoff Synchronization limit is greater than the Gradual Adjust limit when the Gradual Adjust is enabled or greater than the Dead Band limit when the Gradual Adjust is not enabled. By default, the Cutoff Synchronization limit may be set to 99999 seconds (i.e., «27.5 hours).
  • the user interface preferably provides at least a portion of a display screen for providing a status of the time synchronization function of the present invention.
  • the status screen will preferably display whether the time sync function is enabled, the status of a particular node (e.g., master, slave, or listener), the current communications network time, the current module/node time, the last time a time sync operation occurred, and the category or range for the time difference (e.g., Dead Band, Gradual Adjust, etc.).
  • a particular node e.g., master, slave, or listener
  • the current communications network time e.g., the current module/node time
  • the last time a time sync operation occurred e.g., Dead Band, Gradual Adjust, etc.
  • Time function is provided for by the present invention. Such functionality is preferably presented to the user via the user interface aspects hereof to facilitate the user initiating an action to immediately synchronize the network time to the master module's reference time. However, this functionality is preferably not enabled on any modules other than the master module. The interval scheduling will be reset and any Gradual Adjustment in effect will be eliminated when the Set Network Time to Module/Node Time action is initiated.
  • an Demand Time Sync function that enables the user to initiate, on the master module, to force a network time sync without having to wait for the next time sync interval to occur.
  • the gradual adjustment of the communications network discussed above may be disabled or not implemented in an implementation of the present invention. In such a configuration, time differences greater than the Dead Band limit are adjusted immediately.
  • time synchronization system and method of the present system may be implemented by a computer readable storage medium (e.g., a removable storage iiiei-uu , a memory car ⁇ or a naru ⁇ s ⁇ ) navmg program msiructions embo ⁇ ie ⁇ tnerem for executing the methods of the present invention.
  • the computer readable storage medium can be read and the program instructions executed by a processor.
  • providing a time synchronization system and method can be accomplished by program instructions for program instructions for determining a time synchronization function is enabled, program instructions for determimng a time difference between the communications network time and the module reference time provided by the module, program instructions for determining that the determined time difference is greater than a first limit, and less than or equal to a second limit, and program instructions for gradually adjusting, automatically, the network communications network time to synchronize with the module reference time over a predetermined synchronization interval.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Abstract

A system and method for controlling a time synchronization relationship between a communications network (100, 300) time and a module (110) located at a node connected to the communications network for providing a module reference time, the method including determining (410) a time synchronization function is enabled, determining (420) a time difference between the communications network time and the module reference time provided by the module, determining (425) that the determined time difference is greater than a first limit, and less than or equal to a second limit; and gradually adjusting (440), automatically, the network communications network time to synchronize with the module reference time over a predetermined synchronization interval.

Description

METHOD AND APPARATUS FOR THE SYNCHRONIZATION OF A SYSTEM TIME OF A COMMUNICATIONS NETWORK WITH A CLOCK REFERENCE
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to network timing synchronization. More particularly, the present invention relates to a method and apparatus for controlling the relationship between a reference clock and a system time of a communications network in a precise manner within a predetermined degree of accuracy.
2. Description of the Related Art
Communications networks and the nodes thereof very often need to be synchronized so that processing tasks are scheduled and executed in an orderly and sequenced manner in order to avoid conflicts in communication and/or execution of tasks. Various time synchronization techniques have been proposed in the past. Some of these systems and methods reset either the network system time to match the time provided by the node reference timing signal or vice versa. However, the resetting of the time between the network and the nodes thereon may result in non-linear adjustments in the network and/or node reference time. In an attempt to synchronize the network time and the node reference time, some of the previous systems and methods resulted in non-uniform gaps and reversals of time content.
Also, there are instances when the time may need adjusting to compensate for a rather large or abrupt change in time from the current time to a desired time. For example, to compensate for daylight savings time, an adjustment of one hour may be required. In these instances, some of the heretofore systems and methods for network time synchronization have to be adjusted manually. Such a proposition may pose considerable costs on the communications network in terms of system availability, reliability, and accuracy during the (manual) resetting of the network time.
There are also some communications network environments wherein the network is segmented into a number of clusters. In such a network configuration, there is a need to synchronize the network time and the reference time of the nodes distributed throughout the various segments of the communications network.
Therefore, there exists a need to provide a synchronization method and apparatus for controlling the relationship between the communications network system time and a reference clock in a smooth and precise manner. Accordingly, it would be beneficial for a system and method for synchronizing the communications network time and the time of the node reference time to automatically make the adjustments to the relationship of the communications network time and the node reference time. There also exists a need for the time relationship adjustments to automatically compensate and adjust for specific time variances such as daylight savings time.
SUMMARY OF THE INVENTION
The present invention provides a method for controlling a time synchronization relationship between a communications network time and a module located at a node connected to the communications network for providing a module reference time, the method includes determining a time synchronization function is enabled, determining a time difference between the communications network time and the module reference time provided by the module, determining that the determined time difference is greater than a first limit, and less than or equal to a second limit, and gradually adjusting, automatically, the network communications network time to synchronize with the module reference time over a predetermined synchronization interval.
The system of the present invention provides a module for controlling a time synchronization relationship between the communications network time and the module reference time of a node connected to the communications network, the module includes a processor, a network interface for providing a communication interface to the communications network, a bus interface for providing a communication interface to a host processor, and a system clock subsystem for providing the module reference time and for controlling the time synchronization functionality to reduce a time difference between the communications network time and the module reference time. The above and other advantages and benefits of the present invention will be understood by reference to the following detailed description and appended sheets of drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 is a schematic block diagram of an exemplary communications network environment for the system and method of the present invention;
Fig. 2 is block diagram illustrating portions of an exemplary module of a communications network;
Fig. 3 is an exemplary communications network suitable for the system and method of the present invention;
Fig. 4 is a flow diagram illustrating portions of the method of the present invention;
Fig. 5 is an exemplary configuration menu screen, in accordance with the system and method of the present invention;
Fig. 6 depicts an exemplary Accumulated Seconds Register that contains the current time in seconds;
Fig. 7 depicts an exemplary Interpolation Register for containing the fractional part of the current second;
Fig. 8 depicts an exemplary status register;
Fig. 9 depicts an exemplary command register; and
Fig. 10 illustrates a corresponding listing of command operation codes for the command register of Fig. 9. DETAILED DESCRIPTION OF THE INVENTION
Referring to the drawings and in particular to Fig. 1, there is provided an exemplary network environment 100 applicable for implementation of the present invention of a method and system for synchronization of a communications network system time and a clock reference. Modules 110-00, 110-01 to 110-n, where n is an integer, are interconnected to communicate with each other over network control bus 105. Each of the modules 110-00 to 110-n of communications network 100 are preferably the equivalent of each other, i.e., capable of performing the same functions. Each of the modules 110-00 to 110-n preferably receives all signals transmitted from any of the other modules 110-00 to 110-n via bus 105. In one aspect of the present invention, the signals transmitted over bus 105 are broadcast to all of the modules 110- 00 to 110-n.
Each module 110, such as module 110-01 shown in Fig. 2, includes a microprocessor 125 for carrying out the processing functionality of the module as determined by instructions from local memory and/or instructions from other of the modules or other networked and interface components. Modules 110 are preferably implemented as a processor board interfaced with a PC (personal computer). Accordingly, module 110-01 has a bus interface 130 for connecting to a communications interface slot of the PC, such as an industry standard PCI slot. The module includes a network interface 135 for interfacing and connecting to communications network 100. Transceiver 150 provides a connection to communications network 100 for receiving and transmitting signals. Module 110-01 includes a system clock subsystem 140 for generating and controlling the timing aspects of the module. A time link connector 145 is preferably included for connecting a number of the modules together such that timing signals may be communicated between the various modules 110-00 to 110-n. Time link 145 may be used to provide, optionally, interface capabilities with a GPS (Global Positioning Satellite) reference timing signal. In one aspect of the present invention, modules 110 are connected to dually redundant buses LAN A 320 and LAN B 325 as illustrated in the exemplary communications network of Fig. 3, such as a plant local control network 300. Local control network 300 is preferably segmented into local control network clusters 305, 310, and 315. Modules 110, each embodied as a processor board, are plugged into a PCI slot of a PC based bridge and operates as a PCI target device. The PC based bridges are networked for communication with each other over dually redundant LAN A 320 and LAN B 325. In this manner, although network 300 is segmented, the various clusters of 300 network are interconnected for communication. The network interface 135 preferably also provides the connection for the reception and transmission of time synchronization data.
Time link 345 connects the modules 110 of local control network 300 together for routing and sharing of timing information between the modules 110. For instance, time link 145 can be utilized to limit the drift or skew between modules 110 and reception of the GPS reference timing signal.
In an aspect of the present invention, time synchronization is provided as a function of the local control network 100, 300. The communications network 100, 300 is periodically synchronized to the time of a network module 110. Accordingly, the module 110 time is periodically pushed onto the communications network 100, 300. To facilitate the time synchronization, one of the modules is designated a master, one a slave, and the other networked modules are designated as listeners. The slave module provides functional redundancy for the master module in the instance the master fails or is otherwise incapable of performing the master system clock subsystem functions. It is preferred that a switch-over to the slave module from the master module is transparent regarding the time synchronization of the network time and the local time.
Regarding system clock subsystem 140, the system clock subsystem operates to synchronize the local time of the module 110 (e.g., 110-01) to network 100, 300 for the purpose of, for example, maintaining accurate scheduling of tasks, including the monitoring and archiving of an error history. In a preferred aspect hereof, system clock subsystem 140 maintains the current time in a seconds/100 μs format, which is distributed to the other modules 110 to maintain the synchronization between the local control network connected nodes (e.g., modules 110). System clock subsystem 140 maintains the accurate timing signal for the communications network, (e.g. plant control network 300), distributes the timing signal to the communications network 100 and 300, interprets the signals received over the network, and provides the time reference to the module processor and the bridge kernal level driver.
The communication to microprocessor 125 may be accomplished, preferably, by precisely spaced interrupts at 50 msec and 1 second intervals. A time interpolations resister for monitoring the number of 100 μs intervals since the last second rollover is also provided as part of the system clock subsystem.
In aspect of the present invention, hardware/firmware elements of a command interface and programmable clock driver chain are provided so as to allow a user to "fine tune" the frequency of timer interrupts of an included real time clock microcontroller. A better understanding of how the gradual adjust functions and aspects of the present invention are implemented may be had by referring to exemplary Figs. 6-10 of the real time clock subsystem hardware register definitions pertaining to the present invention.
Fig. 6 depicts an exemplary Accumulated Seconds Register that contains the current time in seconds (i.e., the calendar time in seconds). As shown, the current time can be represented by a 32 bit binary representation of the present time in seconds.
Fig. 7 shows an exemplary Interpolation Register for containing the fractional part of the current second. As shown, register locations are provided for the number of 100 microsecond intervals since a last second rollover.
Fig. 8 shows an exemplary statutes register for containing, inter alia, data related to the current sync state, mode of operation (e.g., master, slave, or listener), error codes, and a status bit indicative of whether a new time value has been written to the Real Time Clock Subsystem of the present invention.
Fig. 9 depicts an exemplary command register and Fig. 10 illustrates a corre -si ponding listing of command operation codes for the command register of Fig. 9. Fig. 10 includes definitions for the extended command set, $F, gradual adjust control.
In accordance with the present invention, the method and system of herein provides a method for providing system time synchronization across local control networks segments 305, 310, and 315. The current system time (i.e., calendar time) originates from the module 110 designated as the master clock source. Every other module 110 maintains a local copy of the current time, preferably within a 100 μs resolution. Each slave module is preferably synchronized to the clock of the master module (i.e., the master clock). In one embodiment hereof, the local time bases are maintained at a non-synchronized drift rate of ± 32ppm ±2.76 sec/day until synchronization is re-established. The system synchronization is preferably automatically maintained by software and does not require user intervention or initiation.
The amount of time skew permitted between local network segments may be limited based on the particular implementation and context of application for the present application. For example, if an application requires a low amount of skew (e.g., <16 msec) between network segments then time link cables 345 may be used to daisy chain time link connectors of modules 110 together. For an application where the amount of skew between modules is less critical, then the use of the time link cables 345 may be avoided.
For an added measure of stability, GPS interface 155 may be connected to the GPS antenna 350 to receive the GPS reference signal obtained from GPS satellite 355 for receiving a stable, reliable timing signal. In the instance that a low skew (e.g., ±300 μsec) between modules 110 is desired, then time link connector 145 can be connected to time link cable 345 and GPS interface 350 can be connected to GPS antenna 350.
In one embodiment hereof, the system clock subsystem uses 5 MBPS time sync frames for maintaining network time synchronization. The 5 MBPS time sync frames are generated by the master clock designated module at 1 second intervals. The master module acts as a transmitter of the. system-wide real time clock data and the slave and listener modules act as receivers of the time sync frame transmissions.
The module 110 transmitting the 5MBPS time sync frames is designated the master clock via a personality software control. The clock operating as the master is instructed to generate an interrupt each 1 second period, and when a time set occurs to the Kernel firmware. The Kernel firmware initiates a 5 MBPS time sync frame in response to this 1 second periodic interrupt. The designated slave clock acts as a backup for the master clock. Software preferably controls the selection of the master and slave clocks and handles the switchover of the transmit function through control of a master/slave relationship, including an initial startup selection and all failure scenarios.
In the event of a loss of a clock source, the time information is updated locally during the unsynchronized period to continue in an uninterrupted manner based upon the last valid time data received prior to the failover.
Upon the establishment of the module/node load, the first module 110 preferably establishes itself as the master time reference source by trying to detect a clock on LAN A and LAN B. Since the module will be the first clock source, it will not detect a clock source and will thus assume the role as the master module. After establishing itself as the master, the module does not listen but instead broadcasts its time synchronization message (i.e., reference time) periodically, preferably once every second.
The second module loaded onto the network will detect a clock on both LAN A and LAN B and will thus become a slave. The slave module listens for and receives time synchronization message from the master module to synchronize its clock thereto. The slave does not normally transmit its clock time onto the network unless the master module fails. The transition from master clock reference to slave clock reference should be smooth and virtually transparent since the slave was tracking the master modules clock source.
When the master clock is commanded to accept new seconds time data, all listener nodes to this time transmission, including the slave clock source use the newly transmitted clock data to update their internal time registers. Time can only be reset to one second accuracy and on one second boundaries. Listener modules 110 that receive a time frame wherein the seconds data is a different value than what is expected, will be updated with new seconds data.
A flow diagram illustrating an exemplary process used by the present invention to automatically synchronize the communications network 100, 300 time to the reference time of the modules 110 is shown in Fig. 4.
In an aspect of the present invention, the reference time provided by module 110 designated as the master may be generated or obtained by the system clock subsystem 140 from a local crystal oscillator, from a time synchronizations functionality of an operating system of the PC in which the master module 110 is interfaced with, or from an independent source such as a GPS signal. The communications network time and the module 110 time are periodically read to determine the synchronization between the two time signals. In one embodiment of the present invention, this period is once every one (1) second. If the determination is made that there is a time difference greater than a predetermined limit, then the time synchronization process of Fig. 4 is invoked.
Referring to Fig. 4, the time synchronization functionality of the present invention is preferably enabled or disabled at the preference of a user. The user may be a network administrator for the communications network 100, 300. It should be noted that the time synchronization may, as a default, be enabled or disabled. Thus, at step 410 a determination is made whether the time synchronization functionality of the present method and system is enabled. If not enabled, then process 400 proceeds to the end at step 450. In the instance the time synchronization functionality is enable, then process 400 proceeds to step 415.
At step 415, a determination is made whether a system or predetermined time change is required. That is, the determination is made whether a module 110 becomes a master module, whether a predetermined next synchronization interval occurs, whether a network configuration change occurs, whether a Demand Time Sync Request is made, whether a Set Network Control Time to Module/Node Time Request is made, or whether a Daylight Savings Time change occurs. If any of these conditions are met then process 400 proceeds to step 440 where a time synchronization function adjustment is invoked. In the event a system or predetermined time change is not required as determined at step 415, then process 400 proceeds to step 420.
At step 420, a determination is made whether the time difference between the communications network time and the module 110 time (i.e., reference) is in a Dead Band Range. Time differences greater than zero and less than a Dead Band limit do not require any action by the time synchronization function. The Dead Band limit is preferably set at or below a threshold value above which the operations of the communication network would be adversely affected. The Dead Band limit should therefore represent a relatively insignificant time difference as far as network communication, scheduling and operations are concerned. That is, the Dead Band limit is set to allow for tolerable differences in the network time and the module 110 time.
It is noted that any Gradual Adjustment in effect at the time the time difference is equal to or less than the Dead Band limit (i.e., the time difference is between zero time difference and the dead bane limit) will remain in effect until the time difference is too small for a Gradual Adjustment correction over the next time sync interval.
In the event the time difference between the communications network time and the module 110 time is in the Dead Band range at step 420, then process 400 proceeds to step 450. However, if the time difference between the communications network time and the module 110 time is not in the Dead Band range, as determined at step 420, then process 400 proceeds to step 425.
At step 425, a determination is made whether the time difference between the communications network time and the module 110 time exceeds the Dead Band range but is less than a Gradual Adjustment limit or a Cutoff Synchronization limit, whichever is lesser. Time differences determined to be greater than the Dead Band limit and less than the smaller of the Gradual Adjustment limit or the Cutoff Synchronization limit are within a Gradual Adjustment range. Time differences within the Gradual Adjustment range are corrected gradually by the time synchronization function at step 440. The gradual adjustment of the network time to match the module 110 time prevents the abrupt loss of network history data and minimizes the impact to sequence of events logging that may be caused by an immediate time change.
The time synchronization function at step 440 determines the rate at which the gradual adjustment of the time is applied to the network time. Preferably, the time adjustments are applied smoothly over a period of time, such as a day, at a rate of 1 sec/day to 8 sec/day. By adjusting the network time gradually, the impact to the sequence of events logging is minimized and the abrupt loss of network history data is avoided. The time synchronization function at step 440 uses a gradual adjustment algorithm to automatically calculate the rate of change value for the gradual adjustment based on, in one aspect hereof, the time difference and the synchronization interval. The rate of correction is calculated to complete the time correction over the configured synchronization interval. The maximum rate of correction may be limited to, for example, 8 sec/day.
For example, if the synchronization interval is configured for 12 hours and a 2 second time difference is detected, then the time synchronization function at step 440 operates to correct the 2 second time difference over the next 12 hour cycle. The calculated rate of change will remain in effect until the next scheduled synchronization interval unless the time synchronization function detects a time sync configuration change, a Daylight Savings Time change, a Demand Time Sync Request change, or a Set Network Control Time to Module/Node Time Request change is detected. If any of these events occurs, then the rate of change is recalculated and reapplied by the time synchronization function adjustment, step 440.
If it is determined at step 425 that the time difference is not in the Gradual Adjustment range, then process 400 proceeds to step 430. At step 430, a determination is made whether the time difference is in an Immediate Adjustment range. In the instance the time difference is in the Immediate Adjustment range, process 400 proceeds to step 440 to immediately change the communications network time to match that module 110 time. This immediate time correction is in contrast to the gradual adjustment of the communications network time invoked when the time difference is in the Gradual Adjustment range, as determined at step 425. In the Immediate Adjustment range, applying the gradual adjustment is expected to take too long. Thus, adjusting the network time immediately is done.
The Immediate Adjustment range is defined as a time difference greater than the Gradual Adjustment limit and below or equal to a Cutoff Synchronization limit. The Cutoff Synchronization limit is a time difference for which a gradual or immediate adjustment of the network time is deemed unacceptable.
In the instance the time difference is not in the Immediate Adjustment range but instead exceeds the Cutoff Synchronization limit, process 400 proceeds to step 435 and is considered to be in a User Intervention range. The Cutoff Synchronization limit is preferably user configurable. If the time difference exceeds the Cutoff Synchronization limit then a user-initiated mechanism is provided through a user interface so that the user can initiate a network time synchronization.
The user may initiate an immediate communications network time adjustment by selecting to invoke the Set Network Time to Module Node Time operation. The Set Network Time to Module/Node Time operation is preferably only enabled at the module 110 designated as the master for selection by an authorized user. Since an immediate change of the network time may cause disruptions in the history and error logging, a warning message may be displayed to the user via the user interface to warn the user that such an immediate network time change may cause an abrupt loss of history data.
In one aspect of the present invention, a warning-level event is logged by PC interfaced with the master module to indicate an immediate change in network time occurred. This provides a measure of explanation in the event that the immediate change of network time does result in a loss of history data.
In yet another aspect of the present invention, the user may manually adjust the time difference to be equal to or less than the Cutoff Synchronization limit. By doing so, process 400 will proceed to act on the time difference, as discussed above. Preferably, the user can also invoke the Demand Time Sync operation at the master module to avoid waiting for the next scheduled time sync interval. The Demand Time Sync operates exactly like a scheduled time sync and resets the interval scheduling.
Redundancy for the time synchronization functionality of the present invention is provided by having at least two modules/nodes on communications network 100, 300 configured as clock sources. As stated previously, one module 110 is designated as the master, at least one module 110 is designated as the slave, and the other modules 110 are configured as listeners. The slave(s) provide backup for the master in the event the master fails. The time sync functionality only actively corrects time on the master module. The other modules are updated by the timing signal received from the master module. It is preferred that the time synchronization function performs some level of monitoring of module 110 activity to prepare the non-master modules for assuming the role of the master.
In another aspect hereof, the master and slave modules are configured the same so that a failover to the slave module does not change the communications network 100, 300 time sync configuration parameters. In the event that the slave and master modules are not set-up exactly, then the time synchronization parameters on the (newly) designated master will be used. In one embodiment of the invention, the time synchronization parameters may be shared between modules.
In one aspect of the present invention, a user interface is provided to effectuate the configuration and monitoring of the time synchronization function. Since modules 110 are preferably implemented as processor boards interfaced with a PC, the user interface may be graphical menu (i.e., window) as part of a graphical user interface. Fig. 5 illustrates an exemplary graphical menu 500 that is preferably available as a tab on a network configuration utility. Access to the Time sync configuration page 500 is preferably limited to authorized users.
In one aspect of the present invention, any change to the time synchronization configuration will cause the time sync function to execute immediately based on the new configuration settings. Thereafter, the time sync function will operate on a periodic basis specified in the synchronization interval 535.
The Enable Time Synchronization checkbox 510 must be checked for the time sync function to be enabled. The selection of this checkbox is verified at step 410 of Fig. 4. By default, Enable Time Synchronization checkbox 510 may be unchecked.
The Enable Gradual Adjustment checkbox 515 is selected to enable the gradual adjustment of the network time as discussed above. By default, Enable Time Synchronization checkbox 510 may be checked.
The Enable Auto Adjust for Daylight Savings checkbox 505 is selected to enable the immediate adjustment of the network time to compensate for daylight savings time changes, as discussed above. By default, Enable Auto Adjust for Daylight Savings checkbox 505 may be unchecked. If enabled and invoked, the automatic adjustment for daylight savings time functionality supersedes any gradual adjustment that may be in effect by the system and method herein. Preferably, the Enable Auto Adjust for Daylight Savings checkbox 505 is independent of Enable Time Synchronization checkbox 510.
When the Enable Auto Adjust for Daylight Savings checkbox 505 is checked (i.e., selected) and a Daylight Savings Time event occurs, the network time is will immediately be changed to the match the master module's reference time, regardless of the synchronization interval or the Cutoff Synchronization limit or the Gradual
Adjustment limit.
The Synchronization Interval box 520 value is applicable when the Enable
Synchronization checkbox 510 is checked. It provides a mechanism for the user to set the synchronization interval, preferably between 1 and 99999 seconds with 3600 seconds (1 hour) being a preferred default value.
Dead Band limit box 525 provides a mechanism for the user to specify the Dead
Band limit, the time difference for which the time synchronization function will take no action. Per process 400, the Dead Band limit cannot be greater than the Gradual Adjustment limit, provided the Gradual Adjust is enabled at checkbox 515. The Dead Band limit may have a default of 2 seconds.
The Gradual Adjust Limit box 530 is applicable when the Gradual Adjust checkbox 515 is enabled. Preferably, the Gradual Adjust box may be set to a value between 1 and 99999 seconds. By default, the Gradual Adjust box is set to 10 seconds.
The Cutoff Synchronization limit box 535 is provided to allow for the setting of the time difference limit above which the time synchronization feature will not automatically reset the communications network time. The range for this limit is preferably 1 to 99999 seconds. In accordance with process 400, the Cutoff Synchronization limit is greater than the Gradual Adjust limit when the Gradual Adjust is enabled or greater than the Dead Band limit when the Gradual Adjust is not enabled. By default, the Cutoff Synchronization limit may be set to 99999 seconds (i.e., «27.5 hours). In accordance with the present invention, the user interface preferably provides at least a portion of a display screen for providing a status of the time synchronization function of the present invention. For example, the status screen will preferably display whether the time sync function is enabled, the status of a particular node (e.g., master, slave, or listener), the current communications network time, the current module/node time, the last time a time sync operation occurred, and the category or range for the time difference (e.g., Dead Band, Gradual Adjust, etc.).
As briefly mentioned above, preferably a Set Network Time to Module/Node
Time function is provided for by the present invention. Such functionality is preferably presented to the user via the user interface aspects hereof to facilitate the user initiating an action to immediately synchronize the network time to the master module's reference time. However, this functionality is preferably not enabled on any modules other than the master module. The interval scheduling will be reset and any Gradual Adjustment in effect will be eliminated when the Set Network Time to Module/Node Time action is initiated.
There is also preferably provided an Demand Time Sync function that enables the user to initiate, on the master module, to force a network time sync without having to wait for the next time sync interval to occur.
In an aspect hereof, the gradual adjustment of the communications network discussed above may be disabled or not implemented in an implementation of the present invention. In such a configuration, time differences greater than the Dead Band limit are adjusted immediately.
It should be understood that the foregoing description is only illustrative of a present implementation of the teachings herein. Various alternatives and modification may be devised by those skilled in the art without departing from the invention. For example, the time synchronization system and method of the present system may be implemented by a computer readable storage medium (e.g., a removable storage iiiei-uu , a memory carα or a naru αιsκ) navmg program msiructions emboαieα tnerem for executing the methods of the present invention. The computer readable storage medium can be read and the program instructions executed by a processor. Accordingly, providing a time synchronization system and method can be accomplished by program instructions for program instructions for determining a time synchronization function is enabled, program instructions for determimng a time difference between the communications network time and the module reference time provided by the module, program instructions for determining that the determined time difference is greater than a first limit, and less than or equal to a second limit, and program instructions for gradually adjusting, automatically, the network communications network time to synchronize with the module reference time over a predetermined synchronization interval.
Various variations and modifications may be made to the invention, with the attainment of some or all of the advantages of the invention as indicated in the claims appended hereto. Accordingly, the present invention is intended to embrace all such alternatives, modifications, and variances that fall within the scope of the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method for controlling a time synchronization relationship between a communications network (100, 300) time and a module (110) located at a node connected to said communications network (100, 300) for providing a module reference time, said method comprising:
determining (410) a time synchronization function is enabled;
determining (420) a time difference between said communications network time and said module reference time provided by said module;
determining (425) that said determined time difference is greater than a first limit, and less than or equal to a second limit; and
gradually adjusting (440), automatically, said communications network (100, 300) network time to synchronize with said module (110) reference time over a predetermined synchronization interval.
2. The method of claim 1, wherein said gradually adjusting results in a reduction of said time difference between said communications network (100, 300) time and said module (110) reference time that is substantially constant and without a time reversal.
3. The method of claim 1, further comprising:
determining (415) a system change is requested; and
in response to said system change request, immediately synchronizing (440), automatically, said communications network time and said module reference time.
4. The method of claim 3, wherein said system change is selected from a group of actions consisting of: a module being initialized for providing said module reference time, a predetermined next synchronization interval occurring, a user-initiated time synchronization occurring, and a Daylight Savings Time event occurrence.
5. The method of claim 1, further comprising:
determining (435) that said time difference between said communications network time and said module reference time is greater than a third limit that is greater than said second limit; and
in response to said time difference being greater than said third limit, taking no automatic action to synchronize said time difference between said communications network time and said module reference time.
6. The method of claim 1, wherein said module (110) is designated a master module and only said master module provides said module reference time.
7. A module (110) for controlling a time synchronization relationship between a communications network (100, 300) time and a module reference time of a node connected to said communications network, said module comprising:
a processor (125);
a network interface (135) for providing a communication interface to said communications network (100, 300);
a bus interface (130) for providing a communication interface to a host processor; and a system clock subsystem (140) for providing said module reference time and for controlling a time synchronization function to reduce a time difference between said communications network time and said module reference time.
8. The module of claim 12, wherein said time synchronization function of said system clock subsystem (140) reduces said time difference substantially constant and without a time reversal.
9. The module of claim 12, wherein said time synchronization function of said system clock subsystem (140):
determines (410) a time synchronization function is enabled;
determines (420) said time difference between said communications network time and said module reference time provided by said module;
determines (425) that said determined time difference is greater than a first limit, and less than or equal to a second limit; and
gradually adjusts (440), automatically, said network communications network time to synchronize with said module reference time over a predetermined synchronization interval.
10. The module of claim 14, wherein said time synchronization function of said system clock subsystem (140) further:
determines (435) that said time difference between said communications network time and said module reference time is greater than a third limit that is greater than said second limit; and in response to said time difference being greater than said third limit, takes no automatic action to synchronize said time difference between said communications network time and said module reference time.
PCT/US2004/000858 2003-01-14 2004-01-14 Method and apparatus for the synchronization of a system time of a communications network with a clock reference WO2004066530A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP04702172A EP1782559A1 (en) 2003-01-14 2004-01-14 Method and apparatus for the synchronization of a system time of a communications network with a clock reference

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US44024203P 2003-01-14 2003-01-14
US60/440,242 2003-01-14

Publications (1)

Publication Number Publication Date
WO2004066530A1 true WO2004066530A1 (en) 2004-08-05

Family

ID=32771794

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/000858 WO2004066530A1 (en) 2003-01-14 2004-01-14 Method and apparatus for the synchronization of a system time of a communications network with a clock reference

Country Status (4)

Country Link
US (1) US20040223515A1 (en)
EP (1) EP1782559A1 (en)
CN (1) CN1759553A (en)
WO (1) WO2004066530A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821446A (en) * 2012-06-04 2012-12-12 江苏大学 Synchronous awaking mechanism of long-term and deep dormant wireless sensor network
CN103078697A (en) * 2012-12-11 2013-05-01 中国船舶重工集团公司第七一九研究所 Distributed clock synchronization method
WO2013152378A1 (en) * 2012-04-11 2013-10-17 Fts Computertechnik Gmbh Method and master clock for generating fail-silent synchronization messages
EP2787664A4 (en) * 2011-12-01 2015-08-05 Zte Corp Time synchronization method and apparatus
CN105897366A (en) * 2016-04-01 2016-08-24 浪潮电子信息产业股份有限公司 Method and system for ensuring time consistency of computer cluster nodes

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7502334B2 (en) * 2003-11-19 2009-03-10 Honeywell International Inc. Directional integrity enforcement in a bi-directional braided ring network
US7929483B2 (en) * 2004-12-30 2011-04-19 General Instrument Corporation Method and apparatus for providing a secure system time
US7114648B2 (en) * 2005-01-31 2006-10-03 Stratitec, Inc. Networked time-keeping system
US7227858B1 (en) * 2005-04-07 2007-06-05 The United States Of America As Represented By The National Security Agency Method of synchronization without broadcasting synchronization signal
US20070207836A1 (en) * 2006-03-06 2007-09-06 Gormley Eamonn F Wireless base station
US7839897B2 (en) * 2006-09-29 2010-11-23 Agere Systems Inc. Methods and apparatus for unidirectional timing message transport over packet networks
US7668084B2 (en) * 2006-09-29 2010-02-23 Honeywell International Inc. Systems and methods for fault-tolerant high integrity data propagation using a half-duplex braided ring network
US7889683B2 (en) * 2006-11-03 2011-02-15 Honeywell International Inc. Non-destructive media access resolution for asynchronous traffic in a half-duplex braided-ring
US7656881B2 (en) * 2006-12-13 2010-02-02 Honeywell International Inc. Methods for expedited start-up and clique aggregation using self-checking node pairs on a ring network
US7912094B2 (en) * 2006-12-13 2011-03-22 Honeywell International Inc. Self-checking pair-based master/follower clock synchronization
US8401001B2 (en) * 2007-03-28 2013-03-19 Intel Corporation Method and apparatus of connectivity recovery in wireless network
US7948833B2 (en) * 2007-07-25 2011-05-24 Computime, Ltd. Clock setup over a network
US7880861B2 (en) * 2007-08-17 2011-02-01 Asml Netherlands B.V. Synchronizing timing of multiple physically or logically separated system nodes
US7778159B2 (en) * 2007-09-27 2010-08-17 Honeywell International Inc. High-integrity self-test in a network having a braided-ring topology
CN101727065B (en) * 2008-10-24 2011-08-10 郑州威科姆科技股份有限公司 High-precision time service method of lock losing clock with two-way IRIG-B code
US9735831B1 (en) * 2009-09-22 2017-08-15 Honeywell International Inc. System, apparatus and method for synchronizing communications between devices
CN101694569A (en) * 2009-10-21 2010-04-14 中兴通讯股份有限公司 Method and device for realizing time synchronization
US8489775B2 (en) * 2010-07-21 2013-07-16 Dell Products L.P. System-wide time synchronization across power management interfaces and sensor data
CN102004440B (en) * 2010-12-09 2012-05-30 保定维特瑞交通设施工程有限责任公司 Time synchronization control device of traffic management system
CN102063055B (en) * 2010-12-10 2011-12-14 南京科远自动化集团股份有限公司 Redundant UTC (universal coordinated time) time synchronization server
CN102790703B (en) * 2011-05-19 2017-03-22 中兴通讯股份有限公司 Method and system for monitoring time faults
CN102684933B (en) * 2011-03-11 2018-01-02 中兴通讯股份有限公司 Time failure monitoring method and system
EP2734904B1 (en) 2011-07-20 2018-03-07 Aviat Networks, Inc. Systems and methods of network synchronization
CN102323739B (en) * 2011-09-20 2014-02-05 郑州轻工业学院 Multilevel time measurement and control method in synchronous clock technology
DE102012204586A1 (en) * 2012-03-22 2013-10-17 Bayerische Motoren Werke Aktiengesellschaft Gateway, node and method for a vehicle
CN102664697A (en) * 2012-04-05 2012-09-12 中兴通讯股份有限公司 Network clock synchronization system and method thereof
CN103425537A (en) * 2012-05-25 2013-12-04 中兴通讯股份有限公司 Time adjusting method and time adjusting device
KR101924830B1 (en) 2012-06-19 2019-02-27 삼성전자주식회사 Method and apparatus for synchronizing of terminal in wireless communication network
CN102929735B (en) * 2012-10-19 2015-11-25 北京星网锐捷网络技术有限公司 A kind of method and apparatus of clock correction
US9910419B2 (en) * 2013-09-09 2018-03-06 Harnischfeger Technologies, Inc. System and method of synchronizing time between multiple systems
CN104618737B (en) * 2013-11-01 2019-09-20 深圳力维智联技术有限公司 The slow synchronous method of stream media system clock and its device
JP6493838B2 (en) * 2015-09-25 2019-04-03 住友電工システムソリューション株式会社 Wireless communication device and control device
WO2018060441A1 (en) * 2016-09-30 2018-04-05 Net Insight Intellectual Property Ab Time synchronization in a live content distribution system
JP6978852B2 (en) * 2017-05-10 2021-12-08 キヤノン株式会社 Synchronous signal output device, control method, and program
US10320442B1 (en) 2018-02-09 2019-06-11 Ademco Inc. High bandwidth channel in a frequency hopping system
CN110572294B (en) * 2018-06-06 2021-04-09 中国信息通信研究院 SSM information processing time delay testing method
CN110515352B (en) * 2019-08-29 2021-10-26 西门子工厂自动化工程有限公司 Fault monitoring method and device for servo driver, processor and electronic equipment
WO2021092512A1 (en) * 2019-11-08 2021-05-14 Rambler Wheels, Llc Continuous time adjustment daylight saving time method and apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709347A (en) * 1984-12-17 1987-11-24 Honeywell Inc. Method and apparatus for synchronizing the timing subsystems of the physical modules of a local area network
US5276659A (en) * 1990-04-16 1994-01-04 Kabushiki Kaisha Toshiba Clock synchronous system for a network station
US5661700A (en) * 1994-07-18 1997-08-26 Allen-Bradley Company, Inc. Synchronizable local clock for industrial controller system
EP0809374A1 (en) * 1996-05-21 1997-11-26 Landis &amp; Gyr Technology Innovation AG Procedure for time synchronisation of a remote consumption meter

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4583865A (en) * 1984-12-17 1986-04-22 Honeywell Real time clock synchronization
US4890222A (en) * 1984-12-17 1989-12-26 Honeywell Inc. Apparatus for substantially syncronizing the timing subsystems of the physical modules of a local area network
US7065779B1 (en) * 1999-10-13 2006-06-20 Cisco Technology, Inc. Technique for synchronizing multiple access controllers at the head end of an access network
US6801876B2 (en) * 2000-12-08 2004-10-05 Caterpillar Inc Method and apparatus of managing time for a processing system
US7813311B2 (en) * 2002-02-05 2010-10-12 Interdigital Technology Corporation Method and apparatus for synchronizing base stations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4709347A (en) * 1984-12-17 1987-11-24 Honeywell Inc. Method and apparatus for synchronizing the timing subsystems of the physical modules of a local area network
US5276659A (en) * 1990-04-16 1994-01-04 Kabushiki Kaisha Toshiba Clock synchronous system for a network station
US5661700A (en) * 1994-07-18 1997-08-26 Allen-Bradley Company, Inc. Synchronizable local clock for industrial controller system
EP0809374A1 (en) * 1996-05-21 1997-11-26 Landis &amp; Gyr Technology Innovation AG Procedure for time synchronisation of a remote consumption meter

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2787664A4 (en) * 2011-12-01 2015-08-05 Zte Corp Time synchronization method and apparatus
WO2013152378A1 (en) * 2012-04-11 2013-10-17 Fts Computertechnik Gmbh Method and master clock for generating fail-silent synchronization messages
US9130661B2 (en) 2012-04-11 2015-09-08 Fts Computertechnik Gmbh Method and master clock for generating fail-silent synchronization messages
CN102821446A (en) * 2012-06-04 2012-12-12 江苏大学 Synchronous awaking mechanism of long-term and deep dormant wireless sensor network
CN103078697A (en) * 2012-12-11 2013-05-01 中国船舶重工集团公司第七一九研究所 Distributed clock synchronization method
CN103078697B (en) * 2012-12-11 2015-09-09 中国船舶重工集团公司第七一九研究所 A kind of distributed clock synchronization method
CN105897366A (en) * 2016-04-01 2016-08-24 浪潮电子信息产业股份有限公司 Method and system for ensuring time consistency of computer cluster nodes
CN105897366B (en) * 2016-04-01 2018-09-04 浪潮电子信息产业股份有限公司 A kind of method and system ensureing computer cluster node time consistency

Also Published As

Publication number Publication date
EP1782559A1 (en) 2007-05-09
US20040223515A1 (en) 2004-11-11
CN1759553A (en) 2006-04-12

Similar Documents

Publication Publication Date Title
US20040223515A1 (en) Method and apparatus for the synchronization of a system time of a communications network with a clock reference
CA2675645C (en) Facilitating synchronization of servers in a coordinated timing network
CA2675644C (en) Facilitating recovery in a coordinated timing network
US9112626B2 (en) Employing configuration information to determine the role of a server in a coordinated timing network
EP1280024B1 (en) Clock synchronization in a distributed system
JP2007529163A (en) Network node
CN102326126B (en) Method and system for synchronizing multiple secure clocks
US7263036B2 (en) Time correction system in cluster system
JP2001324584A (en) Time synchronizer, time synchronizing system, and method of controlling time synchronizer
CN111083016B (en) Polling table processing method and device, storage medium and equipment
CN113204516A (en) Method and device for time synchronization of processors
JP2004234098A (en) Time synchronizing system
JP2821091B2 (en) Remote monitoring control device and time synchronization device
JP2001103439A (en) Electronic conference system device and data transmission method
JP7357831B1 (en) Time synchronization device, time synchronization system, time synchronization method and program
JP4794407B2 (en) Field network system
JPH11223687A (en) Synchronizing system for internal timepieces among plural computers
JP2001167064A (en) Signal phase control circuit
JPH10164666A (en) Time synchronizing method
JP2000224766A (en) Time synchronizing method in distributed power monitoring control system
CN115065688A (en) Data transmission method, device, equipment and computer readable storage medium
JPH1139265A (en) Method for processing time synchronization
CN114785442A (en) Synchronous control method and device for Modbus master and slave devices and storage medium
JP2000187526A (en) Time synchronizing device
CN113704022A (en) Periodic asynchronous remote copying method, device, equipment and storage medium

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004702172

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 20048062623

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2004702172

Country of ref document: EP