Patent ID: 12189377

DETAILED DESCRIPTION

One or more embodiments of the present invention provide computer-implemented methods, computer systems, and computer program products for determining and/or inferring a synthetic/estimated quality measurement about a target sample from available sensor data. One or more embodiments generate the synthetic/estimated quality measurement about a target sample from available sensor data prior to the normal measurement of interest. Accordingly, one or more embodiments of the present invention provide an early indication about a target sample prior to the normal measurement process, thereby enabling early identification and mitigation of potential issues.

The measurement of interest, which is the quality measurement, is collected periodically at some consistent frequency. There is knowledge about how the target sample, which is the subject of the target measurement, is collected and measured. The system of interest, for example, a manufacturing system, is instrumented with a variety of sensors that collect data at a much higher frequency than the time-aggregated quality measurement of the target sample. One or more embodiments of the invention improve timeliness of knowledge about the output quality of the target sample via the synthetic/estimated quality measurement without conducting any more measurements in the manufacturing system.

Turning now toFIG.1, a computer system100is generally shown in accordance with one or more embodiments of the invention. The computer system100can be an electronic, computer framework comprising and/or employing any number and combination of computing devices and networks utilizing various communication technologies, as described herein. The computer system100can be easily scalable, extensible, and modular, with the ability to change to different services or reconfigure some features independently of others. The computer system100can be, for example, a server, desktop computer, laptop computer, tablet computer, or smartphone. In some examples, computer system100can be a cloud computing node. Computer system100can be described in the general context of computer system executable instructions, such as program modules, being executed by a computer system. Generally, program modules can include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system100can be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program modules can be located in both local and remote computer system storage media including memory storage devices.

As shown inFIG.1, the computer system100has one or more central processing units (CPU(s))101a,101b,101c, etc., (collectively or generically referred to as processor(s)101). The processors101can be a single-core processor, multi-core processor, computing cluster, or any number of other configurations. The processors101, also referred to as processing circuits, are coupled via a system bus102to a system memory103and various other components. The system memory103can include a read only memory (ROM)104and a random access memory (RAM)105. The ROM104is coupled to the system bus102and can include a basic input/output system (BIOS) or its successors like Unified Extensible Firmware Interface (UEFI), which controls certain basic functions of the computer system100. The RAM is read-write memory coupled to the system bus102for use by the processors101. The system memory103provides temporary memory space for operations of said instructions during operation. The system memory103can include random access memory (RAM), read only memory, flash memory, or any other suitable memory systems.

The computer system100comprises an input/output (I/O) adapter106and a communications adapter107coupled to the system bus102. The I/O adapter106can be a small computer system interface (SCSI) adapter that communicates with a hard disk108and/or any other similar component. The I/O adapter106and the hard disk108are collectively referred to herein as a mass storage110.

Software111for execution on the computer system100can be stored in the mass storage110. The mass storage110is an example of a tangible storage medium readable by the processors101, where the software111is stored as instructions for execution by the processors101to cause the computer system100to operate, such as is described herein below with respect to the various Figures. Examples of computer program product and the execution of such instruction is discussed herein in more detail. The communications adapter107interconnects the system bus102with a network112, which can be an outside network, enabling the computer system100to communicate with other such systems. In one embodiment, a portion of the system memory103and the mass storage110collectively store an operating system, which can be any appropriate operating system to coordinate the functions of the various components shown inFIG.1.

Additional input/output devices are shown as connected to the system bus102via a display adapter115and an interface adapter116. In one embodiment, the adapters106,107,115, and116can be connected to one or more I/O buses that are connected to the system bus102via an intermediate bus bridge (not shown). A display119(e.g., a screen or a display monitor) is connected to the system bus102by the display adapter115, which can include a graphics controller to improve the performance of graphics intensive applications and a video controller. A keyboard121, a mouse122, a speaker123, etc., can be interconnected to the system bus102via the interface adapter116, which can include, for example, a Super I/O chip integrating multiple device adapters into a single integrated circuit. Suitable I/O buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols, such as the Peripheral Component Interconnect (PCI) and the Peripheral Component Interconnect Express (PCIe). Thus, as configured inFIG.1, the computer system100includes processing capability in the form of the processors101, and, storage capability including the system memory103and the mass storage110, input means such as the keyboard121and the mouse122, and output capability including the speaker123and the display119.

In some embodiments, the communications adapter107can transmit data using any suitable interface or protocol, such as the internet small computer system interface, among others. The network112can be a cellular network, a radio network, a wide area network (WAN), a local area network (LAN), or the Internet, among others. An external computing device can connect to the computer system100through the network112. In some examples, an external computing device can be an external webserver or a cloud computing node.

