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 .
DETAILED ACTION
1. This Office Action is in response to the amendment filed on 02/09/2026. Claims 1-6, 10-16 and 19-23 are pending in this application. Claims 1, 16 and 19 are independent claims. Claims 7-9 and 17-18 are canceled and claims 21-23 are newly added.
Claim Rejections - 35 USC § 101
2. 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.
3. Claims 1-6, 10-16 and 19-23 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claims 1, 16 and 19 similarly recite “a method performed by a client computing device to predict that a text file contains source code written in one or more of a plurality of source code programming languages, comprising: selecting one or more pieces of text in a text file when a file system operation on the computing device involving the text file is detected by the client computing device; during execution of an inference workflow of a neural network model, searching for and retrieving from a single embedding layer of the neural network model implemented as an embedding representations lookup table stored in a memory accessible to the client computing device an embedding representation value corresponding to each of the selected one or more pieces of text by performing a constant time lookup in a perfect hash map of the embedding representations lookup table for the embedding representation value corresponding to each of the selected one or more pieces of text; and creating a plurality of class label prediction values based on an overall embedding representation value, derived from the retrieved embedding representation values corresponding to the selected one or more pieces of text, and a plurality of class labels corresponding to the plurality of source code programming languages; predicting a source code programming language in which the source code is written in the text file based on the plurality of class label prediction values; and executing threat detection logic on the client computing device based on the predicted source code programming language in which the source code is written in the text file”.
The limitation of the claims 1, 16 and 19 of “detecting, by the client computing device, a file system operation on the computing device involving the text file”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mental process but for the recitation of generic computer components. For example, but for the “detecting” in the context of this claim encompasses the user detect a file system operation on the computing device involving the text file with a pen and paper or in a human mind. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Process” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
The limitation of the claims 1, 16 and 19 of “searching for and retrieving from a single embedding layer of the neural network model implemented as an embedding representations lookup table stored in a memory accessible to the client computing device an embedding representation value corresponding to each of one or more pieces of text in the text file by performing a constant time lookup in a perfect hash map of the embedding representations lookup table for the embedding representation value corresponding to each of the one or more pieces of text”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “searching” and “finding/locating” in the context of this claim encompasses the user may search for and retrieve from an embedding representation value corresponding to each of the selected one or more pieces of text by performing a constant time lookup in a perfect hash map of the embedding representations lookup table for the embedding representation value corresponding to each of the selected one or more pieces of text with a pen and paper or in a human mind. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
The limitation of the claims 1, 16 and 19 of “creating a plurality of class label prediction values based on an overall embedding representation value, derived from the retrieved embedding representation values corresponding to the one or more pieces of text, and a plurality of class labels corresponding to the plurality of source code programming languages”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “calculating” in the context of this claim encompasses the user may calculate by creating a plurality of class label prediction values based on an overall embedding representation value, derived from the retrieved embedding representation values corresponding to the selected one or more pieces of text, and a plurality of class labels corresponding to the plurality of source code programming languages with a pen and paper or in a human mind. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mathematical Concepts [Mathematical Calculation]” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
The limitation of the claims 1, 16 and 19 of “predicting a source code programming language in which the source code is written in the text file based on the plurality of class label prediction values;”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “predicting” in the context of this claim encompasses the user determines a source code programming language in which the source code is written in the text file based on the plurality of class label prediction values. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under Prong I step 2A.
This judicial exception is not integrated into a practical application. In particular, the claims 1, 16 and 19 recite additional elements such as “during execution of an inference workflow of a neural network model”.
Examiner would like to point out that with the broad reasonable interpretation, this element amount to an insignificant extra-solution activity such as “apply it”, which does not impose any meaningful limits on practicing the mental process. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea under step 2A Prong 2 and 2B.
This judicial exception is not integrated into a practical application. In particular, the claims 1, 16 and 19 recite additional elements such as “executing threat detection logic on the client computing device based on the predicted source code programming language in which the source code is written in the text file”
Examiner would like to point out that with the broad reasonable interpretation, this element amount to an insignificant extra-solution activity such as “apply it”, which does not impose any meaningful limits on practicing the mental process. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea under step 2A Prong 2 and 2B.
The limitation of the dependent claim 2 of “creating a feature vector based on a portion of the text file when the file system operation on the computing device involving the text file is detected by the client computing device”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “creating a vector” in the context of this claim encompasses the user calculates a mathematical formula by creating a feature vector based on a portion of the text file when the file system operation on the computing device involving the text file is detected by the client computing device. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mathematical Concepts [Mathematical Calculation]” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
The limitation of the dependent claim 3 of “creating the feature vector comprising a plurality of integer values, wherein each integer value represents a ranking of a frequency of occurrence of a corresponding piece of text found in the text file as measured across a plurality of sample text files containing source code written in one or more of the plurality of source code programming languages”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “creating a feature vector” in the context of this claim encompasses the user calculates a mathematical formula by creating a feature vector feature vector comprising a plurality of integer values, wherein each integer value represents a ranking of a frequency of occurrence of a corresponding piece of text found in the text file as measured across a plurality of sample text files containing source code written in one or more of the plurality of source code programming languages. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mathematical Concepts [Mathematical Calculation]” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
This judicial exception is not integrated into a practical application. In particular, the dependent claim 4 recites additional elements such as “wherein the piece of text is a n-gram”
Examiner would like to point out that with the broad reasonable interpretation, this element amount to an insignificant extra-solution activity such as “field of use”, which does not impose any meaningful limits on practicing the mental process. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea under Prong II step 2A and 2B.
This judicial exception is not integrated into a practical application. In particular, the dependent claim 5 recites additional elements such as “wherein the n-gram is a contiguous sequence of n bytes or n characters in the text file”
Examiner would like to point out that with the broad reasonable interpretation, this element amount to an insignificant extra-solution activity such as “field of use”, which does not impose any meaningful limits on practicing the mental process. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea under Prong II step 2A and 2B.
This judicial exception is not integrated into a practical application. In particular, the dependent claim 6 recites additional elements such as “wherein the n-gram is a bigram”
Examiner would like to point out that with the broad reasonable interpretation, this element amount to an insignificant extra-solution activity such as “field of use”, which does not impose any meaningful limits on practicing the mental process. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea under Prong II step 2A and 2B.
This judicial exception is not integrated into a practical application. In particular, the dependent claim 10 recites additional elements such as “learning, during execution of a training workflow of the neural network model, embedding representation values of pieces of text in a plurality of sample text files containing source code written in one or more of the plurality of source code programming languages; and storing the embedding representation values, ordered in a perfect hash map of the embedding representations lookup table”
Examiner would like to point out that with the broad reasonable interpretation, this element amount to an insignificant extra-solution activity such as “apply it”, which does not impose any meaningful limits on practicing the mental process. Accordingly, this additional element does not integrate the abstract idea into a practical application because it does not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea under Prong II step 2A and 2B.
The limitation of the dependent claim 11 of “wherein the overall embedding representation value, derived from the retrieved embedding representation values corresponding to the values in the feature vector is based on an average of the retrieved embedding representation values”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “calculating” in the context of this claim encompasses the user calculates the values in the feature vector by averaging of the retrieved embedding representation values. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mathematical Concepts [Mathematical Calculation]” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
The limitation of the dependent claim 12 of “wherein creating the plurality of class label prediction values based on the overall embedding representation value, derived from the retrieved embedding representation values corresponding to the values in the feature vector, and the plurality of class labels corresponding to the plurality of source code programming languages, comprises performing a single matrix multiplication operation with the overall embedding representation value and the plurality of class labels corresponding to the plurality of source code programming languages”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “calculating” in the context of this claim encompasses the user calculates by performing a single matrix multiplication operation with the overall embedding representation value and the plurality of class labels corresponding to the plurality of source code programming languages. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mathematical Concepts [Mathematical Calculation]” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
The limitation of the dependent claim 13 of “during the execution of the inference workflow with the neural network model, creating a probability distribution of the plurality of class label prediction values”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “calculating” in the context of this claim encompasses the user calculates by creating a probability distribution of the plurality of class label prediction values. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mathematical Concepts [Mathematical Calculation]” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under step 2A Prong 1.
The limitation of the dependent claims 14 and 20 of “predicting the source code programming language corresponding to a highest class label prediction value among the plurality of class label prediction values”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “predicting” in the context of this claim encompasses the user determines the source code programming language corresponding to a highest class label prediction value among the plurality of class label prediction values. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under Prong I step 2A.
The limitation of the dependent claim 15 of “predicting the source code programming language corresponding to the highest class label prediction value that exceeds a threshold value”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “predicting” in the context of this claim encompasses the user determines the source code programming language corresponding to the highest class label prediction value that exceeds a threshold value. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under Prong I step 2A.
The limitation of the dependent claims 21-23 of “extracting, by the client computing device, one or more pieces of text in the text file responsive to detecting the file system operation on the computing device involving the text file”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “extracting” in the context of this claim encompasses the user may extract one or more pieces of text in the text file responsive to detecting the file system operation on the computing device involving the text file with a pen and paper or in a human mind. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under Prong I step 2A.
The limitation of the dependent claims 21-23 of “searching for and retrieving from the single embedding layer of the neural network model implemented as the embedding representations lookup table stored in the memory accessible to the client computing device the embedding representation value corresponding to each of the extracted one or more pieces of text in the text file”, as drafted, is a process that, under its broadest reasonable interpretation, covers a mathematical concept but for the recitation of generic computer components. For example, but for the “searching” in the context of this claim encompasses the user may search for and retrieve from the embedding representations lookup table the embedding representation value corresponding to each of the extracted one or more pieces of text in the text file with a pen and paper or in a human mind. If a claim limitation, under its broadest reasonable interpretation, covers performance of the limitation in the mind but for the recitation of generic computer components, then it falls within the “Mental Processes” grouping of abstract ideas. Accordingly, the claim recites an abstract idea. Accordingly, the claim recites an abstract idea under Prong I step 2A.
4. Dependent claims 2-6, 10-15 and 20-23 are also similar rejected under same rationale as cited above wherein these claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. These claims are merely further elaborate the mental process itself or providing additional definition of process which does not impose any meaningful limits on practicing the abstract idea. Claims 2-6, 10-15 and 20-23 are also rejected for incorporating the deficiency of their independent claims 1, 16 and 19 respectively.
Reasons for Allowance
5.The following is an examiner’s statement of reasons for allowance: the prior-art, the prior-art, Ivankovic (US PGPub 20210132915), in view of Woulfe (US PGPub 20180150742), in view of Ni (US PGPub 20220188081), and further in view of Shirani (US PGPub 20210133279) failed to disclose: a method performed by a client computing device to predict that a text file contains source code written in one or more of a plurality of source code programming languages, comprising: detecting, by the client computing device, a file system operation on the computing device involving the text file; during execution of an inference workflow of a neural network model, searching for and retrieving from a single embedding layer of the neural network model implemented as an embedding representations lookup table stored in a memory accessible to the client computing device an embedding representation value corresponding to each of one or more pieces of text in the text file by performing a constant time lookup in a perfect hash map of the embedding representations lookup table for the embedding representation value corresponding to each of the one or more pieces of text; and creating a plurality of class label prediction values based on an overall embedding representation value, derived from the retrieved embedding representation values corresponding to the one or more pieces of text, and a plurality of class labels corresponding to the plurality of source code programming languages; predicting a source code programming language in which the source code is written in the text file based on the plurality of class label prediction values; and executing threat detection logic on the client computing device based on the predicted source code programming language in which the source code is written in the text file, as recited by the independent claim 1.
Regarding Claim 1, the closest prior-art found, Ivankovic, Woulfe, Ni and Shirani discloses of a method performed by a client computing device to predict that a text file contains source code written in one or more of a plurality of source code programming languages, comprising: detecting, by the client computing device, a file system operation on the computing device involving the text file; during execution of an inference workflow of a neural network model, searching for and retrieving from a single embedding layer of the neural network model implemented as an embedding representations lookup table stored in a memory accessible to the client computing device an embedding representation value corresponding to each of one or more pieces of text in the text file by performing a constant time lookup in a perfect hash map of the embedding representations lookup table for the embedding representation value corresponding to each of the one or more pieces of text; and creating a plurality of class label prediction values based on an overall embedding representation value, derived from the retrieved embedding representation values corresponding to the one or more pieces of text, and a plurality of class labels corresponding to the plurality of source code programming languages; and executing threat detection logic on the client computing device based on the predicted source code programming language in which the source code is written in the text file.
Respectively, Ivankovic teaches that when the tool type indicator 205 specifies that the software development tool 418 includes the code labeling type of software development tool, the code insight 400 includes a predicted label 400a for the target source code 210. For instance, the predicted label 400a may include at least one of a predicted level of complexity (e.g., complex vs. simple) of the target source code 210, a predicted quality of the target source code (e.g., good code vs. bad code); a predicted testing requirement for the target source code (e.g., better if tested); or a predicted difficulty rating of the target source code. The predicted label 400a may include any type of label the developer 202 wants the machine learning model 308 to predict for the target source code 210. Further, the tool type indicator 205 included in the code insight request 110 may specify the code labeling type when developer 202 specifies, when providing the code insight request 110, a specific label the developer 202 wants the machine learning model 308 to predict. That is, the code insight request 110 may indicate that the developer 202 wants the code insight service 150 (e.g., via the machine learning model 308) to predict the complexity of the target source code 210, the quality of the target source code 210, the testing requirement for the target source code 210, or the difficulty rating of the target source code 210.
Woulfe teaches that aspects of the subject matter disclosed herein pertain to the technical problem of determining the probability of software bugs in a source code file in a more relevant and meaningful manner. The technical features associated with addressing this problem involve a technique that models the context or syntactic structure of portions of a source code file (i.e., source code statements, methods, classes) with and without software bugs in order to generate a machine learning model to predict the probability of a source code file containing software bugs. Accordingly, aspects of the disclosure exhibit technical effects with respect to detecting a software bug in a portion of a source code file by source code files extracting significant syntactic features that yield patterns that can be learned to predict a likelihood of the existence of a software bug.
Ni teaches that ML module 105 may apply these machine learning models to various data in order to identify and/or select candidate transformations made previously, e.g., by other programmers to the same code base or to different code base(s). For example, in various implementations, ML module 105 may apply a machine learning model such as a GNN or an encoder portion of an autoencoder to data indicative of a transformation made by a programmer to a source code snippet to generate an embedding (or feature vector) representation. When a graph-based machine learning model such as a GNN is applied, the source code transformation may be represented in the form of a graph, such as an abstract syntax tree (AST).
Shirani teaches Additionally, as shown in FIG. 3, the text label distribution neural network 300 includes an inference layer 308. Generally speaking, the text label distribution neural network 300 utilizes the inference layer 308 to generate output 310 based on the word embeddings corresponding to the plurality of words received as input 302. For example, the text label distribution neural network 300 can utilize the inference layer 308 to generate, as output 310, a plurality of label distributions for the plurality of words based on the corresponding feature vectors generated by the encoding layer 306. Where the encoding layer 306 includes one or more attention mechanisms, the text label distribution neural network 300 generates the plurality of label distributions further based on the attention weights corresponding to the plurality of words.
However, the prior art, Ivankovic, Woulfe, Ni and Shirani failed to disclose the following subject matter such as “predicting a source code programming language in which the source code is written in the text file based on the plurality of class labels based on the overall embedding representation value corresponding to the plurality of source code programming languages”.
Claim 16 is the system claim, similar to the claim 1, and claim 19 is the product claim, similar to the claim 1. Therefore, claims 1-6, 10-16 and 19-20 contain allowable subject matter while claims 7-9 and 17-18 are canceled.
6. Any comments considered necessary by applicant must be submitted no later than the payment of the issue fee and, to avoid processing delays, should preferably accompany the issue fee. Such submissions should be clearly labeled “Comments on Statement of Reasons for Allowance.”
Response to Arguments
7. Applicant's arguments with respect to the claims 1, 16 and 19 and their dependent claims have been fully considered but they are not persuasive.
Regarding the first argument w.r.t. 101 abstract idea rejection of the remark on pages 11-15 that the claim limitations of the claims 1, 16 and 19 cannot be performed in a human mind because the specification describes such limitations being performed not in a human mind, the examiner would like to point out that the limitations subject to the mental processes can still require a general purpose to execute the steps. Please see the updated rationale in the 101 Abstract Idea rejection above.
C. A Claim That Requires a Computer May Still Recite a Mental Process
Claims can recite a mental process even if they are claimed as being performed on a computer. The Supreme Court recognized this in Benson, determining that a mathematical algorithm for converting binary coded decimal to pure binary within a computer’s shift register was an abstract idea. The Court concluded that the algorithm could be performed purely mentally even though the claimed procedures “can be carried out in existing computers long in use, no new machinery being necessary.” 409 U.S at 67, 175 USPQ at 675. See also Mortgage Grader, 811 F.3d at 1324, 117 USPQ2d at 1699 (concluding that concept of “anonymous loan shopping” recited in a computer system claim is an abstract idea because it could be “performed by humans without a computer”).
In evaluating whether a claim that requires a computer recites a mental process, examiners should carefully consider the broadest reasonable interpretation of the claim in light of the specification. For instance, examiners should review the specification to determine if the claimed invention is described as a concept that is performed in the human mind and applicant is merely claiming that concept performed 1) on a generic computer, or 2) in a computer environment, or 3) is merely using a computer as a tool to perform the concept. In these situations, the claim is considered to recite a mental process.
1. Performing a mental process on a generic computer. An example of a case identifying a mental process performed on a generic computer as an abstract idea is Voter Verified, Inc. v. Election Systems & Software, LLC, 887 F.3d 1376, 1385, 126 USPQ2d 1498, 1504 (Fed. Cir. 2018). In this case, the Federal Circuit relied upon the specification in explaining that the claimed steps of voting, verifying the vote, and submitting the vote for tabulation are “human cognitive actions” that humans have performed for hundreds of years. The claims therefore recited an abstract idea, despite the fact that the claimed voting steps were performed on a computer. 887 F.3d at 1385, 126 USPQ2d at 1504. Another example is Versata, in which the patentee claimed a system and method for determining a price of a product offered to a purchasing organization that was implemented using general purpose computer hardware. 793 F.3d at 1312-13, 1331, 115 USPQ2d at 1685, 1699. The Federal Circuit acknowledged that the claims were performed on a generic computer, but still described the claims as “directed to the abstract idea of determining a price, using organizational and product group hierarchies, in the same way that the claims in Alice were directed to the abstract idea of intermediated settlement, and the claims in Bilski were directed to the abstract idea of risk hedging.” 793 F.3d at 1333; 115 USPQ2d at 1700-01.
2. Performing a mental process in a computer environment. An example of a case identifying a mental process performed in a computer environment as an abstract idea is Symantec Corp., 838 F.3d at 1316-18, 120 USPQ2d at 1360. In this case, the Federal Circuit relied upon the specification when explaining that the claimed electronic post office, which recited limitations describing how the system would receive, screen and distribute email on a computer network, was analogous to how a person decides whether to read or dispose of a particular piece of mail and that “with the exception of generic computer-implemented steps, there is nothing in the claims themselves that foreclose them from being performed by a human, mentally or with pen and paper”. 838 F.3d at 1318, 120 USPQ2d at 1360. Another example is FairWarning IP, LLC v. Iatric Sys., Inc., 839 F.3d 1089, 120 USPQ2d 1293 (Fed. Cir. 2016). The patentee in FairWarning claimed a system and method of detecting fraud and/or misuse in a computer environment, in which information regarding accesses of a patient’s personal health information was analyzed according to one of several rules (i.e., related to accesses in excess of a specific volume, accesses during a pre-determined time interval, or accesses by a specific user) to determine if the activity indicates improper access. 839 F.3d. at 1092, 120 USPQ2d at 1294. The court determined that these claims were directed to a mental process of detecting misuse, and that the claimed rules here were “the same questions (though perhaps phrased with different words) that humans in analogous situations detecting fraud have asked for decades, if not centuries.” 839 F.3d. at 1094-95, 120 USPQ2d at 1296.
3. Using a computer as a tool to perform a mental process. An example of a case in which a computer was used as a tool to perform a mental process is Mortgage Grader, 811 F.3d. at 1324, 117 USPQ2d at 1699. The patentee in Mortgage Grader claimed a computer-implemented system for enabling borrowers to anonymously shop for loan packages offered by a plurality of lenders, comprising a database that stores loan package data from the lenders, and a computer system providing an interface and a grading module. The interface prompts a borrower to enter personal information, which the grading module uses to calculate the borrower’s credit grading, and allows the borrower to identify and compare loan packages in the database using the credit grading. 811 F.3d. at 1318, 117 USPQ2d at 1695. The Federal Circuit determined that these claims were directed to the concept of “anonymous loan shopping”, which was a concept that could be “performed by humans without a computer.” 811 F.3d. at 1324, 117 USPQ2d at 1699. Another example is Berkheimer v. HP, Inc., 881 F.3d 1360, 125 USPQ2d 1649 (Fed. Cir. 2018), in which the patentee claimed methods for parsing and evaluating data using a computer processing system. The Federal Circuit determined that these claims were directed to mental processes of parsing and comparing data, because the steps were recited at a high level of generality and merely used computers as a tool to perform the processes. 881 F.3d at 1366, 125 USPQ2d at 1652-53.
* The examiner strongly recommends amending the claims to add additional limitations to help integrate a judicial exception (the abstract idea such as mental processes) into a practical application using the specification as follows.
In order to determine if additional element is integrating the abstract idea into a practical application,
1) The specification should describe the claimed improvement to achieve the desired goal.
2) The claimed improvement should be reflected at least in the additional elements by specifying how the claimed improvement performs the additional element to improve functioning of a computer or existing technical field.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JAE UK JEON whose telephone number is (571)270-3649. The examiner can normally be reached 9am-6pm. 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, Chat Do can be reached on 571-272-3721. 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.
/JAE U JEON/Primary Examiner, Art Unit 2193