Controller-based network device timing synchronization

US9998247B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9998247-B1
Application numberUS-201414586507-A
CountryUS
Kind codeB1
Filing dateDec 30, 2014
Priority dateDec 30, 2014
Publication dateJun 12, 2018
Grant dateJun 12, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one example, a network controller manages a network having many network devices. Network devices can receive the timing flow port role assignments from the network controller based on the controller's global view of the network topology. The controller can also calculate timing offsets to be applied to the network devices, based on timestamp information obtained by the network devices via exchanging time synchronization protocol messages, and the controller can update time clocks on all of the network devices within a single window of time, based on a timing offsets calculated in single iteration of calculations.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: determining, by a network controller that manages a network of a plurality of network devices, timing flow roles for one or more ports of each of the plurality of network devices based on topology information for the network, wherein the timing flow roles indicate an orientation of the ports relative to a grand master clock in a timing flow associated with a time synchronization protocol; outputting, by the network controller, a plurality of messages to one or more of the plurality of network devices, wherein each of the plurality of messages specifies settings information to assign the determined timing flow roles to one or more ports of the respective network device of the plurality of network devices; receiving, by the network controller and from each of the plurality of network devices, timestamp information obtained by the plurality of network devices exchanging time synchronization protocol messages with one another according to a time synchronization protocol; determining, by the network controller and based on the received timestamp information, a respective clock offset relative to a reference time of the grand master clock for each of the plurality of network devices; and outputting, by the network controller, the respective clock offsets to update a respective timing clock maintained by each of the plurality of network devices. 2. The method of claim 1 , further comprising: receiving, by the network controller, at least some of the topology information by at least one of: receiving the topology information from a topology database external to the network controller, receiving one or more of the plurality of network devices by executing one of a software defined networking (SDN) protocol, or receiving an interior routing protocol to receive the topology information from the one or more of the plurality of network devices. 3. The method of claim 1 , wherein outputting the settings information and outputting the respective clock offsets comprises outputting a plurality of control protocol messages to one or more of the plurality of network devices. 4. The method of claim 1 , wherein the timing flow roles comprise one or more of a master port downstream to the grand master clock in the timing flow and upstream of a slave port, the slave port downstream to the grand master clock in the timing flow and downstream to a master port, and a passive port that does not participate in the timing flow. 5. The method of claim 1 , wherein the time synchronization protocol comprises at least a portion of a Precision Time Protocol Version Two (PTPv2). 6. The method of claim 1 , wherein determining the timing flow roles comprises determining the timing flow roles as a primary set of timing flow roles for a primary timing distribution path, and determining a secondary set of timing flow roles for a secondary timing distribution path, wherein outputting the plurality of messages comprises outputting a plurality of messages that specify settings information to assign the primary set of timing flow roles, the method further comprising: storing, by the network controller, the secondary set of timing flow roles. 7. The method of claim 6 , further comprising: in response to determining, based on the topology information, that the primary timing distribution path is disrupted, outputting one or more messages to one or more of the plurality of network devices specifying settings information to assign the secondary set of timing flow roles to one or more ports of the one or more network devices. 8. The method of claim 1 , further comprising: maintaining, by the network controller, a generation number that indicates a time clock value generation; incrementing the generation number after completing a round of clock offset computation, wherein outputting the respective clock offsets comprises outputting respective messages that each include the respective clock offsets and the generation number, wherein receiving the timestamp information comprises receiving, from each of the plurality of network devices, a respective message specifying the timestamp information and the generation number; and determining, based on the generation number in the received messages, whether to use the received timestamp information for clock offset computation. 9. The method of claim 1 , wherein determining the respective clock offset comprises excluding from a clock offset computation any received timestamp information having time variations greater than a threshold amount of variation. 10. The method of claim 1 , wherein the network comprises a frequency-assisted timing network, wherein determining the timing flow roles comprises determining common timing flow roles for (i) a first time synchronization protocol for determining a timing frequency and (ii) a second time synchronization protocol for determining a timing phase. 11. The method of claim 10 , wherein the first time synchronization protocol for determining the timing frequency conforms to at least a portion of Synchronous Ethernet standard, and wherein the second time synchronization protocol for determining the timing phase comprises at least a portion of a Precision Time Protocol Version Two (PTPv2). 12. The method of claim 1 , further comprising periodically repeating, by the network controller, the respective steps of determining, outputting, receiving, determining, and outputting. 13. The method of claim 1 , further comprising in response to determining, by the network controller, that a clock drift indicated by the respective clock offset for one of the plurality of network devices exceeds a threshold value: repeating, by the network controller, the respective steps of determining, outputting, receiving, determining, and outputting. 14. The method of claim 1 , wherein receiving the timestamp information comprises receiving first timestamp information, the method further comprising: receiving second timestamp information obtained by the plurality of network devices exchanging a second set of time synchronization protocol messages with one another according to a time synchronization protocol; determining, based on the second timestamp information, a respective second clock offset relative to the reference time of the grand master clock for each of the plurality of network devices; in response to determining that the respective second clock offset is greater than a threshold value, outputting the respective second clock offsets; and in response to determining that the respective second clock offset is not greater than the threshold value, refraining from outputting the respective second clock offset. 15. The method of claim 1 , further comprising identifying one or more network devices of the network that are non-participating nodes that are not configured to output timestamp information obtained by the plurality of network devices exchanging time synchronization protocol messages with one another according to a time synchronization protocol, and labeling the port configuration on the non-participating nodes. 16. The method of claim 1 , wherein the network controller comprises a first network controller, the method further comprising: sending the topology information, timing flow roles, and determined clock offsets from the first network controller to a second network controller serving as a redundant backup controller to the first network controller. 17. A controller that manages a network of a plurality of network devices, the controller comprising: one or more databases configured

Assignees

Inventors

Classifications

  • Retrieval of network configuration; Tracking network configuration history · CPC title

  • Systems characterised by the synchronising information used · CPC title

  • Topology update or discovery · CPC title

  • H04J3/0685Primary

    Clock or time synchronisation in a node; Intranode synchronisation · CPC title

  • Allocation of resources per group of connections, e.g. per group of users · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9998247B1 cover?
In one example, a network controller manages a network having many network devices. Network devices can receive the timing flow port role assignments from the network controller based on the controller's global view of the network topology. The controller can also calculate timing offsets to be applied to the network devices, based on timestamp information obtained by the network devices via ex…
Who is the assignee on this patent?
Juniper Networks Inc
What technology area does this patent fall under?
Primary CPC classification H04J3/0685. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 12 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).