It is to be understood that the block diagram ofFIG.1is not intended to indicate that the computer system100is to include all of the components shown inFIG.1. Rather, the computer system100can include any appropriate fewer or additional components not illustrated inFIG.1(e.g., additional memory components, embedded controllers, modules, additional network interfaces, etc.). Further, the embodiments described herein with respect to computer system100can be implemented with any appropriate logic, wherein the logic, as referred to herein, can include any suitable hardware (e.g., a processor, an embedded controller, or an application specific integrated circuit, among others), software (e.g., an application, among others), firmware, or any suitable combination of hardware, software, and firmware, in various embodiments.

FIG.2is a block diagram of a system200for providing continuous monitoring, advance alerts, and control of process key performance indicator variables that have infrequent and time-aggregated measurements in accordance with one or more embodiments of the present invention. System200includes one or more computer systems202connected to a manufacturing system230. Manufacturing system230can operate using control theory which uses control dynamical systems in engineered processes and machines. Manufacturing system230can utilize automatic process control in continuous production processes. Automatic process control is a combination of control engineering and chemical engineering disciplines that uses industrial control systems to achieve a production level of consistency, economy, and safety and is implemented widely in industries such as oil refining, pulp and paper manufacturing, chemical processing, power generating plants, etc. Manufacturing system230can include various system components232in which the system components232represent various pieces of equipment utilized to transform the input into the targeted output, as known by one skilled in the art. System components232can include electrical equipment, mechanical equipment, chemical equipment, etc. System components232represent the machines or machinery required to function as a manufacturing system230and/or plant.

Manufacturing system230includes control components234(or controllers) used to control the functioning of system components232. Control components234relate to anything capable of being controlled to be changed and/or modified in manufacturing system230. Example control components234can include actuators, control values, relays, switches, etc. Set points236(also setpoints) are used in manufacturing system230. A set point is the desired or target value for an essential variable or process value of manufacturing system230. Control components234can include one or more set points236which control operation of the respective control components234. Set points236can be modified to change the operation and settings of control components234. One or more control systems240are in manufacturing system230. Control systems240are used to control the functioning and operation of control components234thereby controlling the functioning and operation of system components232. Control systems240can be utilized to modify set points236for manufacturing system230. A control system manages, commands, directs, and/or regulates the behavior of other devices or systems (such as, for example, control components234) using control loops. For continuously modulated control, a feedback controller is used to automatically control a process or operation. The control system compares the value or status of the process variable being controlled with the desired value or set point and applies the difference as a control signal to bring the process variable output of the plant (e.g., manufacturing system230) to the same value as the set point.

In manufacturing system230, a quality measurement250is taken of the target product which could be at any desired stage in fabrication. The quality measurement250is the measurement of interest, and the quality measurement250is collected periodically at some consistent frequency from an output of a given one of system components232. For example, quality measurements can be taken every “T” hours (e.g., T=12 hours, 24 hours, 1 week, etc.). In process industries, the quality of output products is to be maintained, which can include ensuring that any regulatory constraints are being met including federal standards set by a governing entity. Frequently, this is done by periodically performing a costly and time-consuming laboratory measurement based on an aggregate sample collected over time. Depending on the outcome of the laboratory measurement, the target product may be of insufficient quality, and/or a violation of regulatory constraints may have occurred. Either case is a costly error. Accordingly, quality measurement250is taken to meet the given requirement. Quality measurement250is a true aggregate measurement. For example, quality measurement250is based on the combination of small volumes collected over time (e.g., from a system component232) and combined in the same sample container252. Therefore, a single quality measurement250is composed of time-aggregated measurements of the sample/target product in sample container252, where the sample in sample container252is a time-aggregate sample. Subsequent measurement of the time-aggregated quantity in the sample container252also adds additional delay.

Manufacturing system230is instrumented with a variety of sensors238coupled to system components232, and sensors238measure (i.e., collect) data at a much higher frequency than the measurement of quality measurement250. Control systems240can be coupled to sensors238and receive the measurements (i.e., sensor data) from sensors238. Sensor measurements can be measured every T′ increments of time (e.g., minutes), where T′ is less than T. For example, sensor measurements by sensors238could be measured/taken every five minutes, ten minutes, etc. Sensor measurement by sensors238could be measured/taken every hour, two hours, etc. The sensor measurements of sensors238do not measure the actual sample collected in sample container252. Rather, sensors238can provide measurements and readings of various pieces of equipment, materials, flows, etc., at various/different stages of the manufacturing process to produce the sample in sample container252. Sensor measurements and readings can be for any type of measurable value in and/or related to manufacturing system230. For example, sensor measurements and readings can be for ore quality, temperature, density, flow rate, voltage, current, speed, revolution-per-minute, vibration, and so forth.

