Patent Description:
Mobile base stations need to be frequency and phase synchronized to guarantee handover performance for subscriber end devices. For example, when a mobile device switches over from one mobile base station to another mobile base station, these base stations need to be synchronized to ensure the correct handover from mobile base station to mobile base station for a subscriber end device. The back haul network typically provides the frequency and timing (e.g., phase) synchronization to the mobile base stations.

Mobile networks may use a timing protocol, such as Institute of Electrical and Electronics Engineers (IEEE)-<NUM>, to provide synchronization over the network. IEEE-<NUM> in addition to other timing protocols assumes that the network delay in the upstream and the downstream paths is symmetrical. Any delay asymmetry in the network will effectively cause a phase error of <NUM> of the asymmetry value. In addition, the timing synchronization is sensitive to packet delay variations (PDV) in the network. A large PDV will cause timing synchronization errors.

An HFC network may use a protocol, such as data-over-cable service interface specification (DOCSIS), to deliver packets over the back haul network for the mobile network. As DOCSIS is a packet-based network, some network asymmetry in packet delay variation may be introduced in the DOCSIS network. For example, DOCSIS presents challenges due to asymmetry of the nature of the DOCSIS upstream scheduling, jitter (PDV) due to the upstream scheduling, low-bandwidth channels that cause larger packet transition time, and unknown delays in asymmetries in a cable modem termination system (CMTS), cable modem physical devices, and the HFC network. Attempting to send packets with timing information on top of a DOCSIS network does not provide the required timing and frequency accuracy needed for a mobile network.

DOCSIS may use a timing protocol, such as DOCSIS timing protocol (DTP), that synchronizes the frequency and time of the network. Frequency is addressed by coupling the cable modem Ethernet timing to the DOCSIS downstream baud clock. The time synchronization is addressed by coupling a cable modem timestamp message to a DOCSIS extended timestamp. The time offset in asymmetry is addressed through measurement signaling and ranging. To address the asymmetry, the DOCSIS system needs to measure multiple times within the HFC network. This results in a large number of measurements to be made. The large number of measurements then complicates calculation to perform the synchronization.

<CIT> provides a prior art example of a method of adding and removing sites for a cluster based on a baseline delay comparison. <CIT> provides a prior art example of precision timing in a DOCSIS system. <CIT> provides a prior art example of a timing system for a modular cable modem termination system. <CIT> provides a prior art example of a communication apparatus, time synchronization system and time synchronization method.

The invention shall be specified by the appended set of claims.

Described herein are techniques for a timing synchronization system. In the following description, for purposes of explanation, numerous examples and specific details are set forth in order to provide a thorough understanding of some embodiments. Some embodiments as defined by the claims may include some or all of the features in these examples alone or in combination with other features described below, and may further include modifications and equivalents of the features and concepts described herein.

Some embodiments do not attempt to measure the delay from a network device, such as a cable modem termination system (CMTS) to a downstream client (e.g., cable modem) by using a round-trip delay, and calibrating the asymmetries as discussed above in the Background. Rather, a reference cable modem may use an external timing source to calculate the delay from the CMTS to the reference cable modem. The reference cable modem does not need to deal with the various asymmetries in a network, such as delays in the network path. This also eliminates reliance on the upstream path, which may contain jitter and packet delay variation as discussed in the Background.

A reference cable modem may receive a CMTS time from the CMTS through the network, such as a DOCSIS network. The CMTS time may be a time in which the CMTS sent a packet including a timestamp of the current time to the reference cable modem (CM). The CMTS time is locked to an external reference time that is traced to the same reference as the external timing source of the reference CM. The reference cable modem may also receive an external time from an external timing source. The external time may be a current time as determined by the external timing source. The reference cable modem uses the CMTS time and the external time from the timing source to calculate a difference time value from the CMTS to the reference cable modem. This difference time value can be used to determine is the actual delay between the time the CMTS sent the CMTS time in a packet and a time the packet was processed by the cable modem.

The reference cable modem can send the calculated difference time value back to the CMTS, which can then use the calculated difference time value to send a delay to other cable modems. These cable modems can use the delay to synchronize the CMTS time with mobile network devices.

