DETAILED ACTION
The following is a FINAL office action upon examination of the application number 18/335890.
Response to Amendment
Claims 1, 2, 5, 8, 9, 12, 15, 16, and 19 have been amended.
Claims 1-20 are pending in the application and have been examined on the merits discussed below.
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 .
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 a judicial exception (i.e., a law of nature, a natural phenomenon, or an abstract idea) without significantly more.
(Step 1) Claims 1-7 are directed to a method; thus these claims are directed to a process, which is one of the statutory categories of invention. Claims 8-14 are directed to a system comprising one or more processors; thus the system comprises a device or set of devices, and therefore, is directed to a machine which is a statutory category of invention. Claims 15-20 are directed to a non-transitory computer-readable medium, which is a manufacture, and this a statutory category of invention.
(Step 2A) The claims recite an abstract idea instructing how to analyze risk of a release, which is described by claim limitations reciting:
receiving, … a first set of keyword data, wherein the first set of keyword data identifies the release and indicates at least one change to the production environment;
selecting a portion of data from a database to compare to the first set of keyword data, wherein the portion of data is selected based upon a functionality of the release;
comparing the first set of keyword data to a second set of keyword data from the portion of data, wherein the second set of keyword data are keywords identified within one or more historical releases associated with the production environment or a different production environment;
identifying at least one pattern between the first set of keyword data and the second set of keyword data;
in response to identifying the at least one pattern, determining a risk score for the release based on a correlation between the at least one pattern and at least one problematic error requiring remediation associated with the one or more historical releases in the production environment or the different production environment; and
in response to the risk score being above a risk threshold, flagging the release for remediation, wherein flagging the release triggers one or more readiness checks or load testing of the release.
The identified limitations in the claims describing analyzing risk of a release (i.e., the abstract idea) fall within the “Certain Methods of Organizing Human Activity” grouping of abstract ideas, which covers fundamental economic practices and mitigating risk or, alternatively, the “Mental Processes” grouping of abstract ideas since the identified limitations can be performed by a human, mentally or with pen and paper. Dependent claims 2, 3, 4, 5, 9, 10, 11, 12, 16, 17, 18, and 19 recite limitations that further narrow/describe the abstract idea (i.e., analyzing risk of a release); therefore, these claims are also found to recite an abstract idea.
This judicial exception is not integrated into a practical application because additional elements such as the one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process in claim 8; and the non-transitory computer-readable medium storing instructions that, when executed by a computing system, cause the computing system to perform operations in claim 15, do not add a meaningful limitation to the abstract idea since these elements are only broadly applied to the abstract ideas at a high level of generality; thus, none of recited hardware offers a meaningful limitation beyond generally linking the abstract idea to a particular technological environment, in this case, implementation via a processor/computer.
Additional elements related to receiving, via a user interface… do not provide an improvement to the computer or technology and only generally links the abstract idea to a technological environment. Similarly, additional elements such in claims 6, 7, 13, 14, and 20, related to a natural language processing algorithm and at least one machine-learning algorithm trained based on a dataset do not yield an improvement in the functioning of the computer itself, nor do they yield improvements to a technical field or technology; further, these additional elements are recited at a high level of generality and only generally link the abstract idea to a technological environment. Accordingly, these additional element do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea.
(Step 2B) The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception because as discussed above with respect to integration of the abstract idea into a practical application, the hardware additional elements amount to no more than mere instructions to apply the exception using a generic computer component (see Spec. [0017][0048]). Mere instructions to apply an exception using a generic computer component cannot provide an inventive concept. Additional elements related to receiving, via a user interface… do not provide an improvement to the computer or technology and only generally links the abstract idea to a technological environment. Additional elements such in claims 6, 7, 13, 14, and 20, related to a natural language processing algorithm and at least one machine-learning algorithm trained based on a dataset do not yield an improvement; further, these additional elements only generally link the abstract idea to a technological environment. In addition, when taken as an ordered combination, the ordered combination adds nothing that is not already present as when the elements are taken individually. There is no indication that the combination of elements improves the functioning of a computer or improves any other technology.
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-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 2020/0110600 (Weldemariam); in view of US 2013/0227636 (Bettini); in view of US 2022/0261338 (Chaudhary).
As per claim 8, Weldemariam teaches: a computing system comprising: one or more processors; and one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process for analyzing risk of a release to a production environment, the process comprising: ([0088] As shown in FIG. 6, computer system/server 12 in cloud computing node 10 is shown in the form of a general-purpose computing device. The components of computer system/server 12 may include, but are not limited to, one or more processors or processing units 16, a system memory 28, and a bus 18 that couples various system components including system memory 28 to processor 16).
receiving … a first set of keyword data, wherein the first set of keyword data identifies the release and indicates at least one change to the production environment; ([0054] …one or more embodiments predict a risk of use of the deprecated code in next generation applications [0060] … assess risk with regard to third party software during development of a new application code body. [0044] … a scanning tool can generate a standard compliance report for review. Some scanning tools detect keywords and alert a user to read a line of code that contains a keyword and then report to reviewers (e.g., senior programmers or coders) who further investigate. [0046] … Previous pattern history related to understanding code risks and recording user's actions pertaining to said code risks [0050] … identify deprecated code based on analyzing a plurality of data sources, including one or more source codes, licenses, live feeds from web, historical data [0061] Thus, referring to FIG. 3, a method 100 of predictive code clearance includes, at 102, detecting deprecated code 104 in an application 106 based on a first set of code data 108 (e.g., source codes related to primary and secondary applications, licenses, live feeds from web, historical data…includes analyzing historical coding style)).
identifying at least one pattern between the first set of keyword data and the second set of keyword data; ([0044] … a scanning tool can generate a standard compliance report for review. Some scanning tools detect keywords and alert a user to read a line of code that contains a keyword and then report to reviewers (e.g., senior programmers or coders) who further investigate. [0046] … Previous pattern history related to understanding code risks and recording user's actions pertaining to said code risks [0063] … historical use of deprecated code by specific coding individuals or coding teams can be identified by the self-learning model and built into the model's knowledge base. In one or more embodiments, the self-learning model leverages the knowledge base to scan current or future code in a more focused/deeper manner)
in response to identifying the at least one pattern, determining a risk score for the release based on a correlation between the at least one pattern and at least one problematic error requiring remediation associated with the one or more historical releases in the production environment or the different production environment; and ([0004] …estimating a multidimensional risk vector related to continued use of the deprecated code [0063] … historical use of deprecated code by specific coding individuals or coding teams can be identified by the self-learning model and built into the model's knowledge base. In one or more embodiments, the self-learning model leverages the knowledge base to scan current or future code in a more focused/deeper manner [0073] Referring again to FIG. 3, the method 100 further includes, at 134, computing a multidimensional risk vector 136 based on the valuation CV that was produced by the code valuation model 120. If the valuation model indicates the application or deprecated code has “high/medium/low” value it will impact on the risk score. For example, if a code is deemed to be a high value (in terms of business term) and the predicted probability of the code to be used in future code or application is high, the cognitive code clearance system computes high risk. At 138, the method 100 further includes computing a single aggregated risk score R based on the multidimensional risk vector 136)
in response to the risk score being above a risk threshold, flagging the release for remediation, wherein flagging the release triggers one or more … checks … ([0074] At 140, the method 100 includes checking whether the aggregated risk score R exceeds one or more of a set of thresholds 142. In response to the risk score R exceeding a threshold, at 144 the method 100 includes implementing an ameliorative action, e.g., enable the code/system not to compile, run or deploy, alert the manager, change the characteristics of the GUI of the system based on risk (e.g., GUI coloration), trigger secondary reviewers (e.g. developer, IP lawyer, manager) of the source code, slow down the system if the predicted risk is determined to be high, etc.)
Although not explicitly taught by Weldemariam, Bettini teaches: receiving, via a user interface, a first set of keyword data, wherein the first set of keyword data identifies the release and indicates at least one change to the production environment ([0067] … a customer … can submit to the app risk assessment platform the metadata on a plurality of apps [0070] … metadata associated with the app can include information that is important for assessing the overall risk(s) associated with the app. For example, this phase can include parsing an XML file associated with the app that hosts general app information. In particular, this phase can include mapping out app permissions, file and version name, app author, app ID, package name, and/or various other attributes and/or metadata associated with the app. In some embodiments, this stage further includes inspecting app components including accepting a component of an app, such as a metadata file or an executable image, absent in the remainder of the app, to analyze and generate any potential findings based on the parsed and analyzed metadata associated with the component of the app.)
selecting a portion of data from a database to compare to the first set of keyword data, wherein the portion of data is selected based upon a functionality of the release; ([0038] … applications ("apps") for a plurality of different mobile device platforms (e.g., operating system platforms, such as Apple iOS.RTM., Google Android.RTM., and Microsoft Windows.RTM.) [0040] … analyze apps for mobile devices to determine various properties, such as one or more of the following: market reputation of the app; presence of malware; insecure programming practices; malicious changes to existing apps; data exfiltration; corporate intellectual property (IP) impacts; cryptographic weakness or implementation faults; security risks … compared with apps in similar categories or other versions of the same app, such as Facebook app version X v. version Y) [0070] … includes artist and publisher information, item IDs, genre IDs or categories, price for purchasing the app, release date of the app (e.g., app version), software version external identifiers, and vendor ID… [0074] … compare an app received in a query to the platform to compare it with previously analyzed apps [0116] the platform 302 includes a global app cache 306 [0118] … including indicating a star rating for each of the apps, a description of each of the apps, a version of each of the apps, a type for each of the apps, categories for each of the apps, and a date/time for a last upload (e.g., time stamp for when the app was last uploaded to the platform for analysis)).
It would have been obvious, before the effective filing date of the claimed invention, for one of ordinary skill in the art to have modified the teachings of Weldemariam with the aforementioned teachings of Bettini with the motivation of assessing risk associated with an application (Bettini [0038]). Further, one of ordinary skill in the art would have recognized that applying the teachings of Bettini to the system of Weldemariam would have yielded predictable results and doing so would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for selection of a subset of apps to compare against.
Although not explicitly taught by Weldemariam, Chaudhary teaches: … one or more readiness checks or load testing of the release ([0013] …performing load testing … [0123] At operation 808, the load generator trigger 852 provides load increase action data (e.g., environment variables and API identifier) describing a load increase action defined by the augmented load testing experiment definition data object to the load generation server computing device 103, which in turn may cause the load generation server computing device 103 to perform one or more load increase actions defined by the augmented load testing experiment definition data object and provide the job identifiers of the load increase actions to the load generator trigger 852. [0124] …the readiness check engine 853 of the orchestrator 116. This causes the load generator trigger 852 to perform a set of operations that are configured to determine if the target software application framework has reached a steady state. In some embodiments, this includes performing operation 810. [0125] … The readiness check engine 853 utilizes such operational status data to determine whether the particular target software application framework has reached a steady state.).
It would have been obvious, before the effective filing date of the claimed invention, for one of ordinary skill in the art to have modified the teachings of Weldemariam with the aforementioned teachings of Chaudhary with the motivation of monitoring the performance of a target software application (Chaudhary [0002]). Further, one of ordinary skill in the art would have recognized that applying the teachings of Chaudhary to the system of Weldemariam would have yielded predictable results and doing so would have been recognized by those of ordinary skill in the art as resulting in an improved system that would allow for assessment of a software application.
As per claim 9, Weldemariam teaches: comparing the first set of keyword data to the second set of keyword data by: analyzing the first set of keyword data and the second set of keyword data; ([0044] … a scanning tool can generate a standard compliance report for review. Some scanning tools detect keywords and alert a user to read a line of code that contains a keyword and then report to reviewers (e.g., senior programmers or coders) who further investigate. [0046] … Previous pattern history related to understanding code risks and recording user's actions pertaining to said code risks [0050] … identify deprecated code based on analyzing a plurality of data sources, including one or more source codes, licenses, live feeds from web, historical data [0061] Thus, referring to FIG. 3, a method 100 of predictive code clearance includes, at 102, detecting deprecated code 104 in an application 106 based on a first set of code data 108 (e.g., source codes related to primary and secondary applications, licenses, live feeds from web, historical data…includes analyzing historical coding style [0063] … historical use of deprecated code by specific coding individuals or coding teams can be identified by the self-learning model and built into the model's knowledge base. In one or more embodiments, the self-learning model leverages the knowledge base to scan current or future code in a more focused/deeper manner [0078] … Predictions are accomplished based on, among other things, previous pattern history and crowdsourced monitoring data shared amongst different developers)
determining one or more errors that the second set of keyword data caused to the production environment or the different production environment; and ([0077] …detecting the deprecated code in an application which may be related to current and future license violations; a means (e.g., a valuation software module) for predicting the valuation of the deprecated code and the application in a specified time period T; and a means (e.g., a risk estimator software module) for estimating a multidimensional risk vector (e.g., brand reputation, loss of loyal customers, personal reputation risk, monetary risk, proximity risk) associated with the use of the code in the application. [0047] …finding similar pieces of code and rectifying errors in a systematic fashion [0050] Deprecated use of a code or a set of codes in an application may be related to identified problems with code execution or security permissions (i.e., bugs or exploits)).
identifying one or more keywords of the second set of keyword data associated with the one or more errors that match one or more keywords in the first set of keyword data ([0044] … a scanning tool can generate a standard compliance report for review. Some scanning tools detect keywords and alert a user to read a line of code that contains a keyword and then report)
As per claim 10, Weldemariam teaches: determining the risk threshold based on adjustments that the at least one change causes to a stability score, a functional parameter, or a method of operation associated with the production environment ([0075] …When a particular risk associated with deprecated code exceeds an action threshold, one or more actions corresponding to that threshold are triggered. [0060] … Different thresholds exist for different parts of code or program fragments existing in the application).
As per claim 11, Weldemariam teaches: identifying, based on the at least one pattern, assessment results of implementing the release into the production environment ([0004] …estimating a multidimensional risk vector related to continued use of the deprecated code (e.g., brand reputation, loss of customers, personal reputation, monetary risk). [0079] In one or more embodiments, computing a multidimensional risk vector associated with the deprecated code and the application, with a certain confidence level C, includes analyzing the valuation of the deprecated code use and the current and predicted application state and context).
As per claim 12, Weldemariam teaches: retrieving the second set of keyword data from a keyword dictionary, wherein the keyword dictionary includes the keywords of historical releases of the production environment or the different production environment ([0044] … a scanning tool can generate a standard compliance report for review. Some scanning tools detect keywords and alert a user to read a line of code that contains a keyword and then report to reviewers (e.g., senior programmers or coders) who further investigate. [0046] … Previous pattern history related to understanding code risks and recording user's actions pertaining to said code risks [0050] … identify deprecated code based on analyzing a plurality of data sources, including one or more source codes, licenses, live feeds from web, historical data [0061] Thus, referring to FIG. 3, a method 100 of predictive code clearance includes, at 102, detecting deprecated code 104 in an application 106 based on a first set of code data 108 (e.g., source codes related to primary and secondary applications, licenses, live feeds from web, historical data…includes analyzing historical coding style [0063] … historical use of deprecated code by specific coding individuals or coding teams can be identified by the self-learning model and built into the model's knowledge base. In one or more embodiments, the self-learning model leverages the knowledge base to scan current or future code in a more focused/deeper manner [0078] … Predictions are accomplished based on, among other things, previous pattern history and crowdsourced monitoring data shared amongst different developers).
As per claim 13, Weldemariam teaches: determining the risk score with a natural language processing algorithm that correlates historical changes and incidents with the at least one change ([0065] …Natural language processing (NLP) extracts keywords and phrases including comments from crowdsourced data when a similar code is posted and users ask comments pertaining to using such code in their enterprise application. This is one of the input features. Multi-layer neural network algorithm is used where such input features include coding style, company's existing code template, mel frequency cepstral coefficients (MFCC) for conversation monitoring. NLP for keyword analysis is used to understand the context of the code, corrections done in the past when a similar piece of code was written [0067] …analyzing a current context of the deprecated code and the application using NLP analysis and a trained neural network model to understand the mechanics of the application and code; and at 210 predicting the code and application states (e.g., predicted importance score, popularity score, value, etc.) in a given time period T).
As per claim 14, Weldemariam teaches: wherein the at least one pattern is identified by at least one machine-learning algorithm, wherein the at least one machine-learning algorithm is trained based on at least one dataset associated with previously identified patterns ([0049] Further aspects provide for training a machine learning model to classify assessed valuation and risk vectors into actions that can be taken as part of a process for ameliorating deprecated code use [0056] In one or more embodiments, the system of code clearance assistance uses at least one self-learning model (developed using historical data) that intelligently detects risks or issues related to the detected deprecated code use and then automatically builds a knowledge base for more improved future code scanning. Exception handling or corner cases are handled based on feedback learning from the past (pattern history) in order to take an ameliorative action. Knowledge of the time period in which a third party deprecated code was popular or frequently used can enable more effective deeper/focused scanning of previous product code for risks. In one or more embodiments, the at least one self-learning model is configured and integrated with existing workflow tools (e.g., GitHub, JIRA, Slack, etc.) to continuously scan code and update its knowledge base. The method further iteratively builds a cognitive understanding of what type of code was used for categories of software over time, to prioritize faster, deeper and/or more focused scanning for additional instances of deprecated code already found via this scanning process. Thus, the at least one self-learning model learns from its own experiences over time. [0057] In one or more embodiments, the self-learning model runs in the background as code is being developed so that a relative risk score can be computed in real-time. [0078] In one or more embodiments, valuation of the deprecated code (and of the application code body) incorporates one or more machine learning models that predict the deprecated code (and the application)).
As per claims 1 and 15, these claims recite limitations substantially similar to those addressed by the rejection of claim 8, above; therefore, the same rejection applies.
As per claims 2 and 16, these claims recite limitations substantially similar to those addressed by the rejection of claim 9, above; therefore, the same rejection applies.
As per claim 3, this claim recites limitations substantially similar to those addressed by the rejection of claim 10, above; therefore, the same rejection applies.
As per claims 4 and 18, these claims recite limitations substantially similar to those addressed by the rejection of claim 11, above; therefore, the same rejection applies.
As per claims 5 and 19, these claims recite limitations substantially similar to those addressed by the rejection of claim 12, above; therefore, the same rejection applies.
As per claim 6, this claim recites limitations substantially similar to those addressed by the rejection of claim 13, above; therefore, the same rejection applies.
As per claims 7 and 20, these claims recite limitations substantially similar to those addressed by the rejection of claim 14, above; therefore, the same rejection applies.
As per claim 17, Weldemariam teaches: determining the risk threshold based on adjustments that the at least one change causes to a stability score, a functional parameter, or a method of operation associated with the production environment; and ([0075] …When a particular risk associated with deprecated code exceeds an action threshold, one or more actions corresponding to that threshold are triggered. [0060] … Different thresholds exist for different parts of code or program fragments existing in the application).
determining the risk score with a natural language processing algorithm that correlates historical changes and incidents with the at least one change ([0065] …Natural language processing (NLP) extracts keywords and phrases including comments from crowdsourced data when a similar code is posted and users ask comments pertaining to using such code in their enterprise application. This is one of the input features. Multi-layer neural network algorithm is used where such input features include coding style, company's existing code template, mel frequency cepstral coefficients (MFCC) for conversation monitoring. NLP for keyword analysis is used to understand the context of the code, corrections done in the past when a similar piece of code was written [0067] …analyzing a current context of the deprecated code and the application using NLP analysis and a trained neural network model to understand the mechanics of the application and code; and at 210 predicting the code and application states (e.g., predicted importance score, popularity score, value, etc.) in a given time period T).
Response to Arguments
Applicant's arguments filed 11/13/2025 have been fully considered but they are not persuasive.
With respect to the rejection under 35 USC 101, Applicant agues that the claims are not directed to an abstract idea.
Examiner respectfully disagrees. Examiner maintains that a person would be capable of selecting a subset of data from a database (set of records) to perform a comparison. 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.
Additionally, selecting a subset of data to perform a search/comparison against does not improve the performance of the computer itself or the technology. An improvement in the abstract idea itself (e.g. a recited fundamental economic concept) is not an improvement in technology. For example, in Trading Technologies Int’l v. IBG, 921 F.3d 1084, 1093-94, 2019 USPQ2d 138290 (Fed. Cir. 2019), the court determined that the claimed user interface simply provided a trader with more information to facilitate market trades, which improved the business process of market trading but did not improve computers or technology. The selection of a subset of data to perform a search/comparison against improves the process of searching but does not improve the performance of the computer itself nor the technology.
As per MPEP 2106.05(a), “[i]f it is asserted that the invention improves upon conventional functioning of a computer, or upon conventional technology or technological processes, a technical explanation as to how to implement the invention should be present in the specification. That is, the disclosure must provide sufficient details such that one of ordinary skill in the art would recognize the claimed invention as providing an improvement. The specification need not explicitly set forth the improvement, but it must describe the invention such that the improvement would be apparent to one of ordinary skill in the art. Conversely, if the specification explicitly sets forth an improvement but in a conclusory manner (i.e., a bare assertion of an improvement without the detail necessary to be apparent to a person of ordinary skill in the art), the examiner should not determine the claim improves technology.” Examiner acknowledges the asserted advantages in paragraph 11; however, these are set forth in a conclusory manner with no technical explanation of the asserted improvement.
Examiner disagrees with the Applicant’s assertion that the present claims are similar to Example 42. Claim 1, in example 42 recites a combination of additional elements including storing information, providing remote access over a network, converting updated information that was input by a user in a non-standardized form to a standardized format, automatically generating a message whenever updated information is stored, and transmitting the message to all of the users. Specifically, the additional elements recite a specific improvement over prior art systems by allowing remote users to share information in real time in a standardized format regardless of the format in which the information was input by the user. In contrast, the present invention does not provide an analogous technological improvement over prior art systems. Examiner maintains that the claims do not provide an improvement to the functioning of the computer. Use of a computer or other machinery in its ordinary capacity for economic or other tasks (e.g., to receive, store, or transmit data) or simply adding a general purpose computer or computer components after the fact to an abstract idea (e.g., a fundamental economic practice or mathematical equation) does not provide significantly more. See TLI Communications LLC v. AV Auto, LLC, 823 F.3d 607, 613, 118 USPQ2d 1744, 1748 (Fed. Cir. 2016) (computer server and telephone unit). Additionally, "claiming the improved speed or efficiency inherent with applying the abstract idea on a computer" does not provide an inventive concept. Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367, 115 USPQ2d 1636, 1639 (Fed. Cir. 2015).
With respect to the rejection under 35 USC 101, Applicant argues that the claims recite a combination of features which amount to significantly more than an abstract idea.
Examiner respectfully disagrees. An improvement in the abstract idea itself (e.g. a recited fundamental economic concept) is not an improvement in technology. For example, in Trading Technologies Int’l v. IBG, 921 F.3d 1084, 1093-94, 2019 USPQ2d 138290 (Fed. Cir. 2019), the court determined that the claimed user interface simply provided a trader with more information to facilitate market trades, which improved the business process of market trading but did not improve computers or technology. The selection of a subset of data to perform a search/comparison against improves the process of searching but does not improve the performance of the computer itself nor the technology. Further, "claiming the improved speed or efficiency inherent with applying the abstract idea on a computer" does not provide an inventive concept. Intellectual Ventures I LLC v. Capital One Bank (USA), 792 F.3d 1363, 1367, 115 USPQ2d 1636, 1639 (Fed. Cir. 2015).
With respect to the rejection under 35 USC 102, Applicant argues that the art of record does not disclose the claimed features.
Examiner respectfully disagrees. The Applicant’s arguments are directed to newly amended features; additional search has been conducted and the rejection has been updated to address said amendments. See updated Claim Rejections - 35 USC § 103 above.
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ALAN TORRICO-LOPEZ whose telephone number is (571)272-3247. The examiner can normally be reached M-F 10AM-5PM.
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, Beth Boswell can be reached at (571)272-6737. 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.
/ALAN TORRICO-LOPEZ/Primary Examiner, Art Unit 3625