Patent Description:
Optical networks are commonly employed to transmit data. Wavelength-division multiplexing (WDM) and dense wavelength-divisional multiplexing (DWDM) techniques may be used to transmit data in optical signals over a common or shared optical fiber, sometimes referred to as an optical link. In these techniques, clocks at the respective network elements, nodes, and/or devices are synchronized. To ensure synchronization of the clocks, the network elements include a Global Positioning System (GPS) receiver and an external GPS antenna to receive exact time information. External disturbances from an environment can introduce errors in clock synchronization via the GPS receivers and the GPS antennas.

Another approach to synchronizing clocks is to distribute Time of Day (TOD) information using a <NPL> standard 1588v2. The IEEE 1588v2 standard defines synchronization and distribution of Time Of Day from a master clock of a master node to one or more slave clocks of slave nodes, remote slave clients, or another master node. In the PTP, the clocks are synchronized throughout a packet-switched network. Synchronization is achieved using packets that are transmitted and received in a session between the master clock and the slave clock. Messages are received after "some time" because of a delay in propagation of signals through the physical medium (optical fibers). This propagation delay is an error that is to be calculated and compensated for when synchronizing clocks. The PTP calculates the round trip delay between the master clock and the slave clock. The delay or latency between the master node and slave node(s) is assumed to be half of a round trip latency delay. Accordingly, the PTP calculations assume that the optical fiber of a forward path and the optical fiber of a reverse path are symmetrical. The PTP calculations introduce error when the optical fibers are asymmetrical.

<CIT> is directed to a method, terminal and system for measuring an asymmetric delay of a transmission link. The method includes: a slave terminal receives a first message including a first timestamp from a master terminal, and records a second timestamp of receiving the first message; the slave terminal performs switchover with the master terminal by exchanging messages with the master terminal; the slave terminal receives a second message including a third timestamp from the master terminal, and record a fourth timestamp of receiving the second message; and the slave terminal calculates an asymmetric delay of a transmission link according to the first timestamp, the second timestamp, the third timestamp, and the fourth timestamp. With the disclosure, clocks of a master terminal and a slave terminal are synchronized via a synchronous Ethernet, a timestamp of sending or receiving a message by the master terminal or the slave terminal is recorded, switchover between optical fibers on a link is performed by switching a switch, and after switchover, a message is sent again and timestamps of the message at the master terminal and the slave terminal are recorded. According to the four timestamps acquired two by two, the slave terminal can calculate an asymmetric delay of the transmission link quickly, with an accuracy up to a nanosecond level. Meanwhile, a measuring process is simplified.

Briefly, in one embodiment, methods are presented for measurement of asymmetry of path lengths of optical fibers on forward and return paths. In these methods, a second optical network device receives, at a first arrival time, from a first optical network device, a first optical signal transmitted on a first optical fiber and also receives, at a second arrival time, from the first optical network device, a second optical signal transmitted on a second optical fiber. The second optical network device calculates a first time difference between the second arrival time of the second optical signal and the first arrival time of the first optical signal. The second optical network device determines a measure of asymmetry between the first optical fiber and the second optical fiber based on the first time difference and a second time difference between a first time of transmission by the first optical network device of the first optical signal and a second time of transmission by the first optical network device of the second optical signal.

Service providers may wish to not rely on a Global Navigation Satellite System (GNSS) for next generation networks, such as a fifth generation (<NUM>) mobile network, because GNSS signals can be easily disturbed and cause an error. The next generation networks use and rely on accurate network synchronization. For example, new systems are improving a resolution of time-stamping transport accuracy to comply with class C profiles specified by International Telecommunication Union (ITU) G. <NUM> Timing Characteristics of telecom boundary clocks and telecom time slave clocks (October <NUM>), which limits Constant Time Error to +/- <NUM> nanoseconds per each optical network node.

For next generation networks, service providers may use a timing distribution model based on the IEEE 1588v2 protocol provided adjustment can be made for the asymmetry between the lengths of forward path and reverse path optical fibers. Techniques are presented herein that combine the round trip delay calculation supported by the PTP of IEEE 1588v2 with a calculated asymmetry of the forward path and reverse path optical fibers to reduce errors in synchronization of clocks of optical nodes that are in communication with each other. In one form, an optical switch is deployed in each optical node. The optical switch enables switching of a propagation direction of optical signals between the forward path and the reverse path. Accordingly, the first optical network device sends packets on both optical fibers to the second optical network device and the asymmetry of the forward path and reverse path optical fibers can be calculated based on a difference between the transmission times and arrival times of the packets. Based on the asymmetry of the optical fibers, a time offset value is adjusted when computing a round trip delay using the PTP protocol, and the clocks can be synchronized with high precision. These techniques improve the resolution of the measure of the asymmetry up to the resolution of an optical network device inserting and extracting the timestamping packets that is less than a nanosecond (a precision of less than <NUM> centimeters of optical fiber).