A computer system202is connected to manufacturing system230. Computer system202can be coupled to control systems240, sensors238, control components234, and/or set points236. In one or more embodiments, control systems240can include one or more control applications242configured to interface with software applications204of computer system202. Also, control applications242can monitor and control system components, control components234, set points236, and sensors238as understood by one skilled in the art. Further details of computer system202are illustrated inFIG.3. In one or more embodiments, computer system202can be implemented and/or integrated in control system240. Software applications204can be implemented as software111executed on one or more processors101, as discussed inFIG.1. Similarly, control applications242can be implemented using software111configured to execute on one or more processors101. Elements of computer system100can be used in and/or integrated into computer system202and control systems240.

FIG.4depicts a flowchart of a computer-implemented process400providing continuous monitoring, advance alerts, and control of process key performance indicator variables that have infrequent and time-aggregated measurements in a manufacturing process in accordance with one or more embodiments of the invention. The computer-implemented process400inFIG.4can be implemented using system200shown inFIG.2, and computer system202inFIG.3. Accordingly, the computer-implemented process400will now be described with reference to system200and computer systems202inFIG.2.

At block402, software applications204of computer system202are configured to collect sensor data of sensors238in manufacturing system230. Sensor data of sensors238is measured at a higher frequency (e.g., measured at intervals or time T′ shorter) than measurement of quality measurement250(e.g., measured at interval or time “T”). In one or more embodiments, software applications204can receive sensor data of sensors238from control application242of control systems240. Sensor data of sensors238can be pushed to and/or pulled by software applications204of computer system202. In one or more embodiments, control systems240may buffer and/or store sensor data for respective sensors238prior to sending the sensor data to computer system202. In one or more embodiments, software applications204can receive sensor data of sensors238in real-time and/or near real-time.

At block404, software applications204of computer system202are configured to slice/divide the sensor data of sensors238into blocks of sensor data (e.g., tensor slices), where the different blocks correspond to different groups/periods of time for measurements taken by sensors238. At block406, software applications204of computer system202are configured to use the blocks of sensor data (e.g., tensor slices) for different groups/periods of time as input to a model306that is configured to determine a synthetic/estimated quality measurement for manufacturing system230. The synthetic/estimated quality measurement is generated at a higher frequency than the measurement of quality measurement250. In other words, the synthetic/estimated quality measurement is generated more often than the measurement taken for quality measurement250. This synthetic/estimated quality measurement also has less lag and/or delay than the quality measurement250which is a physical measurement.

At block408, software applications204of computer system202are configured to check whether the synthetic/estimated quality measurement is within a normal range for manufacturing system230. The normal range is predetermined in advance. The normal range can have a bottom limit and an upper limit, and the synthetic/estimated quality measurement is supposed to remain within the bottom and upper limits to be considered normal. If the synthetic/estimated quality measurement is within (“YES”) the normal range, flow proceeds to block402for continued monitoring. Continued monitoring includes continuous generation of synthetic/estimated quality measurements. If synthetic/estimated quality measurement is outside (“NO”) the normal range, software applications204are configured to issue advance warning (e.g., notification280) based on one or more synthetic/estimated quality measurements falling outside the normal range. For example, software applications204can issue a warning to control application242of control system240and to an operator. The advance warning is an early indicator that there is a problem in the manufacturing system230, including a potential problem with the sample in sample container252, prior to the period of time “T” for taking the quality measurement250of the sample in sample container252.

At block410, software applications204of computer system202are configured to cause one or more set points236and/or one or more control components234to be modified in manufacturing system230. In one or more embodiments, software applications204could cause, instruct, and/or request a change of one or more set points236and/or one or more control components234. In one or more embodiments, software applications204can communicate a request (and/or notification280) to control systems240such that the request causes control application242of control system240to modify set points236and/or control components234. In one or more embodiments, software applications204can cause a value, operation, and/or function associated with one or more set points236and/or one or more control components234to be increased and/or decreased because of the notification280.

