Prosecution Insights
Last updated: July 05, 2026
Application No. 18/499,996

AVOIDING SERVICE DISRUPTION WHEN UPDATING PLUGIN APPLICATIONS

Non-Final OA §103
Filed
Nov 01, 2023
Examiner
BOURZIK, BRAHIM
Art Unit
2191
Tech Center
2100 — Computer Architecture & Software
Assignee
Dell Products L.P.
OA Round
3 (Non-Final)
65%
Grant Probability
Moderate
3-4
OA Rounds
10m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 65% of resolved cases
65%
Career Allowance Rate
247 granted / 381 resolved
+9.8% vs TC avg
Strong +44% interview lift
Without
With
+44.2%
Interview Lift
resolved cases with interview
Typical timeline
3y 6m
Avg Prosecution
33 currently pending
Career history
416
Total Applications
across all art units

Statute-Specific Performance

§101
0.6%
-39.4% vs TC avg
§103
94.0%
+54.0% vs TC avg
§102
1.9%
-38.1% vs TC avg
§112
3.0%
-37.0% vs TC avg
Black line = Tech Center average estimate • Based on career data from 381 resolved cases

Office Action

§103
DETAILED ACTION 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 . Claims 1-20 are pending in this office action. Claims 1, 7, 9 and 14-15 and 20 are amended. Response to Arguments Applicant’s arguments, see Remarks page 1, filed 02/25/2026, with respect to the rejection(s) of claim(s)1-20 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Elango et al US20190294796A1 Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. Claims 1-13 and 15-19 are rejected under 35 U.S.C. 103 as being unpatentable over Katkere et al US20160092201A1 in view of Wang et al US20180321956A1 and further in view of Chhabra et al US 8826264B1 and Elango et al US20190294796A1. As per claim 1, Katkere discloses a method comprising: receiving, by a management controller, an installation file package to upgrade a first plugin installed in the management controller to a second plugin included in the installation file package: [0047] “ Upon receiving a signal to load a new package, loader 114 can determine that the new package is an updated version of a previously existing package based on configuration information associated with the packages. In some embodiments, loader 114 can determine that the package is a newer version of a package that is to replace the existing package.”; and in response to determining that a first component identifier of the first plugin matches a second component identifier of the second plugin: [0052] “For example, second version of software package can include bar chart component v2, scatterplot component v3, etc. In certain embodiments, second version of the software package can be an upgrade of the software compared to the first version of the software package. For example, a first visual analyzer component in a first package can include bar chart v1 and a second visual analyzer component in a second package (updated version of the same package) can include bar chart v2 where bar chart v2 has an improved color scheme enhancement and where bar chart v2 is to replace bar chart v1”; performing a non-disruptive update process, wherein the first plugin and the second plugin support the non- disruptive update process: [0063] “Some embodiments enable the new version of the package to be loaded but at the same time enable the previous version of the package to be used by its existing users. Although the new version of the package is intended to supersede or replace the previous version of the package, the previous version is also kept active while its count is not zero so that anyone who is still using the previous version can continue to do so.”; installing the second plugin while the first plugin is running: [0063] “At block 408, process 400 can load the new version of the package. In some embodiments, the new version of the package can be loaded to a server catalog (e.g., catalog 128 from FIG. 1). As such, when loading a new package, if the count for the old package has not gone down to zero then the old package can also be kept so that the users who are already using the old package can continue to use the old package even though the new package has been loaded.”; and stopping services prior to uninstalling the first plugin in response to a receipt of a successful handoff status from the second plugin: [0054] “In some embodiments, when there are no active user sessions using a software package, the reference count can be zero. If the reference count is more than zero, then there may be at least one or more active user sessions using that version of the software package. Some embodiments may remove a software package when the reference count associated with the package is zero. Certain embodiments may mark a software package for deletion when the reference count is zero and when there is an updated version of the software package uploaded where the updated version is to replace the previous version of the package.”; [0070] “At block 510, process 500 can mark the previous version of the package for deletion. Some embodiments may determine to remove the previous version of the package when both conditions are met: 1) the count is zero and 2) there is a new package to replace the current package. In some embodiments, one or more packages are marked for deletion and the cleaner may periodically identify all the packages that have been marked for deletion and perform the cleanup.”; But not explicitly: wherein the first plugin and the second plugin communicate with each other. and wherein the non-disruptive update process includes: notifying the first plugin that the non-disruptive update process is starting; and putting the second plugin in a dormant state prior to uninstalling the second plugin in response to a particular receipt of an unsuccessful hand off status from the second plugin during the installing of the second plugin. Wang discloses: wherein the non-disruptive update process includes: notifying the first plugin that the non-disruptive update process is starting: [0029]“In one example, the LoadInitialVersion 102 function call is included in main application 113 in place of a “dlopen” call, and takes the form LoadInitialVersion (lib string, flag int). The parameter “lib” specifies the location in persistent storage (for example a system hard drive) of the code for plugin Version_1.so 110(1). The parameter “flag” identifies types of plugin update monitoring. In one example, the flag parameter be set to the following values: ….. flag=“SIG” which indicates that updates will be triggered by an interrupt signal such as SIGUSR1 or SIGUSR2, and flag=“FS”, which indicates that an update will be triggered by notification of a change to a specified file (for example, via inotify)”; It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Wang into teachings of Katkere to use a Dynamic Software Update (DSU) procedures to allow code and data updates such as critical security patches to be applied to a software component such as a plugin without downtime. Furthermore, to facilitate the updates of a software component such as plugin that is used by main application. Finally, A-DSU Support Library is allocated memory within the application memory as required to load the executable code and reference files required for A-DSU Support Library. [Wang 0025]. But not explicitly: wherein the first plugin and the second plugin communicate with each other. and putting the second plugin in a dormant state prior to uninstalling the second plugin in response to a particular receipt of an unsuccessful hand off status from the second plugin during the installing of the second plugin. Chhabra discloses: wherein the first plugin and the second plugin communicate with each other: Col 5 lines 60-70 “ Next, the orchestrator 72 (FIG. 2) installs a first copy 102(1) of the new version 80 of the application 40 in the temporary directory 100(T) (FIG. 3), and directs the listener (or front-end) module 82(N)(1) of the first copy 102(1) of the new version 80 of the application 40 to establish a communications channel 130 with the listener module 82(O) of the old version 70 of the application 40. A variety of communications mechanisms are suitable for use as the communications channel 130 such as RPCs, inter-process communications, etc. Formation of the communications channel 130 is represented by the double arrow 130. In some arrangements, the orchestrator 72 sets a switch within the new version 80 of the application 40 to indicate that the installation is not a fresh install but rather is an upgrade”; It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Chhabra into teachings of Katkere and Wang for performing a non-disruptive upgrade (NDU) of an application in a manner which maintains continuity of work. In particular, the NDU replaces an older version of the application with a newer version of the application while a temporarily-installed version of the application (e.g., another copy of the newer version) continues to perform work. Such operation results in little or no disruption of the services provided by the application while the older version is replaced with the newer version.[Chhabra col 1 lines 44-54]. But not explicitly: putting the second plugin in a dormant state prior to uninstalling the second plugin in response to a particular receipt of an unsuccessful hand off status from the second plugin during the installing of the second plugin. Elango discloses: putting the second plugin in a dormant state prior to uninstalling the second plugin in response to a particular receipt of an unsuccessful hand off status from the second plugin during the installing of the second plugin. [0028] Upon resolution of anomalies, executing applications serviced with code solutions to address the anomalies may be returned to a prior state via rollback or be returned to prior operations through dormancy of the injected code solutions. [0126] In an embodiment of the method, the rollback condition includes one or more of an expiration of a timer, a result of monitoring and analyzing subsequent notifications for additional or continued instances of the one or more anomalies, a result of monitoring and analyzing notifications for a second executing application executed by the network services system, or a change in the application context associated with the first executing application. It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Elango into teachings of Katkere, Wang and Chhabra to resolve anomalies for network applications using code injection while the network applications are executing. These and further embodiments are described in greater detail as follows. Anomalies for specific application contexts are determined and identified, and then resolved on a per-issue basis for each application regardless of application function or type [Elango 0029]. As per claim 2, the rejection of claim 1 is incorporated and furthermore Kathere does not explicitly disclose: wherein the notifying of the first plugin is performed using a remote procedure call. Wang discloses: wherein the notifying of the first plugin is performed using a remote procedure call. [0029]“In one example, the LoadInitialVersion 102 function call is included in main application 113 in place of a “dlopen” call, and takes the form LoadInitialVersion (lib string, flag int). The parameter “lib” specifies the location in persistent storage (for example a system hard drive) of the code for plugin Version_1.so 110(1). The parameter “flag” identifies types of plugin update monitoring. In one example, the flag parameter be set to the following values: ….. flag=“SIG” which indicates that updates will be triggered by an interrupt signal such as SIGUSR1 or SIGUSR2, and flag=“FS”, which indicates that an update will be triggered by notification of a change to a specified file (for example, via inotify)”; It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Wang into teachings of Katkeree, Chhabra and Elango to use a Dynamic Software Update (DSU) procedures to allow code and data updates such as critical security patches to be applied to a software component such as a plugin without downtime. Furthermore, to facilitate the updates of a software component such as plugin that is used by main application. Finally, A-DSU Support Library is allocated memory within the application memory as required to load the executable code and reference files required for A-DSU Support Library. [Wang 0025]. Asper claim 3, the rejection of claim 1 is incorporated and furthermore Katkere does not explicitly disclose: creating a file to indicate that the second plugin is in a good state. Chhabra discloses: creating a file to indicate that the second plugin is in a good state.: col 6 lines 55-61” At this point, the first copy 102(1) of the new version 80 of the application 40 in the temporary directory 100(T) is still running, but the second copy 102(2) of the new version 80 of the application 40 in the application directory 100(A) is now ready to run.”; It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Chhabra into teachings of Katkere, Wang and Elango for performing a non-disruptive upgrade (NDU) of an application in a manner which maintains continuity of work. In particular, the NDU replaces an older version of the application with a newer version of the application while a temporarily-installed version of the application (e.g., another copy of the newer version) continues to perform work. Such operation results in little or no disruption of the services provided by the application while the older version is replaced with the newer version.[Chhabra col 1 lines 44-54]. Asper claim 4, the rejection of claim 1 is incorporated and furthermore Katkere does not explicitly disclose: notifying the first plugin that the second plugin is in a good state using a remote procedure call: Chhabra discloses: notifying the first plugin that the second plugin is in a good state using a remote procedure call: Col 6 lines1-7 “ A variety of communications mechanisms are suitable for use as the communications channel 130 such as RPCs, inter-process communications, etc. Formation of the communications channel 130 is represented by the double arrow 130. In some arrangements, the orchestrator 72 sets a switch within the new version 80 of the application 40 to indicate that the installation is not a fresh install but rather is an upgrade. Once the communications channel 130 has been established between listener modules 82, the listener module 82(N)(1) sends a shutdown command 132 to the listener module 82(O)”; Col 6 lines 37-40 “ Upon receipt of the control signal 134 by the listener module 82(N)(1), the core module 84(N)(1) processes the requests 30 thus maintaining continuity of work.”; It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Chhabra into teachings of Katkere, Wang and Elango for performing a non-disruptive upgrade (NDU) of an application in a manner which maintains continuity of work. In particular, the NDU replaces an older version of the application with a newer version of the application while a temporarily-installed version of the application (e.g., another copy of the newer version) continues to perform work. Such operation results in little or no disruption of the services provided by the application while the older version is replaced with the newer version.[Chhabra col 1 lines 44-54]. Asper claim 5, the rejection of claim 1 is incorporated and furthermore Katkere does not explicitly disclose: notifying the first plugin that the non-disruptive update process is complete. Chahbra discloses: notifying the first plugin that the non-disruptive update process is complete. Col 8lines47-25 “In step 212, the orchestrator 72 waits for (i) the old version 70 of the application 40 to complete the operations and shutdown, and (ii) the first copy 102(1) of the new version 80 of the application 40 to start processing the queued new requests 30. Such operation enables the electronic apparatus 24 to maintain the continuity of work. In some arrangements, the first copy 102(1) of the new version 80 of the application 40 directly notifies the orchestrator 72 to proceed to step 214 (e.g., via a signal from the first copy 102(1) to the orchestrator 72) once the first copy 102(1) has started processing requests 30. In other arrangements, the orchestrator 72 proceeds to step 214 in response to monitoring the first copy 102(1) (e.g., upon a determination that the first copy 102(1) has begun processing requests 30).(46) In step 214, once the old version 70 is finished and the new version 80 starts, the orchestrator 72 uninstalls the old version 70 from the application directory 100(A). In some arrangements, step 214 is optional. It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Chhabra into teachings of Katkere, Wang and Elango for performing a non-disruptive upgrade (NDU) of an application in a manner which maintains continuity of work. In particular, the NDU replaces an older version of the application with a newer version of the application while a temporarily-installed version of the application (e.g., another copy of the newer version) continues to perform work. Such operation results in little or no disruption of the services provided by the application while the older version is replaced with the newer version.[Chhabra col 1 lines 44-54]. As per claim 6, the rejection of claim 1 is incorporated and furthermore Katkere does not explicitly disclose: in response to receipt of the successful handoff status, uninstalling the first plugin: Chahbra discloses: in response to receipt of the successful handoff status, uninstalling the first plugin: Col 8 lines 52-62”; In some arrangements, the first copy 102(1) of the new version 80 of the application 40 directly notifies the orchestrator 72 to proceed to step 214 (e.g., via a signal from the first copy 102(1) to the orchestrator 72) once the first copy 102(1) has started processing requests 30. In other arrangements, the orchestrator 72 proceeds to step 214 in response to monitoring the first copy 102(1) (e.g., upon a determination that the first copy 102(1) has begun processing requests 30).(46) In step 214, once the old version 70 is finished and the new version 80 starts, the orchestrator 72 uninstalls the old version 70 from the application directory 100(A). It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Chhabra into teachings Katkere, Wang and Elango for performing a non-disruptive upgrade (NDU) of an application in a manner which maintains continuity of work. In particular, the NDU replaces an older version of the application with a newer version of the application while a temporarily-installed version of the application (e.g., another copy of the newer version) continues to perform work. Such operation results in little or no disruption of the services provided by the application while the older version is replaced with the newer version.[Chhabra col 1 lines 44-54]. Asper claim 7, the rejection of claim 1 is incorporated and furthermore Katkere does not explicitly disclose: Wherein the unsuccessful handoff status from the second plugin is a D-bus signal. Chhabra discloses: Where in unsuccessful handoff status from the second plugin is a D-Bus Col 56-65 “Next, the orchestrator 72 (FIG. 2) installs a first copy 102(1) of the new version 80 of the application 40 in the temporary directory 100(T) (FIG. 3), and directs the listener (or front-end) module 82(N)(1) of the first copy 102(1) of the new version 80 of the application 40 to establish a communications channel 130 with the listener module 82(O) of the old version 70 of the application 40. A variety of communications mechanisms are suitable for use as the communications channel 130 such as RPCs, inter-process communications”; Examiner interpretation: An inter process communication between the plugins using channel 130 of fig. 3 and fig. 4 of Wang use channel 130 for communication: all processes interaction are through channel 130:D-Bus. It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Chhabra into teachings Katkere, Wang and Elango for performing a non-disruptive upgrade (NDU) of an application in a manner which maintains continuity of work. In particular, the NDU replaces an older version of the application with a newer version of the application while a temporarily-installed version of the application (e.g., another copy of the newer version) continues to perform work. Such operation results in little or no disruption of the services provided by the application while the older version is replaced with the newer version.[Chhabra col 1 lines 44-54]. As per claim 8, the rejection of claim 1 is incorporated and furthermore Katkere does not explicitly disclose: notifying the first plugin and the second plugin of completion of the non-disruptive update process. Chhabra discloses: notifying the first plugin and the second plugin of completion of the non-disruptive update process. Col 9 lines 20-24 “(49) In step 220, once the first copy 102(1) of the new version 80 is finished and the second copy 102(2) of the new version 80 starts, the orchestrator 72 performs back-end activities and terminates. Examples of back-end activities include outputting a notification’ Examiner interpretation: Using the new version to process request is a notification that the update is complete and the first version may retire. It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Chhabra into teachings of Katkere, Wang and Elango for performing a non-disruptive upgrade (NDU) of an application in a manner which maintains continuity of work. In particular, the NDU replaces an older version of the application with a newer version of the application while a temporarily-installed version of the application (e.g., another copy of the newer version) continues to perform work. Such operation results in little or no disruption of the services provided by the application while the older version is replaced with the newer version.[Chhabra col 1 lines 44-54]. Claims 9, 10, 11, 12, 13 are the system claims corresponding to method claims 1, 2, 3, 4, 6 and rejected under the same rational set forth in connection with the rejection of claims 1, 2, 3, 4, 6 above. Claims 15, 16 , 17, 18, 19 are the non-transitory computer-readable medium claims corresponding to method claims 1, 2, 3, 4, 5 and rejected under the same rational set forth in connection with the rejection of claims 1, 2, 3 , 4, 5 above. Claims 14 and 20 are rejected under 35 U.S.C. 103 as being unpatentable over Katkere et al US20160092201A1 in view of Wang et al US20180321956A1, and Chhabra et al US 8826264B1 and further in view of Elango et al US20190294796A1 and Fonseca et al US20240036852A1. Asper claim 14, the rejection of claim 1 is incorporated and furthermore Katkere does not explicitly disclose: notifying the first plugin that the non-disruptive update process failed subsequent to the receipt of the particular status update from the second plugin . Fonseca discloses: notifying the first plugin that the non-disruptive update process failed subsequent to the receipt of the particular status update from the second plugin : [0022]“If state-monitoring function block 112 detects an event (e.g., a link event or a port failure) associated with the port that requires an action from the switch to avoid a network-wide outage, the switch can perform the action. In one example, the switch can abort or roll back the upgrade process to reset the switch to a previous state where it can take the required action”; It would have obvious to one having ordinary skill in the art before the effective filling date of the claimed invention to combine the teachings of cited references. One of ordinary skill in the art before the effective filling date of the claimed invention would have been motivated to incorporate the teachings of Fonseca into teachings of Katkere, Wang, Chhabra and Elango to allow migration of state and configuration information from an origin state database to a target state database, and by virtue of migrating state, allow for the implementation of ISSU to upgrade the device's software without impacting services provided by the device. [Fonseca 0014]. Claim 20 is the non-transitory computer-readable medium claim corresponding to system claim 14 and rejected under the same rational set forth in connection with the rejection of claim 14 above. Pertinent arts: US20160099847A1: In one example, the configuration agent may invoke RPC callbacks to respective service plugins to receive updated drivers and/or components. An RPC callback, as used herein, may refer to executable code that is passed as an argument to other code, which is expected to call back (execute) the argument at some future time, and the invocation may be substantially immediate as in a synchronous callback or may occur at later time, as in an asynchronous callback. US20100070448A1: Supporting dynamic updates by removing semantic links that refer to categories that are not in the new version of the ontology and adding/modifying semantic links based on the new version of the ontology. In an alternative embodiment, it purges the semantic network and re-indexes it. US 20240095021 A1: The disclosure relates generally to data management, including techniques for quiescent operation of non-disruptive update of a data management system US 20250028539 A1: for designing and using a dynamically loaded plugin architecture . Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRAHIM BOURZIK whose telephone number is (571)270-7155. The examiner can normally be reached Monday-Friday (8-4:30). 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, Wei Y Mui can be reached at 571-270-2738. 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. /BRAHIM BOURZIK/Examiner, Art Unit 2191 /WEI Y MUI/Supervisory Patent Examiner, Art Unit 2191
Read full office action