<FIG> depicts a simplified system for synchronizing timing in a network according to some embodiments. The system includes a timing source <NUM>-<NUM>, a network <NUM>, a network device <NUM>, a reference downstream client <NUM>, other downstream clients <NUM>-<NUM> to <NUM>-<NUM>, and a second timing source <NUM>-<NUM>.

A network device may be located at the head end of a network and may include CMTS <NUM>. CMTS <NUM> may be implemented in a network device in the head end and may provide the frequency and time to the downstream clients. Although CMTS <NUM> is used, other network devices may be appreciated that can provide the frequency and time synchronization signals to downstream clients, such as a remote physical device (R-PHY) or remote media access control physical device (R-MACPHY). Also, network device <NUM> may not be located at the head end, but may be remotely located from the head end as in the R-PHY configuration. The term CMTS will be used for discussion purposes, but other network devices may be appreciated.

Reference downstream client <NUM> and downstream clients <NUM>-<NUM> to <NUM>-<NUM> may be subscriber devices that are located downstream from CMTS <NUM>. For example, downstream clients <NUM>-<NUM> to <NUM>-<NUM> may be cable modems in a subscriber's premises. Reference client <NUM> may be connected to the same fiber node as downstream clients <NUM>-<NUM> to <NUM>-<NUM>. The term cable modem will be used for discussion purposes, but other devices may be appreciated, such as gateways or other end devices.

Cable modems <NUM>-<NUM> to <NUM>-<NUM> may communicate with mobile network devices (CELL) <NUM>-<NUM> and <NUM>-<NUM>, respectively. Mobile network devices <NUM> may be cellular base stations that may communicate a cellular signal <NUM>-<NUM> and <NUM>-<NUM>, respectively, to mobile end devices (not shown). In some embodiments, mobile network devices <NUM> may be connected downstream from cable modems <NUM>-<NUM> and <NUM>-<NUM>, such as connected to a local area network (LAN) provided by the cable modem. Cable modems <NUM>-<NUM> and <NUM>-<NUM> need to maintain frequency synchronization and time (e.g., phase) synchronization with mobile network devices <NUM>-<NUM> and <NUM>-<NUM>, respectively. The following will describe how timing synchronization is maintained with mobile network devices <NUM>.

Timing sources <NUM>-<NUM> and <NUM>-<NUM> may provide a master time for clock synchronization. A timing source <NUM>-<NUM> may generate a time for clock synchronization for the network. For example, timing source <NUM>-<NUM> receives a time signal from a global navigational satellite system (GNSS) or global positioning satellite (GPS) system <NUM>-<NUM>. Timing source <NUM>-<NUM> includes a grand master (GM) clock <NUM>-<NUM> that is the ultimate master of time for clock synchronization within the network. Timing source <NUM>-<NUM> may use the protocol IEEE-<NUM> for synchronization as will be discussed below. Timing source <NUM>-<NUM> includes a master (M) port <NUM> that provides the GM clock timing signal to network <NUM>.

Network <NUM> may include multiple network devices (not shown) that transfer the time. In some embodiments, network <NUM> may be a packet-based network that uses a protocol, such as an Internet Protocol or multi-protocol label switching (MPLS) protocol. Network <NUM> includes a boundary clock (BC) <NUM> that may be the ultimate source of time for a domain, such as a the domain upstream from CMTS <NUM> (e.g., a precision time protocol (PTP) domain). Boundary clock <NUM> may terminate the timing signal from grand master clock <NUM>-<NUM> and then provide it to CMTS <NUM> through a timing interface <NUM>-<NUM>. Boundary clock <NUM> may be thought of as a grand master clock.

Network <NUM> may also include a sync interface <NUM>-<NUM> that may be used to provide frequency synchronization. For example, synchronous Ethernet (syncE) may be used, but other protocols may also be used to maintain frequency synchronization. Sync interface <NUM>-<NUM> may communicate with sync interface <NUM>-<NUM> in CMTS to maintain the frequency synchronization.