Consequently, operation of manufacturing system230is improved and errors can be avoided based on notification280which is the advance warning. The synthetic/estimated quality measurements are generated using model306at a shorter interval and/or shorter time period than the measurement of quality measurement250. Therefore, the synthetic/estimated quality measurements generated using sensor data of sensors238provide an early indication about the target sample collected in sample container252, prior to the normal quality measurement250. As noted herein, quality measurement250is a delayed time aggregate based on the sample collected in sample container252, while the synthetic/estimated quality measurement is an instantaneous representation of the sample at any point in time which is smaller than the time “T” for taking/measuring the quality measurement250. Accordingly, using the synthetic/estimated quality measurements at different points in time, software applications204are configured to generate/infer more granular information regarding the true quality measurement250to enable early identification of potential issues in manufacturing system230and thereby provide mitigation.

FIG.5is a block diagram modeling the instantaneous quality of an unknown latent measurement in manufacturing system230in accordance with one or more embodiments of the invention. The unknown latent measurement is used to generate the synthetic/estimated quality measurement. Model306is a physics-based model related to manufacturing system230. InFIG.5, individual measurements/readings of different sensors238are shown by individual circles along timelines. Each measurement/reading of sensors238is taken at an instance in time that is smaller than the time between measurements taken for quality measurement250. Circles on timeline502represent quality measurements250taken every interval or period of time “T”. For illustration purposes, sensors238can include sensor A, sensor B, through sensor N, where N represents the last sensor, and each sensor has a plurality of measurements on a timeline. Each circle on timeline504is an unknown latent result that can provide additional knowledge of the manufacturing system230. Circles on timeline504are not measured in manufacturing system230but are derived from the relationship between sensor data of sensors238and quality measurement250.

When training model306, software applications204use historical data310(e.g., stored in memory308) to learn the relationship between sensor data of sensors238and quality measurement250for the same period of time “T”, and this process is continuously repeated. Historical data310includes historical sensor data of sensors238and historical quality measurements250, which are aligned in time. Historical data310stored in a database can be representative of numerous databases. The database can contain hundreds, thousands, and/or millions of documents, also referred to as “big data”. In accordance with one or more embodiments, the enormous size of historical data310in databases requires management, processing, and search by a machine (such as computer system202), for example, using computer-executable instructions, and historical data310in databases could not be practically managed, stored, analyzed, and/or processed as discussed herein within the human mind.

When training model306, software applications204are configured to fit a regression model that relates high-frequency covariates (which are individual measurements of sensor data for sensors238) over the measurement period “T” to the delayed low frequency measurements250(e.g., delayed low frequency (lab) results) through the unknown intermediate quality results on timeline504. For illustration purposes, y is the symbol indicating quality measurement250where ytindicates the value of the quality measurement250at time t. The unknown intermediate quality results at time t are expressed as qt=f(Xt−T:t) with an initially unknown relationship f( ) and unknown output. The function yt=g(qt−T:t) has a known relationship and unknown input (e.g., unknown input q over the time period t−T to t). Model306learns the function f( ) and uses f( ) later during prediction. In one or more embodiments, the function g( ) is known, since the quality measurements250are based on equal volumes sampled uniformly over time, and in this case, the model306is considering the average quality over the observation window “T”. In this case, the final sample in sample container252sent off for measurement consists of a uniform mixture of samples over time, and the target measurement results in an average measurement of the quality.

During training, the sensor data (i.e., measurements/readings) of sensors238is aligned to match the period of time “T” over which samples are collected in sample container252, where quality measurement250is taken of the collected samples in sample container252. Each quality measurement250is taken of collected samples in sample container252, and the sample data of sensors238is used over the same period of time “T”. Once the model306is trained, model306can be used to generate synthetic/estimated quality measurements (e.g., a synthetic y) at time intervals smaller than period of time “T” for each quality measurement250. Software applications204can apply (trained) model306to a different number of (possibly overlapping) length T′ windows of the covariates to predict unknown intermediate results qt, and then process those intermediate results (qt) to produce an average quality measurement which is a synthetic/estimated average quality measurement for a particular time interval/window smaller than that of the original quality measurement250(T). As noted herein, this is particularly useful in providing more timely warnings to the system operator of manufacturing system230. InFIG.5, one or more blocks of sensor data (e.g., tensor slices) can be utilized to generate a synthetic/estimated quality measurement for any desired or given time window. Various regression models can be utilized to implement model306.

