Prosecution Insights
Last updated: April 19, 2026
Application No. 18/843,929

LIGHTWEIGHT SUPERVISORY CONTROL AND DATA ACQUISITION (SCADA) SYSTEM AND METHOD

Non-Final OA §101§102§103
Filed
Sep 04, 2024
Examiner
HACKENBERG, RACHEL J
Art Unit
2454
Tech Center
2400 — Computer Networks
Assignee
Honeywell International Inc.
OA Round
1 (Non-Final)
79%
Grant Probability
Favorable
1-2
OA Rounds
2y 10m
To Grant
99%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allow Rate
236 granted / 300 resolved
+20.7% vs TC avg
Strong +26% interview lift
Without
With
+26.4%
Interview Lift
resolved cases with interview
Typical timeline
2y 10m
Avg Prosecution
35 currently pending
Career history
335
Total Applications
across all art units

Statute-Specific Performance

§101
4.9%
-35.1% vs TC avg
§103
53.2%
+13.2% vs TC avg
§102
14.2%
-25.8% vs TC avg
§112
17.8%
-22.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 300 resolved cases

Office Action

§101 §102 §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 . Information Disclosure Statement The information disclosure statements (IDSs) were submitted on 09/04/2024, 12/02/2024. The submission is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statements have been considered by the examiner. 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. Claim(s) 1-20 is/are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because: Claim 1 is directed to a system and Claim 1 recites “a message broker”, “an edge gateway”, “edge devices” and “a host application”. Claim 15 is directed to a system and Claim 15 recites “a message broker”, “an edge gateway”, “edge devices” and “a host application”. Claim 19 is directed to a system and Claim 15 recites “a message broker”, “an edge gateway”, “edge devices” and “a host application”. The specification does not limit the elements recited in the claim to being hardware or combination of hardware and software. The only reference to physical devices in the specification is for end devices, [0057] and at least some edge devices may be building and/or process control devices/sensors, [0035]. See MPEP, 2106.03 I. The Four Categories: 35 U.S.C. 101 enumerates four categories of subject matter that Congress deemed to be appropriate subject matter for a patent: processes, machines, manufactures and compositions of matter. … The other three categories (machines, manufactures and compositions of matter) define the types of physical or tangible "things" or "products" that Congress deemed appropriate to patent. … Non-limiting examples of claims that are not directed to any of the statutory categories include: Products that do not have a physical or tangible form, such as information (often referred to as "data per se") or a computer program per se (often referred to as "software per se") when claimed as a product without any structural recitations. Therefore, Claims 1, 15, 19 and dependents are rejected as being software per se, which is not one of the four categories of patent eligible subject matter. Claim Rejections - 35 USC § 102 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. (a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention. Claim(s) 15-17 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US 20180167476 A1 (Hoffner). Regarding Claim 15: Hoffner teaches A system comprising: a message broker (ie. broker) that uses a publish/subscribe messaging protocol; ([0033] A broker can host dedicated client queues for one or more clients. The broker can hold the client subscription information and populate the client's queue as published messages arrive, and retain such messages until the client is able to receive its subscribed messages. The broker transmits the message multiple times (once for each client queue) through the meta broker gateway, for delivery to the client. In some examples, messages can be published directly to a queue, which enables peer-to-peer functionality over a publish-subscribe message system.) an edge gateway (ie. meta broker gateway) operatively coupling one or more edge devices (ie. clients, client endpoints) to the message broker, ([0104] establishing a plurality of connections between a messaging meta broker gateway and respective messaging meta broker clients; [0030] The meta broker gateway can manage multiple concurrent broker connections and can multiplex client-published messages among the brokers. The meta broker gateway clients can share a single connection—regardless of client and broker protocols—between the meta broker and a broker, thereby greatly easing load on the broker. Protocol translation can be performed at one or both of a client endpoint and a broker adapter.) the edge gateway (ie. meta broker gateway) receiving information from one or more of the edge devices (ie. clients, client endpoints) and publishing at least some of the received information to the message broker in a protocol that is compatible with the publish/subscribe messaging protocol of the message broker; ([0028] A software-based meta broker called a “messaging meta broker gateway” can address such problems, and can be offered at low cost and easy extensibility in a cloud service solution. The software-based meta broker gateway can simultaneously connect to multiple brokers (e.g., of different types) and can route messages to any one or more connected brokers, allowing a single published message from a client to be efficiently distributed to multiple and disparate consumers. The software-based meta broker gateway can support a range of client-facing endpoints, thereby allowing many client types to connect to a single publish-subscribe messaging environment. [0029] The meta broker gateway can process incoming client-published messages using a topic router to distribute the messages to the right brokers. [0030][0033] Protocol translation can be performed at one or both of a client endpoint and a broker adapter.) a host application (ie. messaging gateway application) operatively coupled to the message broker, the host application subscribing to at least some of the information published by the edge gateway to the message broker; ([0033] A broker can host dedicated client queues for one or more clients. In some examples with dedicated queues, the broker can hold the client subscription information and populate the client's queue as published messages arrive, and retain such messages until the client is able to receive its subscribed messages. [0038] The messaging meta broker gateway 101A can be realized as an application. [0195] A Messaging Gateway application can be deployed as an HCP application for every customer in a dedicated account managed by a service provider. [0116] The broker layer 80 can also have connections to one or more consumers 71A-71N, each of which runs one or more applications 75A-75N. The consumers can be host applications subscribing to the sensor messages.) and wherein the edge gateway (ie. meta broker gateway) is configured to convert at least some information received from one or more of the edge devices from a protocol that is incompatible with the publish/subscribe messaging protocol of the message broker to a protocol that is compatible with the publish/subscribe messaging protocol of the message broker before publishing the information to the message broker. ([0006] respective messaging meta broker destinations, wherein the messaging meta broker destinations comprise one or more of the message brokers … receiving a first published message from a first client device using a first messaging protocol over a first client connection among the concurrent client connections … forwarding the first published message to the at least one message destination; wherein forwarding includes translating the first published message from the first messaging protocol to a different second protocol for compatibility with one or more of the message destinations;) Regarding Claim 16: Hoffner teaches on the invention of claim 15 as described. Hoffner teaches further comprising: the edge gateway configured to determine an edge gateway connection state and publish the edge gateway connection state to the message broker. ([0128] messaging gateway 101A can preserve a client's state across sessions. [0158] Connectivity and session handler subsystem 1621 provides internal handling for connectivity and session state as required. This subsystem includes components for MQTT session management 1622 and client connection management 1624.) Regarding Claim 17: Hoffner teaches on the invention of claim 15 as described. Hoffner teaches the host application (ie. messaging gateway application) configured to determine a host application connection state of the host application and publish the host application connection state to the message broker. ([0038] The messaging meta broker gateway 101A can be realized as an application. [0195] A Messaging Gateway application can be deployed as an HCP application for every customer in a dedicated account managed by a service provider. The application can run as a single instance or as a multi-instance distributed application with redundancy and high availability, with considerations for synchronization as discussed above. In some examples, synchronized instances can be used to offer zero-downtime updates. In some examples, client connections can be migrated prior to update of an instance. [0196] Monitoring and Alerting: A messaging gateway application can be monitored, for example with standard functions in HCP for predefined application health and availability checks, e.g. average response time, CPU load and memory usage.) Claim(s) 1-4, 9-13 is/are rejected under 35 U.S.C. 102(a)(2) as being anticipated by US 11,121,930 B1 (Johnson). Regarding Claim 1: Johnson teaches A system comprising: a message broker (Fig 1, MQTT server 105) that uses a publish/subscribe messaging protocol; (Col 5 ln 41-49, the MQTT Server system provides tracking of Edge Nodes that are not subscribing on the primary host ID which they should be. The MQTT server is the component of the distributed system that uniquely knows the subscriptions of each MQTT Sparkplug Client. Because of this, the MQTT Server could know both whether or not MQTT Sparkplug Clients are subscribed to the Sparkplug “State” messages. In addition, it could know if “State” messages were being published by a host system.) an edge gateway (Fig 1, MQTT EON Nodes) operatively coupling one or more edge devices (Fig 1, devices 130-145, sensor 150) to the message broker, the edge gateway receiving information from one or more of the edge devices and publishing at least some of the received information to the message broker in a protocol (ie. sparkplug compatible messages) that is compatible with the publish/subscribe messaging protocol of the message broker; (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) a host application (Fig 1, SCADA/IIOT Host 170) operatively coupled to the message broker (Fig 1, MQTT server 105), the host application subscribing to at least some of the information published by the edge gateway to the message broker; (Col 3 ln 61-65, the term “SCADA/IIoT Host” refers to any MQTT client application that subscribes to and publishes messages as described herein. The SCADA/IIoT Host typically aggregates data from the Sparkplug Nodes and optionally provides control of the Sparkplug Nodes.) the edge gateway configured to determine an edge gateway connection state and publish the edge gateway connection state to the message broker, the edge gateway connection state including online and offline; (Col 2 ln 54-62, the MQTT Server system tracks and reports online/offline MQTT Sparkplug Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. ) and the host application (Fig 1, SCADA/IIOT Host 170) configured to determine a host application connection state of the host application and publish the host application connection state to the message broker, the host application connection state including online and offline. (Col 2 ln 54-62, the MQTT Server system tracks and reports online/offline MQTT Sparkplug Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. ) Regarding Claim 2: Johnson teaches on the invention of claim 1 as described. Johnson teaches wherein the host application connection state is set to online when the host application is connected to the message broker, and the host application connection state is set to offline when the host application is not connected to the message broker. (Col 2 ln 54-62, the MQTT Server system tracks and reports online/offline MQTT Sparkplug Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. ) Online/Offline means connected/not connected via a session. They may still be “operably connected” as recited in the Independent Claims. Regarding Claim 3: Johnson teaches on the invention of claim 3 as described. Johnson teaches wherein the edge gateway connection state is set to online when the edge gateway is connected to the message broker and the host application connection state is set to online, and the edge gateway connection state is set to offline when the edge gateway is not connected to the message broker or when the edge gateway is connected to the message broker but the host application connection state is set to offline. (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) Regarding Claim 4: Johnson teaches on the invention of claim 1 as described. Johnson teaches further comprising a plurality of host applications, wherein each of the plurality of host applications includes a host application identifier, with one of the plurality of host applications identified as a primary host application. (Col 2 ln 54-62, the MQTT Server system tracks and reports online/offline MQTT Sparkplug Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This includes binding, storing, and reporting additional pertinent information to the MQTT Client such as the source IP address, the Sparkplug Group ID, the Sparkplug Edge Node ID, and/or the SCADA/IIOT Host's primary host ID of each Sparkplug EoN Client.) Regarding Claim 9: Johnson teaches on the invention of claim 1 as described. Johnson teaches wherein the host application is configured to publish control information to the message broker to control one or more of the edge devices operatively coupled to the edge gateway, and the edge gateway is configured to subscribe to the control information published by the host application. (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) Regarding Claim 10: Johnson teaches on the invention of claim 1 as described. Johnson teaches further comprising a client application operatively coupled to the message broker, the client application subscribing to at least some of the information published by the edge gateway to the message broker. (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) Regarding Claim 11: Johnson teaches on the invention of claim 10 as described. Johnson teaches wherein the client application is configured to publish control information to the message broker to control one or more of the edge devices operatively coupled to the edge gateway, wherein the message broker is configured to verify that the client application is authorized to publish control information for the one or more edge devices, and if the client application is not authorized, the message broker is configured to not deliver the published control information. (Col 2 ln 47-62, In one aspect, the MQTT Server infrastructure provides internal tracking, storing, and reporting of Sparkplug-specific data flowing through the MQTT Server to permit Sparkplug metric counts, Sparkplug sequence number errors, Sparkplug template definition collisions, and Sparkplug historical metrics, and other Sparkplug specific information available to the MQTT Server. In one aspect, the MQTT Server system tracks and reports online/offline MQTT Sparkplug Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. Col 3-4 ln 66-67, 1-2, the term “MQTT Application Node” is any non-primary MQTT SCADA/IIoT client application that consumes real-time messages or any other data being published with proper permission and security.) Regarding Claim 12: Johnson teaches on the invention of claim 1 as described. Johnson teaches wherein the message broker is an MQTT message broker, and the publish/subscribe messaging protocol comprises a sparkplug publish/subscribe messaging protocol. (Col 2 ln 54-62, the MQTT Server system tracks and reports online/offline MQTT Sparkplug Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This includes binding, storing, and reporting additional pertinent information to the MQTT Client such as the source IP address, the Sparkplug Group ID, the Sparkplug Edge Node ID, and/or the SCADA/IIOT Host's primary host ID of each Sparkplug EoN Client.) Regarding Claim 13: Johnson teaches on the invention of claim 1 as described. Johnson teaches wherein the one or more edge devices comprise one or more building control devices and/or building control sensors. (Col 4 ln 31-35, One or more MQTT Edge of Network (EoN) Node(s) 110,115,120,125 are each responsible for any local protocol interface to existing legacy devices (e.g., PLCs, RTUs, Flow Computers, Sensors, etc.) and/or any local discrete I/O, and/or any logical internal process variables. One or more devices 130,135,140,145 and one or more sensors 150 represents any physical or logical device connected to the MQTT EoN node providing any data, process variables, or metrics.) 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) 8, 15-17 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 11,121,930 B1 (Johnson) in view of US 20180167476 A1 (Hoffner). Regarding Claim 8: Johnson teaches on the invention of claim 1 as described. Johnson teaches on utilizing sparkplug protocol for publish/subscribe (Col 5 ln 20-24). However, Johnson is silent on wherein the edge gateway is configured to convert at least some information received from one or more of the edge devices from a protocol that is incompatible with the publish/subscribe messaging protocol of the message broker to a protocol that is compatible with the publish/subscribe messaging protocol of the message broker before publishing the information to the message broker. Hoffner teaches, in the same field of endeavor, A messaging meta broker gateway for publish-subscribe messaging environments can provide connectivity, message routing, and subscription management between large numbers of clients and large numbers of brokers, Abstract. Hoffner also teaches wherein the edge gateway is configured to convert at least some information received from one or more of the edge devices from a protocol that is incompatible with the publish/subscribe messaging protocol of the message broker to a protocol that is compatible with the publish/subscribe messaging protocol of the message broker before publishing the information to the message broker. ([0006] respective messaging meta broker destinations, wherein the messaging meta broker destinations comprise one or more of the message brokers … receiving a first published message from a first client device using a first messaging protocol over a first client connection among the concurrent client connections … forwarding the first published message to the at least one message destination; wherein forwarding includes translating the first published message from the first messaging protocol to a different second protocol for compatibility with one or more of the message destinations;) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson per Hoffner to include wherein the edge gateway is configured to convert at least some information received from one or more of the edge devices from a protocol that is incompatible with the publish/subscribe messaging protocol of the message broker to a protocol that is compatible with the publish/subscribe messaging protocol of the message broker before publishing the information to the message broker. This would have been advantageous as discussed above, as this would allow the modified system to provide flexibility with implementation of services by incorporating many supported types of protocols. Regarding Claim 15: Johnson teaches A system comprising: a message broker (Fig 1, MQTT server 105) that uses a publish/subscribe messaging protocol; (Col 5 ln 41-49, the MQTT Server system provides tracking of Edge Nodes that are not subscribing on the primary host ID which they should be. The MQTT server is the component of the distributed system that uniquely knows the subscriptions of each MQTT Sparkplug Client. Because of this, the MQTT Server could know both whether or not MQTT Sparkplug Clients are subscribed to the Sparkplug “State” messages. In addition, it could know if “State” messages were being published by a host system.) an edge gateway (Fig 1, MQTT EON Nodes) operatively coupling one or more edge devices (Fig 1, devices 130-145, sensor 150) to the message broker, the edge gateway (Fig 1, MQTT EON Nodes) receiving information from one or more of the edge devices and publishing at least some of the received information to the message broker in a protocol (ie. sparkplug compatible messages) that is compatible with the publish/subscribe messaging protocol of the message broker; (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) a host application (Fig 1, SCADA/IIOT Host 170) operatively coupled to the message broker (Fig 1, MQTT server 105), the host application subscribing to at least some of the information published by the edge gateway to the message broker; (Col 3 ln 61-65, the term “SCADA/IIoT Host” refers to any MQTT client application that subscribes to and publishes messages as described herein. The SCADA/IIoT Host typically aggregates data from the Sparkplug Nodes and optionally provides control of the Sparkplug Nodes.) Johnson teaches on utilizing sparkplug protocol for publish/subscribe (Col 5 ln 20-24). However, Johnson is silent on wherein the edge gateway is configured to convert at least some information received from one or more of the edge devices from a protocol that is incompatible with the publish/subscribe messaging protocol of the message broker to a protocol that is compatible with the publish/subscribe messaging protocol of the message broker before publishing the information to the message broker. Hoffner teaches wherein the edge gateway is configured to convert at least some information received from one or more of the edge devices from a protocol that is incompatible with the publish/subscribe messaging protocol of the message broker to a protocol that is compatible with the publish/subscribe messaging protocol of the message broker before publishing the information to the message broker. ([0006] respective messaging meta broker destinations, wherein the messaging meta broker destinations comprise one or more of the message brokers … receiving a first published message from a first client device using a first messaging protocol over a first client connection among the concurrent client connections … forwarding the first published message to the at least one message destination; wherein forwarding includes translating the first published message from the first messaging protocol to a different second protocol for compatibility with one or more of the message destinations;) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson per Hoffner to include wherein the edge gateway is configured to convert at least some information received from one or more of the edge devices from a protocol that is incompatible with the publish/subscribe messaging protocol of the message broker to a protocol that is compatible with the publish/subscribe messaging protocol of the message broker before publishing the information to the message broker. This would have been advantageous as discussed above, as this would allow the modified system to provide flexibility with implementation of services by incorporating many supported types of protocols. Regarding Claim 16: Johnson (as modified by Hoffner) teaches on the invention of Claim 15 as described. Johnson teaches further comprising: the edge gateway configured to determine an edge gateway connection state and publish the edge gateway connection state to the message broker. (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) Regarding Claim 17: Johnson (as modified by Hoffner) teaches on the invention of Claim 15 as described. Johnson teaches the host application configured to determine a host application connection state of the host application and publish the host application connection state to the message broker. (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) Claim(s) 5-7, 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 11,121,930 B1 (Johnson) in view of US 2004/0268358 A1 (Darling). Regarding Claim 5: Johnson teaches on the invention of claim 4 as described. Johnson teaches on a plurality of host applications (Col 5 ln 20-24). However, Johnson is silent on wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. Darling teaches, in the same field of endeavor, on a system that makes load balancing decisions responsive to received host status information, Abstract. Darling also teaches wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. ([0064][0074][0082] one or more of hosts 108 may provide host status information from hosts 108 to load balancing infrastructure 106. This host status information may be application specific. Examples of such host status information are described further below and include health and/or load information, session information, etc. for hosts 108. [0085] request router 306 may terminate TCP connections, parse (perhaps partially) each logical request from a client 102, and resubmit each logical request to the targeted host 108. Consequently, each logical request from a client 102 may be directed to a different host 108. [0086] Connection migrator 310 enables a connection to be initially terminated at load balancing unit 106 and then migrated such that the connection is subsequently terminated at host 108. ) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson per Darling to include wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. This would have been advantageous as discussed above, as this would allow the modified system to provide automation for routing, providing efficiency and transparency for the subscribers. Regarding Claim 6: Johnson (as modified by Darling) teaches on the invention of claim 5 as described. Johnson teaches wherein the edge gateway connection state includes online, offline and searching (ie. tracking of the host applications) for the primary host application. (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) Regarding Claim 7: Johnson (as modified by Darling) teaches on the invention of claim 6 as described. Johnson teaches on a plurality of host applications (Col 5 ln 20-24). However, Johnson is silent on wherein the edge gateway stores an ordered list of the plurality of host applications, wherein when the host application connection state of the primary host application goes offline, a next primary host application in the ordered list of the plurality of host applications is automatically identified as the new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. Darling teaches wherein the edge gateway stores an ordered list of the plurality of host applications, wherein when the host application connection state of the primary host application goes offline, a next primary host application in the ordered list of the plurality of host applications is automatically identified as the new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. ([0064][0074][0082] host status information from hosts 108 for load balancing. [0085] request router 306 may terminate TCP connections, parse (perhaps partially) each logical request from a client 102 … each logical request from a client 102 may be directed to a different host 108. [0086] Connection migrator 310 enables a connection to be initially terminated at load balancing unit 106 and then migrated such that the connection is subsequently terminated at host 108. [0265] A query atom 2204(Q) function call is used to attain an atomic entry 2304 when a first load balancing unit 106 receives an incoming connection request that references a session that is not stored in the local DAM table 2206 of the DAM 2202 of the first load balancing unit 106. It should be noted that other DAM portions 2202 may be queried simultaneously in a broadcast query atom 2204(Q) function call or sequentially until a positive return atom 2204(R) function call is received.) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson per Darling to include wherein the edge gateway stores an ordered list of the plurality of host applications, wherein when the host application connection state of the primary host application goes offline, a next primary host application in the ordered list of the plurality of host applications is automatically identified as the new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. This would have been advantageous as discussed above, as this would allow the modified system to provide automation for routing, providing efficiency and transparency for the subscribers and allow for ordering/preference of the host applications. Regarding Claim 18: Johnson (as modified by Hoffner) teaches on the invention of Claim 17 as described. Johnson teaches on a plurality of host applications (Col 5 ln 20-24). However, Johnson (as modified by Hoffner) is silent on wherein each of the plurality of host applications includes a host application identifier, with one of the plurality of host applications identified as a primary host application, and wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. Darling teaches wherein each of the plurality of host applications includes a host application identifier, with one of the plurality of host applications identified as a primary host application, and wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. ([0064][0074][0082] one or more of hosts 108 may provide host status information from hosts 108 to load balancing infrastructure 106. This host status information may be application specific. Examples of such host status information are described further below and include health and/or load information, session information, etc. for hosts 108. [0085] request router 306 may terminate TCP connections, parse (perhaps partially) each logical request from a client 102, and resubmit each logical request to the targeted host 108. Consequently, each logical request from a client 102 may be directed to a different host 108. [0086] Connection migrator 310 enables a connection to be initially terminated at load balancing unit 106 and then migrated such that the connection is subsequently terminated at host 108. ) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson (as modified by Hoffner) by modifying Johnson per Darling to include wherein each of the plurality of host applications includes a host application identifier, with one of the plurality of host applications identified as a primary host application, and wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. This would have been advantageous as discussed above, as this would allow the combined system to provide automation for routing, providing efficiency and transparency for the subscribers. Regarding Claim 19: Johnson teaches A system comprising: a message broker (Fig 1, MQTT server 105) that uses a publish/subscribe messaging protocol; (Col 5 ln 41-49, the MQTT Server system provides tracking of Edge Nodes that are not subscribing on the primary host ID which they should be. The MQTT server is the component of the distributed system that uniquely knows the subscriptions of each MQTT Sparkplug Client. Because of this, the MQTT Server could know both whether or not MQTT Sparkplug Clients are subscribed to the Sparkplug “State” messages. In addition, it could know if “State” messages were being published by a host system.) an edge gateway (Fig 1, MQTT EON Nodes) operatively coupling one or more edge devices (Fig 1, devices 130-145, sensor 150) to the message broker, the edge gateway (Fig 1, MQTT EON Nodes) receiving information from one or more of the edge devices (Fig 1, devices 130-145, sensor 150) and publishing at least some of the received information to the message broker (Fig 1, MQTT server 105) in a protocol that is compatible with the publish/subscribe messaging protocol of the message broker; (Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server. This permits tracking of “producer client” Edge Nodes and “consuming client” host applications. Metrics that may be tracked and reported may comprise Sparkplug birth counts, Sparkplug death counts, and online/offline times for Edge Node Clients. The metrics may also comprise State message, current State, and online/offline times as well as the retained status of the State message. ) a plurality of host applications operatively coupled to the message broker, the plurality of host applications including a primary host application that subscribes to at least some of the information published by the edge gateway to the message broker; (Col 3 ln 61-65, the term “SCADA/IIoT Host” refers to any MQTT client application that subscribes to and publishes messages as described herein. The SCADA/IIoT Host typically aggregates data from the Sparkplug Nodes and optionally provides control of the Sparkplug Nodes. Col 5 ln 20-24, the MQTT Server system tracks and reports online/offline MQTT Edge Nodes and primary SCADA/IIoT Host applications to permit the MQTT Server to track Sparkplug clients connected to the MQTT Server.) Johnson teaches on a plurality of host applications (Col 5 ln 20-24). However, Johnson is silent on wherein when the primary host application connection goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway and the new primary host application automatically connect via the message broker. Darling teaches wherein when the primary host application connection goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway and the new primary host application automatically connect via the message broker. ([0064][0074][0082] one or more of hosts 108 may provide host status information from hosts 108 to load balancing infrastructure 106. This host status information may be application specific. Examples of such host status information are described further below and include health and/or load information, session information, etc. for hosts 108. [0085] request router 306 may terminate TCP connections, parse (perhaps partially) each logical request from a client 102, and resubmit each logical request to the targeted host 108. Consequently, each logical request from a client 102 may be directed to a different host 108. [0086] Connection migrator 310 enables a connection to be initially terminated at load balancing unit 106 and then migrated such that the connection is subsequently terminated at host 108. ) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson per Darling to include wherein when the primary host application connection goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway and the new primary host application automatically connect via the message broker. This would have been advantageous as discussed above, as this would allow the modified system to provide automation for routing, providing efficiency and transparency for the subscribers. Regarding Claim 20: Johnson (as modified by Darling) teaches on the invention of Claim 19 as described. Johnson teaches on a plurality of host applications (Col 5 ln 20-24). However, Johnson is silent on teaches wherein when the edge gateway and the new primary host application automatically connect, the new primary host application subscribes to the at least some of the information published by the edge gateway and the edge gateway automatically republish at least some of the information previously published to the message broker by the edge gateway. Darling teaches wherein when the edge gateway and the new primary host application automatically connect, the new primary host application subscribes to the at least some of the information published by the edge gateway and the edge gateway automatically republish at least some of the information previously published to the message broker by the edge gateway. ([0064][0074][0082] one or more of hosts 108 may provide host status information from hosts 108 to load balancing infrastructure 106. This host status information may be application specific. Examples of such host status information are described further below and include health and/or load information, session information, etc. for hosts 108. [0085] request router 306 may terminate TCP connections, parse (perhaps partially) each logical request from a client 102, and resubmit each logical request to the targeted host 108. Consequently, each logical request from a client 102 may be directed to a different host 108. [0086] Connection migrator 310 enables a connection to be initially terminated at load balancing unit 106 and then migrated such that the connection is subsequently terminated at host 108. ) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson per Darling to include teaches wherein when the edge gateway and the new primary host application automatically connect, the new primary host application subscribes to the at least some of the information published by the edge gateway and the edge gateway automatically republish at least some of the information previously published to the message broker by the edge gateway. This would have been advantageous as discussed above, as this would allow the modified system to provide automation for routing, providing efficiency and transparency for the subscribers. Claim(s) 14 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 11,121,930 B1 (Johnson) in view of US 2020/0327371 A1 (Sharma). Regarding Claim 14: Johnson teaches on the invention of claim 1 as described. Johnson teaches on utilizing sparkplug protocol for publish/subscribe (Col 5 ln 20-24). However, Johnson is silent on wherein the protocol that is incompatible with the publish/subscribe messaging protocol of the message broker includes one or more of OPC, Modbus and BACnet. Sharma teaches, in the same field of endeavor, on an edge computing platform with machine learning capability which is provided between a local network with a plurality of sensors and a remote network, Abstract. Sharma teaches wherein the protocol that is incompatible with the publish/subscribe messaging protocol of the message broker includes one or more of OPC, Modbus and BACnet. ([0088] The components of the data ingestion layer 512 include protocol agents or brokers 520 that are connected to sensors or devices 523 that generate data, for example sensors and devices in a local network or interconnected local networks, or a combination, in an IoT environment. The agents can function as clients or brokers for protocols such as, among others, MQTT, OPC UA, Modbus, and DDS.) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Johnson per Sharma to include wherein the protocol that is incompatible with the publish/subscribe messaging protocol of the message broker includes one or more of OPC, Modbus and BACnet. This would have been advantageous as discussed above, as this would allow the modified system to provide flexibility with implementation of services by incorporating many types of message brokers. Claim(s) 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 20180167476 A1 (Hoffner) in view of US 2004/0268358 A1 (Darling). Regarding Claim 18: Hoffner teaches on the invention of Claim 17 as described. Hoffner teaches on a plurality of host applications ([0116]). However, Hoffner is silent on wherein each of the plurality of host applications includes a host application identifier, with one of the plurality of host applications identified as a primary host application, and wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. Darling teaches wherein each of the plurality of host applications includes a host application identifier, with one of the plurality of host applications identified as a primary host application, and wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. ([0064][0074][0082] one or more of hosts 108 may provide host status information from hosts 108 to load balancing infrastructure 106. This host status information may be application specific. Examples of such host status information are described further below and include health and/or load information, session information, etc. for hosts 108. [0085] request router 306 may terminate TCP connections, parse (perhaps partially) each logical request from a client 102, and resubmit each logical request to the targeted host 108. Consequently, each logical request from a client 102 may be directed to a different host 108. [0086] Connection migrator 310 enables a connection to be initially terminated at load balancing unit 106 and then migrated such that the connection is subsequently terminated at host 108. ) It would have been obvious to a person having ordinary skill in the art before the effective filing date of the claimed invention, to modify Hoffner per Darling to include wherein each of the plurality of host applications includes a host application identifier, with one of the plurality of host applications identified as a primary host application, and wherein when the host application connection state of the primary host application goes offline, another of the plurality of host applications is automatically identified as a new primary host application, and the edge gateway automatically switches to connect to the new primary host application via the message broker. This would have been advantageous as discussed above, as this would allow the modified system to provide automation for routing, providing efficiency and transparency for the subscribers. Conclusion & Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to RACHEL J HACKENBERG whose telephone number is (571)272-5417. The examiner can normally be reached 9am-5pm M-F. 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, Glenton B Burgess can be reached at (571)272-3949. 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. /RACHEL J HACKENBERG/Primary Examiner, Art Unit 2454
Read full office action

Prosecution Timeline

Sep 04, 2024
Application Filed
Feb 07, 2026
Non-Final Rejection — §101, §102, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12587464
FAULT INJECTION CONFIGURATION EQUIVALENCY TESTING
2y 5m to grant Granted Mar 24, 2026
Patent 12580819
DETERMINING SERVICE GROUP CAPACITY BASED ON AN AGGREGATE RISK METRIC
2y 5m to grant Granted Mar 17, 2026
Patent 12500823
SYSTEM AND METHOD FOR ENTERPRISE - WIDE DATA UTILIZATION TRACKING AND RISK REPORTING
2y 5m to grant Granted Dec 16, 2025
Patent 12495001
CAPACITY AWARE LOAD PACKING FOR LAYER-4 LOAD BALANCER
2y 5m to grant Granted Dec 09, 2025
Patent 12470508
RESTRICTING MESSAGE NOTIFICATIONS AND CONVERSATIONS BASED ON DEVICE TYPE, MESSAGE CATEGORY, AND TIME PERIOD
2y 5m to grant Granted Nov 11, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

1-2
Expected OA Rounds
79%
Grant Probability
99%
With Interview (+26.4%)
2y 10m
Median Time to Grant
Low
PTA Risk
Based on 300 resolved cases by this examiner. Grant probability derived from career allow 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