Printer management using clustered component models

EP4735990A1Pending Publication Date: 2026-05-06DOVER EUROPE SARL
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
DOVER EUROPE SARL
Filing Date
2024-08-14
Publication Date
2026-05-06

AI Technical Summary

Technical Problem

Printers face frequent component failures, leading to operational interruptions and downtime, which existing technologies struggle to predict and manage effectively.

Method used

A system that uses clustered component models to analyze sensor data from printers, grouping them based on similar physical parameters, and predicting failure likelihoods of individual components to trigger timely servicing.

Benefits of technology

This approach enables more accurate and timely prediction of printer failures, reducing downtime and operational costs by allowing for proactive maintenance and efficient resource allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024072936_20022025_PF_FP_ABST
    Figure EP2024072936_20022025_PF_FP_ABST
Patent Text Reader

Abstract

A method includes: receiving sensor data obtained by sensors in different printers, wherein the sensor data includes measured values for different physical parameters associated with physical components of the different printers; grouping the different printers into respective clusters based on similarities among the measured values for a proper subset of the different physical parameters; and for at least one cluster of the respective clusters, based on the sensor data of the different printers grouped into the cluster, determining models characterizing failure likelihoods of at least two of the physical components, which are included in a first printer assigned to the at least one cluster, based on at least one of the models, predicting a failure event for a first physical component of the first printer, and outputting information indicating the failure event to trigger servicing of the first physical component of the first printer.
Need to check novelty before this filing date? Find Prior Art

Description

PRINTER MANAGEMENT USING CLUSTERED COMPONENT MODELSCROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 532,619, filed on August 14, 2023, the entire contents of which are incorporated herein by reference.FIELD OF THE DISCLOSURE

[0002] Technologies are described for managing servicing and operation of printers, such as inkjet, laser, and thermal transfer overprinting (TTO) printers.BACKGROUND

[0003] Printers include multiple components that can fail and thus interrupt printer operation. Based on an estimated mean time between failures (MTBF) for a printer, the printer can be proactively serviced to avoid breakdowns.SUMMARY

[0004] Some aspects of this disclosure describe a system. The system includes one or more processors; and one or more computer-readable mediums encoding instructions that, when executed by the one or more processors, cause the one or more processors to perform operations. The operations include receiving sensor data obtained by sensors in different printers. The sensor data includes measured values for different physical parameters associated with physical components of the different printers. The operations include grouping the different printers into respective clusters based on similarities among the measured values for a proper subset of the different physical parameters. The operations include, for at least one cluster of the respective clusters, based on the sensor data of the different printers grouped into the cluster, determining models characterizing failure likelihoods of at least two of the physical components, which are included in a first printer assigned to the at least one cluster; based on at least one of the models, predicting a failure event for a first physical component of the first printer; and outputting information indicating the failure event to trigger servicing of the first physical component of the first printer.

[0005] This and other systems described herein can have one or more of at least the following characteristics.

[0006] In some implementations, the physical components include one or more of a print head, a motor, a vacuum module, a filter, or a laser controller.

[0007] In some implementations, the operations include determining a joint model characterizing an overall failure likelihood of the first printer, based on the models characterizing the failure likelihoods of the at least two of the physical components of the first printer.

[0008] In some implementations, the different physical parameters include one or more of temperature data, inkjet speed data, motor speed data, viscosity data, or pressure data.

[0009] In some implementations, a second printer and a third printer are co-located at a production site and are assigned to respective clusters, and the operations include: based on the determined models of the respective clusters to which each of the second printer and the third printer is assigned, determining that a reliability of the second printer is higher than a reliability of the third printer; and based on determining that the reliability of the second printer is higher than the reliability of the third printer, routing a print job to the second printer.

[0010] In some implementations, the operations include providing a user interface displaying pairwise correlations among the different physical parameters; and subsequent to providing the user interface, receiving a user input indicative of the proper subset of the different physical parameters.[OH] In some implementations, grouping the different printers is based on at least one of usage data indicating amounts of usage of the different printers, or consumption data indicating consumables consumption amounts of the different printers.

[0012] In some implementations, grouping the different printers includes determining, for each printer of the different printers, a product of the measured values for the proper subset of the different physical parameters; and grouping the different printers based on the products corresponding to the different printers.

[0013] In some implementations, each printer of the different printers is associated with failure data for the printer, and, for each cluster of the at least one cluster,determining the models characterizing the failure likelihoods is based on the failure data for printers grouped into the cluster.

[0014] In some implementations, for each cluster of the at least one cluster, determining models characterizing the failure likelihoods includes training machine learning models using, as input training data, the sensor data of the different printers grouped into the cluster. The failure data is used as a label for the sensor data of the different printers grouped into the cluster, and the machine learning models are trained to output the failure likelihoods.

[0015] In some implementations, the operations include, based on the determined models of a cluster to which a second printer is assigned, adjusting a setting of the second printer to increase a predicted availability of the second printer.

[0016] In some implementations, the operations include applying a physics-based model to generate simulated failure data associated with accelerated environmental conditions of a simulated printer of the different printers. For each cluster of the at least one cluster, the simulated printer is grouped into the cluster, and determining the models characterizing the failure likelihoods is based on the simulated failure data.

[0017] In some implementations, the physics-based model includes an Arrhenius model or a Basquin model.

[0018] In some implementations, the operations include receiving a user input of a target objective. For each cluster of the at least one cluster, outputting information indicating the failure event includes generating a maintenance plan based on the models, subject to the target objective.

[0019] In some implementations, the target objective includes at least one of a cost objective, a printer availability objective, or a time-between-failures objective.

[0020] In some implementations, receiving the user input of the target objective includes providing a user interface operable to select whether the target objective is a univariate objective or a multi -variate objective.

[0021] In some implementations, the maintenance plan includes a customer maintenance plan based on the sensor data of one or more printers, of the different printers, that are associated with a customer.

[0022] In some implementations, for each cluster of the at least one cluster, predicting the failure event includes determining a mean time to failure for the first printer.

[0023] In some implementations, the operations include generating simulated sensor data included in the sensor data using a machine learning model. The machine learning model is trained using, as input training data, non-sensor data characterizing the different printers, and, as labels for the non-sensor data, the measured values for the different physical parameters. The machine learning model is trained to receive, as input, non- sensor data characterizing one or more printers of the different printers, and to determine, as output, simulated sensor data for the one or more printers of the different printers.

[0024] In some implementations, the non-sensor data include at least one of printer age, printer region, or printer industrial sector.

[0025] In some implementations, the machine learning model includes a gradient boosting model, a random forests model, or a logistic regression model.