CMTS <NUM> receives the timing signal at a slave port (S) <NUM>-<NUM>. CMTS <NUM> includes an ordinary clock <NUM>-<NUM> that may be a clock that maintains the time used within the domain downstream of the CMTS, such as the domain downstream of CMTS. Ordinary clock <NUM>-<NUM> may have two states, a slave clock that receives the time from timing interface <NUM>-<NUM>. Also, ordinary clock <NUM>-<NUM> sources time to one or more slaves. In this case, ordinary clock <NUM>-<NUM> sources the time through a network to reference cable modem <NUM> and downstream clients <NUM>-<NUM> to <NUM>-<NUM>. In some embodiments, CMTS <NUM> sends a CMTS time (e.g., a timestamp) through a network in a packet based on a protocol, such as DOCSIS. This protocol is different from the protocol used upstream from CMTS <NUM> in network <NUM>. This causes the different timing domains upstream from CMTS <NUM> and downstream from CMTS <NUM>. The CMTS time is a time in which the packet is sent from CMTS <NUM> to reference cable modem <NUM> using the timing signal from timing source <NUM>-<NUM>.

Reference cable modem <NUM> receives the CMTS time in a packet from CMTS <NUM>. As discussed above, the packet may experience some delay from being sent from CMTS <NUM> to reference cable modem <NUM>. Reference cable modem <NUM> then needs to calculate the difference from the CMTS time and a current grand master clock time.

Reference cable modem <NUM> uses an external timing source <NUM>-<NUM> to determine the difference (e.g., delta). Timing source <NUM>-<NUM> may be similar to timing source <NUM>-<NUM> and receives a timing signal from GNSS <NUM>-<NUM>, which may derive a time similarly to GNSS <NUM>-<NUM>. In other embodiments, cable model <NUM> is connected to timing source <NUM>-<NUM> via a LAN interface using a timing protocol, such as PTP. Timing source <NUM>-<NUM> also includes grand master clock <NUM>-<NUM> that can generate an external time. A master port <NUM>-<NUM> sends the external time to a slave port <NUM>-<NUM> at reference cable modem <NUM>. Now, reference cable modem <NUM> includes the CMTS time (e.g., DOCSIS extended time) and the current external time (e.g., the grand master time) from timing source <NUM>-<NUM>. Reference cable modem <NUM> can then calculate the difference between the CMTS time and the external time. This is the delay that is taken to send the CMTS time from CMTS <NUM> to reference cable modem <NUM>.

Reference cable modem <NUM> sends the difference back to CMTS <NUM>. CMTS <NUM> can then advertise a delay between the CMTS time and the grand master time to other cable modems <NUM>-<NUM> and <NUM>-<NUM>.

Cable modems <NUM>-<NUM> and <NUM>-<NUM> can then use the delay to synchronize their clocks. For example, cable modem <NUM>-<NUM> receives the CMTS time and the delay and uses the delay to adjust the CMTS time received from CMTS <NUM>. The adjusted time may then be sent through a master port <NUM>-<NUM> to a slave port <NUM>-<NUM> of mobile network device <NUM>-<NUM>. Similarly, cable modem <NUM>-<NUM> may receive the CMTS time and the delay. In some embodiments, cable modem <NUM>-<NUM> may receive a different delay depending on a difference in the delay that may be calculated to send packets between cable modems <NUM>-<NUM> to <NUM>-<NUM>. This will be discussed in more detail below as different cable modems may experience different delays. Cable modem <NUM>-<NUM> uses a master port <NUM>-<NUM> to communicate an adjusted time to a slave port <NUM>-<NUM> of mobile network device <NUM>-<NUM>.

The CMTS times provided to mobile network devices <NUM>-<NUM> and <NUM>-<NUM> are now synchronized in the time domain. Also, mobile network device <NUM>-<NUM> includes a sync interface <NUM>-<NUM> that can be used to sync the frequency. Similarly, mobile network device <NUM>-<NUM> includes a sync interface <NUM>-<NUM> that can sync the frequency of the mobile network device. In some embodiments, the frequency synchronization may be performed using the syncE protocol. Accordingly, the time and frequency being used by mobile network device <NUM>-<NUM> and mobile network device <NUM>-<NUM> are synchronized and problems with handover between multiple end devices may not occur.