Even if the fiber asymmetry is not inherently impacting the accuracy of signal processing at a given node, the PTP distribution accuracy is impacted because each meter of asymmetry introduces an error of <NUM> nanoseconds. Since network deployments may have uncontrolled path asymmetries of several meters due to patch panels and fiber patches, the techniques presented herein can measure the asymmetry of the optical fibers and adjust the PTP measurements accordingly.

The use of PTP over a bidirectional Optical Service Channel (OSC) is an alternative to measuring the asymmetry of the optical fibers. Since in the bidirectional OSC, the PTP travels only on one fiber, there is no path asymmetry. However, deploying the bidirectional OSC in an optical network is less desirable and separate optical fibers for each path may be preferred. In one example embodiment, the asymmetry is measured without using an Optical Time Domain Reflectometer (OTDR) integrated inside the nodes, which may also be costly and inaccurate.

In various example embodiments, the timestamping mechanism available for the IEEE 1588v2 PTP transport is used to calculate the fiber asymmetry in conjunction with an optical switch. The resolution of the measure of the asymmetry is based on the resolution of digital device inserting/extracting the timestamps, which is less than a nanosecond (and in terms of fiber length is less than <NUM>).

In yet another example embodiment, when the optical network devices are connected without amplification, the PTP is transported on a single channel (wavelength). This single channel may also be used for data traffic. The optical network devices do not employ the OSC in this situation. The optical switch is then deployed in front of the full line or interface, as detailed below.

Reference is now made to <FIG> that illustrates a block diagram depicting an optical network <NUM> that includes first and second optical nodes (e.g., a master node and a slave node, respectively) configured to measure propagation delay of an optical signal transmitted through a first optical fiber of a forward path between the first and second optical nodes, according to an example embodiment. A similar arrangement of the optical network <NUM> is shown in <FIG> in which the first and second optical nodes are configured to measure propagation delay of an optical signal transmitted through a second optical fiber of a reverse path between the first and second optical nodes.

The optical network <NUM> may employ WDM or DWDM technologies. In <FIG>, the optical network <NUM> includes a forward path (FP) optical fiber <NUM> and a reverse path (RP) optical fiber <NUM> connected between a master node <NUM> and a slave node <NUM>. The optical network <NUM> may include multiple nodes and the number of nodes depends on a particular configuration of the optical network <NUM> and is not limited to the example depicted in <FIG>.

The FP optical fiber <NUM> and the RP optical fiber <NUM> provide bidirectional communication between the master node <NUM> and the slave node <NUM>. The FP optical fiber <NUM> supports at least one optical communication channel from the master node <NUM> to the slave node <NUM>. The RP optical fiber <NUM> supports at least one optical communication channel from the slave node <NUM> to the master node <NUM>. The FP optical fiber <NUM> may span the same wavelengths as the RP optical fiber <NUM> i.e., frequency synchronized or frequency locked. The FP optical fiber <NUM> may have a different length than that of the RP optical fiber <NUM>, as shown in <FIG>. Since the FP optical fiber <NUM> and the RP optical fiber <NUM> may have different lengths, the paths associated with the FP optical fiber <NUM> and the RP optical fiber <NUM> may be considered asymmetrical.

The master node <NUM> and the slave node <NUM> are optical network elements or devices (nodes), such as optical transponders, which are connected to one another via the FP optical fiber <NUM> and the RP optical fiber <NUM>. The master node <NUM> includes a master clock <NUM>, a first optical supervisory channel component (OSC) <NUM>, a first optical transmitter <NUM>, a first optical receiver <NUM>, a first optical switch <NUM>, and a first controller <NUM> that includes a processor and memory. The slave node <NUM> includes a slave clock <NUM>, a second OSC <NUM>, a second optical transmitter <NUM>, a second optical receiver <NUM>, a second optical switch <NUM>, and a second controller <NUM> that includes a processor and memory.

