Prosecution Insights
Last updated: April 19, 2026
Application No. 18/347,750

Method for Automatically Providing A Time Signal to Containers or to Virtual Machines and System for Executing Software Applications Running in Containers or Virtual Machines and Related Computer Program Product and Computer-Readable Medium

Non-Final OA §101§103§112
Filed
Jul 06, 2023
Examiner
RIGGINS, ARI FAITH COLEMA
Art Unit
2197
Tech Center
2100 — Computer Architecture & Software
Assignee
ABB Schweiz AG
OA Round
1 (Non-Final)
0%
Grant Probability
At Risk
1-2
OA Rounds
3y 3m
To Grant
0%
With Interview

Examiner Intelligence

Grants only 0% of cases
0%
Career Allow Rate
0 granted / 1 resolved
-55.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
3y 3m
Avg Prosecution
38 currently pending
Career history
39
Total Applications
across all art units

Statute-Specific Performance

§101
27.8%
-12.2% vs TC avg
§103
41.5%
+1.5% vs TC avg
§102
9.5%
-30.5% vs TC avg
§112
21.2%
-18.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This Office Action is in response to claims filed on 07/06/2023. Claims 1-6 and 10-23 are pending. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 1-6 and 10-23 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Claims 1, 10-12, 22, and 23 recite the limitation “or wherein the time signal in a time domain is provided intercepting time system calls and handling the time system calls based on an allocated clock”. It is unclear how the time signal is being provided with intercepting time system calls and handling of the calls based on an allocated clock. For the sake of compact prosecution, Examiner will interpret this limitation to mean: “or wherein the time signal in a time domain is provided by intercepting time system calls and handling the time system calls based on an allocated clock”. Claims 5, 15, and 16 recite the limitation “wherein the clock type includes” in line 2. There is insufficient antecedent basis for this limitation in the claims. Claims 5, 15, and 16 and claims 1-3 from which these claims depend do not include a clock type prior to this recitation. For the sake of compact prosecution, Examiner will interpret this to mean “wherein a clock type includes”. Claims 6 and 18-21 recite the limitation “wherein each time signal in a time domain … is accessible for reading or writing independently from different time signals in different time domains”. It is unclear how a time signal is accessible from different time signals. For the sake of compact prosecution, Examiner will interpret this limitation to mean: “wherein each time signal in a time domain … is accessible for reading or writing independent from different time signals in different time domains”. Further, claims 6 and 18-21 recite the limitation “and/or wherein each time signal…”. It is unclear whether this limitation is intended to be interpreted using “and” or “or”. For the sake of compact prosecution, Examiner will interpret this to mean “or wherein each time signal…”. Claims 2-6 and 13-21 depend, directly or indirectly, from rejected claims and do not resolve the deficiencies thereof and are therefore rejected for at least the same reasons. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1-6 and 10-23 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below. Step 1: Claims 1-6, and 13-21 are directed to a method and fall within the statutory category of processes. Claim 10 is directed to a system and falls within the statutory category of machines. Claim 11 is directed to a computer program product and falls within the statutory category of machines. Claim 12 is directed to a computer-readable medium and falls within the statutory category of machines. Claim 22 is directed to a computer program product and falls within the statutory category of machines. Claim 23 is directed to a computer program product and falls within the statutory category of machines. Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes. In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application. Step 2A Prong 1: Claims 1, 10-12, 22, and 23: The limitations of “allocating one or more clocks of the pool of clocks to client containers in the one or more containers or to client virtual machines of the one or more virtual machines, thereby obtaining allocated clocks allocated to the client containers or the client virtual machines;”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can mentally allocate one or more clocks to client containers or client virtual machines, this can be done through mental assignment/mapping of clocks to client containers or client virtual machines. This may also be done with pencil and paper. Further, claims 22 and 23 recite additional abstract idea recitations of “wherein a clock of the pool of clocks is allocated to at least two client containers or to at least two client virtual machines or to at least one client container and at least one client virtual machine”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can mentally allocate a clock to at least two client containers or to at least two client virtual machines or to at least one client container and at least one client virtual machine, this can be done through mental assignment/mapping of the clock to client containers or client virtual machines. This may also be done with pencil and paper. Further, claim 23 the claim recites additional abstract idea recitations of “and wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can observe a request to join a time domain, and based on this observation, can mentally allocate one or more clocks to client containers or client virtual machines, this can be done through mental assignment/mapping of clocks to client containers or client virtual machines. This may also be done with pencil and paper. Therefore, Yes, claims 1, 10-12, 22, and 23 recite a judicial exception. Step 2A Prong 2: Claims 1, 10-12, 22, and 23: The judicial exception is not integrated into a practical application. In particular, the claims recite additional element recitations of “A computer program product comprising instructions which, when executed by a computer, cause the computer to carry out”, “A computer-readable medium comprising instructions which, when executed by a computer, cause the computer to carry out”, “the method comprising: creating a pool of clocks;”, “executing one or more containers in an operating system level virtualization or one or more virtual machines running on an executing hardware device;”, “at least one clock;” and “a hardware device configured for executing one or more software applications inside a container of an operating system level virtualization or in a virtual machine;” which are merely recitations of generic computer functions and components used as a tool to apply the abstract idea (see MPEP § 2106.05(f)) which does not integrate a judicial exception into practical application. Further, the claims recite additional element recitations of “A system for executing software applications running in containers of an operating system level virtualization or in virtual machines, the system comprising:”, “wherein the time signal in a time domain is based on a respective allocated hardware clock or software clock and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine;”, and “wherein the one or more containers or the one or more virtual machines are executed on the hardware device”, which are merely recitations of technological environment/field of use (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. Further, the claims recite additional element recitations of “A method for automatically providing a time signal to containers in an operating system level virtualization or to virtual machines,”, “wherein each of the allocated clocks provides a time signal in a time domain to at least one of the client containers or to at least one of the client virtual machines;”, “or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks;”, and “or wherein the time signal in a time domain is provided intercepting time system calls and handling the time system calls based on an allocated clock”, which are merely recitations of data transmission and retrieval which are insignificant extra solution activity (see MPEP §2106.05(g)) which does not integrate a judicial exception into practical application. Therefore, “Do the claims recite additional elements that integrate the judicial exception into a practical application? No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims are directed to an abstract idea. After having evaluated the inquires set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 1, 10-12, 22, and 23 not only recite a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into practical application. Step 2B: Claims 1, 10-12, 22, and 23: The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than generic computing components, field of use/technological environment, and insignificant extra solution activity which do not amount to significantly more than the abstract idea. Further, the insignificant extra solution activity is well-understood, routine, and conventional in the art. “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network…iv. Storing and retrieving information in memory” [MPEP§ 2106.05(d)(II)]. Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception. Having concluded analysis within the provided framework, Claims 1, 10-12, 22, and 23 do not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claim 2, the claim recites additional abstract idea recitations of “wherein a clock of the pool of clocks is allocated to at least two client containers or to at least two client virtual machines or to at least one client container and at least one client virtual machine”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can mentally allocate a clock to at least two client containers or to at least two client virtual machines or to at least one client container and at least one client virtual machine, this can be done through mental assignment/mapping of the clock to client containers or client virtual machines. This may also be done with pencil and paper. Further, claim 2 does not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 2 also fails both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, Claim 2 does not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claims 3 and 13, the claims recite additional abstract idea recitations of “wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can observe a request to join a time domain, and based on this observation, can mentally allocate one or more clocks to client containers or client virtual machines, this can be done through mental assignment/mapping of clocks to client containers or client virtual machines. This may also be done with pencil and paper. Further, claims 3 and 13 do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 3 and 13 also fail both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, Claims 3 and 13 do not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claims 4 and 14, the claims recite additional element recitations of “wherein the request comprises a request for a time signal in a time domain provided by a clock with a specified clock type;”, “and wherein the request further includes a read or write permission of the time signal in a time domain;”, and “or wherein the request includes a joining request to join a time signal in a time domain provided by an already allocated clock”, which are merely recitations of technological environment/field of use (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. Further, claims 4 and 14 do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 4 and 14 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, Claims 4 and 14 do not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claims 5 and 15-17, the claims recite additional element recitations of “wherein the clock type includes a hardware type or a software type,” and “wherein a software type identifies a clock obtained based on a map applied to a master clock”, which are merely recitations of technological environment/field of use (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. Further, claims 5 and 15-17 do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 5 and 15-17 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, Claims 5 and 15-17 do not recite patent eligible subject matter under 35 U.S.C. § 101. With regard to claims 6 and 18-21, the claims recite additional element recitations of “wherein each time signal in a time domain is synchronized to a respective clock and is accessible for reading or writing independently from different time signals in different time domains” and “and/or wherein each time signal is synchronizable with further time signals in time domains provided by the allocated clocks”, which are merely recitations of technological environment/field of use (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. Further, claims 6 and 18-21 do not recite any further additional elements and for the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 6 and 18-21 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, Claims 6 and 18-21 do not recite patent eligible subject matter under 35 U.S.C. § 101. Therefore, Claims 1-6 and 10-23 do not recite patent eligible subject matter under U.S.C. §101. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1, 2, 5, 6, 10-12, 15, 18, 21, and 22 are rejected under 35 U.S.C. 103 as being unpatentable over Hubbe (US 2023/0006807 A1) in view of Ridoux (US 11,853,114 B1). Regarding Claim 1, Hubbe teaches: A method for automatically providing a time signal to containers in an operating system level virtualization or to virtual machines, “…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…” [Hubbe ¶ 4]. “A HW clock has a current time value and advances at a rate. The rate can be proportional to a timing signal such as pulses in a clock signal” [Hubbe ¶ 44]. the method comprising: creating a pool of clocks; “The peripheral component card be configured to implement a plurality of hardware clocks, be installed in a host computer, use a network communications protocol to synchronize the hardware clocks within a plurality of clock domains identified by a plurality of clock domain identifiers, associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and provide a hardware timestamp value to a virtual machine running on the host computer based on the one of the virtual clock domains associated with the virtual machine” [Hubbe ¶ 6]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers, wherein a plurality of clock domain identifiers identify the plurality of clock domains …” [Hubbe ¶ 5]. executing one or more containers in an operating system level virtualization or one or more virtual machines running on an executing hardware device; “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain, a plurality of NICs installed in the host computers synchronize a plurality of hardware clocks in the virtual clock domain, and the VMs obtain a plurality of hardware timestamp values from the plurality of hardware clocks” [Hubbe ¶ 7]. allocating one or more clocks of the pool of clocks to client containers in the one or more containers or to client virtual machines of the one or more virtual machines, “FIG. 2 is a high-level diagram illustrating a mapping between virtual clock domains (vCDs), clock domains (CDs), and hardware clocks according to some aspects” [Hubbe ¶ 13]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers … the NICs are configured to associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and a plurality of virtual machines (VMs) running on the host computers obtain hardware timestamp values from the NICs via the virtual clock domain identifiers” [Hubbe ¶ 5]. “In some implementations of the methods and devices, the VM and the clock domain identifier are associated with a virtual clock domain identifier, the virtual clock domain identifier identifies a virtual clock domain of the VM” [Hubbe ¶ 7]. thereby obtaining allocated clocks allocated to the client containers or the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein each of the allocated clocks provides a time signal in a time domain to at least one of the client containers or to at least one of the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein the time signal in a time domain is based on a respective allocated hardware clock or software clock “The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock. For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD” [Hubbe ¶ 67]. …and handling the time system calls based on an allocated clock. “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. Hubbe fails to explicitly teach and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. However, Ridoux teaches: and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; “Additionally or alternatively, the isolated timing hardware 20 may provide access to the hardware clock 24 via a virtualized hardware clock 34 of the instance 116. Similarly to a virtualized network device 32, the virtualized hardware clock 34 can represent software executing on the host computing device 115 that appears, from the point of view of the instance 116, to represent hardware. For example, the virtualized hardware clock 34 may be represented in a Unix-like operating system of the instance 116 as a device (e.g., "/dev/phc")” [Ridoux Col. 14 Lines 11-20]. or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls “Accordingly, network communications from the instance 116 may traverse the isolated timing hardware 20 prior to transmission on the network 104. In the case of queries to the time server 22, the hardware 20 may intercept such transmission and provide a response, thus foregoing transmission on the network 104” [Ridoux Col. 14 Lines 1-6]. Ridoux is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe to incorporate the teachings of Ridoux and include and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. Doing so would allow for applications to have local clock access. “However, unlike traditional network protocols, the interactions occur locally rather than over a network. In combination with a highly accurate hardware clock 24, these interactions thus facilitate highly accurate synchronization of the system clock 14” [Ridoux Col. 19-20 Lines 65-67, 1-4]. Regarding Claim 2, Hubbe in view of Ridoux teaches the method of claim 1, as referenced above. Hubbe further teaches wherein a clock of the pool of clocks is allocated to at least two client containers or to at least two client virtual machines or to at least one client container and at least one client virtual machine. “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. Regarding Claim 5, Hubbe in view of Ridoux teaches the method of claim 1, as referenced above. Hubbe further teaches: wherein the clock type includes a hardware type or a software type, “FIG. 7 is a high-level diagram illustrating a virtual machine 701 accessing a hardware clock 708 via a virtual clock domain (vCD) access point 703 according to some aspects. A process running in a VM 701 can attempt to read a time value from a HW (type) clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point. From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF. The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock” [Hubbe ¶ 67]. wherein a software type identifies a clock obtained based on a map applied to a master clock. “The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock” [Hubbe ¶ 67]. “From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF” [Hubbe ¶ 67]. Regarding Claim 6, Hubbe in view of Ridoux teaches the method of claim 1, as referenced above. Hubbe further teaches: wherein each time signal in a time domain is synchronized to a respective clock “For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD. The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock. The current time 709 of the hardware clock 708 can be provided to the VM's device driver 702” [Hubbe ¶ 67]. and is accessible for reading or writing “A process running in a VM 701 can attempt to read a time value from a HW clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point” [Hubbe ¶ 67]. independently from different time signals in different time domains “Hardware clock synchronization executable code 104 is computer code that can be executed to thereby synchronize one or more of the hardware clocks 105 to one or more reference clocks. For example, and as is well known in the art, the reference clock can be the reference clock for a specific CD, PTP packets can be used for synchronization within that CD, and PTP stacks can process the PTP packets to thereby synchronize one or more of the HW clocks 105 to the reference clock 101” [Hubbe ¶ 41]. and/or wherein each time signal is synchronizable with further time signals in time domains provided by the allocated clocks. “A virtual clock domain (vCD) to clock domain (CD) to hardware (HW) clock mapping table 109 can indicate which HW clock is in which CD such that the hardware clock synchronization executable code 104 can synchronize the HW clocks within the correct CDs” [Hubbe ¶ 40]. Regarding Claim 10, Hubbe teaches: A system for executing software applications running in containers of an operating system level virtualization or in virtual machines, “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain…” [Hubbe ¶ 7]. the system comprising: at least one clock; “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers, wherein a plurality of clock domain identifiers identify the plurality of clock domains …” [Hubbe ¶ 5]. a hardware device configured for executing one or more software applications inside a container of an operating system level virtualization or in a virtual machine; “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain…” [Hubbe ¶ 7]. the hardware device further configured to perform a method for automatically providing a time signal to containers in an operating system level virtualization or to virtual machines, “…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…” [Hubbe ¶ 4]. “A HW clock has a current time value and advances at a rate. The rate can be proportional to a timing signal such as pulses in a clock signal” [Hubbe ¶ 44]. the method comprising: creating a pool of clocks; “The peripheral component card be configured to implement a plurality of hardware clocks, be installed in a host computer, use a network communications protocol to synchronize the hardware clocks within a plurality of clock domains identified by a plurality of clock domain identifiers, associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and provide a hardware timestamp value to a virtual machine running on the host computer based on the one of the virtual clock domains associated with the virtual machine” [Hubbe ¶ 6]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers, wherein a plurality of clock domain identifiers identify the plurality of clock domains …” [Hubbe ¶ 5]. executing one or more containers in an operating system level virtualization or one or more virtual machines running on an executing hardware device; “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain, a plurality of NICs installed in the host computers synchronize a plurality of hardware clocks in the virtual clock domain, and the VMs obtain a plurality of hardware timestamp values from the plurality of hardware clocks” [Hubbe ¶ 7]. allocating one or more clocks of the pool of clocks to client containers in the one or more containers or to client virtual machines of the one or more virtual machines, “FIG. 2 is a high-level diagram illustrating a mapping between virtual clock domains (vCDs), clock domains (CDs), and hardware clocks according to some aspects” [Hubbe ¶ 13]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers … the NICs are configured to associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and a plurality of virtual machines (VMs) running on the host computers obtain hardware timestamp values from the NICs via the virtual clock domain identifiers” [Hubbe ¶ 5]. “In some implementations of the methods and devices, the VM and the clock domain identifier are associated with a virtual clock domain identifier, the virtual clock domain identifier identifies a virtual clock domain of the VM” [Hubbe ¶ 7]. thereby obtaining allocated clocks allocated to the client containers or the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein each of the allocated clocks provides a time signal in a time domain to at least one of the client containers or to at least one of the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein the time signal in a time domain is based on a respective allocated hardware clock or software clock “The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock. For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD” [Hubbe ¶ 67]. …and handling the time system calls based on an allocated clock; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein the one or more containers or the one or more virtual machines are executed on the hardware device. “…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…” [Hubbe ¶ 4]. Hubbe fails to explicitly teach and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. However, Ridoux teaches: and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; “Additionally or alternatively, the isolated timing hardware 20 may provide access to the hardware clock 24 via a virtualized hardware clock 34 of the instance 116. Similarly to a virtualized network device 32, the virtualized hardware clock 34 can represent software executing on the host computing device 115 that appears, from the point of view of the instance 116, to represent hardware. For example, the virtualized hardware clock 34 may be represented in a Unix-like operating system of the instance 116 as a device (e.g., "/dev/phc")” [Ridoux Col. 14 Lines 11-20]. or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls “Accordingly, network communications from the instance 116 may traverse the isolated timing hardware 20 prior to transmission on the network 104. In the case of queries to the time server 22, the hardware 20 may intercept such transmission and provide a response, thus foregoing transmission on the network 104” [Ridoux Col. 14 Lines 1-6]. Ridoux is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe to incorporate the teachings of Ridoux and include and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. Doing so would allow for applications to have local clock access. “However, unlike traditional network protocols, the interactions occur locally rather than over a network. In combination with a highly accurate hardware clock 24, these interactions thus facilitate highly accurate synchronization of the system clock 14” [Ridoux Col. 19-20 Lines 65-67, 1-4]. Regarding Claim 11, Hubbe teaches: A computer program product comprising instructions which, when executed by a computer, “Aspects described above can be ultimately implemented in a network appliance that includes physical circuits that implement digital data processing, storage, and communications. The network appliance can include processing circuits, ROM, RAM, CAM, and at least one interface (interface(s))” [Hubbe ¶ 82]. cause the computer to carry out a method for automatically providing a time signal to containers in an operating system level virtualization or to virtual machines, “…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…” [Hubbe ¶ 4]. “A HW clock has a current time value and advances at a rate. The rate can be proportional to a timing signal such as pulses in a clock signal” [Hubbe ¶ 44]. the method comprising: creating a pool of clocks; “The peripheral component card be configured to implement a plurality of hardware clocks, be installed in a host computer, use a network communications protocol to synchronize the hardware clocks within a plurality of clock domains identified by a plurality of clock domain identifiers, associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and provide a hardware timestamp value to a virtual machine running on the host computer based on the one of the virtual clock domains associated with the virtual machine” [Hubbe ¶ 6]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers, wherein a plurality of clock domain identifiers identify the plurality of clock domains …” [Hubbe ¶ 5]. executing one or more containers in an operating system level virtualization or one or more virtual machines running on an executing hardware device; “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain, a plurality of NICs installed in the host computers synchronize a plurality of hardware clocks in the virtual clock domain, and the VMs obtain a plurality of hardware timestamp values from the plurality of hardware clocks” [Hubbe ¶ 7]. allocating one or more clocks of the pool of clocks to client containers in the one or more containers or to client virtual machines of the one or more virtual machines, “FIG. 2 is a high-level diagram illustrating a mapping between virtual clock domains (vCDs), clock domains (CDs), and hardware clocks according to some aspects” [Hubbe ¶ 13]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers … the NICs are configured to associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and a plurality of virtual machines (VMs) running on the host computers obtain hardware timestamp values from the NICs via the virtual clock domain identifiers” [Hubbe ¶ 5]. “In some implementations of the methods and devices, the VM and the clock domain identifier are associated with a virtual clock domain identifier, the virtual clock domain identifier identifies a virtual clock domain of the VM” [Hubbe ¶ 7]. thereby obtaining allocated clocks allocated to the client containers or the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein each of the allocated clocks provides a time signal in a time domain to at least one of the client containers or to at least one of the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein the time signal in a time domain is based on a respective allocated hardware clock or software clock “The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock. For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD” [Hubbe ¶ 67]. …and handling the time system calls based on an allocated clock. “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. Hubbe fails to explicitly teach and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. However, Ridoux teaches: and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; “Additionally or alternatively, the isolated timing hardware 20 may provide access to the hardware clock 24 via a virtualized hardware clock 34 of the instance 116. Similarly to a virtualized network device 32, the virtualized hardware clock 34 can represent software executing on the host computing device 115 that appears, from the point of view of the instance 116, to represent hardware. For example, the virtualized hardware clock 34 may be represented in a Unix-like operating system of the instance 116 as a device (e.g., "/dev/phc")” [Ridoux Col. 14 Lines 11-20]. or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls “Accordingly, network communications from the instance 116 may traverse the isolated timing hardware 20 prior to transmission on the network 104. In the case of queries to the time server 22, the hardware 20 may intercept such transmission and provide a response, thus foregoing transmission on the network 104” [Ridoux Col. 14 Lines 1-6]. Ridoux is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe to incorporate the teachings of Ridoux and include and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. Doing so would allow for applications to have local clock access. “However, unlike traditional network protocols, the interactions occur locally rather than over a network. In combination with a highly accurate hardware clock 24, these interactions thus facilitate highly accurate synchronization of the system clock 14” [Ridoux Col. 19-20 Lines 65-67, 1-4]. Regarding Claim 12, Hubbe teaches: A computer-readable medium comprising instructions which, when executed by a computer, “It should also be noted that at least some of the operations for the methods described herein may be implemented using software instructions stored on a computer usable storage medium for execution by a computer” [Hubbe ¶ 85]. cause the computer to carry out a method for automatically providing a time signal to containers in an operating system level virtualization or to virtual machines, “…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…” [Hubbe ¶ 4]. “A HW clock has a current time value and advances at a rate. The rate can be proportional to a timing signal such as pulses in a clock signal” [Hubbe ¶ 44]. the method comprising: creating a pool of clocks; “The peripheral component card be configured to implement a plurality of hardware clocks, be installed in a host computer, use a network communications protocol to synchronize the hardware clocks within a plurality of clock domains identified by a plurality of clock domain identifiers, associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and provide a hardware timestamp value to a virtual machine running on the host computer based on the one of the virtual clock domains associated with the virtual machine” [Hubbe ¶ 6]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers, wherein a plurality of clock domain identifiers identify the plurality of clock domains …” [Hubbe ¶ 5]. executing one or more containers in an operating system level virtualization or one or more virtual machines running on an executing hardware device; “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain, a plurality of NICs installed in the host computers synchronize a plurality of hardware clocks in the virtual clock domain, and the VMs obtain a plurality of hardware timestamp values from the plurality of hardware clocks” [Hubbe ¶ 7]. allocating one or more clocks of the pool of clocks to client containers in the one or more containers or to client virtual machines of the one or more virtual machines, “FIG. 2 is a high-level diagram illustrating a mapping between virtual clock domains (vCDs), clock domains (CDs), and hardware clocks according to some aspects” [Hubbe ¶ 13]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers … the NICs are configured to associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and a plurality of virtual machines (VMs) running on the host computers obtain hardware timestamp values from the NICs via the virtual clock domain identifiers” [Hubbe ¶ 5]. “In some implementations of the methods and devices, the VM and the clock domain identifier are associated with a virtual clock domain identifier, the virtual clock domain identifier identifies a virtual clock domain of the VM” [Hubbe ¶ 7]. thereby obtaining allocated clocks allocated to the client containers or the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein each of the allocated clocks provides a time signal in a time domain to at least one of the client containers or to at least one of the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein the time signal in a time domain is based on a respective allocated hardware clock or software clock “The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock. For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD” [Hubbe ¶ 67]. …and handling the time system calls based on an allocated clock. “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. Hubbe fails to explicitly teach and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. However, Ridoux teaches: and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; “Additionally or alternatively, the isolated timing hardware 20 may provide access to the hardware clock 24 via a virtualized hardware clock 34 of the instance 116. Similarly to a virtualized network device 32, the virtualized hardware clock 34 can represent software executing on the host computing device 115 that appears, from the point of view of the instance 116, to represent hardware. For example, the virtualized hardware clock 34 may be represented in a Unix-like operating system of the instance 116 as a device (e.g., "/dev/phc")” [Ridoux Col. 14 Lines 11-20]. or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls “Accordingly, network communications from the instance 116 may traverse the isolated timing hardware 20 prior to transmission on the network 104. In the case of queries to the time server 22, the hardware 20 may intercept such transmission and provide a response, thus foregoing transmission on the network 104” [Ridoux Col. 14 Lines 1-6]. Ridoux is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe to incorporate the teachings of Ridoux and include and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. Doing so would allow for applications to have local clock access. “However, unlike traditional network protocols, the interactions occur locally rather than over a network. In combination with a highly accurate hardware clock 24, these interactions thus facilitate highly accurate synchronization of the system clock 14” [Ridoux Col. 19-20 Lines 65-67, 1-4]. Regarding Claim 15, Hubbe in view of Ridoux teaches the method of claim 2, as referenced above. Hubbe further teaches: wherein the clock type includes a hardware type or a software type, “FIG. 7 is a high-level diagram illustrating a virtual machine 701 accessing a hardware clock 708 via a virtual clock domain (vCD) access point 703 according to some aspects. A process running in a VM 701 can attempt to read a time value from a HW (type) clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point. From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF. The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock” [Hubbe ¶ 67]. wherein a software type identifies a clock obtained based on a map applied to a master clock. “The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock” [Hubbe ¶ 67]. “From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF” [Hubbe ¶ 67]. Regarding Claim 18, Hubbe in view of Ridoux teaches the method of claim 2, as referenced above. Hubbe further teaches: wherein each time signal in a time domain is synchronized to a respective clock “For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD. The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock. The current time 709 of the hardware clock 708 can be provided to the VM's device driver 702” [Hubbe ¶ 67]. and is accessible for reading or writing “A process running in a VM 701 can attempt to read a time value from a HW clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point” [Hubbe ¶ 67]. independently from different time signals in different time domains “Hardware clock synchronization executable code 104 is computer code that can be executed to thereby synchronize one or more of the hardware clocks 105 to one or more reference clocks. For example, and as is well known in the art, the reference clock can be the reference clock for a specific CD, PTP packets can be used for synchronization within that CD, and PTP stacks can process the PTP packets to thereby synchronize one or more of the HW clocks 105 to the reference clock 101” [Hubbe ¶ 41]. and/or wherein each time signal is synchronizable with further time signals in time domains provided by the allocated clocks. “A virtual clock domain (vCD) to clock domain (CD) to hardware (HW) clock mapping table 109 can indicate which HW clock is in which CD such that the hardware clock synchronization executable code 104 can synchronize the HW clocks within the correct CDs” [Hubbe ¶ 40]. Regarding Claim 21, Hubbe in view of Ridoux teaches the method of claim 5, as referenced above. Hubbe further teaches: wherein each time signal in a time domain is synchronized to a respective clock “For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD. The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock. The current time 709 of the hardware clock 708 can be provided to the VM's device driver 702” [Hubbe ¶ 67]. and is accessible for reading or writing “A process running in a VM 701 can attempt to read a time value from a HW clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point” [Hubbe ¶ 67]. independently from different time signals in different time domains “Hardware clock synchronization executable code 104 is computer code that can be executed to thereby synchronize one or more of the hardware clocks 105 to one or more reference clocks. For example, and as is well known in the art, the reference clock can be the reference clock for a specific CD, PTP packets can be used for synchronization within that CD, and PTP stacks can process the PTP packets to thereby synchronize one or more of the HW clocks 105 to the reference clock 101” [Hubbe ¶ 41]. and/or wherein each time signal is synchronizable with further time signals in time domains provided by the allocated clocks. “A virtual clock domain (vCD) to clock domain (CD) to hardware (HW) clock mapping table 109 can indicate which HW clock is in which CD such that the hardware clock synchronization executable code 104 can synchronize the HW clocks within the correct CDs” [Hubbe ¶ 40]. Regarding Claim 22, Hubbe teaches: A computer program product comprising instructions which, when executed by a computer, “It should also be noted that at least some of the operations for the methods described herein may be implemented using software instructions stored on a computer usable storage medium for execution by a computer” [Hubbe ¶ 85]. cause the computer to carry out a method for automatically providing a time signal to containers in an operating system level virtualization or to virtual machines, “…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…” [Hubbe ¶ 4]. “A HW clock has a current time value and advances at a rate. The rate can be proportional to a timing signal such as pulses in a clock signal” [Hubbe ¶ 44]. the method comprising: creating a pool of clocks; “The peripheral component card be configured to implement a plurality of hardware clocks, be installed in a host computer, use a network communications protocol to synchronize the hardware clocks within a plurality of clock domains identified by a plurality of clock domain identifiers, associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and provide a hardware timestamp value to a virtual machine running on the host computer based on the one of the virtual clock domains associated with the virtual machine” [Hubbe ¶ 6]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers, wherein a plurality of clock domain identifiers identify the plurality of clock domains …” [Hubbe ¶ 5]. executing one or more containers in an operating system level virtualization or one or more virtual machines running on an executing hardware device; “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain, a plurality of NICs installed in the host computers synchronize a plurality of hardware clocks in the virtual clock domain, and the VMs obtain a plurality of hardware timestamp values from the plurality of hardware clocks” [Hubbe ¶ 7]. allocating one or more clocks of the pool of clocks to client containers in the one or more containers or to client virtual machines of the one or more virtual machines, “FIG. 2 is a high-level diagram illustrating a mapping between virtual clock domains (vCDs), clock domains (CDs), and hardware clocks according to some aspects” [Hubbe ¶ 13]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers … the NICs are configured to associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and a plurality of virtual machines (VMs) running on the host computers obtain hardware timestamp values from the NICs via the virtual clock domain identifiers” [Hubbe ¶ 5]. “In some implementations of the methods and devices, the VM and the clock domain identifier are associated with a virtual clock domain identifier, the virtual clock domain identifier identifies a virtual clock domain of the VM” [Hubbe ¶ 7]. thereby obtaining allocated clocks allocated to the client containers or the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein each of the allocated clocks provides a time signal in a time domain to at least one of the client containers or to at least one of the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein the time signal in a time domain is based on a respective allocated hardware clock or software clock “The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock. For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD” [Hubbe ¶ 67]. …and handling the time system calls based on an allocated clock; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein a clock of the pool of clocks is allocated to at least two client containers or to at least two client virtual machines or to at least one client container and at least one client virtual machine. “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. Hubbe fails to explicitly teach and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. However, Ridoux teaches: and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; “Additionally or alternatively, the isolated timing hardware 20 may provide access to the hardware clock 24 via a virtualized hardware clock 34 of the instance 116. Similarly to a virtualized network device 32, the virtualized hardware clock 34 can represent software executing on the host computing device 115 that appears, from the point of view of the instance 116, to represent hardware. For example, the virtualized hardware clock 34 may be represented in a Unix-like operating system of the instance 116 as a device (e.g., "/dev/phc")” [Ridoux Col. 14 Lines 11-20]. or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls “Accordingly, network communications from the instance 116 may traverse the isolated timing hardware 20 prior to transmission on the network 104. In the case of queries to the time server 22, the hardware 20 may intercept such transmission and provide a response, thus foregoing transmission on the network 104” [Ridoux Col. 14 Lines 1-6]. Ridoux is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe to incorporate the teachings of Ridoux and include and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. Doing so would allow for applications to have local clock access. “However, unlike traditional network protocols, the interactions occur locally rather than over a network. In combination with a highly accurate hardware clock 24, these interactions thus facilitate highly accurate synchronization of the system clock 14” [Ridoux Col. 19-20 Lines 65-67, 1-4]. Claims 3, 4, 13, 14, 16, 17, 19, 20 and 23 are rejected under 35 U.S.C. 103 as being unpatentable over Hubbe (US 2023/0006807 A1) in view of Ridoux (US 11,853,114 B1) in view of Hu (US 2018/0227067 A1). Regarding Claim 3, Hubbe in view of Ridoux teaches the method of claim 1, as referenced above. Hubbe in view of Ridoux fails to teach wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. However, Hu teaches wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. “Another reason for dynamically changing a time domain may be as a result of a set of highly integrated applications (e.g., applications in a single application time domain) requesting a reconfiguration of their application time domain. In some cases, two different application time domains may desire to be synchronized and become a single application time domain. Using the disclosed sync router hardware based solution, a flexible method to allow switching to different time masters selected from multiple possible time masters may be provided (See FIG. 9)” [Hu ¶ 47]. Hu is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe in view of Ridoux to incorporate the teachings of Hu and include wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. Doing so would allow for further flexibility in the allocation of time domains to applications. “Applications working together may desire to utilize a consistent time domain that is controlled by the same master clock. The sync router provides the capability for each consumer of a time event to determine its appropriate master and provide for graceful failover in the event of system or communication failure” [Hu ¶ 51]. Regarding Claim 4, Hubbe in view of Ridoux in view of Hu teaches the method of claim 3, as referenced above. Hubbe further teaches: wherein the request comprises a request for a time signal in a time domain provided by a clock with a specified clock type; “FIG. 7 is a high-level diagram illustrating a virtual machine 701 accessing a hardware clock 708 via a virtual clock domain (vCD) access point 703 according to some aspects. A process running in a VM 701 can attempt to read a time value from a HW (type) clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point. From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF. The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock” [Hubbe ¶ 67]. and wherein the request further includes a read or write permission of the time signal in a time domain; “VMs and, in some cases, host computers may have read only access 706 to the HW clocks via the vCD access points. Read only access prevents conditions such as a VM running a PTP stack and modifying a HW clock while the PCIe device also runs a PTP stack that maintains the same HW clock” [Hubbe ¶ 68]. Hubbe in view of Ridoux fails to explicitly teach or wherein the request includes a joining request to join a time signal in a time domain provided by an already allocated clock. However, Hu teaches or wherein the request includes a joining request to join a time signal in a time domain provided by an already allocated clock. “In some cases, two different application time domains may desire to be synchronized and become a single application time domain. Using the disclosed sync router hardware based solution, a flexible method to allow switching to different time masters selected from multiple possible time masters may be provided (See FIG. 9)” [Hu ¶ 47]. “Applications working together may desire to utilize a consistent time domain that is controlled by the same master clock. The sync router provides the capability for each consumer of a time event to determine its appropriate master and provide for graceful failover in the event of system or communication failure” [Hu ¶ 51]. Regarding Claim 13, Hubbe in view of Ridoux teaches the method of claim 2, as referenced above. Hubbe in view of Ridoux fails to teach wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. However, Hu teaches wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. “Another reason for dynamically changing a time domain may be as a result of a set of highly integrated applications (e.g., applications in a single application time domain) requesting a reconfiguration of their application time domain. In some cases, two different application time domains may desire to be synchronized and become a single application time domain. Using the disclosed sync router hardware based solution, a flexible method to allow switching to different time masters selected from multiple possible time masters may be provided (See FIG. 9)” [Hu ¶ 47]. It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe in view of Ridoux to incorporate the teachings of Hu and include wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. Doing so would allow for further flexibility in the allocation of time domains to applications. “Applications working together may desire to utilize a consistent time domain that is controlled by the same master clock. The sync router provides the capability for each consumer of a time event to determine its appropriate master and provide for graceful failover in the event of system or communication failure” [Hu ¶ 51]. Regarding Claim 14, Hubbe in view of Ridoux in view of Hu teaches the method of claim 13, as referenced above. Hubbe further teaches: wherein the request comprises a request for a time signal in a time domain provided by a clock with a specified clock type; “FIG. 7 is a high-level diagram illustrating a virtual machine 701 accessing a hardware clock 708 via a virtual clock domain (vCD) access point 703 according to some aspects. A process running in a VM 701 can attempt to read a time value from a HW (type) clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point. From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF. The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock” [Hubbe ¶ 67]. and wherein the request further includes a read or write permission of the time signal in a time domain; “VMs and, in some cases, host computers may have read only access 706 to the HW clocks via the vCD access points. Read only access prevents conditions such as a VM running a PTP stack and modifying a HW clock while the PCIe device also runs a PTP stack that maintains the same HW clock” [Hubbe ¶ 68]. Hubbe in view of Ridoux fails to explicitly teach or wherein the request includes a joining request to join a time signal in a time domain provided by an already allocated clock. However, Hu teaches or wherein the request includes a joining request to join a time signal in a time domain provided by an already allocated clock. “In some cases, two different application time domains may desire to be synchronized and become a single application time domain. Using the disclosed sync router hardware based solution, a flexible method to allow switching to different time masters selected from multiple possible time masters may be provided (See FIG. 9)” [Hu ¶ 47]. “Applications working together may desire to utilize a consistent time domain that is controlled by the same master clock. The sync router provides the capability for each consumer of a time event to determine its appropriate master and provide for graceful failover in the event of system or communication failure” [Hu ¶ 51]. Regarding Claim 16, Hubbe in view of Ridoux in view of Hu teaches the method of claim 3, as referenced above. Hubbe further teaches: wherein the clock type includes a hardware type or a software type, “FIG. 7 is a high-level diagram illustrating a virtual machine 701 accessing a hardware clock 708 via a virtual clock domain (vCD) access point 703 according to some aspects. A process running in a VM 701 can attempt to read a time value from a HW (type) clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point. From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF. The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock” [Hubbe ¶ 67]. wherein a software type identifies a clock obtained based on a map applied to a master clock. “The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock” [Hubbe ¶ 67]. “From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF” [Hubbe ¶ 67]. Regarding Claim 17, Hubbe in view of Ridoux in view of Hu teaches the method of claim 4, as referenced above. Hubbe further teaches: wherein the clock type includes a hardware type or a software type, “FIG. 7 is a high-level diagram illustrating a virtual machine 701 accessing a hardware clock 708 via a virtual clock domain (vCD) access point 703 according to some aspects. A process running in a VM 701 can attempt to read a time value from a HW (type) clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point. From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF. The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock” [Hubbe ¶ 67]. wherein a software type identifies a clock obtained based on a map applied to a master clock. “The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock” [Hubbe ¶ 67]. “From the VM's perspective, the device driver may be providing access to a system's only hardware clock. From the perspective of the PCIe device (e.g., smartNIC 430) the VM can be accessing a vCD access point 703 that is implemented as a PCIe VF” [Hubbe ¶ 67]. Regarding Claim 19, Hubbe in view of Ridoux in view of Hu teaches the method of claim 3, as referenced above. Hubbe further teaches: wherein each time signal in a time domain is synchronized to a respective clock “For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD. The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock. The current time 709 of the hardware clock 708 can be provided to the VM's device driver 702” [Hubbe ¶ 67]. and is accessible for reading or writing “A process running in a VM 701 can attempt to read a time value from a HW clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point” [Hubbe ¶ 67]. independently from different time signals in different time domains “Hardware clock synchronization executable code 104 is computer code that can be executed to thereby synchronize one or more of the hardware clocks 105 to one or more reference clocks. For example, and as is well known in the art, the reference clock can be the reference clock for a specific CD, PTP packets can be used for synchronization within that CD, and PTP stacks can process the PTP packets to thereby synchronize one or more of the HW clocks 105 to the reference clock 101” [Hubbe ¶ 41]. and/or wherein each time signal is synchronizable with further time signals in time domains provided by the allocated clocks. “A virtual clock domain (vCD) to clock domain (CD) to hardware (HW) clock mapping table 109 can indicate which HW clock is in which CD such that the hardware clock synchronization executable code 104 can synchronize the HW clocks within the correct CDs” [Hubbe ¶ 40]. Regarding Claim 20, Hubbe in view of Ridoux in view of Hu teaches the method of claim 4, as referenced above. Hubbe further teaches: wherein each time signal in a time domain is synchronized to a respective clock “For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD. The VM, attempting to read the system clock, tries to read a time value via a VF implementing a vCD access point. The PCIe device can use the vCD to CD to HW clock mapping table 705 and the vCD identifier 704 to identify a HW clock. The current time 709 of the hardware clock 708 can be provided to the VM's device driver 702” [Hubbe ¶ 67]. and is accessible for reading or writing “A process running in a VM 701 can attempt to read a time value from a HW clock. The process can use the VM's device driver 702 to access a VF that functions as a vCD access point” [Hubbe ¶ 67]. independently from different time signals in different time domains “Hardware clock synchronization executable code 104 is computer code that can be executed to thereby synchronize one or more of the hardware clocks 105 to one or more reference clocks. For example, and as is well known in the art, the reference clock can be the reference clock for a specific CD, PTP packets can be used for synchronization within that CD, and PTP stacks can process the PTP packets to thereby synchronize one or more of the HW clocks 105 to the reference clock 101” [Hubbe ¶ 41]. and/or wherein each time signal is synchronizable with further time signals in time domains provided by the allocated clocks. “A virtual clock domain (vCD) to clock domain (CD) to hardware (HW) clock mapping table 109 can indicate which HW clock is in which CD such that the hardware clock synchronization executable code 104 can synchronize the HW clocks within the correct CDs” [Hubbe ¶ 40]. Regarding Claim 23, Hubbe teaches: A computer program product comprising instructions which, when executed by a computer, “It should also be noted that at least some of the operations for the methods described herein may be implemented using software instructions stored on a computer usable storage medium for execution by a computer” [Hubbe ¶ 85]. cause the computer to carry out a method for automatically providing a time signal to containers in an operating system level virtualization or to virtual machines, “…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…” [Hubbe ¶ 4]. “A HW clock has a current time value and advances at a rate. The rate can be proportional to a timing signal such as pulses in a clock signal” [Hubbe ¶ 44]. the method comprising: creating a pool of clocks; “The peripheral component card be configured to implement a plurality of hardware clocks, be installed in a host computer, use a network communications protocol to synchronize the hardware clocks within a plurality of clock domains identified by a plurality of clock domain identifiers, associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and provide a hardware timestamp value to a virtual machine running on the host computer based on the one of the virtual clock domains associated with the virtual machine” [Hubbe ¶ 6]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers, wherein a plurality of clock domain identifiers identify the plurality of clock domains …” [Hubbe ¶ 5]. executing one or more containers in an operating system level virtualization or one or more virtual machines running on an executing hardware device; “In some implementations of the methods and devices, a plurality of VMs running on a plurality of host computers are associated with a virtual clock domain identifier that identifies a virtual clock domain, a plurality of NICs installed in the host computers synchronize a plurality of hardware clocks in the virtual clock domain, and the VMs obtain a plurality of hardware timestamp values from the plurality of hardware clocks” [Hubbe ¶ 7]. allocating one or more clocks of the pool of clocks to client containers in the one or more containers or to client virtual machines of the one or more virtual machines, “FIG. 2 is a high-level diagram illustrating a mapping between virtual clock domains (vCDs), clock domains (CDs), and hardware clocks according to some aspects” [Hubbe ¶ 13]. “The method can include maintaining a plurality of clock domains on a plurality of hardware clocks in a plurality of network interface cards (NICs) installed in a plurality of host computers … the NICs are configured to associate the clock domain identifiers with a plurality of virtual clock domain identifiers that identify a plurality of virtual clock domains, and a plurality of virtual machines (VMs) running on the host computers obtain hardware timestamp values from the NICs via the virtual clock domain identifiers” [Hubbe ¶ 5]. “In some implementations of the methods and devices, the VM and the clock domain identifier are associated with a virtual clock domain identifier, the virtual clock domain identifier identifies a virtual clock domain of the VM” [Hubbe ¶ 7]. thereby obtaining allocated clocks allocated to the client containers or the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein each of the allocated clocks provides a time signal in a time domain to at least one of the client containers or to at least one of the client virtual machines; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein the time signal in a time domain is based on a respective allocated hardware clock or software clock “The vCD access point can be configured with a vCD identifier 704 that identifies the vCD associated with the VM. In this manner, the VM can use the vCD to read a HW clock. For example, the VM may be one of a group of VMs implementing a tenant's workload that is synchronized via the vCD” [Hubbe ¶ 67]. …and handling the time system calls based on an allocated clock; “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. wherein a clock of the pool of clocks is allocated to at least two client containers or to at least two client virtual machines or to at least one client container and at least one client virtual machine. “A tenant's VMs can use a vCD that is dedicated to that particular tenant. The vCDs can map to CDs within a LAN such that VMs on different LANs can access the same vCD and receive time values or timestamps provided by local clocks. The local clocks within a LAN or a server can be assigned to a vCD such that they are synchronized across the data center to other local clocks assigned to the same vCD” [Hubbe ¶ 35]. Hubbe fails to explicitly teach and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. However, Ridoux teaches: and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; “Additionally or alternatively, the isolated timing hardware 20 may provide access to the hardware clock 24 via a virtualized hardware clock 34 of the instance 116. Similarly to a virtualized network device 32, the virtualized hardware clock 34 can represent software executing on the host computing device 115 that appears, from the point of view of the instance 116, to represent hardware. For example, the virtualized hardware clock 34 may be represented in a Unix-like operating system of the instance 116 as a device (e.g., "/dev/phc")” [Ridoux Col. 14 Lines 11-20]. or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls “Accordingly, network communications from the instance 116 may traverse the isolated timing hardware 20 prior to transmission on the network 104. In the case of queries to the time server 22, the hardware 20 may intercept such transmission and provide a response, thus foregoing transmission on the network 104” [Ridoux Col. 14 Lines 1-6]. Ridoux is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe to incorporate the teachings of Ridoux and include and wherein the allocated hardware or software clock is provided as a device inside a client container or a client virtual machine; or wherein the time signal in a time domain is provided by using a software library providing an application programming interface for requesting time signals, the use of the software library involving a communication with the allocated clocks; or wherein the time signal in a time domain is provided intercepting time system calls. Doing so would allow for applications to have local clock access. “However, unlike traditional network protocols, the interactions occur locally rather than over a network. In combination with a highly accurate hardware clock 24, these interactions thus facilitate highly accurate synchronization of the system clock 14” [Ridoux Col. 19-20 Lines 65-67, 1-4]. Hubbe in view of Ridoux fails to teach and wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. However, Hu teaches and wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. “Another reason for dynamically changing a time domain may be as a result of a set of highly integrated applications (e.g., applications in a single application time domain) requesting a reconfiguration of their application time domain. In some cases, two different application time domains may desire to be synchronized and become a single application time domain. Using the disclosed sync router hardware based solution, a flexible method to allow switching to different time masters selected from multiple possible time masters may be provided (See FIG. 9)” [Hu ¶ 47]. Hu is considered to be analogous to the claimed invention because it is in the same field of generating or distributing clock signals. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Hubbe in view of Ridoux to incorporate the teachings of Hu and include wherein the allocation is based on a request to join a time domain requested by a client container or by a client virtual machine or by an application running thereon. Doing so would allow for further flexibility in the allocation of time domains to applications. “Applications working together may desire to utilize a consistent time domain that is controlled by the same master clock. The sync router provides the capability for each consumer of a time event to determine its appropriate master and provide for graceful failover in the event of system or communication failure” [Hu ¶ 51]. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARI F RIGGINS whose telephone number is (571)272-2772. The examiner can normally be reached Monday-Friday 7:00AM-4:30PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets can be reached at (571) 272-3338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /A.F.R./Examiner, Art Unit 2197 /BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Jul 06, 2023
Application Filed
Jan 22, 2026
Non-Final Rejection — §101, §103, §112 (current)

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
0%
Grant Probability
0%
With Interview (+0.0%)
3y 3m
Median Time to Grant
Low
PTA Risk
Based on 1 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month