The above process that uses an external timing source <NUM>-<NUM> does not require reference cable modem <NUM> to measure the asymmetric delay between CMTS <NUM> and reference cable modem <NUM> in the DOCSIS network. Reference cable modem <NUM> does not need to send ranging messages to CMTS <NUM> and calculate the round-trip delay for the ranging messages. Also, network devices do not need to measure the asymmetry between sending the messages upstream and downstream. This simplifies the clock calculation and synchronization process. For example, fewer calculations and measurements need to be performed when using external timing source <NUM>-<NUM>.

The system may use different protocols to maintain the timing and frequency synchronization. The following will discuss specific protocols, but other protocols can be used. <FIG> depicts an example of timing and frequency protocols that can be used according to some embodiments. For example, the time may be synchronized using an IEEE-<NUM> protocol. In some examples, the International Telecommunication Union (ITU)-T G. <NUM> and ITU-T G. <NUM> profiles may be used. <NUM> will be used for discussion purposes, but ITU-T G. <NUM> may also be used in place of or in combination of ITU-T G. Also, successive protocols to ITU-T G. <NUM> and ITU-T G. <NUM> may be appreciated. Although these protocols are described, other protocols may be used. The IEEE-<NUM> protocols and ITU-T profiles are different from the protocols (e.g., DOCSIS) that are used to transport the time between CMTS <NUM> and reference cable modem <NUM> and cable modems <NUM> may be used.

The frequency synchronization may use synchronous Ethernet (SyncE). Grand master clock <NUM>-<NUM> and timing source <NUM>-<NUM> may receive a timing signal from GNSS <NUM>-<NUM>. A master port <NUM> provides a time T-GM from grand master clock <NUM>-<NUM>. A master port <NUM> is a T-GM G. <NUM> master port that provides the grand master time.

Boundary clock <NUM> receives the time and a T-BC G. <NUM> port <NUM>-<NUM> can provide the time using the protocol IEEE-<NUM> and ITU-T G. <NUM> profile to a slave port <NUM>-<NUM>. An EEC device <NUM>-<NUM> uses the protocol SyncE to communicate frequency synchronization information to an EEC device <NUM>-<NUM> in CMTS <NUM>. CMTS <NUM> can then provide the CMTS time via the DOCSIS network to reference cable modem <NUM>. Reference cable modem <NUM> also receives an external time from timing source <NUM>-<NUM>. For example, a grand master clock <NUM>-<NUM> receives the external time from GNSS <NUM>-<NUM>. <NUM> master port <NUM>-<NUM> provides the external time using the protocol IEEE-<NUM> and ITU-T G. <NUM> profile to slave port <NUM>-<NUM>. Reference cable modem <NUM> calculates the difference from the CMTS time received from CMTS <NUM> to the external time received from grand master clock <NUM>-<NUM>. As discussed above, reference cable modem <NUM> provides the difference to CMTS <NUM>.

CMTS <NUM> can provide a CMTS time to cable modems <NUM>-<NUM> and <NUM>-<NUM> in addition to a delay. Cable modem <NUM>-<NUM> calculates an adjusted time and uses a master port <NUM>-<NUM> to send the adjusted time using a protocol IEEE-<NUM> and ITU-T G. <NUM> profile to a slave port <NUM>-<NUM>. Additionally, cable modem <NUM>-<NUM> calculates an adjusted time and uses a master port <NUM>-<NUM> to send the adjusted time using a protocol IEEE-<NUM> and ITU-T G. <NUM> profile to a slave port <NUM>-<NUM>. The times at mobile network devices <NUM>-<NUM> and <NUM>-<NUM> are now synchronized using the protocol ITU-T G. Additionally, the frequency may be synchronized using SyncE at EEC device <NUM>-<NUM> in mobile network device <NUM>-<NUM> and EEC device <NUM>-<NUM> in mobile network device <NUM>-<NUM>.

<FIG> depicts a simplified flowchart <NUM> of a method for calculating the difference in clock values at reference cable modem <NUM> according to some embodiments. At <NUM>, reference cable modem <NUM> receives a CMTS time (TCMTS) from CMTS <NUM>. CMTS <NUM> received a GPS time (TGPS-N) derived from GNSS <NUM>-<NUM>. A CM time TCM-D is the CMTS time that the cable modem <NUM> received from CMTS <NUM>. The CM Time TCM-D is the same as the CMTS time TCMTS. That is, CM Time TCM-D is the CMTS time TCMTS received in the packet.