FIG.6is an example representation of a model architecture600for model306in accordance with one or more embodiments of the invention.FIG.6illustrates use of a neural network. Blocks of sensor data from sensors238, represented by “X”, are input to model306for a total of “m” blocks. The blocks of sensor data are grouped according to their matching batches/groups of time. The sensor data from multiple sensors238are combined in each block. The blocks can be viewed as matrices (e.g., 2ndorder tensors), in each of these matrices, in which the columns consist of individual sensors with each row a separate time point. For example, one block of sensor data (e.g., tensor slice) could be Xt−T′−m+1:t−m+1, another block of sensor data could be Xt−T′−m+2:t−m+2, through the block of sensor data which is Xt−T′:t. As noted herein, measurements of the sensor data occur in increments of time T″, and “m” is the number of blocks of sensor data (e.g., tensor slices) used to generate a single synthetic/estimated quality measurement for time “t” which is a time instant generally used to refer to the present time. Referring toFIG.6, each block of sensor data is input into its own copy of the neural network which represents the function f( ). The multiple neural networks are identical copies of the same trained neural network, which is responsible for implementing and/or capturing the local dynamics as discussed herein. After inputting each block of sensor data into the function f( ) for the copies of neural networks, the copies of neural networks output the unknown intermediate quality results q which is a qtfor each neural network. For example, for the neural networks receiving respective blocks of sensor data, one neural network could generate qt−m+1, another neural network could generate qt−m+2, through the last neural network generating qt. A known aggregate function g( ) is utilized to aggregate the output from the copies of neural networks. The output “y” of the known aggregate function g( ) is a single synthetic/estimated quality measurement of manufacturing system230, for a given instance in time “t”, where the synthetic/estimated quality measurement represents the status/state of manufacturing system230. The output of g( ) is the quality over the time period T (i.e., the aggregate measurement of quality over the time period from t−T to t). Software applications204can utilize model306to generate synthetic/estimated quality measurements for different instances in time “t” which can be smaller intervals than the period of time “T” utilized for quality measurement250.

Quality measurement250can be considered the measurement of a process variable. Sensor data of sensors238can be considered covariates and/or other process variables different from the process variable. Using model306, the non-instantaneous nature of the process variable's measurement takes a general form of a time-aggregated measurement, whose time-resolution and value correspond to an aggregation over an interval of time using a general aggregation function (e.g., function g( ) of the variable's instantaneous values over that interval, as opposed to the case of instantaneous on-line and/or off-line measurements, whose time-resolution and value correspond to a point-in-time.

The process variable (e.g., corresponding to quality measurement250) under question is a quality-related variable corresponding to a physical material process outflow stream, whose measurements are available infrequently from a laboratory; the non-instantaneous, time-aggregated nature of the quality measurement is specifically due to mixing/aggregating equal sampled volumes (e.g., into sample container252) that are drawn at multiple instants in time over a long duration from the corresponding process outflow stream and subsequently performing a composite measurement on the aggregated total volume. As learned by model206, the non-instantaneous, time-aggregated nature of quality measurement250is due to any specified general aggregation function that is applied over each aggregation interval corresponding to historical process variable measurements (historical data310) as the relationship determined in model306. The non-instantaneous, time-aggregated nature of quality measurement250is due to an unspecified, general aggregation function that is uniformly applied over each aggregation interval corresponding to historical process variable measurements, and which is automatically learned by model306from the historical data310.

The continuous monitoring of the process variable for quality measurement250is done by automatically estimating its instantaneous, point-in-time value (e.g., the values for qt) using model306. The relationship used to generate the point-in-time value (e.g., synthetic/estimated quality measurement) is automatically learned from historical data by reconstructing the set of infrequent, time-interval aggregated historical ground truth measurements: by first constructing the unobserved, latent, point in time, instantaneous values (e.g., the values for qt) for the process variable over corresponding time-intervals, and the transforming these latent estimates (e.g., the values for qt) using the general aggregation function (e.g., function g( )). The point in time, latent estimates of the process variable at any instant are a consequence of model306that uses as inputs the values of all covariates (e.g., blocks of sensor data of sensors238) over a window of historical process influence, relative to each such instant in time, where the length of this window (e.g., time “T′ ”) is chosen as a model hyperparameter, independent of the duration (e.g., period of time “T”) between consecutive (infrequent) measurements of the process variable.

