Patent ID: 8583957

Claim:
A system, comprising: a master clock; a first counter, coupled to and associated with the master clock; one or more devices coupled to the master clock and each other via a switched fabric, wherein each of the one or more devices includes a respective clock; one or more second counters, wherein each second counter is coupled to and associated with a respective one of the one or more devices, and wherein each of the first counter and second counters is accessible by each of the one or more devices; wherein each of the one or more devices is configured to: read the first counter and the device's associated second counter; determine a difference between the first counter and the device's associated second counter, wherein the difference indicates a timing difference between the device and the master clock; determine and store a time reference for the device relative to the master clock based on the determined difference, wherein the time reference is useable to timestamp events or synchronize future events; wherein each of the one or more devices has an associated propagation delay corresponding to a signal path between the device's associated clock and the master clock, wherein each of the one or more devices is further configured to determine its associated propagation delay; wherein to determine and store a time reference for the device, each of the one or more devices is further configured to determine and store the time reference for the device further based on the determined associated propagation delay; wherein the switched fabric comprises a switch, wherein the switch comprises the one or more second counters, wherein each of the one or more devices further comprises a respective third counter which is accessible by each of the other one or more devices, and wherein to determine the associated propagation delay, each of the one or more devices is configured to: determine a difference between the device's associated second counter and the device's third counter; and determine the propagation delay based on the determined difference between the device's associated second counter and the device's third counter; wherein to determine and store a time reference for the device, each of the one or more devices is configured to: determine a difference between the first counter and a propagation delay of the master clock, thereby generating a first delay value; determine a difference between the device's second counter and the device's propagation delay, thereby generating a second delay value; and determine a difference between the first delay value and the second delay value, thereby determining the time reference for the device.