At <NUM>, reference cable modem <NUM> locks to an external grand master clock <NUM>-<NUM>. This is the external grand master clock that may be downstream from reference cable modem <NUM>. This grand master clock may be different from grand master clock <NUM>-<NUM>, but both provide the same time. At <NUM>, reference cable modem <NUM> calculates an external time TCM-<NUM> from the external grand master clock <NUM>-<NUM>.

At <NUM>, reference cable modem <NUM> calculates a difference time value between the CMTS time and the external time. The difference time value (DCM-R) is the difference between the CMTS time and the external time (DCM-R = TCM-D - TCM-<NUM>). At <NUM>, reference cable modem <NUM> sends the difference time value DCM-R back to CMTS <NUM>. Although sending the difference time value is discussed, reference cable modem <NUM> may send the external time to CMTS <NUM>, which can then calculate the difference time value.

<FIG> depicts a simplified flowchart <NUM> of a method for processing the difference time value at CMTS <NUM> according to some embodiments. At <NUM>, CMTS <NUM> receives a difference time value DCM-R from reference cable modem <NUM>. The difference time value DCM-R is the difference between the DOCSIS derived time, which is the CMTS time, and the external source derived time from reference cable modem <NUM> (TCM-<NUM>). Alternatively, CMTS <NUM> may calculate the difference time value using the external time.

At <NUM>, CMTS <NUM> calculates a delay value by applying ranging differences between reference cable modem <NUM> and each of respective cable modems <NUM>-<NUM> to <NUM>-<NUM>. The ranging differences may be the differences in communicating a message from reference cable modem <NUM> to CMTS <NUM> and back versus communicating a message from cable modem <NUM>-<NUM> to CMTS <NUM> and back and also from cable modem <NUM>-<NUM> to CMTS <NUM> and back. The ranging differences between reference cable modem <NUM> and each cable modem <NUM> may take into account the different delays in sending a packet from CMTS <NUM> in each respective cable modem <NUM>. That is, it may take a different amount of time to send a packet from CMTS <NUM> to reference cable modem <NUM> compared to sending a packet from CMTS <NUM> to cable modem <NUM>. The delay is DCM-I, which is the delay that should be added by cable modem to the DOCSIS derived time TCM-D. At <NUM>, CMTS <NUM> sends the respective delay value to other cable modems <NUM>.

<FIG> depicts a simplified flowchart <NUM> of a method for processing the time received from CMTS <NUM> at cable modems <NUM> according to some embodiments. This process may be performed at each cable modem, such as cable modems <NUM>-<NUM> and <NUM>-<NUM>, but with different delays for each respective cable modem. In other embodiments, CMTS <NUM> may send the same delay to each cable modem because the difference in delays may be small enough that synchronization errors do not exist. At <NUM>, cable modem <NUM> receives a first time from CMTS <NUM>. A time TCM-D is the CMTS time cable modem <NUM> received the CMTS time TCMTS.

At <NUM>, cable modem <NUM> receives the delay value calculated for the cable modem DCM-I. At <NUM>, cable modem <NUM> calculates the target time that should be advertised to mobile network device <NUM> based on the time TCM-D and the delay value. The time TCM-I-M is equal to = TCM-D + TCM-I. The time TCM-I-M takes into account the delay from sending a packet with the time TCMTS from CMTS <NUM> to cable modem <NUM>.

One example to possibly enhance the accuracy may be to place a reference cable modem close to CMTS <NUM> instead of over a network. For example, a reference cable modem may be placed with only a few nanoseconds (NS) of propagation delay to approximate the external time. <FIG> depicts an example of a system that places a reference cable modem close to CMTS <NUM> according to some embodiments. At <NUM>, a reference cable modem has been placed in the head end with CMTS <NUM>. That is, reference cable modem <NUM> may be the same network device as CMTS <NUM>. This reduces the delay between CMTS <NUM> and reference cable modem <NUM>.

The ranging information between each cable modem <NUM> to CMTS <NUM> may then be used to calculate the delay differences between reference cable modem <NUM> and cable modems <NUM>-<NUM> and <NUM>-<NUM>. The reference CM path is short and constant and does not suffer from ranging dynamic changes as remote CMs might suffer. In addition, if the reference CM receives the same reference as the CMTS, the time error between the two different GMs is eliminated (~<NUM> ns reduction).