As depicted inFIG.6, the model306can be a neural network with multiple layers of nonlinear activation functions, weights, and biases, where model306uses as inputs both the raw values of all covariates (e.g., sensor data) over the window of historical process influence (e.g., time “T′ ”), as well as various time-series features over the sequence of historical covariate values in this window including mean, standard deviation, kurtosis, variance, etc. The automatic learning of the general aggregation function (e.g., function g( ) is done with a neural network with multiple layers of nonlinear activation functions, weights, and biases, and the general aggregation function (e.g., function g( )) uses as inputs the point-in-time latent estimates (e.g., values of qtsuch as qt−m+1, qt−m+2, through qt).

Technical benefits and advantages include a system and method which have better alignment with the underlying physics of the manufacturing process, in accordance with one or more embodiments. The estimated latent quality result (e.g., qt) depends on sensor measurements over a shorter time horizon. The estimated quality result (e.g., qt) effectively summarizes the local behavior of the process in a way that can be accurately used to capture the longer-term dynamics present in average quality measurement, and therefore, the estimated quality result (e.g., qt) is used to generate the synthetic/estimated quality measurement. Knowledge of the latent quality result allows formulating other time averages that may be more beneficial for ensuring the behavior of the process rather than a long-term average.

FIG.7is a flowchart of a computer-implemented process700for providing continuous monitoring, advance alerts, and control of process key performance indicator variables that have infrequent and time-aggregated measurements in a manufacturing system230in accordance with one or more embodiments of the present invention. The computer-implemented process700inFIG.7can be implemented using system200shown inFIG.2, along with discussions inFIGS.3-6.

At block702, software applications204on computer system202are configured to collect sensor data of a manufacturing system230, the sensor data being measured at intervals (e.g., time “T”) smaller than a time interval (e.g., period of time “T”) of a target measurement (e.g., quality measurement250) of the manufacturing system230, wherein the sensor data is determined to have a relationship to the target measurement (e.g., quality measurement250). For example, software applications204can collect sensor data of sensors238from control systems240and/or directly from sensors238.

At block704, software applications204on computer system202are configured to generate a synthetic target measurement at an interval (e.g., time “T′ ”) smaller than the time interval (e.g., period of time “T”) based on the relationship. For example, the relationship may include the relationship between function f( ) function g( ), and quality measurement250, where blocks of sensor data (“X”) are used as the input. Model306can be used to generate synthetic target measurement for a given time to represent quality measurement250.

At block706, software applications204on computer system202are configured to automatically generate an advance warning (e.g., notification280) for the target measurement based on the synthetic target measurement within the interval smaller than the time interval (e.g., time “T”).

One or more set points236associated with the manufacturing system230are automatically revised in response to the advance warning (e.g., notification280) for the target measurement based on the synthetic target measurement. One or more control components234associated with the manufacturing system230are automatically revised in response to the advance warning (e.g., notification280) for the target measurement based on the synthetic target measurement. The advance warning (e.g., notification280) is generated (by computer system202) because the synthetic target measurement is outside a predetermined range (e.g., normal range determined in advance). Modifications are made to the manufacturing system230(e.g., as caused and/or instructed by computer system202) to bring the synthetic target measurement within a predetermined range.

The target measurement (e.g., quality measurement250) is a quality-related variable corresponding to a physical material process outflow stream of the manufacturing system230, the target measurement including a non-instantaneous, time-aggregated nature due to mixing equal sampled volumes in a vessel (e.g., sample container252) where the equal sampled volumes are collected at multiple instants in time throughout the time interval (e.g., period of time “T”) and measured at an end of the time interval, thereby obtaining the target measurement (e.g., quality measurement250).

The target measurement (e.g., quality measurement250) is a composite measurement on an aggregated total volume of a sample (e.g., collected in sample container252). The synthetic target measurement is a generated value for a point in time based on the sensor data and is not a measurement of the aggregated total volume of the sample, but rather the synthetic target measurement represents a state of an individual sampled volume at the point in time within the time interval.

The target measurement (e.g., quality measurement250) is a composite measurement of an aggregated total volume of a sample (e.g., collected in sample container252). An aggregation function (e.g., aggregation function g( )) that produces the composite target measurement from the equal sampled volumes that make up the aggregated total volume is unknown and is learned automatically as a function of the target measurement across the equal sampled volumes. For known aggregation function (g( )), since in this case the function is known, the training process incorporates this information, as depicted inFIG.6as previously discussed herein. In one or more embodiments, there can be an unknown aggregation function (i.e., aggregation function (g( )) is unknown), and in such cases, g( ) may be unknown to the system designer/engineer. As such, software applications204and/or model306on computer system202are configured to also learn g( ) in the process. In this case, the aggregate function g( ) inFIG.6is replaced by another neural network whose parameters need to be learned. The synthetic target measurement (e.g., via model306of software applications204) is a generated value for a point in time based on the sensor data (e.g., of manufacturing system230) and is not a measurement of the aggregated total volume of the sample, the synthetic target measurement representing a state of an individual sampled volume of the equal sampled volumes (e.g., collected in sample container252) at the point in time within the time interval (e.g., period of time “T”). It is noted that the synthetic target measurement is synthetic in the sense that it is based on the output of the learned model (f( ). This could be a point in time measurement (i.e., instantaneous quality) and/or a new aggregate produced at a finer granularity (i.e., 1-hour average quality). In one case, the point in time measurement could corelate (e.g., coincide or nearly coincide) to the time for an individual sampled volume, thereby providing insight to what occurred in the manufacturing system230and/or the state at that time.

The target measurement (e.g., quality measurement250) is a composite measurement of an aggregated total volume of a sample (e.g., collected in sample container252). An aggregation function (e.g., aggregation function g( )) that produces the composite target measurement from the equal sampled volumes that make up the aggregated total volume is known to be an average of the target measurement across the equal sampled volumes. The synthetic target measurement (e.g., via model306of software applications204) is a generated value for a point in time based on the sensor data and is not a measurement of the aggregated total volume of the sample, the synthetic target measurement representing a state of an individual sampled volume of the equal sampled volumes at the point in time within the time interval (e.g., period of time “T”).

The target measurement (e.g., quality measurement250) is a composite measurement of an aggregated total volume of a sample (e.g., collected in sample container252). The aggregation function (e.g., aggregation function g( )) that produces the composite target measurement from the equal sampled volumes that make up the aggregated total volume is known from a user-specified function of the target measurement across the equal sampled volumes. The synthetic target measurement (e.g., via model306of software applications204) is a generated value for a point in time based on the sensor data and is not a measurement of the aggregated total volume of the sample, the synthetic target measurement representing a state of an individual sampled volume of the equal sampled volumes at the point in time within the time interval (e.g., period of time “T”).

It is to be understood that although this disclosure includes a detailed description on cloud computing, implementation of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed.

Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. This cloud model may include at least five characteristics, at least three service models, and at least four deployment models.

Characteristics are as follows:On-demand self-service: a cloud consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with the service's provider.Broad network access: capabilities are available over a network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).Resource pooling: the provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to demand. There is a sense of location independence in that the consumer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or datacenter).Rapid elasticity: capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.Measured service: cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency for both the provider and consumer of the utilized service.

Service Models are as follows:Software as a Service (SaaS): the capability provided to the consumer is to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a thin client interface such as a web browser (e.g., web-based e-mail). The consumer does not manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities, with the possible exception of limited user-specific application configuration settings.Platform as a Service (PaaS): the capability provided to the consumer is to deploy onto the cloud infrastructure consumer-created or acquired applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure including networks, servers, operating systems, or storage, but has control over the deployed applications and possibly application hosting environment configurations.Infrastructure as a Service (IaaS): the capability provided to the consumer is to provision processing, storage, networks, and other fundamental computing resources where the consumer is able to deploy and run arbitrary software, which can include operating systems and applications. The consumer does not manage or control the underlying cloud infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., host firewalls).

Deployment Models are as follows:Private cloud: the cloud infrastructure is operated solely for an organization. It may be managed by the organization or a third party and may exist on-premises or off-premises.Community cloud: the cloud infrastructure is shared by several organizations and supports a specific community that has shared concerns (e.g., mission, security requirements, policy, and compliance considerations). It may be managed by the organizations or a third party and may exist on-premises or off-premises.Public cloud: the cloud infrastructure is made available to the general public or a large industry group and is owned by an organization selling cloud services.Hybrid cloud: the cloud infrastructure is a composition of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technology that enables data and application portability (e.g., cloud bursting for load-balancing between clouds).

A cloud computing environment is service oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure that includes a network of interconnected nodes.

Referring now toFIG.8, illustrative cloud computing environment50is depicted. As shown, cloud computing environment50includes one or more cloud computing nodes10with which local computing devices used by cloud consumers, such as, for example, personal digital assistant (PDA) or cellular telephone54A, desktop computer54B, laptop computer54C, and/or automobile computer system54N may communicate. Nodes10may communicate with one another. They may be grouped (not shown) physically or virtually, in one or more networks, such as Private, Community, Public, or Hybrid clouds as described herein above, or a combination thereof. This allows cloud computing environment50to offer infrastructure, platforms and/or software as services for which a cloud consumer does not need to maintain resources on a local computing device. It is understood that the types of computing devices54A-N shown inFIG.8are intended to be illustrative only and that computing nodes10and cloud computing environment50can communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).