[0026] The described systems can be associated at least with corresponding methods, processes, devices, and / or instructions stored on non-transitory computer-readable media.

[0027] Implementations described herein, such as the foregoing systems, can provide various advantages. For example, based on more accurate modeling of printer characteristics (e.g., resulting from the use of cluster-based models), printers can be serviced in a more timely manner, e.g., to reduce or prevent printer failures and reduce printer down-time associated with component replacement. In some implementations, printer operations and / or settings are controlled based on outputs of the models described herein, which may improve job completion reliability and / or printer up-time. In some implementations, component-level modeling in conjunction with printer clustering can provide more accurate printer reliability predictions than, for example, non-componentlevel modeling and / or modeling that is not based on printer clusters.

[0028] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other aspects, features and advantages will be apparent from the description and drawings, and from the claims.BRIEF DESCRIPTION OF THE DRAWINGS

[0029] FIG. l is a diagram showing an example of a printer management process.

[0030] FIG. 2 is a diagram showing an example of a system associated with printer management.

[0031] FIG. 3 is a diagram showing examples of sources of printer data.

[0032] FIG. 4 is an example of a user interface for parameter selection.

[0033] FIG. 5 is a diagram showing printer clustering.

[0034] FIGS. 6A-6B are diagrams showing examples of printer clustering.

[0035] FIG. 7 is a diagram showing an example of a machine learning training process.

[0036] FIG. 8 is a diagram showing an example of service plan determination.

[0037] FIGS. 9-10 are examples of user interfaces associated with service plans.DETAILED DESCRIPTION

[0038] This disclosure relates to clustering different printers based on sensor data and using the clusters as a basis for printer servicing, automatic printer operation adjustment, print job routing, and other management tasks. For example, printers can be grouped into clusters based on similar sets of physical parameters measured by sensors within the printers, reflecting, for example, similar usage patterns among printers grouped into the same cluster. Models can then be determined for physical printer components on a per- component and per-cluster basis, predicting, for example, that a print head in a printer in a first cluster will fail according to a first model, and that the same type of print head in the same type of printer in a different cluster will fail according to a second, different model. Based on these cluster-linked models, printer reliability can be predicted more accurately, facilitating more efficient printer operation. For example, a prediction of a failure event can automatically trigger servicing of a printer before the printer undergoes an expensive and extended breakdown.

[0039] The methods described herein may be particularly useful when applied to printers, such as industrial printers, as opposed to other types of machines. For purposes of this disclosure, it has been recognized that printers often have a smaller number of critical components compared to other complex machines, such as cars and airplanes. This allows for more accurate assessments of individual component reliability using cluster-based modeling, and more accurate extensions of component-level reliability metrics to printer-level reliability metrics. For example, airplanes have many criticalcomponents and many interdependencies between components, such that a failure in one component may have cascading effects on other components. This can make it difficult to isolate root causes of failures. In printers, by contrast, reliability data can be accurately used in conjunction with printer data to predict failure events on a component and / or printer level.

[0040] Further, it has been recognized that the characteristics of printer-derived data make the methods described herein particular well-suited to analysis of that data. For example, printer sensors generate more data and collect data more frequently than sensors of many other types of machine, facilitating the development of accurate reliability models. In addition, the distributions of printer-derived data (such as sensor data and reliability data) are well-suited for the reliability modeling described herein. For example, printer failures tend to occur often enough that reliability data is dense, e.g., as compared to the relatively sparse data of airplane failures. As another example, sensor data, usage data, and consumption data for printers tend be relatively unskewed and to have relatively light tails compared to data characterizing other types of machines, such that the methods described herein, which incorporate printer clustering based on sensor data, usage data, and / or consumption data, can determine meaningful and useful clusters.

[0041] FIG. 1 illustrates an example of a process 100 according to some implementations of this disclosure, and FIG. 2 illustrates an example of a system 200 associated with process 100. For example, elements of the system 200 can be configured to perform process 100.

[0042] The system 200 includes printers 202, a clustering and model training module 204, a trained model storage 206, a printer management module 208, a service system 210, and a production site 212. In some implementations, the system 200 also includes a simulation module 214 and / or a data estimation module 216. The modules 204, 208, 214, 216 can be hardware and / or software modules, e.g., implemented by one or more computer systems. For example, the modules 204, 208, 214, 216 can include one or more processors and one or more computer-readable mediums encoding instructions that, when executed by the one or more processors, cause the one or more processors to perform operations such as portions of process 100. The modules 204, 208, 214, 216 can be localized in a single location or two or more locations, or can be distributed, e.g., as cloudcomputing modules and / or as modules executing in computer systems of printing-related sites. For example, in some implementations, one or more of the modules 204, 208, 214, 216 executes on a computer system of the production site 212, e.g., so as to manage operations of printers at the production site 212. Moreover, the modules 204, 208, 214, 216 need not be separate but, rather, can be at least partially integrated together as one or more combined modules.

[0043] As shown in FIG. 1, in the process 100, values of physical parameters of printer components are measured (102). For example, one or more sensors within each printer of a set of printers 202 can be configured to measure sensor data indicative of physical parameters of the printers 202. The sensor data can be obtained by the clustering and training module 204.

[0044] The printers 202 can include one or more types of printers, including inkjet printers, laser printers, thermal transfer overprinting (TTO) printers, impact printers, etc. In some implementations, the printers 202 are industrial printers used in one or more industrial production sites, e.g., for large-scale printing on products, or labels or packaging for products. In the context of industrial printing, the printer reliability predictions and printer management described herein can provide improved production output and cost.

[0045] In some implementations, the printers 202 are limited to a single model of printer. For example, the process 100, and other related processes described herein, can be performed separately for each of one or more models of printer. In some implementations, the printers 202 are limited to multiple models of a single type of printer. For example, the process 100, and other related processes described herein, can be performed separately for laser printers and TTO printers.

[0046] In various implementations, different types of sensor data can be measured, the different types of sensor data measuring values of physical parameters associated with various different physical components of printers. Generally, the sensor data from a printer is indicative of a degree, frequency, and / or type of operation of the printer, so as to correspond to usage of each printer: printers that are used for similar tasks and at similar rates may (though need not) have similar sensor data. Non-limiting examples of printer components, one or more of which can be measured (and / or simulated, asdiscussed below in reference to the simulation module 214) include: print head, scan head, laser controller, motor, vacuum module, ink module, additive module, pressure pump (e.g., ink pressure pump), circuit boards, internal computers, ink cartridge, ink filter, air filter, transfer pump, display, fan, gutter block, head cover, gutter block, solvent consumption module, jet positioning module, ribbon, cable, power supply, print head cleaning module, printer temperature control module, printer power control module, cabinet, motor coupling, fuse, and break-off point adjustment module.

