Precision time protocol redundancy and load balancing across a set of active time servers
A system for achieving Precision Time Protocol (PTP) redundancy and load balancing across a set of active time servers deployed in a cluster is disclosed. The system may organize a set of PTP Grandmasters (GMs) (e.g., located in a datacenter) into a plurality of PTP clusters (e.g., for load balancing). A set of PTP ordinary clocks (OCs) (e.g., time clients) may be grouped in OC Groups and then into PTP clusters for GM assignation, wherein each PTP OC includes a unicast master table (UMT) that includes one or more potential PTP GM port addresses and priority values. Based on a Master Clock Mechanism, one of the potential GMs may be selected based on one or more PTP GM priority attributes.
1 . A method for achieving redundancy and load balancing when synchronizing time for precision time protocol (PTP) connections within a network, the method comprising:
determining a PTP cluster for load balancing, the PTP clusters comprising PTP Grandmasters (GMs) and PTP ordinary clock (OC) groups, wherein the PTP GMs comprises a first PTP GM, and wherein the PTP OC groups comprise a first PTP OC group and a PTP OC;
determining the PTP cluster corresponds to the PTP OC and the first PTP OC group, wherein the PTP OC comprises a unicast master table (UMT) and the UMT comprises port addresses associated with one or more of the PTP GMs and one or more PTP GM priority attributes, wherein the one or more PTP GM priority attributes are configured to achieve equal distribution of the PTP OC groups across the PTP GMs within the PTP cluster;
selecting, for the PTP OC, by a Master Clock Mechanism based on the one or more PTP GM priority attributes, the first PTP GM; and
synchronizing, based on the first PTP GM, the time for the PTP connections within the network.
2 . The method of claim 1 , further comprising requesting, by the PTP OC based on the one or more PTP GM priority attributes, a unicast announce message from the first PTP GM.
3 . The method of claim 1 , further comprising selecting, by the Master Clock Mechanism until the first PTP GM fails and based on the one or more PTP GM priority attributes, a second PTP GM.
4 . The method of claim 1 , wherein the first PTP GM is determined based on a first PTP GM priority attribute of the one or more PTP GM priority attributes having a lowest value of the one or more PTP GM priority attributes.
5 . The method of claim 1 , wherein the UMT comprises a pointer, further comprising choosing, by the PTP OC based on the pointer, a unique PTP GM network address.
6 . The method of claim 1 , further comprising requesting, by the PTP OC, an announce message from the first PTP GM to be analyzed by the Master Clock Mechanism.
7 . The method of claim 1 , further comprising determining an alternate Master Clock Mechanism based on a local PTP GM priority attribute.
8 . The method of claim 7 , wherein the local PTP GM priority attribute comprises a table of local PTP GM priorities.
9 . The method of claim 1 , wherein the PTP GMs, PTP OC Groups, or PTP OCs are located in a data center.
10 . A non-transitory computer-readable medium storing instructions for achieving redundancy and load balancing when synchronizing time for precision time protocol (PTP) connections within a network, the instructions that, when executed, cause:
determining a PTP cluster for load balancing, the PTP clusters comprising PTP Grandmasters (GMs) and PTP ordinary clock (OC) groups, wherein the PTP GMs comprises a first PTP GM, and wherein the PTP OC groups comprise a first PTP OC group and a PTP OC;
determining the PTP cluster corresponds to the PTP OC and the first PTP OC group, wherein the PTP OC comprises a unicast master table (UMT) and the UMT comprises port addresses associated with one or more of the PTP GMs and one or more PTP GM priority attributes, wherein the one or more PTP GM priority attributes are configured to achieve equal distribution of the PTP OC groups across the PTP GMs within the PTP cluster;
selecting, for the PTP OC, by a Master Clock Mechanism based on the one or more PTP GM priority attributes, the first PTP GM; and
synchronizing, based on the first PTP GM, the time for the PTP connections within the network.
11 . The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed, further cause requesting, by the PTP OC based on the one or more PTP GM priority attributes, a unicast announce message from the first PTP GM.
12 . The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed, further cause selecting, by the Master Clock Mechanism until the first PTP GM fails and based on the one or more PTP GM priority attributes, a second PTP GM.
13 . The non-transitory computer-readable medium of claim 10 , wherein the first PTP GM is determined based on a first PTP GM priority attribute of the one or more PTP GM priority attributes having a lowest value.
14 . The non-transitory computer-readable medium of claim 10 , wherein the UMT comprises a pointer, further comprising choosing, by the PTP OC based on the pointer, a unique PTP GM network address.
15 . The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed, further cause requesting, by the PTP OC, an announce message from the first PTP GM to be analyzed by the Master Clock Mechanism.
16 . The non-transitory computer-readable medium of claim 10 , wherein the instructions, when executed, further cause determining an alternate Master Clock Mechanism based on a local PTP GM priority attribute.
17 . The non-transitory computer-readable medium of claim 16 , wherein the local PTP GM priority attribute comprises a table of local PTP GM priorities.
18 . The non-transitory computer-readable medium of claim 10 , wherein the PTP GMs are located in a data center.
19 . A device for achieving redundancy and load balancing when synchronizing time for precision time protocol (PTP) connections within a network, the device comprising:
one or more processors; and
a non-transitory memory including computer-executable instructions, which when executed by the processor, cause the device to at least:
determine a PTP cluster for load balancing, the PTP clusters comprising PTP Grandmasters (GMs) and PTP ordinary clock (OC) groups, wherein the PTP GMs comprises a first PTP GM, and wherein the PTP OC groups comprise a first PTP OC group and a PTP OC;
determine the PTP cluster corresponds to the PTP OC and the first PTP OC group, wherein the PTP OC comprises a unicast master table (UMT) and the UMT comprises port addresses associated with one or more of the PTP GMs and one or more PTP GM priority attributes, wherein the one or more PTP GM priority attributes are configured to achieve equal distribution of the PTP OC groups across the PTP GMs within the PTP cluster;
select, for the PTP OC, by a Master Clock Mechanism based on the one or more PTP GM priority attributes, the first PTP GM; and
synchronize, based on the first PTP GM, the time for the PTP connections within the network.
20 . The device of claim 19 , wherein the instructions, when executed by the processors, further cause the device to select, by the Master Clock Mechanism until the first PTP GM fails and based on the one or more PTP GM priority attributes, a second PTP GM.