Prosecution Insights
Last updated: October 02, 2026
Application No. 17/991,105

ORCHESTRATION AND SCHEDULING OF SERVICES

Final Rejection §101§103§112
Filed
Nov 21, 2022
Priority
Aug 14, 2019 — divisional of 11/537,446
Examiner
XU, ZUJIA
Art Unit
2195
Tech Center
2100 — Computer Architecture & Software
Assignee
Microsoft Technology Licensing, LLC
OA Round
2 (Final)
68%
Grant Probability
Favorable
3-4
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 68% — above average
68%
Career Allowance Rate
130 granted / 190 resolved
+13.4% vs TC avg
Strong +76% interview lift
Without
With
+75.7%
Interview Lift
resolved cases with interview
Typical timeline
3y 4m
Avg Prosecution
23 currently pending
Career history
207
Total Applications
across all art units

Statute-Specific Performance

§101
14.8%
-25.2% vs TC avg
§103
47.3%
+7.3% vs TC avg
§102
2.5%
-37.5% vs TC avg
§112
31.3%
-8.7% vs TC avg
Black line = Tech Center average estimate • Based on career data from 190 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 Applicant’s Amendment and Remarks filed on 11 May 2026. Claims 21-29, 31-39 and 41-42 are pending in this application. Claims 1-20, 30 and 40 were cancelled. Claims 41 and 42 are newly added. 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 21-29 and 31-39 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more. Claim 21 is rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. Step 1, Statutory Category: Yes, the claim 21 is a method that recites a series of steps and therefore falls in the statutory category of a process. Step 2A- Prong 1: Judicial Exception Recited: Yes, the claim recites: “evaluating execution logs for an application having a plurality of services to identify at least two different critical paths of the application; selecting, from the at least two different critical paths, a statistical critical path for the application based at least on frequency of occurrence of the different critical paths in the execution logs; and scheduling individual services of the plurality of services of the application for execution on computing resources based at least on whether the individual services occur on the statistical critical path.” As drafted, the claim as a whole recites a method including steps that could be performed in the human mind, but for the recitation of generic computing components. The human mind can easily judging/evaluating execution logs for an application having a plurality of services to identify at least two different critical paths of the application, identifying/determining/selecting from the at least two different critical paths, a statistical critical path, for the application based at least on frequency of occurrence of the different critical paths in the execution logs, and scheduling/assigning individual services of the plurality of services of the application for execution based at least on whether the individual services occur on the statistical critical path. Therefore, but for the recitation of generic computing components, these steps may be a Mental Processes that can be performed in the human mind (including an observation, evaluation, judgment, opinion). Therefore, yes, the claims do recite judicial exceptions. Step 2A- Prong 2: Integrated into a practical Application: No, this judicial exception is not integrated into a practical application. In particular, the claim recites an additional limitations that “computing device”, “wherein corresponding latencies of the at least two different critical paths determine overall latency of the application during different previous executions of the application” and “wherein the execution logs identify at least one other critical path of the application other than the statistical critical path and latency of the statistical critical path determines overall latency of the application more frequently than latency of the at least one other critical path” and “wherein the scheduling involves scheduling first services that are on the statistical critical path on a first computing resource and scheduling a second service that is not on the statistical critical path on a second computing resource” which are directed to Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a generic computer as a tool to perform an abstract idea (see MPEP 2106.05(f)). In addition, “executing the individual services on the computing resources according to the scheduling” which is merely applying the judicial exception or abstract idea (See MPEP 2106.05(f)). The claim does not define any particular machine to “executing the individual services,” other than a generic machine such as the “computing resources,” and no details what so ever on how the claimed function will occur. Accordingly, even in combination, these additional elements do not integrate the abstract idea into a practical application because they not impose any meaningful limits on practicing the abstract idea. Therefore, the claim is directed to the abstract idea. Step 2B: Claim provides an Inventive Concept: No. The additional element that “computing device”, “wherein corresponding latencies of the at least two different critical paths determine overall latency of the application during different previous executions of the application” and “wherein the execution logs identify at least one other critical path of the application other than the statistical critical path and latency of the statistical critical path determines overall latency of the application more frequently than latency of the at least one other critical path” and “wherein the scheduling involves scheduling first services that are on the statistical critical path on a first computing resource and scheduling a second service that is not on the statistical critical path on a second computing resource” which are directed to adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a generic computer as a tool to perform an abstract idea (see MPEP 2106.05(f)). In addition, “executing the individual services on the computing resources according to the scheduling” which is merely applying the judicial exception or abstract idea (See MPEP 2106.05(f)) The claim does not define any particular machine to “executing the individual services,” other than a generic machine such as the “computing resources,” and no details what so ever on how the claimed function will occur. These additional elements and combination of the elements does not amount to significant more than the exception itself or provide an inventive concept in Step 2B. For these reasons, there is no inventive concept in the claim, and thus the claim is ineligible. Independent claims 27 and 35 are rejected for the same reason as claim 1 above. Claim 27 further recites “A system comprising: a processing unit; and a computer-readable storage medium storing computer-readable instructions which, when executed by the processing unit, cause the system to”. Claim 35 further recites “A computer-readable storage media storing executable instructions which, when executed by a processing unit, cause the processing unit to perform acts comprising”. These additional elements are directed to generic computing components/functions (MPEP § 2106.05(b) merely applying the abstract idea (MPEP § 2106.05(f)). With respect to the dependent claim 22, the claim elaborates that wherein the scheduling comprises assigning scheduling priorities to threads allocated to the individual services based at least on whether the individual services are on the statistical critical path (“assigning scheduling priorities” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind. Further, the claim as a whole is a Mental Processes that can be performed in the human mind (including an observation, evaluation, judgment, opinion)). With respect to the dependent claim 23, the claim elaborates that wherein the scheduling comprises: assigning higher scheduling priorities to the first services that occur on the statistical critical path than one or more other services that do not occur on the statistical critical path (“assigning higher scheduling priorities” as being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind. Further, the claim as a whole is a Mental Processes that can be performed in the human mind (including an observation, evaluation, judgment, opinion)). With respect to the dependent claim 24, the claim elaborates that determining respective time distances of the one or more other services from the statistical critical path; and assigning scheduling priorities to the one or more other services that do not occur on the statistical critical path based at least on the respective time distances of the one or more other services from the statistical critical path. (“determining” and “assigning scheduling priorities” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind. Further, the claim as a whole is a Mental Processes that can be performed in the human mind (including an observation, evaluation, judgment, opinion)). With respect to the dependent claim 25, the claim elaborates that wherein determining the respective time distances of the one or more other services from the statistical critical path comprises: based at least on previous execution times of the one or more other services, determining the respective time distances as respective latencies that would have resulted in the one or more other services appearing in the statistical critical path (“determining the respective time distances” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind. Further, the claim as a whole is a Mental Processes that can be performed in the human mind (including an observation, evaluation, judgment, opinion)). With respect to the dependent claim 26, the claim elaborates that wherein the first computing resource comprises a first process executing on a first machine and the second computing resource comprises a second process executing on a second machine (these limitations are directed to Adding the words “apply it” (or an equivalent) with the judicial exception, or mere instructions to implement an abstract idea on a computer, or merely uses a computer as a tool to perform an abstract idea (see MPEP 2106.05(f)). With respect to the dependent claim 28, the claim elaborates that wherein the computer-readable instructions, when executed by the processing unit, cause the system to: access a dependency graph of the application; and assign scheduling priorities to the individual services based at least on distances of the individual services from a root node of the dependency graph (“access a dependency graph of the application” which is insignificant pre-solution data gathering (see MPEP § 2106.05(g)). And “assign scheduling priorities” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 29, the claim elaborates that wherein the computer-readable instructions, when executed by the processing unit, cause the system to: identify at least two different services in a particular layer of the dependency graph; and assign a higher scheduling priority to a particular first service in the particular layer that occurs on the statistical critical path and a lower scheduling priority to another service in the particular layer that does not occur on the statistical critical path (“identify at least two different services”, “assign a higher scheduling priority…” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 31, the claim elaborates that schedule the individual services responsive to determining that input data is ready for the individual services (“scheduling” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 32, the claim elaborates that schedule other services that are not on the statistical critical path based at least on how frequently the other services occur in the other critical paths of the application (“schedule…” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 33, the claim elaborates that schedule other services that are not on the statistical critical path based at least on temporal distances of the other services from the statistical critical path of the application (“schedule…” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 34, the claim elaborates that wherein the individual services are scheduled to run on at least two different computing clusters, the first service that is on the statistical critical path executes on a first computing cluster, and the second service that is not on the statistical critical path executes on a second computing cluster. (“scheduled to run on at least two different computing clusters…” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 36, the claim elaborates that wherein the scheduling the individual services is further based at least on where the individual services occur in a dependency graph of the application. (“scheduling the individual services is further based at least on where the individual services occur in a dependency graph of the application” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 37, the claim elaborates that wherein the scheduling the individual services is further based at least on distances of the individual services from a root node of the dependency graph (“wherein the scheduling the individual services is further based at least on proximity of the individual services to a root node of the dependency graph” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 38, the claim elaborates that wherein the scheduling the individual services comprises determining temporal distances of the individual services from the statistical critical path and scheduling the individual services based at least on the temporal distances (“determining temporal distances of the individual services… and scheduling” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). With respect to the dependent claim 39, the claim elaborates that wherein scheduling the individual services is based at least on an expected resource conflict (“wherein scheduling the individual services is based at least on an expected resource conflict” are being treated as part of abstract idea and is analogous to Mental processes, such that concept can be performed in the human mind). Claim Rejections - 35 USC § 112 The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. Claims 21-29, 31-39 and 41-42 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claims 21, 27 and 35 contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for pre-AIA the inventor(s), at the time the application was filed, had possession of the claimed invention. Because the specification fails to disclose how to select, from the at least two different critical paths, a statistical critical path for the application based at least on frequency of occurrence of the different critical paths in the execution logs. More specifically, in claims 21 (lines 8-9), 27 and 35 it recites “selecting from the at least two different critical paths, a statistical critical path for the application based at least on frequency of occurrence of the different critical paths in the execution logs”. Paragraph [0051] of specification discloses “Statistical analysis may be performed over the execution logs to determine the "statistical critical path," e.g., a path that is the critical path in more executions of the application than any other path. Another approach to identifying the statistical critical path is to consider only those executions where an SLA-specified latency is exceeded, and identify the most-frequently occurring critical path in those executions”; Paragraph [0053] of specification discloses “closer to the statistical critical path can be preferentially placed in a given process/machine with the edges on the statistical critical path. Likewise, edges further away from the statistical critical path can be preferentially selected for orchestration in a separate process or machine that includes only edges that are not on the statistical critical path” such embodiment is related to identifying the statistical critical path and edges further away from the statistical critical path can be preferentially selected. Whereas the limitation in claims 21 (lines 8-9), 27 and 35 is related to “selecting from the at least two different critical paths, a statistical critical path for the application based at least on frequency of occurrence of the different critical paths in the execution logs”. The specification does provide any details on how that statistical critical path is selected. That is, selecting a statistical critical path is NOT the same as identifying, selecting requires that statistical critical path need to be actually selected or picked, identifying just merely need to determine or identifying. Thus, the specification fails to disclose how to select, from the at least two different critical paths, a statistical critical path for the application based at least on frequency of occurrence of the different critical paths in the execution logs. Claims 22-26, 28-29, 31-34, 36-39 and 41-42, they are depending on claims 21, 27 and 35 and do not overcome the deficiencies thereof, therefore they are rejected for the same reason as claims 21, 27 and 35 above. 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 21, 27-28 and 35-37 are rejected under 35 U.S.C. 103 as being unpatentable over Chrysos et al. (US Patent. 6,549,930 B1) in view of Di Balsamo et al. (US Pub. 2018/0307532 A1) and further in view of Hofmann et al. (US Pub. 2009/0031155 A1) and Rakvic et al. (US Pub. 2007/0074217 A1). Chrysos, Balsamo and Rakvic were cited in the previous Office Action. As per claim 21, Chrysos teaches the invention substantially as claimed including A method performed on a computing device, the method comprising (Chrysos, Fig. 1, 100, Abstract, lines 1-3, A method is provided for scheduling execution of a plurality of threads executed in a multithreaded processor): evaluating execution logs for an application having a plurality of services to identify at least two different execution paths of the application, (Chrysos, Fig. 11, A to E, 1110, C to E 1111 (execution paths); Fig. 12, Path samples; Col 13, line 3, Branch history tables; Col 25, lines 1-2, recent execution history of the process can also aid in identifying the execution path; Col 24, line 41, Path samples for selected instructions are captured; Col 24, lines 55-60, the path samples (as execution logs) are used to perform a backward analysis of a control flow graph of the program. The analysis can identify execution paths that are consistent (1250) with the sampled data, and this information can be aggregated to identify frequently executed paths (as previous executions) (1260) which will benefit more from optimization); Col 15, line 13, execution of instructions; Col 16, lines 49-50, one application could profile a large number of instructions); identifying, from the at least two different execution paths, a statistical execution path for the application based at least on frequency of occurrence of the different execution paths in the execution logs, wherein the execution logs identify at least one other execution path of the application other than the statistical execution path and the statistical execution path more frequently than the at least one other execution path (Chrysos, Fig. 12, Path samples; Col 23, lines 54-57, Many compiler optimizations, such as trace scheduling and hot-cold optimization rely on knowing which execution paths are frequently taken through a program. These are called "hot" paths (as statistical execution path); Col 24, lines 55-60, the path samples (as execution logs) are used to perform a backward analysis of a control flow graph of the program. The analysis can identify execution paths that are consistent (1250) with the sampled data, and this information can be aggregated to identify frequently executed paths (as identifying statistical execution path based on frequency of occurrence of execution paths in the recent execution history) (1260) which will benefit more from optimization; lines 63-66, identify the path segments AE 1110, and ABCE (1101-1105) as possible paths. The best possible outcome exists when the static analysis is able to identify only a single path; Col 25 lines 1-2, recent execution history of the process can also aid in identifying the execution path). Chrysos fails to specifically teach execution paths are critical paths, wherein corresponding latencies of the at least two different critical paths determine overall latency of the application during different previous executions of the application, and latency of the at least one other critical path. However, Balsamo teaches execution paths are critical paths, wherein corresponding latencies of the at least two different critical paths determine overall latency of the application during different previous executions of the application, and latency of the at least one other critical path. (Balsamo, [0004] lines 1-7, these critical path methods identify critical paths in the workload plan as defined by the work units belonging to the longest paths to the workload plan's targets (according to expected durations of the work units estimated from their previous executions) (as including during different previous executions of the application). This information pertaining to the critical paths allows determining the impacts of any problems that may be experienced in the execution of the work unit; also see [0028] The workload scheduler 315 accesses (in read/write mode) a workload database 320, which stores service information for controlling the execution of the work units…The workload database 320 contains a work unit log, which stores the work unit historical information that has been collected during the previous executions of the work units. Particularly, for each work unit the work unit historical information comprises the results of each execution server's previous executions (i.e., completed or failed) and the actual durations of its completed previous executions. The workload database 320 contains statistical information of the work units. Particularly, for each work unit the statistical information indicates an expected duration of the work unit (for example, estimated from the previous durations of the work unit). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos with Balsamo because Balsamo’s teaching of identifying the different critical paths during the multiple previous executions would have provided Chrysos’s system with the advantage and capability to allow the system to determining the impacts of any problems that may be experienced in the execution of the work unit which improving the system performance and efficiency (see Balsamo, [0004]). Chrysos and Balsamo fail to specifically teach when identifying, it is selecting from the at least two different critical paths, a statistical critical path for the application. However, Hofmann teaches selecting, from the at least two different critical paths, a critical path for the application (Hofmann, Abstract, A critical path is selected from a plurality of critical paths for analysis on emulation logic to determine an attribute of the selected critical path during on chip functional operations. The selected critical path is representative of the worst case critical path to be in operation during a program execution; [0007] A critical path is selected from a plurality of critical paths for analysis on emulation logic to determine an attribute of the selected critical path during on-chip functional operations, wherein the selected critical path is representative of the worst case critical path to be in operation during a program execution). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos and Balsamo with Hofmann because Hofmann’s teaching of selecting a critical path from the at least two different critical paths based on its worst case would have provided Chrysos and Balsamo’s system with the advantage and capability to allow the system to optimizing the operation of the application program based on selected worst critical path which improving the system performance and efficiency. Although, Chrysos, Balsamo and Hofmann teach the a statistical execution path for the application based at least on frequency of occurrence and critical path, Chrysos, Balsamo and Hofmann fail to specifically teach that statistical execution path is statistical critical path, and latency of the statistical critical path determines overall latency of the application, and scheduling individual services of the plurality of services of the application for execution on computing resources based at least on whether the individual services occur on the statistical critical path, and executing the individual services on the computing resources according to the scheduling, wherein the scheduling involves scheduling first services that are on the statistical critical path on a first computing resource and scheduling a second service that is not on the statistical critical path on a second computing resource. However, Rakvic teaches statistical execution path is statistical critical path, and latency of the statistical critical path determines overall latency of the application (Rakvic, Fig. 8, 820 (as statistical critical path); [0077] lines 1-4, FIG. 8 illustrates that at least one embodiment of the TSDG 800 may identify the system critical path of the program. The system critical path is the path in the program having the longest latency (as overall latency of the application). Any thread on that path is critical to the performance of the program and should therefore be scheduled with a higher priority, if possible); and scheduling individual services of the plurality of services of the application for execution on computing resources based at least on whether the individual services occur on the statistical critical path (Rakvic, [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes (as individual services of the plurality of services of the application) whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds; [0083] a shred scheduler 450 may improve performance by prioritizing critical shreds. For a scheduler on a symmetric multi-sequencer system, the optimization may involve simply scheduling critical shreds with a higher priority. For an asymmetric multi-sequencer system, the optimization may, for example, involve scheduling critical shreds on faster and/or more powerful sequencers (As computing resources) In general, the scheduler may utilize system critical path information to reduce latency of the system critical path in order to reduce overall program latency; [0087] The scheduler 450 may schedule such non-critical shreds on down-throttled sequencers;). executing the individual services on the computing resources according to the scheduling, wherein the scheduling involves scheduling first services that are on the statistical critical path on a first computing resource and scheduling a second service that is not on the statistical critical path on a second computing resource (Rakvic, [0039] a thread unit, also interchangeably referred to herein as a "sequencer", may be any physical or logical unit capable of executing a thread or shred; [0083] a shred scheduler 450 may improve performance by prioritizing critical shreds. For a scheduler on a symmetric multi-sequencer system, the optimization may involve simply scheduling critical shreds with a higher priority. For an asymmetric multi-sequencer system, the optimization may, for example, involve scheduling critical shreds on faster and/or more powerful sequencers (as computing resources) In general, the scheduler may utilize system critical path information to reduce latency of the system critical path in order to reduce overall program latency; [0087] The scheduler 450 may schedule such non-critical shreds on down-throttled sequencers; [Examiner noted: the fast and more powerful sequencers (as first computing resource) that is scheduled for executing the critical shreds (as fist services), and other non-critical path shreds are executing with just normal sequencers (As second computing resource); see Fig. 4, 403 sequencer 0 and 404 sequencer 1]). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo and Hofmann with Rakvic because Rakvic’s teaching of assigning higher priority to the thread/tasks/shreds on the critical path would have provided Chrysos, Balsamo and Hofmann’s system with the advantage and capability to allow the system to prioritizing the execution of the operations that having longest execution time in order to improving the system efficiency and reducing the overall application latency (see Rakvic, [0083] “reduce overall program latency”). As per claim 27, it is a system claim of claim 21 above, therefore, it is rejected for the same reason as claim 21 above. In addition, Chrysos further teaches a processing unit; and a computer-readable storage medium storing computer-readable instructions which, when executed by the processing unit, cause the system to (Chrysos, Claim 6, A computer-readable medium having computer-executable instructions for performing a method of scheduling two or more of a plurality of threads for execution on a multithreaded processor). As per claim 28, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 27 above. Rakvic further teaches access a dependency graph of the application; and assign scheduling priorities to the individual services based at least on distances of the individual services from a root node of the dependency graph (Rakvic, Fig. 7, X; Fig. 8, 800 dependency graph of the application, 820 system critical path, node 4.0, node 8.0, node 8.1, node 8.2 with respective 1381, 1393, 1406, 1410 (as distances of the individual services from a root node of the dependency graph); [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes (as individual services of the application) whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds; [0070] lines 1-7, in addition to monitoring program behavior, may analyze, characterize and record certain aspects of the execution history. For at least one embodiment, these aspects of the execution history may be recorded in the form of either or both of a shred dependency graph 600 and/or a time-stamped shred dependency graph 604; [0073] lines 1-3, The label on each of these four edges shown in FIG. 7 represents the latency (as time distance); [0074] lines 1-7, the TSDG 604 shown therein further extends the information of a SDG 600 with chronological information about dynamic shred execution. In particular, the TSDG 604 may incorporate a variety of weight metrics relevant to shred scheduling and execution, such as the timing of the shred dependencies. In the TSDG 604, the nodes represent the dynamic instances of scheduled shreds and the edge-labels represent the time at which an event indicating a dependency occurred). As per claim 35, it is a computer-readable storage medium claim of claim 21 above. Therefore, it is rejected for the same reason as claim 21 above. As per claim 36, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 35 above. Rakvic further teaches wherein the scheduling the individual services is further based at least on where the individual services occur in a dependency graph of the application (Rakvic, [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes (as individual services of the application) whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds (as where the individual services occur in a dependency graph of the application, i.e., in path or not in path)). As per claim 37, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 36 above. Rakvic further teaches wherein the scheduling the individual services is further based at least on distances of the individual services from a root node of the dependency graph (Rakvic, Fig. 8, 820 (as statistical critical path); [0077] lines 1-4, FIG. 8 illustrates that at least one embodiment of the TSDG 800 may identify the system critical path of the program. The system critical path is the path in the program having the longest latency. Any thread on that path is critical to the performance of the program and should therefore be scheduled with a higher priority, if possible; Fig. 7, X; Fig. 8, 820 system critical path, node 4.0, node 8.0, node 8.1, node 8.2 with respective 1381, 1393, 1406, 1410 (as distance of the one or more other services from the statistical critical path); [0073] The labels on the return edges represent the execution latencies; [0078] lines 1-8, identify which shreds are on the system critical path with the information provided by the TSDG 800. The system critical path 820 may be easily identified by starting at the node of the TSDG 800 that has the largest time value (representing the latest node) and traversing upwards to the root of the TSDG 800. FIG. 8 illustrates that node 8.2 is the latest node and that shreds 4 (node 4.0) and 8 (nodes 8.0, 8.1, 8.2) are on the system critical path 820 [Examiner noted: the time value for each node is determined, therefore, the total distance/time is determined, see Fig. 7; and Fig. 8]). Claims 22-23 are rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann and Rakvic, as applied to claim 21 above, and further in view of Ismail et al. (US Pub. 2019/0042523 A1). Ismail was cited in the previous Office Action. As per claim 22, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 21 above. Rakvic teaches wherein the scheduling comprises assigning scheduling priorities based at least on whether the individual services are on the statistical critical path (Rakvic, [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes (as individual services of the plurality of services of the application) whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds; [0083] a shred scheduler 450 may improve performance by prioritizing critical shreds. For a scheduler on a symmetric multi-sequencer system, the optimization may involve simply scheduling critical shreds with a higher priority. For an asymmetric multi-sequencer system, the optimization may, for example, involve scheduling critical shreds on faster and/or more powerful sequencers (As computing resources) In general, the scheduler may utilize system critical path information to reduce latency of the system critical path in order to reduce overall program latency). Chrysos, Balsamo, Hofmann and Rakvic fail to specifically teach wherein the scheduling comprises assigning scheduling priorities to threads allocated to the individual services. However, Ismail teaches wherein the scheduling comprises assigning scheduling priorities to threads allocated to the individual services (Ismail, [0077] lines 16-24, the operating system (OS) may assign a priority to the thread or task, which the circuitry 120 may consider while allocating bandwidth. Merely as an example, if a first thread or task is associated with operations of the OS and a second thread or task is associated with transferring a movie from a USB flash storage to a hard drive, the OS may assign a relatively higher priority to the first thread or task). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann and Rakvic with Ismail because Ismail’s teaching of assigning a priority to the thread for execution the operations would have provided Chrysos, Balsamo, Hofmann and Rakvic’s system with the advantage and capability to allow the system to execute the importance operations based on the priority which improving the system efficiency. As per claim 23, Chrysos, Balsamo, Hofmann, Rakvic and Ismail teach the invention according to claim 22 above. Rakvic further teaches wherein the scheduling comprises: assigning higher scheduling priorities to the first services that occur on the statistical critical path than one or more other services that do not occur on the statistical critical path (Rakvic, [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes (as individual services of the application) whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds). Claims 24-25 are rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann, Rakvic and Ismail, as applied to claim 23 above, and further in view of COMEAU et al. (US Pub. 2013/0055275 A1). COMEAU was cited in the previous Office Action. As per claim 24, Chrysos, Balsamo, Hofmann, Rakvic and Ismail teach the invention according to claim 23 above. Rakvic further teaches determining respective time distances of the one or more other services from the statistical critical path (Rakvic, Fig. 7, X; Fig. 8, 820 system critical path, node 4.0, node 8.0, node 8.1, node 8.2 with respective 1381, 1393, 1406, 1410 (as distance of the one or more other services from the statistical critical path); [0073] The labels on the return edges represent the execution latencies; [0077] lines 1-4, FIG. 8 illustrates that at least one embodiment of the TSDG 800 may identify the system critical path of the program. The system critical path is the path in the program having the longest latency; [0078] lines 1-8, identify which shreds are on the system critical path with the information provided by the TSDG 800. The system critical path 820 may be easily identified by starting at the node of the TSDG 800 that has the largest time value (representing the latest node) and traversing upwards to the root of the TSDG 800. FIG. 8 illustrates that node 8.2 is the latest node and that shreds 4 (node 4.0) and 8 (nodes 8.0, 8.1, 8.2) are on the system critical path 820 [Examiner noted: the time value for each node is determined, therefore, the total distance/time is determined, see Fig. 7; and Fig. 8]). assigning scheduling priorities to the one or more other services that do not occur on the statistical critical path (Rakvic, [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds (since the priorities for critical shreds changes, the original priority of non-critical shreds does not applies, and therefore changes)). Chrysos, Balsamo, Hofmann, Rakvic and Ismail fail to specifically teach when assigning scheduling priority, it is based at least on the respective time distances of the one or more other services from the statistical critical path. However, COMEAU teaches when assigning scheduling priority, it is based at least on the respective time distances of the one or more other services from the statistical critical path (COMEAU, Fig. 3, assign a priority to the task based on the evaluation of the parameter; claim 3, wherein a longer distance (time distance taught by Rakvic) results in a higher priority being assigned to the task). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann, Rakvic and Ismail with COMEAU because COMEAU’s teaching of assign a priority to the task based on distance would have provided Chrysos, Balsamo, Hofmann, Rakvic and Ismail’s system with the advantage and capability to allow the system to scheduling the tasks based on distance related to each other which improving the system efficiency and performance. As per claim 25, Chrysos, Balsamo, Rakvic, Ismail and COMEAU teach the invention according to claim 24 above. Rakvic further teaches wherein determining the respective time distances of the one or more other services from the statistical critical path comprises: based at least on previous execution times of the one or more other services, determining the respective time distances as respective latencies that would have resulted the one or more other services appearing in the statistical critical path (Rakvic, Fig. 7, X; Fig. 8, 820 system critical path, node 4.0, node 8.0, node 8.1, node 8.2 with respective 1381, 1393, 1406, 1410 (as distance of the one or more other services from the statistical critical path); [0069] lines 3-4, monitors behavior of a shredded program 602, and in particular, monitors thread execution history of the shredded program 602; [0070] lines 1-7, in addition to monitoring program behavior, may analyze, characterize and record certain aspects of the execution history. For at least one embodiment, these aspects of the execution history may be recorded in the form of either or both of a shred dependency graph 600 and/or a time-stamped shred dependency graph 604 (as previous execution times); [0074] lines 1-7, the TSDG 604 shown therein further extends the information of a SDG 600 with chronological information about dynamic shred execution. In particular, the TSDG 604 may incorporate a variety of weight metrics relevant to shred scheduling and execution, such as the timing of the shred dependencies. In the TSDG 604, the nodes represent the dynamic instances of scheduled shreds and the edge-labels represent the time at which an event indicating a dependency occurred (as respective distances as respective amounts of time); [0073] The labels on the return edges represent the execution latencies; [0077] lines 1-4, FIG. 8 illustrates that at least one embodiment of the TSDG 800 may identify the system critical path of the program. The system critical path is the path in the program having the longest latency; [0078] lines 1-8, identify which shreds are on the system critical path with the information provided by the TSDG 800. The system critical path 820 may be easily identified by starting at the node of the TSDG 800 that has the largest time value (representing the latest node) and traversing upwards to the root of the TSDG 800. FIG. 8 illustrates that node 8.2 is the latest node and that shreds 4 (node 4.0) and 8 (nodes 8.0, 8.1, 8.2) are on the system critical path 820 [Examiner noted: determining the respective time distances as respective latencies that the one or more other services would have appearing (i.e. the time/latency between each node/servers are determined) before appearing in the statistical critical path)]). Claims 26 and 41-42 are rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann and Rakvic, as applied to claim 21 above, and further in view of Chaliparambil et al. (US Pub. 2015/0188989 A1). As per claim 26, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 21 above. Chrysos, Balsamo, Hofmann and Rakvic fail to specifically teach wherein the first computing resource comprises a first process executing on a first machine and the second computing resource comprises a second process executing on a second machine. However, Chaliparambil teaches wherein the first computing resource comprises a first process executing on a first machine and the second computing resource comprises a second process executing on a second machine (Chaliparambil, Fig. 3, 301 as first machine, 305 as second machine, [0034] The scheduler then deletes the VM instances in the source subgroup 111A in the old cluster, thereby releasing the source nodes/cores available on the source subgroup. The scheduler will keep track of the jobs that fail during this process. 9) After source subgroup 111A is deactivated/deleted, the scheduler will deploy the updated target subgroup (e.g. 114A) on the target nodes 113. As shown in FIG. 3, roles A and B (302A and 302B, respectively) are migrated from the source nodes 301 to the target nodes 305, and are running the updated software (as process). Role C1 (e.g. a worker role) has been migrated to target subgroup 306C1, while roles C2 (302C2) and CK (302CK) remain running in the source nodes 301. While logical subgroups may be created in the target nodes 305 for roles C2 (306C2) and CK (306CK), no target or source nodes or services have been assigned to those roles. Nodes and services will be assigned once the corresponding subgroups 302C2 and 302CK have been deactivated and the execution of the services has been migrated to the new roles). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann and Rakvic with Chaliparambil because Chaliparambil’s teaching of migrating the task to a destination that running using updated software process would have provided Chrysos, Balsamo, Hofmann and Rakvic’s system with the advantage and capability to allow the system to optimizing the processing speed by utilizing the updated software process in order to improving the system performance and efficiency. As per claim 41, Chrysos, Balsamo, Hofmann, Rakvic and Chaliparambil teach the invention according to claim 26 above. Rakvic teaches migrating the second service responsive to a determination that the second process is not on the statistical critical path (Rakvic, [0083] a shred scheduler 450 may improve performance by prioritizing critical shreds. For a scheduler on a symmetric multi-sequencer system, the optimization may involve simply scheduling critical shreds with a higher priority. For an asymmetric multi-sequencer system, the optimization may, for example, involve scheduling critical shreds on faster and/or more powerful sequencers (as computing resources) In general, the scheduler may utilize system critical path information to reduce latency of the system critical path in order to reduce overall program latency; [0087] The scheduler 450 may schedule such non-critical shreds on down-throttled sequencers). In addition, Chaliparambil teaches migrating the second service from the first process on the first machine to the second process on the second machine (Chaliparambil, Fig. 3, 301 as first machine, 305 as second machine, [0034] The scheduler then deletes the VM instances in the source subgroup 111A in the old cluster, thereby releasing the source nodes/cores available on the source subgroup. The scheduler will keep track of the jobs that fail during this process. 9) After source subgroup 111A is deactivated/deleted, the scheduler will deploy the updated target subgroup (e.g. 114A) on the target nodes 113. As shown in FIG. 3, roles A and B (302A and 302B, respectively) are migrated from the source nodes 301 to the target nodes 305, and are running the updated software (as process). Role C1 (e.g. a worker role) has been migrated to target subgroup 306C1, while roles C2 (302C2) and CK (302CK) remain running in the source nodes 301. While logical subgroups may be created in the target nodes 305 for roles C2 (306C2) and CK (306CK), no target or source nodes or services have been assigned to those roles. Nodes and services will be assigned once the corresponding subgroups 302C2 and 302CK have been deactivated and the execution of the services has been migrated to the new roles). As per claim 42, Chrysos, Balsamo, Hofmann, Rakvic and Chaliparambil teach the invention according to claim 41 above. Rakvic teaches wherein the migrating is performed dynamically at runtime of the application (Rakvic, [0021] The shreds are instead scheduled by a feedback-driven scheduler that can dynamically adapt shred scheduling based on runtime feedback and prediction of inter-shred correlations.; [0105] After shred A is executed, data in the cache 1102 for sequencer 1122 is migrated to the cache 1104 for sequencer 1124 before shred B is executed. Similar data migration is also performed after execution of Shred B, such that data is migrated from cache 1104 to cache 1108 before Shred C is executed on sequencer 1128. Similarly, data is migrated from cache 1108 to cache 1106 before Shred D is executed on sequencer 1126). Claim 29 is rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann and Rakvic, as applied to claim 28 above, and further in view of Fan et al. (US Pub. 2012/0099587 A1). Fan was cited in the previous Office Action. As per claim 29, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 28 above. Rakvic further teaches assign a higher scheduling priority to a particular first service that occurs on the statistical critical path and a relatively lower scheduling priority to another service that does not occur on the statistical critical path (Rakvic, [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes (as individual services of the plurality of services of the application) whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds). Chrysos, Balsamo, Hofmann and Rakvic fail to specifically teach identify at least two different services in a particular layer of the dependency graph; and assign a higher scheduling priority to a particular first service in the particular layer and a relatively lower scheduling priority to another service in the particular layer. However, Fan teaches identify at least two different services in a particular layer of the dependency graph; and assign a higher scheduling priority to a particular first service in the particular layer and a relatively lower scheduling priority to another service in the particular layer. (Fan, [0054] lines 1-13, a network of communication apparatus in accordance with the fourth embodiment, each apparatus forming a node in the network, the network being in the form of a directed acyclic graph, DAG, comprises a plurality of ranks, at least one of said ranks comprising more than one node, wherein said message forwarding means in said apparatus in a rank comprising more than one node are each operable to concurrently attempt to forward a message on the basis of channel access governed by channel access timers; [0079] lines 1-4, he source at each DAG rank forwards the received packet to its parents using a selected link quality metric (such as SINR). This metric is used to assign different channel access priorities to the nodes at the same DAG rank. (as including assign a relatively higher scheduling priority to a particular service in the particular layer and a relatively lower scheduling priority to another service in the particular layer)). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann and Rakvic with Fan because Fan’s teaching of assigning the different priorities to the nodes within the same rank/layer of DAG would have provided Chrysos, Balsamo, Hofmann and Rakvic’s system with the advantage and capability to allow the system to scheduling the tasks based on priority at the same layer of the DAG in order to optimizing the processing speed and improving the system performance. Claims 31 and 33 are rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann and Rakvic, as applied to claim 27 above, and further in view of Eichenberger et al. (US Pub. 2009/0064152 A1). Eichenberger was cited in the previous Office Action. As per claim 31, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 27 above. Rakvic teaches schedule the individual services (Rakvic, [0082] lines 1-15, System Critical Path Scheduling. This optimization approach recognizes that certain nodes of the TSDG 604 are more critical to performance of the application program 602 than are other nodes. When performing the system critical path scheduling optimization, the hints generator 506 identifies the critical path-those nodes (as individual services of the plurality of services of the application) whose performance affects overall performance for the program 602. The system critical path through the TSDG 604 has the property that no other path in the program 602 has a longer latency. If these nodes take longer to execute, then overall performance of the program 602 is slowed. The hints generator 506 identifies all shreds on the critical path as "critical shreds" and provides a hint to indicate that the scheduler 450 should schedule such shreds with a higher priority than other, non-critical, shreds; [0087] The scheduler 450 may schedule such non-critical shreds on down-throttled sequencers). Chrysos, Balsamo, Hofmann and Rakvic fail to specifically teach schedule the individual services responsive to determining that input data is ready for the individual services. However, Eichenberger teaches schedule the individual services responsive to determining that input data is ready for the individual services (Eichenberger, Fig. 2, 200; [0006] lines 4 -15, identify a plurality of operations that are ready to be scheduled in the cycle, wherein the plurality of operations includes operations whose input are ready in the cycle, operations whose consumed resource are available in the cycle, and operations whose input are nearly ready to be scheduled, identify one operation of the plurality of operations that at least one of contributes to a critical path and uses a critical resource, assign priority to operations that alternate a resource usage pattern, assign the one operation to a current scheduling time and update available resources for current scheduling time). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann and Rakvic with Eichenberger because Eichenberger’s teaching of identifying the servers/node that having the input data is ready would have provided Chrysos, Balsamo, Hofmann and Rakvic’s system with the advantage and capability to allow the system to processing the tasks based on the input data is ready in order to improving the processing speed and system efficiency. As per claim 33, Chrysos, Balsamo, Hofmann, Rakvic and Eichenberger teach the invention according to claim 31 above. Rakvic further teaches schedule other services that are not on the statistical critical path based at least on temporal distances of the other services from the statistical critical path of the application (Rakvic, Fig. 7, X; Fig. 8, 820 system critical path, node 5.0, node 6.0, node 7.0, 1381, 1391, 1395 (as distance of the one or more other services from the critical path); [0077] lines 1-4, FIG. 8 illustrates that at least one embodiment of the TSDG 800 may identify the system critical path of the program. The system critical path is the path in the program having the longest latency; [0078] lines 1-8, identify which shreds are on the system critical path with the information provided by the TSDG 800. The system critical path 820 may be easily identified by starting at the node of the TSDG 800 that has the largest time value (representing the latest node) and traversing upwards to the root of the TSDG 800. FIG. 8 illustrates that node 8.2 is the latest node and that shreds 4 (node 4.0) and 8 (nodes 8.0, 8.1, 8.2) are on the system critical path 820 [Examiner noted: the time value for each node is determined, see Fig. 7 and Fig. 8]; also see [0087] The scheduler 450 may schedule such non-critical shreds on down-throttled sequencers). Claim 32 is rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann, Rakvic and Eichenberger, as applied to claim 31 above, and further in view of HUBER et al. (US Pub. 2012/0005657 A1). HUBER was cited in the previous Office Action. As per claim 32, Chrysos, Balsamo, Hofmann, Rakvic and Eichenberger teach the invention according to claim 31 above. Chrysos, Balsamo, Hofmann, Rakvic and Eichenberger fail to specifically teach schedule other services that are not on the statistical critical path based at least on how frequently the other services occur in the other critical paths of the application. However, HUBER teaches schedule other services that are not on the statistical critical path based at least on how frequently the other services occur in the other critical paths of the application (HUBER, [0039] lines 1-6, the most frequently used SET commands may be moved to the top (or at least in a higher execution priority) to allow for the shortest execution path. Each routine may be optimized for the applicable specific time interval window. Claim 18, a third executable portion for pursuant to modifying the ACS routine, ordering a filtering executing the frequently used instruction to move the frequently used instruction to the higher execution priority and move a less frequently used instruction to a lower execution priority of the modified ACS routine; please note: statistical critical path/ critical path of the application was taught by Chrysos, Balsamo, Hofmann, Rakvic). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann, Rakvic and Eichenberger with HUBER because HUBER’s teaching of assigning a higher priority to a command based on its frequently usage would have provided Chrysos, Balsamo, Hofmann, Rakvic and Eichenberger’s system with the advantage and capability to allow the system to processing the highly usage tasks first in order to improving the system performance and efficiency. Claim 34 is rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann and Rakvic, as applied to claim 27 above, and further in view of SU (US Pub. 2020/0293216 A1). As per claim 34, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 27 above. Chrysos, Balsamo, Hofmann and Rakvic fail to specifically teach wherein the individual services are scheduled to run on at least two different computing clusters, the first service that is on the statistical critical path executes on a first computing cluster, and the second service that is not on the statistical critical path executes on a second computing cluster. However, SU teaches wherein the individual services are scheduled to run on at least two different computing clusters, the first service that is on the statistical critical path executes on a first computing cluster, and the second service that is not on the statistical critical path executes on a second computing cluster (SU, Claim 31, obtaining a migration request associated with a cloud service hosted in a source cluster, the migration request comprising a scheduled migration time to migrate the cloud service from the source cluster to a target cluster, logic, executed by the processor, for migrating, based on the scheduled migration time and a migration priority order, disk data associated with an original instance of the cloud service to a disk associated with a new instance of the cloud service instantiated in the target cluster, and logic, executed by the processor, for configuring a data operation of the cloud service for a disk associated with the original instance as a data operation for the disk associated with the new instance; please note: first service that is on the statistical critical path executes was taught by Chrysos, Balsamo, Hofmann and Rakvic)). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann and Rakvic with SU because SU’s teaching of migrating from the source cluster to different cluster based on data operation of the cloud services would have provided Chrysos, Balsamo, Hofmann and Rakvic’s system with the advantage and capability to allow the system to re-adjusting cloud service distributions in order to improving the user experiences and system performance (see [0003]). Claim 38 is rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann and Rakvic, as applied to claim 37 above, and further in view of COMEAU et al. (US Pub. 2013/0055275 A1). COMEAU was cited in the previous Office Action. As per claim 38, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 37 above. Rakvic further teaches determining temporal distances of the individual services from the statistical critical path (Rakvic, Fig. 7, X; Fig. 8, 820 system critical path, node 5.0, node 6.0, node 7.0, 1381, 1391, 1395 (as distance of the one or more other services from the critical path); [0077] lines 1-4, FIG. 8 illustrates that at least one embodiment of the TSDG 800 may identify the system critical path of the program. The system critical path is the path in the program having the longest latency; [0078] lines 1-8, identify which shreds are on the system critical path with the information provided by the TSDG 800. The system critical path 820 may be easily identified by starting at the node of the TSDG 800 that has the largest time value (representing the latest node) and traversing upwards to the root of the TSDG 800. FIG. 8 illustrates that node 8.2 is the latest node and that shreds 4 (node 4.0) and 8 (nodes 8.0, 8.1, 8.2) are on the system critical path 820 [Examiner noted: the time value for each node is determined, therefore, the distance/time from the statistical critical path is determined, see Fig. 7 and Fig. 8]). Chrysos, Balsamo, Hofmann and Rakvic fail to specifically teach scheduling the individual services based at least on the temporal distances. However, COMEAU teaches scheduling the individual services based at least on the distances (COMEAU, Fig. 3, assign a priority to the task based on the evaluation of the parameter; claim 3, wherein a longer distance (time distance taught by Rakvic) results in a higher priority being assigned to the task). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann and Rakvic with COMEAU because COMEAU’s teaching of assign a priority to the task based on distance would have provided Chrysos, Balsamo, Hofmann and Rakvic’s system with the advantage and capability to allow the system to scheduling the tasks based on distance related to each other which improving the system efficiency and performance. Claim 39 is rejected under 35 U.S.C. 103 as being unpatentable over Chrysos, Balsamo, Hofmann and Rakvic, as applied to claim 37 above, and further in view of MOITA et al. (US Pub. 2021/0004263 A1). MOITA was cited in the previous Office Action. As per claim 39, Chrysos, Balsamo, Hofmann and Rakvic teach the invention according to claim 37 above. Chrysos, Balsamo, Hofmann and Rakvic fail to specifically teach wherein scheduling the individual services is based at least on an expected resource conflict. However, MOITA teaches wherein scheduling the individual services is based at least on an expected resource conflict (MOITA, Claim 8, selecting a list of nodes having no incoming directed edges from a graph comprising a plurality of nodes and one or more directed edges connecting out from parent nodes of the plurality of nodes into respective child nodes of the plurality of nodes, wherein the directed edges specify a dependency by the child nodes on the respective parent nodes, and wherein each node represents a task of the plurality of tasks, determining a next node from the list of nodes that minimizes resource conflicts with a previous node, and inserting the task of the plurality of tasks represented by the next node into the execution order). It would have been obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to have combined the teaching of Chrysos, Balsamo, Hofmann and Rakvic with MOITA because MOITA’s teaching of scheduling the node/tasks based on its resource conflicts would have provided Chrysos, Balsamo, Hofmann and Rakvic’s system with the advantage and capability to allow the system to minimizes resource conflicts between the nodes of the DAG in order to improving the system processing efficiency and performance. Response to Arguments Applicant’s arguments with respect to claims 21-29, 31-39 and 41-42 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to ZUJIA XU whose telephone number is (571)272-0954. The examiner can normally be reached M-F 9:30-5:30 EST. 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, Aimee J Li can be reached at (571) 272-4169. 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. /ZUJIA XU/Primary Examiner, Art Unit 2195
Read full office action

Prosecution Timeline

Nov 21, 2022
Application Filed
Feb 19, 2026
Non-Final Rejection mailed — §101, §103, §112
May 01, 2026
Examiner Interview Summary
May 01, 2026
Applicant Interview (Telephonic)
May 11, 2026
Response Filed
Aug 13, 2026
Final Rejection mailed — §101, §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12748620
DYNAMIC MEMORY POWER CAPPING WITH CRITICALITY AWARENESS
10y 0m to grant Granted Sep 29, 2026
Patent 12743313
PORTABLE PREDICTABLE EXECUTION OF SERVERLESS FUNCTIONS
5y 4m to grant Granted Sep 22, 2026
Patent 12743319
DISTRIBUTED CONTROL PLANE FOR REFORMATTING COMMUNICATION BETWEEN A CONTAINER ORCHESTRATION PLATFORM AND A DISTRIBUTED STORAGE ARCHITECTURE
4y 5m to grant Granted Sep 22, 2026
Patent 12743307
QUANTUM JOB SUBMISSION AND OPTIMIZATION FOR END-TO-END ALGORITHMS
4y 2m to grant Granted Sep 22, 2026
Patent 12743698
DYNAMIC AUTOSCALING OF SERVER RESOURCES USING INTELLIGENT DEMAND ANALYTIC SYSTEMS
4y 4m to grant Granted Sep 22, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
68%
Grant Probability
99%
With Interview (+75.7%)
3y 4m (~0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 190 resolved cases by this examiner. Grant probability derived from career allowance 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