The optical transmitters <NUM> and <NUM> each includes a transmitter module and a transmitter digital signal processor (DSP), not shown. The optical receivers <NUM> and <NUM>, each includes a receiver module and a receiver DSP, not shown. The transmitter module and the receiver module may be optical pluggable modules configured to transmit and receive optical signals, respectively. The DSPs process electrical signals by performing various signal processing operations. The first and second optical switches <NUM> and <NUM> may be a cross switch. The first optical switch <NUM> may be arranged between the FP and RP optical fibers <NUM> and <NUM> and the first optical transmitter <NUM> and the first optical receiver <NUM>. Likewise, the second optical switch <NUM> may be arranged between the FP and RP optical fibers <NUM> and <NUM> and the second optical transmitter <NUM> and second optical receiver <NUM>. This arrangement allows for changing the direction of optical signal propagation on one of the FP optical fiber <NUM> or the RP optical fiber <NUM>, as explained further below. The first and second controllers <NUM> and <NUM> control the components of the respective optical network elements.

In one example embodiment depicted in <FIG>, the first optical transmitter <NUM> and the first optical receiver <NUM> are part of the first OSC <NUM> and the second optical transmitter <NUM> and second optical receiver <NUM> are part of the second OSC <NUM>. That is, the optical network <NUM> may be a metro network that is optically amplified. In a metro network, wavelengths or optical channels transporting customer traffic are amplified by optical amplifiers (such as Erbium-Doped Fiber Amplifiers) placed along the way. Since asymmetries introduced by the presence of various optical amplifiers may be difficult to track, the PTP packets are transported out of band via an optical service channel (OSC). The OSC is a control channel that does not cross any of the optical amplifiers and is regenerated at every optical network element.

In yet another example embodiment, the first optical transmitter <NUM> and the first optical receiver <NUM> may be part of a line card or an interface for customer traffic. Likewise, the second optical transmitter <NUM> and the second optical receiver <NUM> may be part of a line card or interface for customer traffic. In this case, the optical network <NUM> may be a backhaul network that connects two remote sites in a mobile access application without any amplification along the way. Since no amplifiers are deployed, only one single channel or wavelength may be sufficient to transport both customer/data traffic and control data. The optical network <NUM> deployed without the first OSC <NUM> and the second OSC <NUM> uses the channel for customer/data traffic to transport the packets used for purposes of the techniques presented herein The optical network <NUM> may be deployed to support coherent optics applications.

In <FIG>, the master node <NUM> generates a first optical signal <NUM>. The first optical signal <NUM> is transmitted on the FP optical fiber <NUM> from the master node <NUM> to the slave node <NUM>. The first optical switch <NUM> connects the first optical transmitter <NUM> to the FP optical fiber <NUM> and the second optical switch <NUM> connects the second optical receiver <NUM> to the FP optical fiber <NUM>, thereby propagating the first optical signal <NUM> on the FP optical fiber <NUM> from the master node <NUM> to the slave node <NUM>.

Reference is now made to <FIG> that illustrates the optical network <NUM> in which the first and second optical nodes are configured to measure propagation delay of an optical signal transmitted through the RP optical fiber <NUM>, according to an example embodiment. <FIG> depicts the same network components as <FIG>, detailed explanations of which are omitted for the sake of brevity.

In <FIG>, the optical switches <NUM> and <NUM> are toggled. As a result, the first optical transmitter <NUM> is connected to the RP optical fiber <NUM> via a cross connect function of the first optical switch <NUM> and the second optical receiver <NUM> is connected to the RP optical fiber <NUM> via a cross connect function of the second optical switch <NUM>. A second optical signal <NUM> is propagated via the RP optical fiber <NUM> from the master node <NUM> to the slave node <NUM>.

In an example embodiment, the master clock <NUM> and the slave clock <NUM> are synchronized to have the same TOD, using the technique presented herein explained in more detail below with reference to <FIG>.

<FIG> is a diagram illustrating a method <NUM> of obtaining propagation delays of optical signals transmitted through a first optical fiber of a forward path and through a second optical fiber of a reverse path, according to an example embodiment. Reference is also made to <FIG> and <FIG> for purposes of the description of <FIG> depicts at least some of the same network components as <FIG>, detailed explanations of which are omitted for the sake of brevity. While <FIG> depicts the first OSC <NUM> and the second OSC <NUM>, according to another example embodiment, the first OSC <NUM> and the second OSC <NUM> may be omitted.

<FIG> depicts the master node <NUM> and the slave node <NUM> being connected by the FP optical fiber <NUM> and the RP optical fiber <NUM>. The master node <NUM> transmits a first packet in the first optical signal <NUM> (<FIG>) to the slave node <NUM> via the FP optical fiber <NUM> and transmits a second packet in the second optical signal <NUM> (<FIG>) via the RP optical fiber <NUM>.

