Prosecution Insights
Last updated: July 17, 2026
Application No. 18/606,331

Defect Detection based on Natural Language Processing

Non-Final OA §101§102§103
Filed
Mar 15, 2024
Examiner
GAVIA, NYLA EMANI ANN
Art Unit
Tech Center
Assignee
ServiceNow Inc.
OA Round
1 (Non-Final)
79%
Grant Probability
Favorable
1-2
OA Rounds
8m
Est. Remaining
93%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
65 granted / 82 resolved
+19.3% vs TC avg
Moderate +14% lift
Without
With
+13.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
23 currently pending
Career history
101
Total Applications
across all art units

Statute-Specific Performance

§101
12.8%
-27.2% vs TC avg
§103
78.2%
+38.2% vs TC avg
§102
5.9%
-34.1% vs TC avg
§112
2.1%
-37.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 82 resolved cases

Office Action

§101 §102 §103
DETAILED ACTION This action is filed in response to the application filed on 3/15/2024. 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 Acknowledgement is made of Applicant’s Information Disclosure Statements (IDS) forms PTO-1149 filed on 3/15/2024. These IDS have been considered. 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. The claimed invention is directed to the abstract concept of performing mental steps without significantly more. Claim 1, and similarly Claims 15 and 20 recite the following abstract concepts in BOLD of: A method comprising: receiving a textual input indicating a performance objective, wherein the performance objective is associated with a computing platform; obtaining a semantic value associated with the performance objective; mapping the semantic value to a first performance metric, wherein the first performance metric characterizes the computing platform; obtaining performance data based on the first performance metric; and assessing the performance data to determine an evaluation of the performance objective. Under Step 1 of the eligibility analysis, we determine whether the claims are to a statutory category by considering whether the claimed subject matter falls within the four statutory categories of patentable subject matter identified by 35 U.S.C. 101: process, machine, manufacture, or composition of matter. The above claims are considered to be in a statutory category because Claim 1 recites a method, Claim 15 recites a non-transitory computer-readable medium, and Claim 20 recites a system. Under Step 2A, Prong One, we consider whether the claim recites a judicial exception (abstract idea). In the above claim, the highlighted portion constitutes an abstract idea because, under a broadest reasonable interpretation, it recites limitations that fall into/recite abstract idea exceptions. Specifically, under the 2019 Revised Patent Subject Matter Eligibility Guidance, it falls into the grouping of subject matter that, when recited as such in a claim limitation, covers performing mathematics or mental steps. The steps of obtaining a semantic value, mapping a semantic value, and assessing performance data can be interpreted as a mental process that can be performed in the human mind. Next, under Step 2A, Prong Two, we consider whether the claim that recites a judicial exception is integrated into a practical application. In this step, we evaluate whether the claim recites additional elements that integrate the exception into a practical application of that exception. This judicial exception is not integrated into a practical application because there is no improvement to another technology or technical field; improvements to the functioning of the computer itself; a particular machine; effecting a transformation or reduction of a particular article to a different state or thing. Examiner notes that the claimed methods and system are not tied to a particular machine or apparatus, nor they do not represent an improvement to another technology or technical field. Similarly there are no other meaningful limitations linking the use to a particular technological environment. Finally, there is nothing in the claims that indicates an improvement to the functioning of the computer itself or transform a particular article to a new state. Under Step 2B, we consider whether the additional elements are sufficient to amount to significantly more than the abstract idea. The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because the step of receiving text input recites necessary data gathering and does not integrate the abstract idea into a practical application. The limitation amounts to necessary data gathering and outputting. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015) (presenting offers and gathering statistics amounted to mere data gathering). Additionally, the step of obtaining performance data based on the first performance metric recites necessary data gathering, as well as selecting information for collection, analysis and display. Both of these are considered insignificant extra-solution activity that is not significantly more than the abstract ideas. See MPEP 2106.05(g). Furthermore, the Claim 20 elements of one or more processors and a memory containing instructions are generic computer elements and not considered significantly more than the abstract idea. As recited in the MPEP, 2106.05(b), merely adding a generic computer, generic computer components, or a programmed computer to perform generic computer functions does not automatically overcome an eligibility rejection. Alice Corp. Pty. Ltd. v. CLS Bank Int'l, 134 S. Ct. 2347, 2359-60, 110 USPQ2d 1976, 1984 (2014). See also OIP Techs. v. Amazon.com, 788 F.3d 1359, 1364, 115 USPQ2d 1090, 1093-94. Claims 2-14 and 16-19 further limit the abstract ideas without integrating the abstract concept into a practical application or including additional limitations that can be considered significantly more than the abstract idea: Claims 2 and 16 further limit the mental processes of claim 1 by reciting performing the mental processes with a language processing model. Examiner notes this is merely instructions to “apply it” meaning instructions to implement the abstract idea using a computer. As recited in MPEP 2106.05(f), mere instructions to apply an abstract idea to a computer is not significantly more than the abstract ideas. See MPEP 2106.05(f)(2), “Other examples where the courts have found the additional elements to be mere instructions to apply an exception, because they do no more than merely invoke computers or machinery as a tool to perform an existing process include: i. A commonplace business method or mathematical algorithm being applied on a general purpose computer, Alice Corp. Pty. Ltd. V. CLS Bank Int’l, 573 U.S. 208, 223, 110 USPQ2d 1976, 1983 (2014); Gottschalk v. Benson, 409 U.S. 63, 64, 175 USPQ 673, 674 (1972); Versata Dev. Group, Inc. v. SAP Am., Inc., 793 F.3d 1306, 1334, 115 USPQ2d 1681, 1701 (Fed. Cir. 2015).” Claims 3-4, 6, 8, 17, and 18 further describe the data gathered which is not significantly more. The limitation amounts to necessary data gathering and outputting. See Mayo, 566 U.S. at 79, 101 USPQ2d at 1968; OIP Techs., Inc. v. Amazon.com, Inc., 788 F.3d 1359, 1363, 115 USPQ2d 1090, 1092-93 (Fed. Cir. 2015) (presenting offers and gathering statistics amounted to mere data gathering). Claims 5, 7, 9-10, 12-14, and 19 further limit the abstract ideas of Claims 1 and 15 by reciting additional abstract ideas of comparing, identifying, and assessing data, as well as making determinations based on those acts. Examiner notes all of these actions can be interpreted as mental processes and are therefore additional abstract ideas that do not integrate the original abstract ideas into a practical application. Claim 11 discloses displaying data which is considered insignificant extra-solution activity which is not significantly more than the abstract ideas. As recited in MPEP section 2106.05(g), displaying analysis/results is considered extra solution activity. See MPEP 2106.05(g) “Printing or downloading generated menus, Ameranth, 842 F.3d at 1241-42, 120 USPQ2d at 1854-55”, see also MPEP 2106.05(h), As a whole the claim itself is analogous to the Electric Power Group decision in which it was determined that “ Limiting the abstract idea of collecting information, analyzing it, and displaying certain results of the collection and analysis to data related to the electric power grid, because limiting application of the abstract idea to power-grid monitoring is simply an attempt to limit the use of the abstract idea to a particular technological environment, Electric Power Group, LLC v. Alstom S.A., 830 F.3d 1350, 1354, 119 USPQ2d 1739, 1742 (Fed. Cir. 2016).” 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. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claims 1-8, 11, and 15-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Penzo (US20220035802 A1). Regarding Claim 1, Penzo discloses a method comprising: receiving a textual input indicating a performance objective, wherein the performance objective is associated with a computing platform (e.g. see [0038] “as the user types the NLQ 238 into the text-entry box 258A, the GUI 236 or the analytics server 220 performs pattern matching of the entered text relative to the retrieved KPIs and NLQs, and may present the patterned-matched, selectable NLQs suggestions within the list 258C of suggested NLQs”); obtaining a semantic value associated with the performance objective (e.g. see [0040] “In response to receiving the NLQ 238 from the client device 20, the analytics server 220 provides (block 272) the NLQ 238 to the NLP 222 for analysis. The NLP 222 receives and processes the NLQ 238 based on the one or more models 240 to identify which query details are present in the NLQ 238”); mapping the semantic value to a first performance metric, wherein the first performance metric characterizes the computing platform (e.g. see [0040] “As used herein, “query details” refer to the features or details of the NLQ, including references to tables of the database server 104 or the CMDB 224, aggregation operations (e.g., count, sum, mean, etc.), grouping operations (e.g., group by particular fields ascending or descending), and conditions (e.g., fields, operators, and values) indicated or implied by the NLQ. For example, in certain embodiments, the models 240 may include a model that is generated or trained, at least in part, based on the names of tables and fields stored by the DB server 104, as well as the types of data stored within these fields and the grouping and aggregation operations that are suitable for these data types”); obtaining performance data based on the first performance metric(e.g. see [0041] “the analytics server 220 may respond by generating a database query, based on the extracted query details, to retrieve the stored, historical values of the KPI from the KPIs table 228 for presentation to the user. In other situations, the analytics server 220 may determine that the extracted query details do not reference an existing KPI for which trend data has been collected, or that the query details do not reasonably correspond to historical KPI data (e.g., the NLQ 238 references “current incidents”). In such situations, the analytics server 220 may create a new KPI based on the extracted query details”); and assessing the performance data to determine an evaluation of the performance objective (e.g. see [0047] “For example, the database query associated with the open incidents KPI may be “SELECT COUNT (Incident.ID) FROM Incident WHERE Incident.Active=True”, which calculates a real-time value for each periodic execution based on the number of open incidents present in the CMDB 224 at the time the query is executed, and each of these real-time values may be collected and stored within the KPIs table 228. As such, in certain embodiments, when the analytics server 220 determines that the KPI referenced by the NLQ 238 has associated trend data, the analytics server 220 may default to executing a suitable database query to retrieve the stored trend data for the KPI from the KPIs table 228, and then update the GUI 236 to present the trend data associated with the KPI on a suitable graph (e.g., a trend line 296)”) . Regarding Claim 2, Penzo teaches the limitations of Claim 1. Penzo further discloses, wherein the semantic value is obtained by analyzing the textual input with a natural language processing (NLP) model (e.g. see [0040] “In response to receiving the NLQ 238 from the client device 20, the analytics server 220 provides (block 272) the NLQ 238 to the NLP 222 for analysis. The NLP 222 receives and processes the NLQ 238 based on the one or more models 240 to identify which query details are present in the NLQ 238”)”. Regarding Claim 3, Penzo teaches the limitations of Claim 1. Penzo further discloses wherein the textual input comprises a quantitative indication the performance objective, wherein the semantic value is based on the quantitative indication of the performance objective, and wherein the semantic value is quantitative (e.g. see [0042] “For example, the NLQ 238 received in block 270 may be, “How many critical incidents do I have?” In block 272, the NLP 222 may determine that the present tense “do I have” portion of the NLQ 238 indicates that the user desires to receive current KPI data rather than historical trend data. The NLP 222 may also determine that the “how many” portion of the NLQ 238 corresponds to a count operation”). Regarding Claim 4, Penzo teaches the limitations of Claim 1. Penzo further discloses wherein the textual input comprises a qualitative indication the performance objective, wherein the semantic value is based on the qualitative indication of the performance objective, and wherein the semantic value is qualitative (e.g. see [0042] “For example, the NLQ 238 received in block 270 may be, “How many critical incidents do I have?”… Additionally, the NLP 222 may determine that “critical” within the NLQ 238 refers to a particular value of a priority field in the incident table, and the “do I have” portion of the NLQ 238 refers to a value of an assigned user field in the incident table. As such, in block 276, the analytics server 220 may generate a database query in a suitable query language (e.g., structured query language (SQL)), such as, “SELECT COUNT(Incident.ID) FROM Incident WHERE Incident.Priority=‘CRITICAL’ AND Incidents.User=‘John Smith,” Examiner notes the example query from the prior art teaches the qualitative indication with the term “critical.” ). Regarding Claim 5, Penzo teaches the limitations of Claim 1. Penzo further discloses wherein obtaining the semantic value comprises determining a term from the textual input that is indicative of the semantic value (e.g. see [0041] “The process 250 illustrated in FIG. 5 continues with the analytics server 220 receiving (block 274) the query details extracted from the NLQ 238 from the NLP 222. The analytics server 220 then generates (block 276) a database query based on the query details received from the NLP 222. In certain situations, the analytics server 220 may determine that the extracted query details refer to an existing KPI for which trend data is collected and stored in the KPIs table 228”) and wherein mapping the semantic value to the first performance metric comprises matching the term from the textual input to a further term associated with the first performance metric (e.g. see [0042] “Additionally, the NLP 222 may determine that “critical” within the NLQ 238 refers to a particular value of a priority field in the incident table, and the “do I have” portion of the NLQ 238 refers to a value of an assigned user field in the incident table. As such, in block 276, the analytics server 220 may generate a database query in a suitable query language”). Regarding Claim 6, Penzo teaches the limitations of Claim 1. Penzo further discloses wherein the first performance metric is selected from a list of pre-determined performance metrics related to the computing platform (e.g. see [0039] “The KPIs section 256 of the GUI 236 illustrated in FIGS. 6 and 7 includes a table 260 that presents a KPIs list 262 associated with the user. For example, the KPIs list 262 may include KPIs stored in the KPIs table 228 that are associated with the particular user or role within the ACLs table 232”). Regarding Claim 7, Penzo teaches the limitations of Claim 1. Penzo further discloses wherein obtaining the performance data comprises: identifying a monitoring system associated with the first performance metric; determining a time period for the performance data; obtaining, from the monitoring system, the performance data over the time period (e.g. see [0034] “For example, the KPIs table 228 may include an incidents KPI that tracks the number of INTs that are present in the CMDB over time, or a KPI that tracks the number of CIs managed by the CMDB over time. As such, certain KPIs include or are associated with one or more database queries that are periodically executed (e.g., hourly, nightly, weekly) to determine a current value for the KPI, and the results of each query execution may be stored as KPI data within the KPIs table 228 for later trend analysis. As such, for the illustrated embodiment, the KPI data stored in the KPIs table 228 may be updated based on data present within the CMDB tables 226 at various points in time, as indicated by the arrow 230”); and aggregating the performance data over the time period (e.g. see [0047] “based on the analysis by the NLP 222, the analytics server 220 determines that NLQ 238 corresponds to an existing open incidents KPI for which historical trend data has been collected in the KPIs table 228. For this example, the analytics server 220 is designed to periodically execute a database query of the open incidents KPI, and to store the results of each execution within the KPIs table 228 for later trend analysis… As such, in certain embodiments, when the analytics server 220 determines that the KPI referenced by the NLQ 238 has associated trend data, the analytics server 220 may default to executing a suitable database query to retrieve the stored trend data for the KPI from the KPIs table 228, and then update the GUI 236 to present the trend data associated with the KPI on a suitable graph”). Regarding Claim 8, Penzo teaches the limitations of Claim 1. Penzo further discloses wherein the performance data is obtained from real-time monitoring of the computing platform (e.g. see [0047] “For example, the database query associated with the open incidents KPI may be “SELECT COUNT (Incident.ID) FROM Incident WHERE Incident.Active=True”, which calculates a real-time value for each periodic execution based on the number of open incidents present in the CMDB 224 at the time the query is executed, and each of these real-time values may be collected and stored within the KPIs table 228”), and wherein assessing the performance data comprises: obtaining historical performance data (e.g. see [0034] “The illustrated DB server 104 also includes a key performance indicators (KPIs) table 228 that is designed to store metric data (e.g., historical or trend data) for KPIs that are associated with a client enterprise”); generating a comparison between the performance data and the historical performance data (e.g. see [0039] “For the illustrated embodiment, the column 266A presents a name or description of the KPI, and column 266B presents a visual depiction of a current trend line of the KPI data associated with the KPI over a predefined time window (e.g., over the previous day, week, month, year, etc.)”); assessing the comparison to further determine the evaluation of the performance objective; and outputting the evaluation of the performance objective, wherein the evaluation of the performance objective is based on the comparison (e.g. see [0039] “For certain rows 264, column 266C presents a current data point value of the KPI data associated with the KPI, column 266D presents a change between the current value of the KPI data and the previous data point value of the KPI data associated with the query, and column 266E presents a target value associated with the underlying KPI. In certain embodiments, GUI 236 may respond to a user selection of a KPI from the KPI list 262 by presenting a visual representation of the KPI data associated with the selected KPI, as illustrated and discussed with respect to FIGS. 8-10”). Regarding Claim 11, Penzo teaches the limitations of Claim 1. Penzo further discloses generating, based on the evaluation of the performance objective, a visual representation of the evaluation of the performance objective, wherein the visual representation comprises the evaluation of the performance objective and a graph of the performance data over a period of time; and transmitting the visual representation for display (e.g. see [0047] “For this example, the analytics server 220 is designed to periodically execute a database query of the open incidents KPI, and to store the results of each execution within the KPIs table 228 for later trend analysis…the analytics server 220 may default to executing a suitable database query to retrieve the stored trend data for the KPI from the KPIs table 228, and then update the GUI 236 to present the trend data associated with the KPI on a suitable graph (e.g., a trend line 296), as illustrated in FIG. 10. In particular, the GUI 236 includes a notification 298 indicating that the visually depicted data is trend data rather than current data for the KPI”). Regarding Claim 15, Penzo discloses a non-transitory computer-readable medium (e.g. see [0017] “As used herein, the term “medium” refers to one or more non-transitory, computer-readable physical media that together store the contents described as being stored thereon”), having stored thereon program instructions that, upon execution by a computing system, cause the computing system to perform operations (e.g. see [0037] “in certain embodiments, the process 250 may be stored as instructions in a suitable memory (e.g., memory 206) and executed by a suitable processor (e.g., processor(s) 202) associated with the analytics server 220”) comprising: receiving a textual input indicating a performance objective, wherein the performance objective is associated with a computing platform (e.g. see [0038] “as the user types the NLQ 238 into the text-entry box 258A, the GUI 236 or the analytics server 220 performs pattern matching of the entered text relative to the retrieved KPIs and NLQs, and may present the patterned-matched, selectable NLQs suggestions within the list 258C of suggested NLQs”); obtaining a semantic value associated with the performance objective (e.g. see [0040] “In response to receiving the NLQ 238 from the client device 20, the analytics server 220 provides (block 272) the NLQ 238 to the NLP 222 for analysis. The NLP 222 receives and processes the NLQ 238 based on the one or more models 240 to identify which query details are present in the NLQ 238”); mapping the semantic value to a first performance metric, wherein the first performance metric characterizes the computing platform (e.g. see [0040] “As used herein, “query details” refer to the features or details of the NLQ, including references to tables of the database server 104 or the CMDB 224, aggregation operations (e.g., count, sum, mean, etc.), grouping operations (e.g., group by particular fields ascending or descending), and conditions (e.g., fields, operators, and values) indicated or implied by the NLQ. For example, in certain embodiments, the models 240 may include a model that is generated or trained, at least in part, based on the names of tables and fields stored by the DB server 104, as well as the types of data stored within these fields and the grouping and aggregation operations that are suitable for these data types”); obtaining performance data based on the first performance metric(e.g. see [0041] “the analytics server 220 may respond by generating a database query, based on the extracted query details, to retrieve the stored, historical values of the KPI from the KPIs table 228 for presentation to the user. In other situations, the analytics server 220 may determine that the extracted query details do not reference an existing KPI for which trend data has been collected, or that the query details do not reasonably correspond to historical KPI data (e.g., the NLQ 238 references “current incidents”). In such situations, the analytics server 220 may create a new KPI based on the extracted query details”); and assessing the performance data to determine an evaluation of the performance objective (e.g. see [0047] “For example, the database query associated with the open incidents KPI may be “SELECT COUNT (Incident.ID) FROM Incident WHERE Incident.Active=True”, which calculates a real-time value for each periodic execution based on the number of open incidents present in the CMDB 224 at the time the query is executed, and each of these real-time values may be collected and stored within the KPIs table 228. As such, in certain embodiments, when the analytics server 220 determines that the KPI referenced by the NLQ 238 has associated trend data, the analytics server 220 may default to executing a suitable database query to retrieve the stored trend data for the KPI from the KPIs table 228, and then update the GUI 236 to present the trend data associated with the KPI on a suitable graph (e.g., a trend line 296)”) . Regarding Claim 16, Penzo teaches the limitations of Claim 15. Penzo further discloses, wherein the semantic value associated with the performance objective is obtained by analyzing the textual input with a natural language processing (NLP) model (e.g. see [0040] “In response to receiving the NLQ 238 from the client device 20, the analytics server 220 provides (block 272) the NLQ 238 to the NLP 222 for analysis. The NLP 222 receives and processes the NLQ 238 based on the one or more models 240 to identify which query details are present in the NLQ 238”)”. Regarding Claim 17, Penzo teaches the limitations of Claim 15. Penzo further discloses wherein the textual input comprises a quantitative indication the performance objective, wherein the semantic value is based on the quantitative indication of the performance objective, and wherein the semantic value is quantitative (e.g. see [0042] “For example, the NLQ 238 received in block 270 may be, “How many critical incidents do I have?” In block 272, the NLP 222 may determine that the present tense “do I have” portion of the NLQ 238 indicates that the user desires to receive current KPI data rather than historical trend data. The NLP 222 may also determine that the “how many” portion of the NLQ 238 corresponds to a count operation”). Regarding Claim 18, Penzo teaches the limitations of Claim 15. Penzo further discloses wherein the textual input comprises a qualitative indication the performance objective, wherein the semantic value is based on the qualitative indication of the performance objective, and wherein the semantic value is qualitative (e.g. see [0042] “For example, the NLQ 238 received in block 270 may be, “How many critical incidents do I have?”… Additionally, the NLP 222 may determine that “critical” within the NLQ 238 refers to a particular value of a priority field in the incident table, and the “do I have” portion of the NLQ 238 refers to a value of an assigned user field in the incident table. As such, in block 276, the analytics server 220 may generate a database query in a suitable query language (e.g., structured query language (SQL)), such as, “SELECT COUNT(Incident.ID) FROM Incident WHERE Incident.Priority=‘CRITICAL’ AND Incidents.User=‘John Smith,” Examiner notes the example query from the prior art teaches the qualitative indication with the term “critical.” ). Regarding Claim 19, Penzo teaches the limitations of Claim 15. Penzo further discloses wherein obtaining the semantic value comprises determining a term from the textual input that is indicative of the semantic value (e.g. see [0041] “The process 250 illustrated in FIG. 5 continues with the analytics server 220 receiving (block 274) the query details extracted from the NLQ 238 from the NLP 222. The analytics server 220 then generates (block 276) a database query based on the query details received from the NLP 222. In certain situations, the analytics server 220 may determine that the extracted query details refer to an existing KPI for which trend data is collected and stored in the KPIs table 228”) and wherein mapping the semantic value to the first performance metric comprises matching the term from the textual input to a further term associated with the first performance metric (e.g. see [0042] “Additionally, the NLP 222 may determine that “critical” within the NLQ 238 refers to a particular value of a priority field in the incident table, and the “do I have” portion of the NLQ 238 refers to a value of an assigned user field in the incident table. As such, in block 276, the analytics server 220 may generate a database query in a suitable query language”). Regarding Claim 20, Penzo discloses a system comprising one or more processors (e.g. see [0026] “moreover, the present approaches may be implemented in other architectures or configurations, including, but not limited to, multi-tenant architectures, generalized client/server implementations, and/or even on a single physical processor-based device configured to perform some or all of the operations discussed herein”); and memory, containing program instructions that, upon execution by the one or more processors, cause the system to perform operations comprising: (e.g. see [0037] “in certain embodiments, the process 250 may be stored as instructions in a suitable memory (e.g., memory 206) and executed by a suitable processor (e.g., processor(s) 202) associated with the analytics server 220”) comprising: receiving a textual input indicating a performance objective, wherein the performance objective is associated with a computing platform (e.g. see [0038] “as the user types the NLQ 238 into the text-entry box 258A, the GUI 236 or the analytics server 220 performs pattern matching of the entered text relative to the retrieved KPIs and NLQs, and may present the patterned-matched, selectable NLQs suggestions within the list 258C of suggested NLQs”); obtaining a semantic value associated with the performance objective (e.g. see [0040] “In response to receiving the NLQ 238 from the client device 20, the analytics server 220 provides (block 272) the NLQ 238 to the NLP 222 for analysis. The NLP 222 receives and processes the NLQ 238 based on the one or more models 240 to identify which query details are present in the NLQ 238”); mapping the semantic value to a first performance metric, wherein the first performance metric characterizes the computing platform (e.g. see [0040] “As used herein, “query details” refer to the features or details of the NLQ, including references to tables of the database server 104 or the CMDB 224, aggregation operations (e.g., count, sum, mean, etc.), grouping operations (e.g., group by particular fields ascending or descending), and conditions (e.g., fields, operators, and values) indicated or implied by the NLQ. For example, in certain embodiments, the models 240 may include a model that is generated or trained, at least in part, based on the names of tables and fields stored by the DB server 104, as well as the types of data stored within these fields and the grouping and aggregation operations that are suitable for these data types”); obtaining performance data based on the first performance metric(e.g. see [0041] “the analytics server 220 may respond by generating a database query, based on the extracted query details, to retrieve the stored, historical values of the KPI from the KPIs table 228 for presentation to the user. In other situations, the analytics server 220 may determine that the extracted query details do not reference an existing KPI for which trend data has been collected, or that the query details do not reasonably correspond to historical KPI data (e.g., the NLQ 238 references “current incidents”). In such situations, the analytics server 220 may create a new KPI based on the extracted query details”); and assessing the performance data to determine an evaluation of the performance objective (e.g. see [0047] “For example, the database query associated with the open incidents KPI may be “SELECT COUNT (Incident.ID) FROM Incident WHERE Incident.Active=True”, which calculates a real-time value for each periodic execution based on the number of open incidents present in the CMDB 224 at the time the query is executed, and each of these real-time values may be collected and stored within the KPIs table 228. As such, in certain embodiments, when the analytics server 220 determines that the KPI referenced by the NLQ 238 has associated trend data, the analytics server 220 may default to executing a suitable database query to retrieve the stored trend data for the KPI from the KPIs table 228, and then update the GUI 236 to present the trend data associated with the KPI on a suitable graph (e.g., a trend line 296)”) . 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 9 is rejected under 35 U.S.C. 103 as being unpatentable over Penzo (US20220035802 A1), in view of Mehta (US20200184355 A1). Regarding Claim 9, Penzo teaches limitations of Claim 8. Penzo does not explicitly disclose wherein assessing the performance data further comprises: providing, as input to a machine learning model, the performance data and the historical performance data; receiving, from the machine learning model, a prediction of future performance data; and assessing the prediction of future performance data to further determine the evaluation of the performance objective. In the same field of endeavor, Mehta teaches wherein assessing the performance data further comprises: providing, as input to a machine learning model, the performance data and the historical performance data (e.g. see [0034] “For example, the method may comprise training a machine learning model using the log patterns to predict the probability of an incident using the application-specific historical outage reports, Key Performance Indicators (KPIs), log topic, and sentiment level of a log key”); receiving, from the machine learning model, a prediction of future performance data (e.g. see [0034] “The trained machine learning model can then be used to predict outages in real time or near real time. The results can be transmitted to an incident prediction dashboard 212 which can be monitored by IT staff”); and assessing the prediction of future performance data to further determine the evaluation of the performance objective (e.g. see [0082] “The systems and methods described above can provide improved stability of application platforms. By monitoring the application and the servers supporting it using advanced log analytics in a manner customizable based upon application needs (or KPIs), this system provides benefits to various stakeholders. For example, a platform owner responsible for providing and maintaining supporting infrastructure may use this system to monitor the health of its servers in real time”). It would have been obvious to one of ordinary skill in the art before the effective filling date to combine the performance data of Penzo with the future predictions of Mehta for the purpose of evaluating the performance of the system with the advantage of anticipating potential failures in order to perform preventative maintenance. Claim 10 is rejected under 35 U.S.C. 103 as being unpatentable over Penzo (US20220035802 A1), in view of Upadhyay (US11074533 B1). Regarding Claim 10, Penzo teaches the limitations of Claim 1. Penzo does not explicitly disclose mapping the semantic value associated with the performance objective to a second performance metric, wherein the second performance metric characterizes the computing platform and differs the first performance metric; obtaining additional performance data based on the second performance metric; assessing the additional performance data to further determine the evaluation of the performance objective; and outputting the evaluation of the performance objective, wherein the evaluation of the performance objective is based on the performance data and the additional performance data. In the same field of endeavor, Upadhyay teaches mapping the semantic value associated with the performance objective to a second performance metric, wherein the second performance metric characterizes the computing platform and differs the first performance metric (e.g. see [Col 6 lines 15-21] “In another exemplary embodiment of the present invention, the widgets associated with the metrics and KPIs data are searched using a voice command given by the end-user. The voice commands given by the end-user are analyzed and processed based on at least natural language processing (NLP) and speech recognition techniques for providing the widgets associated with the metrics and KPIs data,” and [Col 5 lines 44-46] “The different types of data fetched is associated with one or more metrics and key performance indicators (KPIs) data of the enterprise”); obtaining additional performance data based on the second performance metric (e.g. see [Col 15 lines 62-64] “At step 1602, different types of metrics and key performance indicators (KPIs) data associated with enterprise is fetched”); assessing the additional performance data to further determine the evaluation of the performance objective; and outputting the evaluation of the performance objective, wherein the evaluation of the performance objective is based on the performance data and the additional performance data (e.g. see [Col 3 lines 2-12] “causes the processor to analyze different types of metrics and Key Performance Indicators (KPIs) data associated with enterprise data for determining one or more key metrics and KPIs data and identifying a causal attribution data between the key metrics and KPIs data for determining effect of change of one key metric and KPI data on another key metric and KPI data. Further, generate one or more widgets based on the analyzed metrics and KPIs data,” and [Col 16 lines 24-35] “the data, fetched by the business intelligence (BI) tools, the natural language processing (NLP) tools and the robotic automation tools is transmitted as a virtualization as a service (VaaS) over the communication network using one or more APIs and dynamic visualization tools, which is provided to the end-user for processing the data and creating an interactive actionable interface for optimized access and visualization of data. In an embodiment of the present invention, the fetched different types of metrics and KPIs data is processed for converting the data into a suitable format for access and visualization of the said data to the end-user,”). It would have been obvious to one of ordinary skill in the art before the effective filling date to combine the method of obtaining one performance metric as, taught by Penzo, with the embodiment of obtaining a plurality of metrics as taught by Upadhyay for the purpose of evaluating the performance of a computing system with the advantage of collecting multiple types of data at once to ensure a more comprehensive performance determination. Claims 12-13 are rejected under 35 U.S.C. 103 as being unpatentable over Penzo (US20220035802 A1), in view of Lerena (US20170024674 A1). Regarding Claim 12, Penzo teaches the limitations of Claim 1. Penzo does not explicitly disclose determining a threshold value for the performance objective; and determining, based on the evaluation of the performance objective and the threshold value for the performance objective, a deficiency in the computing platform. In the same field of endeavor, Lerena teaches determining a threshold value for the performance objective (e.g. see [0101] “the user may be enabled to set an alert on a KPI by specifying a trigger condition. The trigger condition may be for example, “If the KPI falls below X” where X may be a numerical value. Accordingly, the KPI may be regularly monitored and when the KPI value falls below X, an alert may be transmitted to the user through a communication mode such as, but not limited to, SMS, email and/or instant message”); and determining, based on the evaluation of the performance objective and the threshold value for the performance objective, a deficiency in the computing platform (e.g. see [0110] “accordingly, the user interface may be further configured perform a comparison of a business analytical data, such as current KPI value, with one or more of the lower limit and the upper limit. Further, based on a result of the comparison, the user interface may be configured to display the notification to the user. Further, in some embodiments, the user interface may be configured to provide an indication of receipt of an alert to the user. For example, as illustrated in FIG. 10D, a GUI element 1008 included in the user interface, such as a triangular icon may be used to indicate receipt of an alert”). It would have been obvious to one of ordinary skill in the art before the effective filling date to combine the performance objectives of Penzo with the threshold embodiments of Lerena for the purpose of evaluating the performance of a computing system with the advantage of a specified metric to ensure uniform determinations. Regarding Claim 13, Penzo and Lerena teach the limitations of Claim 12. Penzo does not explicitly disclose wherein the threshold value is included in the textual input, and wherein mapping the semantic value to the first performance metric comprises mapping the threshold value to the first performance metric. In the same field of endeavor, Lerena teaches wherein the threshold value is included in the textual input (e.g. see [0109] “Further, the user interface may include a GUI element 1006 such as a text box, for receiving one or more of a lower limit and an upper limit”), and wherein mapping the semantic value to the first performance metric comprises mapping the threshold value to the first performance metric (e.g. see [0110] “Accordingly, the user interface may be further configured perform a comparison of a business analytical data, such as current KPI value, with one or more of the lower limit and the upper limit. Further, based on a result of the comparison, the user interface may be configured to display the notification to the user”). It would have been obvious to one of ordinary skill in the art before the effective filling date to combine the performance objectives and text input of Penzo with the threshold embodiments of Lerena for the purpose of evaluating the performance of a computing system with the advantage of a specified metric to ensure uniform determinations. Claim 14 is rejected under 35 U.S.C. 103 as being unpatentable over Penzo (US20220035802 A1), in view of Lerena (US20170024674 A1), and in further view of Gu (WO2022093239 A1). Regarding Claim 14, Penzo and Lerena teach the limitations of Claim 12. Penzo does not explicitly disclose determining, based on the deficiency in the computing platform, a remedial action that can occur on the computing platform, wherein the remedial action comprises restarting a portion of the computing platform; and performing the remedial action on the computing platform. In the same field of endeavor, Gu teaches determining, based on the deficiency in the computing platform, a remedial action that can occur on the computing platform, wherein the remedial action comprises restarting a portion of the computing platform; and performing the remedial action on the computing platform (e.g. see [pg. 12 lines 24-26] “In an embodiment, proper system orchestration services such as auto-scaling, migration, and/or reboot may be automatically triggered by matching a detected or predicted event with stored anomaly pattern to automatically repair an unhealthy system as an automatic fix,” and [Pg. 13 lines 25-33] “In existing incident management systems such as ServiceNow, each incident ticket typically includes certain comments such as “close notes” and “last comments” about how the operator fixes the issue in the past. The system may leverage NLP to parse those comments to extract key operations such as, in nonlimiting examples, “restart server X”, “clean up disk space”, and “replace broken network switch”. The identified operations may be used as labels to train classification models utilized by the system to map a predicted incident pattern and its associated root cause patterns to the proper remediation action. The system may then build classification models using different classification algorithms such as random forest trees and neural networks”). It would have been obvious to one of ordinary skill in the art before the effective filling date to combine the performance evaluation method of Penzo with the restart remediation of Gu for the purpose of evaluating the performance of a computer system with the advantage of quickly enacting a solution to a discovered fault in order to reduce downtime of the system. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure (US20170351689 A1) teaches mapping the semantic value to a second performance metric. (US 20180137094 A1) teaches an NLP engine that can provide an ability for the user to provide information to the system (e.g., key performance indicators (“KPI”), etc.) and based on the provided information solve various challenges. The system can analyze provided information and generate an output for the user, e.g., a presentation. Any inquiry concerning this communication or earlier communications from the examiner should be directed to NYLA GAVIA whose telephone number is (703)756-1592. The examiner can normally be reached M-F 8:30-5:30pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Catherine Rastovski can be reached at 571-270-0349. 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. /NYLA GAVIA/Examiner, Art Unit 2857 /Catherine T. Rastovski/Supervisory Primary Examiner, Art Unit 2857
Read full office action

Prosecution Timeline

Mar 15, 2024
Application Filed
Jun 23, 2026
Non-Final Rejection mailed — §101, §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12682216
METHOD AND SYSTEM FOR PREDICTING PROPERTIES OF ROCK SAMPLES USING THERMAL SENSING AND MACHINE LEARNING
3y 2m to grant Granted Jul 14, 2026
Patent 12674831
FAULT LOCATION DETECTION IN TAPPED POWER DISTRIBUTION LINES
3y 0m to grant Granted Jul 07, 2026
Patent 12669536
LOW POWER ARCHITECTURE FOR CHIPLETS
3y 5m to grant Granted Jun 30, 2026
Patent 12663491
REDUCING AND CORRECTING MAGNETIC FIELD GRADIENT DEVIATIONS
3y 1m to grant Granted Jun 23, 2026
Patent 12663306
INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND SENSING SYSTEM
2y 10m to grant Granted Jun 23, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

1-2
Expected OA Rounds
79%
Grant Probability
93%
With Interview (+13.9%)
3y 0m (~8m remaining)
Median Time to Grant
Low
PTA Risk
Based on 82 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