DETAILED ACTION
The following Non-Final office action is in response to application 18/313,201 filed on 5/5/2023.
Status of Claims
Claims 1-20 are currently pending and have been rejected as follows.
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-20 are clearly drawn to at least one of the four categories of patent eligible subject matter recited in 35 U.S.C. 101 (method, system, and non-transitory computer readable storage medium). Claims 1-20 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 integrating the abstract idea into a practical application or amounting to significantly more than the abstract idea.
Regarding Step 1 of the 2019 Revised Patent Subject Matter Eligibility Guidance (‘2019 PEG”), Claims 1-7 are directed toward the statutory category of a process (reciting a “method”). Claims 8-14 are directed toward the statutory category of a machine (reciting a “system”). Claims 15-20 are directed toward the statutory category of an article of manufacturer (reciting a “non-transitory computer readable storage medium”).
Regarding Step 2A, prong 1 of the 2019 PEG, Claims 1, 8 and 15 are directed to an abstract idea by reciting determining a number of dependencies on corresponding calibrating objects for each of a plurality of benchmarks; generating a directed graph, wherein the directed graph is based on the plurality of benchmarks, the number of dependencies, and the corresponding calibrating objects; generating a directed acyclic graph from the directed graph, wherein groups of calibrating objects are nodes of the directed acyclic graph; assigning first-level groups of calibrating objects to compute resources, wherein the first-level groups of calibrating objects have no outside dependencies; recalibrating, …, the first-level groups of calibrating objects; and assigning second-level groups of calibrating objects to the compute resources, wherein each of the second-level groups of calibrating objects has an outside dependency on a one of the calibrating objects in one of the first-level groups of calibrating objects (Example Claim 1).
The claims are considered abstract because these steps recite mathematical concepts like mathematical relationships; and mental processes like concepts performed in the human mind (including an observation, evaluation, judgment, opinion). The claims recite steps for determining dependencies, creating a directed graph and organizing nodes by dependency, and recalibrating calibrating objects, which are mathematical concepts and include steps also reciting mental processes. It is understood that the claimed steps aim to provide a method for managing dependencies among benchmarks and calibrating objects for organizations that utilize thousands of interrelated calibrating objects (Applicant’s Specification, [0002]). By this evidence, the claims recite a type of mathematical relationships; and mental processes common to judicial exception to patent-eligibility. By preponderance, the claims recite an abstract idea (e.g., a “system and method” for managing benchmark and object dependencies).
Regarding Step 2A, prong 2 of the 2019 PEG, the judicial exception is not integrated into a practical application because the claims (the judicial exception and the additional elements such as at least one computer including a processor; compute resources) are not an improvement to a computer or a technology, the claims do not apply the judicial exception with a particular machine, the claims do not effect a transformation or reduction of a particular article to a different state or thing nor do the claims apply the judicial exception in some other meaningful way beyond generally linking the use of the judicial exception to a particular technological environment such that the claims as a whole is more than a drafting effort designed to monopolize the exception (see MPEP §§ 2106.05(a-c, e)).
Dependent claims 2-7, 9-14, and 16-20 do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the limitations recite 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).
Regarding Step 2B of the 2019 PEG, the additional elements have been considered above in Step 2A Prong 2. The claim limitations do not amount to significantly more than the judicial exception because they are directed to limitations referenced in MPEP 2106.05I.A. that are not enough to qualify as significantly more when recited in a claim with an abstract idea because the limitations recite 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).
Applicant's claims mimic conventional, routine, and generic computing by their similarity to other concepts already deemed routine, generic, and conventional [Berkheimer Memorandum, Page 4, item 2] by the following [MPEP § 2106.05(d) Part (II)]. The claims recite steps like: “Receiving or transmitting data over a network, e.g., using the Internet to gather data,” Symantec, “Performing repetitive calculations,” Flook, and “storing and retrieving information in memory,” Versata Dev. Group, Inc. v. SAP Am., Inc. (citations omitted), by performing steps of “determining” a number of dependencies, “generating” a directed graph, “generating” a directed acyclic graph, “assigning” first-level groups, “recalibrating” the first-level groups, and “assigning” second-level groups (Example Claim 1).
By the above, the claimed computing “call[s] for performance of the claimed information collection, analysis, and display functions ‘on a set of generic computer components' and display devices” [Elec. Power Group, 830 F.3d at 1355] operating in a “normal, expected manner” [DDR Holdings, LLC v. Hotels.com, L.P., 773 F.3d at 1245, 1258 (Fed. Cir. 2014)].
Conclusively, Applicant's invention is patent-ineligible. When viewed both individually and as a whole, Claims 1-20 are directed toward an abstract idea without integration into a practical application and lacking an inventive concept.
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-20 are rejected under 35 USC 103 as being unpatentable over the teachings of
Rastogi, US 20150026691 A1, hereinafter Rastogi, in view of
Qin et al., US 20140143110 A1, hereinafter Qin. As per,
Claims 1, 8, 15
Rastogi teaches
A method comprising: /
A system comprising at least one computer including a processor, wherein the at least one computer is configured to: /
A non-transitory computer readable storage medium, including instructions stored thereon, which instructions, when read and executed by one or more computer processors, cause the one or more computer processors to perform steps comprising:
determining a number of dependencies on corresponding calibrating objects for each of a plurality of benchmarks; (Rastogi [0041] “Task data may specify any number of prerequisites (e.g., a parent task) or no prerequisites” note the tasks corresponding to benchmarks and the prerequisites corresponding to the dependencies)
generating a directed graph, wherein the directed graph is based on the plurality of benchmarks, the number of dependencies, and the corresponding calibrating objects; (Rastogi [0045] “When adding tasks to the dependency model (e.g., a dependency graph), DGTaskExecutor may use a lightweight algorithm to evaluate static prerequisites. When a task is added, DGTaskExecutor evaluates all of the new "static" prerequisite tasks to be added to expand the graph represented by this task and discover the set of previously unknown tasks that also need to be registered into the dependency model. This new set of tasks may then be sorted (e.g., by DGTaskExecutor) via topological sort so that the least dependent task will be added to the dependency model first.” Note the creation of the dependency model/graph corresponding to the directed graph)
[…];
assigning first-level groups of calibrating objects to compute resources, wherein the first-level groups of calibrating objects have no outside dependencies; (Rastogi [0030] “one or more of the DGTaskExecutor threads may select (e.g., configure a processor or other data processing resource to select) the highest priority task that can be executed. Tasks may be considered executable once all of their prerequisites have been completed.” Note the highest priority task with no outstanding perquisite assigned to a processing resource)
recalibrating, by the compute resources, the first-level groups of calibrating objects; and (Rastogi [0030] “Once a thread has selected a task, the task may then be executed by the thread (e.g., using a processor configured by the thread) and the task may be no longer considered as executable.” Note the executing of the task corresponding to the recalibrating of the first-level groups of calibrating objects)
assigning second-level groups of calibrating objects to the compute resources, wherein each of the second-level groups of calibrating objects has an outside dependency on a one of the calibrating objects in one of the first-level groups of calibrating objects. (Rastogi fig. 7 note step 720 of determining another task is to be executed first corresponding to the second-level groups having an outside dependency; also note step 730 of scheduling other task to execute first using a data processing resource; additionally see corresponding text in [0076]-[0081])
Rastogi does not explicitly teach, Qin however in the analogous art of directed graph generation teaches
generating a directed acyclic graph from the directed graph, wherein groups of calibrating objects are nodes of the directed acyclic graph; (Qin [0029] “the directed graph 300 may then be segmented into its strongly connected components (SCCs) … the directed graph 300 is reduced or "condensed" into a directed acyclic graph in which no circular path of the directed graph 300 involves more than one SCC 310” noting the SCCs from the directed graph forming a directed acyclic graph corresponding to the groups of calibrating objects/nodes of the directed acyclic graph)
Before the effective filing date of the claimed invention, it would have been obvious for one of ordinary skill in the art to modify Rastogi’s dependency graph based task scheduling and execution to include creating a directed acyclic graph from the directed graph in view of Qin in an effort to divide tasks into groups that can be processed in parallel and improve overall efficiency (see Qin ¶ [0026] & MPEP 2143G).
Claims 2, 9, 16
Rastogi teaches
recalibrating, by the compute resources, the second-level groups of calibrating objects. (Rastogi [0048] “Wait for resource availability to execute--once all prerequisites have completed, this state may be used to indicate that the task is to wait for resources to become available so that the task can execute and return a result” note the completion of prerequisites then executing the task)
Claims 3, 10. 17
Rastogi teaches
wherein recalibrating the second-level groups of calibrating objects uses calibrating objects from the first-level groups of calibrating objects. (Rastogi [0042] “Tasks may support the ability to save information for access by other tasks” note the use of information from a task by other tasks)
Claims 4, 11, 18
Rastogi does not explicitly teach, Qin however in the analogous art of directed graph generation teaches
wherein a first group in the first-level groups of calibrating objects is assigned to a first compute resource and a second group in the first-level groups of calibrating objects is assigned to a second compute resource. (Qin [0025] “each of the strongly connected components of the directed graphs, as well as a number of circular paths within each strongly connected component, may be processed in parallel;” [0058] “the outputting of the results may be performed by a separate thread so that the searching and outputting operations may be performed in parallel using different types of resources” note the concurrent processing of the SCCs using different resources)
The motivation/rationale to combine Rastogi with Qin persists.
Claims 5, 12, 19
Rastogi does not explicitly teach, Qin however in the analogous art of directed graph generation teaches
wherein the first compute resource and the second compute resource recalibrate the first group and the second group concurrently. (Qin [0025] “each of the strongly connected components of the directed graphs, as well as a number of circular paths within each strongly connected component, may be processed in parallel;” [0058] “the outputting of the results may be performed by a separate thread so that the searching and outputting operations may be performed in parallel using different types of resources” note the concurrent processing of the SCCs using different resources)
The motivation/rationale to combine Rastogi with Qin persists.
Claims 6, 13, 20
Rastogi teaches
wherein a benchmark is re-associated with a corresponding calibrating object in one of the first-level groups of calibrating objects. (Rastogi [0034] “Dynamic prerequisites are parent tasks that are added after results from execution of the static prerequisites are known” note the updating of a prerequisite after execution)
Claims 7, 14
Rastogi teaches
wherein the benchmark is recalibrated. (Rastogi [0042] “DGTaskExecutor may update (e.g., modify or clear) results from any task” note the task results modified after execution)
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US 20180276040 A1; WO 2022015385 A1; Parri et al., Response time analysis for G-EDF and G-DM scheduling of sporadic DAG-tasks with arbitrary deadline, 2015.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to MOHAMED EL-BATHY whose telephone number is (571)270-5847. The examiner can normally be reached on M-F 8AM-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, PATRICIA MUNSON can be reached on (571) 270-5396. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/MOHAMED N EL-BATHY/Primary Examiner, Art Unit 3624