The master node <NUM> and the slave node <NUM> are frequency locked by Synchronous Ethernet (SyncE) signaling, for example. Synchronous Ethernet is an ITU-T standard for computer networking that facilitates the transference of clock signals over the Ethernet physical layer. This signal can be made traceable to an external clock. The master clock <NUM> of the master node <NUM> is set to a time T. The slave clock <NUM> of the slave node <NUM> is set to the time T'. The offset between the Time of Day (TOD) of the master clock <NUM> and the slave clock <NUM> is unknown such that T' = T + Δτ, where Δτ is the unknown offset between the two clocks <NUM> and <NUM>. In an example embodiment, the path asymmetry is calculated based on a difference in flying time between the FP optical fiber <NUM> and the RP optical fiber <NUM>, as detailed below. The path asymmetry is independent from the time error of the two nodes, i.e., the unknown offset (Δτ).

At <NUM>, the master node <NUM> sends the first packet in the first optical signal <NUM>, at time T1, via the FP optical fiber <NUM>, to the slave node <NUM>. When the first packet is received by the slave node <NUM>, the slave node <NUM> clocks (timestamps) a first arrival time T2' of the first packet, at <NUM>. The first arrival time T2' =T1+TFF+ Δτ, where TFF is a propagation delay of the first optical signal <NUM> on the FP optical fiber <NUM> i.e., fly time in a forward direction. The slave node <NUM> stores the first arrival time T2', clocked by the slave clock <NUM>, in the second controller <NUM>.

Next, at 306a, the first optical switch <NUM> is toggled in the master node <NUM> and at 306b, the second optical switch <NUM> is toggled in the slave node <NUM>. In this way, the master node <NUM> and slave node <NUM> are configured to reverse the propagation direction of optical signals such that the master node <NUM> transmits a second packet via the RP optical fiber <NUM> instead of the master node <NUM> receiving optical signals from slave node <NUM> on the RP optical fiber <NUM>.

In particular, at <NUM>, the master node <NUM> sends the second packet in the second optical signal <NUM>, at time T3, via the RP optical fiber <NUM>, to the slave node <NUM>. When the second packet is received by the slave node <NUM>, the slave node <NUM> clocks a second arrival time T4' of the second packet, at <NUM>. The second arrival time T4' =T3+TFR+ Δτ, where TFR is a propagation delay of the second optical signal <NUM> on the RP optical fiber <NUM> i.e., fly time in a reverse direction. The slave node <NUM> stores the second arrival time T4', clocked by the slave clock <NUM>, in the second controller <NUM>.

At 312a, the master node <NUM> calculates a first time difference (Δ). The first time difference is a difference between the second transmission time T3 of the second packet time and the first transmission time T1 of the first packet (Δ=T3-T1).

At 312b, the slave node <NUM> calculates a second time difference (Δ'). The second time difference is a difference between the second arrival time T4' and the first arrival time T2' (Δ' = T4' - T2').

At <NUM>, the slave node <NUM> determines the path asymmetry (Δφ) or a skew between the FP optical fiber <NUM> and the RP optical fiber <NUM> based on the first time difference (Δ) and the second time difference (Δ'). The path asymmetry (Δφ) is a difference between the first time difference and the second time difference (Δ' - Δ). The path asymmetry (Δφ) is the difference between the flight time in the forward direction (TFF) and the flight time in the reverse direction (TFR) and is independent of unknown offset (Δτ). That is: <MAT>.

As noted above, one meter of an optical fiber introduces a latency of <NUM> nanoseconds. This may result in a skew between the optical fibers, thereby introducing an offset of TOD difference. For example, one meter of asymmetry in the optical fibers, introduces an error of <NUM> nanoseconds that is comparable with a profile of Class C that uses Constant Time Error limit +/- <NUM> nanoseconds. In an example embodiment, the asymmetry is considered when synchronizing the clocks of the first and second nodes that are in communication with each other, thus avoiding additional time errors.

