Prosecution Insights
Last updated: April 19, 2026
Application No. 18/603,583

INDUSTRIAL ROBOT PRODUCTION DATA CLUSTERING FOR ANOMALY PREDICTION

Non-Final OA §103
Filed
Mar 13, 2024
Examiner
KENIRY, HEATHER J
Art Unit
3657
Tech Center
3600 — Transportation & Electronic Commerce
Assignee
Fanuc America Corporation
OA Round
2 (Non-Final)
78%
Grant Probability
Favorable
2-3
OA Rounds
2y 7m
To Grant
99%
With Interview

Examiner Intelligence

Grants 78% — above average
78%
Career Allow Rate
80 granted / 102 resolved
+26.4% vs TC avg
Strong +22% interview lift
Without
With
+22.1%
Interview Lift
resolved cases with interview
Typical timeline
2y 7m
Avg Prosecution
32 currently pending
Career history
134
Total Applications
across all art units

Statute-Specific Performance

§101
13.1%
-26.9% vs TC avg
§103
50.8%
+10.8% vs TC avg
§102
14.8%
-25.2% vs TC avg
§112
18.9%
-21.1% vs TC avg
Black line = Tech Center average estimate • Based on career data from 102 resolved cases

Office Action

§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 This is the second Office action on the merits. Claims 1-27 are currently pending and addressed below. Claim Interpretation The following is a quotation of 35 U.S.C. 112(f): (f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph: An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof. The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked. As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph: (A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function; (B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and (C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function. Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function. Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function. Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Regarding claim 14, “means for collecting time-series data” will be interpreted under 112(f) because of the following three-prong analysis: Prong 1: The claim uses the nonce term “means”. Prong 2: The claim uses functional language to modify the nonce term. Prong 3: Sufficient structure for performing the function is not recited within the claim. This limitation is being interpreted according to the specification (paragraph 0075) as a controller. Response to Arguments Applicant’s arguments, see remarks, filed 01/09/2026, with respect to the rejection(s) of claim(s) 1 and 14 under 35 U.S.C. 102 have been fully considered and are persuasive in part. Upon further consideration, a new ground(s) of rejection is made in view of Schmidt et al. (DE 102023209756 A1). The applicant has asserted that the prior art fails to disclose the creation of a new number of clusters for analysis. The examiner has reviewed and agrees with this assertion. A new rejection has been made as follows. Applicant's arguments filed 01/09/2026 with respect to the rejection of claims 1 and 14 have been fully considered but they are not fully persuasive. Regarding the applicant’s assertion that the prior art fails to disclose performing clustering operation on “a first number of clusters”, the examiner disagrees. The currently provided claim language does not require the definition of the number of clusters to be performed at any specific point during the method. Under the broadest reasonable interpretation of the language, the number of clusters may be determined prior to the method or at any point as long as the clustering operation is performed on a number of clusters. Regarding the applicant’s assertion that the prior art fails to disclose “calculating a cluster consistency score for results…” the examiner disagrees. The prior art demonstrates this functionality as they disclose the determination of a score based on deviation from normal and density in at least paragraphs 0062-0063. Regarding the applicant’s assertion that the prior art fails to anticipate the selection of a highest scoring result, the examiner disagrees. The currently provided claim language does not include the features which the applicant relies upon to make this assertion. While the specification defines the cluser consistency score and the methods of selecting a highest score, the claims, under their broadest reasonable interpretation are anticipated by the prior art’s disclosure of “a score indicative of the degree which parameters deviate from normal” (Par. 0063). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). Claim Rejections - 35 USC § 103 In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. Claim(s) 1-8, 12-21, and 25-27 is/are rejected under 35 U.S.C. 103 as being unpatentable over GRAABÆK et al. (US-20240351209-A1), hereinafter GRAABÆK in view of Schmidt et al. (DE 102023209756 A1), hereinafter Schmidt. Regarding claim 1, GRAABÆK, teaches: 1. A method for robot data analysis, said method comprising: collecting time-series data for a plurality of joint parameters during operation of a robot; (Paragraph 0194, "Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous." and Paragraph 0289, "As the sample frequency may vary from the mentioned 100 Hz and 500 Hz, the number of robot operation parameters may also vary from the mentioned 251. Among the most relevant robot operation parameters (i.e. providing most relevant information of an anomaly) are tool center point force-torque data, timestamps, and joint data, such as joint configuration, joint velocity and joint current.") performing a clustering operation on the time-series data using a first number of clusters, by a computing device, to assign each time-series data point to one of the clusters; (Paragraph 0100, "The invention may utilize machine learning and artificial intelligence for different tasks, such as clustering, establishing reference data, establishing node conditions, encoding/decoding, modifying conditions and any combination thereof. For these difference purposes, different algorithms may be utilized, or a single algorithm for different tasks may be used." and Paragraph 0364, "The method may further comprise a step of establishing said respective program nodes based on clustering of said node-specific reference data by said machine learning algorithm. Clustering of data may for example serve as an advantageous starting point for establishment of node conditions or for defining the node conditions (e.g. does robot operation parameters lie outside or inside a cluster?). Alternatively, the nodes may even be defined based on clustering of reference data. The clustering may for example be performed via a gaussian mixture model.") calculating a cluster consistency score for results of the clustering operation with the number of clusters; (Paragraphs 0062-0063, "In this context, a threshold may also be absolute threshold, relative threshold (e.g. relative to average and/or relative to reference data), noise threshold (e.g. threshold of standard deviation of data). A threshold may further be in a multidimensional space, e.g. based on a Euclidian distance in a parameter space with an arbitrary number of dimensions. A threshold may also be defined relative to clusters of a subpopulation of data, e.g. a threshold may be defined by a certain multiple of standard deviations relative to a mean of a subpopulation of an overall population clustered via a gaussian mixture model. A threshold may also be defined by evaluating robot operation parameters individually relative to sub-thresholds of these parameters, and then combining (e.g. summing, weighted average, or variance) individual deviations from the sub-threshold to assess whether an overall threshold is surpassed. A node-specific parameter threshold may also refer to a threshold of a parameter derived from the one or more robot operation parameters. E.g. a score indicative of the degree of which parameters deviate from normal or expected behavior.") performing the clustering operation and calculating the score … ; (Paragraph 0151, "In this embodiment, the various node conditions involve a threshold of the robot operation parameters 335 relative to the reference data. By averaging robot operation parameters of several previously performed operation cycles, reference data indicative of normal operation has been obtained. One node condition involves, a relative Euclidian distance of newly obtained robot operation parameters 335 to the reference data. The Euclidian distance surpassing a relative threshold then corresponds to detection of an operation anomaly.") selecting the results of the clustering operation having a highest score; (Paragraph 0333-0334, "The node-specific parameter threshold of one of said one or more high-speed movement nodes of said respective program nodes may be larger than a node-specific parameter threshold of another of said respective program nodes. In relation to thresholds, larger and smaller may be understood relatively or absolutely. Typically, larger deviations from a desired movement trajectory may potentially be acceptable for high-speed movement, and hence having a larger threshold for such a program node is advantageous. The node-specific parameter threshold of one of said one or more precision movement nodes of said respective program nodes may be smaller than a node-specific parameter threshold of another of said respective program nodes. Typically, larger deviations from a desired movement trajectory are not acceptable for precision movement, and hence having a smaller threshold for such a program node is advantageous." This demonstrates the system monitoring the output of the clustering and making a determination based on the score being higher/lower. Please also see Paragraph 0062, "In this context, a threshold may also be absolute threshold, relative threshold (e.g. relative to average and/or relative to reference data), noise threshold (e.g. threshold of standard deviation of data). A threshold may further be in a multidimensional space, e.g. based on a Euclidian distance in a parameter space with an arbitrary number of dimensions. A threshold may also be defined relative to clusters of a subpopulation of data, e.g. a threshold may be defined by a certain multiple of standard deviations relative to a mean of a subpopulation of an overall population clustered via a gaussian mixture model. A threshold may also be defined by evaluating robot operation parameters individually relative to sub-thresholds of these parameters, and then combining (e.g. summing, weighted average, or variance) individual deviations from the sub-threshold to assess whether an overall threshold is surpassed.") separating the time-series data points into datasets according to cluster assignment in the selected results, where at least one of the datasets contains data points corresponding to an operating condition of the robot; (Paragraph 0259, "Optionally, the variational encoder may be implemented as a deep hybrid model, to exploit the representation learned by the above described one-pass variational encoder and indirectly exploit information from the program node ID, to improve accuracy and sensitivity of the anomaly detection. The deep hybrid model may e.g. be implemented as a variable autoencoder utilizing with Gaussian Mixture model. Advantageously, this improves accuracy and sensitivity of the anomaly detection autoencoder. In particular, features of the latent space (the latent layer), so called latent features, cluster themselves based on their program node ID. The deep hybrid model may exploit this by performing clustering in the latent space of the OPVAE and provide the outlier score as the log-likelihood of fitting into a cluster in the latent space. In particular, a Gaussian Mixture Model (GMM; Gaussian Mixture Model) with the same number of modes as the number of program node IDs can be implemented, e.g. under the assumption that the data instances map into clusters in the latent space of OPVAE based on which program node ID they are gathered under." as well as Paragraph 0022, " A robot operation program may be understood as executable code or software, upon which the robot controller can control the industrial robot and motion of the industrial robot. In typical industrial tasks, execution of a robot operation program may typically be repeated again and again, since industrial robots are typically suitable for performing repetitive tasks/cycles. A single execution of a robot operation program may typically correspond to operation of the industrial robot according to a single robot operation cycle, which may then be repeated. Two robot operation cycles may not necessarily be identical. A robot operation program may for example be based on decision tree structure, in which different operations are performed based on which object the industrial robot encounters. Further, note that embodiments of the invention are not restricted to performing multiple operational cycles, but may for example just perform a single cycle.") analyzing the datasets, including analyzing each of the datasets containing data points corresponding to an operating condition of the robot to identify data patterns; (Paragraph 0173, "In a next step S8 of the method, respective node condition sets are obtained. Each of the respective node condition sets specifies at least one node condition respectively associated with each of the respective program nodes. The at least one node condition of the node condition sets are established based on the machine learning algorithm 640, which is capable of identifying complex patterns in the node-specific reference data established in during the training session. Accordingly, each program node of the robot control program now has one or more node-specific constraints, which are suitable for distinguishing an operation anomaly from normal operation.") and sending an alert when an alert criteria is met in the analyzing. (Paragraph 0367, "By providing an anomaly notification to a user, the user can assess whether it is necessary to interrupt operation of the industrial robot, or whether to let it carry on, which is advantageous. The anomaly notification may for example be in the form of a visual and/or an auditory message or alarm, e.g. via speakers or lights in connection with the robot system. It may also be provided to a user interface, for example a user interface in connection with the robot controller. It may also or alternatively be provided via an internet connection, or other long-range communication means. The anomaly notification may be accompanied by various useful information such as video of the robot system recorded around the time of the occurrence of the anomaly, data (e.g. robot operation parameters), characterization of the anomaly etc.") GRAABÆK does not specifically disclose the creation of a new cluster as part of the anomaly detection process. However, Schmidt, in the same field of endeavor of anomaly detection, teaches: … for at least one new number of clusters (Page 6, Paragraphs 11-12, “Online anomaly detection offers the advantage that the method can be applied to new industrial processes, regardless of the model. The training procedure may encounter new classes and/or clusters that need to be detected or considered in anomaly prediction. It also determines whether additional classes exist. Preferably, the clustering also monitors whether additional clusters exist. If new classes and/or clusters emerge, old or known classes or clusters can be removed or deleted from the machine learning algorithm. Over time, the machine learning algorithm can adapt to new data time series, new processes, or changing conditions such as increasing wear and tear or aging of the industrial system.”) … It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the system and methods of operation as taught by GRAABÆK with the functionality of creating new clusters as taught by Schmidt. This would ensure that the anomaly detection may continue to effectively monitor the system by adapting to the operation as new processes are introduced. Regarding claim 2, wherein all the limitations of claim 1 are discussed above, GRAABÆK further teaches: 2. The method according to Claim 1 wherein the joint parameters include at least one parameter containing torque data for a joint of the robot. (Paragraph 0027, "Examples of robot operation parameters are external sensor data, joint data, force-torque data, time in program node, states of input and/or output ports of the controller, etc. Note that the invention is not restricted to these examples of robot operation parameters. Further, note that embodiments of the invention may optionally at least partially rely on robot operation parameters established in previous operation cycles of the robot system. For example, such parameters may serve as basis for establishment of node conditions. Thus, robot operation parameters as such are not necessarily restricted to a particular robot operation cycle.") Regarding claim 3, wherein all the limitations of claim 2 are discussed above, GRAABÆK further teaches: 3. The method according to Claim 2 wherein the joint parameters include joint torque at the joint, (Paragraph 0027, "Examples of robot operation parameters are external sensor data, joint data, force-torque data, time in program node, states of input and/or output ports of the controller, etc. Note that the invention is not restricted to these examples of robot operation parameters. Further, note that embodiments of the invention may optionally at least partially rely on robot operation parameters established in previous operation cycles of the robot system. For example, such parameters may serve as basis for establishment of node conditions. Thus, robot operation parameters as such are not necessarily restricted to a particular robot operation cycle.") disturbance torque at the joint (Paragraph 0047, "It should be mentioned that the robot operation parameters may also be based on internal operation parameters or only on internal operation parameters. By performing anomaly detection based on internal operation parameters, the anomaly detection can be performed without requiring additional external sensors, cameras, or other additional measurement devices, which is advantageous. Internal operation parameters may for example be understood as any parameters obtained by the industrial robot, e.g. by its own sensors. Internal operation parameters may further comprise parameters outputted by the robot controller, indicative of operation of the industrial robot. Internal operation parameters may also comprise interoceptive parameters. Examples of internal operation parameters are (actual and target) joint positions, joint velocities, joint currents, coordinates and orientation of the tool, temperatures, robot mode, tool mode, payload mass (as measured by the robot), etc. Furthermore, since such parameters are present in typical robots, use of these parameters permits a generic anomaly detection scheme which fits most applications, which is advantageous." as well as Paragraph 0027) and positional error at the joint, (Paragraph 0285, "The pre-processing block 502, comprises a number of pre-processing sub-blocks, which performs different pre-processing operations, as will be described below. The real-time exchange block 501, receives robot operation parameters from the industrial robot. A pre-processing operation could be to perform standardization to ensure that all features have similar dynamical ranges. Another pre-processing operation could be to perform compensation on some features to reduce sensor measurement errors." and Paragraph 0047, "It should be mentioned that the robot operation parameters may also be based on internal operation parameters or only on internal operation parameters. By performing anomaly detection based on internal operation parameters, the anomaly detection can be performed without requiring additional external sensors, cameras, or other additional measurement devices, which is advantageous. Internal operation parameters may for example be understood as any parameters obtained by the industrial robot, e.g. by its own sensors. Internal operation parameters may further comprise parameters outputted by the robot controller, indicative of operation of the industrial robot. Internal operation parameters may also comprise interoceptive parameters. Examples of internal operation parameters are (actual and target) joint positions, joint velocities, joint currents, coordinates and orientation of the tool, temperatures, robot mode, tool mode, payload mass (as measured by the robot), etc. Furthermore, since such parameters are present in typical robots, use of these parameters permits a generic anomaly detection scheme which fits most applications, which is advantageous.") where disturbance torque is a difference between a theoretically estimated torque and an actual torque. (Paragraph 0047, "It should be mentioned that the robot operation parameters may also be based on internal operation parameters or only on internal operation parameters. By performing anomaly detection based on internal operation parameters, the anomaly detection can be performed without requiring additional external sensors, cameras, or other additional measurement devices, which is advantageous. Internal operation parameters may for example be understood as any parameters obtained by the industrial robot, e.g. by its own sensors. Internal operation parameters may further comprise parameters outputted by the robot controller, indicative of operation of the industrial robot. Internal operation parameters may also comprise interoceptive parameters. Examples of internal operation parameters are (actual and target) joint positions, joint velocities, joint currents, coordinates and orientation of the tool, temperatures, robot mode, tool mode, payload mass (as measured by the robot), etc. Furthermore, since such parameters are present in typical robots, use of these parameters permits a generic anomaly detection scheme which fits most applications, which is advantageous." as well as Paragraph 0027) Regarding claim 4, wherein all the limitations of claim 1 are discussed above, GRAABÆK further teaches: 4. The method according to Claim 1 wherein the time-series data (Paragraph 0194, "Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous." and Paragraph 0289, "As the sample frequency may vary from the mentioned 100 Hz and 500 Hz, the number of robot operation parameters may also vary from the mentioned 251. Among the most relevant robot operation parameters (i.e. providing most relevant information of an anomaly) are tool center point force-torque data, timestamps, and joint data, such as joint configuration, joint velocity and joint current.") includes at least two different operating conditions of operation of the robot. (Paragraph 0022, " A robot operation program may be understood as executable code or software, upon which the robot controller can control the industrial robot and motion of the industrial robot. In typical industrial tasks, execution of a robot operation program may typically be repeated again and again, since industrial robots are typically suitable for performing repetitive tasks/cycles. A single execution of a robot operation program may typically correspond to operation of the industrial robot according to a single robot operation cycle, which may then be repeated. Two robot operation cycles may not necessarily be identical. A robot operation program may for example be based on decision tree structure, in which different operations are performed based on which object the industrial robot encounters. Further, note that embodiments of the invention are not restricted to performing multiple operational cycles, but may for example just perform a single cycle.") Regarding claim 5, wherein all the limitations of claim 4 are discussed above, GRAABÆK further teaches: 5. The method according to Claim 4 wherein the operation of the robot switches back and forth between the different operating conditions any number of times (Paragraph 0022, " A robot operation program may be understood as executable code or software, upon which the robot controller can control the industrial robot and motion of the industrial robot. In typical industrial tasks, execution of a robot operation program may typically be repeated again and again, since industrial robots are typically suitable for performing repetitive tasks/cycles. A single execution of a robot operation program may typically correspond to operation of the industrial robot according to a single robot operation cycle, which may then be repeated. Two robot operation cycles may not necessarily be identical. A robot operation program may for example be based on decision tree structure, in which different operations are performed based on which object the industrial robot encounters. Further, note that embodiments of the invention are not restricted to performing multiple operational cycles, but may for example just perform a single cycle.") during the collecting of the time-series data. (Paragraph 0194, "Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous." and Paragraph 0289, "As the sample frequency may vary from the mentioned 100 Hz and 500 Hz, the number of robot operation parameters may also vary from the mentioned 251. Among the most relevant robot operation parameters (i.e. providing most relevant information of an anomaly) are tool center point force-torque data, timestamps, and joint data, such as joint configuration, joint velocity and joint current.") Regarding claim 6, wherein all the limitations of claim 4 are discussed above, GRAABÆK further teaches: 6. The method according to Claim 4 wherein, after separating the time-series data points into datasets according to cluster assignment, the data points from each of the different operating conditions are contained in a different dataset. (Paragraph 0259, "Optionally, the variational encoder may be implemented as a deep hybrid model, to exploit the representation learned by the above described one-pass variational encoder and indirectly exploit information from the program node ID, to improve accuracy and sensitivity of the anomaly detection. The deep hybrid model may e.g. be implemented as a variable autoencoder utilizing with Gaussian Mixture model. Advantageously, this improves accuracy and sensitivity of the anomaly detection autoencoder. In particular, features of the latent space (the latent layer), so called latent features, cluster themselves based on their program node ID. The deep hybrid model may exploit this by performing clustering in the latent space of the OPVAE and provide the outlier score as the log-likelihood of fitting into a cluster in the latent space. In particular, a Gaussian Mixture Model (GMM; Gaussian Mixture Model) with the same number of modes as the number of program node IDs can be implemented, e.g. under the assumption that the data instances map into clusters in the latent space of OPVAE based on which program node ID they are gathered under.") Regarding claim 7, wherein all the limitations of claim 1 are discussed above, GRAABÆK further teaches: 7. The method according to Claim 1 wherein separating the time-series data points into datasets and analyzing the datasets are only performed when the highest score is greater than a predefined threshold. (Paragraph 0176-0177, "These two steps of executing the robot operation program S9 and comparing the at least one node condition S10 are performed simultaneously and repetitively by the robot in its application. During typical robot operation cycles, no anomalies are detected. However, if the robot operation parameters exceed the any of the various node constraints, the method proceeds to the next step S11 of the method In this next step S11 of the method, an operation anomaly is detected based on the step S10 of comparing at least one node condition. In this embodiment an anomaly notification is provided to a user or the operator associated with the industrial robot. Upon this, the user or the operator may decide to reconfigure the robot control program, corresponding to providing a new robot control program. Upon this, any of the steps of the method may be repeated, as indicated by the arrow from the step of detecting the operation anomaly S11 to the step of providing a robot control program S6. Such repetition of steps may involve establishment of new reference data, optionally in combination with recycling at least a part of the previous reference data." This demonstrates that the analysis for determining anomalies is performed when a threshold/constraint is exceeded.) Regarding claim 8, wherein all the limitations of claim 1 are discussed above, GRAABÆK further teaches: 8. The method according to Claim 1 wherein the clustering operation uses K-means clustering and the number of clusters is K. (Paragraph 0211, "Methods such as k-means clustering may be applied to define the clusters including the centroids of the clusters. However, different and/or more advanced methods may also be applied, e.g. depending on the implementation of the invention and the computational power of the controller of the robot system.") Regarding claim 12, wherein all the limitations of claim 1 are discussed above, GRAABÆK further teaches: 12. The method according to Claim 1 wherein analyzing the datasets includes separately analyzing the datasets for each joint parameter for each cluster. (Paragraph 0014, "A robot system according to the invention has node conditions associated with different respective program nodes, which relate to separate operational elements of the robot operation cycle. With this segmentation of conditions into respective conditions sets relating to separate operational elements, it may be possible to identify and isolate the operational element in which an anomaly occurs, which is advantageous, e.g. for trouble shooting." as well as Paragraph 0149, "Each of the various node conditions 333na, 333nb, . . . 333nn determine a condition for when operation according to the associated program node can be considered normal, and thus also conditions for operation anomalies (when operation is not normal). Since operation of the industrial robot is prone to different types of operation anomalies during the separate operational elements, anomaly detection is most optimally performed by having different node conditions in association with the different program nodes.") Regarding claim 13, wherein all the limitations of claim 1 are discussed above, GRAABÆK further teaches: 13. The method according to Claim 1 wherein one of the datasets contains outlier data points not corresponding to an operating condition of the robot, and the outlier data points are analyzed to detect any robot operational anomalies. (Paragraph 0193-0194, "FIG. 8c illustrates a plurality of collective outliers highlighted by the arrow 861. The collective outliers reflect anomaly data 861 that may not initially be distinguishable from the surrounding noisy reference data, but as more and more robot operation parameters are obtained during robot operation, the anomaly becomes evident because of the more constant nature of the anomaly relative to the noise surrounding the data reflecting the anomaly. Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous.") Regarding claim 14, GRAABÆK further teaches: 14. A system for robot data analysis, said system comprising: means for collecting time-series data for a plurality of joint parameters during operation of a robot; (Paragraph 0194, "Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous." and Paragraph 0289, "As the sample frequency may vary from the mentioned 100 Hz and 500 Hz, the number of robot operation parameters may also vary from the mentioned 251. Among the most relevant robot operation parameters (i.e. providing most relevant information of an anomaly) are tool center point force-torque data, timestamps, and joint data, such as joint configuration, joint velocity and joint current.") and a computing device with a processor and memory configured for; (Paragraph 0021, “A robot controller may be understood as a controller for controlling operation of the robot arm. It may typically comprise a processor and memory and may control the individual motors of the industrial robot, e.g. based on a robot operation program such that the robot moves according to the robot operation program. The robot controller may optionally facilitate the anomaly detection block. The anomaly detection block may for example be integrated as part of the memory and the processor of the robot controller.”) performing a clustering operation on the time-series data using a first number of clusters to assign each time-series data point to one of the clusters; (Paragraph 0100, "The invention may utilize machine learning and artificial intelligence for different tasks, such as clustering, establishing reference data, establishing node conditions, encoding/decoding, modifying conditions and any combination thereof. For these difference purposes, different algorithms may be utilized, or a single algorithm for different tasks may be used." and Paragraph 0364, "The method may further comprise a step of establishing said respective program nodes based on clustering of said node-specific reference data by said machine learning algorithm. Clustering of data may for example serve as an advantageous starting point for establishment of node conditions or for defining the node conditions (e.g. does robot operation parameters lie outside or inside a cluster?). Alternatively, the nodes may even be defined based on clustering of reference data. The clustering may for example be performed via a gaussian mixture model.") calculating a cluster consistency score for results of the clustering operation with the number of clusters; (Paragraphs 0062-0063, "In this context, a threshold may also be absolute threshold, relative threshold (e.g. relative to average and/or relative to reference data), noise threshold (e.g. threshold of standard deviation of data). A threshold may further be in a multidimensional space, e.g. based on a Euclidian distance in a parameter space with an arbitrary number of dimensions. A threshold may also be defined relative to clusters of a subpopulation of data, e.g. a threshold may be defined by a certain multiple of standard deviations relative to a mean of a subpopulation of an overall population clustered via a gaussian mixture model. A threshold may also be defined by evaluating robot operation parameters individually relative to sub-thresholds of these parameters, and then combining (e.g. summing, weighted average, or variance) individual deviations from the sub-threshold to assess whether an overall threshold is surpassed. A node-specific parameter threshold may also refer to a threshold of a parameter derived from the one or more robot operation parameters. E.g. a score indicative of the degree of which parameters deviate from normal or expected behavior.") performing the clustering operation and calculating the score … ; (Paragraph 0151, "In this embodiment, the various node conditions involve a threshold of the robot operation parameters 335 relative to the reference data. By averaging robot operation parameters of several previously performed operation cycles, reference data indicative of normal operation has been obtained. One node condition involves, a relative Euclidian distance of newly obtained robot operation parameters 335 to the reference data. The Euclidian distance surpassing a relative threshold then corresponds to detection of an operation anomaly.") selecting the results of the clustering operation having a highest score; (Paragraph 0333-0334, "The node-specific parameter threshold of one of said one or more high-speed movement nodes of said respective program nodes may be larger than a node-specific parameter threshold of another of said respective program nodes. In relation to thresholds, larger and smaller may be understood relatively or absolutely. Typically, larger deviations from a desired movement trajectory may potentially be acceptable for high-speed movement, and hence having a larger threshold for such a program node is advantageous. The node-specific parameter threshold of one of said one or more precision movement nodes of said respective program nodes may be smaller than a node-specific parameter threshold of another of said respective program nodes. Typically, larger deviations from a desired movement trajectory are not acceptable for precision movement, and hence having a smaller threshold for such a program node is advantageous." This demonstrates the system monitoring the output of the clustering and making a determination based on the score being higher/lower. Please also see Paragraph 0062, "In this context, a threshold may also be absolute threshold, relative threshold (e.g. relative to average and/or relative to reference data), noise threshold (e.g. threshold of standard deviation of data). A threshold may further be in a multidimensional space, e.g. based on a Euclidian distance in a parameter space with an arbitrary number of dimensions. A threshold may also be defined relative to clusters of a subpopulation of data, e.g. a threshold may be defined by a certain multiple of standard deviations relative to a mean of a subpopulation of an overall population clustered via a gaussian mixture model. A threshold may also be defined by evaluating robot operation parameters individually relative to sub-thresholds of these parameters, and then combining (e.g. summing, weighted average, or variance) individual deviations from the sub-threshold to assess whether an overall threshold is surpassed.") separating the time-series data points into datasets according to cluster assignment in the selected results, where at least one of the datasets contains data points corresponding to an operating condition of the robot; (Paragraph 0259, "Optionally, the variational encoder may be implemented as a deep hybrid model, to exploit the representation learned by the above described one-pass variational encoder and indirectly exploit information from the program node ID, to improve accuracy and sensitivity of the anomaly detection. The deep hybrid model may e.g. be implemented as a variable autoencoder utilizing with Gaussian Mixture model. Advantageously, this improves accuracy and sensitivity of the anomaly detection autoencoder. In particular, features of the latent space (the latent layer), so called latent features, cluster themselves based on their program node ID. The deep hybrid model may exploit this by performing clustering in the latent space of the OPVAE and provide the outlier score as the log-likelihood of fitting into a cluster in the latent space. In particular, a Gaussian Mixture Model (GMM; Gaussian Mixture Model) with the same number of modes as the number of program node IDs can be implemented, e.g. under the assumption that the data instances map into clusters in the latent space of OPVAE based on which program node ID they are gathered under." as well as Paragraph 0022, " A robot operation program may be understood as executable code or software, upon which the robot controller can control the industrial robot and motion of the industrial robot. In typical industrial tasks, execution of a robot operation program may typically be repeated again and again, since industrial robots are typically suitable for performing repetitive tasks/cycles. A single execution of a robot operation program may typically correspond to operation of the industrial robot according to a single robot operation cycle, which may then be repeated. Two robot operation cycles may not necessarily be identical. A robot operation program may for example be based on decision tree structure, in which different operations are performed based on which object the industrial robot encounters. Further, note that embodiments of the invention are not restricted to performing multiple operational cycles, but may for example just perform a single cycle.") analyzing the datasets, including analyzing each of the datasets containing data points corresponding to an operating condition of the robot to identify data patterns; (Paragraph 0173, "In a next step S8 of the method, respective node condition sets are obtained. Each of the respective node condition sets specifies at least one node condition respectively associated with each of the respective program nodes. The at least one node condition of the node condition sets are established based on the machine learning algorithm 640, which is capable of identifying complex patterns in the node-specific reference data established in during the training session. Accordingly, each program node of the robot control program now has one or more node-specific constraints, which are suitable for distinguishing an operation anomaly from normal operation.") and sending an alert when an alert criteria is met in the analyzing. (Paragraph 0367, "By providing an anomaly notification to a user, the user can assess whether it is necessary to interrupt operation of the industrial robot, or whether to let it carry on, which is advantageous. The anomaly notification may for example be in the form of a visual and/or an auditory message or alarm, e.g. via speakers or lights in connection with the robot system. It may also be provided to a user interface, for example a user interface in connection with the robot controller. It may also or alternatively be provided via an internet connection, or other long-range communication means. The anomaly notification may be accompanied by various useful information such as video of the robot system recorded around the time of the occurrence of the anomaly, data (e.g. robot operation parameters), characterization of the anomaly etc.") GRAABÆK does not specifically disclose the creation of a new cluster as part of the anomaly detection process. However, Schmidt, in the same field of endeavor of anomaly detection, teaches: … for at least one new number of clusters (Page 6, Paragraphs 11-12, “Online anomaly detection offers the advantage that the method can be applied to new industrial processes, regardless of the model. The training procedure may encounter new classes and/or clusters that need to be detected or considered in anomaly prediction. It also determines whether additional classes exist. Preferably, the clustering also monitors whether additional clusters exist. If new classes and/or clusters emerge, old or known classes or clusters can be removed or deleted from the machine learning algorithm. Over time, the machine learning algorithm can adapt to new data time series, new processes, or changing conditions such as increasing wear and tear or aging of the industrial system.”) … It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the system and methods of operation as taught by GRAABÆK with the functionality of creating new clusters as taught by Schmidt. This would ensure that the anomaly detection may continue to effectively monitor the system by adapting to the operation as new processes are introduced. Regarding claim 15, wherein all the limitations of claim 14 are discussed above, GRAABÆK further teaches: 15. The system according to Claim 14 wherein the joint parameters include at least one parameter containing torque data for a joint of the robot. (Paragraph 0027, "Examples of robot operation parameters are external sensor data, joint data, force-torque data, time in program node, states of input and/or output ports of the controller, etc. Note that the invention is not restricted to these examples of robot operation parameters. Further, note that embodiments of the invention may optionally at least partially rely on robot operation parameters established in previous operation cycles of the robot system. For example, such parameters may serve as basis for establishment of node conditions. Thus, robot operation parameters as such are not necessarily restricted to a particular robot operation cycle.") Regarding claim 16, wherein all the limitations of claim 15 are discussed above, GRAABÆK further teaches: 16. The system according to Claim 15 wherein the joint parameters include joint torque at the joint, (Paragraph 0027, "Examples of robot operation parameters are external sensor data, joint data, force-torque data, time in program node, states of input and/or output ports of the controller, etc. Note that the invention is not restricted to these examples of robot operation parameters. Further, note that embodiments of the invention may optionally at least partially rely on robot operation parameters established in previous operation cycles of the robot system. For example, such parameters may serve as basis for establishment of node conditions. Thus, robot operation parameters as such are not necessarily restricted to a particular robot operation cycle.") disturbance torque at the joint (Paragraph 0047, "It should be mentioned that the robot operation parameters may also be based on internal operation parameters or only on internal operation parameters. By performing anomaly detection based on internal operation parameters, the anomaly detection can be performed without requiring additional external sensors, cameras, or other additional measurement devices, which is advantageous. Internal operation parameters may for example be understood as any parameters obtained by the industrial robot, e.g. by its own sensors. Internal operation parameters may further comprise parameters outputted by the robot controller, indicative of operation of the industrial robot. Internal operation parameters may also comprise interoceptive parameters. Examples of internal operation parameters are (actual and target) joint positions, joint velocities, joint currents, coordinates and orientation of the tool, temperatures, robot mode, tool mode, payload mass (as measured by the robot), etc. Furthermore, since such parameters are present in typical robots, use of these parameters permits a generic anomaly detection scheme which fits most applications, which is advantageous." as well as Paragraph 0027) and positional error at the joint, (Paragraph 0285, "The pre-processing block 502, comprises a number of pre-processing sub-blocks, which performs different pre-processing operations, as will be described below. The real-time exchange block 501, receives robot operation parameters from the industrial robot. A pre-processing operation could be to perform standardization to ensure that all features have similar dynamical ranges. Another pre-processing operation could be to perform compensation on some features to reduce sensor measurement errors." and Paragraph 0047, "It should be mentioned that the robot operation parameters may also be based on internal operation parameters or only on internal operation parameters. By performing anomaly detection based on internal operation parameters, the anomaly detection can be performed without requiring additional external sensors, cameras, or other additional measurement devices, which is advantageous. Internal operation parameters may for example be understood as any parameters obtained by the industrial robot, e.g. by its own sensors. Internal operation parameters may further comprise parameters outputted by the robot controller, indicative of operation of the industrial robot. Internal operation parameters may also comprise interoceptive parameters. Examples of internal operation parameters are (actual and target) joint positions, joint velocities, joint currents, coordinates and orientation of the tool, temperatures, robot mode, tool mode, payload mass (as measured by the robot), etc. Furthermore, since such parameters are present in typical robots, use of these parameters permits a generic anomaly detection scheme which fits most applications, which is advantageous.") where disturbance torque is a difference between a theoretically estimated torque and an actual torque. (Paragraph 0047, "It should be mentioned that the robot operation parameters may also be based on internal operation parameters or only on internal operation parameters. By performing anomaly detection based on internal operation parameters, the anomaly detection can be performed without requiring additional external sensors, cameras, or other additional measurement devices, which is advantageous. Internal operation parameters may for example be understood as any parameters obtained by the industrial robot, e.g. by its own sensors. Internal operation parameters may further comprise parameters outputted by the robot controller, indicative of operation of the industrial robot. Internal operation parameters may also comprise interoceptive parameters. Examples of internal operation parameters are (actual and target) joint positions, joint velocities, joint currents, coordinates and orientation of the tool, temperatures, robot mode, tool mode, payload mass (as measured by the robot), etc. Furthermore, since such parameters are present in typical robots, use of these parameters permits a generic anomaly detection scheme which fits most applications, which is advantageous." as well as Paragraph 0027) Regarding claim 17, wherein all the limitations of claim 14 are discussed above, GRAABÆK further teaches: 17. The system according to Claim 14 wherein the time-series data (Paragraph 0194, "Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous." and Paragraph 0289, "As the sample frequency may vary from the mentioned 100 Hz and 500 Hz, the number of robot operation parameters may also vary from the mentioned 251. Among the most relevant robot operation parameters (i.e. providing most relevant information of an anomaly) are tool center point force-torque data, timestamps, and joint data, such as joint configuration, joint velocity and joint current.") includes at least two different operating conditions of operation of the robot. (Paragraph 0022, " A robot operation program may be understood as executable code or software, upon which the robot controller can control the industrial robot and motion of the industrial robot. In typical industrial tasks, execution of a robot operation program may typically be repeated again and again, since industrial robots are typically suitable for performing repetitive tasks/cycles. A single execution of a robot operation program may typically correspond to operation of the industrial robot according to a single robot operation cycle, which may then be repeated. Two robot operation cycles may not necessarily be identical. A robot operation program may for example be based on decision tree structure, in which different operations are performed based on which object the industrial robot encounters. Further, note that embodiments of the invention are not restricted to performing multiple operational cycles, but may for example just perform a single cycle.") Regarding claim 18, wherein all the limitations of claim 17 are discussed above, GRAABÆK further teaches: 18. The system according to Claim 17 wherein the operation of the robot switches back and forth between the different operating conditions any number of times (Paragraph 0022, " A robot operation program may be understood as executable code or software, upon which the robot controller can control the industrial robot and motion of the industrial robot. In typical industrial tasks, execution of a robot operation program may typically be repeated again and again, since industrial robots are typically suitable for performing repetitive tasks/cycles. A single execution of a robot operation program may typically correspond to operation of the industrial robot according to a single robot operation cycle, which may then be repeated. Two robot operation cycles may not necessarily be identical. A robot operation program may for example be based on decision tree structure, in which different operations are performed based on which object the industrial robot encounters. Further, note that embodiments of the invention are not restricted to performing multiple operational cycles, but may for example just perform a single cycle.") during the collecting of the time-series data. (Paragraph 0194, "Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous." and Paragraph 0289, "As the sample frequency may vary from the mentioned 100 Hz and 500 Hz, the number of robot operation parameters may also vary from the mentioned 251. Among the most relevant robot operation parameters (i.e. providing most relevant information of an anomaly) are tool center point force-torque data, timestamps, and joint data, such as joint configuration, joint velocity and joint current.") Regarding claim 19, wherein all the limitations of claim 17 are discussed above, GRAABÆK further teaches: 19. The system according to Claim 17 wherein, after separating the time-series data points into datasets according to cluster assignment, the data points from each of the different operating conditions are contained in a different dataset. (Paragraph 0259, "Optionally, the variational encoder may be implemented as a deep hybrid model, to exploit the representation learned by the above described one-pass variational encoder and indirectly exploit information from the program node ID, to improve accuracy and sensitivity of the anomaly detection. The deep hybrid model may e.g. be implemented as a variable autoencoder utilizing with Gaussian Mixture model. Advantageously, this improves accuracy and sensitivity of the anomaly detection autoencoder. In particular, features of the latent space (the latent layer), so called latent features, cluster themselves based on their program node ID. The deep hybrid model may exploit this by performing clustering in the latent space of the OPVAE and provide the outlier score as the log-likelihood of fitting into a cluster in the latent space. In particular, a Gaussian Mixture Model (GMM; Gaussian Mixture Model) with the same number of modes as the number of program node IDs can be implemented, e.g. under the assumption that the data instances map into clusters in the latent space of OPVAE based on which program node ID they are gathered under.") Regarding claim 20, wherein all the limitations of claim 14 are discussed above, GRAABÆK further teaches: 20. The system according to Claim 14 separating the time-series data points into datasets and analyzing the datasets are only performed when the highest score is greater than a predefined threshold. (Paragraph 0176-0177, "These two steps of executing the robot operation program S9 and comparing the at least one node condition S10 are performed simultaneously and repetitively by the robot in its application. During typical robot operation cycles, no anomalies are detected. However, if the robot operation parameters exceed the any of the various node constraints, the method proceeds to the next step S11 of the method In this next step S11 of the method, an operation anomaly is detected based on the step S10 of comparing at least one node condition. In this embodiment an anomaly notification is provided to a user or the operator associated with the industrial robot. Upon this, the user or the operator may decide to reconfigure the robot control program, corresponding to providing a new robot control program. Upon this, any of the steps of the method may be repeated, as indicated by the arrow from the step of detecting the operation anomaly S11 to the step of providing a robot control program S6. Such repetition of steps may involve establishment of new reference data, optionally in combination with recycling at least a part of the previous reference data." This demonstrates that the analysis for determining anomalies is performed when a threshold/constraint is exceeded.) Regarding claim 21, wherein all the limitations of claim 14 are discussed above, GRAABÆK further teaches: 21. The system according to Claim 14 wherein the clustering operation uses K-means clustering and the number of clusters is K. (Paragraph 0211, "Methods such as k-means clustering may be applied to define the clusters including the centroids of the clusters. However, different and/or more advanced methods may also be applied, e.g. depending on the implementation of the invention and the computational power of the controller of the robot system.") Regarding claim 25, wherein all the limitations of claim 14 are discussed above, GRAABÆK further teaches: 25. The system according to Claim 14 wherein analyzing the datasets includes separately analyzing the datasets for each joint parameter for each cluster. (Paragraph 0014, "A robot system according to the invention has node conditions associated with different respective program nodes, which relate to separate operational elements of the robot operation cycle. With this segmentation of conditions into respective conditions sets relating to separate operational elements, it may be possible to identify and isolate the operational element in which an anomaly occurs, which is advantageous, e.g. for trouble shooting." as well as Paragraph 0149, "Each of the various node conditions 333na, 333nb, . . . 333nn determine a condition for when operation according to the associated program node can be considered normal, and thus also conditions for operation anomalies (when operation is not normal). Since operation of the industrial robot is prone to different types of operation anomalies during the separate operational elements, anomaly detection is most optimally performed by having different node conditions in association with the different program nodes.") Regarding claim 26, wherein all the limitations of claim 14 are discussed above, GRAABÆK further teaches: 26. The system according to Claim 14 wherein the means for collecting time-series data is a robot controller, and the computing device is either the robot controller or a different computer. (Paragraph 0012, "A robot system comprising a robot controller capable of detecting an anomaly related to the operation of the robot is advantageous in that it has the effect that no additional external control/monitoring system is required. Thereby, the need for integration of such external system into the robot system is avoided as well as the expenses to such external system.") Regarding claim 27, wherein all the limitations of claim 14 are discussed above, GRAABÆK further teaches: 27. The system according to Claim 14 wherein one of the datasets contains outlier data points not corresponding to an operating condition of the robot, and the outlier data points are analyzed to detect any robot operational anomalies. (Paragraph 0193-0194, "FIG. 8c illustrates a plurality of collective outliers highlighted by the arrow 861. The collective outliers reflect anomaly data 861 that may not initially be distinguishable from the surrounding noisy reference data, but as more and more robot operation parameters are obtained during robot operation, the anomaly becomes evident because of the more constant nature of the anomaly relative to the noise surrounding the data reflecting the anomaly. Although one outlier may indicate an anomaly, the outlier may also be the result of e.g. noise as illustrated. However, repeating outliers located at the same position in a feature space may substantiate that an anomaly is occurring or has occurred. Accordingly, advantageously, the anomaly detection of the invention may optionally evaluate time series data to detect an anomaly based on detection of collective outliers, which is advantageous.") Claim(s) 9-11 and 22-24 is/are rejected under 35 U.S.C. 103 as being unpatentable over GRAABÆK in view of Schmidt and in further view of Shutaywi et al. (“Silhouette Analysis for Performance Evaluation in Machine Learning with Applications to Clustering”), hereinafter Shutaywi. Regarding claim 9, where all the limitations of claim 8 are discussed above, GRAABÆK does not specifically discuss the details of the K-means clustering algorithm. However, Shutaywi, in the same field of endeavor of data analysis using clustering methods, teaches: 9. The method according to Claim 8 wherein a range of the numbers K is predefined, (Page 1, Section 1, "The number of clusters is often unknown and must be chosen for cluster analysis. Hence, either the number of clusters is specified by the user or it must be estimated using an overall distance measure such as the sum of the squared distances of elements from their cluster centers. An objective function is optimized by minimizing the distance of elements to their cluster centers (within-cluster distance) and/or maximizing the distance between cluster centers (between-cluster distance). ") and performing the K-means clustering operation and calculating the score are performed for each of the numbers K in the range. (Page 2, Section 1, "K-means is a well-known clustering method with the aim of minimizing the Euclidean distance between each point and the center of the cluster to which it belongs.") It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the methods of analyzing joint data using K-means analysis as taught by GRAABÆK with the details of the K-means clustering operations as taught by Shutaywi. This would allow for an effective way to identify patterns within the gathered data where training and supervision are not available, thereby decreasing the amount of human intervention needed in the process. Regarding claim 10, where all the limitations of claim 8 are discussed above, GRAABÆK does not specifically discuss the details of the K-means clustering algorithm. However, Shutaywi, in the same field of endeavor of data analysis using clustering methods, teaches: 10. The method according to Claim 8 wherein performing a K-means clustering operation includes defining a quantity of means equal to the number K, associating each of the data points with a nearest of the means in vector space, defining spatial clusters each containing one mean and its associated data points, calculating a new mean for each cluster, and repeating associating, defining and calculating until an amount of change from one iteration to the next is below a predefined threshold. (Page 2, Section 2.1, "K-means choose K centers such that the total squared distances of each point and its cluster center is minimized. K-means technique can be summarized by first selecting K arbitrary centers, which are usually, as Lloyd’s algorithm suggests, uniformly selected at random from the data. Second, we must calculate the Euclidean distance between each element and all cluster centers separately, and assign each element to its closest cluster center. Third, new cluster centers are obtained by averaging the Euclidean distances of all elements grouped in the same cluster in Step 2. Finally, the second and the third steps are repeated until the algorithm converges, i.e., cluster centers obtained in current iteration are the same or very close to the cluster centers obtained in the previous iteration. K-means objective functions can be written as ∑K k = 1 ∑xi∈ πk kxi − µkk 2, where πk is cluster k, µk is the center of cluster k, and k · k is the Euclidean distance.") It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the methods of analyzing joint data using K-means analysis as taught by GRAABÆK with the details of the K-means clustering operations as taught by Shutaywi. This would allow for an effective way to identify patterns within the gathered data where training and supervision are not available, thereby decreasing the amount of human intervention needed in the process. Regarding claim 11, where all the limitations of claim 1 are discussed above, GRAABÆK does not specifically discuss the details of the K-means clustering algorithm. However, Shutaywi, in the same field of endeavor of data analysis using clustering methods, teaches: 11. The method according to Claim 1 wherein the cluster consistency score is a silhouette score, and calculating a silhouette score includes computing a distance from each data point to all other data points in a same cluster (intra-cluster distances) and computing a distance from each data point to all other data points in other clusters (inter-cluster distances), and the silhouette score is calculated using a computation in which a higher silhouette score results from larger inter-cluster distances and smaller intra-cluster distances. (Please see section 2.3 which discusses what the silhouette index is and how it is used in k-means clustering operations to evaluate the results of the clustering. " There are several methods to evaluate clustering results, such as the Rand index [13], adjusted Rand index [14], distortion score [11], and Silhouette index. While most of the performance evaluation methods need a training set, the Silhouette index does not need a training set to evaluate the clustering results. This makes it more appropriate for a clustering task. In this work, we use the Silhouette index to evaluate the clustering performance") It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the methods of analyzing joint data using K-means analysis as taught by GRAABÆK with the details of the K-means clustering operations as taught by Shutaywi. This would allow for an effective way to identify patterns within the gathered data where training and supervision are not available, thereby decreasing the amount of human intervention needed in the process. Regarding claim 22, where all the limitations of claim 21 are discussed above, GRAABÆK does not specifically discuss the details of the K-means clustering algorithm. However, Shutaywi, in the same field of endeavor of data analysis using clustering methods, teaches: 22. The system according to Claim 21 wherein a range of the numbers K is predefined, (Page 1, Section 1, "The number of clusters is often unknown and must be chosen for cluster analysis. Hence, either the number of clusters is specified by the user or it must be estimated using an overall distance measure such as the sum of the squared distances of elements from their cluster centers. An objective function is optimized by minimizing the distance of elements to their cluster centers (within-cluster distance) and/or maximizing the distance between cluster centers (between-cluster distance). ") and performing the K-means clustering operation and calculating the score are performed for each of the numbers K in the range. (Page 2, Section 1, "K-means is a well-known clustering method with the aim of minimizing the Euclidean distance between each point and the center of the cluster to which it belongs.") It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the methods of analyzing joint data using K-means analysis as taught by GRAABÆK with the details of the K-means clustering operations as taught by Shutaywi. This would allow for an effective way to identify patterns within the gathered data where training and supervision are not available, thereby decreasing the amount of human intervention needed in the process. Regarding claim 23, where all the limitations of claim 21 are discussed above, GRAABÆK does not specifically discuss the details of the K-means clustering algorithm. However, Shutaywi, in the same field of endeavor of data analysis using clustering methods, teaches: 23. The system according to Claim 21 wherein performing a K-means clustering operation includes defining a quantity of means equal to the number K, associating each of the data points with a nearest of the means in vector space, defining spatial clusters each containing one mean and its associated data points, calculating a new mean for each cluster, and repeating associating, defining and calculating until an amount of change from one iteration to the next is below a predefined threshold. (Page 2, Section 2.1, "K-means choose K centers such that the total squared distances of each point and its cluster center is minimized. K-means technique can be summarized by first selecting K arbitrary centers, which are usually, as Lloyd’s algorithm suggests, uniformly selected at random from the data. Second, we must calculate the Euclidean distance between each element and all cluster centers separately, and assign each element to its closest cluster center. Third, new cluster centers are obtained by averaging the Euclidean distances of all elements grouped in the same cluster in Step 2. Finally, the second and the third steps are repeated until the algorithm converges, i.e., cluster centers obtained in current iteration are the same or very close to the cluster centers obtained in the previous iteration. K-means objective functions can be written as ∑K k = 1 ∑xi∈ πk kxi − µkk 2, where πk is cluster k, µk is the center of cluster k, and k · k is the Euclidean distance.") It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the methods of analyzing joint data using K-means analysis as taught by GRAABÆK with the details of the K-means clustering operations as taught by Shutaywi. This would allow for an effective way to identify patterns within the gathered data where training and supervision are not available, thereby decreasing the amount of human intervention needed in the process. Regarding claim 24, where all the limitations of claim 14 are discussed above, GRAABÆK does not specifically discuss the details of the K-means clustering algorithm. However, Shutaywi, in the same field of endeavor of data analysis using clustering methods, teaches: 24. The system according to Claim 14 wherein the cluster consistency score is a silhouette score, and calculating a silhouette score includes computing a distance from each data point to all other data points in a same cluster (intra-cluster distances) and computing a distance from each data point to all other data points in other clusters (inter-cluster distances), and the silhouette score is calculated using a computation in which a higher silhouette score results from larger inter-cluster distances and smaller intra-cluster distances. (Please see section 2.3 which discusses what the silhouette index is and how it is used in k-means clustering operations to evaluate the results of the clustering. " There are several methods to evaluate clustering results, such as the Rand index [13], adjusted Rand index [14], distortion score [11], and Silhouette index. While most of the performance evaluation methods need a training set, the Silhouette index does not need a training set to evaluate the clustering results. This makes it more appropriate for a clustering task. In this work, we use the Silhouette index to evaluate the clustering performance") It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention to combine the methods of analyzing joint data using K-means analysis as taught by GRAABÆK with the details of the K-means clustering operations as taught by Shutaywi. This would allow for an effective way to identify patterns within the gathered data where training and supervision are not available, thereby decreasing the amount of human intervention needed in the process. Conclusion The Examiner has cited particular paragraphs or columns and line numbers in the referencesapplied to the claims above for the convenience of the Applicant. Although the specified citations arerepresentative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested of the Applicant in preparing responses, to fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the Examiner. See MPEP 2141.02 [R-07.2015] VI. A prior art reference must be considered in its entirety, i.e., as a whole, including portions that would lead away from the claimed Invention. W.L. Gore & Associates, Inc. v. Garlock, Inc., 721 F.2d 1540, 220 USPQ 303 (Fed. Cir. 1983), cert, denied, 469 U.S. 851 (1984). See also MPEP §2123. The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US-20230078625-A1 Any inquiry concerning this communication or earlier communications from the examiner should be directed to HEATHER KENIRY whose telephone number is (571)270-5468. The examiner can normally be reached M-F 7:30-5:30. 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, Adam Mott can be reached at (571) 270-5376. 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. /H.J.K./Examiner, Art Unit 3657 /ADAM R MOTT/Supervisory Patent Examiner, Art Unit 3657
Read full office action

Prosecution Timeline

Mar 13, 2024
Application Filed
Oct 01, 2025
Non-Final Rejection — §103
Jan 09, 2026
Response Filed
Jan 28, 2026
Non-Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12600035
INFORMATION PROCESSING METHOD, INFORMATION PROCESSING APPARATUS, ROBOT SYSTEM, MANUFACTURING METHOD OF PRODUCT, AND STORAGE MEDIUM
2y 5m to grant Granted Apr 14, 2026
Patent 12583123
ITERATIVE CONTROL OF ROBOT FOR TARGET OBJECT
2y 5m to grant Granted Mar 24, 2026
Patent 12576539
INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
2y 5m to grant Granted Mar 17, 2026
Patent 12562076
LEARNING ASSISTANCE SYSTEM, LEARNING ASSISTANCE METHOD, AND LEARNING ASSISTANCE STORAGE MEDIUM
2y 5m to grant Granted Feb 24, 2026
Patent 12558780
MULTI-PURPOSE ROBOTS AND COMPUTER PROGRAM PRODUCTS, AND METHODS FOR OPERATING THE SAME
2y 5m to grant Granted Feb 24, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

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

Prosecution Projections

2-3
Expected OA Rounds
78%
Grant Probability
99%
With Interview (+22.1%)
2y 7m
Median Time to Grant
Moderate
PTA Risk
Based on 102 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month