[0047] Non-limiting examples of sensor data representing different physical parameters include motor speed, ink pressure, additive pressure, additive level, ink temperature, additive temperature, jet speed, head temperature, ink viscosity, and additive viscosity, which can be measured by corresponding sensors inside each printer, such as temperature sensors, pressure sensors, level sensors, speed sensors, and viscosity sensors.

[0048] In some implementations, the clustering and model training module 204 obtains usage data that describes overall printer usage for at least some of the printers 202. For example, the usage data can include a run-time value (e.g., total run-time over the past year), one or more consumption values (e.g., consumption amounts of one or more inks and / or additives), duty cycle information (e.g., “on” duty cycle, jet speed duty cycle, and / or motor speed duty cycle, where the duty cycle refers to distributions of jet / motor speeds during printing operations), printer age, printer region, printer country, industrial sector in which the printer is used, and / or other usage information. In some implementations, one or more parameters of the usage data are used as additional variable(s) during clustering, as described in reference to FIGS. 4-7.

[0049] In some implementations, the clustering and training module 204 obtains consumption data that describes consumable consumption for at least some of the printers 202. For example, the consumption data can include consumed amounts (e.g., volume, number of units, etc.) of ink, toner, additive(s), developer, fuser oil, filter(s), print heads, and / or ribbons. Such data is indicative of usage of printers, e.g., because higher usage may correspond to higher consumption of consumables, and because certain types of usage may correspond to consumption of particular types of consumables. In some implementations, one or more parameters of the consumption data are used as additional variable(s) during clustering, as described in reference to FIGS. 4-7.

[0050] In some implementations, the clustering and model training module 204 obtains reliability data for at least some of the printers 202. The reliability data describes failure events associated with each printer, which can include event-wise failure data (e.g., a list of failure events and / or service events) and / or overall failure data (e.g., MTBF over a time period). In some implementations, the reliability data at least partially describes physical component failures, e.g., a list of failures and / or MTBF specifically of the print head, motor, temperature control module, etc. The reliability data can be used to determine models characterizing failure likelihoods of components, e.g., can be used as labels in a machine learning training process. The reliability data can be obtained from one or more sources, such as from the printers themselves (e.g., in log data from the printers) and / or from service centers and / or technicians that provide component repair and / or replacement services. For example, the reliability data can include logs of service visits to repair printer components.

[0051] FIG. 3 illustrates examples of sources of sensor data and reliability data. Sources of data include running / context logs 302, consumable logs 304, and main history logs 306. Running / context logs 302 provide a continuous record of printer operational parameters (e.g., temperatures, motor / jet speeds, pressures, etc.) over a period of time. Consumable logs 304 provide counters of consumables, such as ink and additive cartridges, consumed by the printers. Main history logs 306 provide records of operations executed by printers, e.g., printer jobs performed, and corresponding logs of printer running / functioning times. These logs 302, 304, 306, and / or other data, can be obtained from one or more sources, such as printers themselves (e.g., over an Internet connection), computer systems of suppliers (e.g., to provide data on consumables provided for use by the printers), control systems at production sites, service centers (e.g., to provide data on printer uptime / downtime and / or other maintenance), etc. In some implementations, the logs are stored in a log storage 308, from which data (e.g., sensor data, usage data, reliability data, and / or consumption data) can be extracted and provided to the clustering and model training module 204.

[0052] In some implementations, the simulation module 214 is included in the system 200 and configured to generate simulated sensor and reliability data. For example, in some cases, the pool of available printers 202 from which to draw sensor data andreliability data may be relatively small, resulting in relatively small amounts of training data for use in determining failure prediction models. This can result in worse-than- desired performance of the models. Additionally, or alternatively, in some cases, the available sensor data and reliability data may cover only a portion of the entire sensor data-reliability data space, and / or may cover some portions of the space only sparsely. For example, if few or no printers have been operated such that their print head temperature is in a particular range, then sensor data with print head temperatures in that range will be lacking, and models determined based on the sensor data may do a poor job of predicting failures of print heads with temperatures in that range. The generation and use of simulated reliability data can fill in these gaps in real-world data and lead to more accurate, more complete models.

[0053] Various methods can be used to generate the simulated data. In some implementations, the simulation module 214 is configured to execute a physics-based accelerated life-testing model, such as an Arrhenius model and / or a Basquin model. These models can generate simulated reliability results (e.g., number of cycles to failure) based on sensor data, where the sensor data can be artificial sensor data generated for the simulations. The artificial sensor data can include measured values for different physical parameters (e.g., temperature and pressure) and / or usage data, such as printer run-time. For example, accelerated pressure and / or temperature conditions can be simulated to determine simulated MTBF for one or more printer components subjected to those conditions. In some implementations, the simulation is performed at least partially based on real-world sensor data and reliability data from the printers 202. For example, an accelerated life-testing model can be fit to the real-world sensor data and reliability data from the printers 202 (e.g., to determine one or more coefficients of the model), and the accelerated life-testing model thus determined can be used to extrapolate simulated reliability data corresponding to sensor data not included in the real-world sensor data from the printers 202.

[0054] Moreover, in some implementations, the data estimation module 216 is included in the system 200 and is configured to estimate one or more variables, such as types of sensor data, usage data, and / or consumption data, that may be missing from the data obtained from the printers 202 and other sources. The data estimation module 216serves to “fill in” this missing data so that printers can be grouped and models estimated based on matching sets of types of data across different printers. To perform this task, the data estimation module 216 is configured to, for one or more of the printers 202, estimate one or more types of sensor data, usage data, and / or consumption data based on other type(s) of the sensor data, usage data, and / or consumption data of the printer. For example, if a particular type of sensor data is not available for a printer, that sensor data can be estimated using data that is available for the printer. In some implementations, one or more machine learning models can be trained to perform the estimation, e.g., using a gradient-boosted decision tree (GBDT) machine learning process such as XG-Boost, a random forest approach, and / or a logistic regression approach. The machine learning models are configured to receive, as input, one or more types of sensor data, usage data, and / or consumption data for a printer, and to output one or more other types of sensor data, usage data, and / or consumption data for the printer. This estimated data can be provided to the clustering and training module 204 and used alongside real-world and / or simulated data to determine into which group of printers the printer should be clustered. As such, clustering and modeling can be performed more reliably, leading to more efficient printer management.

[0055] In some implementations, the data estimation module 216 is specifically configured to estimate sensor data based on usage data, e.g., so that printers for which sensor data is not available can be included in the clustering process based on estimated sensor data.

