IP Library Granted Patent US 12,386,384
Granted Patent B1
US 12,386,384 · App. 18/596,819 · Granted Aug 12, 2025

Generating globally coherent timestamps

Inventors: Peter Hochschild (New York, NY); Alexander Lloyd (New York, NY); Wilson Cheng-Yi Hsieh (Syosset, NY); Robert Edman Felderman (Portola Valley, CA); Michael James Boyer Epstein (Brooklyn, NY)
Assignee: Google LLC
G06F1/12G01S19/01H04J3/0661H04J3/0667H04L7/0008H04L7/0012H04L7/0016H04L43/106H04L67/10G06F11/1675
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 12,386,384
App. No.
18/596,819
Granted
Aug 12, 2025
Kind
B1
Abstract

The present technology proposes techniques for generating globally coherent timestamps. This technology may allow distributed systems to causally order transactions without incurring various types of communication delays inherent in explicit synchronization. By globally deploying a number of time masters that are based on various types of time references, the time masters may serve as primary time references. Through an interactive interface, the techniques may track, calculate and record data relative to each time master thus providing the distributed systems with causal timestamps.

Claims (35)

1. A method for providing validated timestamps, comprising:

receiving, with one or more processors, a timestamp from a time reference system;

determining, with the one or more processors, that one or more failure conditions associated with the timestamp are present;

in response to determining that one or more failure conditions are present, adjusting, with the one or more processors, the timestamp until the one or more failure conditions are no longer present;

synchronizing, with the one or more processors, the timestamp with a reference timestamp; and

outputting, with the one or more processors, the timestamp.

2. The method of claim 1 , wherein the time reference system is a global positioning system (GPS) disciplined oscillator.

3. The method of claim 1 , wherein the timestamp is a GPS timestamp.

4. The method of claim 1 , wherein the timestamp is adjusted based on mean solar time.

5. The method of claim 1 , wherein the timestamp is adjusted based on an amount of leap seconds within a National Institute of Standards and Technology (NIST) leap file.

6. The method of claim 5 , wherein the failure conditions are based on at least one of: a disagreement between the amount of leap seconds within the NIST leap file and an amount of leap seconds advertised by a connected GPS system, an expiration of the NIST leap file, a satellite signal reception issue, a shorted antenna cable, or a parity error.

7. The method of claim 1 , wherein the reference timestamp a High Precision Event Timer (HPET) timestamp.

8. The method of claim 1 , wherein synchronizing the timestamp with the reference timestamp is based on an acceptable tolerance of uncertainty between the timestamp and the reference timestamp.

9. The method of claim 8 , wherein the acceptable tolerance of uncertainty is based on guideposts associated with coordinates based on the timestamp and the reference timestamp.

10. The method of claim 8 , further comprising determining, with the one or more processors, that values of the timestamp outside of the acceptable tolerance of uncertainty are timestamp spikes.

11. A system for providing validated timestamps, the system comprising one or more processors configured to:

receive a timestamp from a time reference system;

determine that one or more failure conditions associated with the timestamp are present;

in response to determining that one or more failure conditions are present, adjust the timestamp until the one or more failure conditions are no longer present;

synchronize the timestamp with a reference timestamp; and

output the timestamp.

12. The system of claim 11 , wherein the time reference system is a global positioning system (GPS) disciplined oscillator.

13. The system of claim 11 , wherein the timestamp is a GPS timestamp.

14. The system of claim 11 , wherein the timestamp is adjusted based on mean solar time.

15. The system of claim 11 , wherein the timestamp is adjusted based on an amount of leap seconds within a National Institute of Standards and Technology (NIST) leap file.

16. The system of claim 15 , wherein the failure conditions are based on at least one of: a disagreement between the amount of leap seconds within the NIST leap file and an amount of leap seconds advertised by a connected GPS system, an expiration of the NIST leap file, a satellite signal reception issue, a shorted antenna cable, or a parity error.

17. The system of claim 11 , wherein the reference timestamp a High Precision Event Timer (HPET) timestamp.

18. The system of claim 11 , wherein synchronizing the timestamp with the reference timestamp is based on an acceptable tolerance of uncertainty between the timestamp and the reference timestamp.

