DETAILED ACTION
This action is in response to the application filed on 12/9/2024.
Claims 1-20 are pending in this application.
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
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 is directed to an abstract idea without significantly more. The analysis specific to Claim 1 is being presented below. However, the Applicant should please note that the analysis for claim 1 is similar to that of claims 9 and 17 and therefore rejected for the same reasons.
Claim 1 recites:
A method comprising:
receiving first data including a feature corresponding to an application;
receiving second data including a specification of a component included in a device;
analyzing a performance of the device based on the first data and the second data using a model; and
modifying the specification based on the performance of the device.
Step 1:
The claim falls within a statutory category of being a method.
Step 2A- Prong 1:
The claim recites the limitation of “analyzing a performance of the device based on the first data and the second data,” which as drafted, is a process that, under its broadest reasonable interpretations, covers performance of the limitations in the mind. That is, nothing in the claim elements precludes the step from practically being performed in the mind or with a pen and paper, i.e. “analyzing” can be performed in the human mind through observation, evaluation, judgement, opinion with the aid of pen and paper. As such, this limitation fall within the “Mental Processes” grouping of abstract ideas.
Step 2A Prong 2:
The claim recites the additional limitations of “using a model”, as recited in claims 1, 9, and 17, as well as “a non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to”, as recited in claim 9, and “a user interface”, “a first data input element”, “ and a second data input element,” as recited in claim 17, which are all recited at a high level of generality, i.e., merely instructions to implement the abstract idea on a generic computer or merely uses a computer as a tool to perform the abstract idea and thus do not integrate the judicial exception into a practical application. Also, the additional elements of “receiving first data including a feature corresponding to an application” and “receiving second data including a specification of a component included in a device” merely recites insignificant extra solution activity such as data gathering, which does not integrate the judicial exception into a practical application. See MPEP 2106.05(d). In addition, the additional element of “modifying the specification based on the performance of the device” is merely applying the abstract idea. Accordingly, none of these additional elements integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea.
Step 2B:
As discussed with respect to Step 2A Prong 2, the additional elements of “using a model”, as recited in claims 1, 9, and 17, “a non-transitory computer-readable storage medium comprising instructions stored thereon that, when executed by at least one processor, are configured to cause a computing system to”, as recited in claim 9, and “a user interface”, “a first data input element”, “ and a second data input element,” as recited in claim 17 merely recite generic computer and computer components, and thus do not amount to significantly more than the judicial exception. In addition, the courts have identified functions such as gathering, transmitting, and receiving data as well-understood, routine, conventional activity, as recited in the limitations “receiving first data including a feature corresponding to an application” and “receiving second data including a specification of a component included in a device” and thus these limitations do not amount to significantly more than the judicial exception See MPEP 2106.05(d) and “modifying the specification based on the performance of the device” is merely applying the judicial exception or abstract idea and does not integrate the abstract idea into a practical application. Therefore, none of the additional elements recite an inventive concept and the claimed invention is patent ineligible under 35 USC 101.
Additionally claims 2 and 10 recite “wherein the performance is a first performance and the method further comprising and analyzing a second performance based on the first data and a second data, which is an additional mental process, “the model is a first model, selecting a second model, a using the second model” merely recite generic computer and computer components and “wherein the modifying of the specification is based on the first performance and the second performance” is applying the abstract idea, which does not integrate the judicial exception into a practical application. As such, these claims fail both Step 2A prong 2 and Step 2B and are ineligible.
Additionally claims 3, 11, and 18 recite “wherein the modifying of the specification includes selecting a first specification or a second specification based on a value associated with the first performance and the second performance”, which is merely applying the abstract idea and does not integrate the judicial exception into a practical application. As such, these claims fail both Step 2A prong 2 and Step 2B and are ineligible.
Additionally, claims 4, 12, and 19 recite “wherein, the first data is tabular data, the second data is tabular data, and the model is a tree-based regression model configured to perform a regression on tabular data,” which is insignificant extra solution activity of data gathering and “the model” merely recite generic computer and computer components, which does not integrate the judicial exception into a practical application. As such, these claims fail both Step 2A prong 2 and Step 2B and are ineligible.
Additionally, claims 5, 13, and 20 recite “wherein the tree-based regression model is a gradient boosted regression tree model”, which merely recites generic computer and computer components and does not integrate the judicial exception into a practical application. As such, these claims fail both Step 2A prong 2 and Step 2B and are ineligible.
Additionally, claims 6 and 14 recite “wherein training the model includes: selecting training data based on an operating system and a metric associated with the performance; separating the training data into a first subset of data and a second subset of data; training the model using the first subset of data as input, which is merely applying the abstract idea and does not integrate the judicial exception into a practical application and “evaluating the training of the model based on the second subset of data” is an additional mental process. As such, these claims fail both Step 2A prong 2 and Step 2B and are ineligible.
Additionally, claims 7 and 15 recite “wherein the evaluating of the training of the model includes determining a prediction error rate satisfies a criteria”, which is an additional mental process. As such, these claims fail both Step 2A prong 2 and Step 2B and are ineligible.
Additionally claims 8 and 16 recite “wherein the performance of the device is based on a function that is trained that given a vector of hardware specifications predicts an estimated value for the performance based on model parameters learned during training”, which is merely applying the abstract idea and does not integrate the judicial exception into a practical application. As such, these claims fail both Step 2A prong 2 and Step 2B and are ineligible.
Also, claims 17-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because claim 17 recites “ a user interface”, which has been reasonably interpreted as a computer program, software, listing per se. Claim 17 fails to recite the “user interface” as being stored on non-transitory tangible media, which defines structural and functional interrelationships between the software and other components of a computer that permit the software's functionality to be realized - see MPEP 2106.01(I). Therefore, claim 17 is rejected as non-statutory.
Dependent claims 18-20 do not overcome the deficiency of the base claims and, therefore, are rejected for the same reasons as the base claim.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claims 1 and 9 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Khosrowpour et al. (US Patent Application Publication 2019/0012251 A1).
As to claim 1, Khosrowpour teaches a method comprising:
receiving first data including a feature corresponding to an application (See e.g. Figs 1-5 and associated text, e.g. [0027]- A method 300 for enhancing performance of a first information handing system is illustrated in FIG. 3. The method begins at step 302 with collection of usage parameters for a first information handling system. Collection of usage parameters may include sensing and/or monitoring the usage parameters and recording the sensed and monitored usage parameters. The usage parameters may be parameters related to tasks being performed by applications being executed on the information handling system and [0029]- A method 400 for determining performance parameters based on received usage parameters is illustrated in FIG. 4; At step 402, the second information handling system may receive one or more usage parameters from a first information handling system),
receiving second data including a specification of a component included in a device (See e.g. Figs 1-3 and associated text, e.g. [0027]- A method 300 for enhancing performance of a first information handing system is illustrated in FIG. 3. The method begins at step 302 with collection of usage parameters for a first information handling system. Collection of usage parameters may include sensing and/or monitoring the usage parameters and recording the sensed and monitored usage parameters. The usage parameters may be parameters related to hardware of the information handling system; memory usage of the information handling system, processing capacity utilization of the information handling system; state and/or utilization of components of the information handling system and peripheral devices connected to the information handling system and [0028]- After the usage parameters are collected, at step 302, they may be transmitted, at step 304, to a second information handling system and [0029]- A method 400 for determining performance parameters based on received usage parameters is illustrated in FIG. 4; At step 402, the second information handling system may receive one or more usage parameters from a first information handling system),
analyzing a performance of the device based on the first data and the second data using a model (see e.g. [0029]- The second information handling system may, at step 404, determine one or more performance parameters for the first information handling system based on the received usage parameters; performance parameters may be generated based on the received usage parameters using artificial intelligence and/or machine learning algorithms, such as supervised, unsupervised, or reinforcement training algorithms, to analyze the usage parameters and determine performance parameters that will enhance system performance) and
modifying the specification based on the performance of the device (see e.g. [0029]- After the performance parameters are determined, the second information handling system may, at step 406, transmit the performance parameters to the first information handling system and [0035]- the first information handling system may, at step 508, adjust one or more performance parameters based on the retrieved, received, modified, and/or generated performance parameters. For example, the first information handling system may activate or deactivate processing cores, adjust fan speed, adjust memory usage, adjust data transmission paths and bandwidth usage of system busses, data I/O of the information handling system and/or components of the information handling system, and/or adjust allocation of other system resources).
As to claim 9, the limitations of the claims are substantially similar to the limitations of claim 1, and therefore, it is rejected for the reasons stated above.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 4, 5, 12, and 13 are rejected under 35 U.S.C. 103 as being unpatentable over Khosrowpour et al. ( US Patent Application Publication 2019/0012251 A1) in view of Moyal et al. US 2024/0201982 A1).
As to claim 4, Khosrowpour teaches wherein, the first data is tabular data (See e.g. Khosrowpour: [0028]), the second data is tabular data (see e.g. Khosrowpour: [0028]), and the model (see e.g. Khosrowpour: [0029]), but does not specifically teach a tree-based regression model configured to perform a regression.
In an analogous art of analyzing performance, however, Moyal teaches a tree-based regression model configured to perform a regression (See e.g. [0050]- Machine learning techniques can comprise algorithms or models that are generated by performing supervised, unsupervised, or semi-supervised training on a dataset, and subsequently applying the generated algorithm or model to manage software modernization analysis and [0051]-Machine learning techniques can include, but are not limited to, decision tree learning; specifically, machine learning techniques can utilize one or more of the following example techniques: gradient boosted decision tree (GBRT)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Khosrowpour in view of Makrucki to incorporate/implement the limitations as taught by Moyal in order to provide a more efficient method of analyzing application performance on devices for the purpose of optimization.
As to claim 5, Moyal teaches wherein the tree-based regression model is a gradient boosted regression tree model (See e.g. [0050]- Machine learning techniques can comprise algorithms or models that are generated by performing supervised, unsupervised, or semi-supervised training on a dataset, and subsequently applying the generated algorithm or model to manage software modernization analysis and [0051]-Machine learning techniques can include, but are not limited to, decision tree learning; specifically, machine learning techniques can utilize one or more of the following example techniques: gradient boosted decision tree (GBRT)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Khosrowpour in view of Makrucki to incorporate/implement the limitations as taught by Moyal in order to provide a more efficient method of analyzing application performance on devices for the purpose of optimization.
As to claim 12, the limitations of the claims are substantially similar to the limitations of claim 4, and therefore, it is rejected for the reasons stated above.
As to claim 13, the limitations of the claims are substantially similar to the limitations of claim 5, and therefore, it is rejected for the reasons stated above.
Claims 6, 7, 14, and 15 are rejected under 35 U.S.C. 103 as being unpatentable over Khosrowpour et al. (US Patent Application Publication 2019/0012251 A1) in view of Baldini Soares et al. (US Patent Application Publication 2015/0317563 A1).
As to claim 6, Khosrowpour teaches the model (see e.g. [0029]), but does not specifically teach wherein training the model includes: selecting training data based on an operating system and a metric associated with the performance; separating the training data into a first subset of data and a second subset of data; training the model using the first subset of data as input; and evaluating the training of the model based on the second subset of data.
In an analogous art of predicting application performance, however, Baldini Soares teaches training a model (see e.g. [0004]- training a predictive model by the machine learning technique for predicting application performance on the target hardware device) including selecting training data based on an operating system and a metric associated with the performance (See e.g. Fig.1 and associated text, e.g. [0029]- The training phase 104 uses a set of existing applications and inputs along with their observed hardware processor (e.g., GPU) speedups 112 on a target device; training employs a version of each code suitable for execution on a traditional CPU, which the mechanism of the present disclosure can instrument to gather dynamic profile information. The training phase 102 runs each application and input 112 on a general purpose CPU system, gathering profile data representing a set of application features 114. Next, the mechanism of the present disclosure feeds the application feature profile data 114 and observed hardware (e.g., GPU) speedups 112 into a machine learning toolkit, training a model 106 which predicts GPU speedup based on these features ), separating the training data into a first subset of data and a second subset of data (See e.g. [0059]- Cross-validation may be used to evaluate the accuracy of predictive models, which indicates how well models are expected to perform in practice. Cross-validation involves several computation rounds. One round of cross-validation splits the data available in two disjoint sets: a training set and a testing/validation set), training the model using the first subset of data as input (See e.g. [0059]- The training set is used to build the model) and evaluating the training of the model based on the second subset of data (see e.g. [0059]- while the accuracy of the model is evaluated on the testing set).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Khosrowpour to incorporate/implement the limitations as taught by Baldini Soares in order to provide a more efficient method of predicting application performance of hardware processors for the purpose of optimization.
As to claim 7, Baldini Soares further teaches wherein the evaluating of the training of the model includes determining a prediction error rate satisfies a criteria (See e.g. [0074]- the trained model is iteratively tuned, e.g., by repeating the processing at 304, 306 and 308, with different or additional application features, e.g., if tuning is desired, or for example, based on a threshold or criteria).
As to claim 14, the limitations of the claims are substantially similar to the limitations of claim 6, and therefore, it is rejected for the reasons stated above.
As to claim 15, the limitations of the claims are substantially similar to the limitations of claim 7, and therefore, it is rejected for the reasons stated above.
Claims 17 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Khosrowpour et al. (US Patent Application Publication 2019/0012251 A1) in view of Makrucki et al. (US Patent Application Publication 2017/0195189 A1).
As to claim 17, Khosrowpour teaches receive first data including a feature corresponding to an application (See e.g. Figs 1-5 and associated text, e.g. [0027]- A method 300 for enhancing performance of a first information handing system is illustrated in FIG. 3. The method begins at step 302 with collection of usage parameters for a first information handling system. Collection of usage parameters may include sensing and/or monitoring the usage parameters and recording the sensed and monitored usage parameters. The usage parameters may be parameters related to tasks being performed by applications being executed on the information handling system and [0029]- A method 400 for determining performance parameters based on received usage parameters is illustrated in FIG. 4; At step 402, the second information handling system may receive one or more usage parameters from a first information handling system),
receive second data including a specification of a component included in a device (See e.g. Figs 1-3 and associated text, e.g. [0027]- A method 300 for enhancing performance of a first information handing system is illustrated in FIG. 3. The method begins at step 302 with collection of usage parameters for a first information handling system. Collection of usage parameters may include sensing and/or monitoring the usage parameters and recording the sensed and monitored usage parameters. The usage parameters may be parameters related to hardware of the information handling system; memory usage of the information handling system, processing capacity utilization of the information handling system; state and/or utilization of components of the information handling system and peripheral devices connected to the information handling system and [0028]- After the usage parameters are collected, at step 302, they may be transmitted, at step 304, to a second information handling system and [0029]- A method 400 for determining performance parameters based on received usage parameters is illustrated in FIG. 4; At step 402, the second information handling system may receive one or more usage parameters from a first information handling system),
a result of an analysis of a performance of the device based on the first data and the second data using a model (see e.g. [0029]- The second information handling system may, at step 404, determine one or more performance parameters for the first information handling system based on the received usage parameters; performance parameters may be generated based on the received usage parameters using artificial intelligence and/or machine learning algorithms, such as supervised, unsupervised, or reinforcement training algorithms, to analyze the usage parameters and determine performance parameters that will enhance system performance) and
modifying the specification based on the performance of the device (see e.g. [0029]- After the performance parameters are determined, the second information handling system may, at step 406, transmit the performance parameters to the first information handling system and [0035]- the first information handling system may, at step 508, adjust one or more performance parameters based on the retrieved, received, modified, and/or generated performance parameters. For example, the first information handling system may activate or deactivate processing cores, adjust fan speed, adjust memory usage, adjust data transmission paths and bandwidth usage of system busses, data I/O of the information handling system and/or components of the information handling system, and/or adjust allocation of other system resources).
Khosrowpour does not specifically teach a first data input element configured to receive the first data, a second data input element configured to receive the second data or a data display element configured to display the result of the analysis of a performance of the device.
In an analogous art of analyzing performance, however, Makrucki teaches a first data input element configured to receive first data (See e.g. Fig 10A, 1010 and associated text, e.g. [0100]- The Web Dashboard 1000 may contain a section with model specific questions 1010. Examples of Streaming Model questions include, but are not limited to, round-trip time between transfer end-points, message object size(s), inter-messaging timing, messaging rate, etc., a second data input element configured to receive second data (see e.g. Fig 10A, 1020 and associated text, e.g. [0100]- Dashboard 1000 may also contain a section that visually displays the configuration of the application and infrastructure system, that is, a Visual Section 1020. In an embodiment of the invention, a user may be able to specify values for one or more Streaming Model specific inputs using the Visual Section 1020 and a data display element configured to display a result of the analysis of a performance (see e.g. Fig.10B, 1050 and associated text, e.g. [0101]- streaming Traffic Analysis Report 1050. The Streaming Traffic Analysis Report 1050 may display the following information: The Streaming Traffic Analysis Report 1050 may display the following information: warnings on whether the message stream will have performance problems due to TCP slow starts, the time required to transmit the message size specified, warnings on the fact that the transmission time will be affected by whether or not the messages are long enough to overcome the TCP slow-start phase if the idle time between messages is larger than a couple-few round-trip-times, the data rate that can be achieved after TCP has reached its steady-state phase (Tput.sub.ss), and a warning if the time between messages is greater than the time to send one message—indicating that a sending queue will build during stream operation).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Khosrowpour to incorporate/implement the limitations as taught by Makrucki in order to provide a more efficient method of performing application and infrastructure analysis in a more user friendly manner for the purpose of improving performance.
As to claim 18, Khosrowpour also teaches wherein the modifying of the specification includes selecting a revised specification based on a value (e.g. performance parameter) associated with the performance (See e.g. [0035]- the second information handling system may, at step 520 transmit the performance parameters to the first information handling system; the first information handling system may activate or deactivate processing cores, adjust fan speed, adjust memory usage, adjust data transmission paths and bandwidth usage of system busses, data I/O of the information handling system and/or components of the information handling system, and/or adjust allocation of other system resources.
Claims 19 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Khosrowpour et al. ( US Patent Application Publication 2019/0012251 A1) in view of Makrucki et al. (US Patent Application Publication 2017/0195189 A1), as applied to claim 17 above, and further in view of Moyal et al. US 2024/0201982 A1).
As to claim 19, Khosrowpour in view of Makrucki teaches wherein, the first data is tabular data (See e.g. Khosrowpour: [0028]), the second data is tabular data (see e.g. Khosrowpour: [0028]), and the model (see e.g. Khosrowpour: [0029]), but does not specifically teach a tree-based regression model configured to perform a regression.
In an analogous art of analyzing performance, however, Moyal teaches a tree-based regression model configured to perform a regression (See e.g. [0050]- Machine learning techniques can comprise algorithms or models that are generated by performing supervised, unsupervised, or semi-supervised training on a dataset, and subsequently applying the generated algorithm or model to manage software modernization analysis and [0051]-Machine learning techniques can include, but are not limited to, decision tree learning; specifically, machine learning techniques can utilize one or more of the following example techniques: gradient boosted decision tree (GBRT)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Khosrowpour in view of Makrucki to incorporate/implement the limitations as taught by Moyal in order to provide a more efficient method of analyzing application performance on devices for the purpose of optimization.
As to claim 20, Moyal teaches wherein the tree-based regression model is a gradient boosted regression tree model (See e.g. [0050]- Machine learning techniques can comprise algorithms or models that are generated by performing supervised, unsupervised, or semi-supervised training on a dataset, and subsequently applying the generated algorithm or model to manage software modernization analysis and [0051]-Machine learning techniques can include, but are not limited to, decision tree learning; specifically, machine learning techniques can utilize one or more of the following example techniques: gradient boosted decision tree (GBRT)).
It would have been obvious to one having ordinary skill in the art before the effective filing date of the claimed invention to have modified the method of Khosrowpour in view of Makrucki to incorporate/implement the limitations as taught by Moyal in order to provide a more efficient method of analyzing application performance on devices for the purpose of optimization.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Cohen et al. (US Patent Application Publication 2019/0306044 A1) discloses a device that includes one or more memories, and one or more processors, communicatively coupled to the one or more memories, configured to receive client delay metrics associated with a client device, and receive network delay metrics associated with a network.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHENECA SMITH whose telephone number is (571)270-1651. The examiner can normally be reached Mon-Fri 8:00AM-4:30PM EST.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung S Sough can be reached at 571-272-6799. 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.
/CHENECA SMITH/Examiner, Art Unit 2192
/S. Sough/SPE, Art Unit 2192