[0056] The clustering and model training module 204, having obtained sensor data, consumption data, usage data, and / or reliability data, is configured to group the printers 202 into clusters based at least on the measured values of the sensor data (104). For example, the clustering can be based on similarities of the measured values, such that printers with more-similar measured values tend to be grouped into the same cluster.

[0057] In some implementations, the clustering is performed based on a proper subset of the measured values, where the proper subset can be automatically defined (e.g., algorithmically) and / or user-defined. The subset can include, for example, variables that are generally less correlated with one another, such that clustering based on the subset of variables can reduce problems of endogeneity in clustering and modeling. Moreover, insome implementations, the subset includes variables whose values are particularly relevant for certain printer management tasks. In the case of user selection of the subset, users who are familiar with printer operation and management priorities may be well- positioned to determine which variables will be more or less relevant.

[0058] For example, as shown in FIG. 4, a user interface 400 includes a display of a correlogram 402 indicating, for pairs of measured values of sensor data (e.g., WA InkTemp), usage data (e.g., Yearly Running Time), and consumption data (e.g., Consumption Per Year), respective correlations, where highly-correlated variables have correlations that scale to 1, negatively-correlated variables have correlations that scale to -1, and uncorrelated variables have correlations near 0. In this example, the correlogram 402 has a shading- and / or color-based scheme in which the shading and / or color of each block indicates the correlation value of the block. Based on the correlogram 402, a user can select a subset of the variables that are relatively uncorrelated with one another and / or that are expected to be useful for clustering printers. For example, a user can configure a menu 404 to select the subset. Based on the menu 404 shown in FIG. 4, measured “WA Pressure” will be taken into account when grouping printers into clusters, while “ALT MotorSpeed” will not be considered. When the subset has been selected, the user can initiate clustering using interface element 406.

[0059] The user interface 400 can be provided by any suitable device, such as a personal user device, a user device in a production site, etc. In some implementations, the clustering and training module 204 is configured to provide the user interface 400, e.g., over an Internet connection and / or in an application executed by the clustering and training module 204.

[0060] FIG. 5 illustrates a visual representation of grouping printers into clusters, in this case based on two types of sensor data. Each printer (indicated by a corresponding black circle) of a set of printers can be mapped in the space of “Sensor parameter 1” and “Sensor parameter 2.” One or more clustering methods can be used to group the printers into clusters. In this example, the printers are grouped into two clusters 502a, 502b; however, other numbers of clusters are also within the scope of this disclosure, as is clustering in a space defined by more than two sensor parameters. The clusters 502a,502b are defined based on similarities of the variables of the printers grouped into the clusters 502a, 502b.

[0061] The clusters may correspond to one or more categorizations of printers. In some implementations, printers that have been operated similarly (e.g., used for similar tasks, operated with similar intensities, operated in similar / same industries, operated in similar / same locations, operated for similar lengths of time, etc.) tend to be grouped into the same cluster based on the similar sensor data, usage data, and / or consumption data of the printers; accordingly, the clusters may be interpreted as corresponding to usage profiles. Each cluster can include printers of one or more types, and, as such, the set of components included in each printer in a cluster can be - though need not be - different across at least some printers within a cluster.

[0062] Non-limiting examples of methods that can be used by the clustering and training module 204 to perform the clustering include ^-means clustering, agglomerative clustering, and hierarchical clustering.

[0063] In some implementations, a score-based clustering algorithm is used to perform the clustering. Each variable of a printer is assigned a score, and the scores are combined / aggregated into a single composite score for each printer. Clustering is then performed on the basis of the composite scores, e.g., by dividing the distribution of composite scores into quantiles. In some cases, score-based clustering may be particularly useful for analysis of printer-derived data. For example, score-based clustering may provide a high level of visibility of distributions for each independent variable based on which clustering is performed, permitting adjustment by users to arrive at final allocations of printers to clusters.

[0064] As shown in the example of FIG. 6A, the proper subset of data according to which printers are grouped can include measured values of ink temperature (sensor data), consumption per year (consumption data), and running time and machine ON duty (both usage data). Respective distributions 602a, 602b, 602c, 602d of the printers for each of these data types are divided into quantiles; in this example, each distribution 602a, 602b, 602c, 602d is divided into quartiles, but fewer than four quantiles and / or more than four quantiles can be used, in various implementations. Scores are assigned within each quartile according to a normalized distribution based on the range of the quartile and thedistribution of values in the quartile. For example, values in a first quartile can be assigned converted values between 0 and 0.25, values in a second quartile can be assigned converted values between 0.25 and 0.5, etc. In some implementations, the converted values are chosen randomly, e.g., from a normal distribution corresponding to each quantile. Based on these assigned scores, each printer has a corresponding score for each variable.

[0065] The multiple scores for each printer are combined to obtain a composite score for each printer. In this example, the scores are multiplied to obtain, as a composite score 604, a product representing the combined values of the ink temperature, consumption per year, running time, and machine ON duty for each printer. As shown in FIG. 6B, printers can then be grouped into clusters based on the composite scores. For example, the set of composite scores can be divided into k ranges 608, where each range corresponds to a cluster into which printers having scores in the range are grouped. In some implementations, the ranges 608 are selected so that, in a distribution 606 of the composite scores, approximately equal numbers of printers fall within each range 608 (e.g., the ranges can correspond to quantiles of the distribution 606), resulting in each cluster having an approximately equal number of printers.

[0066] Compared to some alternative clustering methods, score-based clustering as described in reference to FIGS. 6A-6B may be more transparent to users and may offer improved user-configurability and ease of understanding, e.g., compared to black-box methods associated with standard statistical libraries. The user can select which variables will be used for clustering, can select the number of quantiles, and can select the number of clusters, providing the user a great deal of flexibility in the clustering process.Moreover, score-based clustering may, in some cases, consume fewer computational resources (e.g., processing resources) than some alternative clustering methods.

[0067] The number of clusters k (whether associated with a score-based process as in FIGS. 6A-6B, or whether clustering is performed using a different process, such as k- means clustering) can be determined automatically by the clustering and training module 204 and / or user-determined. For example, in some implementations, a clustering algorithm applied by the clustering and model training module 204, such as a densitybased clustering algorithm or a hierarchical clustering algorithm, does not require explicitselection of k. In some implementations, the clustering and model training module 204 presents an interface by which a user can select k, e.g., according to the “elbow” method and / or based on other considerations. User selection of the cluster number may be particularly useful in the context of printer clustering for component modeling, in which it may be desirable to use clusters having enough printers to provide a large sample size for model-fitting.