Referring now toFIG.9, a set of functional abstraction layers provided by cloud computing environment50(FIG.8) is shown. It should be understood in advance that the components, layers, and functions shown inFIG.9are intended to be illustrative only and embodiments of the invention are not limited thereto. As depicted, the following layers and corresponding functions are provided:

Hardware and software layer60includes hardware and software components. Examples of hardware components include: mainframes61; RISC (Reduced Instruction Set Computer) architecture based servers62; servers63; blade servers64; storage devices65; and networks and networking components66. In some embodiments, software components include network application server software67and database software68.

Virtualization layer70provides an abstraction layer from which the following examples of virtual entities may be provided: virtual servers71; virtual storage72; virtual networks73, including virtual private networks; virtual applications and operating systems74; and virtual clients75.

In one example, management layer80may provide the functions described below. Resource provisioning81provides dynamic procurement of computing resources and other resources that are utilized to perform tasks within the cloud computing environment. Metering and Pricing82provide cost tracking as resources are utilized within the cloud computing environment, and billing or invoicing for consumption of these resources. In one example, these resources may include application software licenses. Security provides identity verification for cloud consumers and tasks, as well as protection for data and other resources. User portal83provides access to the cloud computing environment for consumers and system administrators. Service level management84provides cloud computing resource allocation and management such that required service levels are met. Service Level Agreement (SLA) planning and fulfillment85provide pre-arrangement for, and procurement of, cloud computing resources for which a future requirement is anticipated in accordance with an SLA.

