In
Emulator 220 is a PTP emulation device having a PTP emulation module 222 and a time measurement module 224. Emulation module 222 has a real-time clock, a time stamp circuit and a PTP emulation stack. Emulation module 222 generates PTP-like messages and transmits and receives PTP-like messages via device port 226. Emulation module 222 further receives time-of-departure (TOD) and time-of-arrival (TOA) information respecting such messages from time measurement module 224.
Time measurement module 224 has a time measurement circuit. Time measurement module 224 is communicatively coupled with device port 228. Time measurement module 224 listens for PTP-like messages departing from and arriving at switch port 208 and determines the TOD and TOA of such messages. Time measurement module 224 relays TOA and TOD information respecting such messages to emulation module 222.
Device port 226 is communicatively coupled with switch port 206. In some embodiments, such communicative coupling is achieved via a direct connection, such as an Ethernet link. In other embodiments, communicative coupling is achieved via an intermediate multiplexing device, such as an Ethernet switch or hub. It will be appreciated that by interposing a multiplexing device between switch port 206 and device port 226, a PTP emulation service can be implemented without dedicating any port of switch 200 to the service.
Device port 228 is communicatively coupled with a tap 252 positioned near the end of Ethernet link 250 that is attached to switch port 208. Such communicative coupling is achieved via a direct connection.
Emulator 230 is a PTP emulation device having components 232, 234, 236, 238 that are counterparts of components 222, 224, 226, 228 on emulator 220. These counterpart components work with each other and switch and link components 216, 218, 254 in a manner similar to that described above in relation to emulator 220.
In the embodiment shown, the real-time clock of emulation module 222 is designated as the master clock for purposes of PTP-style clock synchronization, whereas the real-time clock of emulation module 232 is designated as the slave clock for such purposes. PTP-style clock synchronization is realized through the exchange of PTP-like messages, including SYNC, FOLLOW_UP, DELAY_REQ and DELAY_RESP.
Turning to
Emulation module 222 transmits a unicast SYNC message at a defined interval, such as every two seconds. The PTP emulation stack of emulation module 222 generates a SYNC message and the time stamp circuit of emulation module 222 instantiates in the message the current time from the real-time master clock of emulation module 222. The SYNC message is encapsulated in an Ethernet frame and transmitted via device port 226, switch port 206 and switch port 208 onto Ethernet link 250 and via switch port 218, switch port 216 and device port 238 to emulation module 232. Switch port 208 and switch port 216 are configured as forwarding ports on switch 200 and switch 210, respectively, for received frames having the MAC address assigned to PTP emulator 230 as a destination MAC address. Emulation module 232 sets the time of the real-time slave clock of emulation module 232 to the time in the message.
Time measurement module 224 intercepts the SYNC message during transmission by listening on tap 252 and determines the TOD from switch 200 of the SYNC message. Module 224 compensates for the delay between the time the SYNC message leaves switch 200 and the time the SYNC message is detected. Time measurement module 224 relays the TOD determination to emulation module 222.
Time measurement module 234 intercepts the SYNC message during transmission by listening on tap 254 and determines the TOA on switch 210 of the SYNC message. Module 234 compensates for the delay between the time the SYNC message arrives at switch 210 and the time the SYNC message is detected. Time measurement module 234 relays the TOA determination to emulation module 232.
Emulation module 222 next transmits a unicast FOLLOW_UP message. The PTP emulation stack of emulation module 222 generates a FOLLOW_UP message and instantiates in the message the TOD determination received from time measurement module 224 respecting the SYNC message. The FOLLOW_UP message is encapsulated in an Ethernet frame and transmitted via device port 226, switch port 206 and switch port 208 onto Ethernet link 250 and via switch port 218, switch port 216 and device port 238 to emulation module 232. Emulation module 232 receives the unicast FOLLOW_UP message and uses the TOD determination in the FOLLOW_UP message and the TOA determination from time measurement module 234 respecting the SYNC message and adjusts the time of the real-time slave clock of emulation module 232 to account for the delay experienced by the SYNC message before departure through switch port 208 and after arrival on switch 210.
Turning to
Emulation module 232 transmits a unicast DELAY_REQ message at an irregular interval that is larger than the defined interval at which SYNC messages are transmitted. In some embodiments the interval is a random time between four and 60 seconds. The PTP emulation stack of emulation module 232 generates a DELAY_REQ message. The DELAY_REQ message is encapsulated in an Ethernet frame and transmitted via device port 238, switch port 216 and switch port 218 onto Ethernet link 250 and via switch port 208, switch port 206 and device port 226 to emulation module 222. Switch port 218 and switch port 206 are configured as forwarding ports on switch 210 and switch 200, respectively, for received frames having the MAC address assigned to PTP emulator 220 as a destination MAC address.
Time measurement module 234 intercepts the DELAY_REQ message during transmission by listening on tap 254 and determines the TOD from switch 210 of such message. Time measurement module 234 relays the TOD determination to emulation module 232.
Time measurement module 224 intercepts the DELAY_REQ message during transmission by listening on tap 252 and determines the TOA on switch 200 of such message. Time measurement module 224 relays the TOA determination to emulation module 222.
Emulation module 222 next transmits a unicast DELAY_RESP message. The PTP emulation stack of emulation module 222 generates a DELAY_RESP message and instantiates in the message the TOA received from time measurement module 224 respecting the DELAY_REQ message. The DELAY_RESP message is encapsulated in an Ethernet frame and transmitted via device port 226, switch port 206 and switch port 208 onto Ethernet link 250 and via switch port 218, switch port 216 and device port 238 to emulation module 232. Emulation module 232 receives the unicast DELAY_RESP message and uses the TOA determination in the DELAY_RESP message and the TOD determination from time measurement module 234 respecting the DELAY_REQ message to adjust the time of the real-time slave clock of emulation module 232 to account for the delay experienced during propagation of the DELAY_REQ message on Ethernet link 250, which is assumed to approximate the link propagation delay experienced by the SYNC message. This adjustment to the slave clock of emulation module 232 concludes the PTP-style clock synchronization.
In
Emulator 310 is a PTP emulation device having a PTP emulation module 312 and a time measurement module 314. Emulation module 312 has a real-time clock, a time stamp circuit and a PTP emulation stack. Emulation module 312 generates PTP-like messages and transmits and receives PTP-like messages via device port 316. Emulation module 312 further receives TOD and TOA information respecting such messages from time measurement module 314.
Time measurement module 314 has a time measurement circuit. Time measurement module 314 is communicatively coupled with device port 318. Time measurement module 314 listens for PTP-like messages departing from and arriving at switch port 308 and determines the TOD and TOA of such messages. Time measurement module 314 relays TOA and TOD determinations to emulation module 312.
Device port 316 is communicatively coupled with switch port 306. In some embodiments, such communicative coupling is achieved via a direct connection, such as an Ethernet link. In other embodiments, communicative coupling is achieved via an intermediate multiplexing device, such as an Ethernet switch or hub.
Device port 318 is communicatively coupled with a tap 362 positioned near the end of Ethernet link 360 that is attached to switch port 308. Such communicative coupling is achieved via a direct connection.
Emulator 330 is a PTP emulation device having a PTP emulation module 332 and a time measurement module 334. Emulation module 332 has a real-time clock, a time stamp circuit and a PTP emulation stack. Emulation module 332 generates PTP-like messages and transmits and receives PTP-like messages via device port 338. Emulation module 332 further receives TOD and TOA information respecting such messages from time measurement module 334.
Time measurement module 334 has a time measurement circuit. Time measurement module 334 is communicatively coupled with device ports 336, 337. Time measurement module 334 listens for PTP-like messages departing from and arriving at switch ports 328, 324 and determines the TOD and TOA of such messages. Time measurement module 334 relays TOA and TOD determinations to emulation module 332.
Device port 338 is communicatively coupled with switch port 326. In some embodiments, such communicative coupling is achieved via a direct connection, such as an Ethernet link. In other embodiments, communicative coupling is achieved via an intermediate multiplexing device, such as an Ethernet switch or hub.
Device port 336 is communicatively coupled with a tap 364 positioned near the end of Ethernet link 360 that is attached to switch port 328. Such communicative coupling is achieved via a direct connection.
Device port 337 is communicatively coupled with a tap 384 positioned near the end of Ethernet link 380 that is attached to switch port 324. Such communicative coupling is achieved via a direct connection.
Emulator 350 is a PTP emulation device having a PTP emulation module 352 and a time measurement module 354. Emulation module 352 has a real-time clock, a time stamp circuit and a PTP emulation stack. Emulation module 352 generates PTP-like messages and transmits and receives PTP-like messages via device port 356. Emulation module 352 further receives TOD and TOA information respecting such messages from time measurement module 354.
Time measurement module 354 has a time measurement circuit. Time measurement module 354 is communicatively coupled with device port 358. Time measurement module 354 listens for PTP-like messages departing from and arriving at switch port 348 and determines the TOD and TOA of such messages. Time measurement module 354 relays TOA and TOD determinations to emulation module 332.
Device port 356 is communicatively coupled with switch port 346. In some embodiments, such communicative coupling is achieved via a direct connection, such as an Ethernet link. In other embodiments, communicative coupling is achieved via an intermediate multiplexing device, such as an Ethernet switch or hub.
Device port 358 is communicatively coupled with a tap 382 positioned near the end of Ethernet link 380 that is attached to switch port 348. Such communicative coupling is achieved via a direct connection.
In the embodiment shown, the real-time clock of emulation module 312 is designated as the master clock for purposes of PTP-style clock synchronization, whereas the real-time clock of emulation module 332 is designated as a tandem clock for such purposes, and the real-time clock of emulation module 352 is designated as a slave clock for such purposes. A tandem clock is a free-running clock that is neither a master nor a slave to any other clock. The tandem clock of emulation module 332 does not synchronize to the master clock of emulation module 312. PTP-style clock synchronization between the master clock of emulation module 312 and the slave clock of emulation module 352 is realized through the exchange of PTP-like messages, including SYNC, FOLLOW_UP, DELAY_REQ and DELAY_RESP, between emulation modules 312, 332 and 352.
Turning to
Emulation module 312 transmits a unicast SYNC message at a defined interval, such as every two seconds. The PTP emulation stack of emulation module 312 generates a SYNC message and the time stamp circuit of emulation module 312 instantiates in the message the current time from the real-time master clock of emulation module 312. The SYNC message is encapsulated in an Ethernet frame and transmitted via device port 316, switch port 306 and switch port 308 onto Ethernet link 360 and via switch port 328, switch port 326 and device port 338 to emulation module 332. Switch port 308 and switch port 326 are configured as forwarding ports on switch 300 and switch 320, respectively, for received frames having the MAC address assigned to PTP emulator 330 as a destination MAC address.
The PTP emulation stack of emulation module 332 replaces the MAC address assigned to PTP emulator 330 with the MAC address assigned to PTP emulator 350 as the destination MAC address and relays the SYNC message via device port 338, switch port 326 and switch port 324 onto Ethernet link 380 and via switch port 348, switch port 346 and device port 356 to emulation module 352. Emulation module 352 sets the time of the real-time slave clock of emulation module 352 to the time in the message.
Time measurement module 314 intercepts the SYNC message during transmission by listening on tap 362 and determines the TOD from switch 300 of such message. Time measurement module 314 relays the TOD determination to emulation module 312.
Time measurement module 334 intercepts the SYNC message during transmission by listening on tap 364 and determines the TOA on switch 320 of such message. Time measurement module 334 relays the TOA determination to emulation module 332.
Time measurement module 334 also intercepts the SYNC message during transmission by listening on tap 384 and determines the TOD from switch 320 of such message. Time measurement module 334 relays the TOD determination to emulation module 332.
Time measurement module 354 intercepts the SYNC message during transmission by listening on tap 382 and determines the TOA on switch 340 of such message. Time measurement module 354 relays the TOA determination to emulation module 352.
Emulation module 312 next transmits a unicast FOLLOW_UP message. In the three-switch embodiment including a tandem clock that is under consideration, the FOLLOW_UP message is modified en route to carry the aggregate propagation delays between and including switch 300 and switch 320.
Initially, the PTP emulation stack of emulation module 312 generates a FOLLOW_UP message and instantiates in the message the TOD from switch port 308 of the SYNC message received from time measurement module 314 and an aggregate propagation delay of zero. The aggregate propagation delay is thereafter revised upward to account for delays experienced by the SYNC message after departing switch port 308 in a manner hereinafter explained. The FOLLOW_UP message is encapsulated in an Ethernet frame and transmitted via device port 316, switch port 306 and switch port 308 onto Ethernet link 360 and via switch port 328, switch port 326 and device port 338 to emulation module 332.
The PTP emulation stack of emulation module 332 replaces the MAC address assigned to PTP emulator 330 with the MAC address assigned to PTP emulator 350 as the destination MAC address. The PTP emulation stack of emulation module 332 also replaces the aggregate propagation delay value of zero in the FOLLOW_UP message with a new aggregate propagation delay value that reflects the delay experienced by the SYNC message after departing switch port 308 and before departing switch port 324. In particular, through exchange of DELAY_REQ and DELAY_RESP messages between PTP emulators 310, 330 as hereinafter described with reference to
Emulation module 352 receives the unicast FOLLOW_UP message and adjusts the time of the real-time slave clock of emulation module 352 by a value that reflects the entire propagation delay experienced by the SYNC message. Through exchange of DELAY_REQ and DELAY_RESP messages between emulation modules 332, 352 as illustrated in
It has been mentioned that emulation modules 332, 352 learn the delay experienced during propagation of DELAY_REQ messages on Ethernet links 360, 380 through exchange of DELAY_REQ and DELAY_RESP messages with emulation modules 312, 332. Such DELAY_REQ and DELAY_RESP flows are shown in
The PTP emulation stack of emulation module 332 generates a DELAY_REQ message. The DELAY_REQ message is encapsulated in an Ethernet frame and transmitted via device port 338, switch port 326 and switch port 328 onto Ethernet link 360 and via switch port 308, switch port 306 and device port 316 to emulation module 312.
Time measurement module 334 intercepts the DELAY_REQ message during transmission by listening on tap 364 and determines the TOD from switch 320 of such message. Time measurement module 334 relays the TOD determination to emulation module 332.
Time measurement module 314 also intercepts the DELAY_REQ message during transmission by listening on tap 362 and determines the TOA on switch 300 of such message. Time measurement module 314 relays the TOA determination to emulation module 312.
Emulation module 312 next transmits a unicast DELAY_RESP message. The PTP emulation stack of emulation module 312 generates a DELAY_RESP message and instantiates in the message the TOA received from time measurement module 314 respecting the DELAY_REQ message. The DELAY_RESP message is encapsulated in an Ethernet frame and transmitted via device port 316, switch port 306 and switch port 308 onto Ethernet link 360 and via switch port 328, switch port 326 and device port 338 to emulation module 332. From the TOA information respecting the DELAY_REQ message instantiated in the DELAY_RESP message and the TOD information respecting the DELAY_REQ message received from time measurement module 334, emulation module 332 learns the delay experienced by the DELAY_REQ message during propagation on Ethernet link 360.
Turning now to
Emulator 410 is a PTP emulation device having a PTP emulation module 412 and a time measurement module 414. Emulation module 412 has a real-time clock, a time stamp circuit and a PTP emulation stack. Emulation module 412 generates PTP-like messages and transmits and receives PTP-like messages via device port 416. Emulation module 412 further receives TOD and TOA information respecting such messages from time measurement module 414.
Time measurement module 414 has a time measurement circuit. Time measurement module 414 is communicatively coupled with device port 418. Time measurement module 414 listens for PTP-like messages departing from and arriving at switch port 408 and determines the TOD and TOA of such messages. Time measurement module 414 relays TOA and TOD determinations to emulation module 412.
Device port 416 is communicatively coupled with switch port 406. In some embodiments, such communicative coupling is achieved via a direct connection, such as an Ethernet link. In other embodiments, communicative coupling is achieved via an intermediate multiplexing device, such as an Ethernet switch or hub.
Device port 418 is communicatively coupled with a tap 452 positioned near the end of Ethernet link 450 that is attached to switch port 408. Such communicative coupling is achieved via a direct connection.
Emulator 430 is a PTP emulation device having a PTP emulation module 432 and a time measurement module 434. Emulation module 432 has a real-time clock, a time stamp circuit and a PTP emulation stack. Emulation module 432 generates PTP-like messages destined for emulation module 412 and transmits and receives PTP-like messages via device port 438. Emulation module 412 further receives TOD and TOA information respecting PTP-like messages from time measurement module 434. Emulation module 432 also generates PTP-compliant messages destined for PTP module 425 and transmits and receives PTP-compliant messages via device port 438.
Time measurement module 434 has a time measurement circuit. Time measurement module 434 is communicatively coupled with device port 436. Time measurement module 434 listens for PTP-like messages departing from and arriving at switch port 428 and determines the TOD and TOA of such messages. Time measurement module 434 relays TOA and TOD determinations to emulation module 432.
Device port 438 is communicatively coupled with switch port 427. In some embodiments, such communicative coupling is achieved via a direct connection, such as an Ethernet link. In other embodiments, communicative coupling is achieved via an intermediate multiplexing device, such as an Ethernet switch or hub.
Device port 436 is communicatively coupled with a tap 454 positioned near the end of Ethernet link 450 that is attached to switch port 428. Such communicative coupling is achieved via a direct connection.
PTP boundary switch 420 has a PTP module 425 and a time measurement module 426 that are fully compliant with IEEE Std. 1588. PTP module 425 has a real-time clock, a time stamp circuit and a PTP stack. PTP module 425 generates PTP-compliant messages and transmits and receives PTP-compliant messages via switch ports 424, 427. PTP module 425 further receives TOD and TOA information respecting such messages from time measurement module 426.
Time measurement module 426 has a time measurement circuit. Time measurement module 426 is communicatively coupled with switch ports 424, 427. Time measurement module 426 listens for PTP-compliant messages departing from and arriving at switch ports 424, 427 and determines the TOD and TOA of such messages. Time measurement module 426 relays TOA and TOD determinations to PTP module 425.
PTP switch 440 has a PTP module 442 and a time measurement module 446 that are fully compliant with IEEE Std. 1588. PTP module 442 has a real-time clock, a time stamp circuit and a PTP stack. PTP module 442 generates PTP-compliant messages and transmits and receives PTP-compliant messages via switch port 444. PTP module 442 further receives TOD and TOA information respecting such messages from time measurement module 446.
Time measurement module 446 has a time measurement circuit. Time measurement module 446 is communicatively coupled with switch port 444. Time measurement module 446 listens for PTP-compliant messages departing from and arriving at switch port 444 and determines the TOD and TOA of such messages. Time measurement module 446 relays TOA and TOD determinations to PTP module 442.
In the embodiment shown, the real-time clock of emulation module 412 is designated as the master clock for purposes of PTP-style clock synchronization. The real-time clock of emulation module 432 and the real-time clock of PTP module 425 are designated as a tandem clocks for such purposes. The real-time clock of PTP module 442 is designated as a slave clock for such purposes. Seamless PTP-style clock synchronization between the master clock of emulation module 412 and the slave clock of PTP module 442 is realized through the exchange of PTP-like messages, including SYNC, FOLLOW_UP, DELAY_REQ and DELAY_RESP, between emulation modules 412, 432 and PTP-compliant messages, including SYNC, FOLLOW_UP, DELAY_REQ and DELAY_RESP, between emulation module 432, PTP module 425 and PTP module 442.
Turning to
SYNC and FOLLOW_UP messages are transmitted between PTP emulator 410 and PTP emulator 430 in Ethernet frames compliant with PTP in all respects except that such frames include a unicast destination MAC address rather than a multicast destination MAC address that is reserved for PTP. SYNC and FOLLOW_UP frames transmitted to PTP emulator 430 include a unicast MAC address that has been assigned to PTP emulator 430 and configured on PTP emulator 410.
SYNC and FOLLOW_UP messages are transmitted between PTP emulator 430 and PTP module 425 in Ethernet frames compliant with PTP in all respects. SYNC and FOLLOW_UP frames transmitted to PTP module 425 include a multicast MAC destination address reserved for PTP and configured on PTP emulator 430.
SYNC and FOLLOW_UP messages are transmitted between PTP module 425 and PTP module 442 in Ethernet frames compliant with PTP in all respects. SYNC and FOLLOW_UP frames transmitted to PTP module 442 include a multicast MAC destination address reserved for PTP and configured on PTP module 425.
Emulation module 412 transmits a unicast SYNC message at a defined interval, such as every two seconds. The PTP emulation stack of emulation module 412 generates a SYNC message and the time stamp circuit of emulation module 412 instantiates in the message the current time from the real-time master clock of emulation module 412. The SYNC message is encapsulated in an Ethernet frame and transmitted via device port 416, switch port 406 and switch port 408 onto Ethernet link 450 and via switch port 428, switch port 427 and device port 438 to emulation module 432. Switch port 408 and switch port 427 are configured as forwarding ports on legacy switch 400 and PTP boundary switch 420, respectively, for received frames having the MAC address assigned to PTP emulator 430 as a destination MAC address.
The PTP emulation stack of emulation module 432 replaces the MAC address assigned to PTP emulator 430 with a multicast MAC address reserved for PTP as the destination MAC address and relays the SYNC message via device port 438 and switch port 427 to PTP module 425. PTP boundary switch 420 recognizes frames having a multicast MAC address reserved for PTP as a destination MAC address and forwards such frames to PTP module 425 for processing.
PTP module 425 relays the multicast SYNC message via switch port 424 and switch port 444 to PTP module 442. It bears noting that although multicast, the SYNC message is not transmitted through switch port 428 since switch port 428 is in a PTP_DISABLED state. PTP module 442 receives the multicast SYNC message and sets the time of the real-time slave clock of PTP module 442 to the time in the message.
Time measurement module 414 intercepts the SYNC message during transmission by listening on tap 452 and determines the TOD from switch 400 of such message. Time measurement module 414 relays the determination to emulation module 412.
Time measurement module 434 intercepts the SYNC message during transmission by listening on tap 454 and determines the TOA on switch 420 of such message. Time measurement module 434 relays the TOA determination to emulation module 432.
Time measurement module 434 also intercepts the SYNC message during transmission by listening on device port 438 and determines the TOD from emulator 430 of such message. Time measurement module 434 relays the TOD determination to emulation module 432.
Time measurement module 426 intercepts the SYNC message during transmission by listening on switch port 427 and determines the TOA on switch 420 of such message. Time measurement module 426 relays the TOA determination to PTP module 425.
Time measurement module 426 also intercepts the SYNC message during transmission by listening on switch port 424 and determines the TOD from switch 420 of such message. Time measurement module 426 relays the TOD determination to PTP module 425.
Time measurement module 446 intercepts the SYNC message during transmission by listening on switch port 444 and determines the TOA on switch 440 of such message. Time measurement module 446 relays the TOA determination to PTP module 442.
Emulation module 412 next transmits a unicast FOLLOW_UP message. In the hybrid architecture under consideration, the FOLLOW_UP message is modified en route to carry the aggregate propagation delays between and including switch 400 and switch 440.
Initially, the PTP emulation stack of emulation module 412 generates a FOLLOW_UP message and instantiates in the message the TOD from switch port 408 of the SYNC message received from time measurement module 414 and an aggregate propagation delay of zero. The aggregate propagation delay is thereafter revised upward to account for delays experienced by the SYNC message after departing switch port 408 in a manner hereinafter explained. The FOLLOW_UP message is encapsulated in an Ethernet frame and transmitted via device port 416, switch port 406 and switch port 408 onto Ethernet link 450 and via switch port 428, switch port 427 and device port 438 to emulation module 432.
The PTP emulation stack of emulation module 432 replaces the MAC address assigned to PTP emulator 430 with a multicast MAC address reserved for PTP as the destination MAC address. The PTP emulation stack also replaces the aggregate propagation delay value of zero with a revised aggregate propagation delay value that reflects the delay experienced by the SYNC message after departing switch port 408 and before departing device port 438 for the last time. Through exchange of DELAY_REQ and DELAY_RESP messages between emulation modules 412, 432 as hereinafter described with reference to
PTP module 425 receives the multicast FOLLOW_UP message and replaces the revised aggregate propagation delay value with a further revised aggregate propagation delay value that additionally reflects the delay experienced by the SYNC message after departure through device port 438 en route to switch port 427 and before departing switch port 424. Through transmission of DELAY_REQ and DELAY_RESP messages between emulation module 432 and PTP module 425 as hereinafter described with reference to
PTP module 442 receives the multicast FOLLOW_UP message and adjusts the time of the real-time slave clock of module 442 by a value that reflects the entire propagation delay experienced by the SYNC message. Through transmission of DELAY_REQ and DELAY_RESP messages between PTP modules 425, 442 as hereinafter described with reference to
It has been mentioned that emulation module 432 and PTP modules 425, 442 learn the delay experienced during propagation of DELAY_REQ messages on Ethernet links 450, 470, 460 through exchange of DELAY_REQ and DELAY_RESP messages. Such DELAY_REQ and DELAY_RESP flows are shown in
The PTP emulation stack of emulation module 432 generates a DELAY_REQ message. The DELAY_REQ message is encapsulated in an Ethernet frame and transmitted via device port 438, switch port 427 and switch port 428 onto Ethernet link 450 and via switch port 408, switch port 406 and device port 416 to emulation module 412.
Time measurement module 434 intercepts the DELAY_REQ message during transmission by listening on tap 454 and determines the TOD from switch 420 of such message. Time measurement module 434 relays the TOD determination to emulation module 432.
Time measurement module 414 also intercepts the DELAY_REQ message during transmission by listening on tap 452 and determines the TOA on switch 400 of such message. Time measurement module 414 relays the TOA determination to emulation module 412.
Emulation module 412 next transmits a unicast DELAY_RESP message. The PTP emulation stack of emulation module 412 generates a DELAY_RESP message and instantiates in the message the TOA received from time measurement module 414 respecting the DELAY_REQ message. The DELAY_RESP message is encapsulated in an Ethernet frame and transmitted via device port 416, switch port 406 and switch port 408 onto Ethernet link 450 and via switch port 428, switch port 427 and device port 438 to emulation module 432. From the TOA information respecting the DELAY_REQ message instantiated in the DELAY_RESP message and the TOD information respecting the DELAY_REQ message received from time measurement module 434, emulation module 432 learns the delay experienced during propagation of DELAY_REQ messages on Ethernet link 450.
As mentioned, transmission of PTP-compliant messages on switch port 428 of PTP boundary switch 420 is prevented by placing switch port 428 in a PTP_DISABLED state prior to running the PTP emulation service. Disabling switch port 428 for PTP prevents PTP-compliant messages from leaking into non-PTP compliant areas of the communication network. Without such disabling, PTP-compliant messages transmitted on switch port 428 might leak into another PTP boundary switch and such PTP boundary switch might incorrectly presume adjacency with PTP boundary switch 420.
Turning to
Unicast clock synchronization messages are transmitted between adjacent PTP emulator pairs (530). Unicast clock synchronization messages include PTP-like SYNC messages that are transmitted at a defined interval, such as every two seconds, from PTP emulators having master clocks and tandem clocks and that have a MAC address assigned to an adjacent PTP emulator as a destination MAC address. Unicast clock synchronization messages also include PTP-like FOLLOW_UP messages that are transmitted from PTP emulators having master clocks and tandem clocks and that have a MAC address assigned to an adjacent PTP emulator as a destination MAC address. Unicast clock synchronization messages also include PTP-like DELAY_REQ messages that are transmitted at an irregular interval that is larger than the defined interval at which SYNC messages are transmitted, such as a random time between four and 60 seconds, from PTP emulators having tandem clocks and slave clocks to adjacent PTP emulators and that include a MAC address assigned to an adjacent PTP emulator as a destination MAC address. Unicast clock synchronization messages also include PTP-like DELAY_RESP messages that are transmitted from PTP emulators having tandem clocks and master clocks to adjacent PTP emulators in response to the DELAY_REQ messages. DELAY_RESP messages include a MAC address assigned to an adjacent PTP emulator as a destination MAC address.
Multicast clock synchronization messages are transmitted between other adjacent device pairs in the hybrid network that participate in PTP-style clock synchronization. These include: (1) PTP emulators that are adjacent PTP boundary switches; (2) PTP boundary switches that are adjacent PTP switches; and (3) PTP switch pairs (540). Multicast clock synchronization messages include PTP-compliant SYNC messages that are transmitted at a defined interval, such as every two seconds, from such participating devices that have master clocks and tandem clocks to such adjacent participating devices and include a multicast MAC address reserved for PTP as a destination MAC address. Multicast clock synchronization messages also include PTP-compliant FOLLOW_UP messages that are transmitted from such participating PTP devices that have master clocks and tandem clocks to such adjacent participating devices and include a multicast MAC address reserved for PTP as a destination MAC address. Multicast clock synchronization messages also include PTP-compliant DELAY_REQ messages that are transmitted at an irregular interval that is larger than the defined interval at which SYNC messages are transmitted, such as a random time between four and 60 seconds, from such participating devices having tandem clocks and slave clocks to such adjacent participating devices and include a multicast MAC address reserved for PTP as a destination MAC address. Multicast clock synchronization messages also include PTP-compliant DELAY_RESP messages that are transmitted from such participating devices that have tandem clocks and master clocks to such adjacent participating devices responsive to the DELAY_REQ messages. DELAY_RESP messages include a multicast MAC address reserved for PTP as a destination MAC address.
The legacy switches, PTP boundary switches and PTP switches in the above embodiments may be strictly Layer 2 forwarding devices that support MAC bridging in accordance with IEEE Std. 802.1D or may be Layer 2/3 forwarding devices that support both MAC bridging and network layer IP routing, for example. Moreover, such switches may perform forwarding operations using any combination of hardware and software.
Moreover, although certain components of the PTP emulators in the above embodiments are described as having circuits, the PTP emulators may generally perform their respective operations using any combination of hardware and software.
It will be appreciated by those of ordinary skill in the art that the invention can be embodied in other specific forms without departing from the spirit or essential character hereof. For example, while specific two-switch and three-switch architectures have been shown by way of example, the invention readily extends to other architectures involving various numbers and combinations of interconnected legacy switches having associated external PTP emulators, PTP boundary switches having associated external PTP emulators, and PTP switches. Moreover, while the invention has been described as using MAC-based PTP-style flows, the invention in principle could be applied to IP-based PTP-style flows. The present description is therefore considered in all respects to be illustrative and not restrictive. The scope of the invention is indicated by the appended claims, and all changes that come with in the meaning and range of equivalents thereof are intended to be embraced therein.
This nonprovisional application claims priority based upon the following prior United States provisional patent application entitled: “IEEE 1588 Enhancement,” Application No. 60/826,166, filed on Sep. 19, 2006, in the names of: Sig Harold Badt, Jr. and Timucin Ozugur, which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60826166 | Sep 2006 | US |