IP Library Granted Patent US 10,637,597
Granted Patent B2
US 10,637,597 · App. 15/946,274 · Granted Apr 28, 2020

Time determination of distributed events without distribution of reference time, phase, or frequency

Inventors: Charles F. Barry (Santa Clara, CA); Nick J. Possley (Gilroy, CA); Brendan P. Keller (Sunnyvale, CA); Sumanta Saha (Freemont, CA)
Assignee: LUMINOUS CYBER CORPORATION
H04J3/0667H04J3/06H04L43/106H04L69/28H04W56/0015
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,637,597
App. No.
15/946,274
Granted
Apr 28, 2020
Kind
B2
Abstract

A network of computing devices includes a timing reference, a free-run node, and an aggregator. The reference calculates a first communication packet having a reference timestamp and reference data, and transmits the first packet to the free-run node. The free-run node receives the first packet from the timing reference, calculates a second packet having metadata that includes the reference timestamp, a sparse hash value calculated from the reference data, and a free-run node timestamp, and publishes the second packet to the aggregator. The aggregator receives the second packet and calculates a compensation value from the reference timestamp, the sparse hash value, and the free-run node timestamp. Computer-implemented methods include the free-run node receiving the compensation value and updating its local clock based on the compensation value. Other methods include the aggregator determining an optimal packet path through a network of computing devices based on the metadata.

Claims (42)

1. A network of computing devices, comprising:

a timing reference node;

a free-run node; and

a timing aggregator,

wherein the timing reference node comprises:

a first processor; and

a first non-transitory computer-readable medium coupled to the first processor, the first non-transitory computer-readable medium configured to store first computer program instructions that when executed by the first processor are operable to cause the first processor to:

calculate a first communication packet comprising a timing reference node timestamp and timing reference node data; and

transmit the first communication packet to the free-run node;

wherein the free-run node comprises:

a second processor; and

a second non-transitory computer-readable medium coupled to the second processor, the second non-transitory computer-readable medium configured to store second computer program instructions that when executed by the second processor are operable to cause the second processor to:

receive the first communication packet from the timing reference node;

calculate a second communication packet comprising a first metadata packet comprising a combination of the timing reference node timestamp, a sparse hash value calculated from the timing reference node data, and a free-run node timestamp; and

publish the second communication packet to the timing aggregator; and

wherein the timing aggregator comprises:

a third processor; and

a third non-transitory computer-readable medium coupled to the third processor, the third non-transitory computer-readable medium configured to store third computer program instructions that when executed by the third processor are operable to cause the third processor to:

receive the second communication packet from the free-run node; and

calculate a timestamp compensation value based on the timing reference node timestamp, the sparse hash value, and the free-run node timestamp.

2. A network of computing devices, comprising:

a timing aggregator; and

a plurality of subgroups of computing devices, wherein each subgroup of the plurality of subgroups of computing devices comprises:

a timing reference node; and

a free-run node,

wherein the timing reference node comprises:

a first processor; and

a first non-transitory computer-readable medium coupled to the first processor, the first non-transitory computer-readable medium configured to store first computer program instructions that when executed by the first processor are operable to cause the first processor to:

calculate a first communication packet comprising a timing reference node timestamp and timing reference node data; and

transmit the first communication packet to the free-run node; and

wherein the free-run node comprises:

a second processor; and

a second non-transitory computer-readable medium coupled to the second processor, the second non-transitory computer-readable medium configured to store second computer program instructions that when executed by the second processor are operable to cause the second processor to:

receive the first communication packet from the timing reference node;

calculate a second communication packet comprising a first metadata packet comprising a combination of the timing reference node timestamp, a sparse hash value calculated from the timing reference node data, and a free-run node timestamp; and

publish the second communication packet to the timing aggregator;

wherein the timing aggregator comprises:

a third processor; and

a third non-transitory computer-readable medium coupled to the third processor, the third non-transitory computer-readable medium configured to store third computer program instructions that when executed by the third processor are operable to cause the third processor to:

receive the second communication packet from each of the free-run nodes of each of the plurality of subgroups; and

calculate a timestamp compensation value based on the timing reference node timestamp, the sparse hash value, and the free-run node timestamp.

3. The network of computing devices of claim 2 , wherein the non-transitory computer-readable medium of each of the free-run nodes of each of the plurality of subgroups is configured to store computer program instructions that when executed by the processor of each of the free-run nodes of each of the plurality of subgroups to cause the processor of each of the free-run nodes of each of the plurality of subgroups to update a local clock based on the timestamp compensation data.

Assignments (3)
CONFIRMATORY LICENSE Recorded Aug 22, 2025
From: LUMINOUS CYBER CORP.
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 072567/0794 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2019
From: JOLATA, INC.
To: LUMINOUS CYBER CORPORATION
Reel/Frame 048846/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2018
From: BARRY, CHARLES F.; POSSLEY, NICK J.; KELLER, BRENDAN P.; SAHA, SUMANTA
To: JOLATA, INC.
Reel/Frame 045933/0080 →
Continuity (2)
Provisional Application 62483304 · Apr 7, 2017
Related Publication 20190081720A1 · Mar 14, 2019