[0068] Referring again to FIGS. 1-2, the clustering and model training module 204 is configured to, after the printers have been grouped into clusters, determine failure prediction models on a per-cluster, per-component basis (106). For example, the models can characterize failure likelihoods of at least two of the physical components of the printers grouped into the cluster.

[0069] The models for each cluster are determined based on at least some of the sensor data, usage data, and / or consumption data of printers grouped into the cluster, and based on reliability data of the printers grouped into the cluster. The sensor data, usage data, and / or consumption data of printers correspond to inputs of the models, and the reliability data corresponds to outputs / predictions of the models.

[0070] For example, as shown in FIG. 7, in some implementations the models are trained in a machine learning process 700. The process 700, which can be performed for each component for each cluster, is based on training data 702 that includes sensor data, usage data, and / or consumption data for each printer in the cluster, and labels 704 of the training data 702. The labels 704 include the reliability data of the printers grouped into the cluster, such as component-specific failure event data, service event data, MTBF data, etc. For example, one element of training data can be a vector v = (Ink Temp = a, Running Time = Z>, Consumption Per Year = c .... [may continue to include any or all variables available]) for a printer, and the vector can be labeled with data indicating that the print head of the printer failed four times over a given span of time (reliability data). Based on similar training data / label combinations for at least some of the printers grouped into the cluster, one or more weights and / or other parameters of a machine learning model are adjusted (706), e.g., so as to decrease a loss function of the model.

[0071] As a result, a machine learning model 708 is trained to receive, as input, sensor data, usage data, and / or consumption data, and to output failure likelihoods for aprinter component, based on the weights and / or other parameters of the trained machine learning model 708. For the example of training data provided above, the trained machine learning model 708 can be configured to output, for example, a remaining useful life of a print head, a MTBF of the print head, a predicted time to failure of the print head, a survival function for the print head, a mean availability of the print head, and / or another reliability metric, each of which can correspond to a predicted failure event of the print head. Another machine learning model for the cluster can be trained using, as training data, the vector v described above, and, as a labels, a list of service events for a printer filter, such that another model can be trained to predict failure events of printer filters. This training can be performed for one, two, or more than two components for each cluster. In some implementations, trained models are stored in a trained model storage 206, e.g., a local and / or cloud storage system, for subsequent retrieval and use.

[0072] In some implementations, the output of each trained machine learning model includes, or is indicative of (e.g., can be further processed to obtain), a predicted usage associated with printer failure. For example, in some implementations, the output of the model is a predicted time to failure (TTF), and the TTF is further processed to determine a corresponding usage to failure. The usage to failure can include, for example, a number of prints predicted to be performed before failure, an amount of ink predicted to be consumed before failure, and / or another operation-linked metric. In some implementations, a machine learning model is trained (e.g., by the clustering and training module 204) to determine the usage to failure based on the TTF and one or more additional inputs, such as any one or more of the sensor data, usage data, and / or consumption data. For example, given a TTF of two months and usage data indicating that a printer performs 10,000 prints a month, the usage to failure can be predicted as 20,000 prints. Complex predictions utilizing machine learning models can incorporate multiple variables for accurate usage-to-failure predictions.

[0073] Types of machine learning models within the scope of this disclosure include, for example, machine learning models that implement supervised, semi -supervised, unsupervised and / or reinforcement learning; neural networks, including deep neural networks, autoencoders, convolution neural networks, multi-layer perceptron networks, and recurrent neural networks; classification models; and regression models. Themachine learning models described herein can be configured with one or more approaches, such as back-propagation, gradient boosted trees, decision trees, support vector machines, reinforcement learning, partially observable Markov decision processes (POMDP), and / or table-based approximation, to provide several non-limiting examples. Based on the type of machine learning model, the training 706 can include adjustment of one or more parameters. For example, in the case of a regression-based model, the training 706 can include adjusting one or more coefficients of the regression so as to minimize a loss functions such as a least-squares loss function. In the case of a neural network, the training 706 can include adjusting weights, biases, number of epochs, batch size, number of layers, and / or number of nodes in each layer of the neural network, so as to minimize a loss function.

[0074] In some implementations, the machine learning model incorporates a proportional hazard model (e.g., a Cox model), a random survival forests (RSF) model, and / or a Weibull model as characterizing predicted component failures.

[0075] Based on these clustering and model determination processes, printer components can be modeled on a cluster-by-cluster basis. Because clusters are associated with different printer usages and / or characteristics, the resulting models are customized for the different usages and / or characteristics, so as to predict, for example, that a given component will on average fail every x months for printers operated in a first way and y months for printers operated in a second way. Accordingly, component failure can be predicted more reliably than if models were determined without clustering, and printer management, such as job routing, printer operation control, and service scheduling, can be performed more accurately to reduce costs and increase printer up-time.

[0076] In some implementations, the clustering and modeling training module 204 is configured to determine (e.g., on a per-cluster basis) joint models that characterize overall failure likelihoods of printers. The joint models are determined based on the per- component models. For example, given models that characterize respective failure likelihoods of at least two components of a printer, a combined model can be generated to characterize a likelihood that at least one of the two components will fail, resulting in an overall failure of the printer. In some implementations, the joint model is an arithmetic combination of the component models, e.g., a product of multiple component models thattreats component failures as separate events. In some implementations, the joint model is a more complex combination of the component models, e.g., a result of applying Failure Mode and Effects Analysis (FMEA) and / or another method that may consider, for example, a level of failure correlation between two or more components.

[0077] Referring again to FIGS. 1-2, a printer management module 208 is configured to obtain determined reliability model(s) (component-specific models and / or joint models) from the trained model storage 206 and use the models to perform one or more printer management tasks. The tasks can include, for example, predicting a failure event (108) and triggering service based on the predicted failure event (110), routing print jobs (112), adjusting printer operation (114), and / or determining printer service plans (116). These tasks can be related to one another: job routing, operation adjustment, and / or service plan determination can be based on predictions of failure events, and printer operation can be adjusted based on a determined service plan, to give two non-limiting examples.

[0078] The tasks 108, 110, 112, 114, 116 are based on data describing a printer 218. The printer 218 can be one of the printers 202 based on which clustering and model determination was performed, or the printer 218 can be another printer. As shown in FIG. 2, printer data can be obtained (directly or indirectly) from a production site 212 at which the printer 218 is located, e.g., an industrial printing facility. For example, the printer data can be automatically sent from the production site 212 to the printer management module 208, and / or a user can provide printer data to the printer management module 208, e.g., based on printer logs. The “printer data” can include sensor data, usage data, and / or consumption data, e.g., any one or more of the variables based on which the printers 202 were grouped and based on which models were determined. The printer data represents inputs to the determined models obtained from the trained model storage 206, and the outputs of the determined models (such as predicted failure events, MTBF, etc.) are used to perform the tasks 108, 110, 112, 114, 116.

