Prosecution Insights
Last updated: October 02, 2026
Application No. 18/927,659

TECHNIQUES FOR MANAGING SOFTWARE AGENT HEALTH

Final Rejection §103
Filed
Oct 25, 2024
Priority
Sep 07, 2022 — continuation of 12/169,447
Examiner
ALGIBHAH, HAMZA N
Art Unit
2441
Tech Center
2400 — Computer Networks
Assignee
Okta Inc.
OA Round
2 (Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
1y 0m
Est. Remaining
82%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
583 granted / 737 resolved
+21.1% vs TC avg
Minimal +3% lift
Without
With
+3.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 12m
Avg Prosecution
23 currently pending
Career history
762
Total Applications
across all art units

Statute-Specific Performance

§101
12.6%
-27.4% vs TC avg
§103
52.4%
+12.4% vs TC avg
§102
19.7%
-20.3% vs TC avg
§112
9.7%
-30.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 737 resolved cases

Office Action

§103
Details Claims 1-20 are pending. Claims 1-20 are rejected. 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. Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Hussain et al (Pub. No.: US 2021/0117150 A1) in view of Eck et al (Pub. No.: US 2013/0013953 A1). As per claim 1, Hussain discloses a method by a software agent device (Hussain, Fig 1 item 106 “agent service”) associated with a software agent (Hussain, Fig 1 item 112 “agent”), comprising: - receiving, from a software platform device (Hussain, Fig 1 item 100) associated with a software platform (Hussain, Fig 1 item 100), a first request for information associated with operation of the software agent device (Hussain, paragraph 0086, wherein “Using the parsing of the request 205, the direct action handler component 122 running on the data processing system 102 can generate an action data structure to provide as a request 210 to the agent service 106”), wherein one or more tasks are delegated to the software agent by the software platform (Hussain, paragraph 0049, 0052, 0086-0088, wherein “The direct action handler component 122 can package the request into an action data structure for transmission as another request (also sometimes referred to as a message) to the agent service 106. The direct action handler component 122 can transmit the request to the agent service 106 for the agent 112. The direct action handler component 122 can also invoke or call the agent 112 using the request. The request can be generated in accordance with the Hypertext Transfer Protocol (HTTP). The request can include a header and a body. The header of the request can include one or more fields and the body of the request can include the action data structure. The action data structure can include information for completing the request, such as the function identifier and the one or more parameters of the function corresponding to the function identifier for the agent 112 to fulfill. The information can be data that the agent service 106 uses to complete the request”);- sending, to the software platform device and in response to the first request, the information associated with operation of the software agent device (Hussain, paragraph 0087, wherein “The agent service 106 can perform the function indicated in the request 210. In performing the action, the agent service 106 can generate and transmit a response 215 to the digital assistant application 108. The response 215 can indicate the results of the function performed by the agent service 106 for the agent 112”); - receiving, based at least in part on the information associated with operation of the software agent device, a second request for (Hussain, paragraph 0088, 0103-0104, wherein “Subsequently, the agent monitor 110 can generate and transmit a ping request 225. The ping request 225 can be of same format as the request 205 or 210. The ping request 225 can include an action data structure with a function identifier for one of the functions to be performed by the agent 112 maintained by the agent service 106”; . Although Hussain does not explicitly describe “a second request”, the interaction between the health-monitoring service and the query service requires a query request to obtain the health-related information which corresponds to the second request for statistics as claimed); - sending, to the software platform device and in response to the second request, the (Hussain, paragraph 0089, wherein “he agent monitor 110 can subsequently receive the ping response 230. The agent monitor 110 can determine an operational status of the agent service 106 for the agent 112 based on the response metrics 150 generated using the request 205 or 210 and the response 215 or 220. The agent monitor 110 can determine the operational status of the agent service 106 further based on the ping request 225 and the ping response 230. For example, the agent monitor 110 can calculate a response time between a transmission time of the request 210 and a receipt time of the response 215 and a response time between the ping request 225 and the ping response 230. The agent monitor 110 can calculate an average response time of the agent service 106 using the two response times. The agent monitor 110 can compare the average response time to a tolerated maximum response time. When the average response time is greater than or equal to the tolerated maximum response time, the agent monitor 110 can determine that the agent service 106 is unresponsive. Conversely, when the average response time is less than the tolerated maximum response time, the agent monitor 110 can determine that the agent service 106 is responsive. Based on the determination of the operational status of the agent service 106, the agent monitor 110 can generate a configuration instruction 235 to provide to the digital assistant application 108”); and - receiving, from the software platform device and based at least in part on the statistics, (Hussain, paragraph 0035-0036, wherein “Based on the determination of the operational status of the agent service 106, the agent monitor 110 can generate a configuration instruction 235 to provide to the digital assistant application 108. The configuration instruction 235 can specify that the digital assistant application 108 is to continue invoking the agent service 106, when the agent service 106 is determined to be responsive. The configuration instruction 235 can specify that the digital assistant application 108 is to present an output indicating that the agent service 106 is unresponsive, when the agent service 106 is determined to be unresponsive. The agent monitor 110 can provide the configuration instruction 235 to the digital assistant application 108 running on the data processing system 102 and can transmit the configuration instruction 235 to the digital assistant application 108 running on the client device 104”). Hussain does not explicitly disclose that the second request is for statistics, sending the statistics, and that the message is a recommendation. However, an analogous art Eck discloses the second request is for statistics, sending the statistics (Eck, paragraph 0061, wherein “In one or more embodiments, the monitoring agent 304 may include a performance monitor tool that may be activated by a request from the application health monitor and recovery engine 136 to monitor certain components and operations of the application 112 for a predefined time interval. The guest integration component 302 may receive the request and engage the monitoring agent 304 to collect certain performance data from the performance monitor log 308 for a specified duration. The performance data or health monitoring data 310 may be forwarded to the application health monitor and recovery engine 136 for analysis.”) and that the message is a recommendation (Eck, paragraph 0035, 0054, 0060-0061, wherein “the health monitoring engine 124 may monitor an application's processor usage, memory latencies, network delays, and so on and recommend remedial actions needed to improve a performance criterion. For example, to measure the virtual disk I/O performance of an application 112, a performance counter measures the amount of time that read and write operations take to respond to the application 112. If the average response times are below a certain threshold, then the virtual disk I/O performance may be considered suboptimal or poor and remedial action may be recommended”). Therefore, it would have it would have been obvious to one ordinary skill in the art before the effective filing date of the invention to modify Hussain in view of Eck such that second request is for statistics and that a recommendation is sent as claimed because this would have provided a way to improve performance of the system by suggesting remedial actions based on performance of the system learned by the system statistics. As such, the application is able to execute continuously without suffering interruptions or long delays for diagnosing and remedying a failure. In analyzing the performance parameters representing the application's operational condition, the performance of the application is improved (see Eck, paragraph 0022, 0035). As per claim 2, claim 1 is incorporated and Eck further discloses wherein the recommendation includes: a request to adjust one of the one or more tasks delegated to the software agent device, a request to adjust one or more parameters associated with operation the software agent device or an environment of the software agent, an indication of a workflow to perform, a request to review or modify operation of the software agent, or any combination thereof (Eck, paragraph 0065, wherein “For example, the remedial action may include restarting the guest partition, moving the guest partition to another virtualization platform on another system, allocate additional resources to the guest partition, release resources from other guest partitions in order to allocate additional resources to a guest partition, or reconfigure the allocation of resources for one or more of the guest partitions on the system. Based on the type of remedial action, the remedial action may require the service of the hypervisor 128, the host operating system 126, or other components on the virtualization platform 104”); As per claim 3, claim 1 is incorporated and Hussain in view of Eck further discloses wherein the information associated with operation of the software agent device comprisea one or more of a quantity of memory available to the software agent, a quantity of process CPU utilization, a quantity of system CPU utilization, a quantity of processors, a quantity of free space, or any combination thereof (Hussain, paragraph 0087, wherein “The agent service 106 can perform the function indicated in the request 210. In performing the action, the agent service 106 can generate and transmit a response 215 to the digital assistant application 108. The response 215 can indicate the results of the function performed by the agent service 106 for the agent 112”), (Eck, paragraph 0059-0060, wherein “A performance monitor log 308 stores performance data related to the operation of the components of the system, such as processor usage, processor latency, processor delay, memory usage, memory latency, memory delay, network usage, network latencies, network delays, I/O usage, I/O latencies, and I/O delays. The performance data may be collected during the course of the execution of an application through a performance monitor tool. The performance monitor tool may be a stand-alone tool, part of the guest operating system or a plug-in that is annexed to the guest operating system. The performance monitor tool may utilize performance counters that measure a particular virtual resource”) As per claim 4, claim 1 is incorporated and Eck further wherein the statistics corresponding to performance of the software agent comprise: a quantity of errors detected for each of a plurality of error codes, a quantity of successes and failures, a quantity of each of a plurality of events, a quantity of events that resulted in success, a quantity of events that resulted in a failure, a quantity of events that resulted in a time-out, or any combination thereof (Eck, paragraph 0059-0060, wherein “A performance monitor log 308 stores performance data related to the operation of the components of the system, such as processor usage, processor latency, processor delay, memory usage, memory latency, memory delay, network usage, network latencies, network delays, I/O usage, I/O latencies, and I/O delays. The performance data may be collected during the course of the execution of an application through a performance monitor tool. The performance monitor tool may be a stand-alone tool, part of the guest operating system or a plug-in that is annexed to the guest operating system. The performance monitor tool may utilize performance counters that measure a particular virtual resource”); As per claim 5, claim 1 is incorporated and Eck further discloses wherein the recommendation is based at least in part on the statistics and on a plurality of rules (Eck, paragraph 0059-0060, wherein “A performance monitor log 308 stores performance data related to the operation of the components of the system, such as processor usage, processor latency, processor delay, memory usage, memory latency, memory delay, network usage, network latencies, network delays, I/O usage, I/O latencies, and I/O delays. The performance data may be collected during the course of the execution of an application through a performance monitor tool. The performance monitor tool may be a stand-alone tool, part of the guest operating system or a plug-in that is annexed to the guest operating system. The performance monitor tool may utilize performance counters that measure a particular virtual resource”); As per claim 6, claim 1 is incorporated and Hussain further discloses wherein performance of the software agent is associated with the software platform, one or more other software platforms, a server associated with the software agent, or any combination thereof (Hussain, paragraph 0031-0031, 0062, wherein “the data processing system 102 and the agent service 106 each can include at least one server having at least one processor. For example, the data processing system 102 and the agent service 106 each can include a plurality of servers located in at least one data center or server farm”); As per claim 7, claim 1 is incorporated and Eck further discloses wherein the first request for the information associated with operation of the software agent is received periodically, aperiodically, or based on initiation by an administrator (Eck, paragraph 0051, 0053, 0063, wherein “An application 112 registers with the guest integration component 202 through a registration request 206. The registration request 206 may be made through the API 204. Once the application 112 registers with the guest integration component 202, the guest integration component 202 polls the application 112 at regular time intervals. The application health monitor and recovery engine 136 may set the time intervals at which the guest integration component 202 polls”, “”); Claims 8-20 are rejected under the same rationale as claims 1-7; Response to Arguments Applicant’s arguments filed on 06/10/2026 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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 HAMZA N ALGIBHAH whose telephone number is (571)270-7212. The examiner can normally be reached 7:30 am - 3:30 pm. 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, Ario Etienne can be reached at ario.etienne@uspto.gov. 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. /HAMZA N ALGIBHAH/Primary Examiner, Art Unit 2457
Read full office action

Prosecution Timeline

Oct 25, 2024
Application Filed
Mar 11, 2026
Non-Final Rejection mailed — §103
Jun 10, 2026
Response Filed
Aug 26, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12750433
CDN NODE ALLOCATION METHOD AND APPARATUS, ELECTRONIC DEVICE, MEDIUM AND PROGRAM PRODUCT
2y 4m to grant Granted Sep 29, 2026
Patent 12744838
Multi-Link-Based Communication Method and Apparatus
1y 9m to grant Granted Sep 22, 2026
Patent 12732537
MULTI-LEVEL METHODS FOR CHARACTERIZING QUANTUM COMMUNICATION CHANNELS
3y 1m to grant Granted Sep 08, 2026
Patent 12711212
ELECTRONIC DEVICE COMPRISING SENSOR MODULE
3y 1m to grant Granted Aug 18, 2026
Patent 12712843
SYSTEMS, METHODS, AND APPARATUSES FOR IMPROVED DOMAIN NAME RESOLUTION
1y 7m to grant Granted Aug 18, 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
79%
Grant Probability
82%
With Interview (+3.3%)
2y 12m (~1y 0m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 737 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