The master clock <NUM> and the slave clock <NUM> may be synchronized using the PTP packet exchange but factoring into or adjusting the offset value based on the calculated path asymmetry (Δφ). According to one example embodiment, based on the estimated path asymmetry (Δφ), an accurate propagation delay may be factored into clock synchronization. The TOD of the slave clock <NUM> is set to the time of the master clock <NUM> adjusted by an offset. Accordingly, the TOD of the master clock <NUM> (T), received by the slave node <NUM>, is to be adjusted by an offset that factors in the asymmetry of the optical fibers (T'=T+offset), where the offset value or the propagation delay accounts for or includes the estimated path asymmetry (Δφ). In short, the path asymmetry (Δφ) between the FP optical fiber <NUM> and the RP optical fiber <NUM> is obtained and this value is plugged into the PTP protocol by proportionally adjusting the offset in setting the TOD of the slave clock <NUM>.

While <FIG> describes the master node <NUM> determining the first time difference (Δ) at 312a and the slave node <NUM> determining the second time difference (Δ') at 312b, this is only an example. According to yet another example embodiment, the second time difference (Δ') may be provided by the slave node <NUM> to the master node <NUM> and the master node <NUM> may then calculate the path asymmetry Δφ. According to yet another example embodiment, the first optical signal may include a first message that contains the first time of transmission (T1) and the second optical signal may include a second message that contains the second time of transmission (T2). Accordingly, the slave node <NUM> may compute the first time difference (Δ) as well as the second time difference (Δ') between the transmission times of the two packets.

Example embodiments are directed to measuring asymmetry of the optical fibers using an optical switch inserted into an optical node to reverse the direction of signal propagation on one of the two fibers connecting between first and second optical nodes. The packets are transmitted at specific times and arrival times of the packets are measured (using PTP packets transported via an OSC or a traffic channel, depending on a particular network deployment). Based on transmission times and arrival times of the packets, propagation delays are determined. Based on the difference between the propagation delays of these two fibers, fiber asymmetry is determined.

Turning now to <FIG>, a flowchart is now described for a method <NUM> of determining path asymmetry between a first optical fiber of a forward path and a second optical fiber of a reverse path in an optical network, according to an example embodiment. The method <NUM> is performed by an optical network device e.g., the master node <NUM> or the slave node <NUM>, shown in <FIG>.

At <NUM>, the second optical network device receives, at a first arrival time, from a first optical network device, a first optical signal transmitted on a first optical fiber.

At <NUM>, the second optical network device receives, at a second arrival time, from the first optical network device, a second optical signal transmitted on a second optical fiber.

At <NUM>, the second optical network device calculates a first time difference between the second arrival time of the second optical signal and the first arrival time of the first optical signal.

At <NUM>, the second optical network device determines a measure of asymmetry between the first optical fiber and the second optical fiber based on the first time difference and a second time difference between a first time of transmission by the first optical network device of the first optical signal and a second time of transmission by the first optical network device of the second optical signal.

The method <NUM> may further include receiving, by the second optical network device from the first optical network device, the second time difference computed by the first optical network device.

In the method <NUM>, the operation <NUM> of determining the measure of asymmetry between the first optical fiber and the second optical fiber may include calculating, by the second optical network device, a path difference based on a difference between the first time difference and the second time difference, wherein the path difference represents the measure of asymmetry.

In the method <NUM>, the operation <NUM> of receiving the second optical signal may include switching, by the second optical network device, from transmitting to the first optical network device, on the second optical fiber, to receiving, via the second optical fiber, the second optical signal from the first optical network device.

In one form, the method <NUM> may further include frequency synchronizing a first clock of the first optical network device with a second clock of the second optical network device prior to the first optical network device transmitting the first optical signal and the second optical signal.

The method <NUM> may further include converting, by the second optical network device, the measure of asymmetry into a time offset value and adjusting, by the second optical network device, a time reference of the second optical network device based on the time offset value.

In one form, the operation of adjusting the time reference may include adjusting an offset value based on the measure of asymmetry when computing a round trip delay based on a timing protocol between the first optical fiber and the second optical fiber. The method <NUM> may further include synchronizing a second clock of the second optical network device with a first clock of the first optical network device using the timing protocol and the offset value.

According to one or more example embodiments, the operation <NUM> of receiving the first optical signal may include receiving, by the second optical network device, the first optical signal, transmitted via an optical service channel on the first optical fiber and the operation <NUM> of receiving the second optical signal may include receiving, by the second optical network device, the second optical signal, transmitted via the optical service channel on the second optical fiber.

According to yet other example embodiments, the operation <NUM> of receiving the first optical signal may include receiving, by the second optical network device, the first optical signal, transmitted at a first wavelength that transmits traffic data and the operation <NUM> of receiving the second optical signal may include receiving, by the second optical network device, the second optical signal, transmitted at the first wavelength that transmits the traffic data from the second optical network device to the first optical network device.

In the method <NUM>, the operation <NUM> of receiving the first optical signal may include receiving, by the second optical network device, the first optical signal, transmitted over a data channel that transmits data traffic from the first optical network device to the second optical network device. Likewise, the operation <NUM> of receiving the second optical signal may include receiving, by the second optical network device, the second optical signal, transmitted over the data channel that transmits the data traffic from the second optical network device to the first optical network device.

As described above, the first optical signal may include a first message that contains the first time of transmission and the second optical signal may include a second message that contains the second time of transmission.

<FIG> is a hardware block diagram illustrating a computing device <NUM> that may perform the functions of an optical network device referred to herein in connection with <FIG>, according to example embodiments. The computing device <NUM> performs the functions of the master node <NUM> or of the slave node <NUM>, as described above in connection with <FIG>.

It should be appreciated that <FIG> provides only an illustration of one embodiment and does not imply any limitations with regard to the environments in which different embodiments may be implemented. Many modifications to the depicted environment may be made.

As depicted, the computing device <NUM> includes a bus <NUM>, which provides communications between computer processor(s) <NUM>, memory <NUM>, persistent storage <NUM>, communications unit <NUM>, and input/output (I/O) interface(s) <NUM>. Bus <NUM> can be implemented with any architecture designed for passing data and/or control information between processors (such as microprocessors, communications and network processors, etc.), system memory, peripheral devices, and any other hardware components within a system. For example, bus <NUM> can be implemented with one or more buses.

Memory <NUM> and persistent storage <NUM> are computer readable storage media. In the depicted embodiment, memory <NUM> includes random access memory (RAM) <NUM> and cache memory <NUM>. In general, memory <NUM> can include any suitable volatile or non-volatile computer readable storage media. Instructions for the control logic <NUM> may be stored in memory <NUM> or persistent storage <NUM> for execution by processor(s) <NUM>.

The control logic <NUM> includes instructions that, when executed by the computer processor(s) <NUM>, cause the computing device <NUM> to perform one or more of the methods described herein including a method of determining a measure of asymmetry between the first optical fiber and the second optical fiber based on the first time difference obtained from arrival times of the first and second optical signals propagated through two different fibers and a second time difference obtained from transmission times of the first and second optical signals. The control logic <NUM> may be stored in the memory <NUM> or the persistent storage <NUM> for execution by the computer processor(s) <NUM>.

One or more programs may be stored in persistent storage <NUM> for execution by one or more of the respective computer processors <NUM> via one or more memories of memory <NUM>. The persistent storage <NUM> may be a magnetic hard disk drive, a solid state hard drive, a semiconductor storage device, read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, or any other computer readable storage media that is capable of storing program instructions or digital information.

Communications unit <NUM>, in these examples, provides for communications with other data processing systems or devices. In these examples, communications unit <NUM> includes one or more network interface cards. Communications unit <NUM> may provide communications through the use of either or both physical and wireless communications links.

I/O interface(s) <NUM> allows for input and output of data with other devices that may be connected to computing device <NUM>. For example, I/O interface <NUM> may provide a connection to external devices <NUM> such as a keyboard, keypad, a touch screen, and/or some other suitable input device. External devices <NUM> can also include portable computer readable storage media such as database systems, thumb drives, portable optical or magnetic disks, and memory cards.

Software and data used to practice embodiments can be stored on such portable computer readable storage media and can be loaded onto persistent storage <NUM> via I/O interface(s) <NUM>. I/O interface(s) <NUM> may also connect to a display <NUM>. Display <NUM> provides a mechanism to display data to a user and may be, for example, a computer monitor.

The programs described herein are identified based upon the application for which they are implemented in a specific embodiment. However, it should be appreciated that any particular program nomenclature herein is used merely for convenience, and thus the embodiments should not be limited to use solely in any specific application identified and/or implied by such nomenclature.

The present embodiments may employ any number of any type of user interface (e.g., Graphical User Interface (GUI), command-line, prompt, etc.) for obtaining or providing information, where the interface may include any information arranged in any fashion. The interface may include any number of any types of input or actuation mechanisms (e.g., buttons, icons, fields, boxes, links, etc.) disposed at any locations to enter/display information and initiate desired actions via any suitable input devices (e.g., mouse, keyboard, etc.). The interface screens may include any suitable actuators (e.g., links, tabs, etc.) to navigate between the screens in any fashion.

The environment of the present embodiments may include any number of computer or other processing systems (e.g., client or end-user systems, server systems, etc.) and databases or other repositories arranged in any desired fashion, where the present embodiments may be applied to any desired type of computing environment (e.g., cloud computing, client-server, network computing, mainframe, stand-alone systems, etc.). The computer or other processing systems employed by the present embodiments may be implemented by any number of any personal or other type of computer or processing system (e.g., desktop, laptop, PDA, mobile devices, etc.), and may include any commercially available operating system and any combination of commercially available and custom software (e.g., machine learning software, etc.). These systems may include any types of monitors and input devices (e.g., keyboard, mouse, voice recognition, etc.) to enter and/or view information.

Each of the elements described herein may couple to and/or interact with one another through interfaces and/or through any other suitable connection (wired or wireless) that provides a viable pathway for communications. Interconnections, interfaces, and variations thereof discussed herein may be utilized to provide connections among elements in a system and/or may be utilized to provide communications, interactions, operations, etc. among elements that may be directly or indirectly connected in the system. Any combination of interfaces can be provided for elements described herein in order to facilitate operations as discussed for various embodiments described herein.

The various functions of the computer or other processing systems may be distributed in any manner among any number of software and/or hardware modules or units, processing or computer systems and/or circuitry, where the computer or processing systems may be disposed locally or remotely of each other and communicate via any suitable communications medium (e.g., LAN, WAN, Intranet, Internet, hardwire, modem connection, wireless, etc.). For example, the functions of the present embodiments may be distributed in any manner among the various end-user/client and server systems, and/or any other intermediary processing devices. The software and/or algorithms described above and illustrated in the flow charts may be modified in any manner that accomplishes the functions described herein. In addition, the functions in the flow charts or description may be performed in any order that accomplishes a desired operation.

The software of the present embodiments may be available on a non-transitory computer useable medium (e.g., magnetic or optical mediums, magneto-optic mediums, floppy diskettes, CD-ROM, DVD, memory devices, etc.) of a stationary or portable program product apparatus or device for use with stand-alone systems or systems connected by a network or other communications medium.

The communication network may be implemented by any number of any type of communications network (e.g., LAN, WAN, Internet, Intranet, virtual private network (VPN), etc.). The computer or other processing systems of the present embodiments may include any conventional or other communications devices to communicate over the network via any conventional or other protocols. The computer or other processing systems may utilize any type of connection (e.g., wired, wireless, etc.) for access to the network. Local communication media may be implemented by any suitable communication media (e.g., local area network (LAN), hardwire, wireless link, Intranet, etc.).

In still another example embodiment, an apparatus is an optical network device. The apparatus includes a communication interface, a memory configured to store executable instructions, and a processor coupled to the communication interface and the memory. The processor is configured to perform operations that include receiving, via the communication interface, at a first arrival time, from a first optical network device, a first optical signal transmitted on a first optical fiber and receiving, via the communication interface, at a second arrival time, from the first optical network device, a second optical signal transmitted on a second optical fiber. The processor is further configured to perform the operations of calculating a first time difference between the second arrival time of the second optical signal and the first arrival time of the first optical signal and determining a measure of asymmetry between the first optical fiber and the second optical fiber based on the first time difference and a second time difference between a first time of transmission by the first optical network device of the first optical signal and a second time of transmission by the first optical network device of the second optical signal.

The processor may further be configured to perform the operations including receiving, via the communication interface from the first optical network device, the second time difference computed by the first optical network device.

In one form, the processor may further be configured to perform the operation of determining the measure of asymmetry between the first optical fiber and the second optical fiber by calculating a path difference based on a difference between the first time difference and the second time difference. The path difference may represent the measure of asymmetry.

In one or more example embodiments, the apparatus may further include a switch that switches from transmitting to the first optical network device, on the second optical fiber, to receiving, via the second optical fiber, the second optical signal from the first optical network device.

According to one or more example embodiments, the processor may further be configured to perform the operations including frequency synchronizing a first clock of the first optical network device with a second clock of the apparatus prior to the first optical network device transmitting the first optical signal and the second optical signal.

The processor may further be configured to perform the operations including converting the measure of asymmetry into a time offset value and adjusting a time reference of the apparatus based on the time offset value.

In another form, the processor may be configured to perform the operation of adjusting the time reference by adjusting an offset value based on the measure of asymmetry when computing a round trip delay based on a timing protocol between the first optical fiber and the second optical fiber.

The processor may further be configured to perform the operations including synchronizing a second clock of the apparatus with a first clock of the first optical network device using the timing protocol and the offset value.

The processor may be configured to perform the operation of receiving the first optical signal by receiving, via the communication interface, the first optical signal, transmitted via an optical service channel on the first optical fiber. Additionally, the processor may be configured to perform the operation of receiving the second optical signal by receiving, via the communication interface, the second optical signal, transmitted via the optical service channel on the second optical fiber.

In another form, the processor may be configured to perform the operation of receiving the first optical signal by receiving, via the communication interface, the first optical signal, transmitted at a first wavelength that transmits traffic data and to perform the operation of receiving the second optical signal by receiving, via the communication interface, the second optical signal, transmitted at the first wavelength that transmits the traffic data from the apparatus to the first optical network device.

The processor may be configured to perform the operation of receiving the first optical signal by receiving, via the communication interface, the first optical signal, transmitted over a data channel that transmits data traffic from the first optical network device to the apparatus. Additionally, the processor may be configured to perform the operation of receiving the second optical signal by receiving, via the communication interface, the second optical signal, transmitted over the data channel that transmits the data traffic from the apparatus to the first optical network device.

According to one or more example embodiments, the first optical signal includes a first message that contains the first time of transmission and the second optical signal includes a second message that contains the second time of transmission.

In yet another example embodiment, one or more non-transitory computer readable storage media encoded with instructions are provided. When the media is executed by the processor, the instructions cause the processor to perform operations including receiving, at a first arrival time, from a first optical network device, a first optical signal transmitted on a first optical fiber and receiving, at a second arrival time, from the first optical network device, a second optical signal transmitted on a second optical fiber. The operations further include calculating a first time difference between the second arrival time of the second optical signal and the first arrival time of the first optical signal and determining a measure of asymmetry between the first optical fiber and the second optical fiber based on the first time difference and a second time difference between a first time of transmission by the first optical network device of the first optical signal and a second time of transmission by the first optical network device of the second optical signal.

The instructions may further cause the processor to perform additional operations including receiving, from the first optical network device, the second time difference computed by the first optical network device.

In one form, the instructions may cause the processor to perform the operation of determining the measure of asymmetry between the first optical fiber and the second optical fiber by calculating a path difference based on a difference between the first time difference and the second time difference. The path difference represents the measure of asymmetry.

The instructions may cause the processor to perform the operation of receiving the second optical signal by switching from transmitting to the first optical network device, on the second optical fiber, to receiving, via the second optical fiber, the second optical signal from the first optical network device.

The instructions may further cause the processor to perform additional operations including frequency synchronizing a first clock of the first optical network device with a second clock of a second optical network device prior to the first optical network device transmitting the first optical signal and the second optical signal.

The instructions may further cause the processor to perform additional operations including converting the measure of asymmetry into a time offset value and adjusting a time reference of a second optical network device based on the time offset value.

The instructions may further cause the processor to perform the operation of adjusting the time reference by adjusting an offset value based on the measure of asymmetry when computing a round trip delay based on a timing protocol between the first optical fiber and the second optical fiber.

The instructions may further cause the processor to perform additional operations including synchronizing a second clock of a second optical network device with a first clock of the first optical network device using the timing protocol and the offset value.

The instructions may further cause the processor to perform the operation of receiving the first optical signal by receiving the first optical signal, transmitted via an optical service channel on the first optical fiber and the operation of receiving the second optical signal by receiving the second optical signal, transmitted via the optical service channel on the second optical fiber.

The instructions may further cause the processor to perform the operation of receiving the first optical signal by receiving the first optical signal, transmitted at a first wavelength that transmits traffic data and the operation of receiving the second optical signal by receiving the second optical signal, transmitted at the first wavelength that transmits the traffic data from the second optical network device to the first optical network device.

The instructions may further cause the processor to perform the operation of receiving the first optical signal by receiving the first optical signal, transmitted over a data channel that transmits data traffic from the first optical network device and to perform the operation of receiving the second optical signal by receiving the second optical signal, transmitted over the data channel that transmits the data traffic to the first optical network device.

According to one or more example embodiments, the first optical signal may include a first message that contains the first time of transmission and the second optical signal may include a second message that contains the second time of transmission.

The embodiments presented may be in other various other forms, such as a system or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects presented herein.

Computer readable program instructions for carrying out operations of the present embodiments may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Python, C++, or the like, and procedural programming languages, such as the "C" programming language or similar programming languages. In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects presented herein.

Aspects of the present embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to the embodiments.

The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments. In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures.

Claim 1:
A method comprising:
receiving (<NUM>) , at a first arrival time, from a first optical network device (<NUM>) by a second optical network device (<NUM>), a first optical signal transmitted on a first optical fiber;
receiving (<NUM>), at a second arrival time, from the first optical network device (<NUM>) by the second optical network device (<NUM>), a second optical signal transmitted on a second optical fiber, wherein the first optical fiber (<NUM>) is a forward path and the second optical fiber (<NUM>) is a backward path of a bidirectional communication between the first optical network device (<NUM>) and the second optical network device (<NUM>);
calculating (<NUM>), by the second optical network device (<NUM>), a first time difference between the second arrival time of the second optical signal and the first arrival time of the first optical signal; and
determining (<NUM>), by the second optical network device (<NUM>), a measure of asymmetry between the first optical fiber and the second optical fiber based on the first time difference and a second time difference between a first time of transmission by the first optical network device (<NUM>) of the first optical signal and a second time of transmission by the first optical network device (<NUM>) of the second optical signal.