[0079] The printer management module 208 is configured to use model(s) specific to the cluster to which the printer 218 is appropriately assigned. In cases where the printer 218 is a printer 202 based on which the clusters were determined, the cluster of the printer 218 is already known, and the determined models of the cluster can be readilyapplied. In cases where the printer 218 has not yet been grouped into a cluster (e.g., if the printer is a new printer or the printer’s operator has only recently registered for a clusterbased printer management service), the printer management module 208 associates the printer 218 with an existing cluster. For example, in some implementations, the printer management module 208 is configured to apply a trained classifier to sort the printer 218 into an existing cluster based on the obtained printer data (sensor data, usage data, and / or consumption data) of the printer 218. As another example, the printer management module 208 can be configured to determine respective distances between the printer data of the printer data and corresponding sensor data, usage data, and / or consumption data of printers grouped into the existing clusters, and to associate the printer 218 with a cluster having the smallest distance or aggregate of distances.

[0080] Predicting a failure event (108) can include, for example, predicting a future time at which the printer 218 or a component of the printer 218 is expected to fail, and / or predicting an amount of usage (e.g., usage duration, number of print operations, etc.) after which the printer 218 or a component of the printer 218 is expected to fail. In some implementations, the predicted failure event is a likelihood-based parameter, e.g., representing a mean of a distribution of predicted failures output by the model(s). For example, based on the printer data, one of the models can output a MTBF, ZMTBF, for the printer 218, and the failure event can be predicted to occur after a time tP= t - ZMTBF, where t is the time since the last failure of the printer.

[0081] The printer management module 208 can be configured to output information indicating the failure event. In some implementations, outputting the information includes, for example, presenting a graphical display (e.g., on a user device) including the prediction of the failure event, sending an alert in the form of a notification, email, text message, or other type of communication, and / or controlling a system to perform operations based on the prediction of the failure event. For example, if a survival probability of a printer over a defined time period has dropped below a threshold and / or has dropped a significant amount in a short period of time (e.g., from 0.95 to 0.85), an alert can be provided on a user interface, and an operator can take necessary corrective action in real-time to decrease the printer’s failure probability.

[0082] For example, in some implementations, the printer management module 208 is configured to, based on the prediction of the failure event, output information to a service system 210, e.g., in the form of a service request. The information provided to the service system 210 triggers servicing of the printer 218. The service system 210 can be, for example, a computer system of a service center or a software module executing scheduling for a printer technician. Triggering servicing of the printer 218 can include, for example, scheduling a repair, component replacement, or other servicing of the printer (e.g., a visit to the production site 212 by a technician), such as in advance of the predicted failure to forestall the failure, and / or at approximately the time of the predicted failure in order to prevent the predicted failure; placing an order for one or more replacement printer components, in expectation that the printer components will fail and need replacement; and / or alerting a user at the production site 212 to perform service on the printer 218. Accordingly, servicing can be performed on a timely basis, increasing printer up-time and decreasing costs.

[0083] For example, in some cases, the cost to perform proactive maintenance on a component is less than the cost to repair a printer in which the component has already failed. Moreover, proactive maintenance can be performed with little or no printer downtime, while printer failure can result in protracted down-time while a repair is scheduled. At the same time, servicing that is performed unnecessarily frequently can result in increased costs. Because the cluster-based modeling described herein, being tailored to printers’ specific characteristics and usage profiles, can provide more accurate failure prediction, servicing can be triggered in a more timely, effective manner, improving printer management.

[0084] In some implementations, in conjunction with or separately from prediction of a failure event, the printer management module 208 is configured to determine a service plan for the printer 218 (116). Service plan determination can be performed with a high degree of user-customizability to obtain service plans optimized for each operator’s particular target goals.

[0085] FIG. 8 illustrates an example of a process flow 800 for service plan determination for a printer, such as printer 218. To determine a service plan, the printer management module 208 receives several inputs 802, which can be automaticallyobtained (e.g., by automatic retrieval of printer log files, location detection, etc.) and / or user-entered (e.g., to configure the process based on user preference).

[0086] The inputs 802 include printer data, which can include sensor data, usage data, and / or consumption data as described above. The printer data is used at least to associate the printer with a printer cluster, so that trained model(s) 804 specific to the cluster can be used to predict failure characteristics of the printer, as discussed above in reference to failure event prediction (108). The printer data is also used as input to the trained model(s) 804, which output failure prediction information based on the printer data. The printer data, in some cases, can include artificial data, e.g., may reflect expected usage as opposed to actual past usage. For example, a user can input, for a newly-acquired printer, a number of print jobs the printer is expected to handle over the next year, so that a service plan for the printer can be determined in advance; this expected print job number is a type of usage data that can be provided as an input 802.

[0087] In some implementations, the inputs 802 include a selection between univariate optimization or multi-variate optimization and, related to that selection, a selection of one or more target objectives. The target objectives can include, for example, minimizing costs, maximizing mean printer (or component) availability or MTBF, minimizing a number of service visits, and / or optimizing another parameter of printer operation. These objectives may be associated with trade-offs. For example, a more intensive service plan (e.g., corresponding to more service visits) may increase printer availability but increase costs. In some implementations of a uni-variate optimization process, only one of these parameters is considered and optimized. For example, cost can be minimized on an absolute basis, without considering the service plan’s effects on printer up-time. In some implementations of a uni-variate optimization process, multiple parameters corresponding to different aspects of a printer can be optimized simultaneously, e.g., uptime of one component can be maximized and costs associated with a second component can be minimized.

[0088] In a multi-variate optimization process, multiple parameters are considered. The multiple parameters can each be associated with an overall optimization target (e.g., maximization / minimization) or a target range. For example, the inputs 802 can specify that costs should be minimized subject to printer availability being at least 90%, or thatcosts should be maintained below a certain value while print head MTBF is maximized subject to that constraint. In some implementations, the inputs 802 specify a relative prioritization of two or more variables for optimization, e.g., relative weights to be assigned to multiple variables (such as cost(s) for one or more components and / or overall, and / or MTBF for one or more components and / or overall) for overall minimization / maximization.

[0089] In some implementations, the inputs 802 include context data describing a context of the printer. The context can include, for example, a location (e.g., country or national sub-unit) in which the printer is operated. Different locations may be associated with different costs, because aspects of printer servicing, such as replacement parts and labor, vary in cost depending on printer location.

