IP Library Granted Patent US 12,052,093
Granted Patent B2
US 12,052,093 · App. 17/478,063 · Granted Jul 30, 2024

Clock calibration in a computing system using temperature sensors

Inventors: Ali Najafi (Seattle, WA); Michael Wei (Palo Alto, CA); Andreas Georg Nowatzyk (San Jose, CA); Amy Tai (Mountain View, CA)
Assignee: VMware LLC
H04J3/0667G06F1/14G06F11/3058
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,052,093
App. No.
17/478,063
Granted
Jul 30, 2024
Kind
B2
Abstract

Described herein are systems, methods, and software to manage time calibration associated with an oscillator of a computing system. In one example, a computing system monitors clock cycles for an oscillator on the computing system, receives timing messages from a server, and calculates the frequency of the oscillator at intervals based on the monitored clock cycles and timing messages. The computing system further identifies a temperature from a temperature sensor at each of the intervals and generates a function to demonstrate frequency of the oscillator versus temperatures from the temperature sensor based on the identified temperatures and frequencies at the intervals.

Claims (65)

1. A method of operating a computing system to compensate for fluctuations in a frequency from an oscillator, the method comprising:

monitoring clock cycles for an oscillator at the computing system;

receiving timing messages from a second computing system;

calculating the frequency of the oscillator at a plurality of intervals based on the monitored clock cycles and the timing messages;

at each of the plurality of intervals, identifying a temperature associated with the computing system from a temperature sensor of the computing system;

generating a function to demonstrate the frequency of the oscillator as a function of the temperature from the temperature sensor based on the frequencies and the temperatures at the plurality of intervals;

after generating the function, identifying a first temperature from the temperature sensor;

determining a first frequency for the oscillator based on the function;

calculating a frequency error from the first frequency to an expected frequency; and

applying a compensation to the first frequency based on the frequency error.

2. The method of claim 1 , wherein the function comprises a third-degree polynomial function.

3. The method of claim 1 , wherein the timing messages comprise a plurality of messages received using network timing protocol (NTP).

4. The method of claim 1 , wherein the timing messages comprise a plurality of messages received using precision time protocol (PTP).

5. The method of claim 1 , wherein generating the function to demonstrate the frequency of the oscillator as a function of the temperature from the temperature sensor based on the frequencies and the temperatures at the plurality of intervals comprises generating a polynomial regression function using data points each corresponding to a frequency and a temperature at an interval of the plurality of intervals.

6. The method of claim 5 , wherein the polynomial regression comprises a third-degree polynomial.

7. The method of claim 1 further comprising:

identifying an expiration of a period following the application of the compensation;

in response to the expiration of the period, identifying a second temperature from the temperature sensor;

determining a second frequency for the oscillator based on the function;

calculating a second frequency error from the second frequency to the expected frequency; and

applying a second compensation to the second frequency based on the second frequency error.

8. The method of claim 1 further comprising:

selecting the temperature sensor from a plurality of temperature sensors based on the proximity of the plurality of temperature sensors to oscillator in the computing system.

9. The method of claim 1 , wherein the computing system comprises a server computing system in a data center.

10. A computing apparatus comprising:

a storage device;

a processing device operatively coupled to the storage device; and

program instructions stored on the storage device to compensate for fluctuations in a frequency of an oscillator in a computing system that, when executed by the processing device, direct the computing apparatus to:

monitor clock cycles for an oscillator at the computing system;

receive timing messages from a second computing system;

calculate the frequency of the oscillator at a plurality of intervals based on the monitored clock cycles and the timing messages;

at each of the plurality of intervals, identify a temperature associated with the computing system from a temperature sensor of the computing system;

generate a function to demonstrate the frequency of the oscillator as a function of the temperature from the temperature sensor based on the frequencies and the temperatures at the plurality of intervals;

after generating the function, identify a first temperature from the temperature sensor;

determine a first frequency for the oscillator based on the function;

calculate a frequency error from the first frequency to an expected frequency; and

apply a compensation to the first frequency based on the frequency error.

11. The computing apparatus of claim 10 , wherein the function comprises a third-degree polynomial function.

12. The computing apparatus of claim 10 , wherein the timing messages comprise a plurality of messages received using network timing protocol (NTP).

13. The computing apparatus of claim 10 , wherein the timing messages comprise a plurality of messages received using precision time protocol (PTP).

14. The computing apparatus of claim 10 , wherein generating the function to demonstrate the frequency of the oscillator as a function of the temperature from the temperature sensor based on the frequencies and the temperatures at the plurality of intervals comprises generating a polynomial regression function using data points each corresponding to a frequency and a temperature at an interval of the plurality of intervals.

15. The computing apparatus of claim 14 , wherein the polynomial regression comprises a third-degree polynomial.

16. The computing apparatus of claim 10 , wherein the program instructions further direct the computing apparatus to:

identify an expiration of a period following the application of the compensation;

in response to the expiration of the period, identify a second temperature from the temperature sensor;

determine a second frequency for the oscillator based on the function;

calculate a second frequency error from the second frequency to the expected frequency; and

apply a second compensation to the second frequency based on the second frequency error.

17. The computing apparatus of claim 10 , wherein the program instructions further direct the computing apparatus to:

select the temperature sensor from a plurality of temperature sensors based on the proximity of the plurality of temperature sensors to oscillator in the computing system.

18. The computing apparatus of claim 10 , wherein the computing system comprises a server computing system in a data center.

19. The computing apparatus of claim 10 , wherein the timing messages comprise a plurality of messages using pulse per second (PPS) time synchronization protocol.

20. A system comprising:

a timing server;

communicate timing messages to the computing system;

a computing system communicatively coupled to the timing server and configured to:

receive the timing messages;

monitor clock cycles for an oscillator at the computing system;

calculate the frequency of the oscillator at a plurality of intervals based on the monitored clock cycles and the timing messages;

at each of the plurality of intervals, identify a temperature associated with the computing system from a temperature sensor of the computing system;

generate a function to demonstrate the frequency of the oscillator as a function of the temperature from the temperature sensor based on the frequencies and the temperatures at the plurality of intervals;

after generating the function, identify a first temperature from the temperature sensor;

determine a first frequency for the oscillator based on the function;

calculate a frequency error from the first frequency to an expected frequency; and

apply a compensation to the first frequency based on the frequency error.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2024
From: NAJAFI, ALI; WEI, MICHAEL; NOWATZYK, ANDREAS GEORG; TAI, AMY
To: VMWARE, INC.
Reel/Frame 067863/0302 →
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →