Prosecution Insights
Last updated: October 02, 2026
Application No. 18/918,931

DIFFERENTIATING CONTROLLERS AND RECONCILERS FOR SOFTWARE OPERATORS IN A DISTRIBUTED COMPUTING ENVIRONMENT

Final Rejection §103
Filed
Oct 17, 2024
Priority
Dec 15, 2021 — continuation of 12/149,600
Examiner
RAZA, MUHAMMAD A
Art Unit
2449
Tech Center
2400 — Computer Networks
Assignee
Red Hat Inc.
OA Round
2 (Final)
56%
Grant Probability
Moderate
3-4
OA Rounds
1y 10m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 56% of resolved cases
56%
Career Allowance Rate
160 granted / 285 resolved
-1.9% vs TC avg
Strong +69% interview lift
Without
With
+68.7%
Interview Lift
resolved cases with interview
Typical timeline
3y 9m
Avg Prosecution
17 currently pending
Career history
312
Total Applications
across all art units

Statute-Specific Performance

§101
18.4%
-21.6% vs TC avg
§103
49.8%
+9.8% vs TC avg
§102
5.1%
-34.9% vs TC avg
§112
22.5%
-17.5% vs TC avg
Black line = Tech Center average estimate • Based on career data from 285 resolved cases

Office Action

§103
4 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 . Status of Claims Claims 1-5, 7-12, 14-19, and 21are pending in this Office Action. Drawings The formal drawings received on 10/17/2024 have been entered. 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. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1, 2, 5, 8, 9, 12, 15, 16, 19, is/are rejected under 35 U.S.C. 103 as being unpatentable over Vijaywargiya (US 20240192946) in view of Verma (US 20230023744), and further in view of Wei (US 20190102478). 1, 8, 15. Vijaywargiya teaches: A system comprising: – in paragraphs [0010]-[0177] (Methods, systems, circuits, and apparatuses.) a processor; and – in paragraphs [0010]-[0177] (A processor that may include execution units to execute an instruction.) a memory including instructions that are executable by the processor for causing the processor to perform operations comprising: – in paragraphs [0010]-[0177] (A memory 920 may store instruction(s) 919 and/or data 921 represented by data signals that may be executed by processor 902.) receiving, by a client device, a first indication of an event type associated with a software operator for executing and maintain a software application and being created using a language-agnostic operator framework; – in paragraphs [0010]-[0177] (The top-level service controller 554A receives the top-level service CRD 636 from the deployment manager operator 552. The deployment manager refers to a set of Kubernetes operators that provision and manage a set of resources on the plurality of nodes of the remote data center. In particular, each custom controller of an operator receives a custom resource definition declaring a target state of the resource to identify differences between a current state of the resource and a target state of the resource. An operator may be implemented using logic that performs a method of packaging, deploying, and managing an application (or service) (e.g., a Kubernetes application).) receiving, by the client device, a second indication of a reconciler that is associated with the event type; and – in paragraphs [0010]-[0177] (The reconcile loop of the top-level service controller 554A creates a dependent resource CRD 642 designating a target state of the dependent resource. The dependent resource controller 554B receives the dependent resource CRD 642 from the top-level service controller 554A.) Vijaywargiya does not explicitly teach: the software operator is for executing and maintaining a software application and being created using a language-agnostic operator framework; deploying, by the client device, a pod including the reconciler and a container executing a controller associated with the software operator, the reconciler and the container being configured to communicate via a preselected communication protocol. However, Verma teaches: the software operator is for executing and maintaining a software application and being created using a language-agnostic operator framework; – in paragraphs [0002]-[0083] (Multi-controller declarative fault management and coordination for microservices in an environment such as, e.g., a Kubernetes environment. Kubernetes permits defining custom resources that make Kubernetes modular and extensible. Controllers can be implemented using the operators in a container orchestration platform such as, for example, Kubernetes, running as a pod with permissions to modify other resources (roles). At least portions of resources 110 are managed by controllers 106-1 and 106-2, wherein such controllers, for example, manage the state of resources, determine changes to one or more desired states, and determine one or more remediation actions to take to match the desired state(s) of at least a portion of the resources managed by the given controller.) deploying, by the client device, a pod including the reconciler and a container executing a controller associated with the software operator, – in paragraphs [0002]-[0083] (Applications can be deployed on such a cluster of nodes as one or more pods, wherein a pod refers to the smallest deployable unit of computing that is created and managed on the cluster as a single entity. By way of example, a pod may contain one or more containers that require compute resources to execute. Watchers 104-1 and 104-2 watch/monitor one or more of the resources 110 for changes in their current state, trigger events to policy engine 102 corresponding to any impacted resources, and invoke callback functions received as actions from the policy engine 102. Controllers can be implemented using the operators in a container orchestration platform such as, for example, Kubernetes, running as a pod with permissions to modify other resources (roles). The multiple independent controllers include multiple operators in a Kubernetes system.) the reconciler and the container being configured to communicate via a preselected communication protocol. – in paragraphs [0002]-[0083] (Watchers 104-1 and 104-2 watch/monitor one or more of the resources 110 for changes in their current state, trigger events to policy engine 102 corresponding to any impacted resources, and invoke callback functions received as actions from the policy engine 102. Such callback functions can include, for example, notifying controllers 106-1 and 106-2 for further coordination. A callback function can include a representational state transfer (REST) application programming interface (API) endpoint to be invoked over a hypertext transfer protocol (HTTP) connection.) It would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Vijaywargiya with Verma to include the software operator is for executing and maintaining a software application and being created using a language-agnostic operator framework; deploying, by the client device, a pod including the reconciler and a container executing a controller associated with the software operator, the reconciler and the container being configured to communicate via a preselected communication protocol, as taught by Verma, in paragraphs [0001]-[0018], to provide techniques for multi-controller declarative fault management and coordination for microservices. Combination of Vijaywargiya and Verma does not explicitly teach: communicate via a preselected communication protocol. However, Wei teaches: communicate via a preselected communication protocol – in paragraphs [0011]-[0147] (An API is any form of exposed interface which permits computers to communicate with other computers according to predefined rules/protocols.) It would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Vijaywargiya and Verma with Wei to include communicate via a preselected communication protocol, as taught by Vijaywargiya, in paragraphs [0002]-[0032], to solve the problem of provisioning and managing data center components efficiently. 2, 9, 16. The system of claim 1, – refer to the indicated claim for reference(s). Verma teaches: wherein the memory includes instructions that are executable by the processor for causing the processor to deploy the pod for: detecting, by the controller, an event associated with the reconciler; and invoking, by the controller, the reconciler via the preselected communication protocol; and processing, by the reconciler, the event in response to being invoked by the controller to provide a response associated with the event to the controller via the preselected communication protocol. – in paragraphs (Applications can be deployed on such a cluster of nodes as one or more pods, wherein a pod refers to the smallest deployable unit of computing that is created and managed on the cluster as a single entity. By way of example, a pod may contain one or more containers that require compute resources to execute. Watchers 104-1 and 104-2 watch/monitor one or more of the resources 110 for changes in their current state, trigger events to policy engine 102 corresponding to any impacted resources, and invoke callback functions received as actions from the policy engine 102. Controllers 106-1 and 106-2 register policies with actions to invoke callback functions upon receipt of specific events. By way merely of example, a callback function can include a representational state transfer (REST) application programming interface (API) endpoint to be invoked over a hypertext transfer protocol (HTTP) connection. Alternatively, for example, a callback function can include a remote procedure call to be invoked using a remote procedure call framework. Watchers 104-1 and 104-2 watch/monitor one or more of the resources 110 for changes in their current state, trigger events to policy engine 102 corresponding to any impacted resources, and invoke callback functions received as actions from the policy engine 102. Such callback functions can include, for example, notifying controllers 106-1 and 106-2 for further coordination.) 5, 12, 19. The system of claim 1, – refer to the indicated claim for reference(s). Wei teaches: wherein the preselected communication protocol comprises a remote procedure call (RPC) protocol, a Google remote procedure call (gRPC) protocol, or a JavaScript object notation (JSON) message protocol. – in paragraphs [0011]-[0147] (A web API is an API for either a web server or a web browser. It exposes one or more endpoints to a defined request-response message system, typically expressed in JavaScript Object Notation (JSON) or Extensible Markup Language (XML), via the web, most commonly by means of an HTTP based web server.) Claim(s) 3, 10, 17, 21 is/are rejected under 35 U.S.C. 103 as being unpatentable over Vijaywargiya (US 20240192946) in view of Verma (US 20230023744), and further in view of Wei (US 20190102478) and Ueno (US 20240289227). 3, 10, 17. The system of claim 2, – refer to the indicated claim for reference(s). Combination of Vijaywargiya, Verma, and Wei does not explicitly teach: wherein the memory includes instructions that are executable by the processor for causing the processor to detect the event associated with the reconciler by: querying, by the controller, the reconciler to determine the event type that is associated with the reconciler; generating, by the controller, a routing table that associates the reconciler with the event type; in response to receiving the event, determining, by the controller, the event is associated with the event type; and determining, by the controller and based on the routing table, that the event is associated with the reconciler. However, Ueno teaches: wherein the memory includes instructions that are executable by the processor for causing the processor to detect the event associated with the reconciler by: querying, by the controller, the reconciler to determine the event type that is associated with the reconciler; generating, by the controller, a routing table that associates the reconciler with the event type; in response to receiving the event, determining, by the controller, the event is associated with the event type; and determining, by the controller and based on the routing table, that the event is associated with the reconciler. – in paragraphs (The routing table (also referred to as a table) 15c manages containers of transmission destinations of packets transmitted from the facing device 24 to the Pods 15a and 15b of the worker nodes 15J and 15K via the network 22 with route information indicating the transmission destinations. If transmission destination management of the table 15c is incorrect, the packet does not reach an appropriate container. For this reason, the abnormality detection unit 17 detects whether the transmission destination management of the table 15c is normal or abnormal.) It would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Vijaywargiya, Verma, and Wei with Ueno to include wherein the memory includes instructions that are executable by the processor for causing the processor to detect the event associated with the reconciler by: querying, by the controller, the reconciler to determine the event type that is associated with the reconciler; generating, by the controller, a routing table that associates the reconciler with the event type; in response to receiving the event, determining, by the controller, the event is associated with the event type; and determining, by the controller and based on the routing table, that the event is associated with the reconciler, as taught by Ueno, in paragraphs [0001]-[0021], to recover from a failure occurring in a virtualization system earlier than recovery by a failure recovery function of container virtualization software. 21. The system of claim 1, – refer to the indicated claim for reference(s). Combination of Vijaywargiya, Verma, and Wei does not explicitly teach: wherein the memory includes instructions that are executable by the processor for causing the processor to deploy the pod for: querying, by the controller and via the preselected communication protocol, the reconciler to determine the event type associated with the reconciler; generating, by the controller, a routing table associating the reconciler with the event type; and adding, by the controller, a watcher for the event type to an application programming interface service that receives events. However, Ueno teaches: wherein the memory includes instructions that are executable by the processor for causing the processor to deploy the pod for: querying, by the controller and via the preselected communication protocol, the reconciler to determine the event type associated with the reconciler; generating, by the controller, a routing table associating the reconciler with the event type; and adding, by the controller, a watcher for the event type to an application programming interface service that receives events. – in paragraphs (The routing table (also referred to as a table) 15c manages containers of transmission destinations of packets transmitted from the facing device 24 to the Pods 15a and 15b of the worker nodes 15J and 15K via the network 22 with route information indicating the transmission destinations. If transmission destination management of the table 15c is incorrect, the packet does not reach an appropriate container. For this reason, the abnormality detection unit 17 detects whether the transmission destination management of the table 15c is normal or abnormal.) It would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Vijaywargiya, Verma, and Wei with Ueno to include wherein the memory includes instructions that are executable by the processor for causing the processor to deploy the pod for: querying, by the controller and via the preselected communication protocol, the reconciler to determine the event type associated with the reconciler; generating, by the controller, a routing table associating the reconciler with the event type; and adding, by the controller, a watcher for the event type to an application programming interface service that receives events, in paragraphs [0001]-[0021], to recover from a failure occurring in a virtualization system earlier than recovery by a failure recovery function of container virtualization software. Claim(s) 4, 11, 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Vijaywargiya (US 20240192946) in view of Verma (US 20230023744), and further in view of Wei (US 20190102478) and Brown (US 20030110242). 4, 11, 18. The system of claim 1, – refer to the indicated claim for reference(s). Combination of Vijaywargiya, Verma, and Wei does not explicitly teach: wherein the container is in a first programming language and the reconciler is in a second programming language. However, Brown teaches: wherein the container is in a first programming language and the reconciler is in a second programming language. – in paragraphs [0015]-[0101] (The Web service containers at two different network nodes can be implemented in different programming languages and run on different platforms.) It would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Vijaywargiya, Verma, and Wei with Brown to include wherein the container is in a first programming language and the reconciler is in a second programming language, as taught by Brown, in paragraphs [0001]-[0019], to dynamically reconfiguring Web services infrastructure based upon context. Claim(s) 7, 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over Vijaywargiya (US 20240192946) in view of Verma (US 20230023744), and further in view of Wei (US 20190102478) and Gould (US 8555297). 7, 14. The system of claim 1, – refer to the indicated claim for reference(s). Combination of Vijaywargiya, Verma, and Wei does not explicitly teach: wherein the container is configured to run in a first address space of the pod and the reconciler is configured to run in a second address space of the pod. However, Gould teaches: wherein the container is configured to run in a first address space of the pod and the reconciler is configured to run in a second address space of the pod. – on lines 1-67 in columns 1-33 (The client container may include code executing in a first address space and said server container includes code executing in a second address space different than said first address space.) It would have been obvious for one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify Vijaywargiya, Verma, and Wei with Gould to include wherein the container is configured to run in a first address space of the pod and the reconciler is configured to run in a second address space of the pod, as taught by Gould, on lines 1-67 in columns 1-4, to provide techniques used for communicating between different code modules. 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 MUHAMMAD RAZA whose telephone number is (571)272-7734. The examiner can normally be reached Monday-Friday, 7:00 A.M.-5:00 P.M.. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Vivek Srivastava can be reached at (571)272-7304. 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. /MUHAMMAD RAZA/Primary Examiner, Art Unit 2449
Read full office action

Prosecution Timeline

Oct 17, 2024
Application Filed
Feb 10, 2026
Examiner Interview (Telephonic)
Apr 02, 2026
Examiner Interview Summary
Apr 22, 2026
Non-Final Rejection mailed — §103
Jul 22, 2026
Response Filed
Sep 17, 2026
Final Rejection mailed — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12744825
COMMUNICATION METHOD, APPARATUS, AND SYSTEM
1y 12m to grant Granted Sep 22, 2026
Patent 12689670
SYSTEMS AND METHODS FOR MONITORING HEALTH OF A DIGITAL APPLICATION SYSTEM
1y 8m to grant Granted Jul 21, 2026
Patent 12676773
MANAGING ACCESS TO PRIVATE NETWORK RESOURCES FROM EXTERNAL DEVICES VIA A RELAY COMPUTING ELEMENT
1y 9m to grant Granted Jul 07, 2026
Patent 12645693
SYSTEMS AND METHODS FOR GENERATING A TARGET DATASET HAVING A TARGET DATA FORMAT ON A USER DEVICE
4y 0m to grant Granted Jun 02, 2026
Patent 12621227
SERVICE ASSURANCE IN 5G NETWORKS USING KEY PERFORMANCE INDICATOR NAVIGATION TOOL
3y 7m 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
56%
Grant Probability
99%
With Interview (+68.7%)
3y 9m (~1y 10m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 285 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