Prosecution Insights
Last updated: April 19, 2026
Application No. 18/234,295

PREDICTING A POTENTIAL FAULT IN A BATTERY

Non-Final OA §101§103§DP
Filed
Aug 15, 2023
Examiner
ISLAM, MOHAMMAD K
Art Unit
2857
Tech Center
2800 — Semiconductors & Electrical Systems
Assignee
O2Micro Inc.
OA Round
1 (Non-Final)
83%
Grant Probability
Favorable
1-2
OA Rounds
2y 9m
To Grant
99%
With Interview

Examiner Intelligence

Grants 83% — above average
83%
Career Allow Rate
1070 granted / 1288 resolved
+15.1% vs TC avg
Strong +16% interview lift
Without
With
+16.5%
Interview Lift
resolved cases with interview
Typical timeline
2y 9m
Avg Prosecution
83 currently pending
Career history
1371
Total Applications
across all art units

Statute-Specific Performance

§101
21.4%
-18.6% vs TC avg
§103
32.6%
-7.4% vs TC avg
§102
25.0%
-15.0% vs TC avg
§112
14.6%
-25.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1288 resolved cases

Office Action

§101 §103 §DP
DETAILED ACTION Non-Final Rejection 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 . Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. Claims 1-20 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims 1-20 of prior U.S. Patent No. US 11768245. Removing the underlined portions and replace “current” and “previous” of patent application by “first” and “second” of different parameter and dataset to show the obvious-type double patenting. Patent No. US 11768245 Instant Application 1. A system, comprising: a data acquisition circuit configured to monitor statuses of a battery to generate status data indicative of said statuses; a controller, coupled to said data acquisition circuit, configured to receive said status data and determine whether a potential fault is present in said battery based on said status data and a plurality of machine-readable lookup tables; and a non-transitory machine-readable storage medium, coupled to said controller, configured to store said lookup tables, a lookup table of said lookup tables comprising a plurality of datasets corresponding to a plurality of time frames, and each dataset of said plurality of datasets comprising digital values of a plurality of parameters of said battery obtained in a corresponding time frame of said plurality of time frames, wherein said controller is configured to obtain a current dataset of said plurality of parameters based on said status data, search said lookup table for a previous dataset that matches said current dataset, perform a comparison of a current value of a parameter in said current dataset and a previous value of said parameter in said previous dataset, and determine whether said potential fault is present in said battery based on a result of said comparison, and wherein said controller is configured to update said lookup table by adding said current dataset to said lookup table if, based on said result of said comparison, said controller determines that said potential fault is not present. 2. The system of claim 1, wherein said potential fault comprises a potential internal short circuit. 3. The system of claim 1, wherein said controller is configured to determine whether said current value is within a predicted range defined by said previous value, wherein if said current value is within said predicted range, then said controller is configured to update said lookup table based on said current value, and wherein if said current value is not within said predicted range, then said controller performs is configured to perform a prediction process to determine whether said potential fault is present. 4. The system of claim 3, wherein in said prediction process, said controller is configured to compare said current value with a threshold, wherein if said current value exceeds said threshold, then said controller is configured to determine that said potential fault is present, wherein if said current value is within said threshold, then said controller is configured to calculate a ratio of said current value to said threshold, and multiply said ratio by a weighting factor to generate a calculation result, and wherein said controller is configured to determine whether said potential fault is present based on said calculation result. 5. The system of claim 1, wherein said controller is configured to execute a plurality of processes to determine whether said potential fault is present, wherein: said controller is configured to execute a first process of said plurality of processes, wherein said controller is configured to obtain a first value of a first parameter in a first dataset in a first time frame, calculate a first ratio of said first value to a first threshold, and multiply said first ratio by a first weighting factor to generate a first calculation result, wherein said first dataset corresponds to a first lookup table of said lookup tables; said controller is configured to execute a second process of said plurality of processes, wherein said controller is configured to obtain a second value of a second parameter in a second dataset in a second time frame, calculate a second ratio of said second value to a second threshold, and multiply said second ratio by a second weighting factor to generate a second calculation result, wherein said second dataset corresponds to a second lookup table of said lookup tables; and said controller is configured to execute a summing process, wherein said controller is configured to calculate a sum of a plurality of calculation results that comprise said first and second calculation results. 6. The system of claim 5, wherein if said sum exceeds a predetermined threshold, then said controller is configured to determine that said potential fault is present. 7. The system of claim 1, wherein said statuses comprise a battery voltage, a battery current, and a battery temperature of said battery. 8. The system of claim 1, wherein parameters in a dataset in a voltage-change lookup table of said lookup tables comprise a battery voltage change, an average battery current, an average battery temperature, and an average battery voltage, wherein said controller is configured to calculate a current voltage change of said battery in a current time frame, and calculate a current average current, a current average temperature, and a current average voltage of said battery in said current time frame, wherein said controller is configured to search said voltage-change lookup table for a matching dataset comprising a matching average current, a matching average temperature, and a matching average voltage that are identified as a match to said current average current, said current average temperature, and said current average voltage, respectively, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said current voltage change and a previous voltage change in said matching dataset. 9. The system of claim 1, wherein parameters in a dataset in a time-length lookup table of said lookup tables comprise a time length and an average battery temperature, wherein said controller is configured to measure a current time length for said battery to change from a close-to-fully-charged status to an end-of-charge status in a current time frame, and calculate a current average temperature of said battery in said current time frame, wherein said controller is configured to search said time-length lookup table for a matching dataset comprising a matching average temperature that is identified as matching said current average temperature, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said current time length and a previous time length in said matching dataset. 10. The system of claim 1, wherein parameters in a dataset in a temperature-change lookup table of said lookup tables comprise a battery temperature change and an average battery current, wherein said controller is configured to calculate a current temperature change of said battery in a current time frame, and calculate a current average current of said battery in said current time frame, wherein said controller is configured to search said temperature-change lookup table for a matching dataset comprising a matching average current that is identified as matching said current average current, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said current temperature change and a previous temperature change in said matching dataset. 11. The system of claim 1, wherein parameters in a dataset in a resistance lookup table of said lookup tables comprise an internal resistance and a state of charge, wherein said controller is configured to obtain a current internal resistance of said battery in a current time frame, and obtain a current state of charge of said battery in said current time frame, wherein said controller is configured to search said resistance lookup table for a matching dataset comprising a matching state of charge that is identified as matching said current state of charge, and wherein said controller is configured to determine whether said potential fault is present based on a difference between said current internal resistance and a previous internal resistance in said matching dataset. 12. The system of claim 1, wherein a parameter in a dataset in a maximum-charge-capacity lookup table of said lookup tables comprises an estimated value of a maximum charge capacity of said battery, wherein in a current charging cycle, said controller is configured to estimate a current maximum charge capacity of said battery when said battery enters an end-of-charge state, wherein said controller is configured to obtain a previous maximum charge capacity of said battery, estimated in a previous discharging cycle, from said maximum-charge-capacity lookup table, and wherein said controller is configured to determine whether said potential fault is present based on a difference between said current maximum charge capacity and said previous maximum charge capacity. 13. A method for detecting a potential fault in a battery, said method comprising: monitoring statuses of said battery to generate status data indicative of said statuses; and determining, using a controller, whether said potential fault is present in said battery based on said status data and a plurality of machine-readable lookup tables stored in a non-transitory machine-readable storage medium, a lookup table of said lookup tables comprising a plurality of datasets corresponding to a plurality of time frames, and each dataset of said plurality of datasets comprising digital values of a plurality of parameters of said battery obtained in a corresponding time frame of said plurality of time frames, wherein said determining whether said potential fault is present in said battery comprises: obtaining, using said controller, a current dataset of said plurality of parameters based on said status data; searching said lookup table for a previous dataset that matches said current dataset; comparing a current value of a parameter in said current dataset and a previous value of said parameter in said previous dataset; determining whether said potential fault is present in said battery based on a result of said comparing; and updating said lookup table by adding said current dataset to said lookup table if, based on said result of said comparing, said controller determines that said potential fault is not present. 14. The method of claim 13, further comprising: determining whether said current value is within a predicted range defined by said previous value based on said result; if said current value is within said predicted range, then updating said lookup table based on said current value; and if said current value is not within said predicted range, then performing a prediction process to determine whether said potential fault is present. 15. The method of claim 14, wherein said prediction process comprises: comparing said current value with a threshold; if said current value exceeds said threshold, then determining that said potential fault is present; and if said current value does not exceed said threshold, then calculating a ratio of said current value to said threshold, multiplying said ratio by a weighing factor to generate a calculation result, and determining whether said potential fault is present based on said calculation result. 16. The method of claim 13, further comprising performing a first process, a second process, and a summing process; wherein said first process comprises: obtaining a first value of a first parameter in a first dataset in a first time frame, wherein said first dataset corresponds to a first lookup table of said lookup tables; calculating a first ratio of said first value to a first threshold; and multiplying said first ratio by a first weighting factor to generate a first calculation result; wherein said second process comprises: obtaining a second value of a second parameter in a second dataset in a second time frame, wherein said second dataset corresponds to a second lookup table of said lookup tables; calculating a second ratio of said second value to a second threshold; and multiplying said second ratio by a second weighting factor to generate a second calculation result; and wherein said summing process comprises: calculating a sum of a plurality of calculation results that comprise said first and second calculation results. 17. A battery pack, comprising: a battery; and a status detection system, coupled to said battery, configured to monitor statuses of said battery to generate status data indicative of said statuses, and determine whether a potential fault is present in said battery based on said status data and a plurality of machine-readable lookup tables stored in a non-transitory machine-readable storage medium, a lookup table of said lookup tables comprising a plurality of datasets corresponding to a plurality of time frames, and each dataset of said plurality of datasets comprising digital values of a plurality of parameters of said battery obtained in a corresponding time frame of said plurality of time frames, wherein said status detection system is further configured to obtain a current dataset of said plurality of parameters based on said status data, search said lookup table for a previous dataset that matches said current dataset, perform a comparison of a current value of a parameter in said current dataset and a previous value of said parameter in said previous dataset, determine whether said potential fault is present in said battery based on a result of said comparison, and update said lookup table by adding said current dataset to said lookup table if, based on said result of said comparison, said status detection system determines that said potential fault is not present. 18. The battery pack of claim 17, wherein said status detection system is configured to determine whether said current value is within a predicted range defined by said previous value; wherein if said current value is within said predicted range, then said status detection system is configured to update said lookup table based on said current value; and wherein if said current value is not within said predicted range, then said status detection system is configured to perform a prediction process to determine whether said potential fault is present. 19. The battery pack of claim 18, wherein in said prediction process, said status detection system is configured to compare said current value with a threshold; wherein if said current value exceeds said threshold, then said status detection system is configured to determine that said potential fault is present wherein if said current value does not exceed said threshold, then said status detection system is configured to calculate a ratio of said current value to said threshold, and multiply said ratio by a weighting factor to generate a calculation result; and wherein said status detection system is configured to determine whether said potential fault is present based on said calculation result. 20. The battery pack of claim 17, wherein said status detection system is configured to determine whether said potential fault is present by performing a plurality of processes, wherein: said status detection system is configured to perform a first process of said plurality of processes, wherein said status detection system is configured to obtain a first value of a first parameter in a first dataset in a first time frame, calculate a first ratio of said first value to a first threshold, and multiply said first ratio by a first weighting factor to generate a first calculation result, wherein said first dataset corresponds to a first lookup table of said lookup tables; and said status detection system is configured to perform a second process of said plurality of processes, wherein said status detection system is configured to obtain a second value of a second parameter in a second dataset in a second time frame, calculate a second ratio of said second value to a second threshold, and multiply said second ratio by a second weighting factor to generate a second calculation result, wherein said second dataset corresponds to a second lookup table of said lookup tables; and said status detection system is configured to perform a summing process of said plurality of processes, wherein said status detection system is configured to calculate a sum of a plurality calculation results that comprise said first and second calculation results. 1. A system, comprising: a controller; and a non-transitory machine-readable storage medium, coupled to said controller, and configured to store a plurality of machine-readable lookup tables, wherein each lookup table of said lookup tables comprises a plurality of datasets corresponding to a plurality of time frames, and wherein each dataset of said plurality of datasets comprises values of a plurality of parameters of a battery obtained in a corresponding time frame of said plurality of time frames, wherein said controller is configured to access values in a first dataset obtained based on status data indicative of statuses of said battery, search a lookup table for a second dataset of said plurality of datasets that is identified as matching said first dataset, perform a comparison of a first value of a parameter in said first dataset and a second value of said parameter in said second dataset, and determine whether a potential fault is present in said battery based on a result of said comparison, and wherein said controller is configured to update said lookup table by adding said first dataset to said lookup table if, based on said result of said comparison, said controller determines that said potential fault is not present. 2. The system of claim 1, wherein said potential fault comprises a potential internal short circuit. 3. The system of claim 1, wherein said controller is configured to determine whether said first value is within a predicted range defined by said second value, wherein if said first value is within said predicted range, then said controller is configured to update said lookup table based on said first value, and wherein if said first value is not within said predicted range, then said controller is configured to perform a prediction process to determine whether said potential fault is present. 4. The system of claim 3, wherein in said prediction process, said controller is configured to compare said first value with a threshold, wherein if said first value exceeds said threshold, then said controller is configured to determine that said potential fault is present, wherein if said first value does not exceed said threshold, then said controller is configured to calculate a ratio of said first value to said threshold, and to multiply said ratio by a weighting factor to generate a calculation result, and wherein said controller is configured to determine whether said potential fault is present based on said calculation result. 5. The system of claim 1, wherein said controller is configured to execute a plurality of processes to determine whether said potential fault is present, and wherein: said controller is configured to execute a first process of said plurality of processes, wherein said controller is configured to access a value of a first parameter in a third dataset obtained based on said status data, calculate a first ratio of said value of said first parameter to a first threshold, and multiply said first ratio by a first weighting factor to generate a first calculation result, wherein said third dataset corresponds to a first lookup table of said lookup tables; said controller is configured to execute a second process of said plurality of processes, wherein said controller is configured to access a value of a second parameter in a fourth dataset based on said status data, calculate a second ratio of said value of said second parameter to a second threshold, and multiply said second ratio by a second weighting factor to generate a second calculation result, wherein said fourth dataset corresponds to a second lookup table of said lookup tables; and said controller is configured to execute a summing process, wherein said controller is configured to calculate a sum of a plurality of calculation results that comprise said first and second calculation results. 6. The system of claim 5, wherein if said sum exceeds a threshold, then said controller is configured to determine that said potential fault is present. 7. The system of claim 1, wherein said statuses comprise a battery voltage, a battery current, and a battery temperature of said battery. 8. The system of claim 1, wherein said lookup table comprises parameters comprising a voltage change, an average current, an average temperature, and an average voltage, wherein said controller is configured to calculate a first voltage change of said battery in a first time frame, and to calculate a first average current, a first average temperature, and a first average voltage of said battery in said first time frame, wherein said second dataset comprises a second average current, a second average temperature, and a second average voltage that are identified as matching said first average current, said first average temperature, and said first average voltage, respectively, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said first voltage change and a second voltage change in said second dataset. 9. The system of claim 1, wherein said lookup table comprises parameters comprising a time length and an average temperature, wherein said controller is configured to measure a first time length for said battery to change from a close-to-fully-charged status to an end-of-charge status in a first time frame, and to calculate a first average temperature of said battery in said first time frame, wherein said second dataset comprises a second average temperature that is identified as matching said first average temperature, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said first time length and a second time length in said second dataset. 10. The system of claim 1, wherein said lookup table comprises parameters comprising a temperature change and an average current, wherein said controller is configured to calculate a first temperature change of said battery in a first time frame, and to calculate a first average current of said battery in said first time frame, wherein said second dataset comprises a second average current that is identified as matching said first average current, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said first temperature change and a second temperature change in said second dataset. 11. The system of claim 1, wherein said lookup table comprises parameters comprising an internal resistance and a state of charge, wherein said controller is configured to estimate a first internal resistance of said battery in a first time frame, and to estimate a first state of charge of said battery in said first time frame, wherein said second dataset comprises a second state of charge that is identified as matching said first state of charge, and wherein said controller is configured to determine whether said potential fault is present based on a difference between said first internal resistance and a second internal resistance in said second dataset. 12. The system of claim 1, wherein said plurality of machine readable lookup tables further comprises a lookup table that comprises a parameter comprising a maximum charge capacity of said battery, wherein in a charging cycle, said controller is configured to calculate a first maximum charge capacity of said battery when said battery enters an end-of-charge state,wherein said controller is configured to access a second maximum charge capacity of said battery, estimated in a discharging cycle that precedes said charging cycle, from said lookup table that comprises said maximum charge capacity of said battery, and wherein said controller is configured to determine whether said potential fault is present based on a difference between said first maximum charge capacity and said second maximum charge capacity. 13. A method for detecting a potential fault in a battery, said method comprising: determining, using a controller, whether said potential fault is present in said battery based on status data indicative of statuses of said battery and based on a plurality of machine- readable lookup tables stored in a non-transitory machine-readable storage medium, wherein each lookup table of said lookup tables comprises a plurality of datasets corresponding to a plurality of time frames, and wherein each dataset of said plurality of datasets comprises values of a plurality of parameters of said battery obtained in a corresponding time frame of said plurality of time frames, wherein said determining whether said potential fault is present in said battery comprises: accessing, using said controller, values in a first dataset obtained based on said status data; searching a lookup table for a second dataset that is identified as matching said first dataset; comparing a first value of a parameter in said first dataset and a second value of said parameter in said second dataset; determining whether said potential fault is present in said battery based on a result of said comparing; and updating said lookup table by adding said first dataset to said lookup table if, based on said result of said comparing, said controller determines that said potential fault is not present. 14. The method of claim 13, further comprising: determining whether said first value is within a predicted range defined by said second value based on said result;if said first value is within said predicted range, then updating said lookup table based on said first value; and if said first value is not within said predicted range, then performing a prediction process to determine whether said potential fault is present. 15. The method of claim 14, wherein said prediction process comprises: comparing said first value with a threshold; if said first value exceeds said threshold, then determining that said potential fault is present; andif said first value does not exceed said threshold, then calculating a ratio of said first value to said threshold, multiplying said ratio by a weighing factor to generate a calculation result, and determining whether said potential fault is present based on said calculation result. 16. The method of claim 13, further comprising performing a first process, a second process, and a summing process; wherein said first process comprises: accessing a value of a first parameter in a third dataset, wherein said third dataset corresponds to a first lookup table of said lookup tables; calculating a first ratio of said value of said first parameter to a first threshold; and multiplying said first ratio by a first weighting factor to generate a first calculation result; wherein said second process comprises: accessing a value of a second parameter in a fourth dataset, wherein said fourth dataset corresponds to a second lookup table of said lookup tables; calculating a second ratio of said value of said second parameter to a second threshold; and multiplying said second ratio by a second weighting factor to generate a second calculation result; and wherein said summing process comprises: calculating a sum of a plurality of calculation results that comprise said first and second calculation results. 17. A battery pack, comprising: a battery; and a status detection system, coupled to said battery, configured to determine whether a potential fault is present in said battery based on status data indicative of statuses of said battery and based on a plurality of machine-readable lookup tables stored in a non-transitory machine- readable storage medium, wherein each lookup table of said lookup tables comprises a plurality of datasets corresponding to a plurality of time frames, and wherein each dataset of said plurality of datasets comprises values of a plurality of parameters of said battery obtained in a corresponding time frame of said plurality of time frames, wherein said status detection system is further configured to access values in a first dataset obtained based on said status data, search a lookup table for a second dataset that is identified as matching said first dataset, perform a comparison of a first value of a parameter in said first dataset and a second value of said parameter in said second dataset, determine whether said potential fault is present in said battery based on a result of said comparison, and update said lookup table by adding said first dataset to said lookup table if, based on said result of said comparing, said status detection system determines that said potential fault is not present.15 18. The battery pack of claim 17, wherein said status detection system is configured to determine whether said first value is within a predicted range defined by said second value; wherein if said first value is within said predicted range, then said status detection system is configured to update said lookup table based on said first value; and wherein if said first value is not within said predicted range, then said status detection system is configured to perform a prediction process to determine whether said potential fault is present. 19. The battery pack of claim 18, wherein in said prediction process, said status detection system is configured to compare said first value with a threshold; wherein if said first value exceeds said threshold, then said status detection system is configured to determine that said potential fault is present; wherein if said first value does not exceed said threshold, then said status detection system is configured to calculate a ratio of said first value to said threshold, and multiply said ratio by a weighting factor to generate a calculation result; and wherein said status detection system is configured to determine whether said potential fault is present based on said calculation result. 20. The battery pack of claim 17, wherein said status detection system is configured to determine whether said potential fault is present by performing a plurality of processes, wherein:said status detection system is configured to perform a first process of said plurality of processes, wherein said status detection system is configured to access a value of a first parameter in a third dataset obtained based on said status data, calculate a first ratio of said value of said first parameter to a first threshold, and multiply said first ratio by a first weighting factor to generate a first calculation result, wherein said third dataset corresponds to a first lookup table of said lookup tables; andsaid status detection system is configured to perform a second process of said plurality of processes, wherein said status detection system is configured to access a value of a second parameter in a fourth dataset obtained based on said status data, calculate a second ratio of said value of said second parameter to a second threshold, and multiply said second ratio by a second weighting factor to generate a second calculation result, wherein said fourth dataset corresponds to a second lookup table of said lookup tables; andsaid status detection system is configured to perform a summing process of said plurality of processes, wherein said status detection system is configured to calculate a sum of a plurality calculation results that comprise said first and second calculation results. 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. Step 1 Each of claims 1-20 falls within one of the four statutory categories. See MPEP § 2106.03. For example each of claims 1-12 and 17-20 fall within category of machine, i.e., a “concrete thing, consisting of parts, or of certain devices and combination of devices.” Digitech, 758 F.3d at 1348–49, 111 USPQ2d at 1719 (quoting Burr v. Duryee, 68 U.S. 531, 570, 17 L. Ed. 650, 657 (1863)); For each of claims 13-16 fall within category of process. Regarding Claims 1-12 Step 2A – Prong 1 Exemplary claim 1 is directed to an abstract idea of determining potential fault of a battery. The abstract idea is set forth or described by the following italicized limitations: 1. A system, comprising: a controller; and a non-transitory machine-readable storage medium, coupled to said controller, and configured to store a plurality of machine-readable lookup tables, wherein each lookup table of said lookup tables comprises a plurality of datasets corresponding to a plurality of time frames, and wherein each dataset of said plurality of datasets comprises values of a plurality of parameters of a battery obtained in a corresponding time frame of said plurality of time frames, wherein said controller is configured to access values in a first dataset obtained based on status data indicative of statuses of said battery, search a lookup table for a second dataset of said plurality of datasets that is identified as matching said first dataset, perform a comparison of a first value of a parameter in said first dataset and a second value of said parameter in said second dataset, and determine whether a potential fault is present in said battery based on a result of said comparison, and wherein said controller is configured to update said lookup table by adding said first dataset to said lookup table if, based on said result of said comparison, said controller determines that said potential fault is not present. The italicized limitations above represent a mental step (i.e., fundamental economic practice, a sales activity, managing interactions between people, and/or a process that can be performed by can be performed mentally and/or with pen and paper). Therefore, the italicized limitations fall within the subject matter groupings of abstract ideas enumerated in Section I of the 2019 Revised Patent Subject Matter Eligibility Guidance. For example, the limitation “perform a comparison [..]; determine whether a potential fault is present in said battery based on a result of said comparison; update said lookup table [..]based on said result of said comparison, determines that said potential fault is not present” is a mental process (i.e. a process that can be performed by can be performed mentally and/or with pen and paper). See 2106.04(a)(2)(I). Limitations are considered together as a single abstract idea for further analysis. (discussing Bilski v. Kappos, 561 U.S. 593 (2010)). Step 2A – Prong 2 Claims 1 does not include additional elements (when considered individually, as an ordered combination, and/or within the claim as a whole) that are sufficient to integrate the abstract idea into a practical application. The 1st additional element is “store a plurality of machine-readable lookup tables, wherein each lookup table of said lookup tables comprises a plurality of datasets corresponding to a plurality of time frames, and wherein each dataset of said plurality of datasets comprises values of a plurality of parameters of a battery obtained in a corresponding time frame of said plurality of time frames, wherein said controller is configured to access values in a first dataset obtained based on status data indicative of statuses of said battery, search a lookup table for a second dataset of said plurality of datasets that is identified as matching said first dataset”. This element appears to limit the “collecting data” to be performed, at least in-part, by use of a memory and to be performed, at least in-part, these additional elements appear to only add insignificant extra-solution activity (e.g., data gathering) and only generally link the abstract idea to a particular field. Therefore, this element individually or as a whole does not provide a practical application. see MPEP §§ 2106.05(g). For example,2nd additional first element is “A system, comprising: a controller; and a non-transitory machine-readable storage medium, coupled to said controller”. This element amounts to mere use of a generic computer components, which is well understood routine and conventional (see background of current discloser and IDS and PTO 892) and this element individually does not provide a practical application. In view of the above, the “additional element” individually or combine does not provide a practical application of the abstract idea. see MPEP 2106.05(d). In view of the above four “additional elements” individually do not provide a practical application of the abstract idea. Furthermore, the “additional elements” in combination amount to a plurality of generic control system with computer component with software, where such computers and software amount to mere instructions to implement the abstract idea on a computer(s) and/or mere use of a generic computer component(s) as a tool to perform the abstract idea. Therefore, these elements in combination do not provide a practical application. The combination of additional elements does no more than generally link the use of the abstract idea to a particular technological environment, and for this additional reason, the combination of additional elements does not provide a practical application of the abstract idea. Step 2B Claims 1 does not include additional elements, when considered individually and as an ordered combination, that are sufficient to amount to significantly more than the abstract idea. For example, the limitation of Claims “a computer system, controller, memory”, generic computer component, which are well understood, routine and conventional (see background of current discloser, IDS and the Examiner cited prior arts) and MPEP 2106.05(d)). The reasons for reaching this conclusion are substantially the same as the reasons given above in § Step 2A – Prong 2. For brevity only, those reasons are not repeated in this section. See MPEP §§ 2106.05(g) and MPEP §§2106.05(II). Dependent Claims 2-12 Dependent claims 2-12 fail to cure this deficiency of independent claim 6 (set forth above) and are rejected accordingly. Particularly, claims 2-12 recite limitations that represent (in addition to the limitations already noted above) either the abstract idea or an additional element that is merely extra-solution activity, mere use of instructions and/or generic computer component(s) as a tool to implement the abstract idea, and/or merely limits the abstract idea to a particular technological environment. For example, the limitations of Claims 3-6 and 8-12: claims limitations are directed to combinations mental steps (i.e., a process that can be performed by can be performed mentally and/or with pen and paper or a mental judgment) and a mathematical concept (i.e., a process that can be performed by mathematical relationships or rules or idea), see 2106.04(a)(2). For example, the limitations of Claims 2, 7 and 9(measuring step) , limitations appear to limit the “collecting data” to be performed, at least in-part, by use of a memory and to be performed, at least in-part, these additional elements appear to only add insignificant extra-solution activity (e.g., data gathering) and only generally link the abstract idea to a particular field. Therefore, this element individually or as a whole does not provide a practical application. see MPEP §§ 2106.05(g) Regarding Claims 13-20 Claims 13-20contains language similar to claim 1-12 as discussed in the preceding paragraphs, and for reasons similar to those discussed above, claims 13-20 are also rejected under 35 U.S.C. § 101(abstract idea). Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1-2, 7, 13 and 17 is/are rejected under 35 U.S.C. 103 as being unpatentable over Hendricks et al. (US 20170117725) in view of Sun et al. ( US 20100072948). Regarding Claims 1,13 and 17 . Hendricks teaches a system, comprising(BMS: [0028]; step 5: fig. 3): a controller ([0013]-[0014], [0028]); and a non-transitory machine-readable storage medium, coupled to said controller(microcontroller chip, or stored in external memory that can be accessed by a microcontroller: [0028]), and configured to store a plurality of machine-readable lookup tables(battery management system in the form of look-up tables: [0015]), wherein each lookup table of said lookup tables comprises a plurality of datasets corresponding to a plurality of time frames(One or more look-up tables could be created for different operating conditions, with acceptable temperature extremes defining the boundary conditions: [0010]; time variant temperature changes. These changes in the cell's thermal behavior can affect the thermal profile in the battery pack and are captured in the offline modeling to build the look-up table or equation: [0041]), and wherein each dataset of said plurality of datasets comprises values of a plurality of parameters of a battery obtained in a corresponding time frame of said plurality of time frames(step 4: fig.3; time variant temperature changes. These changes in the cell's thermal behavior can affect the thermal profile in the battery pack and are captured in the offline modeling to build the look-up table or equation: [0041] ), wherein said controller is configured to access values in a first dataset obtained based on status data indicative of statuses of said battery(temperature measurements: fig.3;[0036], [0039]), search a lookup table (to identify the appropriate look-up table: [0039])for a second dataset (step 4: fig.3)of said plurality of datasets that is identified as matching said first dataset([0039]), perform a comparison of a first value of a parameter in said first dataset and a second value of said parameter in said second dataset(step 5: fig. 33; The look-up table or equations can contain normal and abnormal temperature distributions for a variety of boundary and operating conditions, and the temperature measurements can quickly be matched to a stored temperature distribution: [0036]), and determine whether a potential fault is present in said battery based on a result of said comparison(identify anomaly or not: [0037]), and wherein said controller is configured to update said lookup table (BMS updates to the temperature look-up tables:[0044]). Hendricks silent about wherein said controller is configured to update said lookup table by adding said first dataset to said lookup table if, based on said result of said comparison, said controller determines that said potential fault is not present. However, Sun teaches wherein said controller is configured to update (s133: fig. 1) said lookup table(s110: fig. 1) by adding said first dataset to said lookup table (s131: fig.1)if , based on said result of said comparison(s130: fig.1), said controller determines that said potential fault is not present(s130(yes): fig.1: [0023]). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to the invention of Hendricks, said controller is configured to update said lookup table by adding said first dataset to said lookup table if, based on said result of said comparison, said controller determines that said potential fault is not present., as taught by Sun, so as to reduce a mismatch the real storage amount of power. Regarding Claim 2. Hendricks further teaches said potential fault comprises a potential internal short circuit (excessive temperature due to a short circuit:[0046]). Regarding Claim 7. Hendricks further teaches statuses comprise a battery voltage, a battery current, and a battery temperature of said battery([0036], [0039]). Examiner Notes Regarding claims 3-6,8-12, 14-16 and18-20, There is no prior art rejection over claims, however there is 101 rejections, specifically claims 3, 14 and 18 (“determine whether said first value is within a predicted range defined by said second value, wherein if said first value is within said predicted range, then said controller is configured to update said lookup table based on said first value, and wherein if said first value is not within said predicted range, to perform a prediction process to determine whether said potential fault is present.”). claims 5, 16 and 20 (“to determine whether said potential fault is present, and wherein: said controller is configured to execute a first process of said plurality of processes, wherein said controller is configured to access a value of a first parameter in a third dataset obtained based on said status data, calculate a first ratio of said value of said first parameter to a first threshold, and multiply said first ratio by a first weighting factor to generate a first calculation result, wherein said third dataset corresponds to a first lookup table of said lookup tables; said controller is configured to execute a second process of said plurality of processes, wherein said controller is configured to access a value of a second parameter in a fourth dataset based on said status data, calculate a second ratio of said value of said second parameter to a second threshold, and multiply said second ratio by a second weighting factor to generate a second calculation result, wherein said fourth dataset corresponds to a second lookup table of said lookup tables; and said controller is configured to execute a summing process, wherein said controller is configured to calculate a sum of a plurality of calculation results that comprise said first and second calculation results”. Claim 8 (“comprising a voltage change, an average current, an average temperature, and an average voltage,wherein said controller is configured to calculate a first voltage change of said battery in a first time frame, and to calculate a first average current, a first average temperature, and a first average voltage of said battery in said first time frame,wherein said second dataset comprises a second average current, a second average temperature, and a second average voltage that are identified as matching said first average current, said first average temperature, and said first average voltage, respectively, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said first voltage change and a second voltage change in said second dataset.). claim 9(“said lookup table comprises parameters comprising a time length and an average temperature, wherein said controller is configured to measure a first time length for said battery to change from a close-to-fully-charged status to an end-of-charge status in a first time frame, and to calculate a first average temperature of said battery in said first time frame,wherein said second dataset comprises a second average temperature that is identified as matching said first average temperature, and wherein said controller is configured to determine whether said potential fault is present based on a comparison between said first time length and a second time length in said second dataset.”). Claim 10(“said lookup table comprises parameters comprising a temperature change and an average current, wherein said controller is configured to calculate a first temperature change of said battery in a first time frame, and to calculate a first average current of said battery in said first time frame, wherein said second dataset comprises a second average current that is identified as matching said first average current, andwherein said controller is configured to determine whether said potential fault is present based on a comparison between said first temperature change and a second temperature change in said second dataset.”). Claim 11(“said lookup table comprises parameters comprising an internal resistance and a state of charge, wherein said controller is configured to estimate a first internal resistance of said battery in a first time frame, and to estimate a first state of charge of said battery in said first time frame, wherein said second dataset comprises a second state of charge that is identified as matching said first state of charge, and wherein said controller is configured to determine whether said potential fault is present based on a difference between said first internal resistance and a second internal resistance in said second dataset.”). claim 12(“plurality of machine readable lookup tables further comprises a lookup table that comprises a parameter comprising a maximum charge capacity of said battery, wherein in a charging cycle, said controller is configured to calculate a first maximum charge capacity of said battery when said battery enters an end-of-charge state,wherein said controller is configured to access a second maximum charge capacity of said battery, estimated in a discharging cycle that precedes said charging cycle, from said lookup table that comprises said maximum charge capacity of said battery, and wherein said controller is configured to determine whether said potential fault is present based on a difference between said first maximum charge capacity and said second maximum charge capacity.”) Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. a) Rivera et al. (US 20140354213) teaches a method for monitoring a battery pack is provided. The battery pack includes a plurality of modules and a pack controller, and each module includes a corresponding module controller. For each module, the method includes measuring a module current and measuring a module voltage. The measured module current and the measured module voltage are compared to state of health (SOH) data in at least one dynamic look-up table. A state of charge for the module is determined based on the comparison of the measured module current and the measured module voltage to the SOH data in the dynamic look-up table. For a particular embodiment, the dynamic look-up table is initially configured based on a type of battery chemistry for the battery pack, and after each charge cycle for the module, the dynamic look-up table is updated based on empirical data for the module. b) Nay. et al. (US 20120105014) disclose The lookup tables LT shown in FIG. 2 comprise data, stored in advance in ROM, obtained for example by experimental measurements using the new secondary battery 4. In FIG. 2, examples of lookup tables LT corresponding to an SOC of 95%, 50%, and 5% are shown; but the table storage portion 506 stores lookup tables LT corresponding to the entire range of SOC values from 0% to 100%. Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to MOHAMMAD K ISLAM whose telephone number is (571)270-0328. The examiner can normally be reached M-F 9:00 a.m. - 5:00 p.m.. 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, Shelby A Turner can be reached at 571-272-6334. 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. /MOHAMMAD K ISLAM/ Primary Examiner, Art Unit 2857
Read full office action

Prosecution Timeline

Aug 15, 2023
Application Filed
Dec 19, 2025
Non-Final Rejection — §101, §103, §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12601849
SYSTEMS AND METHODS FOR PLANNING SEISMIC DATA ACQUISITION WITH REDUCED ENVIRONMENTAL IMPACT
2y 5m to grant Granted Apr 14, 2026
Patent 12596361
FAILURE DIAGNOSIS METHOD, METHOD OF MANUFACTURING DISK DEVICE, AND RECORDING MEDIUM
2y 5m to grant Granted Apr 07, 2026
Patent 12596872
HOLISTIC EMBEDDING GENERATION FOR ENTITY MATCHING
2y 5m to grant Granted Apr 07, 2026
Patent 12596868
CREATING A DIGITAL ASSISTANT
2y 5m to grant Granted Apr 07, 2026
Patent 12597434
CONTROL OF SPEECH PRESERVATION IN SPEECH ENHANCEMENT
2y 5m to grant Granted Apr 07, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
83%
Grant Probability
99%
With Interview (+16.5%)
2y 9m
Median Time to Grant
Low
PTA Risk
Based on 1288 resolved cases by this examiner. Grant probability derived from career allow 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