DETAILED ACTION
Status of Claims
This action is in reply to the communication filed on 12/31/2025.
Claim 18 has been amended.
Claim 21 has been added.
Claim 19 has been canceled.
Claims 1-18, 20, and 21 are currently pending and have been examined.
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 .
Response to Arguments
The terminal disclaimer identifying US Patent 11782934 filed 12/31/2025 is acknowledged and the rejections under double patenting have accordingly been withdrawn.
Applicant’s arguments filed 12/31/2025 with respect to the rejections under 35 USC § 103 have been considered but are not persuasive.
On pg. 9-10 of the Remarks, Applicant essentially argues (emphasis original):
For example, claim 1 recites "classifying, using at least one first artificial intelligence-based process, load distributions of the transactions ... " and "determining, using at least one second artificial intelligence-based process, a respective one of the plurality of monitoring nodes." The Office Action …cites Chauhan. Specifically, the Office Action interprets Chauhan's "conversion module 202" (and the resulting "converted data 208") to claim 1's first artificial intelligence-based process. (See Office Action, page 25). The Office Action then interprets Chauhan's "prediction module" as being analogous to claim 1's second artificial intelligence-based process. Applicant respectfully disagrees. Chauhan does not describe or suggest two distinct artificial intelligence-based processes, as Chauhan's conversion module 202 merely performs a data formatting process…Chauhan' s conversion module 202 merely restructures data (e.g., array reshaping) to make it compatible with a downstream model. This is a pre-processing formatting operation, not an artificial intelligence-based classification process…The machine learning model corresponding to the model module 204 is relied on as being analogous to the second artificial intelligence-based process and cannot also be cited as disclosing claim 1's first artificial intelligence-based process...Chauhan does not disclose or suggest two distinct artificial intelligence-based processes (specifically, a first one for classifying load distributions and a second one for determining the node to be used as the primary monitoring role”
Examiner respectfully disagrees the cited portions of Chauhan fail to meet the limitations as written. In both its general usage and in the context of AI1, “classifying” broadly refers to the act of placing items into groups/categories. Chauhan’s conversion module organizes the collected load measurements into day of week, time of day groups, which is reasonably interpreted as teaching claim 1’s “classifying” in view of the description in Applicant’s Specification (“The load can then be classified based on time” (AppSpec pg. 15, li. 1)), and in the scope of the limitation which provides no indication as to what the classes are. That the conversion is pre-processing necessary for the machine-learning predictor (for the model to be able to “predict processing unit utilization at the computing cluster…during the sixth day of the following week” (Chauhan ¶0028) the training samples need to be grouped by day) does not preclude it from teaching the limitation; Applicant’s “classifying” can be similarly characterized as pre-processing for the “second artificial intelligence-based process”.
Furthermore, Examiner maintains that Chauhan’s conversion constitutes an “artificial intelligence-based process”. The conversion simulates a human understanding of a 7-day week and 24-hour day and accordingly falls under the large and ill-defined2 genus of “Artificial Intelligence”. AppSpec does not provide any explicit definition or other description to limit or characterize the scope of an artificial intelligence-based process, and Applicant’s arguments do not indicate what characteristic(s) are required to qualify as an “artificial intelligence-based process” that Chauhan’s conversion process lacks.
On pg. 9-10 of the Remarks, Applicant essentially argues (emphasis original):
The cited references also fail to disclose or suggest using a second artificial intelligence-based process to determine a respective one of the plurality of monitoring nodes to be used as the primary monitoring role… Chauhan merely uses its machine learning model to predict CPU utilization for the purpose of load balancing via network traffic routing…even assuming arguendo that Saxena teaches transferring a "provisioning server" role, it would not be obvious to a person of ordinary skill in the art on why or how Chauhan' s load-balancing machine learning model would be modified to select a primary monitoring node. Again, Chauhan's machine learning model output (i.e., utilization prediction) is used to change a routing protocol, not to select a node or server (e.g., the primary server of Saxena). The Office Action provides no explanation as to how or why a person of ordinary skill would modify Chauhan' s utilization prediction to control assignment of monitoring roles.
Examiner respectfully disagrees the combination of Saxena in view of Chauhan fails to teach the limitation. Saxena is the primary reference relied upon for determining a primary node by selecting a node in a geographical region of a business density cluster, but does so using detection rules and comparing current utilization values to thresholds, and not specifically an AI based process; 0053: “detecting the shift in the business density based on the predefined business rules to define and activate a new node-provisioning server in revised geo-spatial density as the master; (v) providing an ability to ensures that all constraints are satisfied in the specification of the new master including identifying the edges, deriving the capacity required for the master provisioning by taking into consideration bandwidth available, previous migration time and workload size’.
Chauhan discloses a method of developing a machine learning model to predict resource utilization at the computing clusters during future periods of time, the application of such predictions are not limited to the exemplary use case of load balancing; e.g. Chauhan 0028 describes displaying the analysis results: “In this example, the prediction module 110 leverages predictions generated by the trained long short-term memory model to generate indications 122, 124 which are displayed in a user interface 126 of the display device 106. As shown, indication 122 states “Computing Cluster 116 will be over-utilized during hours 7-15 of day 6 next week” and indication 124 states “Computing Cluster 118 will be under-utilized during hours 1-14 of day 6 next week.”
Either/both of Saxena’s shift detection and node constraint checking would benefit from Chauhan’s predictive analysis and described in pg. 27 of the Office Action and Examiner maintains the
Applicant's arguments filed 12/31/2025 with respect to the rejections under 35 USC § 101 have been fully considered but they are not persuasive.
On pg. 12 of the Remarks, Applicant essentially argues:
“The August 4, 2025 USPTO Memorandum from Deputy Commissioner Charles Kim ("Reminders on Evaluating Subject Matter Eligibility of Claims Under 35 U.S.C. §101"; hereinafter "USPTO Memo") explicitly clarifies that a claim does not recite a mental process when it contains limitations that cannot practically be performed in the human mind, for instance, when the human mind is not equipped to perform the claim limitations. The Memo explicitly notes that "Claim limitations that encompass AI in a way that cannot be practically performed in the human mind do not fall within this grouping," (see page 2).
Claim 1 recites classifying, using at least one first artificial intelligence-based process, load distributions based at least in part on the time-series data. Claim 1 also includes determining a monitoring node for at least a portion of one or more time intervals and controlling transitions based on those determinations. The volume and complexity of time-series data related to transactions across a distributed system (as recited in claim 1) renders it impossible for a human to practically perform these steps…By characterizing these complex, artificial intelligence-based network management operations as mere mental steps, the Office Action improperly expands the mental process grouping in direct contradiction to the USPTO Memo.”
Examiner respectfully disagrees. The claims do not present any explicit or implicit requirement concerning the “volume and complexity of time-series data”; much less a requirement that “renders it impossible for a human to practically perform” the steps of ‘classifying’ and/or ‘determining’. Examiner maintains historical time-based load information can be practically comprehended and analyzed in the human mind. The rejection does not contradict the “USPTO Memo” because appending the phrase ‘using at least one artificial intelligence-based process’ to a mental step does not “encompass AI in a way that cannot be practically performed in the human mind”.
On pg. 12-13 of the Remarks, Applicant essentially argues:
“The specification explicitly identifies a technical problem in the art where conventional distributed systems generally implement monitors where one only takes over if the other fails. This reactive approach often leads to a scenario where the active monitor remains in a region with high latency relative to the current high-load cluster, negatively impacting system performance (see, e.g., page 4, lines 4-11 ).
Claim 1 provides a specific technical solution to at least this problem by using artificial intelligence-based processes to proactively determine which node should have the primary monitoring role for specific time intervals.”…Claim 1 improves the functioning of the computer system by enabling monitoring roles to be proactively changed based on varying traffic loads across different regions rather than waiting for a failure event (see, e.g., page 2, lines 1-5 of the present specification). The USPTO Memo instructs Examiners to determine if a claim covers a "particular solution to a problem or a particular way to achieve a desired outcome," (see page 4). Claim 1 does not merely claim the idea of monitoring but recites a particular, proactive, artificial intelligence-driven mechanism for dynamically assigning monitoring roles to reduce latency. This is a specific technological solution to the technological problem of latency in distributed systems, which also prevents race conditions (see, e.g., the paragraph beginning on page 3, line 22)…Page 12 of the Office Action alleges that these steps are "Well-Understood, Routine, and Conventional (WURC)." However, the specification makes clear that conventional techniques are reactive (e.g., based on failover), whereas the claimed invention is proactive”.
Applicant refers the technical problem described in at least pg. 2 and 4 of AppSpec, however Examiner respectfully disagrees that the limitations as written capture the improvement suggested above ("The claim must be evaluated to ensure the claim itself reflects the disclosed improvement in technology... the claim must include the components or steps of the invention that provide the improvement described in the specification” MPEP 2106.05(a)).
That is, Applicant argues “Claim 1 improves the functioning of the computer system by enabling monitoring roles to be proactively changed based on varying traffic loads across different regions rather than waiting for a failure event”; but claim 1 merely recites “controlling transitions of the primary monitoring role between the plurality of monitoring nodes for the one or more time intervals” without any suggestion of what triggers the recited transitions, and can be reasonably construed as describing either a ‘proactive’ role transition or a ‘reactive’ transition. A claim whose breadth covers both the particular solution and the conventional mode of operation described in the Specification fails to properly reflect the disclosed improvement in technology.
Furthermore, the mere act of proactively transitioning the monitoring role alone is insufficient to capture the solution/improvement described in AppSpec pg. 4; it also requires a mechanism to identify an optimal location for primary node to provide disclosed improvement in technology. The mere qualification that the determining the primary node is “based at least in part on one or more results of the classifying” load distributions into unspecified classes does not capture the specific technological solution to the technological problem described in AppSpec (see "USPTO Memo", pg. 4; MPEP 2106.05(a))).
On pg. 14-15 of the Remarks, Applicant essentially argues:
Claim 21 also integrates the judicial exception into a practical application under Step 2A, Prong Two by reciting a specific technical mechanism for the role transition. While conventional systems reactively wait for a heartbeat failure (implying a crash), claim 21 proactively causes a first node to stop sending heartbeats and a second node to start. This provides a specific technological solution to the problem of coordinating distributed nodes, preventing race conditions and ensuring a clean transfer of the primary role without waiting for a timeout event (see, e.g., page 4, lines 1-3).
Finally, the additional features of claim 21 amount to significantly more than any alleged. Conventional heartbeat mechanisms are typically passive "keep-alive" signals used for failure detection. Proactively shifting the primary monitoring role based on an artificial intelligence-based analysis represents significantly more than any alleged abstract idea.
Examiner respectfully disagrees the limitations 21 integrates the abstract idea into a practical application and/or amount to significantly more than the abstract idea. The limitations are recited at such a high level of generality as to recite only the idea of a solution or outcome and amount to no more than a recitation of the words “apply it” (or an equivalent) or mere instructions to implement an abstract idea or other exception on a computer:
“Another consideration when determining whether a claim integrates a judicial exception into a practical application in Step 2A Prong Two is whether the additional elements amount to more than a recitation of the words “apply it” (or an equivalent) or mere instructions to implement an abstract idea or other exception on a computer…examiners may consider the following…Whether the claim recites only the idea of a solution or outcome, i.e., the claim fails to recite details of how a solution to a problem is accomplished, or the claim covers a particular solution to a problem or a particular way to achieve a desired outcome.” (USPTO Memo", pg. 4)
“The recitation of claim limitations that attempt to cover any solution to an identified problem with no restriction on how the result is accomplished and no description of the mechanism for accomplishing the result, does not integrate a judicial exception into a practical application or provide significantly more because this type of recitation is equivalent to the words "apply it". (MPEP 2106.05(f)).
Furthermore, similarly as described in the response to arguments for claim 1 above, the limitations occur as part of either/both the ‘proactive’ and/or the ‘reactive’ transition process and accordingly do not distinguish from the conventional implementation. Applicant argues: “This provides a specific technological solution to the problem of coordinating distributed nodes, preventing race conditions” citing AppSpec page 4, lines 1-3 which briefly describes “If there are multiple “active” monitors, then a race condition can occur”, but there is no suggestion of the ‘proactive’ monitor transition being a solution to the problem nor would a person of ordinary skill in the art recognize it as such (briefly, the solution to ‘race condition’ problem relates to the ‘monitor ranking’ implementation as detailed in the related application 17/573,141 cited at AppSpec pg. 10 (now patent 11782934 ).
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.
Claims 1-18, 20, and 21 are rejected under 35 U.S.C. 101 because the claimed invention recites a judicial exception, is directed to that judicial exception, an abstract idea, as it has not been integrated into practical application and the claims further do not recite significantly more than the judicial exception. Examiner has evaluated the claims under the framework provided in the 2019 Patent Eligibility Guidance published in the Federal Register 01/07/2019 and has provided such analysis below.
Step 1: Claims 1-8 are directed to computer-implemented methods and fall within the statutory category of processes; claims 9-14 are directed to non-transitory processor-readable storage media and fall within the statutory category of articles of manufacture; claims 15-20 are directed to apparatuses and fall within the statutory category of machines. Therefore, “Are the claims to a process, machine, manufacture or composition of matter?” Yes.
In order to evaluate the Step 2A inquiry “Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?” we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon or an abstract idea and further whether the claim recites additional elements that integrate the judicial exception into a practical application.
Step 2A Prong 1:
Claims 1, 9, and 15: The limitations of “classifying, using at least one first artificial intelligence-based process, load distributions of the transactions across the plurality of system nodes based at least in part on the time-series data;”, “determining, using at least one second artificial intelligence-based process, a respective one of the plurality of monitoring nodes to be used as the primary monitoring role for at least a portion of one or more time intervals based at least in part on one or more results of the classifying;”, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about, judge, and evaluate classifying load distributions in a distributed environment, as a person can group together load data points that are similar or have the least variance. Further, a person can think about, judge, and evaluate determining a specific node from the nodes to operate in the primary monitoring role, where the determination is informed by the classifying, as a person can make an informed determination in selecting a node to transition the primary monitor role to.
Therefore, Yes, claims 1, 9, and 15 recite judicial exceptions.
The claims have been identified to recite judicial exceptions, Step 2A Prong 2 will evaluate whether the claims are directed to the judicial exception.
Step 2A Prong 2:
Claims 1, 9, and 15: The judicial exception is not integrated into a practical application. In particular, the claims recite the following additional elements – “the distributed system comprises a plurality of monitoring nodes, wherein a respective one of the plurality of monitoring nodes has a primary monitoring role responsible for monitoring operation of the plurality of system nodes” (claims 1, 9, and 15), “first artificial intelligence-based process” (claims 1, 9, and 15), “second artificial intelligence-based process” (claims 1, 9, and 15), “at least one processing device comprising a processor coupled to a memory” (claims 1 and 15), and “A non-transitory processor-readable storage medium having stored therein program code of one or more software programs” (claim 9) which is merely a recitation of a field of use/technological environment (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. Further, the claims recite “wherein the program code when executed by at least one processing device causes the at least one processing device” (claim 9) which is merely using a computer as a tool to apply the abstract idea (see MPEP § 2106.05(f)) which does not integrate a judicial exception into practical application. Further still, the claims recite “obtaining time-series data related to transactions of a plurality of system nodes in a distributed system” (claims 1, 9, and 15), “controlling transitions of the primary monitoring role between the plurality of monitoring nodes for the one or more time intervals based at least in part on one or more results of the determining” (claims 1, 9, and 15), which is merely insignificant extra-solution data gathering and data transmission activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application. Examiner notes that these elements held to be merely insignificant extra-solution data gathering will be addressed below in Step 2B as further being Well-Understood, Routine, and Conventional (WURC).
Therefore, “Do the claims recite additional elements that integrate the judicial exception into a practical application? No, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claim is directed to an abstract idea.
After having evaluating the inquires set forth in Steps 2A Prong 1 and 2, it has been concluded that claims 1, 9, and 15 not only recite a judicial exception but that the claims are directed to the judicial exception as the judicial exception has not been integrated into practical application.
Step 2B:
Claims 1, 9, and 15: The claims do not include additional elements, alone or in combination, that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, the additional elements amount to no more than field of use/technological environment, using a computer as a tool to apply, and insignificant extra-solution data gathering and data transmission which do not amount to significantly more than the abstract idea. Further, the insignificant extra-solution data gathering and transmission is also WURC, see at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network” wherein obtaining time series data as claimed is receiving data over a network, and controlling the transition of primary monitor roles as claimed is transmitting data over a network.
Therefore, “Do the claims recite additional elements that amount to significantly more than the judicial exception? No, these additional elements, alone or in combination, do not amount to significantly more than the judicial exception.
Having concluded analysis within the provided framework, claims 1, 9, and 15 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claims 2, 10, and 16, they recite additional elements of “a first one of the plurality of monitoring nodes is in a first geographic location and at least a second one of the plurality of monitoring nodes is in a different, second geographic location” which is merely a recitation of generic computing components used in a field of use/technological environment (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 2, 10, and 16 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, claims 2, 10, and 16 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claims 3, 11, and 17, they recite additional abstract ideas of “the determining is further based on data indicating at least one of: availability of at least a portion of the plurality of monitoring nodes; a level of criticality of at least a portion of the transactions; and latency between respective ones of the plurality of monitoring nodes and respective ones of the plurality of system nodes” which, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about, judge, and evaluate determining a specific node from the nodes to transfer the primary monitoring role to, where the determination is based on data that indicates an availability, criticality, and latency. Further, the claims do not recite additional elements which does not integrate a judicial exception into practical application. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 3, 11, and 17 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, claims 3, 11, and 17 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claims 4, 12, and 18, they recite additional elements of “a k-nearest neighbor dynamic time-based classifier” which is merely a recitation of generic computing components used in a field of use/technological environment (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 4, 12, and 18 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, claims 4, 12, and 18 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claims 5 and 13, they recite additional elements of “a time-series prediction model” which is merely a recitation of generic computing components used in a field of use/technological environment (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 5, 13, and 19 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, claims 5, 13, and 19 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claim 6, it recites additional abstract ideas of “wherein the one or more time intervals correspond to time intervals of a particular day” which, as drafted, is a process that, but for the recitation of generic computing components, under its broadest reasonable interpretation, covers performance of the limitation in the mind. For example, a person can think about, judge, and evaluate determining a specific node from the nodes to transfer the primary monitoring role to for an interval of time, where the intervals of time correspond to time intervals of a day. The claim does not recite new additional elements which does not integrate a judicial exception into practical application. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 6 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 6 does not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claims 7, 14, and 20, they recite additional elements of “transmitting a first message to a first one of the plurality of monitoring nodes that was previously assigned the primary monitoring role for a given time interval of the one or more time intervals; transmitting a second message to a second one of the plurality of monitoring nodes that is to be used as the primary monitoring role for the given time interval of the one or more time intervals; and controlling the transition of the primary monitoring role to the second monitoring node for the given time interval of the one or more time intervals based at least in part on the acknowledgment messages” which is merely insignificant extra-solution data transmission activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application. Further, the claims recite, “receiving acknowledgment messages from the first monitoring node and the second monitoring node” which is merely insignificant extra-solution data gathering activity (see MPEP § 2106.05(g)) which does not integrate a judicial exception into practical application. Further still, the extra solution data gathering and transmission activity is also WURC, see at least MPEP § 2106.05(d)(II) “The courts have recognized the following computer functions as well‐understood, routine, and conventional functions when they are claimed in a merely generic manner (e.g., at a high level of generality) or as insignificant extra-solution activity. i. Receiving or transmitting data over a network” wherein transmitting a first message, transmitting a second message, and controlling the transition of the primary monitor role to a secondary monitor node as claimed is transmitting data over a network. Furthermore, receiving an acknowledgment message from the first and second monitoring nodes as claimed is receiving data over a network. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claims 7, 14, and 20 also fail both Step 2A prong 2, thus the claims are directed to the judicial exception as it has not been integrated into practical application, and fail Step 2B as not amounting to significantly more. Therefore, claims 7, 14, and 20 do not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claim 8, it recites additional elements of “wherein the distributed system comprises a distributed database system, and wherein the plurality of system nodes of the distributed system comprises a plurality of database nodes in the distributed database system” which is merely a recitation of generic computing components used in a field of use/technological environment (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application. For the same reasons as above with regard to integration into practical application and whether additional elements amount to significantly more, claim 8 also fails both Step 2A prong 2, thus the claim is directed to the judicial exception as it has not been integrated into practical application, and fails Step 2B as not amounting to significantly more. Therefore, claim 8 does not recite patent eligible subject matter under 35 U.S.C. § 101.
Regarding claim 21, it recites additional elements of “wherein the primary monitoring role comprises sending heartbeat messages to one or more of the plurality of monitoring nodes not assigned the primary monitoring role which merely characterizes the technological environment/field of use where the idea is implemented (see MPEP § 2106.05(h)) which does not integrate a judicial exception into practical application or amount to significantly more. . Further, the claims recite, “causing the first monitoring node to stop sending the heartbeat messages; and causing the second monitoring node to send the heartbeat messages” which is are recited at such a high level of generality as to recite only the idea of a solution or outcome and amount to no more than a recitation of the words “apply it” (or an equivalent) or mere instructions to implement an abstract idea or other exception on a computer; which does not integrate the abstract idea into a practical application and/or amount to significantly more than the abstract idea (“The recitation of claim limitations that attempt to cover any solution to an identified problem with no restriction on how the result is accomplished and no description of the mechanism for accomplishing the result, does not integrate a judicial exception into a practical application or provide significantly more because this type of recitation is equivalent to the words "apply it". (MPEP 2106.05(f)).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-3, 5-6, 8-11, 13, and 15-17 are rejected under 35 U.S.C. 103 as being unpatentable over SANAKKAYALA et al. US 20180095855 A1 (“Sanakkayala”) in view of Saxena et al. US 20240073799 A1 (“Saxena”), in view of Chauhan et al. US 20240205124 A1 (“Chauhan”).
Regarding claim 1, Sanakkayala teaches a computer-implemented method comprising: a plurality of system nodes in a distributed system, (Fig. 7; [0029]: “FIG. 7 depicts an illustrative distributed file system 545 for VM heartbeat monitoring in system 300."; Fig. 5; “virtual server data agent 542 (or “data agent 542”) is analogous to data agent 142 configured for protecting virtual machines and further comprises additional functionality for operating as a heartbeat monitor node”)
wherein the distributed system comprises a plurality of monitoring nodes, wherein a respective one of the plurality of monitoring nodes has a primary monitoring role ([0005]: “The worker heartbeat monitor nodes are part of a larger “VM heartbeat monitoring network” or “VM heartbeat monitoring system” that also comprises a ‘master monitor node’ and one or more ‘observer monitor nodes’ which play key roles in maintaining a robust architecture, which features built-in coordination and redundancy.”)
responsible for monitoring operation of the plurality of system nodes; ([0007]: “The master monitor executes the illustrative VM distribution logic and informs worker monitor nodes of their respective target VM lists. The master monitor node re-distributes target VMs when a worker monitor node fails.”)
wherein the method is performed by at least one processing device ([0502]: “In other embodiments, a system or systems may operate according to one or more of the methods and/or computer-readable media recited in the preceding paragraphs.”)
comprising a processor coupled to a memory. ([0079]: “Any given computing device comprises one or more processors (e.g., CPU and/or single-core or multi-core processors), as well as corresponding non-transitory computer memory (e.g., random-access memory (RAM)) for storing computer programs which are to be executed by the one or more processors.”).
Sanakkayala does not teach obtaining time-series data related to transactions of a distributed system,
classifying, using at least one first artificial intelligence-based process, load distributions of the transactions across the plurality of system nodes based at least in part on the time-series data;
determining, using at least one second artificial intelligence-based process, a respective one of the plurality of nodes to be used as the primary role for at least a portion of one or more time intervals based at least in part on one or more results of the classifying;
and controlling transitions of the primary role between the plurality of nodes for the one or more time intervals based at least in part on one or more results of the determining; (Examiner notes, as cited above, though Sanakkayala teaches monitoring nodes, and a monitoring node with a primary role for monitoring the distributed system, Sanakkayala does not teach transitioning that primary monitoring role to another one of the monitors nor utilizing AI-based processes for that function).
However, in analogous art, Saxena teaches Identifying, distributions of the transactions across the plurality of system nodes based at least in part on the data; (Fig. 6 – S604; [0056]: “Processing proceeds to step S604, where host processor 302 determines a business density shift in the computing environment. In this example, the host processor determines a business density shift via a cluster density module in common functions module 208 (FIG. 2). In this example, the geo-spatial business density is it identified and monitored for a shift in the make up of the cluster of edge nodes in which the business density is located. The cluster density module (not shown) detects the business density shift in the computing environment. Alternatively, the business density is established in step S602 when the primary node-provisioning server is set up and the detecting of a business density shift also indicates, by definition of a “shift,” that the current primary node-provisioning server is no longer geo-spatially proximate to or within a pre-defined boundary of the business density cluster. That is, determining a shift in business density may be pre-defined such that a condition based on certain business rules is met in order to trigger actions related to a business density shift.”)
determining, a respective one of the plurality of nodes to be used as the primary role for at least a portion of one or more time intervals based at least in part on one or more results of the identifying; ([0058]: “Processing proceeds to step S606, where node state manager 304 identifies candidate secondary nodes in the business density cluster of an edge network. The identified business density cluster includes various secondary edge nodes associated with a primary edge node. The node state manager identifies candidate secondary nodes that may be set as the primary node-provisioning server when the business density shifts aware from the current primary node-provisioning server. The nodal state manager is ascribed the functionality to identify which of the hybrid edge nodes are in the state possible to be considered for becoming the master, or primary. It takes into account the geo-spatial location of that candidate from the other edge nodes that need replication. The replication technique technology is standard in a way that only the configurations that are required to create the edge node or the primary are passed through as binaries that the hybrid edge node can execute to activate and carry out the described business functionality.”)
and controlling transitions of the primary role between the plurality of nodes for the one or more time intervals based at least in part on one or more results of the determining; (Fig. 6 – S608-S614; [0059]-[0060]: “Processing proceeds to step S608, where node replicating manager 312 collects nodal constraints of the candidate nodes. In this example, nodal constraints include available bandwidth, identity of edge nodes, capacity required for the primary provisioning activity, previous migration time, previous workload size. Processing proceeds to step S610, where host processor 302 transfers the role of primary node-provisioning server to a selected secondary node. The process of transferring the role of primary node-provisioning server involves interactions within the computing environment 100 including communications with third-party fifth-generation service provider 212 and operations performed by edge provisioning framework code 200.”; Examiner notes, only a portion of the entire transfer process is recited for the sake of brevity. See at least [0061]-[0063] for the rest of the steps for controlling the transitioning of the primary role. Furthermore, see also Fig. 7 for a chart detailing the sequential steps for specifically the transferring the primary role to another node step of Fig. 6).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the transferring of a primary monitor role in a distributed system in Saxena with the distributed storage environment of Sanakkayala, resulting in Sanakkayala to transfer the role of the master monitor node to one of the observe nodes following the changes in business density shift in the distributed environment. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to decrease latency of the monitoring operations the primary monitor must perform, as the required services in a distributed computing environment shift throughout the day. By moving the primary monitor to where the demand shifts, Sanakkayala will decrease the latency of the monitoring operations by keeping the resources used close to the location of their use. Saxena says as much in [0057]: “Essentially a business density shift drives certain services, such as monitoring services, in the computing environment. In that way, needed resources are available in the location where the resources are used. Assigning a primary node at the edge where the business density is located achieves this objective. For example, a user involved with the seasonal fruit industry may need monitoring services at the demand side of the supply chain, when the harvest of the fruit is procured from the farm and shipped to the processing center. Business density will shift when the processing center is distributing processed fruit. According to some embodiments of the present invention, the business density shift is determined when a threshold amount of fruit is being distributed. Alternatively, when the ratio of fruit procured by the farm to the fruit distributed by the center meets a threshold shift toward distribution, the business density shift will be triggered. Monitoring services may then shift to the distribution side of the supply chain when the processing center ships to the marketplace. A threshold value for a business density shift may be, for example, when the percentage of ingestion of the harvest is adequate to start processing the processing center.”
Sanakkayala in view of Saxena does not teach obtaining time-series data related to transactions of a distributed system,
classifying, using at least one first artificial intelligence-based process, load distributions of the nodes based at least in part on the time-series data; (Examiner notes, as previously cited above, though Sanakkayala in view of Saxena teaches identifying distributions of transactions across the distributed environment from data, and using that identification in the determination for where to move the primary monitor node. It does not teach specifically, classifying, using an AI-based process, load distributions from time-series data.)
determining, using at least one second artificial intelligence-based process, a node to be used for a time interval based at least in part on one or more results of the classifying; (Examiner notes, as previously cited above, though Sanakkayala in view of Saxena teaches determining a respective node of the plurality of nodes to transition the primary monitoring role to for a time interval, it does not teach that the determination is based on another AI-based process, where the classifying results from a previous AI-based process are used).
However, in analogous art, Chauhan teaches obtaining time-series data related to transactions of a distributed system, (Fig. 4 – Examiner notes, “Data Collection”; [0025]: ” The prediction module 110 is illustrated as having, receiving, and/or transmitting timeseries data 114. In some examples, the timeseries data 114 describes historic processing unit utilization at computing clusters 116, 118 included in a group 120 of computing clusters. In these examples, the processing units are various central processing units (CPUs), various graphics processing units (GPUs), various accelerators, etc. For instance, the prediction module 110 processes the timeseries data 114 to predict processing unit utilization at the computing clusters 116, 118 during a future period of time.”)
classifying, using at least one first artificial intelligence-based process, load distributions of the nodes based at least in part on the time-series data; (Fig. 2 – 202, 208; [0018]: “The prediction system modifies the timeseries data which initially has a two-dimensional structure (e.g., processing unit utilization, timestamp) to have a three-dimensional structure (e.g., processing unit utilization, day of week, hour of day) for processing using a machine learning model. In an example, the machine learning model is a long short-term memory model, and the prediction system trains the long short-term memory model on a subset of the modified timeseries data (e.g., 70 percent of the modified timeseries data) to predict processing unit utilization at the computing clusters during future periods of time. In this example, the prediction system validates the trained long short-term memory model using a subset of the modified timeseries data that was not used to train the model (e.g., 30 percent of the modified timeseries data).”; Examiner notes, obtained time series data of flat timestamps is classified into a three-dimensional structure with utilization measurements in day of week, hour of day groups, which is then used in training and thus predicting the changes in utilization.)
determining, using at least one second artificial intelligence-based process, a node to be used by predicting high workload clusters in a distributed system for a time interval based at least in part on one or more results of the classifying; ([0028]: “Consider an example in which the prediction module 110 implements the trained long short-term memory model to predict processing unit utilization at the computing cluster 116 and processing unit utilization at the computing cluster 118 during the sixth day of the following week. In this example, the prediction module 110 leverages predictions generated by the trained long short-term memory model to generate indications 122...As shown, indication 122 states “Computing Cluster 116 will be over-utilized during hours 7-15 of day 6 next week” and indication 124 states “Computing Cluster 118 will be under-utilized during hours 1-14 of day 6 next week.””; [0029]: “For example, the prediction module 110 updates the protocol data 112 by replacing a default network traffic routing protocol described by the protocol data 112 with a network traffic routing protocol generated based on the indications 122, 124…. the updated network traffic routing protocol decreases an amount of network traffic routed to the computing cluster 116 by routing this network traffic to other computing clusters included in the group 120 of computing clusters before hour 7 of day 6 next week.”; Examiner notes, by changing the network traffic routing protocol, Chauhan is determining at least a respective node to route requests to).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the classifying of time series load data and predicting, using an AI-based process, over and underutilized nodes in Chauhan with the systems and methods of Sanakkayala in view of Saxena. Sanakkayala in view of Saxena chooses other monitoring nodes to pass the primary monitoring role to depending on a change in business density in the distributed network (Saxena in at least [0056-0057]). As a result of the combination, Sanakkayala in view of Saxena would use Chauhan’s teachings to classify the density data, and use such time-series data in an AI-based model to predict when those density changes will occur. Thus, Sanakkayala in view of Saxena could estimate a future time where the load distributions in the distributed system will shift, thereby predict the best position for the primary monitor node to be. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to further improve the responsiveness of the primary role transitioning in Sanakkayala in view of Saxena. Sanakkayala in view of Saxena explains that the reason for transitioning the primary monitor role is to better utilize the resources of the network while providing required functions to specific services (Saxena in at least [0057] and [0048]). Chauhan describes in [0016] that it is difficult to analyze utilization of such resources with conventional methods for exactly that reason, because “…values of processing unit utilization at the computing clusters change over time and these changes are based on a multitude of different variables (e.g., seasonality, occurrence of particular events, etc.)”. Therefore, utilizing Chauhan’s teachings, Sanakkayala in view of Saxena can “…overcome these challenges, techniques and systems for predicting processing unit utilization are described.” (Chauhan, [0016]).
Regarding claim 2, Sanakkayala in view of Saxena, in view of Chauhan teaches the computer-implemented method of claim 1.
Saxena further teaches wherein at least a first one of the plurality of monitoring nodes is in a first geographic location and at least a second one of the plurality of monitoring nodes is in a different, second geographic location. ([0058]: “The nodal state manager is ascribed the functionality to identify which of the hybrid edge nodes are in the state possible to be considered for becoming the master, or primary. It takes into account the geo-spatial location of that candidate from the other edge nodes that need replication.”; [0057]: “Essentially a business density shift drives certain services, such as monitoring services, in the computing environment. In that way, needed resources are available in the location where the resources are used. Assigning a primary node at the edge where the business density is located achieves this objective.”).
Regarding claim 3, Sanakkayala in view of Saxena, in view of Chauhan teaches the computer-implemented method of claim 1.
Saxena further teaches wherein the determining is further based on data indicating at least one of: availability of at least a portion of the plurality of monitoring nodes; and latency between respective ones of the plurality of monitoring nodes and respective ones of the plurality of system nodes. ([0059]: “Processing proceeds to step S608, where node replicating manager 312 collects nodal constraints of the candidate nodes. In this example, nodal constraints include available bandwidth, identity of edge nodes, capacity required for the primary provisioning activity, previous migration time, previous workload size.”; [0037]: “Based on the business function requirement of ultra-low latency, the spawning location of the edge cloud function may be assigned according to a current business density cluster” [0053]: "identifying the business density shift and adequately respond by creating or spawning new master and configured hybrid edge nodes near the new business density geo spatiality” Examiner notes, in Sanakkayala in view of Saxena, in view of Chauhan, various constraints are considered when determining a node to transition the primary monitoring role to, including geo-spatial proximity to meet latency requirements.)
a level of criticality of at least a portion of the transactions; ([0035]: “potential problems and/or potential areas for improvement with respect to the current state of the art: (i) for ultra-low latency applications, edge computing technology offers solutions to the drawbacks of cloud technology; (ii) instead of having the cloud perform computing tasks for an ultra-low-latency application, the tasks can be performed at the edge of the network; (iii) the computing tasks are performed in devices/applications at the location where real-time data processing provides services according to quality of service requirements”; [0002]: “Ultra-low latency applications require fast data processing and have low tolerance for delay. Applications categorized as ultra-low latency include, for example, autonomous vehicles and remote surgery. Cloud computing does not often satisfy the requirements of the ultra-low latency applications because of high latency between user equipment and the cloud infrastructure.”; Examiner notes, Sanakkayala in view of Saxena, in view of Chauhan transitions the primary monitor role to be closer to certain business densities for applications that require ultra-low latency because the applications may have a high level of criticality (e.g. autonomous vehicles and remote surgery), therefore the data used in making the determination to transition the primary monitor indicates a level of criticality).
Regarding claim 5, Sanakkayala in view of Saxena, in view of Chauhan teaches the computer-implemented method of claim 1.
Chauhan further teaches wherein the at least one second artificial intelligence-based process comprises a time-series prediction model. ([0003]: “The prediction system generates a predicted processing unit utilization at a computing cluster of the computing clusters during a future period of time using a long short-term memory model based on the timeseries data.”).
Regarding claim 6, Sanakkayala in view of Saxena, in view of Chauhan teaches the computer-implemented method of claim 1.
Chauhan further teaches wherein the one or more time intervals correspond to time intervals of a particular day. ([0018]: The prediction system modifies the timeseries data which initially has a two-dimensional structure (e.g., processing unit utilization, timestamp) to have a three-dimensional structure (e.g., processing unit utilization, day of week, hour of day) for processing using a machine learning model; [0028]: “Consider an example in which the prediction module 110 implements the trained long short-term memory model to predict processing unit utilization at the computing cluster 116 and processing unit utilization at the computing cluster 118 during the sixth day of the following week.”
Regarding claim 8, Sanakkayala in view of Saxena, in view of Chauhan teaches the computer-implemented method of claim 1.
Sanakkayala further teaches wherein the distributed system comprises a distributed database system, and wherein the plurality of system nodes of the distributed system comprises a plurality of database nodes in the distributed database system. ([0089], [0086]: “application(s) 110 executing thereon which generate and manipulate the data that is to be protected from loss and managed in system 100. Applications 110 generally facilitate the operations of an organization, and can include…database applications or database management systems (e.g., SQL, Oracle, SAP, Lotus Notes Database)”; Fig. 2D; [0293]: "The embodiments and components thereof disclosed in FIGS. 2A, 2B, and 2C, as well as those in FIGS. 1A-1H, may be implemented in any combination and permutation to satisfy data storage management and information management needs at one or more locations and/or data centers"; Examiner notes, exemplary monitored application VMs 110 (system nodes) include DB apps and DB management nodes and Sanakkayala’s preferred environment is a distributed storage management system; the node monitoring system of Sanakkayala in view of Saxena, in view of Chauhan may operate in a distributed database environment).
Regarding claim 9, Sanakkayala teaches A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device ([0079]: “Any given computing device comprises one or more processors (e.g., CPU and/or single-core or multi-core processors), as well as corresponding non-transitory computer memory (e.g., random-access memory (RAM)) for storing computer programs which are to be executed by the one or more processors.”)
The remaining limitations of claim 9 recite the same subject matter as the limitations of claim 1 and stand rejected in view of the combination of Sanakkayala, Saxena, and Chauhan under the same rationale described above for claim 1.
Regarding claims 10, 11, and 13, the claims recite the same subject matter as claims 2, 3, and 5, respectively, and stand rejected under the same rationale described in the rejections above.
Regarding claim 15, Sanakkayala teaches An apparatus comprising: at least one processing device comprising a processor coupled to a memory; ([0079]: “Any given computing device comprises one or more processors (e.g., CPU and/or single-core or multi-core processors), as well as corresponding non-transitory computer memory (e.g., random-access memory (RAM)) for storing computer programs which are to be executed by the one or more processors.”)
The remaining limitations of claim 15 recite the same subject matter as the limitations of claim 1 and stand rejected in view of the combination of Sanakkayala, Saxena, and Chauhan under the same rationale described above for claim 1.
Regarding claims 16 and 17, the claims recite the same subject matter as claims 2 and 3, respectively, and stand rejected under the same rationale described in the rejections above.
Claims 4, 12, and 18 are rejected under 35 U.S.C. 103 as being unpatentable over SANAKKAYALA et al. US 20180095855 A1 (“Sanakkayala”)in view of Saxena et al. US 20240073799 A1 (“Saxena”), in view of Chauhan et al. US 20240205124 A1 (“Chauhan”), in view J. Wang et al. "Time Series K-Nearest Neighbors Classifier Based on Fast Dynamic Time Warping" 2021 IEEE International Conference on Artificial Intelligence and Computer Applications 2021 pp. 751-754, (“Wang”).
Regarding claims 4, 12, and 18, Sanakkayala in view of Saxena, in view of Chauhan teaches the limitations as shown in the rejections above.
Regarding amended claim 18 Chauhan further teaches wherein the at least one second artificial intelligence-based process comprises a time-series prediction model. ([0003]: “The prediction system generates a predicted processing unit utilization at a computing cluster of the computing clusters during a future period of time using a long short-term memory model based on the timeseries data.”).
Sanakkayala in view of Saxena, in view of Chauhan does not teach wherein the at least one first artificial intelligence-based process comprises a k-nearest neighbor dynamic time-based classifier.
However, in analogous art, Wang teaches wherein the at least one first artificial intelligence-based process comprises a k-nearest neighbor dynamic time-based classifier. (Abstract: “In the paper, a new Time Series classifier, which based on K-Nearest Neighbors (KNN) and Fast Dynamic Time Warping (FDTW), is presented.”; Pg. 3 left column: “In this article, we designed a KNN model. Feed the data from outside, in this article, the data is DTW coefficient. Choose the value of k, the k depend classes number. Iterate from 1 to total number of training data points to get the predicted class.”; Pg. 3 left column: “D. A new times series classifier:”).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to employ Sanakkayala in view of Saxena, in view of Chauhan to employ KNN to facilitate the conversion/classification because “KNN is a famous machine learning technique. The algorithm easy understand. And the results is easy to interpret, understand, and the algorithms is easy to implement. KNN is simple to use and it can be used for a wide variety of problems” (Wang pg. 3, col. 1). Furthermore a person having ordinary skill in the art would have been motivated to make this combination to more accurately identify classes in the time series data, thus resulting in more useful data for making a prediction, as the load distributions will be classified into clusters with “relatively low time complexity” (pg. 2, right column) and high accuracy (pg. 3, Table I).
Claims 7, 14, and 20 are rejected under 35 U.S.C. 103 as being unpatentable over SANAKKAYALA et al. US 20180095855 A1 ("Sanakkayala") in view of Saxena et al. US 20240073799 A1 ("Saxena"), in view of Chauhan et al. US 20240205124 A1 ("Chauhan"), in view of Ekl et al. US 20070201382 A 1 ("Ekl").
Regarding claims 7, 14, and 20, Sanakkayala in view of Saxena, in view of Chauhan teaches the limitations as shown in the rejections above.
Saxena further teaches wherein controlling a given one of the transitions comprises: transmitting a second message to a second one of the plurality of monitoring nodes that is to be used as the primary monitoring role for the given time interval of the one or more time intervals; (Fig. 7; [0064]: "nodal state manager 304 builds the identified new master (706); nodal replicating vector (312) identifies the constraints with the master (708); nodal spawner 310 identifies the edges and capacity required for the master provisioning server (710); nodal spawner 310 submits request for available bandwidth, previous migration time, and workload size (712); nodal replicating vector 312 generates estimates for the new master as a subroutine (714); nodal replicating vector 312 performs the above actions with validated activation code index generated to create and identify a new primary (716); nodal spawner 310 transmits bandwidth and migration time for network slice invocation to nodal edge (718); nodal edge 206 solves the crypto object for edge provisioning framework (720) ;")
receiving acknowledgment messages from the second monitoring node; and controlling the transition of the primary monitoring role to the second monitoring node for the given time interval of the one or more time intervals based at least in part on the acknowledgment messages. (Fig. 7; [0064]: “nodal edge 206 passes the crypt-object along with its configuration to the nodal spawner (730); nodal spawner 310 passes the YAML to manifest nodal edge as nodal master to nodal edge instance 404 (732); the “old master” is respawned as a new edge to the new master; nodal spawner 310 updates the state of binary files to reflect new configuration (734); nodal replicating vector 312 updates on the states (from crypto object) of all affected nodes (736); and nodal replicating vector 312 reports to host processor 302 that final configuration of new master is activated (738).”; Examiner notes, crypt object is used to prepare secondary node for receiving primary monitor role, see at least [0061]).
Sanakkayala in view of Saxena, in view of Chauhan does not teach transmitting a first message to a first one of the plurality of monitoring nodes that was previously assigned the primary monitoring role for a given time interval of the one or more time intervals; receiving acknowledgment messages from the first monitoring node.
However, in analogous art, Ekl teaches transmitting a first message to a first one of the plurality of monitoring nodes that was previously assigned the primary monitoring role for a given time interval of the one or more time intervals; receiving acknowledgment messages from the first monitoring node. ([0119]: “Any of the first nodes which determine that it is better suited to be the current root node (e.g., has better status metrics than the current root node) can then transmit a relinquish request message to the current root node to request that the current root node relinquish control or its status as the root node…The relinquish response message can be, for example, a relinquish confirm message indicating that the node is relinquishing its role as root node…This could be accomplished by two different messages, or it could be accomplished by a single message with different data values within the message, or other mechanisms.”).
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to combine the current node with the primary role receiving a message and acknowledging the message to relinquish its role, with the primary monitor role transition process of Sanakkayala in view of Saxena, in view of Chauhan. As a result, Sanakkayala in view of Saxena, in view of Chauhan would, with the primary monitor role transition process, send a message to the current primary monitor node, to ultimately receive an acknowledgment that it has relinquished the primary monitor role. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, to improve the reliability of the primary role transition process, that the current primary node and back up node are both ready for the transition process (see at least [0138] and [0140]).
Claims 21 is rejected under 35 U.S.C. 103 as being unpatentable over SANAKKAYALA et al. US 20180095855 A1 ("Sanakkayala") in view of Saxena et al. US 20240073799 A1 ("Saxena"), in view of Chauhan et al. US 20240205124 A1 ("Chauhan"), in view of “MLRaft: Improvement of Raft Based on Multi-log Synchronization Model” (“Zhang”), 2022.
Regarding claim 21, Sanakkayala in view of Saxena, in view of Chauhan teaches the computer-implemented method of claim 1.
Sanakkayala discloses ([0397]-[0299]), [0406]-[0414]), methods for selecting/electing a new master and transitioning the master node in response to a master failure, but does not Sanakkayala in view of Saxena, in view of Chauhan does not explicitly teach wherein the primary monitoring role comprises sending heartbeat messages to one or more of the plurality of monitoring nodes not assigned the primary monitoring role, and wherein controlling a given one of the transitions of the primary monitoring role from a first monitoring node of the plurality of monitoring nodes to a second monitoring node of the plurality of monitoring nodes comprises: causing the first monitoring node to stop sending the heartbeat messages; and causing the second monitoring node to send the heartbeat messages.
Zhang however, discloses analogous methods to manage leader/primary node roles in a distributed database system. Zhang teaches the primary monitoring role comprises sending heartbeat messages to one or more of the plurality of monitoring nodes not assigned the primary monitoring role, and wherein controlling a given one of the transitions of the primary monitoring role from a first monitoring node of the plurality of monitoring nodes to a second monitoring node of the plurality of monitoring nodes comprises: causing the first monitoring node to stop sending the heartbeat messages; and causing the second monitoring node to send the heartbeat messages pg. 1052, sect. 4.2: “only one leader node can exist at the same time. The leader periodically sends heartbeats to other followers. If the follower does not receive a heartbeat within the specified time, the status will change from follower to candidate. At the same time, the candidate will be triggered the election process and send vote requests to other nodes…When a candidate receives the votes of the majority of nodes, it will become the leader. Then the leader will send heartbeats to other nodes”; pg. 1053-1054, sect. 4.4: MLRaft introduces a dynamic transfer mechanism of leader to ensure the uniform distribution of leaders in nodes…Leader transfer involves two actions: the original leader itself becomes a follower, and the original leader sends a transfer request to the new leader”.
It would have been obvious to a person having ordinary skill in the art prior to the effective filing date of the claimed invention to modify Sanakkayala in view of Saxena, in view of Chauhan to employ Zhang’s method of master failure detection and transfer because it efficiently dtects master failures and coordinates new leader election role/assignment and improving performance by ensuring an even distribution the nodes (pg. 1050. Abstract; pg. 1052, sect. 4.2; pg. 1053-1054, sect. 4.4); and/or, more generally, ecause it represents the simple substituon of one know failover processing method with an equivalent alternative.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure:
The following are directed to leader/master role management in distributed systems: “Take me to your leader! Online Optimization of Distributed Storage Configurations”. US 20190288993 A1; US 20220206900 A1; US 20110188506 A1; US 20200112628 A1.
”Artificial Intelligence: A Clarification of Misconceptions, Myths and Desired Status is cited in the Response to arguments above.
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry of a general nature or relating to the status of this application or concerning this communication or earlier communications from the Examiner should be directed to Paul Mills whose telephone number is 571-270-5482. The Examiner can normally be reached on Monday-Friday 11:00am-8:00pm. If attempts to reach the examiner by telephone are unsuccessful, the Examiner’s supervisor, April Blair can be reached at 571-270-1014.
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.
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.
/P. M./
Paul Mills
07/24/2026
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196
1 “AI data classification is a process where AI systems are trained to categorize data into predefined classes or labels.” (“What Is Classification in AI?”, pg. 1, included with this action)
2 “Since there is no generally accepted definition of “intelligence” AI has been characterized informally from its beginnings. For instance, in (Winston and Brown, 1984) it is stated that “The primary goal of Artificial Intelligence is to make machines smarter. The secondary goals of Artificial Intelligence are to understand what intelligence is (the Nobel laureate purpose) and to make machines more useful (the entrepreneurial purpose)”. Kurzweil noted that artificial intelligence is “The art of creating machines that perform functions that require intelligence when performed by people” (Kurzweil et al., 1990). Furthermore, Feigenbaum (Feigenbaum, 1963) said “artificial intelligence research is concerned with constructing machines (usually programs for general-purpose computers) which exhibit behavior such that, if it were observed in human activity, we would deign to label the behavior ‘intelligent’.” (Artificial Intelligence: A Clarification of Misconceptions, Myths and Desired Status”, pg. 2, sect. 2.2).