[0090] In some implementations, the inputs 802 include one or more model parameters. The model parameters can include, for example, a time duration over which modeling is to be performed, which can affect service plan selection. For example, the inputs 802 can indicate that modeling is to be performed over a certain configurable time span, such as one year, two years, etc. Over different timescales, different service plans may be preferable. For example, if printer availability is to be maximized over a six- month time period, a lower service frequency may be acceptable than if printer availability is to be maximized over a five-year time period, because over longer timescales the effects of poor maintenance may become more important.

[0091] The printer management module 208 is configured to apply the relevant trained model (s) 804 from the printer’s assigned cluster to the input data 802 to determine one or more service plans, e.g., by simulating costs and printer availability associated with multiple service plans and recommending the best-performing plan(s). This can include using the printer data of the input data 802 as inputs to the trained model(s) 804 and analyzing outputs of the trained model (s) 804 in view of the target objectives of the input data 802. For example, each predicted failure event output by or indicated by the trained model(s) 804 can be associated with a monetary cost (e.g., component repair or replacement cost, and labor cost) and / or a down-time duration (e.g., an expected time until a technician can be sent to repair the printer). Each servicing event, including preventative maintenance, can also be associated with a monetary cost (e.g., the cost ofsending a technician to repair the printer) and / or a down-time duration (e.g., down-time during which servicing is performed). The printer management module 208 can be configured to simulate these monetary and time costs as functions of different service plans, where the different service plans can have different service frequencies, component replacement frequencies, types of components, service lifetimes, and / or other parameters. The simulation is also a function of the printer data describing characteristics of the printer, so that the printer can be modeled accurately. Other parameters of the simulation (e.g., included in the “other information” of FIG. 2) can include, for example, component useful life, various system costs, planned and unplanned maintenance costs, and component availability (which may impact down-time and / or component replacement costs). As a result of the simulation, the printer management module 208 outputs one or more service plans and their associated characteristics, such as cost and printer availability.

[0092] FIG. 9 illustrates an example of a user interface 900 that includes characteristics of several service plans 902. In this case, a user has selected a time unit 908 for the simulation, uni-variate optimization 910, a simulation duration 912 of 8800 hours (one year), and maximization of MTBF with simultaneous minimization of total cost. Each plan 902 is associated with a set of costs associated with the servicing (e.g., replacement, repair, and / or maintenance of) various components, such as costs for a jet vacuum 904 and costs for a consumable module 906 over the simulated period. Each plan 902 is also associated with a mean availability 914; in this case, each displayed plan 902 provides more than 99% printer up-time, e.g., because the printer management module 208 can be configured to, by default, output a list of top-performing plans (e.g., highest availability or lowest cost). In some implementations, as shown in this example, the printer management module 208 presents multiple plans (e.g., top ten plans sorted by cost or printer availability).

[0093] FIG. 10 shows additional examples of user interfaces 1000, 1002 that can be presented based on the simulated service plans output by the printer management module 208. User interface 1000 shows, for a selected service plan (“83”), the simulated relative sizes of various cost contributors, such as consumables, electrovalve block repair / replacement, etc. User interface 1002 shows, for a given service plan, severalsimulated types of costs over different time-durations. Using these and other visualizations, users can weigh the costs and benefits of various plans and select the plan that most accords with their operational needs.

[0094] In some implementations, a determined service plan (e.g., a plan selected by a user among several options presented by the printer management module 208, or a plan automatically selected by the printer management module 208 based on optimization objective(s)) is provided to the production site 212 having the printer 218, for implementation. In some implementations, service requests to trigger servicing are provided to the service system 210 based on the determined service plan. For example, if the determined service plan includes bi-annual maintenance or component replacement, the printer management module 208 can automatically send a service request to the service system 210 every six months to trigger a technician visit or order a replacement component.

[0095] In some implementations, the printer management module 208 is configured to route print jobs based on printer reliability determinations (112). For example, the printer management module 208 can be configured to use respective component and / or printer reliability models for two printers to determine respective reliabilities of the printers. The reliabilities can include any of the metrics discussed above, such as MTBF, expected usage before failure, or another metric. The printer management module 208 can be configured to route a print job to or away from a printer based on the printer’s reliability. For example, given two printers with two reliabilities, the printer management module 208 can route a print job to the printer with the higher reliability (e.g., higher MTBF), to effectively perform load-balancing among the two printers and delay the expected time at which either will fail. As another example, in some implementations, the printer management module 208 is configured to route a more critical job to a printer with a higher reliability, and to route a less critical job to a printer with a lower reliability, to prioritize completion of the higher-priority job. In some implementations, the printer management module 208 provides instruct! ons / commands to the printer 218 at the production site 212 to perform the routing. For example, the printer management module 208 can obtain data indicative of a print job, select a printer to perform the print job basedon printer reliabilities, and send a command to the selected printer to cause the printer to perform the print job.

[0096] In some implementations, the printer management module 208 is configured to adjust printer operation based on outputs of the models (114). For example, the printer management module 208, based on outputs of failure prediction models for a printer, can adjust settings of the printer to reduce a likelihood of a failure event. For example, the printer management module 208 can adjust component speeds, pressures, powers, throughput, and / or other printer settings to improve estimated survival probability.

[0097] The process 100 and other processes described herein can be applied to commercial functions such as customer management and service plan provision. For example, in some cases, an entity that performs at least some elements of the process 100 also performs printer servicing, e.g., offers for purchase service plans recommended based on the cluster-associated models. Accordingly, the capability to perform modelbased simulations and present potential customers with detailed cost breakdowns (e.g., as shown in FIGS. 9-10) can be beneficial for providing accurate cost estimates and bringing new customers on-board. Customers with different needs (as differentiated by, e.g., different usage data) can be provided with customized service plans to minimize down-time and increase overall efficiency. Moreover, in some implementations, the printer management module 208 is configured to automatically adjust prices of service plans based on predicted failure likelihoods of printers covered by the plan. For example, if more failures are predicted, then the price can be increased to cover the predicted higher costs of repair and component replacement.

[0098] Some features described herein, such as the modules 204, 208, 214, 216, may be implemented in digital and / or analog electronic circuitry or in computer hardware, firmware, software, or in combinations of them. Some features may be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by a programmable processor. Method steps may be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output, by discrete circuitry performing analog and / or digital circuit operations, or by a combination thereof.

[0099] Some described features may be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that may be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program may be written in any form of programming language (e.g., Objective- C, Java, Python, JavaScript, Swift), including compiled or interpreted languages, and it may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.

[0100] Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors or cores, of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random-access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer may communicate with mass storage devices for storing data files. These mass storage devices may include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example, semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). To provide for interaction with a user the features may be implemented on a computer having a display device such as a CRT (cathode ray tube), LED (light emitting diode) or LCD (liquid crystal display) display or monitor for displaying information to the author, a keyboard and a pointing device, such as a mouse or a trackball by which the author may provide input to the computer.