19. The system of claim 18 , wherein the acceptable tolerance of uncertainty is based on guideposts associated with coordinates based on the timestamp and the reference timestamp.

20. A non-transitory computer-readable medium for storing instructions that, when executed by one or more processors, cause the one or more processors to:

receive a timestamp from a time reference system;

determine that one or more failure conditions associated with the timestamp are present;

in response to determining the one or more failure conditions are present, adjust the timestamp until the one or more failure conditions are no longer present;

synchronize the timestamp with a reference timestamp; and

output the timestamp.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2024
From: HOCHSCHILD, PETER; LLOYD, ALEXANDER; HSIEH, WILSON CHENG-YI; FELDERMAN, ROBERT EDMAN; EPSTEIN, MICHAEL JAMES BOYER
To: GOOGLE INC.
Reel/Frame 066678/0397 →
CHANGE OF NAME Recorded Mar 7, 2024
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 066749/0794 →
Continuity (6)
Continuation 17740688 · May 10, 2022
Continuation 16992673 · Aug 13, 2020
Continuation 15877845 · Jan 23, 2018
Division 14925278 · Oct 28, 2015
Continuation 14567294 · Dec 11, 2014
Continuation 13475143 · May 18, 2012
References Cited (39)
US 5504899A · Raz · 1996 [cited by applicant]
US 5640388A · Woodhead · 1997 [cited by examiner]
US 6052363A · Koch · 2000 [cited by applicant]
US 6581110B1 · Harif et al. · 2003 [cited by applicant]
US 7362767B2 · Orberk et al. · 2008 [cited by applicant]
US 8938636B1 · Hochschild et al. · 2015 [cited by applicant]
US 9203600B1 · Hochschild et al. · 2015 [cited by applicant]
US 9674562B1 · Spracklen · 2017 [cited by examiner]
US 9915970B1 · Hochschild et al. · 2018 [cited by applicant]
US 10775837B1 · Hochschild et al. · 2020 [cited by applicant]
US 11353917B1 · Hochschild et al. · 2022 [cited by applicant]
US 11442925B1 · Hsieh · 2022 [cited by applicant]
US 11953938B1 · Hochschild · 2024 [cited by examiner]
US 20020036984A1 · Chiussi et al. · 2002 [cited by applicant]
US 20040218633A1 · Burzynski · 2004 [cited by examiner]
US 20050058159A1 · Chapman · 2005 [cited by examiner]
US 20050193095A1 · Driediger · 2005 [cited by examiner]
US 20050210153A1 · Rich et al. · 2005 [cited by applicant]
US 20050210306A1 · Rich et al. · 2005 [cited by applicant]
US 20070047591A1 · Senthilnathan et al. · 2007 [cited by applicant]
US 20070239356A1 · Woz · 2007 [cited by applicant]
US 20080159240A1 · Hamilton · 2008 [cited by examiner]
US 20080175275A1 · Garner · 2008 [cited by applicant]
US 20080244094A1 · Rich et al. · 2008 [cited by applicant]
US 20080313496A1 · Prabhakaran et al. · 2008 [cited by applicant]
US 20090012932A1 · Romem et al. · 2009 [cited by applicant]
US 20090022089A1 · Rudrapatna · 2009 [cited by applicant]
US 20090089078A1 · Bursey · 2009 [cited by applicant]
US 20090310593A1 · Sheynblat et al. · 2009 [cited by applicant]
US 20100082772A1 · Suzuki · 2010 [cited by applicant]
US 20100185781A1 · Anderson · 2010 [cited by applicant]
US 20110023044A1 · Krutyolkin et al. · 2011 [cited by applicant]
US 20120102006A1 · Larson et al. · 2012 [cited by applicant]
US 20120275333A1 · Cociglio · 2012 [cited by applicant]
US 20130034197A1 · Aweya et al. · 2013 [cited by applicant]
US 20130266306A1 · Kozaki · 2013 [cited by examiner]
US 20140006458A1 · Hsieh et al. · 2014 [cited by applicant]
US 20150127978A1 · Cui et al. · 2015 [cited by applicant]
Alexander Thomson and Daniel J. Abadi, The Case for Determinism in Database Systems, 2010, 11 pages. [cited by applicant]