Prosecution Timeline

Show 6 earlier events
Feb 06, 2026
Final Rejection mailed — §103
Feb 25, 2026
Response after Non-Final Action
Mar 16, 2026
Request for Continued Examination
Mar 19, 2026
Response after Non-Final Action
Apr 07, 2026
Non-Final Rejection mailed — §103
Jun 19, 2026
Interview Requested
Jun 30, 2026
Applicant Interview (Telephonic)
Jul 02, 2026
Examiner Interview Summary

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12669988
SYSTEMS AND METHODS FOR UPDATING INFORMATION HANDLING SYSTEMS AT A REMOTE NETWORK LOCATION FROM THE UPDATE REPOSITORY
3y 6m to grant Granted Jun 30, 2026
Patent 12669994
PHYSICAL NODE OPTIMIZER IN A CONTAINERIZED APPLICATION MANAGEMENT SYSTEM
3y 0m to grant Granted Jun 30, 2026
Patent 12657112
INTEGRATED SYSTEM FOR ASSESSING APPLICATION FITNESS
3y 2m to grant Granted Jun 16, 2026
Patent 12645570
METHOD AND SYSTEM FOR OPTIMIZING TESTING AND DEPLOYMENT OF AN APPLICATION
3y 4m to grant Granted Jun 02, 2026
Patent 12619520
Software Engineering with Machine-Readable Feature Specifications
3y 0m to grant Granted May 05, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

3-4
Expected OA Rounds
65%
Grant Probability
99%
With Interview (+44.2%)
3y 6m (~10m remaining)
Median Time to Grant
High
PTA Risk
Based on 381 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month