Prosecution Insights
Last updated: October 02, 2026
Application No. 18/343,802

EFFICIENT RESOURCE USAGE BY A COURSE

Non-Final OA §101§103§112
Filed
Jun 29, 2023
Examiner
YUAN, PETER LI
Art Unit
Tech Center
Assignee
International Business Machines Corporation
OA Round
1 (Non-Final)
100%
Grant Probability
Favorable
1-2
OA Rounds
0m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 100% — above average
100%
Career Allowance Rate
1 granted / 1 resolved
+40.0% vs TC avg
Minimal +0% lift
Without
With
+0.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 11m
Avg Prosecution
17 currently pending
Career history
20
Total Applications
across all art units

Statute-Specific Performance

§101
24.2%
-15.8% vs TC avg
§103
54.2%
+14.2% vs TC avg
§102
3.3%
-36.7% vs TC avg
§112
12.5%
-27.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1 resolved cases

Office Action

§101 §103 §112
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . The Office Action is in response to claims filed 06/29/2023. Claims 1-20 are pending. Specification ¶ [0041] of the specification includes a typo. ¶ [0041] recites “inputed.” Examiner believes this should be corrected to “inputted.” Claim Objections Claim 11 is objected to because of the following informalities: the ending punctuation of the (a) limitation ends with a “.”. Examiner believes it should end with a “;”. Claim 16 is objected to because of the following informalities: the ending punctuation of the (a) limitation ends with a “.”. Examiner believes it should end with a “;”. In the (b) limitation, the claim recites “and if so. then next performing step (c),”. Examiner believes the “.” following “so” should be a “,” instead of a “.”. Claims 6 and 15 are objected to because of the following informalities: the last limitation recites “and if so then modifying the AI model followed re-executing steps (a)-(c).” Examiner believes there is a grammatical error, and the limitation should read “and if so then modifying the AI model followed by re-executing steps (a)-(c).” Appropriate correction is required. Claim Rejections - 35 USC § 112 The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. The term “essentially” and “generally” in claims 1, 11, and 16 are relative terms which renders the claim indefinite. The terms “essentially” and “generally” are not defined by the claims, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. It is unclear how a section is “essentially” the same as the current section. It is unclear how deviations are not “generally” encompassed by the sections of the historical courses. Claims 8 and 18 recite that a timeline is either “acceptable” or “not acceptable.” The claims do not recite a way to ascertain the scope of what is “acceptable” and “not acceptable.” Therefore, the scope of “acceptable” and “not acceptable” is indefinite. 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 rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, an abstract idea, and it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below. Step 1: Claims 1-10 are directed to a method and fall within the statutory class of process. Claims 11-15 are directed to a computer program product and fall within the statutory class of articles of manufacture. Claims 16-20 are directed to a computer system and fall within the statutory class of machine. Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes. Step 2A Prong 1: Claims 1, 11, and 16: The limitations “initially allocation resources for the current section of the course,” “(b) determining […] whether the current section is the last section, and if so, then next performing step (c), and if not then re-performing step (a) with the current section being a next section of the course,” and “(c) adjusting […] resource allocation among the plurality of sections as deviations from the initially allocated resources to each section, said deviations being based on resource limitations that are specific to each section individually and are not generally encompassed by the sections of the historical courses.” These limitations are a mental process because they are observations followed by the forming of a judgement. It is understood that these limitations are to be performed within a computer environment, however, the limitations can also be performed entirely in the mind. Additionally, claims 1, 11, and 16 recite “wherein the trained MLM comprises a K nearest neighbors (KNN) algorithm.” This limitation recites a mathematical concept. Mathematical concepts and mental processes are an abstract idea. Therefore, Yes, claims 1, 11, and 16 recite a judicial exception. Step 2A Prong 2 will evaluate whether the claims integrate the judicial exception into a practical application. Step 2A Prong 2: Claims 1, 11, and 16: The judicial exception is not integrated into a practical application. Claims 1, 11, and 16 recites the following additional elements – “(a) executing, by one or more processors of a computer system, a trained machine learning model (MLM) to […], said trained MLM having been previously trained from data of multiple sections of respective historical courses using current instances of a feature vector respectively corresponding to each of the multiple sections, each of the multiple sections being essentially a same section as the current section, … wherein the trained MLM comprises […] a trained artificial intelligence (AI) model.” This limitation is considered means to apply an exception (MPEP § 2106.05(f)) because it uses a generic processor, generic machine learning model, and generic artificial intelligence model to perform the abstract idea. Claim 11 also recites “A computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement a method for allocating resources to sections of a course.” Claim 16 also recites “A computer system, comprising one or more processors, one or more memories, and one or more computer readable hardware storage devices, said one or more hardware storage devices containing program code executable by the one or more processors via the one or more memories to implement a method for allocating resources to sections of a course.” These limitations are also considered means to apply an exception (MPEP § 2106.05(f)) because they recite generic computing components. Claims 1, 11, and 16 additionally recite “said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course.” This limitation is considered field of use/technological environment (MPEP § 2106.05(h)) because it limits the scope of the claims to sections of a course. Claims 1, 11, and 16 also recite “said executing the trained MLM comprising using a first instance of a feature vector characterizing the current section as input to the trained MLM” and “wherein software resources configured for use by the plurality of sections of the course and for use by sections of other courses are included in a resource registry stored on one or more storage devices of the computer system.” These limitations are insignificant extra solution activities (MPEP § 2106.05(g)). These additional elements do not integrate the judicial exception into a practical application. Therefore, “Do the claims recite additional elements that integrate the judicial exception in a practical application?” No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea. After having evaluated the inquiries set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 1, 11, and 16 not only recite a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into practical application. Step 2B: Claims 1, 11, and 16: The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above, the additional elements only amount to means to apply an exception, field of use/technological environment, and insignificant extra-solution activities. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. When reevaluating the insignificant extra-solution activities for an inventive concept that is significantly more, the claims do not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Receiving or transmitting data over a network” and “Storing and retrieving information in memory” are well understood, routine, and conventional computer functions. Inputting data into a machine learning model is transmitting data over a network and storing software resources in a resource registry is storing information in memory. Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception. Having concluded analysis within the provided framework, claims 1, 11, and 16 do not recite eligible subject matter under 35 U.S.C. § 101. With regard to claim(s) 2 and 17 it recites “said method further comprising: […], resulting in the trained MLM being improved for allocating resources” and “which dynamically improves a distribution of the re-allocated resources.” These limitations recite a mental process because allocating resources is a mental process. An improved mental process of allocating is still a mental process. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The limitations additionally recite “retraining, by the one or more processors, the MLM after at least one additional section has been added to the multiple sections corresponding to at least one section of the course” and “after said re-training the MLM, re-executing steps (a), (b) and (c) using the improved trained MLM.” These limitations are means to apply an exception (MPEP § 2106.05(f)). It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 2 and 17 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 3 and 12 it recites “wherein current instances of the feature vector are grouped within N clusters of feature vectors, wherein N is at least 2, and wherein said executing the trained MLM for the current section comprises,” “executing the trained KNN algorithm to select a cluster of the N clusters, wherein the selected cluster has a highest plurality of feature vector instances of K nearest-neighbor feature vector instances with respect to the first instance of the feature vector for the current section, and wherein K is an odd positive integer of at least 1,” and “executing the trained AI model to initially allocate resources for the current section under a constraint of limiting the initially allocated resources to currently available resources, said trained AI model being specific to the feature vectors in the selected cluster, said executing the trained AI model using as input: the first instance of the feature vector for the current section and an identification of the currently available resources.” These limitations recite a judicial exception. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claims also recite “executing the trained AI model” which is considered generic AI used as a means to apply an exception (MPEP § 2106.05(f)). It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 3 and 12 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 4 and 13 it recites “said method further comprising training, by the one or more processors, the MLM, wherein said training the MLM comprises: configuring the KNN algorithm for being subsequently executed; and training the AI model.” This limitation is considered means to apply an exception (MPEP § 2106.05(f)) because it is recited as a tool to apply. It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 4 and 13 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 5 and 14 it recites “wherein said configuring the KNN algorithm comprises: determining the number (N) of clusters,” and “grouping, using a clustering algorithm, the current instances of the feature vector into the N clusters.” These limitations recite a mental process. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim(s) do not include any additional elements that integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 5 and 14 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 6 and 15 it recites “wherein said training the AI model comprises: providing feature vectors and resources of each cluster of each section of the historical courses” and “splitting the feature vectors in each cluster of each section into training feature vectors and testing feature vectors.” These limitations recite a mental process. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim(s) also recite “training each cluster of each section to predict resources of each section, using the training feature vectors, resulting in an initially trained AI model,” “testing the initially trained AI model to assess an accuracy of predicted resources for each cluster of each section, using the testing feature vectors,” and “ascertaining, from a result of said testing, whether the initially trained AI model should be improved, and if so, then modifying the AI model followed re-executing steps (a)-(c).” These limitations are means to apply an exception (MPEP § 2106.05(f)). It does not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 5 and 15 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 7 it recites “said method comprising building … the resource registry from a plurality of resources, said building comprising for each current resource of the plurality of resources,” “determining whether the current resource is a fleet resource, a pool resource, or a composite resource,” and “if the current resource is determined to be a composite resource, then identifying a plurality of sub-resources of the composite resource and identifying whether each sub-resource is a fleet sub-resource or a pool sub-resource.” These limitations recite a mental process. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim further recites “identifying the current resource to the resource registry.” In the context of the disclosure, this limitation is considered insignificant extra-solution activity (MPEP § 2106.05(g)). The claim further recites “wherein the plurality of resources comprises at least one fleet resource, at least one pool resource, and at least one composite resource.” This limitation is considered field of use/technological environment (MPEP § 2106.05(h)) because it limits the types of resources in the environment. These additional elements do not integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. When reevaluating the insignificant extra-solution activities for an inventive concept that is significantly more, the claims do not add an inventive concept that is other than what is well understood, routine, and conventional in the field. MPEP § 2106.05(d)(II) lists that “Storing and retrieving information in memory” is a well understood, routine, and conventional computer function. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 7 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 8 and 18 it recites “said method further comprising: generating, after step (c) by the one or more processors, a timeline of the course in accordance with availability of the resources allocated to the sections of the course” and “in response to a determination by the one or more processors that the timeline is not acceptable, adjusting, by the one or more processors, the resources of the sections to generate a new timeline that is acceptable.” These limitations recite a mental process. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim(s) do not include any additional elements that integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 8 and 18 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 9 and 19 it recites “said method further comprising: after step (c), performing a live implementation of the course in accordance with the resources allocated to the sections of the course.” This limitation recites a mental process because as further defined in claim(s) 10 and 20, the term “live implementation” means to determine a bottleneck, which is a mental process. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim(s) do not include any additional elements that integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 9 and 19 do/does not recite patent eligible subject matter under 35 U.S.C. 101. With regard to claim(s) 10 and 20 it recites “wherein said performing the live implementation of the course for one section of the course comprises: determining, by the one or more processors, a bottleneck that impedes implementation of the one section and in response, eliminating, by the one or more processors, the bottleneck by modifying the resources allocated to the one section.” This limitation recites a mental process. Therefore, the claim(s) recite a judicial exception and fail(s) Step 2A Prong 1. The claim(s) do not include any additional elements that integrate the judicial exception into a practical application, so the claim(s) fail Step 2A Prong 2. When reevaluating the claim limitations, alone or in combination, no inventive concept that amounts to significantly more was found. Therefore, the claim(s) fail Step 2B. Therefore, claim(s) 10 and 20 do/does not recite patent eligible subject matter under 35 U.S.C. 101. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1, 7, 11, and 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Fawcett et al. Pat. No. US 20220075664 A1 (hereafter Fawcett) in view of Anonymous, “Schedule Based Resource Allocation”, ID. No. IPCOM000235606D (hereafter ‘606D), and further in view of Acuna Agost et al. Pat. No. US 20240256995 A1 (hereafter Acuna Agost) and Guo et al. Pat. No. US 20170153918 A1 (hereafter Guo). With regard to claim 1, Fawcett teaches a method for allocating resources to sections of a course, said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course (¶ [0065] states “FIG. 4 shows flowchart 250 depicting a computer-implemented method according to the present invention.” See FIG. 4. ¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.”): (a) executing, by one or more processors of a computer system, a trained machine learning model (MLM) to initially allocate resources for the current section of the course (¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.” ¶ [0021] states “The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.”), said trained MLM having been previously trained from data of multiple sections of respective historical courses using current instances of a feature vector respectively corresponding to each of the multiple sections (¶ [0076] states “Processing proceeds to operation S265 (see FIG. 4), where ML mod 365 (see FIG. 5) trains an ML model using the historical information and the corresponding scores generated by scoring mod 360.” ¶ [0073] states “the historical processing element resource allocation information (also referred to simply as the “historical information”) includes information pertaining to historical allocations of resources to processing elements of the stream processing job, how the processing elements performed under those allocations, and the outputs produced by the stream processing job using those allocations.”), each of the multiple sections being essentially a same section as the current section (¶ [0067] states “While the discussion of the present example embodiment generally focuses on the processing elements as being the execution units of the stream processing job, it should be noted that the processing elements of the present embodiment may be replaced by any other capable stream processing execution units known or yet to be known in the art.”), said executing the trained MLM comprising using a first instance of a feature vector characterizing the current section as input to the trained MLM (¶ [0079] states “resource allocation mod 370 provides inputs to the ML model based on the specific training of the ML model, where the inputs are generally based on a current status of the stream processing job. For example, in some cases, resource allocation mod 370 retrieves setup parameters of the stream processing job, provides the setup parameters to the trained ML model, and then receives as output from the trained ML model a recommended allocation of resources for the processing elements of the stream processing job. In other cases, other inputs are used, such as tuple queue utilizations, tuple flow rates, tuple types, or the like.”), wherein the trained MLM comprises a K nearest neighbors (KNN) algorithm and a trained artificial intelligence (AI) model (¶ [0076] states “ML mod 365 may train the ML model, via backpropagation, by using the historical information as training input and the corresponding scores as training output.”); (b) determining, by the one or more processors, whether the current section is the last section, and if so, then next performing step (c), and if not then re-performing step (a) with the current section being a next section of the course (¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.” ¶ [0083] states “Processing proceeds to operation S280 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) reallocates resources during execution of the stream processing job according to changed conditions of the stream processing job (i.e., conditions that have changed since a beginning of the executing of the stream processing job).” Examiner’s Note: resource allocation is performed for each of the processing elements of the stream processing job. Therefore, the process of determining if the current processing element, or section, is the last processing section is performed); and (c) adjusting, by one or more processors, resource allocation among the plurality of sections as deviations from the initially allocated resources to each section, said deviations being based on resource limitations that are specific to each section individually and are not generally encompassed by the sections of the historical courses (¶ [0083] states “Processing proceeds to operation S280 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) reallocates resources during execution of the stream processing job according to changed conditions of the stream processing job (i.e., conditions that have changed since a beginning of the executing of the stream processing job)”), Although Fawcett teaches a stream processing job that has processing elements (¶ [0067]), Fawcett does not explicitly teach sections belonging to a course. However, in an analogous art, ‘606D teaches a method for allocating resources to sections of a course, said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course (Page 2 states “The following is a general algorithm for determining a logical and predictive way to allocate computer resources for a university.” The table on page 2 shows that class schedules, assignment dates, due dates, late turn in date, computation complexity, and number of students are inputs for the algorithm. FIG. 3 shows the resource allocation changing according to the week 3, 6, and 8 due dates. Examiner’s Note: the period between week 1 and week 3 is the first section. The period between week 6 and 8 is the last section). (b) determining, by the one or more processors, whether the current section is the last section, and if so, then next performing step (c), and if not then re-performing step (a) with the current section being a next section of the course (FIG. 3 shows the resource allocation changing according to the week 3, 6, and 8 due dates. Examiner’s Note: the period between week 1 and week 3 is the first section. The period between week 4 and 6 is the second section. The period between week 6 and 8 is the last section. The resource allocation changes between sections, so an allocation has been re-performed). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to substitute the processing elements of a stream processing job of Fawcett with the course assignment periods and courses of ‘606D. Fawcett teaches the base device, a method of predicting and allocating resources for processing elements of a stream processing job. ‘606D teaches that courses have assignment due dates that cause an increase in resource usage (Page 2). The results of substituting the processing elements of a stream processing job of Fawcett with the period of time between assignment due dates of ‘606D would have been predictable because the resources needed in the period of time leading up to a due date and the resources needed to process a processing element of a stream processing job are both considered sub-workloads. The courses of ‘606D and the stream processing job of Fawcett are analogous to the workloads that contain sub-workloads. As a result of this substitution, the machine learning model of Fawcett is used to predict the resource requirements of periods of time before an assignment due date. Fawcett and ‘606D do not explicitly state the machine learning model includes a KNN algorithm. However, in an analogous art, Acuna Agost teaches wherein the trained MLM comprises a K nearest neighbors (KNN) algorithm and a trained artificial intelligence (AI) model (¶ [0041] states “The predictive network 213 can actually be any network that is capable of predicting the future of a (multi-variate) time series, e.g., linear regression, logistic regression, classification and regression trees, naive Bayes network, k-nearest neighbors (KNN), k-learning vector quantization, support vector machines, random forest, gradient boosting trees, and the like.”). and (c) adjusting, by one or more processors, resource allocation among the plurality of sections as deviations from the initially allocated resources to each section, said deviations being based on resource limitations that are specific to each section individually and are not generally encompassed by the sections of the historical courses (¶ [0050] states “When having determined the distribution(s) 431, the simulation phase proceeds selecting at least one value for each feature of the subset of features based on the determined distributions as depicted in box 432.” ¶ [0051] states “Finally, when all required feature values of the subset of features have been determined, the values are inputted to the trained machine learning model to estimate a resource requirement in the environment in at least one time period the future.” ¶ [0053] states “The adjustment parameters 541 reflect an unusual or unforeseeable development of the environment that also has an impact on the features of the subset of features 212.” ¶ [0054] states “The adjustment parameters 541 may, e.g., lead to a shift of the mean of the distribution as shown with arrow 543, modify the variance of the normal distribution as shown with arrow 544, or make other modifications to the distribution 431.” See FIG. 4 and 5. Examiner’s Note: the adjustment parameters represent unforeseeable events. These events are not encompassed in the historical data. The adjustment parameters affect the distribution data and simulation data which in turn affect the resource allocation). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the predictive network using KNN and the adjustment parameters of Acuna Agost with the machine learning model to predict resource usage of Fawcett and the course sections based on assignment due date of ‘606D. A person having ordinary skill in the art would have been motivated to make this combination because “The adjustment parameters 541 provide a solution for the transition of an environment after or during unusual circumstances, e.g., a quick rebound after covid pandemic that cannot be explained by other environmental aspect” (¶ [0054]). Additionally, by using the KNN and predictive network, resource requirement estimates are more efficient (¶ [0024] states “The present disclosure provides a tool for estimating resource requirements that uses machine learning for prediction but reduces the required resources and complexity by clustering the relevant data for determining plausible scenarios. These components are combined in a simulation tool that is able to reliably estimate different future resource requirements while keeping the complexity low.”). Fawcett, ‘606D, and Acuna Agost do not explicitly teach a resource registry. However, in an analogous art, Guo teaches wherein software resources configured for use by the plurality of sections of the course and for use by sections of other courses are included in a resource registry stored on one or more storage devices of the computer system (¶ [0023] states “The computing system 100 can be configured as a distributed resource management (DRM) system.” ¶ [0064] states “The DRM can be configured to store or have access to one or more resource models corresponding to with one or more resources 150 in the DRM system. The DRM can create or obtain the resource models from information regarding the one or more resources.” ¶ [0069] states “the DRM components can send the information to another component in the DRM system, a storage device, database or other storage location in the DRM system which is accessible by the DRM components.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the DRM system that stores resource models representing resources with the machine learning model used to predict and allocate resources of Fawcett, the course sections based on assignment due date of ‘606D, and the KNN predictive network of Acuna Agost. A person having ordinary skill in the art would have been motivated to make this combination because “the resource modelling/definitions described herein may encapsulate the relationships between resources which may, in some instances, simplify resource management or reduce improper or inefficient allocations of different resources for a single workload” (¶ [0061]). With regard to claim 7, Fawcett, ‘606D, Acuna Agost, and Guo teach the method of claim 1. Guo additionally teaches said method comprising building, by the one or more processors, the resource registry from a plurality of resources (¶ [0093] states “At 1110, one or more processors 101 in the DRM system obtain resource information.” ¶ [0096] states “At 1120, based on the obtained resource information, the processors 101 assign to a composite resource 320 to be managed: a class identifier, and an identifier for at least one associated resource.” ¶ [0097] states “In some examples, assigning identifiers to the composite resource 320 can include generating a definition or model for associating with the composite resource 320. The definition or model can include the class identifier and one or more associated resource identifiers.” ¶ [0069] states “the DRM components can send the information to another component in the DRM system, a storage device, database or other storage location in the DRM system which is accessible by the DRM components.”), said building comprising for each current resource of the plurality of resources: determining whether the current resource is a fleet resource, a pool resource, or a composite resource (¶ [0040] states “a composite resource 320 can be any resource 150 which is associated with one or more additional resources 150.” ¶ [0083] states “Resources 150 may be elastic or non-elastic. Elastic resources may be resources 150 which a workload may utilize in a time-sharing fashion or will not hold for its entire life cycle. Examples of elastic resources include CPU cycles and network bandwidth.” ¶ [0084] states “Non-elastic resources may include resources 150 which once allocated to a workload cannot be shared or used by other workloads unless the first workload completes or proactively releases the resource 150. Examples of non-elastic resources include volatile memory, storage device space, swap space, and software licenses.” See FIG. 5. ¶ [0093] states “At 1110, one or more processors 101 in the DRM system obtain resource information. In some embodiments, the resource information can include information for collecting, classifying, encapsulate, defining or otherwise modelling DRM resources for management by the DRM system.” ¶ [0096] states “At 1120, based on the obtained resource information, the processors 101 assign to a composite resource 320 to be managed: a class identifier, and an identifier for at least one associated resource.” ¶ [0097] states “assigning identifiers to the composite resource 320 can include generating a definition or model for associating with the composite resource 320. The definition or model can include the class identifier and one or more associated resource identifiers.” Examiner’s Note: elastic resources are pool resources and non-elastic resources are fleet resources. The DRM uses the obtained information to create the model. When creating the model, it assigns class identifier and resource identifiers, which determine whether the resource is a fleet resource, pool resource, or composite resource); if the current resource is determined to be a composite resource, then identifying a plurality of sub-resources of the composite resource and identifying whether each sub-resource is a fleet sub-resource or a pool sub-resource (¶ [0055] states “the compute server 400 can be modelled as a composite resource 320 as illustrated by the definition in FIG. 5.” ¶ [0056] states “As illustrated in FIG. 5, the two sets of CPU cores have been defined as a single resource 150 having a NUMERIC class, a “cpu” name identifier, and a value of 20 corresponding to the total number of consumable cores.” See FIG. 5. ¶ [0096] states “At 1120, based on the obtained resource information, the processors 101 assign to a composite resource 320 to be managed: a class identifier, and an identifier for at least one associated resource.” ¶ [0098] states “The class identifier can be any value (e.g., alphanumeric string, number, pointer, etc.) from which the DRM system can identify a resource class to which the composite resource 320 belongs.” Examiner’s Note: when creating a model for a composite resource, the sub-resources are also identified by creating a model. FIG. 5 shows that resource “myserver1” has a sub-resources. An example is the CPU sub-resource that has a value of 20); and identifying the current resource to the resource registry (¶ [0064] states “The DRM can be configured to store or have access to one or more resource models corresponding to with one or more resources 150 in the DRM system. The DRM can create or obtain the resource models from information regarding the one or more resources.” ¶ [0069] states “the DRM components can send the information to another component in the DRM system, a storage device, database or other storage location in the DRM system which is accessible by the DRM components.”), wherein the plurality of resources comprises at least one fleet resource, at least one pool resource, and at least one composite resource (¶ [0020] states “The computing system 100 can include one or more resources 150 which can be shared between, or otherwise utilized by, multiple workloads.” ¶ [0032] states “a workload requiring a virtual machine may have specific requirements for a number of CPUs, memory, storage, software licenses, network capabilities, etc.” ¶ [0043] states “the resource instance can be a composite resource 320 or a basic resource 330.” Examiner’s Note: ¶ [0032] shows that workloads require fleet and pool resources. Resources may be a composite resource. Therefore, the environment supports there being at least one fleet resource, at least one pool resource, and at least one composite resource). With regard to claim 11, Fawcett teaches a computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement a method for allocating resources to sections of a course, said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course (¶ [0021] states “The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.” ¶ [0065] states “FIG. 4 shows flowchart 250 depicting a computer-implemented method according to the present invention.” ¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.”): (a) executing, by the one or more processors, a trained machine learning model (MLM) to initially allocate resources for the current section of the course (¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.” ¶ [0021] states “The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.”), said trained MLM having been previously trained from data of multiple sections of respective historical courses using current instances of a feature vector respectively corresponding to each of the multiple sections (¶ [0076] states “Processing proceeds to operation S265 (see FIG. 4), where ML mod 365 (see FIG. 5) trains an ML model using the historical information and the corresponding scores generated by scoring mod 360.” ¶ [0073] states “the historical processing element resource allocation information (also referred to simply as the “historical information”) includes information pertaining to historical allocations of resources to processing elements of the stream processing job, how the processing elements performed under those allocations, and the outputs produced by the stream processing job using those allocations.”), each of the multiple sections being essentially a same section as the current section (¶ [0067] states “While the discussion of the present example embodiment generally focuses on the processing elements as being the execution units of the stream processing job, it should be noted that the processing elements of the present embodiment may be replaced by any other capable stream processing execution units known or yet to be known in the art.”), said executing the trained MLM comprising using a first instance of a feature vector characterizing the current section as input to the trained MLM (¶ [0079] states “resource allocation mod 370 provides inputs to the ML model based on the specific training of the ML model, where the inputs are generally based on a current status of the stream processing job. For example, in some cases, resource allocation mod 370 retrieves setup parameters of the stream processing job, provides the setup parameters to the trained ML model, and then receives as output from the trained ML model a recommended allocation of resources for the processing elements of the stream processing job. In other cases, other inputs are used, such as tuple queue utilizations, tuple flow rates, tuple types, or the like.”), wherein the trained MLM comprises a K nearest neighbors (KNN) algorithm and a trained artificial intelligence (AI) model (¶ [0076] states “ML mod 365 may train the ML model, via backpropagation, by using the historical information as training input and the corresponding scores as training output.”). (b) determining, by the one or more processors, whether the current section is the last section, and if so, then next performing step (c), and if not then re-performing step (a) with the current section being a next section of the course (¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.” ¶ [0083] states “Processing proceeds to operation S280 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) reallocates resources during execution of the stream processing job according to changed conditions of the stream processing job (i.e., conditions that have changed since a beginning of the executing of the stream processing job).” Examiner’s Note: resource allocation is performed for each of the processing elements of the stream processing job. Therefore, the process of determining if the current processing element, or section, is the last processing section is performed); and (c) adjusting, by one or more processors, resource allocation among the plurality of sections as deviations from the initially allocated resources to each section, said deviations being based on resource limitations that are specific to each section individually and are not generally encompassed by the sections of the historical courses (¶ [0083] states “Processing proceeds to operation S280 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) reallocates resources during execution of the stream processing job according to changed conditions of the stream processing job (i.e., conditions that have changed since a beginning of the executing of the stream processing job)”), Although Fawcett teaches a stream processing job that has processing elements (¶ [0067]), Fawcett does not explicitly teach sections belonging to a course. However, in an analogous art, ‘606D teaches a computer program product, comprising one or more computer readable hardware storage devices having computer readable program code stored therein, said program code containing instructions executable by one or more processors of a computer system to implement a method for allocating resources to sections of a course, said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course (Page 2 states “The following is a general algorithm for determining a logical and predictive way to allocate computer resources for a university.” The table on page 2 shows that class schedules, assignment dates, due dates, late turn in date, computation complexity, and number of students are inputs for the algorithm. FIG. 3 shows the resource allocation changing according to the week 3, 6, and 8 due dates. Examiner’s Note: the period between week 1 and week 3 is the first section. The period between week 6 and 8 is the last section). (b) determining, by the one or more processors, whether the current section is the last section, and if so, then next performing step (c), and if not then re-performing step (a) with the current section being a next section of the course (FIG. 3 shows the resource allocation changing according to the week 3, 6, and 8 due dates. Examiner’s Note: the period between week 1 and week 3 is the first section. The period between week 4 and 6 is the second section. The period between week 6 and 8 is the last section. The resource allocation changes between sections, so an allocation has been re-performed). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to substitute the processing elements of a stream processing job of Fawcett with the course assignment periods and courses of ‘606D. Fawcett teaches the base device, a method of predicting and allocating resources for processing elements of a stream processing job. ‘606D teaches that courses have assignment due dates that cause an increase in resource usage (Page 2). The results of substituting the processing elements of a stream processing job of Fawcett with the period of time between assignment due dates of ‘606D would have been predictable because the resources needed in the period of time leading up to a due date and the resources needed to process a processing element of a stream processing job are both considered sub-workloads. The courses of ‘606D and the stream processing job of Fawcett are analogous to the workloads that contain sub-workloads. As a result of this substitution, the machine learning model of Fawcett is used to predict the resource requirements of periods of time before an assignment due date. Fawcett and ‘606D do not explicitly state the machine learning model includes a KNN algorithm. However, in an analogous art, Acuna Agost teaches wherein the trained MLM comprises a K nearest neighbors (KNN) algorithm and a trained artificial intelligence (AI) model (¶ [0041] states “The predictive network 213 can actually be any network that is capable of predicting the future of a (multi-variate) time series, e.g., linear regression, logistic regression, classification and regression trees, naive Bayes network, k-nearest neighbors (KNN), k-learning vector quantization, support vector machines, random forest, gradient boosting trees, and the like.”). and (c) adjusting, by one or more processors, resource allocation among the plurality of sections as deviations from the initially allocated resources to each section, said deviations being based on resource limitations that are specific to each section individually and are not generally encompassed by the sections of the historical courses (¶ [0050] states “When having determined the distribution(s) 431, the simulation phase proceeds selecting at least one value for each feature of the subset of features based on the determined distributions as depicted in box 432.” ¶ [0051] states “Finally, when all required feature values of the subset of features have been determined, the values are inputted to the trained machine learning model to estimate a resource requirement in the environment in at least one time period the future.” ¶ [0053] states “The adjustment parameters 541 reflect an unusual or unforeseeable development of the environment that also has an impact on the features of the subset of features 212.” ¶ [0054] states “The adjustment parameters 541 may, e.g., lead to a shift of the mean of the distribution as shown with arrow 543, modify the variance of the normal distribution as shown with arrow 544, or make other modifications to the distribution 431.” See FIG. 4 and 5. Examiner’s Note: the adjustment parameters represent unforeseeable events. These events are not encompassed in the historical data. The adjustment parameters affect the distribution data and simulation data which in turn affect the resource allocation). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the predictive network using KNN and the adjustment parameters of Acuna Agost with the machine learning model to predict resource usage of Fawcett and the course sections based on assignment due date of ‘606D. A person having ordinary skill in the art would have been motivated to make this combination because “The adjustment parameters 541 provide a solution for the transition of an environment after or during unusual circumstances, e.g., a quick rebound after covid pandemic that cannot be explained by other environmental aspect” (¶ [0054]). Additionally, by using the KNN and predictive network, resource requirement estimates are more efficient (¶ [0024] states “The present disclosure provides a tool for estimating resource requirements that uses machine learning for prediction but reduces the required resources and complexity by clustering the relevant data for determining plausible scenarios. These components are combined in a simulation tool that is able to reliably estimate different future resource requirements while keeping the complexity low.”). Fawcett, ‘606D, and Acuna Agost do not explicitly teach a resource registry. However, in an analogous art, Guo teaches wherein software resources configured for use by the plurality of sections of the course and for use by sections of other courses are included in a resource registry stored on one or more storage devices of the computer system (¶ [0023] states “The computing system 100 can be configured as a distributed resource management (DRM) system.” ¶ [0064] states “The DRM can be configured to store or have access to one or more resource models corresponding to with one or more resources 150 in the DRM system. The DRM can create or obtain the resource models from information regarding the one or more resources.” ¶ [0069] states “the DRM components can send the information to another component in the DRM system, a storage device, database or other storage location in the DRM system which is accessible by the DRM components.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the DRM system that stores resource models representing resources with the machine learning model used to predict and allocate resources of Fawcett, the course sections based on assignment due date of ‘606D, and the KNN predictive network of Acuna Agost. A person having ordinary skill in the art would have been motivated to make this combination because “the resource modelling/definitions described herein may encapsulate the relationships between resources which may, in some instances, simplify resource management or reduce improper or inefficient allocations of different resources for a single workload” (¶ [0061]). With regard to claim 16, Fawcett teaches a computer system, comprising one or more processors, one or more memories, and one or more computer readable hardware storage devices (¶ [0021] states “The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.” See FIG. 1 Processing Unit 16, RAM 30, and Storage System 34), said one or more hardware storage devices containing program code executable by the one or more processors via the one or more memories to implement a method for allocating resources to sections of a course, said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course (¶ [0021] states “The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.” ¶ [0065] states “FIG. 4 shows flowchart 250 depicting a computer-implemented method according to the present invention.” ¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.” Examiner’s Note: the processing elements are the sections, and the stream processing job is the course): (a) executing, by one or more processors of a computer system, a trained machine learning model (MLM) to initially allocate resources for the current section of the course (¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.” ¶ [0021] states “The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.”), said trained MLM having been previously trained from data of multiple sections of respective historical courses using current instances of a feature vector respectively corresponding to each of the multiple sections (¶ [0076] states “Processing proceeds to operation S265 (see FIG. 4), where ML mod 365 (see FIG. 5) trains an ML model using the historical information and the corresponding scores generated by scoring mod 360.” ¶ [0073] states “the historical processing element resource allocation information (also referred to simply as the “historical information”) includes information pertaining to historical allocations of resources to processing elements of the stream processing job, how the processing elements performed under those allocations, and the outputs produced by the stream processing job using those allocations.”), each of the multiple sections being essentially a same section as the current section (¶ [0067] states “While the discussion of the present example embodiment generally focuses on the processing elements as being the execution units of the stream processing job, it should be noted that the processing elements of the present embodiment may be replaced by any other capable stream processing execution units known or yet to be known in the art.”), said executing the trained MLM comprising using a first instance of a feature vector characterizing the current section as input to the trained MLM (¶ [0079] states “resource allocation mod 370 provides inputs to the ML model based on the specific training of the ML model, where the inputs are generally based on a current status of the stream processing job. For example, in some cases, resource allocation mod 370 retrieves setup parameters of the stream processing job, provides the setup parameters to the trained ML model, and then receives as output from the trained ML model a recommended allocation of resources for the processing elements of the stream processing job. In other cases, other inputs are used, such as tuple queue utilizations, tuple flow rates, tuple types, or the like.”), wherein the trained MLM comprises a K nearest neighbors (KNN) algorithm and a trained artificial intelligence (AI) model (¶ [0076] states “ML mod 365 may train the ML model, via backpropagation, by using the historical information as training input and the corresponding scores as training output.”); (b) determining, by the one or more processors, whether the current section is the last section, and if so, then next performing step (c), and if not then re-performing step (a) with the current section being a next section of the course (¶ [0079] states “Processing proceeds to operation S270 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) uses the trained ML model to allocate resources to processing elements for a subsequent execution of the stream processing job.” ¶ [0083] states “Processing proceeds to operation S280 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) reallocates resources during execution of the stream processing job according to changed conditions of the stream processing job (i.e., conditions that have changed since a beginning of the executing of the stream processing job).” Examiner’s Note: resource allocation is performed for each of the processing elements of the stream processing job. Therefore, the process of determining if the current processing element, or section, is the last processing section is performed); and (c) adjusting, by one or more processors, resource allocation among the plurality of sections as deviations from the initially allocated resources to each section, said deviations being based on resource limitations that are specific to each section individually and are not generally encompassed by the sections of the historical courses (¶ [0083] states “Processing proceeds to operation S280 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) reallocates resources during execution of the stream processing job according to changed conditions of the stream processing job (i.e., conditions that have changed since a beginning of the executing of the stream processing job)”), Although Fawcett teaches a stream processing job that has processing elements (¶ [0067]), Fawcett does not explicitly teach sections belonging to a course. However, in an analogous art, ‘606D teaches a method for allocating resources to sections of a course, said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course said one or more hardware storage devices containing program code executable by the one or more processors via the one or more memories to implement a method for allocating resources to sections of a course, said course comprising a plurality of sections that includes a first section and a last section, said method comprising the following steps starting with a current section of the course being the first section of the course (Page 2 states “The following is a general algorithm for determining a logical and predictive way to allocate computer resources for a university.” The table on page 2 shows that class schedules, assignment dates, due dates, late turn in date, computation complexity, and number of students are inputs for the algorithm. FIG. 3 shows the resource allocation changing according to the week 3, 6, and 8 due dates. Examiner’s Note: the period between week 1 and week 3 is the first section. The period between week 6 and 8 is the last section). (b) determining, by the one or more processors, whether the current section is the last section, and if so, then next performing step (c), and if not then re-performing step (a) with the current section being a next section of the course (FIG. 3 shows the resource allocation changing according to the week 3, 6, and 8 due dates. Examiner’s Note: the period between week 1 and week 3 is the first section. The period between week 4 and 6 is the second section. The period between week 6 and 8 is the last section. The resource allocation changes between sections, so an allocation has been re-performed). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to substitute the processing elements of a stream processing job of Fawcett with the course assignment periods and courses of ‘606D. Fawcett teaches the base device, a method of predicting and allocating resources for processing elements of a stream processing job. ‘606D teaches that courses have assignment due dates that cause an increase in resource usage (Page 2). The results of substituting the processing elements of a stream processing job of Fawcett with the period of time between assignment due dates of ‘606D would have been predictable because the resources needed in the period of time leading up to a due date and the resources needed to process a processing element of a stream processing job are both considered sub-workloads. The courses of ‘606D and the stream processing job of Fawcett are analogous to the workloads that contain sub-workloads. As a result of this substitution, the machine learning model of Fawcett is used to predict the resource requirements of periods of time before an assignment due date. Fawcett and ‘606D do not explicitly state the machine learning model includes a KNN algorithm. However, in an analogous art, Acuna Agost teaches wherein the trained MLM comprises a K nearest neighbors (KNN) algorithm and a trained artificial intelligence (AI) model (¶ [0041] states “The predictive network 213 can actually be any network that is capable of predicting the future of a (multi-variate) time series, e.g., linear regression, logistic regression, classification and regression trees, naive Bayes network, k-nearest neighbors (KNN), k-learning vector quantization, support vector machines, random forest, gradient boosting trees, and the like.”). and (c) adjusting, by one or more processors, resource allocation among the plurality of sections as deviations from the initially allocated resources to each section, said deviations being based on resource limitations that are specific to each section individually and are not generally encompassed by the sections of the historical courses (¶ [0050] states “When having determined the distribution(s) 431, the simulation phase proceeds selecting at least one value for each feature of the subset of features based on the determined distributions as depicted in box 432.” ¶ [0051] states “Finally, when all required feature values of the subset of features have been determined, the values are inputted to the trained machine learning model to estimate a resource requirement in the environment in at least one time period the future.” ¶ [0053] states “The adjustment parameters 541 reflect an unusual or unforeseeable development of the environment that also has an impact on the features of the subset of features 212.” ¶ [0054] states “The adjustment parameters 541 may, e.g., lead to a shift of the mean of the distribution as shown with arrow 543, modify the variance of the normal distribution as shown with arrow 544, or make other modifications to the distribution 431.” See FIG. 4 and 5. Examiner’s Note: the adjustment parameters represent unforeseeable events. These events are not encompassed in the historical data. The adjustment parameters affect the distribution data and simulation data which in turn affect the resource allocation). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the predictive network using KNN and the adjustment parameters of Acuna Agost with the machine learning model to predict resource usage of Fawcett and the course sections based on assignment due date of ‘606D. A person having ordinary skill in the art would have been motivated to make this combination because “The adjustment parameters 541 provide a solution for the transition of an environment after or during unusual circumstances, e.g., a quick rebound after covid pandemic that cannot be explained by other environmental aspect” (¶ [0054]). Additionally, by using the KNN and predictive network, resource requirement estimates are more efficient (¶ [0024] states “The present disclosure provides a tool for estimating resource requirements that uses machine learning for prediction but reduces the required resources and complexity by clustering the relevant data for determining plausible scenarios. These components are combined in a simulation tool that is able to reliably estimate different future resource requirements while keeping the complexity low.”). Fawcett, ‘606D, and Acuna Agost do not explicitly teach a resource registry. However, in an analogous art, Guo teaches wherein software resources configured for use by the plurality of sections of the course and for use by sections of other courses are included in a resource registry stored on one or more storage devices of the computer system (¶ [0023] states “The computing system 100 can be configured as a distributed resource management (DRM) system.” ¶ [0064] states “The DRM can be configured to store or have access to one or more resource models corresponding to with one or more resources 150 in the DRM system. The DRM can create or obtain the resource models from information regarding the one or more resources.” ¶ [0069] states “the DRM components can send the information to another component in the DRM system, a storage device, database or other storage location in the DRM system which is accessible by the DRM components.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the DRM system that stores resource models representing resources with the machine learning model used to predict and allocate resources of Fawcett, the course sections based on assignment due date of ‘606D, and the KNN predictive network of Acuna Agost. A person having ordinary skill in the art would have been motivated to make this combination because “the resource modelling/definitions described herein may encapsulate the relationships between resources which may, in some instances, simplify resource management or reduce improper or inefficient allocations of different resources for a single workload” (¶ [0061]). Claim(s) 2 and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Fawcett, ‘606D, Acuna Agost, and Guo, and further in view of Das et al. Pat. No. US 20220114490 A1 (hereafter Das). With regard to claim 2, Fawcett, ‘606D, Acuna Agost, and Guo teach the method of claim 1. Acuna Agost additionally teaches said method further comprising: retraining, by the one or more processors, the MLM after at least one additional section has been added to the multiple sections corresponding to at least one section of the course, resulting in the trained MLM being improved for allocating resources (¶ [0032] states “The historical environment data 151 and the historical resource requirement data 161 may in some embodiments be periodically updated with newer data. In such embodiments, the machine learning model may be periodically retrained using the updated historical environment data and updated historical resource requirement data.”); Fawcett, ‘606D, Acuna Agost, and Guo do not explicitly teach using the retrained machine learning model to perform steps (a), (b), and (c). However, in an analogous art, Das teaches and after said re-training the MLM, re-executing steps (a), (b) and (c) using the improved trained MLM, which dynamically improves a distribution of the re-allocated resources (¶ [0010] states “The method includes generating, by the processor, an updated labelled data3 (LD3) by executing the retrained supervised model.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the executing of the retrained supervised model of Das with the retraining of the machine learning model of Acuna Agost, the machine learning model of Fawcett, the resource allocation prediction of ‘606D, and the resource registry of Guo. As a result of the combination, whenever there is new historical data, the machine learning model is retrained. After retraining, the process of using a machine learning model to allocate resources of Fawcett, ‘606D, Acuna Agost, and Guo is performed. A person having ordinary skill in the art would have been motivated to make this combination for the purpose of improving model capabilities by allowing models to process new and updated datasets (¶ [0038] states “Additionally, there always arises a need to retrain an existing model i.e., the pre-trained supervised model to handle new and updated dataset for categorization into correct labels.”). With regard to claim 17, it is rejected using the same rationale as claim 2. Claim(s) 3-5 and 12-14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Fawcett, ‘606D, Acuna Agost, and Guo, and further in view of Sethi et al. Pat. No. US 20240031227 A1 (hereafter Sethi). With regard to claim 3, Fawcett, ‘606D, Acuna Agost, and Guo teach the method of claim 1. Fawcett teaches and executing the trained AI model to initially allocate resources for the current section under a constraint of limiting the initially allocated resources to currently available resources (¶ [0081] states “Further, in some cases, the number of resources that can be allocated are capped or otherwise limited based on resource budgets”), said trained AI model being specific to the feature vectors in the selected cluster, said executing the trained AI model using as input: the first instance of the feature vector for the current section and an identification of the currently available resources (¶ [0076] states “Processing proceeds to operation S265 (see FIG. 4), where ML mod 365 (see FIG. 5) trains an ML model using the historical information and the corresponding scores generated by scoring mod 360.” ¶ [0073] states “the historical processing element resource allocation information (also referred to simply as the “historical information”) includes information pertaining to historical allocations of resources to processing elements of the stream processing job, how the processing elements performed under those allocations, and the outputs produced by the stream processing job using those allocations.” ¶ [0079] states “resource allocation mod 370 provides inputs to the ML model based on the specific training of the ML model, where the inputs are generally based on a current status of the stream processing job. For example, in some cases, resource allocation mod 370 retrieves setup parameters of the stream processing job, provides the setup parameters to the trained ML model, and then receives as output from the trained ML model a recommended allocation of resources for the processing elements of the stream processing job. In other cases, other inputs are used, such as tuple queue utilizations, tuple flow rates, tuple types, or the like.” ¶ [0081] states “Further, in some cases, the number of resources that can be allocated are capped or otherwise limited based on resource budgets.”). Acuna Agost additionally teaches wherein current instances of the feature vector are grouped within N clusters of feature vectors, wherein N is at least 2 (¶ [0006] states “The clustering phase comprises determining at least two clusters in the historical environment data, wherein a cluster represents time periods having correlated values for features in the subset of features,”), said trained AI model being specific to the feature vectors in the selected cluster, said executing the trained AI model using as input: the first instance of the feature vector for the current section and an identification of the currently available resources (¶ [0036] states “the machine learning training phase implemented in the machine learning training component 110 selects a subset of features 212, i.e., performs feature extraction 211 when training a machine learning network for resource prediction 213. The machine learning training phase receives the historical environment data 151 and the historical resource requirement data 161 as explained above.” ¶ [0041] states “The predictive network 213 can actually be any network that is capable of predicting the future of a (multi-variate) time series, e.g., linear regression, logistic regression, classification and regression trees, naive Bayes network, k-nearest neighbors (KNN), k-learning vector quantization, support vector machines, random forest, gradient boosting trees, and the like.”). Fawcett, ‘606D, Acuna Agost, and Guo do not explicitly teach selecting a cluster. However, in an analogous art, Sethi teach and wherein said executing the trained MLM for the current section comprises: executing the trained KNN algorithm to select a cluster of the N clusters, wherein the selected cluster has a highest plurality of feature vector instances of K nearest-neighbor feature vector instances with respect to the first instance of the feature vector for the current section, and wherein K is an odd positive integer of at least 1 (¶ [0047] states “In one or more embodiments, the KNN model may group (or classify) similar requests into BW levels (e.g., a high BW request, a low BW request).” ¶ [0048] states “The KNN model: (i) identifies the nearest neighbors of a given query point so that the model can assign a class to that point and (ii) operates based on the assumption that similar data points can be found near one another.” ¶ [0049] states “As yet another example, if k=3, the KNN model calculates the Euclidean distance of three neighbors to determine the three nearest neighbors. The model counts the number of data points in each class. The model then assigns a new data point to a class in which the number of neighbors is maximum.” ¶ [0050] states “To avoid ties in classification, an odd number of k value (e.g., k=1, 3, 5, etc.) should be used in the KNN model.”); said trained AI model being specific to the feature vectors in the selected cluster, said executing the trained AI model using as input: the first instance of the feature vector for the current section and an identification of the currently available resources (¶ [0049] states “As yet another example, if k=3, the KNN model calculates the Euclidean distance of three neighbors to determine the three nearest neighbors. The model counts the number of data points in each class. The model then assigns a new data point to a class in which the number of neighbors is maximum.”) It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the KNN algorithm that selects the classification based on the class that has the most neighbors in K nearest neighbors group of Sethi with the machine learning model used to predict and allocate resources of Fawcett, the course sections based on assignment due date of ‘606D, and the KNN predictive network and clusters of Acuna Agost, and the resource registry of Guo. As a result of the combination, one of the clusters of Acuna Agost is selected in the KNN algorithm of Sethi. The cluster of Acuna Agost is analogous to the class of Sethi. Additionally, it would be obvious that the trained AI model would be specific to the feature vectors in the selected cluster because the existing feature vectors in the cluster are a type of historical information that can be used in training the AI model. When the model is trained on historical cluster information, it is specific to the cluster. A person having ordinary skill in the art would have been motivated to make this combination so that a large dataset of requests can be classified (¶ [0052] states “the KNN model may group the requests into two request categories: (i) a high BW request and (ii) a low BW request.”). These categorized requests can then be used in a process that generates an improved recommendation to upgrade a network which leads to less performance degradation during production workloads (¶ [0012] states “Finally, the upgrade recommendation for the communication network may be generated based on the response time variation. As a result of these processes, one or more embodiments disclosed herein advantageously provide the user and/or the administrator a much clearer view about upgrading to the newer communication network such that the user and/or the administrator can plan accordingly. In this manner, the user and/or the administrator may experience less performance degradation during production workloads.”) See ¶ [0012] for additional details. With regard to claim 4, Fawcett, ‘606D, Acuna Agost, Guo, and Sethi teach the method of claim 3. Fawcett additionally teaches and training the AI model (¶ [0076] states “Processing proceeds to operation S265 (see FIG. 4), where ML mod 365 (see FIG. 5) trains an ML model using the historical information and the corresponding scores generated by scoring mod 360.”). Acuna Agost additionally teaches said method further comprising training, by the one or more processors, the MLM, wherein said training the MLM comprises: configuring the KNN algorithm for being subsequently executed (¶ [0033] states “For determining the optimal number of clusters, different approaches can be used, e.g., elbow curve method or silhouette analysis as known in the art.”); With regard to claim 5, Fawcett, ‘606D, Acuna Agost, Guo, and Sethi teach the method of claim 4. Acuna Acost additionally teaches wherein said configuring the KNN algorithm comprises: determining the number (N) of clusters (¶ [0033] states “For determining the optimal number of clusters, different approaches can be used, e.g., elbow curve method or silhouette analysis as known in the art.”); grouping, using a clustering algorithm, the current instances of the feature vector into the N clusters (¶ [0045] states “A cluster represents time periods having correlated values of features. An unsupervised machine learning algorithm such as a k-means clustering may be used to determine the clusters.”). With regard to claims 12-14, they are rejected using the same rationale as claims 3-5. Claim(s) 6 and 15 is/are rejected under 35 U.S.C. 103 as being unpatentable over Fawcett, ‘606D, Acuna Agost, Guo, and Sethi, and further in view of Das. With regard to claim 6, Fawcett, ‘606D, Acuna Agost, Guo, and Sethi teach the method of claim 4. Fawcett additionally teaches wherein said training the AI model comprises: providing feature vectors and resources of each cluster of each section of the historical courses (¶ [0076] states “Processing proceeds to operation S265 (see FIG. 4), where ML mod 365 (see FIG. 5) trains an ML model using the historical information and the corresponding scores generated by scoring mod 360.” ¶ [0073] states “the historical processing element resource allocation information (also referred to simply as the “historical information”) includes information pertaining to historical allocations of resources to processing elements of the stream processing job, how the processing elements performed under those allocations, and the outputs produced by the stream processing job using those allocations.”); Acuna Agost additionally teaches wherein said training the AI model comprises: providing feature vectors and resources of each cluster of each section of the historical courses (¶ [0036] states “the machine learning training phase implemented in the machine learning training component 110 selects a subset of features 212, i.e., performs feature extraction 211 when training a machine learning network for resource prediction 213. The machine learning training phase receives the historical environment data 151 and the historical resource requirement data 161 as explained above.”); Fawcett, ‘606D, Acuna Agost, Guo, and Sethi do not explicitly teach the process of training a machine learning model. However, in an analogous art, Das teaches splitting the feature vectors in each cluster of each section into training feature vectors and testing feature vectors (¶ [0044] states “In a split test, the raw data 102a is divided into two parts, one is the training dataset 102 and the other is the test dataset 108.”); training each cluster of each section to predict resources of each section, using the training feature vectors, resulting in an initially trained AI model (¶ [0044] states “Once the raw data 102a is split, the supervised model 106 is trained by applying the supervised algorithm 104 over the training dataset 102.”); testing the initially trained AI model to assess an accuracy of predicted resources for each cluster of each section, using the testing feature vectors (¶ [0044] states “The accuracy (x %, 112) of the model 106 is tested using the test dataset 108.”); and ascertaining, from a result of said testing, whether the initially trained AI model should be improved, and if so, then modifying the AI model followed re-executing steps (a)-(c) (¶ [0045] states “Once a desired accuracy is achieved, the supervised model 106 is launched in a real-time scenario such that the new unlabelled data can be presented to the model 106 and a likely label can be guessed or predicted for the unlabelled data.” ¶ [0010] states “The method includes generating, by the processor, an updated labelled data3 (LD3) by executing the retrained supervised model.” ¶ [0062] states “In one embodiment, the trained supervised learning model 408 may also need to be retained based on the identification of lack of accuracy (e.g., when the clusters are not giving homogeneous results) as the data gets updated continuously.” ¶ [0042] states “The supervised algorithm 104 iteratively corrects predictions on the training dataset 102.” Examiner’s Note: after the model has been retrained, it is executed). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the executing of the retrained supervised model of Das with the retraining of the machine learning model of Acuna Agost, the machine learning model of Fawcett, the resource allocation prediction of ‘606D, the resource registry of Guo, and the KNN algorithm of Sethi. As a result, the training data of Das is the historical resource data of Fawcett and Acuna Agost. After training, the process of using a machine learning model to allocate resources of Fawcett, ‘606D, Acuna Agost, and Guo is performed. A person having ordinary skill in the art would have been motivated to make this combination for the purpose of improving model capabilities by allowing models to process new and updated datasets (¶ [0038] states “Additionally, there always arises a need to retrain an existing model i.e., the pre-trained supervised model to handle new and updated dataset for categorization into correct labels.”). Further, by training and retraining a model by using a split test, the resulting models become optimized and can accurately predict responses for future objects (¶ [0043] states “model evaluation helps in selection of the optimum model, which is more robust and can accurately predict responses for future subjects. There are various ways by which a model can be evaluated such as a split test.”) With regard to claim 15, it is rejected using the same rationale as claim 6. Claim(s) 8 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Fawcett, ‘606D, Acuna Agost, and Guo, and further in view of Mickey Pat. No. US 20240420052 A1 (hereafter Mickey). With regard to claim 8, Fawcett, ‘606D, Acuna Agost, and Guo teach the method of claim 1. Fawcett teaches in response to a determination by the one or more processors that the timeline is not acceptable, adjusting, by the one or more processors, the resources of the sections to generate a new timeline that is acceptable (¶ [0083] states “Processing proceeds to operation S280 (see FIG. 4), where resource allocation mod 370 (see FIG. 5) reallocates resources during execution of the stream processing job according to changed conditions of the stream processing job (i.e., conditions that have changed since a beginning of the executing of the stream processing job)”) Fawcett, ‘606D, Acuna Agost, and Guo do not explicitly teach generating a timeline. However, in an analogous art, Mickey teaches said method further comprising: generating, after step (c) by the one or more processors, a timeline of the course in accordance with availability of the resources allocated to the sections of the course (¶ [0005] states “receive a workflow; retrieve a plurality of tasks associated with the received workflow; generate a timeline for execution of each of each task including for at least one task a lead time and a dependent task.” See FIG. 3. ¶ [0030] states “In some embodiments, the scheduler may send feedback to the timeline generator indicating enough resources are not available (which may be considered a task modification), and the timeline tool may adjust dates and lead times, in some instances, in the timeline.”); in response to a determination by the one or more processors that the timeline is not acceptable, adjusting, by the one or more processors, the resources of the sections to generate a new timeline that is acceptable (¶ [0030] states “In some embodiments, the scheduler may send feedback to the timeline generator indicating enough resources are not available (which may be considered a task modification), and the timeline tool may adjust dates and lead times, in some instances, in the timeline.”). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine the timeline generation and timeline regeneration in response to feedback indicating there are not enough resources of Mickey with the resource reallocation of Fawcett, the resource allocation prediction of ‘606D, the machine learning model of Acuna Agost, and the resource registry of Guo. As a result, when the timeline is not acceptable, the resource reallocation of Fawcett is performed, and then a new timeline is generated. It would have been obvious for the timeline generation to occur after step (c) because generating the timeline occurs after receiving a workflow (¶ [0005]). The adjustment of resources in step (c) is the receiving of a workflow. A person having ordinary skill in the art would have been motivated to make this combination “to provide improvements in the speed, security, and accuracy of such a timeline tool for an enterprise.” Timelines are used to monitor complex workflows, so “it would be desirable to provide improved systems and methods to accurately and automatically provide a timeline for a workflow. Moreover, the timeline should be easy to access, understand, interpret, update, etc” (¶ [0003]). See ¶ [0002] and [0027]” for additional improvements. With regard to claim 18, it is rejected using the same rationale as claim 8. Claim(s) 9-10 and 19-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Fawcett, ‘606D, Acuna Agost, and Guo, and further in view of Harwood Pat. No. US 20200142753 A1 (hereafter Harwood). With regard to claim 9, Fawcett, ‘606D, Acuna Agost, and Guo teach the method of claim 1. Fawcett, ‘606D, Acuna Agost, and Guo do not explicitly teach performing a live implementation of the course. However, in an analogous art, Harwood teaches said method further comprising: after step (c), performing a live implementation of the course in accordance with the resources allocated to the sections of the course (¶ [0005] states “executing a workload in a distributed accelerator-as-a-service computing system using a first set of resources allocated to the executing workload, wherein the first set of resources comprises accelerator resources; monitoring a performance of the executing workload to detect a bottleneck condition which causes a decrease in the performance of the executing workload; responsive to detecting the bottleneck condition, determining a second set of resources to reallocate to the executing workload, which would result in at least one of reducing and eliminating the bottleneck.” ¶ [0037] states “The workload execution continues using the reallocated set of resources, and the monitoring continues to detect for bottleneck conditions of the executing workload (block 204).” See FIG. 2). It would have been obvious to a person having ordinary skill in the art prior to the effective filing date to combine reallocation of resources responsive to a bottleneck of Harwood with the resource reallocation of Fawcett, the resource allocation prediction of ‘606D, the machine learning model of Acuna Agost, and the resource registry of Guo. As a result, the combination detects bottlenecks and reallocates resources accordingly. It would be obvious for the monitoring of a bottleneck to occur after step (c) because the monitoring and response to bottleneck is continuous and follows an allocation of resources. A person having ordinary skill in the art would have been motivated to make this combination for the purpose of “reducing and eliminating the bottleneck condition” (¶ [0005]). By eliminating bottlenecks, resource utilization is optimized, and workload performance is enhanced (¶ [0004] states “Therefore, in distributed computing environments, mechanisms are needed to optimize resource utilization and ensure enhanced performance of running workloads.”). With regard to claim 10, Fawcett, ‘606D, Acuna Agost, Guo and Harwood teach the method of claim 9. Harwood additionally teaches wherein said performing the live implementation of the course for one section of the course comprises: determining, by the one or more processors, a bottleneck that impedes implementation of the one section and in response, eliminating, by the one or more processors, the bottleneck by modifying the resources allocated to the one section (¶ [0005] states “executing a workload in a distributed accelerator-as-a-service computing system using a first set of resources allocated to the executing workload, wherein the first set of resources comprises accelerator resources; monitoring a performance of the executing workload to detect a bottleneck condition which causes a decrease in the performance of the executing workload; responsive to detecting the bottleneck condition, determining a second set of resources to reallocate to the executing workload, which would result in at least one of reducing and eliminating the bottleneck.” ¶ [0037] states “The workload execution continues using the reallocated set of resources, and the monitoring continues to detect for bottleneck conditions of the executing workload (block 204).” See FIG. 2). With regard to claims 19-20, they are rejected using the same rationale as claims 9-10. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US 20240135161 A1 teaches RESOURCE INFRASTRUCTURE PREDICTION USING MACHINE LEARNING US 11579937 B1 teaches Generation Of Cloud Service Inventory US 20150089376 A1 teaches VIRTUAL CLASSROOM MANAGEMENT DELIVERY SYSTEM AND METHOD US 20200311541 A1 teaches METRIC VALUE CALCULATION FOR CONTINUOUS LEARNING SYSTEM Any inquiry concerning this communication or earlier communications from the examiner should be directed to PETER L YUAN whose telephone number is (571)272-5737. The examiner can normally be reached Mon-Fri 7:30am-5pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets can be reached at 571-272-3338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /PETER LI YUAN/Examiner, Art Unit 2197 /BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197
Read full office action

Prosecution Timeline

Jun 29, 2023
Application Filed
Nov 29, 2023
Response after Non-Final Action
Sep 09, 2026
Non-Final Rejection mailed — §101, §103, §112 (current)

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

1-2
Expected OA Rounds
100%
Grant Probability
99%
With Interview (+0.0%)
2y 11m (~0m remaining)
Median Time to Grant
Low
PTA Risk
Based on 1 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