US12212643B2ActiveUtilityA1

Methods and systems for providing a distributed clock as a service

55
Assignee: PENSANDO SYSTEMS INCPriority: Jun 30, 2021Filed: Jun 30, 2021Granted: Jan 28, 2025
Est. expiryJun 30, 2041(~15 yrs left)· nominal 20-yr term from priority
G06F 2009/45587H04J 3/0667H04L 69/28H04L 7/0008G06F 2009/45595G06F 9/45558H04J 3/0697
55
PatentIndex Score
0
Cited by
19
References
20
Claims

Abstract

Tenants in data centers may want access to high precision clocks without having to run their own PTP stacks or reference clocks. Furthermore, different tenants may want their workloads synchronized to their own secured clock domain. PTP, the currently dominant synchronization protocol, allows for only 256 clock domains (CDs). Virtual CDs (vCDs) virtualize the concept of clock domains by maintaining a hardware clock within a host computer, receiving a network clock domain packet that includes a clock domain identifier and an origin timestamp produced by a reference clock, using the network clock domain packet to synchronize the hardware clock to the reference clock, and using the hardware clock to provide a hardware timestamp value to a virtual machine (VM) running on the host computer or to a process running on the host computer, wherein the hardware clock is secured from manipulation by the VM or by the process.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system comprising:
 a plurality of hardware clocks; 
 a memory; and 
 a processor coupled to the hardware clocks and the memory, 
 wherein the memory, the processor, and the hardware clocks are configured to provide a plurality of hardware timestamp values to a plurality of processes running in a plurality of virtual clock domains (vCDs) associated with a plurality of clock domains (CDs) by:
 storing a map that 1) associates the vCDs with the hardware clocks, and 2) associates the hardware clocks with the CDs; 
 synchronizing one of the hardware clocks to a reference clock in response to receiving a network clock domain packet that includes a clock domain identifier of one of the CDs and an origin timestamp produced by the reference clock; and 
 providing a hardware timestamp value from the one of the hardware clocks to a process running in one of the vCDs, 
 wherein the map associates the one of the hardware clocks with the one of the CDs and the one of the vCDs. 
 
 
     
     
       2. The system of  claim 1 , the processor is configured to provide a local hardware clock quality metric to the process. 
     
     
       3. The system of  claim 1  further including:
 a network interface card (NIC) configured for installation in a host computer, 
 wherein the NIC includes the hardware clocks, the memory, and the processor. 
 
     
     
       4. The system of  claim 3  wherein
 the hardware clock is secured from manipulation by any process or by any virtual machine (VM) running on the host computer. 
 
     
     
       5. The system of  claim 3  wherein the hardware clock is secured from manipulation by the host computer. 
     
     
       6. The system of  claim 1  wherein
 the process is a virtual machine (VM) that uses a vCD identifier of the one of the vCDs to obtain the hardware timestamp value. 
 
     
     
       7. The system of  claim 6  wherein:
 the VM is associated with the vCD identifier to identify the vCD of the VM. 
 
     
     
       8. The system of  claim 1  further comprising:
 the processor, the memory, and the plurality of hardware clocks are configured to synchronize the plurality of hardware clocks to a plurality of reference clocks. 
 
     
     
       9. The system of  claim 1  wherein the processor, memory, and hardware clocks are further configured to migrate a VM running in the one of the vCDs from a first host computer to a second host computer, wherein migrating the VM to the second host computer includes:
 mapping the one of the vCDs and the one of the CDs to a second hardware clock at the second host computer; and 
 synchronizing the second hardware clock to the reference clock in response to receiving a second network clock domain packet. 
 
     
     
       10. The system of  claim 1  wherein
 a second NIC installed in a second host computer includes a second hardware clock, 
 the one of the hardware clocks and the second hardware clock are synchronized within the one of the CDs, and 
 the second NIC associates a vCD identifier with a second clock domain identifier that is different from the clock domain identifier. 
 
     
     
       11. The system of  claim 1  wherein:
 the network clock domain packet is received on a first virtual local area network (VLAN) having a first VLAN identifier; 
 a second network clock domain packet that includes the clock domain identifier is received on a second VLAN having a second VLAN identifier; 
 the clock domain identifier in combination with the VLAN identifier identifies a clock domain; and 
 the clock domain identifier in combination with the second VLAN identifier identifies a second clock domain that is different from the clock domain. 
 
     
     
       12. The system of  claim 1  wherein the vCDs outnumber the CDs. 
     
     
       13. A method comprising:
 storing a map that 1) associates a plurality of vCDs with a plurality of hardware clocks and 2) associates the hardware clocks with a plurality of clock domains (CDs); 
 synchronizing one of the hardware clocks to a reference clock in response to receiving a network clock domain packet that includes a clock domain identifier of one of the CDs and an origin timestamp produced by the reference clock; and 
 mapping from a vCD identifier to the one of the hardware clocks to provide a hardware timestamp value produced by the one of the hardware clocks to a process that is in the one of the vCDs, 
 wherein the map associates the one of the hardware clocks with the one of the CDs and the one of the vCDs. 
 
     
     
       14. The method of  claim 13 , further including instantiating an additional one of the CDs in response to receiving virtual clock domain instantiation data. 
     
     
       15. The method of  claim 13  wherein the process is a VM running on a host computer and wherein VMs running on the host computer are prevented from manipulating the one of the hardware clocks. 
     
     
       16. The method of  claim 15  wherein
 the network clock domain packet is received on a virtual local area network (VLAN) that is configured to exclude network traffic to or from any one of the VMs. 
 
     
     
       17. A system comprising:
 a network interface card (NIC) that includes a plurality of hardware clocks, a memory, and a processor, 
 wherein the memory, the processor, and the hardware clocks are configured to provide a plurality of hardware timestamp values to a plurality of processes running in a plurality of virtual clock domains (vCDs) associated with a plurality of clock domains (CDs) by:
 storing a map that 1) associates the vCDs with the hardware clocks and 2) associates the hardware clocks with the CDs; 
 synchronizing one of the hardware clocks to a reference clock in response to receiving a network clock domain packet that includes a clock domain identifier of one of the CDs and an origin timestamp produced by the reference clock; and 
 providing a hardware timestamp value from the one of the hardware clocks to a process running in one of the vCDs, 
 wherein the map associates the one of the hardware clocks with the one of the CDs and the one of the vCDs. 
 
 
     
     
       18. The system of  claim 17 , wherein the NIC is configured to:
 receive virtual clock domain instantiation data for an additional virtual clock domain; and 
 provide an additional hardware timestamp value based on the additional virtual clock domain. 
 
     
     
       19. The system of  claim 17 , wherein the NIC is configured to:
 produce virtual clock domain instantiation data based on the map; and 
 transmit the virtual clock domain instantiation data to an additional peripheral component card. 
 
     
     
       20. The system of  claim 17 , wherein the NIC is configured to be installed in a host computer running a virtual machine (VM) and to provide a local hardware clock quality metric to the VM.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.