Accordingly, reference cable modem <NUM> maintains synchronization in the network when a non-DOCSIS protocol is used to advertise the timing synchronization through a DOCSIS network that may have asymmetry delays. The network avoids having to measure the asymmetry delays through the network by using an external timing source. This simplifies the synchronization process by reducing the number of measurements and also simplifying the calculation for the delay.

<FIG> illustrates an example of special purpose computer systems <NUM> according to one embodiment. Computer system <NUM> includes a bus <NUM>, network interface <NUM>, a computer processor <NUM>, a memory <NUM>, a storage device <NUM>, and a display <NUM>. Computer system <NUM> may be an example of different entities described, such as cable modems <NUM> and <NUM> or CMTS <NUM>.

Bus <NUM> may be a communication mechanism for communicating information. Computer processor <NUM> may execute computer programs stored in memory <NUM> or storage device <NUM>. Any suitable programming language can be used to implement the routines of some embodiments including C, C++, Java, assembly language, etc. Different programming techniques can be employed such as procedural or object oriented. The routines can execute on a single computer system <NUM> or multiple computer systems <NUM>. Further, multiple computer processors <NUM> may be used.

Memory <NUM> may store instructions, such as source code or binary code, for performing the techniques described above. Memory <NUM> may also be used for storing variables or other intermediate information during execution of instructions to be executed by processor <NUM>. Examples of memory <NUM> include random access memory (RAM), read only memory (ROM), or both.

Storage device <NUM> may also store instructions, such as source code or binary code, for performing the techniques described above. Storage device <NUM> may additionally store data used and manipulated by computer processor <NUM>. For example, storage device <NUM> may be a database that is accessed by computer system <NUM>. Other examples of storage device <NUM> include random access memory (RAM), read only memory (ROM), a hard drive, a magnetic disk, an optical disk, a CD-ROM, a DVD, a flash memory, a USB memory card, or any other medium from which a computer can read.

Memory <NUM> or storage device <NUM> may be an example of a non-transitory computer-readable storage medium for use by or in connection with computer system <NUM>. The non-transitory computer-readable storage medium contains instructions for controlling a computer system <NUM> to be configured to perform functions described by some embodiments. The instructions, when executed by one or more computer processors <NUM>, may be configured to perform that which is described in some embodiments.

Computer system <NUM> includes a display <NUM> for displaying information to a computer user. Display <NUM> may display a user interface used by a user to interact with computer system <NUM>.

Computer system <NUM> also includes a network interface <NUM> to provide data communication connection over a network, such as a local area network (LAN) or wide area network (WAN). Wireless networks may also be used. In any such implementation, network interface <NUM> sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.

Computer system <NUM> can send and receive information through network interface <NUM> across a network <NUM>, which may be an Intranet or the Internet. Computer system <NUM> may interact with other computer systems <NUM> through network <NUM>. In some examples, client-server communications occur through network <NUM>. Also, implementations of some embodiments may be distributed across computer systems <NUM> through network <NUM>.

Some embodiments may be implemented in a non-transitory computer-readable storage medium for use by or in connection with the instruction execution system, apparatus, system, or machine. The computer-readable storage medium contains instructions for controlling a computer system to perform a method described by some embodiments. The computer system may include one or more computing devices. The instructions, when executed by one or more computer processors, may be configured to perform that which is described in some embodiments.

As used in the description herein and throughout the claims that follow, "a", "an", and "the" includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of "in" includes "in" and "on" unless the context clearly dictates otherwise.

Claim 1:
A method (<NUM>) comprising:
receiving (<NUM>), by a reference cable modem, a first time from a cable modem termination system, CMTS, the first time derived according to a DOCSIS timing protocol;
receiving (<NUM>, <NUM>), by the reference cable modem, a second time from a second timing source and according to an external timing protocol different than the DOCSIS timing protocol;
calculating (<NUM>), by the reference cable modem, a difference time value between the first time and the second time; and
sending (<NUM>), by the reference cable modem, the difference time value to the CMTS.