[0101] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made. Elements of one or moreimplementations may be combined, deleted, modified, or supplemented to form further implementations. In yet another example, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.

Claims

What is claimed is:

1. A system comprising: one or more processors; and one or more computer-readable mediums encoding instructions that, when executed by the one or more processors, cause the one or more processors to receive sensor data obtained by sensors in different printers, wherein the sensor data comprises measured values for different physical parameters associated with physical components of the different printers, group the different printers into respective clusters based on similarities among the measured values for a proper subset of the different physical parameters, and for at least one cluster of the respective clusters, based on the sensor data of the different printers grouped into the cluster, determine models characterizing failure likelihoods of at least two of the physical components, which are included in a first printer assigned to the at least one cluster, based on at least one of the models, predict a failure event for a first physical component of the first printer, and output information indicating the failure event to trigger servicing of the first physical component of the first printer.

2. The system of claim 1, wherein the physical components comprise one or more of a print head, a motor, a vacuum module, a filter, or a laser controller.

3. The system of claim 1, wherein the instructions, when executed by the one or more processors, cause the one or more processors to, for each cluster of the at least one cluster: determine a joint model characterizing an overall failure likelihood of the first printer, based on the models characterizing the failure likelihoods of the at least two of the physical components of the first printer.

4. The system of claim 1, wherein the different physical parameters comprise one or more of temperature data, inkjet speed data, motor speed data, viscosity data, or pressure data.

5. The system of claim 1, wherein a second printer and a third printer are co-located at a production site and are assigned to respective clusters, and wherein the instructions, when executed by the one or more processors, cause the one or more processors to based on the determined models of the respective clusters to which each of the second printer and the third printer is assigned, determine that a reliability of the second printer is higher than a reliability of the third printer, and based on determining that the reliability of the second printer is higher than the reliability of the third printer, route a print job to the second printer.

6. The system of claim 1, wherein the instructions, when executed by the one or more processors, cause the one or more processors to, for the at least one cluster of the respective clusters provide a user interface displaying pairwise correlations among the different physical parameters, and subsequent to providing the user interface, receive a user input indicative of the proper subset of the different physical parameters.

7. The system of claim 1, wherein grouping the different printers is based on at least one of: usage data indicating amounts of usage of the different printers, or consumption data indicating consumables consumption amounts of the different printers.

8. The system of claim 1, wherein grouping the different printers comprises: determining, for each printer of the different printers, a product of the measured values for the proper subset of the different physical parameters, andgrouping the different printers based on the products corresponding to the different printers.

9. The system of claim 1, wherein each printer of the different printers is associated with failure data for the printer, and wherein, for each cluster of the at least one cluster, determining the models characterizing the failure likelihoods is based on the failure data for printers grouped into the cluster.

10. The system of claim 9, wherein, for each cluster of the at least one cluster, determining models characterizing the failure likelihoods comprises training machine learning models using, as input training data, the sensor data of the different printers grouped into the cluster, wherein the failure data is used as a label for the sensor data of the different printers grouped into the cluster, and wherein the machine learning models are trained to output the failure likelihoods.

11. The system of claim 1, wherein the instructions, when executed by the one or more processors, cause the one or more processors to based on the determined models of a cluster to which a second printer is assigned, adjust a setting of the second printer to increase a predicted availability of the second printer.

12. The system of claim 1, wherein the instructions, when executed by the one or more processors, cause the one or more processors to apply a physics-based model to generate simulated failure data associated with accelerated environmental conditions of a simulated printer of the different printers, wherein, for each cluster of the at least one cluster, the simulated printer is grouped into the cluster, and determining the models characterizing the failure likelihoods is based on the simulated failure data.

13. The system of claim 12, wherein the physics-based model comprises an Arrhenius model or a Basquin model.

14. The system of claim 1, wherein the instructions, when executed by the one or more processors, cause the one or more processors to receive a user input of a target objective, and wherein, for each cluster of the at least one cluster, outputting information indicating the failure event comprises generating a maintenance plan based on the models, subject to the target objective.

15. The system of claim 14, wherein the target objective comprises at least one of a cost objective, a printer availability objective, or a time-between-failures objective.

16. The system of claim 14, wherein receiving the user input of the target objective comprises providing a user interface operable to select whether the target objective is a uni -variate objective or a multi -variate objective.

17. The system of claim 14, wherein the maintenance plan comprises a customer maintenance plan based on the sensor data of one or more printers, of the different printers, that are associated with a customer.

18. The system of claim 1, wherein, for each cluster of the at least one cluster, predicting the failure event comprises determining a mean time to failure for the first printer.

19. The system of claim 1, wherein the instructions, when executed by the one or more processors, cause the one or more processors to generate simulated sensor data included in the sensor data using a machine learning model, wherein the machine learning model is trained usingas input training data, non-sensor data characterizing the different printers, and as labels for the non-sensor data, the measured values for the different physical parameters, and wherein the machine learning model is trained to receive, as input, non-sensor data characterizing one or more printers of the different printers, and to determine, as output, simulated sensor data for the one or more printers of the different printers.

20. The system of claim 19, wherein the non-sensor data comprise at least one of printer age, printer region, or printer industrial sector.

21. The system of claim 19, wherein the machine learning model comprises a gradient boosting model, a random forests model, or a logistic regression model.

22. A method, comprising: receiving sensor data obtained by sensors in different printers, wherein the sensor data comprises measured values for different physical parameters associated with physical components of the different printers; grouping the different printers into respective clusters based on similarities among the measured values for a proper subset of the different physical parameters; and for at least one cluster of the respective clusters, based on the sensor data of the different printers grouped into the cluster, determining models characterizing failure likelihoods of at least two of the physical components, which are included in a first printer assigned to the at least one cluster, based on at least one of the models, predicting a failure event for a first physical component of the first printer, and outputting information indicating the failure event to trigger servicing of the first physical component of the first printer.

23. One or more computer-readable mediums encoding instructions that, when executed by one or more processors, cause the one or more processors to: receive sensor data obtained by sensors in different printers, wherein the sensor data comprises measured values for different physical parameters associated with physical components of the different printers; group the different printers into respective clusters based on similarities among the measured values for a proper subset of the different physical parameters; and for at least one cluster of the respective clusters, based on the sensor data of the different printers grouped into the cluster, determine models characterizing failure likelihoods of at least two of the physical components, which are included in a first printer assigned to the at least one cluster, based on at least one of the models, predict a failure event for a first physical component of the first printer, and output information indicating the failure event to trigger servicing of the first physical component of the first printer.