DETAILED ACTION
This communication is in response to the application filed on 2/12/2024 in which claims 18 and 20-38 are pending in the application. Claims 18, 35, and 38 are in independent form. Claims 1-17 and 19 are cancelled.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Information Disclosure Statement
The information disclosure statements (IDS) submitted on 04/29/2025 and 02/12/2024 are in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements are being considered by the examiner.
Drawings
The drawings are objected to because in FIG. 5, box 510 reads "include job Fulfillment for as ...," but seems to omit the object of "for". Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. The figure or figure number of an amended drawing should not be labeled as “amended.” If a drawing figure is to be canceled, the appropriate figure must be removed from the replacement sheet, and where necessary, the remaining figures must be renumbered and appropriate changes made to the brief description of the several views of the drawings for consistency. Additional replacement sheets may be necessary to show the renumbering of the remaining figures. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance.
Specification
Applicant is reminded of the proper language and format for an abstract of the disclosure.
The abstract should be in narrative form and generally limited to a single paragraph on a separate sheet within the range of 50 to 150 words in length. The abstract should describe the disclosure sufficiently to assist readers in deciding whether there is a need for consulting the full patent text for details.
The language should be clear and concise and should not repeat information given in the title. It should avoid using phrases which can be implied, such as, “The disclosure concerns,” “The disclosure defined by this invention,” “The disclosure describes,” etc. In addition, the form and legal phraseology often used in patent claims, such as “means” and “said,” should be avoided.
The abstract of the disclosure is objected to because it uses legal phraseology, such as "comprising", "configured to", and "one or more". The second sentence "The device, system or computer program comprising a data profiler configured to generate job parameters using an input data set" is a fragmented sentence because the whole sentence reads as one noun. A corrected abstract of the disclosure is required and must be presented on a separate sheet, apart from any other text. See MPEP § 608.01(b).
The disclosure is objected to because of the following informalities:
Paragraph 0015 [pg. 3 ln. 21] states the resource optimizer may receive the job parameters “from the job observer 104” but the data profiler 102 appears to be intended.
In paragraph 0016 [pg. 4 ln. 16], “the data process system configurations” is missing “-ing” in processing.
In paragraph 0017 [pg. 4 ln 17], remove “be” from “data processing system 105 may be generate”.
Paragraph 0018 [pg. 5 ln. 2 and 5] refers to “job profiler” as 101 and “input data” as 102 when they should be swapped.
In paragraph 0018 [pg. 5 ln 7], “analysis of the metadata of the input data set 101[.] The data profiler” is missing a period.
In paragraph 0020 [pg. 5 ln. 25], “with sufficient program[m]ing to provide”, “programing” should be spelt “programming”.
In paragraph 0025 [pg. 8 ln. 10-11], “Reinforcement learning models an agent taking an action at based on an environment state st+ n an environment space S” is missing a connector word between “environment state” and “environment space”.
In paragraph 0030 [pg. 9 ln. 9], “the current time step using the using the job” repeats the phrase “using the” twice.
In paragraph 0030 [pg. 9 ln. 17], “fulfilment” is used while everywhere else in the specification uses “fulfillment”.
In paragraph 0034 [pg. 11. ln. 8], “for the job fulfillment metrics[.] The data” is missing a period.
In paragraph 0035 [pg. 11 ln. 26], “the job observer provides feedback job fulfillment metrics” should likely read “feedback comprising job” unless “feedback” is an adjective.
In paragraph 0038 [pg. 12 ln. 27], “which cause processor to” should read “which causes the processor to”.
Paragraph 0038 [pg. 12 ln. 17-18] assigns refence number 624 to both “Resource Optimizer Module” and “Job observer Module” when “Job observer Module” should be 625.
Appropriate correction is required.
35 U.S.C. 112(a) or pre-AIA 35 U.S.C. 112, requires the specification to be written in “full, clear, concise, and exact terms.” The specification is replete with terms which are not clear, concise and exact. The specification should be revised carefully in order to comply with 35 U.S.C. 112(a) or pre-AIA 35 U.S.C. 112. Examples can be seen above.
Claim Objections
Claims 25, 27, 31, 32, 34, 35, and 38 are objected to because of the following informalities:
In claims 25, 31, and 32, “fulfilment” is used while the specification uses “fulfillment”. Different spelling of words should be consistent throughout the disclosure.
In claims 27 and 34, verbs should agree with the plural subject “configurations” (includes/is to include/are).
In claim 32, “one or more the job fulfillment metrics” should read “one or more job fulfillment metrics.”
In claims 35 and 38, the last step mixes grammatical forms reciting “provide feedback relating to...” where claim 18 recites “providing feedback relating to…”. Grammatical forms should be kept consistent between the claims.
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 18 and 20-38 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.
Claim 18 recites the limitation "the one or more data system processing configurations" in second to last line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 18 recites a “one or more data processing system configurations”, but a “one or more data system processing configurations” is never introduced. For examination purposes, the examiner has interpreted “one or more data system processing configurations” as “one or more data processing system configurations”. Claims 20-34, which are dependent on claim 18, are similarly rejected.
Claim 18 recites the limitation "the resource optimizer" in the last line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 18 earlier recites “a machine learning model trained with a machine learning algorithm” but not a resource optimizer. For examination purposes, the examiner has interpreted the resource optimizer as referring to the machine learning model trained with a machine learning algorithm recited earlier in the claim as understood consistent with the line “A resource optimizer including a machine learning model is trained with a machine learning algorithm” of the Abstract. Claims 20-34, which are dependent on claim 18, are similarly rejected.
Claim 18 recites the limitation "providing the one or more data processing system parameters" in the third to last line of the claim. There is insufficient antecedent basis for this limitation in the claim. The preceding line generates “data processing system configurations”, not “data processing system parameters”. For examination purposes, the examiner has interpreted “data processing system parameters” as “data processing system configurations”. Claims 20-34, which are dependent on claim 18, are similarly rejected.
Claim 22 recites the limitation "a machine learning model trained with a machine learning algorithm" in the first line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 18, which claim 22 depends on, already introduces a “machine learning model”. Therefore, it is unclear whether the machine learning model being referenced by the limitation “the machine learning model includes a convolutional neural network” in the last line of the claim is referring to a distinct model or to that of claim 18. For examination purposes, the examiner has interpreted the limitation as referring to the same machine learning model recited in claim 18. It is suggested to delete the duplicate recitation.
Claim 23 recites the limitation "a machine learning model trained with a machine learning algorithm" in the first line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 18, which claim 23 depends on, already introduces a “machine learning algorithm”. Therefore, it is unclear whether the machine learning algorithm being referenced by the limitation “the machine learning algorithm includes a reinforcement learning algorithm” in the last line of the claim is referring to a distinct algorithm or to that of claim 18. For examination purposes, the examiner has interpreted the limitation as referring to the same machine learning algorithm recited in claim 18. Claims 24-26, which are dependent on claim 18, are similarly rejected.
Claim 26 recites the limitation "the one or more job parameters" in the second line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 18, which 26 draws antecedent from, recites “job parameters” without “one or more”. For examination purposes, the examiner has interpreted “the one or more job parameters” as the job parameters of claim 18.
Claim 32 recites the limitation "the job fulfilment metrics". There is insufficient antecedent basis for this limitation in the claim. Claim 18, which claim 32 depends on, never introduces a “job fulfilment metrics”. Claim 31, which claim 32 seems intended to be depended on, introduces a “one or more job fulfilment metrics”, but claim 32 does not depend on it and would still be indefinite as written. For examination purposes, the examiner has interpreted the limitation as “the feedback comprises one or more job fulfilment metrics” where job fulfilment metrics are understood consistent with paragraphs [0014] and [0015] of the specification.
Claim 33 recites the limitation "the job state information". There is insufficient antecedent basis for this limitation in the claim. Claim 18, which claim 33 depends on, never recites a “job state information”, but claim 31, which claim 33 seems intended to be depended on, introduces a “job state information”. For examination purposes, the examiner has interpreted the limitation as “providing job state information to a display screen” where job state information is understood consistent with paragraph [0033] of the specification.
Claim 34 recites the limitation "the job state information". There is insufficient antecedent basis for this limitation in the claim. Claim 18, which claim 34 depends on, never recites a “job state information”. For examination purposes, the examiner has interpreted the limitation as “wherein job state information is received over the network” where job state information is understood consistent with paragraph [0033] of the specification.
Claim 35 recites the limitation "the one or more data system processing configurations" in second to last line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 35 recites a “one or more data processing system configurations”, but a “one or more data system processing configurations” is never introduced. For examination purposes, the examiner has interpreted “one or more data system processing configurations” as “one or more data processing system configurations”. Claims 36 and 37, which are dependent on claim 35, are similarly rejected.
Claim 35 recites the limitation "the resource optimizer" in the last line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 35 earlier recites “a machine learning model trained with a machine learning algorithm” but not a resource optimizer. For examination purposes, the examiner has interpreted the resource optimizer as referring to the machine learning model trained with a machine learning algorithm recited earlier in the claim as understood consistent with the line “A resource optimizer including a machine learning model is trained with a machine learning algorithm” of the Abstract. Claims 36-37, which are dependent on claim 35, are similarly rejected.
Claim 38 recites the limitation "the one or more data system processing configurations" in second to last line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 38 recites a “one or more data processing system configurations”, but a “one or more data system processing configurations” is never introduced. For examination purposes, the examiner has interpreted “one or more data system processing configurations” as “one or more data processing system configurations”.
Claim 38 recites the limitation "the resource optimizer" in the last line of the claim. There is insufficient antecedent basis for this limitation in the claim. Claim 38 earlier recites “a machine learning model trained with a machine learning algorithm” but not a resource optimizer. For examination purposes, the examiner has interpreted the resource optimizer as referring to the machine learning model trained with a machine learning algorithm recited earlier in the claim as understood consistent with the line “A resource optimizer including a machine learning model is trained with a machine learning algorithm” of the Abstract.
Claim 38 recites the limitation "the one or more processors" in the first line of the claim. However, a “one or more processors” is never introduced in the claim. There is insufficient antecedent basis for this limitation in the claim.
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 18 and 20-38 are proposed to be rejected under §101 as directed to an abstract idea without significantly more.
Step 1:
Claims 18 and 20-34 are directed to a system and therefore is a machine, which is one of the statutory categories of inventions. Claims 35-37 are directed to a computer-implemented method and therefore is a process, which is one of the statutory categories of inventions. Claim 38 is directed to a non-transitory computer-readable media and therefore is a manufacture, which is one of the statutory categories of inventions.
Step 2A, Prong 1:
Claims 18, 35, and 38 recite the limitations “generating job parameters using an input data set,” “generating one or more data processing system configurations using the job parameters from a data profiler with a with a machine learning model trained with a machine learning algorithm,” and “monitoring a data processing job having the one or more data system processing configurations on the data processing system,” as drafted, are functions that, under their broadest reasonable interpretation, recite the abstract idea of a mental process. For example, a person could mentally identify job parameters from an input data set, mentally determine appropriate processing system configurations based on those parameters, and observe the execution of a data processing job. The limitations encompass a human mind carrying out the functions through observation, evaluation, judgement and/or opinion, or even with the aid of pen and paper. Thus, these limitations recite and fall within the “Mental Processes” grouping of abstract ideas under Prong 1 (MPEP 2106.04(a)(2)(III)).
Step 2A, Prong 2:
The judicial exception is not integrated into a practical application. The claims recite the additional elements “one or more processors,” “one or more non-transitory computer-readable media that store instructions,” “data profiler,” “machine learning model trained with a machine learning algorithm,” “data processing system,” and “resource optimizer.” These additional elements are recited at a high-level of generality (i.e., as a generic processor performing a generic computer function) such that they amount to no more than mere instructions to apply the exception using generic computer components (MPEP 2106.05(f)). The additional limitations “providing the one or more data processing system parameters to a data processing system” and “providing feedback relating to the monitoring to the resource optimizer” is a mere generic transmission of collected and analyzed data which is considered extra-solution activity (MPEP 2106.05(g)). Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception.
Step 2B:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The limitations of “providing the one or more data processing system configurations to a data processing system” and “providing feedback relating to the monitoring to the resource optimizer” is a mere generic transmission of collected and analyzed data which is a well-understood, routine, and conventional activity when claimed at this level of generality (MPEP 2106.05(d)). As discussed above with respect to integration of the abstract idea into a practical application, the additional elements of “one or more processors,” “one or more non-transitory computer-readable media that store instructions,” “data profiler,” “machine learning model trained with a machine learning algorithm,” “data processing system,” and “resource optimizer” are merely generic computer or generic computer components to apply the judicial exception, which cannot provide an inventive concept. Accordingly, the additional elements do not amount to significantly more than the judicial exception.
Dependent claims 20 and 36 recite “job parameters comprise one or more of data location, data size, estimated job runtime, job requirements, node configuration, data configuration, or estimated memory parallelization,” which describes the information the abstract idea operates on rather than an additional element beyond the judicial exception (MPEP 2016.04(a)(2)), and therefore recites no additional element that integrates the exception or amount to significantly more.
Dependent claims 21 and 37 recite “checking the input data set for one or more of missing values, null values, or incompatible values”, which itself is a mental process that can be performed by a human mind through observation, evaluation, judgement, and/or opinion, or even with the aid of pen and paper (MPEP 2106.04(a)(2)(III)), and does not amount to significantly more.
Dependent claim 22 recites “wherein a machine learning model trained with a machine learning algorithm is configured to generate the one or more data processing system configurations, wherein the machine learning model includes a convolutional neural network,” which amounts to no more than mere instructions to apply the abstract idea of generating the data processing system configurations using a generic computer-implemented tool (MPEP 2106.05(f)), and does not amount to significantly more.
Dependent claim 23 recites “wherein a machine learning model trained with a machine learning algorithm is configured to generate the one or more data processing system configurations, wherein the machine learning algorithm includes a reinforcement learning algorithm,” which amounts to no more than mere instructions to apply the abstract idea of generating the data processing system configurations using a generic computer-implemented tool (MPEP 2106.05(f)), and does not amount to significantly more.
Dependent claim 24 recites “the reinforcement learning algorithm includes a policy to optimize at least cost based on runtime constraints,” which recites a further mental processing, selecting a least cost option subject to a constraint (MPEP 2106.04(a)(2)(III)), carried out with a computer-implemented tool (MPEP 2106.05(f)), and does not amount to significantly more.
Dependent claim 25 recites “using one or more job fulfilment metrics as state information with the reinforcement learning algorithm,” in which the metrics are the information the abstract idea operates on (MPEP 2106.04(a)(2)) and the algorithm is a generic computer-implemented tool (MPEP 2106.05(f)), and does not amount to significantly more.
Dependent claim 26 recites “using the one or more job parameters as state information with the reinforcement learning algorithm,” in which the parameters are the information the abstract idea operates on (MPEP 2106.04(a)(2)) and the algorithm is a generic computer-implemented tool (MPEP 2106.05(f)), and does not amount to significantly more.
Dependent claim 27 recites “the one or more data processing system configurations includes a driver system configuration and one or more executor system configurations,” which describes the content of the configuration the abstract idea produces rather than an additional element beyond the exception (MPEP 2106.04(a)(2)), and does not amount to significantly more.
Dependent claim 28 recites “the driver system configuration includes one or more of number of cores, number of tasks, parallelism, or instance type,” which describes the content of the configuration the abstract idea produces (MPEP 2106.04(a)(2)), and does not amount to significantly more.
Dependent claim 29 recites “instance type includes one or more of CPU configuration, Memory size, CPU Speed, Memory Speed, or system size,” which describes the content of the configuration the abstract idea produces (MPEP 2106.04(a)(2)), and does not amount to significantly more.
Dependent claim 30 recites “wherein the executor system configuration includes one or more of memory size, memory speed, number of executor cores, or number of executor tasks,” which describes the content of the configuration the abstract idea produces (MPEP 2106.04(a)(2)), and does not amount to significantly more.
Dependent claim 31 recites “receiving job state information from the data processing system; and generating one or more job fulfilment metrics from the job state information,” in which “receiving job state information” is insignificant extra-solution data gathering (MPEP 2106.05(g)) and “generating one or more job fulfilment metrics” is a mental process that is part of the abstract idea (MPEP 2106.04(a)(2)(III)), and does not amount to significantly more.
Dependent claim 32 recites “the feedback comprises one or more the job fulfilment metrics,” which describes the content of the recited output rather than an additional element beyond the exception (MPEP 2106.04(a)(2)), and does not amount to significantly more.
Dependent claim 33 recites “providing the job state information to a display screen; and displaying the job state information to a user on the display screen,” which is insignificant extra-solution activity of mere outputting and displaying of data (MPEP 2106.05(g)), and does not amount to significantly more.
Dependent claim 34 recites “the one or more data processing system configurations is sent over a network to the data processing system and wherein the job state information is received over the network,” which is insignificant extra-solution activity of mere transmission and reception of data over a network (MPEP 2106.05(g)), and does not amount to significantly more.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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) 18, 20-28, and 30-38 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wu (US 10,521,440) in view of Subramanian (US 11,507,430).
Regarding claim 18, Wu teaches:
A system comprising (col. 1:53-col. 2:14, “system: includes edge nodes … and the one or more cluster of nodes”; Fig 1):
one or more processors (col. 4:34-40, “computing/data nodes, each node comprising at least one processor”), and
one or more non-transitory computer-readable media that store instructions operations (col. 2:1-15, one or more non-transitory computer-readable mediums having processor-executable instructions stored thereon for a profiling a dataset”) which, when executed by the one or more processors, cause the one or more processors to perform operations (col. 2:4-6, “The processor-executable instructions, when executed, facilitate performance of the following:”) comprising:
generating job parameters using an input data set (col. 5:31-42, “At stage 201, a metadata storage such as a Hive MetaStore is queried to fetch table information. For example, an information fetch 112 module or application of an edge node 101 communicates with a metadata database 100, and starting from the table name as a single input, relevant metadata information about the table (such as data size, number of HDFS blocks, HDFS block size and data location) is retrieved from the metadata database 100.”; Fig. 1, info fetch 112, metadata DB 100; Fig. 2, stage 201); The examiner notes that even though Wu doesn’t explicitly “generate”, the process of querying table information (input data set) into a database and receiving metadata of the input (job parameters) is inputting something to receive an output, which is generating under BRI.
generating one or more data processing system configurations using the job parameters from a data profiler (col. 5:43-59, “At stage 202, a job optimizer (for example, job optimizer 111 executed by edge node 101) intelligently allocates system resources and performs optimization for the Spark Jobs operation so as to automatically adapt the implementation of the Spark Jobs for a specific dataset that is being profiled. … the job optimizer determines a number of Spark configuration properties such as number of executors, executor cores, driver memory, driver cores, executor memory, level of parallelism, networking properties, etc.”) …;
providing the one or more data processing system parameters to a data processing system (col. 6:34-40, “Thus, the Query Metadata Storage and Job Optimizer steps at stages 201 and 202 are used to automatically and intelligently allocate system resource and optimize Spark Jobs, which are carried out at stage 203 via one or more clusters (such as cluster 102)”);
Wu, however, does not teach:
that generating one or more data processing system configurations using the job parameters from a data profiler were “with a machine learning model trained with a machine learning algorithm”;
monitoring a data processing job having the one or more data system processing configurations on the data processing system; and
providing feedback relating to the monitoring to the resource optimizer.
Subramanian does teach:
that generating one or more data processing system configurations using the job parameters from a data profiler were “with a machine learning model trained with a machine learning algorithm (col. 5:32-49, “AI model 222 runs its inference model and produces a predicted best or recommended resource configuration for that workload”);
monitoring a data processing job having the one or more data system processing configurations on the data processing system (col. 4:36-61, “Telemetry data and application performance monitoring can be provided to accelerator 116 in or out of band from communications between pod manager 114 and edge gateway 112”); and
providing feedback relating to the monitoring to the resource optimizer (col. 4:65-col. 5:6, “the AI model can consider any of measured telemetry data, performance indicators, boundness, utilized compute resources, or evaluation or monitoring of the application performance”).
Both Wu and Subramanian are in the save field of optimization of resource configurations for data processing systems and therefore are combinable. It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to substitute Subramanian’s trained reinforcement learning resource optimizer for Wu’s heuristic job optimizer (col. 7:11-22), because the substitution of one known resource optimizer for another performing the same task of recommending resource configurations from the workload parameters would have yielded the predictable result of configurations better matched to each workload, with a reasonable expectation of success because both optimizers operate on the same inputs and produce the same kind of output, being a resource configuration for the data processing system. It would have been further obvious to incorporate Subramanian’s telemetry monitoring and feedback into Wu’s pipeline, because doing so would have yielded the predictable result of configurations that improve over successive runs as the model learns from observed performance, the benefit Subramanian that discloses (col. 6:29-33).
Claims 35 and 38 recite commensurate subject matter as claim 18. Therefore, they are rejected for the same reasons.
Regarding claim 20, Wu teaches:
wherein the job parameters comprise one or more of data location, data size, estimated job runtime, job requirements, node configuration, data configuration, or estimated memory parallelization (col. 5:35-37, “relevant metadata information about the table (such as data size, number of HDFS blocks, HDFS block size and data location)”).
The claim recites the listed parameters in the alternative, and disclosure of any of them meets the limitation. The rationale set forth in claim 18 applies, and no further combination is required.
Claim 36 recites commensurate subject matter as claim 20. Therefore, it is rejected for the same reasons.
Regarding claim 21, Wu teaches:
checking the input data set for one or more of missing values, null values, or incompatible values (col. 2:31-39, “generates aggregates such as nulls, average values, maximum”; col. 10:64-col. 11:2, “aggregated data includes … a number of distinct values (1), a number of nulls (0), a number of empties (0)”).
The claim recites the listed values in the alternative, and disclosure of any of them meets the limitation. The rationale set forth in claim 18 applies, and no further combination is required.
Claim 37 recites commensurate subject matter as claim 21. Therefore, it is rejected for the same reasons.
Regarding claim 22, Subramanian teaches:
wherein a machine learning model trained with a machine learning algorithm is configured to generate the one or more data processing system configurations, wherein the machine learning model includes a convolutional neural network (col. 5:16-21, “At least because of potentially massive amount of telemetry information received, a hardware-based accelerator (eg., a neural network, convolutional neural network, or other type of neural network) can be used to accelerate suggestions for resource allocations based on the telemetry data”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to implement the model of the combination as a convolution neural network, because Subramanian discloses the convolution neural network as one of the suitable models for accelerating the resource allocation suggestions, and doing so amounts to the selection of a known model type for its intended purpose with predictable results.
Regarding claim 23, Subramanian teaches:
wherein a machine learning model trained with a machine learning algorithm is configured to generate the one or more data processing system configurations, wherein the machine learning algorithm includes a reinforcement learning algorithm (col. 4:62-col. 5:3, “Accelerator 116 can use an artificial intelligence (AI) model or models that use a supervised or unsupervised reinforcement learning scheme to guide its suggestions of compute resources.”; col. 6:1-6, “Reinforcement learning provides for AI model 222 to run through sequences of state-action pairs, observe the rewards that result from the recommendation, and adapt the recommendations to maximize or increase accumulated rewards.”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to train the model of the combination with reinforcement learning, because Subramanian teaches reinforcement learning as the training scheme for this resource configuration model, yielding the predictable result of a model that improves its recommendations from feedback.
Regarding claim 24, Subramanian teaches:
wherein the reinforcement learning algorithm includes a policy to optimize at least cost based on runtime constraints (col. 10:11-20, “A suggested resource configuration can be one that is expected to meet or exceed performance requirements specified in the SLA and also provides an acceptably low TCO or lowest TCO. Factors in deciding a TCO include cost of available equipment, age of available equipment, power use of expected from a resource allocation, idleness of a computing resource, as well as other factors.”; col. 11:31-51, “A highest reward can be given for meeting SLA requirements and maximizing data center utilization. …”; col. 2:31-35 “For example, the KPI can be considered to be end-to-end latency of a workload (e.g., time from a workload request to completion of the workload by a returned response or result)”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to configure the reinforcement learning policy of the combination with Subramanian’s reward structure, because rewarding configurations that meet the SLA latency requirement while penalizing over-allocation of resource predictable yields the lowest-cost configuration that still satisfies the runtime requirement, the results Subramanian’s reward is designed to achieve.
Regarding claim 25, Subramanian teaches:
using one or more job fulfilment metrics as state information with the reinforcement learning algorithm (col. 6:22-28, “Accelerator 300 feeds the AI model 302 with workload request data from the pod manager and information related to the workload request from workload table 304 as well as telemetry data and application workload performance data, and AI model 302 runs its inference and provides a recommended resource configuration for that workload based on prior rewards or penalties and accumulated rewards.”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to use the measured performance metrics as the state information for the reinforcement learning algorithm, because the algorithm must observe the workload’s measured performance to select a configuration that improves it, predictable yielding performance-driven recommendations.
Regarding claim 26, Subramanian teaches:
using the one or more job parameters as state information with the reinforcement learning algorithm (col. 5:32-38, “In response to receipt of a workload request from a client device or edge gateway, pod manager 210 provides parameters of the workload request to accelerator 220. Accelerator 220 provides to AI model 222 the workload parameters from pod manager 210 and also information related to the workload from workload table 224.”).
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to use the job parameters as the state information for the reinforcement learning algorithm, because the algorithm must represent the workload’s characteristics to select a configuration suited to it, predictable yielding recommendations matched to the job.
Regarding claim 27, Wu teaches:
wherein the one or more data processing system configurations includes a driver system configuration and one or more executor system configurations (col. 5:48-55, “the job optimizer determines a number of Spark configuration properties such as number of executors, executor cores, driver memory, driver cores, executor memory, level of parallelism, networking properties, etc.”; Fig. 4, stages 402-403).
The rationale set forth in claim 18 applies, and no further combination is required.
Regarding claim 28, Wu teaches:
wherein the driver system configuration includes one or more of number of cores, number of tasks, parallelism, or instance type (col. 5:48-55, “the job optimizer determines a number of Spark configuration properties such as number of executors, executor cores, driver memory, driver cores, executor memory, level of parallelism, networking properties, etc.”).
The claim recites the attributes in the alternative, and disclosure of any of them meets the limitation. The rationale set forth in claim 18 applies, and no further combination is required.
Regarding claim 30, Wu teaches:
wherein the executor system configuration includes one or more of memory size, memory speed, number of executor cores, or number of executor tasks (col. 5:48-55, “the job optimizer determines a number of Spark configuration properties such as number of executors, executor cores, driver memory, driver cores, executor memory, level of parallelism, networking properties, etc.”; col. 9:61-65, “the job optimizer determines 400 executors (which is roughly twice of the number of nodes), 5 cores/executor, 1000 partitions (400 executors×5 cores/executor×0.5 CPU load factor) with CPU load factor of 0.5, 8 GB driver memory and 4 GB executor memory, etc.”).
The claim recites the attributes in the alternative, and disclosure of any of them meets the limitation. The rationale set forth in claim 18 applies, and no further combination is required.
Regarding claim 31, Wu teaches:
receiving job state information from the data processing system (col. 6:43-47, “At stage 204, the results are output by the central driver program. For example, the results may be displayed on a user device, saved to a computer storage, and/or made available via an application programming interface (API) for other applications.”); and
Wu, however, does not teach:
generating one or more job fulfilment metrics from the job state information.
Subramanian does teach:
generating one or more job fulfilment metrics from the job state information (col. 5: 7-16, “Accelerator 116 can capture hundreds or more of metrics every millisecond. … An application can also provide evaluation of performance of its workload using applied resources or other source(s) can evaluate performance of the workload and provide the evaluation.”).
The rationale set forth in claim 18 applies, and no further combination is required.
Regarding claim 32, Subramanian teaches:
wherein the feedback comprises one or more the job fulfilment metrics (col. 6:21-29, “Accelerator 300 feeds the AI model 302 with workload request data from the pod manager and information related to the workload request from workload table 304 as well as telemetry data and application workload performance data, and AI model 302 runs its inference and provides a recommended resource configuration for that workload based on prior rewards or penalties and accumulated rewards.”).
The rationale set forth in claim 18 applies, and no further combination is required.
Regarding claim 33, Wu teaches:
providing the job state information to a display screen (col. 9:51-53, “At stage 413, the final results of the profiling are output. For example, the results may be printed or displayed on a user's console”); and
displaying the job state information to a user on the display screen (col. 6:43-48, “the results may be displayed on a user device”).
Wu discloses providing the job state to a display and displaying it to a user. The rationale set forth in claim 18 applies, and no further combination is required.
Regarding claim 34, Wu teaches:
wherein the one or more data processing system configurations is sent over a network to the data processing system and wherein the job state information is received over the network (col. 4:59-col 5:24, “the central driver program may be connected to a plurality of nodes in a distributed database system such as Oracle, or other types of distributed file systems and data stores such as Amazon S3, or a distributed system in which data nodes and computing nodes are separated”; col. 6:34-40, “Thus, the Query Metadata Storage and Job Optimizer steps at stages 201 and 202 are used to automatically and intelligently allocate system resources and optimize Spark Jobs, which are carried out at stage 203 via one or more clusters (such as cluster 102)”).
Wu discloses that the profiler and the cluster are separate systems connected over a network, including remote data stores such as Amazon S3, so the configuration is sent to the data processing system and the job state is received from the data processing system over that network. The rationale set forth in claim 18 applies, and no further combination is required.
Claim(s) 29 is/are rejected under 35 U.S.C. 103 as being unpatentable over Wu (US 10,521,440) in view of Subramanian (US 11,507,430) and further in view of Alipourfard et al., "CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics".
Regarding claim 29, Wu and Subramanian teach the claimed invention as detailed above. Wu and Subramanian do not specifically teach wherein instance type includes one or more of CPU configuration, Memory size, CPU Speed, Memory Speed, or system size as recited in the claim.
CherryPick teaches:
wherein instance type includes one or more of CPU configuration, Memory size, CPU Speed, Memory Speed, or system size (§1 Introduction, col. 2, “Each configuration is rep resented as the number of VMs, CPU count, CPU speed per core, RAM per core, disk count, disk speed, and net work capacity of the VM.”; §1 Introduction, col. 2, “For example, Amazon EC2 and Microsoft Azure offer over 40 VM instance types with a variety of CPU, mem ory, disk, and network options.”).
Wu, Subramanian, and CherryPick are all in the same field of selection of resource configurations for big data analytics therefore they are combinable.
It would have been obvious to a person of ordinary skill in the art before the effective filing date of the claimed invention to specify the instance type and its CPU, memory, and size attributes in the configuration as taught by CherryPick, because doing so would have yielded the predictable results of a configuration matched to the job’s CPU and memory profile, reducing cost and runtime, as CherryPick demonstrates for big data analytic jobs, with a reasonable expectation of success.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Singh (US 11,868,629) discloses “translating one or more specifications characterizing user requirements into workload parameters; generating a plurality of performance model results by providing the workload parameters as respective inputs to respective performance models” (Abstract) which relates to the claimed profiling of an input dataset to derive parameters and generate a configuration.
Mason (US 2016/0366223 A1) discloses “the workload associated with the storage request may be monitored in order to provide feedback that allows the configuration to be continually adjusted or refined in view of learned or changing attributes of the workload” [0025] which relates to the claimed monitoring of job execution and use of fed-back metrics to adjust the resulting configuration.
Crawford (US 2023/0324891 A1) discloses “the device profiler utilizes machine learning to generate a device profile of a production device based on corresponding operational data” [0057] which relates to the claimed use of a machine learning model that is trained on collected data to generate the profile that drives job configuration.
Cofer (US 2005/0028160 A1) discloses “the policy task 104 computes the current resource allocations using a continuous-valued feedback control law that is a function of the monitored attributes” [0038] which relates to the claimed monitoring of execution and feedback-based adjustment of the resource allocation.
MacDonald (US 2022/0244993 A1) discloses “The feedback can be used to provide an initial data set or to improve upon modeling and recommendations over time.” [0044] which relates to the claimed monitoring and use of metrics to retrain and improve the resource optimizer.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to THANH NGO whose telephone number is (571)-270-3019. The examiner can normally be reached M-F 7:30 am to 4pm ET.
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, Pierre Vital can be reached at (571)-272-4215. 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.
/T.N./ Examiner, Art Unit 2198
/PIERRE VITAL/ Supervisory Patent Examiner, Art Unit 2198