Workloads layer90provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation91; software development and lifecycle management92; virtual classroom education delivery93; data analytics processing94; transaction processing95; and software applications (e.g., software applications204, control applications242, model306, etc.) implemented in workloads and functions96.

Various embodiments of the invention are described herein with reference to the related drawings. Alternative embodiments of the invention can be devised without departing from the scope of this invention. Various connections and positional relationships (e.g., over, below, adjacent, etc.) are set forth between elements in the following description and in the drawings. These connections and/or positional relationships, unless specified otherwise, can be direct or indirect, and the present invention is not intended to be limiting in this respect. Accordingly, a coupling of entities can refer to either a direct or an indirect coupling, and a positional relationship between entities can be a direct or indirect positional relationship. Moreover, the various tasks and process steps described herein can be incorporated into a more comprehensive procedure or process having additional steps or functionality not described in detail herein.

One or more of the methods described herein can be implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.

For the sake of brevity, conventional techniques related to making and using aspects of the invention may or may not be described in detail herein. In particular, various aspects of computing systems and specific computer programs to implement the various technical features described herein are well known. Accordingly, in the interest of brevity, many conventional implementation details are only mentioned briefly herein or are omitted entirely without providing the well-known system and/or process details.

In some embodiments, various functions or acts can take place at a given location and/or in connection with the operation of one or more apparatuses or systems. In some embodiments, a portion of a given function or act can be performed at a first device or location, and the remainder of the function or act can be performed at one or more additional devices or locations.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, element components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the disclosure. The embodiments were chosen and described in order to best explain the principles of the disclosure and the practical application, and to enable others of ordinary skill in the art to understand the disclosure for various embodiments with various modifications as are suited to the particular use contemplated.

The diagrams depicted herein are illustrative. There can be many variations to the diagram or the steps (or operations) described therein without departing from the spirit of the disclosure. For instance, the actions can be performed in a differing order or actions can be added, deleted or modified. Also, the term “coupled” describes having a signal path between two elements and does not imply a direct connection between the elements with no intervening elements/connections therebetween. All of these variations are considered a part of the present disclosure.

The following definitions and abbreviations are to be used for the interpretation of the claims and the specification. As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having,” “contains” or “containing,” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a composition, a mixture, process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but can include other elements not expressly listed or inherent to such composition, mixture, process, method, article, or apparatus.

Additionally, the term “exemplary” is used herein to mean “serving as an example, instance or illustration.” Any embodiment or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. The terms “at least one” and “one or more” are understood to include any integer number greater than or equal to one, i.e. one, two, three, four, etc. The terms “a plurality” are understood to include any integer number greater than or equal to two, i.e. two, three, four, five, etc. The term “connection” can include both an indirect “connection” and a direct “connection.”

The terms “about,” “substantially,” “approximately,” and variations thereof, are intended to include the degree of error associated with measurement of the particular quantity based upon the equipment available at the time of filing the application. For example, “about” can include a range of ±8% or 5%, or 2% of a given value.

The present invention may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.

Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instruction by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.

These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.

The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.

The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

The descriptions of the various embodiments of the present invention have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments described herein.