Prosecution Insights
Last updated: May 29, 2026
Application No. 18/808,517

Collection Of State Information By Nodes In A Cluster To Handle Cluster Management After Master-Node Failover

Non-Final OA §101§103
Filed
Aug 19, 2024
Priority
Apr 28, 2023 — continuation of 12/066,907
Examiner
SHIN, KYUNG H
Art Unit
2447
Tech Center
2400 — Computer Networks
Assignee
Netapp Inc.
OA Round
1 (Non-Final)
82%
Grant Probability
Favorable
1-2
OA Rounds
1y 2m
Est. Remaining
93%
With Interview

Examiner Intelligence

Grants 82% — above average
82%
Career Allowance Rate
795 granted / 969 resolved
+24.0% vs TC avg
Moderate +11% lift
Without
With
+10.8%
Interview Lift
resolved cases with interview
Typical timeline
2y 12m
Avg Prosecution
8 currently pending
Career history
977
Total Applications
across all art units

Statute-Specific Performance

§101
0.8%
-39.2% vs TC avg
§103
86.2%
+46.2% vs TC avg
§102
11.8%
-28.2% vs TC avg
§112
0.2%
-39.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 969 resolved cases

Office Action

§101 §103
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 . DETAILED ACTION 1. Claims 21 - 40 are pending. Claims 21, 31, 37 are independent. File date on 8-19-2024. Claim Rejections - 35 USC § 101 2. 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. 3. Claims 31 - 36 are rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter as follows. The claim(s) does/do fall within at least one of the four categories of patent eligible subject matter because Claims 31 - 36 are directed to software per se. Claims 31 - 36 are to be construed as a computer system of "software per se", unless the claim makes clear "system" includes at least one hardware inclusive component. Claim Rejections - 35 USC § 103 4. 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. 5. Claims 21 - 29 are rejected under 35 U.S.C. 103 as being unpatentable over McMillen et al. (US PGPUB No. 20130297976) in view of Martin et al. (US PGPUB No. 20210406678) and further in view of Han et al. (US PGPUB No. 20230388205). Regarding Claim 21, McMillen discloses a method for determining node states in a cluster of nodes, the method comprising: a) transmitting pings from a first node of the nodes to a second node of the nodes; (McMillen ¶ 058: If a ping message is successfully delivered as indicated by an acknowledgement message sent by the recipient, the ping message is considered a hit. If the ping message is not successfully delivered via the link, the ping message is considered a miss. In an embodiment, the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit or else the ping message is determined to be a miss.) and c) updating a local state indicator of a second-node state in response to the state machine transitioning to a failing state or to a healthy state from another of the states; (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) and d) assigning computing responsibilities based on the local state indicator. (McMillen ¶ 074: The state information about the system is provided to the executive state machine to allow the executive state machine 500 to decide the actions to be taken to reconfigure the system to work around the faulty components. The executive machine communicates with all the communication processes on all nodes with instructions indicating how the system needs to be reconfigured to work around the detected faults. A communication processor of each node receives the instructions and decides how to change the data structures at the node to reconfigure the node to communicate based on the new configuration. The reconfigured nodes communicate so as to avoid all faulty components, for example, bad links, bad switches, or bad nodes.) Furthermore, McMillen discloses wherein for b) inputting results of the pings into a state machine, wherein states of the state machine include a healthy state, a failing state. (McMillen ¶ 057: the state machine manager 260 executes the link state machine and sends requests to appropriate modules to perform actions in response to state transitions. If all links are working normally, all links are considered to be in the "Healthy" state. In an embodiment, the executive state machine 500 initializes all links state machines to the "Healthy" state 660. The executive state machine 500 ensures that a ping message is sent via each link periodically, for example, every second.; ¶ 036: if ping messages through every link to the node are failing, the fault detection module 240 concludes that the node has failed rather than links to the node.) McMillen does not explicitly disclose for b) a recovering state, and a warning state (intermediate transition states). However, Martin discloses wherein for b) a recovering state, and a warning state. (Martin ¶ 109: various intermediate states that may occur prior to a detected state or event, such as an error or failure. In the example 1400, S1 may denote a non-error, healthy or normal system state, and S2 may denote an error state, such as a major fault or malfunction state, such as when a physical drive fails. A CNN, such as CNN1 1302 and CNN 2 1310, may be trained to predict the occurrence of state S2 by detecting the intermediate states S1A low, S1B medium and S1C high each of which occur, in sequence, prior to reaching the S2 state. Thus, the foregoing sequence of intermediate states S1A, S1B and S1C may denote an increasing progression in the state of the system with respect to the state S2. Data sets may be acquired as described herein with labels corresponding to various time intervals prior to the occurrence of the error state S2,; (intermediate states: recovering state and warning start)) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for b) response indicates the second node is starting, and wherein the response is a most recent response of sequential responses indicating the second node is starting as taught by Martin. One of ordinary skill in the art would have been motivated to employ the teachings of Martin for the flexibility of a system that enables intermediate states between healthy state and failing state. (Martin ¶ 109) Specification discloses recovering state heading towards healthy state; and warning state heading towards failing state. (Specification paragraph [0035]: State machine 500 includes four possible states for a service instance (or node in examples where the state of a node as a whole is being determined): healthy state 501, failing state 502, recovering state 503, and warning state 504. States equivalent to healthy state 501 and failing state 502 have already been discussed above while recovering state 503 and warning state 504 are intermediate transition states between healthy state 501 and failing state 502. Recovering state 503 is representative of a service instance heading towards healthy state 501 but the results of pings to the service instance have not yet been what is necessary to transition to healthy state 501. Similarly, warning state 504 is representative of the service instance heading towards failing state 502. State monitor 132 may update local storage 142 whenever the state of a service instance transitions as indicated by the output of state machine 500.) McMillen does not explicitly disclose for d) in the cluster. However, Han discloses wherein for d) in the cluster. (Han ¶ 044: Generally, orchestrator 610 manages the states of service instances (e.g., containerized applications) executing within clusters 620, 630 and 640. In the present example, cluster 620 executes database server instances, cluster 630 executes data lake instances, and cluster 640 executes both OLTP server instances and replication server instances.: (clusters, service instances) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for d) wherein in the cluster as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 22, McMillen-Martin-Han discloses the method of claim 21, wherein a result of the results is responsive when a response to a ping is received from the second node and is unresponsive when the response is not received, and wherein the state machine transitions from the healthy state to: a) the warning state when the result is unresponsive. (McMillen ¶ 058: the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit or else the ping message is determined to be a miss. (unresponsive)) Furthermore, McMillen discloses a most recent response of a predefined number of sequential responses. (McMillen paragraph [0057]: the executive state machine 500 initializes all links state machines to the "Healthy" state 660. The executive state machine 500 ensures that a ping message is sent via each link periodically, for example, every second.) McMillen does not explicitly disclose for b) response indicates the second node is starting, and wherein the response is a most recent response of sequential responses indicating the second node is starting. However, Martin discloses: b) the failing state when the result is responsive, wherein the response indicates the second node is starting, and wherein the response is a most recent response of sequential responses indicating the second node is starting. (Martin ¶ 109: various intermediate states that may occur prior to a detected state or event, such as an error or failure. In the example 1400, S1 may denote a non-error, healthy or normal system state, and S2 may denote an error state, such as a major fault or malfunction state, such as when a physical drive fails. A CNN, such as CNN1 1302 and CNN 2 1310, may be trained to predict the occurrence of state S2 by detecting the intermediate states S1A low, S1B medium and S1C high each of which occur, in sequence, prior to reaching the S2 state. Thus, the foregoing sequence of intermediate states S1A, S1B and S1C may denote an increasing progression in the state of the system with respect to the state S2. Data sets may be acquired as described herein with labels corresponding to various time intervals prior to the occurrence of the error state S2,; (intermediate states: warning start and starting state)) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for b) response indicates the second node is starting, and wherein the response is a most recent response of sequential responses indicating the second node is starting as taught by Martin. One of ordinary skill in the art would have been motivated to employ the teachings of Martin for the flexibility of a system that enables intermediate states between healthy state and failing state. (Martin ¶ 109) Regarding Claim 23, McMillen-Martin-Han discloses the method of claim 22, wherein the state machine transitions from the warning state to: a) the recovering state when the result is responsive, wherein the response indicates the second node is running. (McMillen ¶ 058: the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit (responsive) or else the ping message is determined to be a miss.) Furthermore, McMillen discloses a most recent response of a predefined number of sequential responses. (McMillen paragraph [0057]: the executive state machine 500 initializes all links state machines to the "Healthy" state 660. The executive state machine 500 ensures that a ping message is sent via each link periodically, for example, every second.) McMillen does not explicitly disclose for b) wherein response indicates the second node is starting, and wherein the response is a most recent response of sequential responses indicating the second node is starting, and c) the failing state when the result is unresponsive, wherein the result is a most recent result of sequential unresponsive results while in the warning state. However, Martin discloses: b) the failing state when the result is responsive, wherein the response indicates the second node is starting, and wherein the response is a most recent response of sequential responses indicating the second node is starting; and c) the failing state when the result is unresponsive, wherein the result is a most recent result of sequential unresponsive results while in the warning state. (Martin ¶ 109: various intermediate states that may occur prior to a detected state or event, such as an error or failure. In the example 1400, S1 may denote a non-error, healthy or normal system state, and S2 may denote an error state, such as a major fault or malfunction state, such as when a physical drive fails. A CNN, such as CNN1 1302 and CNN 2 1310, may be trained to predict the occurrence of state S2 by detecting the intermediate states S1A low, S1B medium and S1C high each of which occur, in sequence, prior to reaching the S2 state. Thus, the foregoing sequence of intermediate states S1A, S1B and S1C may denote an increasing progression in the state of the system with respect to the state S2. Data sets may be acquired as described herein with labels corresponding to various time intervals prior to the occurrence of the error state S2,; (intermediate states: warning start and starting state)) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for b) wherein response indicates the second node is starting, and wherein the response is a most recent response of sequential responses indicating the second node is starting and c) the failing state when the result is unresponsive, wherein the result is a most recent result of sequential unresponsive results while in the warning state as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Martin for the flexibility of a system that enables intermediate states between healthy state and failing state. (Martin ¶ 109) Regarding Claim 24, McMillen-Martin-Han discloses the method of claim 22, wherein the state machine transitions from the recovering state to: a) the warning state when the result is unresponsive, (McMillen ¶ 058: the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit (responsive) or else the ping message is determined to be a miss.) and b) the healthy state when the result is response, wherein the response indicates the second node is running, and wherein the response is a most recent response of a predefined number of sequential responses indicating the second node is running. (McMillen ¶ 059: If the ping message is a hit, the link state machine stays in the healthy state as indicated by the arrow 601. If there are less than N misses in a row as indicated by arrow 605 the link state changes to "ping miss" 665. N is a predetermined threshold value, also called a healthy miss count indicating that up to N misses are considered healthy for the link.) Regarding Claim 25, McMillen-Martin-Han discloses the method of claim 22, wherein the state machine transitions from the failing state to: a) the recovering state when the result is responsive, wherein the response indicates the second node is running, (McMillen ¶ 058: the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit (responsive) or else the ping message is determined to be a miss.) and McMillen does not explicitly disclose for b) wherein the response indicates the respective node is running, and wherein the response immediately follows a sequence of responses indicating the second node is starting (intermediate state: starting). However, Martin discloses for b) the healthy state when the result is responsive, wherein the response indicates the respective node is running, and wherein the response immediately follows a sequence of responses indicating the second node is starting. (Martin ¶ 109: various intermediate states that may occur prior to a detected state or event, such as an error or failure. In the example 1400, S1 may denote a non-error, healthy or normal system state, and S2 may denote an error state, such as a major fault or malfunction state, such as when a physical drive fails. A CNN, such as CNN1 1302 and CNN 2 1310, may be trained to predict the occurrence of state S2 by detecting the intermediate states S1A low, S1B medium and S1C high each of which occur, in sequence, prior to reaching the S2 state. Thus, the foregoing sequence of intermediate states S1A, S1B and S1C may denote an increasing progression in the state of the system with respect to the state S2. Data sets may be acquired as described herein with labels corresponding to various time intervals prior to the occurrence of the error state S2,) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for b) wherein the response indicates the respective node is running, and wherein the response immediately follows a sequence of responses indicating the second node is starting (intermediate state: starting) as taught by Martin. One of ordinary skill in the art would have been motivated to employ the teachings of Martin for the flexibility of a system that enables intermediate states between healthy state and failing state. (Martin ¶ 109) Regarding Claim 26, McMillen-Martin-Han discloses the method of claim 21, comprising: a) maintaining additional state machines at the first node for determining states respective additional nodes of the nodes based on additional results of additional pings sent to the additional nodes; (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) b) storing, at the first node, additional local state indicators for the additional nodes as indicated by the additional state machines; (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) and c) assigning computing responsibilities in the cluster based on the additional local state indicators. (McMillen ¶ 074: The state information about the system is provided to the executive state machine to allow the executive state machine 500 to decide the actions to be taken to reconfigure the system to work around the faulty components. The executive machine communicates with all the communication processes on all nodes with instructions indicating how the system needs to be reconfigured to work around the detected faults. A communication processor of each node receives the instructions and decides how to change the data structures at the node to reconfigure the node to communicate based on the new configuration. The reconfigured nodes communicate so as to avoid all faulty components, for example, bad links, bad switches, or bad nodes.) McMillen does not explicitly disclose a cluster. However, Han discloses wherein for a cluster. (Han ¶ 044: Generally, orchestrator 610 manages the states of service instances (e.g., containerized applications) executing within clusters 620, 630 and 640. In the present example, cluster 620 executes database server instances, cluster 630 executes data lake instances, and cluster 640 executes both OLTP server instances and replication server instances.: (clusters, service instances) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for a cluster as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 27, McMillen-Martin-Han discloses the method of claim 21, wherein: a) transmitting the pings comprises transmitting the pings to an instance of a service executing on the second node, wherein the first node executes another instance of the service, and wherein the local state indicator indicates a state of the instance of the service indicated by the state machine; (McMillen ¶ 058: If a ping message is successfully delivered as indicated by an acknowledgement message sent by the recipient, the ping message is considered a hit. If the ping message is not successfully delivered via the link, the ping message is considered a miss. In an embodiment, the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit or else the ping message is determined to be a miss.) and b) assigning the computing responsibilities comprises directing network traffic for the service between instances of the service based on the local state indicator. (McMillen ¶ 0070: When the reconfiguration is completed, the link in the bad link state 685 is transitioned 645 to the deconfigured state 675. All links that are in frozen healthy state 670 are transitioned 618 to the healthy state 660 after the system is thawed or unfrozen. The executive state machine 500 thaws the system by sending a message to each node that is not faulty to begin sending and receiving messages of the application that is executing on the parallel system.) Regarding Claim 28, McMillen-Martin-Han discloses the method of claim 27, comprising: a) transmitting second pings to an instance of a second service executing on the second node, wherein the first node executes another instance of the second service; (McMillen ¶ 058: If a ping message is successfully delivered as indicated by an acknowledgement message sent by the recipient, the ping message is considered a hit. If the ping message is not successfully delivered via the link, the ping message is considered a miss. In an embodiment, the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit or else the ping message is determined to be a miss.) b) updating a second local state indicator based on output of a second state machine when fed second results of the second pings; (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) and c) directing second network traffic for the second service between instances of the second service based on the second local state indicator. (McMillen ¶ 074: The state information about the system is provided to the executive state machine to allow the executive state machine 500 to decide the actions to be taken to reconfigure the system to work around the faulty components. The executive machine communicates with all the communication processes on all nodes with instructions indicating how the system needs to be reconfigured to work around the detected faults. A communication processor of each node receives the instructions and decides how to change the data structures at the node to reconfigure the node to communicate based on the new configuration. The reconfigured nodes communicate so as to avoid all faulty components, for example, bad links, bad switches, or bad nodes.; (reconfigure components to bypass failed or failing components based upon state information)) Regarding Claim 29, McMillen-Martin-Han discloses the method of claim 21, wherein assigning the computing responsibilities of the cluster comprises: a) updating a state database for the cluster to indicate a state of the first node indicated by the local state indicator; (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) and in a master node of the cluster: b) reading node states from the state database; and c) designating one or more of the responsibilities to the first node based on the node states. (McMillen ¶ 074: The state information about the system is provided to the executive state machine to allow the executive state machine 500 to decide the actions to be taken to reconfigure the system to work around the faulty components. The executive machine communicates with all the communication processes on all nodes with instructions indicating how the system needs to be reconfigured to work around the detected faults. A communication processor of each node receives the instructions and decides how to change the data structures at the node to reconfigure the node to communicate based on the new configuration. The reconfigured nodes communicate so as to avoid all faulty components, for example, bad links, bad switches, or bad nodes.) McMillen does not explicitly disclose for the cluster. However, Han discloses wherein for the cluster. (Han ¶ 044: Generally, orchestrator 610 manages the states of service instances (e.g., containerized applications) executing within clusters 620, 630 and 640. In the present example, cluster 620 executes database server instances, cluster 630 executes data lake instances, and cluster 640 executes both OLTP server instances and replication server instances.: (clusters, service instances) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for the cluster as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) 6. Claims 31 - 35 are rejected under 35 U.S.C. 103 as being unpatentable over McMillen et al. (US PGPUB No. 20130297976) in view of Han et al. (US PGPUB No. 20230388205). Regarding Claim 31, McMillen discloses a system for determining node states in a cluster of nodes, the system comprising: a first node of the cluster configured to: a) transmit pings to other nodes in the cluster; (McMillen ¶ 058: If a ping message is successfully delivered as indicated by an acknowledgement message sent by the recipient, the ping message is considered a hit. If the ping message is not successfully delivered via the link, the ping message is considered a miss. In an embodiment, the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit or else the ping message is determined to be a miss.) b) feed ping results associated with respective nodes of the other nodes into instances of a state machine corresponding to each of the respective nodes, wherein the state machine includes a failing state, a healthy state, and at least one intermediate state between the failing state and the healthy state; (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) and c) update local state indicators for the respective nodes based on output from the instances of the state machine; (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) and the other nodes configured to: d) receive the pings; and e) transmit responses to at least a portion of the pings, wherein the responses determine the ping results. (McMillen ¶ 034: The communication module 220 enforces the communication protocols of the system to ensure that each packet gets retransmitted until the recipient sends an acknowledgement message (transmit response) indicating that the recipient successfully received the message (receive the ping)) McMillen does not explicitly disclose for the cluster of nodes. However, Han discloses wherein for the cluster of nodes. (Han ¶ 044: Generally, orchestrator 610 manages the states of service instances (e.g., containerized applications) executing within clusters 620, 630 and 640. In the present example, cluster 620 executes database server instances, cluster 630 executes data lake instances, and cluster 640 executes both OLTP server instances and replication server instances.: (clusters, service instances) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for the cluster of nodes as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 32, McMillen-Han discloses the system of claim 31, wherein to update the local state indicators, the first node is configured to: c) update the local state indicators with the output when the output transitions to the failing state or the healthy state. (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) McMillen does not explicitly disclose a) ignore the output when the state does not transition from a previous output, and for b) ignore the output when the state transitions to the at least one intermediate state. However, Han discloses: a) ignore the output when the state does not transition from a previous output; b) ignore the output when the state transitions to the at least one intermediate state. (Han ¶ 031: a service instance according to some embodiments. As shown, a request may be received to provision an instance prior to process 300. Such a request generates metadata which associates the CREATING state with the new service instance. This state transitions to the STARTING state (which results in updating of the associated metadata) until the service instance reaches the RUNNING state. From the RUNNING state, lifecycle events may occur which cause the service instance to transition through the DELETING state to the DELETED state, or from the STOPPING state to the STOPPED state. In addition, the service instance may transition from the STOPPED state through the STARTING state to the RUNNING state, or from the STOPPED state through the DELETING state to the DELETED state. All state changes may be reflected in the metadata (e.g., 142, 242) associated with the service instance and maintained by the orchestrator.; (ignore messages until transitioning to final state, intermediate starting state until final running state)) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for a) ignore the output when the state does not transition from a previous output, and for b) ignore the output when the state transitions to the at least one intermediate state as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 33, McMillen-Han discloses the system of claim 31. McMillen does not explicitly disclose at least one transition of the state machine occurs after more than one sequential result of a given type. However, Han discloses wherein at least one transition of the state machine occurs after more than one sequential result of a given type. (Han ¶ 031: a service instance according to some embodiments. As shown, a request may be received to provision an instance prior to process 300. Such a request generates metadata which associates the CREATING state with the new service instance. This state transitions to the STARTING state (which results in updating of the associated metadata) until the service instance reaches the RUNNING state. From the RUNNING state, lifecycle events may occur which cause the service instance to transition through the DELETING state to the DELETED state, or from the STOPPING state to the STOPPED state. In addition, the service instance may transition from the STOPPED state through the STARTING state to the RUNNING state, or from the STOPPED state through the DELETING state to the DELETED state. All state changes may be reflected in the metadata (e.g., 142, 242) associated with the service instance and maintained by the orchestrator.; (ignore messages until transitioning to final state, intermediate starting state until final running state)) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for at least one transition of the state machine occurs after more than one sequential result of a given type as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 34, McMillen-Han discloses the system of claim 31. McMillen does not explicitly disclose the state machine includes one or more transitions between the healthy state and the failing state, one or more transitions between the healthy state and the at least one intermediate state, one or more transitions between the failing state and the at least one intermediate state, and one or more transitions between the at least one intermediate state. However, Han discloses wherein the state machine includes one or more transitions between the healthy state and the failing state, one or more transitions between the healthy state and the at least one intermediate state, one or more transitions between the failing state and the at least one intermediate state, and one or more transitions between the at least one intermediate state. (Han ¶ 031: a service instance according to some embodiments. As shown, a request may be received to provision an instance prior to process 300. Such a request generates metadata which associates the CREATING state with the new service instance. This state transitions to the STARTING state (which results in updating of the associated metadata) until the service instance reaches the RUNNING state. From the RUNNING state, lifecycle events may occur which cause the service instance to transition through the DELETING state to the DELETED state, or from the STOPPING state to the STOPPED state. In addition, the service instance may transition from the STOPPED state through the STARTING state to the RUNNING state, or from the STOPPED state through the DELETING state to the DELETED state. All state changes may be reflected in the metadata (e.g., 142, 242) associated with the service instance and maintained by the orchestrator.) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for the state machine includes one or more transitions between the healthy state and the failing state, one or more transitions between the healthy state and the at least one intermediate state, one or more transitions between the failing state and the at least one intermediate state, and one or more transitions between the at least one intermediate state as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 35, McMillen-Han discloses the system of claim 31, wherein the ping results indicate whether responses to the pings were received. (McMillen ¶ 058: If a ping message is successfully delivered as indicated by an acknowledgement message sent by the recipient, the ping message is considered a hit. If the ping message is not successfully delivered via the link, the ping message is considered a miss. In an embodiment, the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit or else the ping message is determined to be a miss.) McMillen does not explicitly disclose the responses that are received each indicate a node status including running and starting. However, Han discloses wherein the responses that are received each indicate a node status including running and starting. (Han ¶ 031: a service instance according to some embodiments. As shown, a request may be received to provision an instance prior to process 300. Such a request generates metadata which associates the CREATING state with the new service instance. This state transitions to the STARTING state (which results in updating of the associated metadata) until the service instance reaches the RUNNING state. From the RUNNING state, lifecycle events may occur which cause the service instance to transition through the DELETING state to the DELETED state, or from the STOPPING state to the STOPPED state. In addition, the service instance may transition from the STOPPED state through the STARTING state to the RUNNING state, or from the STOPPED state through the DELETING state to the DELETED state. All state changes may be reflected in the metadata (e.g., 142, 242) associated with the service instance and maintained by the orchestrator.) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for the responses that are received each indicate a node status including running and starting as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) 7. Claims 37, 39, 40 are rejected under 35 U.S.C. 103 as being unpatentable over McMillen et al. (US PGPUB No. 20130297976) in view of Yu et al. (US PGPUB No. 20190050872) and further in view of Han et al. (US PGPUB No. 20230388205). Regarding Claim 37, McMillen discloses one or more computer-readable storage media having program instructions stored thereon for determining node states in a cluster of nodes, the program instructions, when read and executed by a processing system, direct the processing systems to: a) receive health information about service instances executing on a plurality of nodes in a computing cluster to provide a service; (McMillen ¶ 058: If a ping message is successfully delivered as indicated by an acknowledgement message sent by the recipient, the ping message is considered a hit. If the ping message is not successfully delivered via the link, the ping message is considered a miss. In an embodiment, the leader node sends the ping message and waits for a particular time interval to decide whether it receives an acknowledgement back or not. If it receives the acknowledgement back within the threshold time period, the ping message is determined to be a hit or else the ping message is determined to be a miss.) and b) feeding the health information into state machine instances corresponding to respective ones of the service instances, wherein the state machine instances are instances of a state machine having states indicating a service instance is in a failing state and a healthy state. (McMillen ¶ 056: The executive state machine 500 also updates the states of various other machines, for example, when the system is reconfigured, the states of the switch state machines and node state machines may be updated.; ¶ 071: the state machine manager 260 executing on the leader node maintains the states of all links in a two dimensional array, such that the (i,j).sup.th element of the two dimensional array keeps track of the state of the (i, j).sup.th link. In other embodiments, the state of the links may be stored in a one dimensional array of size S.times.N elements such that the (i,j).sup.th link state is mapped to a unique element of the one dimensional array.) McMillen does not explicitly disclose for c) reassigning tasks for the service from failing instances of the service instances indicated by the state machine instances to healthy instances of the service instances. However, Yu discloses: c) reassigning tasks for the service from failing instances of the service instances indicated by the state machine instances to healthy instances of the service instances indicated by the state machine instances. (Yu ¶ 039: MapReduce may achieve fault tolerance by detecting failures and reassigning tasks of failed nodes to other healthy nodes in the cluster.) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for reassigning tasks for the service from failing instances of the service instances indicated by the state machine instances to healthy instances of the service instances as taught by Yu. One of ordinary skill in the art would have been motivated to employ the teachings of Yu for the flexibility of a system that enables reassigning tasks from failed instances to currently functioning instances. (Yu ¶ 039) McMillen does not explicitly disclose a computing cluster. However, Han discloses wherein for d) in the cluster. (Han ¶ 044: Generally, orchestrator 610 manages the states of service instances (e.g., containerized applications) executing within clusters 620, 630 and 640. In the present example, cluster 620 executes database server instances, cluster 630 executes data lake instances, and cluster 640 executes both OLTP server instances and replication server instances.: (clusters, service instances) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for a computer cluster as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 39, McMillen-Yu-Han discloses the one or more computer-readable storage media of claim 37. McMillen discloses sequential portions of health information indicating a service instance of the service instances is starting. However, Han discloses wherein the state machine transitions from the healthy state to the failing state in response to sequential portions of health information indicating a service instance of the service instances is starting. (Han ¶ 044: a service instance according to some embodiments. As shown, a request may be received to provision an instance prior to process 300. Such a request generates metadata which associates the CREATING state with the new service instance. This state transitions to the STARTING state (which results in updating of the associated metadata) until the service instance reaches the RUNNING state. From the RUNNING state, lifecycle events may occur which cause the service instance to transition through the DELETING state to the DELETED state, or from the STOPPING state to the STOPPED state. In addition, the service instance may transition from the STOPPED state through the STARTING state to the RUNNING state, or from the STOPPED state through the DELETING state to the DELETED state. All state changes may be reflected in the metadata (e.g., 142, 242) associated with the service instance and maintained by the orchestrator.; (instance in starting state (intermediate state))) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for sequential portions of health information indicating a service instance of the service instances is starting as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) Regarding Claim 40, McMillen-Yu-Han discloses the one or more computer-readable storage media of claim 37, wherein the program instructions direct the processing system to: update a distributed state database to identify the failing instances, wherein the cluster reads the state database to assign other tasks for the service. (McMillen ¶ 074: The state information about the system is provided to the executive state machine to allow the executive state machine 500 to decide the actions to be taken to reconfigure the system to work around the faulty components. The executive machine communicates with all the communication processes on all nodes with instructions indicating how the system needs to be reconfigured to work around the detected faults. A communication processor of each node receives the instructions and decides how to change the data structures at the node to reconfigure the node to communicate based on the new configuration. The reconfigured nodes communicate so as to avoid all faulty components, for example, bad links, bad switches, or bad nodes.) 8. Claim 30 is rejected under 35 U.S.C. 103 as being unpatentable over McMillen in view of Martin and further in view of Han and Cheng et al. (US PGPUB No. 20050237926). Regarding Claim 30, McMillen-Martin-Han discloses the method of claim 29. McMillen does not explicitly disclose for a) detecting master node failure in the cluster, and for b) before updating the state database, electing the first node to be the master node. However, Cheng discloses: a) detecting master node failure in the cluster; (Cheng ¶ 032: the master node sends periodic heartbeats to each of the slave nodes for letting the slave nodes be aware of the existence of the master node, and detecting if the salve nodes have errors and have no response. When the heartbeats stop being sent out for three successive occasions (the master node may have errors at this time), each of the salve nodes starts making an inquiry to detect if the master node is still available. If no response is returned for the inquiry for three successive tries, it can be concluded that the master node is failed.) and b) before updating the state database, electing the first node to be the master node. (Cheng ¶ 035: In the node-detection step, after users activate the cluster service of some node, this node will become a master node if it is the first node activated in a group of the cluster environment. Thereafter, all the subsequent nodes starting their cluster services are assigned to be slave nodes. Following node assignment, the master node periodically informs all of the slave nodes that "I am alive!" via a heartbeat mechanism, and meanwhile checks whether an acknowledgement response is returned normally from each of the slave nodes.; ¶ 036: When the master is broken and fails to send out heartbeats, the slave nodes activated will execute a "Reconfigure" instruction to select a new master node. Then, the new master node selects at least one healthy node (the new master node or other slave nodes), and then transfers all the services originally provided in the failed slave node to the healthy node for providing continuous services.; ¶ 043: the node 23 desired to invoke its application is notified (step 112). The node 23 uses an application 73's name transmitted thereto and a method of calling OS API to invoke an application 73 (step 113), after receiving the notification of activating its application. After the application 73 is successfully activated, the node 23 updates the execution state of the application 73 in the database 50 to "Up" (step 114). Then, the node 23 calls the rest of the activated nodes to change the execution state of the application 73 to "Up" (step 115). Thereafter, the node 23 starts detecting the status of the application 73 and generating a related report (step 116).) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for a) detecting master node failure in the cluster, and for b) before updating the state database, electing the first node to be the master node as taught by Cheng. One of ordinary skill in the art would have been motivated to employ the teachings of Cheng for the flexibility of system that employs a systematic approach in the recovery from a master node failure and recovery of state information. (Cheng ¶ 032; ¶ 035; ¶ 036; ¶ 043) McMillen does not explicitly disclose for d) in the cluster. However, Han discloses wherein for d) in the cluster. (Han ¶ 044: Generally, orchestrator 610 manages the states of service instances (e.g., containerized applications) executing within clusters 620, 630 and 640. In the present example, cluster 620 executes database server instances, cluster 630 executes data lake instances, and cluster 640 executes both OLTP server instances and replication server instances.: (clusters, service instances) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for d) wherein in the cluster as taught by Han. One of ordinary skill in the art would have been motivated to employ the teachings of Han for the flexibility of a system that enables the processing of groupings of service instances such as clusters. (Han ¶ 044) 9. Claim 36 is rejected under 35 U.S.C. 103 as being unpatentable over McMillen in view of Han and further in view of Mulam et al. (US PGPUB No. 20230198830). Regarding Claim 36, McMillen-Han discloses the system of claim 31, comprising: the first node configured to perform operations. McMillen does not explicitly disclose for a) identifying a healthy node of the other nodes, and for b) reassigning a network address of the failed node to the healthy node. However, Mulam discloses: a) when a state indicator of the local state indicators indicates a failed node of the other nodes, identifying a healthy node of the other nodes; and b) reassigning a network address of the failed node to the healthy node. (Mulam ¶ 010: Node failures are immediately acted upon by reassigning the IP address of the failed node to one of the other functioning nodes.) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for a) identifying a healthy node of the other nodes, and for b) reassigning a network address of the failed node to the healthy nodes as taught by Mulam. One of ordinary skill in the art would have been motivated to employ the teachings of Mulam for the flexibility of a system that enables the reassignment of an address from a failed instance to a functioning instance. (Mulam ¶ 010) 10. Claim 38 is rejected under 35 U.S.C. 103 as being unpatentable over McMillen in view of Yu and further in view of Han and Mulam. Regarding Claim 38, McMillen-Yu-Han discloses the one or more computer-readable storage media of claim 37, wherein to reassign the tasks, the program instructions direct the processing system to perform operations. McMillen does not explicitly disclose for a) identifying network addresses used to direct network traffic for service to the failing instances, and for b) reassigning network address to the healthy instances (functioning instance). However, Mulam discloses: a) identifying network addresses used to direct network traffic for the service to the failing instances; and b) reassigning the network address to the healthy instances. (Mulam ¶ 010: Node failures are immediately acted upon by reassigning the IP address of the failed node to one of the other functioning nodes.) It would have been obvious to one of ordinary skill in the art, before the effective filing date of the claimed invention, to modify McMillen for a) identifying network addresses used to direct network traffic for service to the failing instances, and for b) reassigning network address to the healthy instances (functioning instance) as taught by Mulam. One of ordinary skill in the art would have been motivated to employ the teachings of Mulam for the flexibility of a system that enables the reassignment of an address from a failed instance to a functioning instance. (Mulam ¶ 010) Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to Kyung H Shin whose telephone number is (571)272-3920. The examiner can normally be reached M - F: 12pm - 8pm. 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, Joon H Hwang can be reached at 571-272-4036. 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. /KYUNG H SHIN/ 5-6-2026Primary Examiner, Art Unit 2447
Read full office action

Prosecution Timeline

Aug 19, 2024
Application Filed
Mar 13, 2026
Examiner Interview (Telephonic)
May 11, 2026
Non-Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12641063
SYSTEM AND METHOD FOR DYNAMICALLY ENCRYPTING NETWORK-BASED INTERACTIONS BASED ON EVALUATED INFRASTRUCTURE SECURITY
2y 4m to grant Granted May 26, 2026
Patent 12641112
PROACTIVELY DETECTING MALICIOUS DOMAINS USING GRAPH REPRESENTATION LEARNING
2y 2m to grant Granted May 26, 2026
Patent 12619935
SYSTEMS AND METHODS FOR SYSTEM COLLUSION DETECTION
2y 3m to grant Granted May 05, 2026
Patent 12621174
DATA SECURITY FOR NETWORKS COMBINING ENCRYPTION WITH ERROR CORRECTION
2y 8m to grant Granted May 05, 2026
Patent 12615555
METHOD AND APPARATUS FOR PERFORMING QOE MANAGEMENT BASED ON AI MODEL IN A WIRELESS COMMUNICATION SYSTEM
2y 5m to grant Granted Apr 28, 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

1-2
Expected OA Rounds
82%
Grant Probability
93%
With Interview (+10.8%)
2y 12m (~1y 2m remaining)
Median Time to Grant
Low
PTA Risk
Based on 969 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