US20160112283A1 - Remote industrial monitoring and analytics using a cloud infrastructure - Google Patents
Remote industrial monitoring and analytics using a cloud infrastructure Download PDFInfo
- Publication number
- US20160112283A1 US20160112283A1 US14/978,226 US201514978226A US2016112283A1 US 20160112283 A1 US20160112283 A1 US 20160112283A1 US 201514978226 A US201514978226 A US 201514978226A US 2016112283 A1 US2016112283 A1 US 2016112283A1
- Authority
- US
- United States
- Prior art keywords
- data
- industrial
- cloud
- analysis
- cloud platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0264—Control of logging system, e.g. decision on which data to store; time-stamping measurements
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/13—Plc programming
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2223/00—Indexing scheme associated with group G05B23/00
- G05B2223/06—Remote monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
Definitions
- This disclosure relates generally to systems and methods that provide remote monitoring services for an industrial automation system over a cloud infrastructure
- Industrial controllers and their associated I/O devices are central to the operation of modern automation systems. These controllers interact with field devices on the plant floor to control automated processes relating to such objectives as product manufacture, material handling, batch processing, supervisory control, and other such applications. Industrial controllers store and execute user-defined control programs to effect decision-making in connection with the controlled process. Such programs can include, but are not limited to, ladder logic, sequential function charts, function block diagrams, structured text, or other such programming structures.
- a cloud-based infrastructure can facilitate gathering, transmitting, and remotely storing control and automation data and relating information.
- the infrastructure can collect the industrial data from data collectors in an industrial enterprise, including but not limited to SQL systems, data historians, data tables, or other such plant floor and/or business-level collectors.
- the cloud-based infrastructure can intelligently sort and organize the acquired data based on selected criteria (e.g., time of occurrence of a plant-floor event, priority, etc.).
- the infrastructure can include a data collecting service agent that execute periodic collecting and transmission of serialized data into the cloud domain.
- a network of virtual servers hosts multi-agent systems with agents representing the on-premise machine/process. These multi-agent systems represent agent-based analytics of different degrees and lifecycles.
- the agent-based analytic framework can facilitate coordination between on-premise agents at the plant facility and high-analytics agents residing on the cloud platform.
- the collected data can be processed based on agent communication and service discovery capabilities for intelligently directing remote storage of the data into preconditions blobs.
- agent reasoning and collective bargaining can be used to determine a data stage locale and subsequent retrieval.
- the agents assume cloud web role and worker role responsibilities.
- Cloud agents can also discover fundamental associations between the collected data in the cloud infrastructure, and perform actions based in part on the discovered associations. This can include, for example, triggering intelligent alarms, generating recommended courses of action, or initiating a control output in response to a discovered condition based on the learned associations.
- the cloud-based infrastructure can include an agent-based analytics framework that can perform analytics on large sets of industrial data in the cloud.
- the agent-based analytics framework can leverage a distributed file system framework facilitate parallel processing of the industrial data using a set of virtual servers deployed on the cloud platform.
- the cloud-based infrastructure can also include a set of web-based and/or browser-based tools for that allow an end user to retrieve, direct, and/or uncompress the data from the cloud.
- FIG. 1 is a high-level overview of an industrial enterprise that leverages cloud-based services.
- FIG. 2 is a general high-level overview of a cloud computing infrastructure that provides remote monitoring services.
- FIG. 3 illustrates a system that leverages a cloud-based infrastructure to provide Software as a Service (SaaS) for remote monitoring services to customer manufacturing sites.
- SaaS Software as a Service
- FIG. 4 illustrates an exemplary cloud agent that collects, packages, and sends industrial data to a cloud-based remote monitoring system using a generic, unified data packaging schema.
- FIG. 5 illustrates an exemplary data packet generated by a cloud agent for moving industrial data to a cloud-based remote monitoring system.
- FIG. 6A illustrates an exemplary interface display that can be provided by a cloud-based remote monitoring system for rendering an animated graphical representation of an industrial system.
- FIG. 6B illustrates an exemplary interface display that can be provided by a cloud-based remote monitoring system for displaying tag names and associated values.
- FIG. 7 illustrates an exemplary alarm display that can be provided by a cloud-based remote monitoring system.
- FIG. 8 illustrates an exemplary live data display that can be provided by a cloud-based remote monitoring system.
- FIG. 9 illustrates an exemplary interface display that can be provided a cloud-based remote monitoring system for displaying tag history by machine section.
- FIG. 10 illustrates an exemplary alarm summary interface display that can be provided by a cloud-based remote monitoring system.
- FIG. 11 illustrates an exemplary notification architecture that can be leveraged in connection with intelligent alarming.
- FIG. 12 illustrates an exemplary system for performing cloud-side analytics on industrial data.
- FIG. 13 illustrates an exemplary system for executing an analysis application on a set of virtual servers to facilitate distributed processing of industrial data on a cloud platform.
- FIG. 14 illustrates an exemplary system for cloud-side agent-based analysis of industrial data.
- FIG. 15 illustrates a logical architecture for an analytics capability manager that can facilitate execution of cloud-side analytics of industrial data.
- FIG. 16 illustrates an exemplary organization of analytic functionality.
- FIG. 17 illustrates a logical architecture for returning calculated results of cloud-based analysis of industrial data to a cloud-based agent.
- FIG. 18 is a flowchart of an example methodology for moving industrial data from a plant floor to a cloud platform.
- FIG. 19 is a flowchart of an example methodology for creating and using message queues on a cloud platform for storage and processing of industrial data.
- FIG. 20 is a flowchart of an example methodology for analyzing industrial data in a cloud platform.
- FIG. 21 is a flowchart of an example methodology for performing agent-based analysis on industrial data in a cloud platform.
- FIG. 22 is an example computing environment.
- FIG. 23 is an example networking environment.
- the terms “component,” “system,” “platform,” “layer,” “controller,” “terminal,” “station,” “node,” “interface” are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities can be either hardware, a combination of hardware and software, software, or software in execution.
- a component can be, but is not limited to being, a process running on a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removably affixed solid-state storage drives; an object; an executable; a thread of execution; a computer-executable program, and/or a computer.
- affixed e.g., screwed or bolted
- solid-state storage drives e.g., solid-state storage drives
- the components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
- a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.
- a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components.
- interface(s) can include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
- I/O input/output
- API Application Programming Interface
- the terms “to infer” and “inference” refer generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example.
- the inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events.
- Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
- the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B.
- the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
- a “set” in the subject disclosure includes one or more elements or entities.
- a set of controllers includes one or more controllers; a set of data resources includes one or more data resources; etc.
- group refers to a collection of one or more entities; e.g., a group of nodes refers to one or more nodes.
- FIG. 1 illustrates a high-level overview of an industrial enterprise that leverages cloud-based services.
- the enterprise comprises one or more industrial facilities 104 , each having a number of industrial devices 108 and 110 in use.
- the industrial devices 108 and 110 can make up one or more automation systems operating within the respective facilities 104 .
- Exemplary automation systems can include, but are not limited to, batch control systems (e.g., mixing systems), continuous control systems (e.g., PID control systems), or discrete control systems.
- Industrial devices 108 and 110 can include such devices as industrial controllers (e.g., programmable logic controllers or other types of programmable automation controllers); field devices such as sensors and meters; motor drives; operator interfaces (e.g., human-machine interfaces, industrial monitors, graphic terminals, message displays, etc.); industrial robots, barcode markers and readers; vision system devices (e.g., vision cameras); smart welders; or other such industrial devices.
- industrial controllers e.g., programmable logic controllers or other types of programmable automation controllers
- field devices such as sensors and meters
- motor drives e.g., motor drives
- operator interfaces e.g., human-machine interfaces, industrial monitors, graphic terminals, message displays, etc.
- industrial robots, barcode markers and readers e.g., barcode markers and readers
- vision system devices e.g., vision cameras
- smart welders e.g., smart welders
- Exemplary automation systems can include one or more industrial controllers that facilitate monitoring and control of their respective processes.
- the controllers exchange data with the field devices using native hardwired I/O or via a plant network such as Ethernet/IP, Data Highway Plus, ControlNet, Devicenet, or the like.
- a given controller typically receives any combination of digital or analog signals from the field devices indicating a current state of the devices and their associated processes (e.g., temperature, position, part presence or absence, fluid level, etc.), and executes a user-defined control program that performs automated decision-making for the controlled processes based on the received signals.
- the controller then outputs appropriate digital and/or analog control signaling to the field devices in accordance with the decisions made by the control program.
- These outputs can include device actuation signals, temperature or position control signals, operational commands to a machining or material handling robot, mixer control signals, motion control signals, and the like.
- the control program can comprise any suitable type of code used to process input signals read into the controller and to control output signals generated by the controller, including but not limited to ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.
- FIG. 1 depicts the exemplary overview illustrated in FIG. 1 depicts the industrial devices 108 and 110 as residing in fixed-location industrial facilities 104 , the industrial devices 108 and 110 may also be part of a mobile control application, such as a system contained in a truck or other service vehicle.
- a mobile control application such as a system contained in a truck or other service vehicle.
- industrial devices 108 and 110 can be coupled to a cloud platform 102 in order to leverage cloud-based applications. That is, the industrial devices 108 and 110 can be configured to discover and interact with cloud-based computing services 112 hosted by cloud platform 102 .
- Cloud platform 102 can be any infrastructure that allows computing services 112 to be accessed and utilized by cloud-capable devices. Cloud platform 102 can be a public cloud accessible via the Internet by devices having Internet connectivity and appropriate authorizations to utilize the services 112 .
- cloud platform 102 can be provided by a cloud provider as a platform-as-a-service (PaaS), and the services 112 (such as the operator interface system described herein) can reside and execute on the cloud platform 102 as a cloud-based service.
- PaaS platform-as-a-service
- access to the cloud platform 102 and the services 112 can be provided to customers as a subscription service by an owner of the services 112 .
- cloud platform 102 can be a private cloud operated internally by the enterprise.
- An exemplary private cloud can comprise a set of servers hosting the cloud services 112 and residing on a corporate network protected by a firewall.
- Cloud services 112 can include, but are not limited to, data storage, data analysis, control applications (e.g., applications that can generate and deliver control instructions to industrial devices 108 and 110 based on analysis of real-time system data or other factors), visualization applications such as the cloud-based operator interface system described herein, reporting applications, Enterprise Resource Planning (ERP) applications, notification services, or other such applications.
- control applications e.g., applications that can generate and deliver control instructions to industrial devices 108 and 110 based on analysis of real-time system data or other factors
- visualization applications such as the cloud-based operator interface system described herein, reporting applications, Enterprise Resource Planning (ERP) applications, notification services, or other such applications.
- ERP Enterprise Resource Planning
- industrial devices 108 and 110 may access the cloud services 112 through separate on-premise cloud agents 106 at the respective industrial facilities 104 , where the industrial devices 108 and 110 connect to the on-premise cloud agents 106 through a physical or wireless local area network or radio link.
- the industrial devices may access the cloud platform directly using an integrated cloud interface.
- cloud-based storage offered by the cloud platform can be easily scaled to accommodate the large quantities of data generated daily by an industrial enterprise.
- multiple industrial facilities at different geographical locations can migrate their respective automation data to the cloud for aggregation, collation, collective analysis, and enterprise-level reporting without the need to establish a private network between the facilities.
- Industrial devices 108 and 110 having smart configuration capability can be configured to automatically detect and communicate with the cloud platform 102 upon installation at any facility, simplifying integration with existing cloud-based data storage, analysis, or reporting applications used by the enterprise.
- cloud-based diagnostic applications can monitor the health of respective automation systems or their associated industrial devices across an entire plant, or across multiple industrial facilities that make up an enterprise.
- Cloud-based lot control applications can be used to track a unit of product through its stages of production and collect production data for each unit as it passes through each stage (e.g., barcode identifier, production statistics for each stage of production, quality test data, abnormal flags, etc.).
- production data e.g., barcode identifier, production statistics for each stage of production, quality test data, abnormal flags, etc.
- the cloud platform 102 can allow software vendors to provide software as a service, removing the burden of software maintenance, upgrading, and backup from their customers.
- Maintaining stability and integrity of the physical equipment comprising a manufacturing environment is a high priority for most industrial enterprises.
- Remote monitoring of these industrial assets would allow plant personnel to view plant data generated by their systems from a remote location, and could facilitate remote notification in response to a detected system event requiring attention.
- on-premise data collection required by such remote monitoring systems consumes large amounts of data storage.
- a remote monitoring system could involve transmission of potentially sensitive plant data to a remote viewer, secure data transmission channels would be required.
- remote monitoring services depend on heavily customized systems and interfaces, which can be monolithic and expensive. Such remote monitoring services using custom-based technology can be expensive and difficult to expand without forcing a full re-programming of the application and its interfaces. For example, if a plant enterprise expanded their automation systems (e.g., by adding a new production line, adding new data points to an existing production line, etc.), it would be necessary to redevelop any customized remote monitoring systems in place to include the new systems or data points. The redeveloped monitoring system would then have to be retested and re-deployed to facilitate monitoring of the newly expanded automation system. Conventionally, these modifications often must be implemented by a hired software developer, and thus would incur additional costs.
- FIG. 2 illustrates a general high-level overview of such a cloud computing infrastructure.
- a number of industrial assets reside on a plant network 224 in a manufacturing environment. These assets can include industrial controllers 210 and 220 that monitor and control I/O device 212 and 222 , a data server 214 , a motor drive 216 , and a remote I/O interface 218 that remotely interfaces a group of I/O devices 226 to one or more of the industrial controllers 210 or 220 .
- Cloud agent 208 Also located on the plant facility is a cloud agent 208 that provides on-premise data collection, packaging, and transmission of industrial data generated by the industrial assets.
- Cloud agent 208 acts as a generic gateway to collect data items from the various industrial assets on plant network 224 and packages the collected data according to a generic, uniform data packaging schema used to move the on-premise data to a cloud platform 204 via the Internet 206 . Once the packaged data has been provided to cloud platform 204 , the data can be retrieved or viewed from a remote monitoring center 202 .
- Cloud agent 208 provides a software mechanism to dynamically link on-premise-to-cloud gateways. As will be described in more detail below, cloud agent 208 provides an expandable data type schema that allows new data types to be added without the need to redeploy the monitoring system to the cloud.
- FIG. 3 illustrates a system that leverages a cloud-based infrastructure to provide Software as a Service (SaaS) for remote monitoring services to customer manufacturing sites.
- SaaS Software as a Service
- This system can provide remote monitoring services in connection with alarm and event notification for critical industrial assets, historical data collection, remote system access, and other such applications.
- a data historian 304 collects site data from one or more assets (e.g., data generated by one or more industrial controllers, such as industrial controllers 210 and 220 ) at a plant facility.
- data historian 304 can monitor one or more controller tags defined in a tags archive and store data in local storage associated with data historian 304 . This can include both historical data (e.g., alarm history, status history, trend data, etc.) as well as live data values read from the controller(s).
- An on-premise cloud agent 306 is configured to collect and organize the live or historical data from the controllers, either directly or by accessing data historian 304 , and send the collected data to the cloud platform for storage (in some embodiments, on-premise cloud agent 306 can also coordinate decision making with high-analytics agents in the cloud platform, as will be described in more detail below).
- the process of collecting the data involves intelligent sorting and organizing based on defined criteria, including but not limited to time of occurrence and/or user-defined priorities.
- Cloud agent 306 can be, for example, a service (e.g., a Windows service) that periodically collects and transmits serialized and compressed data into the cloud domain using standard web services over HTTPS/SSL.
- Cloud agent 306 can comply with standard agent communication to communicate with other on-premise agents, as well as agents in the cloud platform that perform high-analytics on the industrial data, as will be described in more detail herein.
- FIG. 3 depicts data historian 304 as the data source for cloud agent 306 . This configuration can be useful when there are a large number of data points to monitor. However, some embodiments of cloud agent 306 can collect data directly from the manufacturing assets themselves (e.g., through a Common Industrial Protocol link), or through middleware applications such as OPC clients.
- Cloud agent 306 is illustrated in more detail with reference to FIG. 4 .
- site data 410 is collected by a data historian 304 at the plant facility 302 .
- Cloud agent 306 comprises collection services 414 that collect device data, either from data historian 304 or directly from the devices themselves (e.g., variable frequency drives 412 in the illustrated example) via a common industrial protocol (CIP) link or other suitable communication protocol.
- Collection services 414 can then compress the data and store the data in a compressed data file 422 .
- Queue processing services 416 can read the compressed data file 422 and reference a message queuing database 420 , which manages customer site configuration and subscription to the remote monitoring system.
- queue processing services 416 package the compressed data file 422 into a data packet and push the data packet 320 to the cloud platform.
- An exemplary data packet 502 is illustrated in FIG. 5 .
- data packet 502 can include a header 504 that includes customer-specific data read from message queuing database 420 .
- header 504 can include a unique customer ID, a site ID representing a particular plant facility, a virtual support engineer ID, a data priority for the data in the compressed data file, a message type, and a process ID.
- Packaging the data in this way can allow data from diverse data sources to be packaged together using a uniform, generic data packaging schema so that the data can be moved to the cloud infrastructure.
- Message queuing database 420 can include site-specific information regarding what tag data are to be collected (e.g., data tag identifiers, etc.), user-defined priorities or data types for the data tags, firewall settings that allow cloud agent 306 to communicate with the cloud platform, and other such configuration information. Configuration information in message queuing database 420 instructs cloud agent 306 how to talk to the data tags and to the remote monitoring service on the cloud platform.
- cloud agent 306 in addition to collection and migration of data, can also perform local analytics on the data prior to moving the data to the cloud platform. This can comprise substantially any type of pre-processing or data refinement that may facilitate more efficient transfer of the data to the cloud, prepare the data for enhanced analysis in the cloud, reduce the amount of cloud storage required to store the data, or other such benefits.
- cloud agent 306 may be configured to compress the collected data using any suitable data compression algorithm prior to migrating the data to the cloud platform. This can include detection and deletion of redundant data bits, truncation of precision bits, or other suitable compression operations.
- cloud agent 306 may be configured to aggregate data by combining related data from multiple sources.
- cloud agent 306 may also encrypt sensitive data prior to upload to the cloud.
- cloud agent 306 may filter the data according to any specified filtering criterion (e.g., filtering criteria defined in a filtering profile). For example, defined filtering criteria may specify that pressure values exceeding a defined setpoint are to be filtered out prior to uploading the pressure values to the cloud.
- cloud agent 306 may also transform a specified subset of the industrial data from a first format to a second format in accordance with a requirement of a cloud-based analysis application.
- a cloud-based reporting application may require measured values in ASCII format.
- cloud agent 306 can convert a selected subset of the gathered data from floating point format to ASCII prior to pushing the data to the cloud platform for storage and processing. Converting the raw data at the industrial device before uploading to the cloud, rather than requiring this transformation to be performed on the cloud, can reduce the amount of processing load on the cloud side.
- Cloud agent 306 may also associate metadata with selected subsets of the data prior to migration to the cloud, thereby contextualizing the data within the industrial environment. For example, cloud agent 306 can tag selected subsets of the data with a time indicator specifying a time at which the data was generated, a quality indicator, a production area indicator specifying a production area within the industrial enterprise from which the data was collected, a machine or process state indicator specifying a state of a machine or process at the time the data was generated, a personnel identifier specifying an employee on duty at the time the data was generated, or other such contextual metadata.
- cloud agent 306 can perform layered processing of the collected data to generate meta-level knowledge that can subsequently be leveraged by cloud-based analysis tools to facilitate enhanced analysis of the data in view of a larger plant context.
- Cloud agent 306 can also send messages to cloud-level agents using agent communication languages to perform multi-layered analytics-boundaries.
- cloud agent 306 sends data packet 320 to the cloud-based remote-monitoring system on cloud platform 308 .
- Processing of the data is based on agent communication and service discovery capabilities for intelligently directing remote storage of the data into preconditioned cloud blobs 316 .
- the infrastructure can use agent reasoning and collective bargain features to determine a data storage locale and subsequent retrieval.
- users at the plant facility 302 can dynamically configure one or more message queues 314 that respectively define how the data is processed in the cloud platform 308 .
- separate queues have been defined for alarms, live data, historical data, and motor drive data.
- the historical data queue relates to time-series records, which can be accessed through an application programming interface (API) (e.g., a structured query language (SQL) API or other suitable API).
- API application programming interface
- SQL structured query language
- the alarms queue relates to abnormal situations, where the alarm data can also be accessed through the API.
- This alarms queue can comprise multiple queues associated with different alarm priorities, to allow for individual processing for different alarms having different levels of criticality.
- servers, controllers, switches, etc. can be monitored using a number of protocols, and at a certain point (e.g., at the end of a monitoring cycle) alarms can be queued up and cloud agent 306 can send the alarms to the cloud.
- Alarms can be reactive (e.g., alarms that trigger when a motor fails, when a CPU crashes, when an interlock is tripped, etc.) or proactive (e.g., track consumables on a machine and generate an alarm when time to reorder, monitor cycle counts on a machine and generate an alarm when to schedule preventative maintenance, generate an alarm when temperatures go out of defined bandwidths, send a notification when a computer's memory is 80% full, etc.).
- the live data queue relates to substantially real-time monitored data, such as current temperatures, current pressures, etc.
- the live data values can also be accessed through the API (e.g., a SQL API).
- the motor drives queue is specific to motor drive data, and can be accessed, for example, through a deep packet inspection (DPI) protocol to the respective drives in the illustrated example.
- DPI deep packet inspection
- the motor drive data can relate to alarming and uploading of drive parameter data via a connector that uses the DPI protocol via a .Net class provided by the drives group.
- Cloud agent 306 can allow the user to define these queues from the on-site location and to define how data in each queue is handled. For example, the user can define, for each queue, an upload frequency, a priority level (e.g., which data queues should take processing priority over other data queues), which cloud partitions or databases data from the respective queues should be placed in, and other such information.
- the live data queue may be defined to process live data values that are to be used by a remote operator interface application to view substantially real-time data from the plant facility 302
- historical data queue may be used to process historian data for archival storage in a historical database 328 on cloud storage. Accordingly, the live data queue may be assigned a higher priority relative to the historical data queue, since data in the live data queue is more time-critical than data in the historical queue.
- users can assign priorities to respective data tags or tag groups at the customer site. These priority assignments can be stored in the message queuing database 420 of the cloud agent 306 . Accordingly, when queue processing services 416 package the collected data to be moved to the cloud platform, the collected data items can be packaged into data packets according to priority (as defined in message queuing database 420 ), and the respective data packet headers populated with the appropriate priority level. If access to the cloud is disconnected, data will continue to be collected by collection services 414 and stored locally at local storage associated with collections services. When communication to the cloud is restored, the stored data will be forwarded to cloud storage. Queue processing services can also encrypt and send storage account keys to the cloud platform for user verification.
- cloud agent 306 When cloud agent 306 sends a data packet to the cloud-based remote monitoring service, the service reads the data header information to determine a priority assigned to the data (e.g., as defined in the data priority field of the data packet) and sends the data packet (or the compressed data therein) to a selected one of the user defined message queues 314 based on the priority.
- a worker role 322 processes data in the respective queues according to the predefined processing definitions. Worker role 322 determines how the queued data is to be processed based on behavior assemblies 324 stored in a customer-specific manifest. Behavior assemblies 324 define and implement customer-specific capabilities and preferences for processing monitored data. Behavior assemblies 324 can be dynamically uploaded by a user at the plant facility 302 through cloud agent 306 , which facilitates dynamic extension of SaaS cloud computing capability.
- cloud agent 306 can interact with cloud agent 306 to configure a new behavior assembly for the new queue that defines such aspects as processing priority for the data, upload frequency for the data, where the data is to be stored within cloud storage 326 , and other such information.
- Cloud agent 306 can then upload the new behavior assembly together with the data (or independently of the data).
- the new behavior assembly is then added to the customer's manifest with the other behavior assemblies 324 defined for the customer, so that worker role 322 can leverage the new behavior assembly to determine how data in the new queue is to be processed. This new behavior assembly need only be uploaded to the cloud-based remote monitoring service once.
- the behavior assembly may define where the data is to be stored within cloud storage 326 (e.g., in historical database 328 or in Alarms and Live Data database 334 ), and whether processing of the new data queue is to take priority over other data queues.
- the manifest may only accept a new behavior assembly if the behavior assembly is accompanied by a unique key associated with the client.
- Partitioning of cloud storage 326 can be configured by a management console 332 , which can write partitioning definitions to a system database associated with the cloud storage 326 .
- reporting services 318 can deliver data in cloud storage 326 (e.g., from the Alarm and Live Data database 334 or historical database 328 ) to the client devices 330 in a defined format.
- reporting services 318 can leverage monitored data stored in cloud storage 326 to provide remote operator interfaces to client devices 330 over the Internet.
- FIGS. 6A and 6B illustrate an exemplary interface displays that can be provided by reporting services 318 .
- the interface display 602 of FIG. 6A displays an animated graphical representation of a section of an industrial system
- interface display 604 lists a set of relevant data tags and their respective values for data points rendered on interface display 602 .
- Reporting services 318 can populate interface display 602 and 604 with appropriate data from cloud storage 326 and deliver the display interfaces to client devices 330 having suitable access permissives to access the data.
- FIG. 7 illustrates an exemplary alarm display 700 that can be provided by reporting services 318 based on data in cloud storage 326 .
- reporting services 318 can deliver alarm display 700 to suitable client devices 330 having suitable authorization to view the alarm data.
- FIG. 8 illustrates an exemplary live data display 800 that can be provided by reporting services 318 .
- the alarm data rendered on alarm display 700 and live data rendered on live data display 800 can be drawn from the Alarms and Live Data database 334 on cloud storage 326 .
- FIG. 9 illustrates an exemplary interface display 900 that can be provided by reporting services 318 and that lists tag history by machine section.
- Tag data in the respective columns of interface display 900 can be drawn from historical database 328 on cloud storage 326 .
- FIG. 10 illustrates an exemplary alarm summary interface display 1000 that can be provided by reporting services 318 .
- Alarm summary interface display 1000 can render graphical representations of alarm summaries based on data in historical database 328 .
- FIGS. 6-10 are only intended to be exemplary, and that any suitable display format for plant data collected and stored in the cloud infrastructure are within the scope of one or more embodiments of this disclosure.
- Cloud agent 306 provides a mechanism to integrate industrial devices or historians (such as historian 304 ) with the remote monitoring cloud infrastructure, where data from plant-side devices and historians can be leveraged by cloud-based applications and services.
- industrial devices or historians such as historian 304
- cloud agent 306 can facilitate dynamic allocation of cloud computing data storage and computing resources for plant data without the need to redeploy the remote monitoring application whenever functional changes are implemented. This can remove several engineering and architectural costs associated with implementation or re-scaling of a remote monitoring service.
- cloud agent 306 and the associated remote monitoring infrastructure can also facilitate intelligent alarming.
- cloud agent 306 can analyze the collected data, discover fundamental associations between data items, and determine a next step of action so that alarms can be processed, notifications can be sent from the cloud platform 308 to the client devices 330 , or other such responses.
- the cloud-based remote monitoring infrastructure can generate e-mail notifications sent using a SendGrid service or other such service.
- FIG. 11 illustrates an exemplary notification architecture that can be leveraged in connection with intelligent alarming according to one or more embodiments of this disclosure.
- reporting services 1102 (similar to reporting services 318 of FIG. 3 ) residing on the cloud platform can include a notification component 1104 and an analytics component 1106 .
- Analytics component 1106 can determine whether selected subsets of industrial data 1110 stored on cloud storage 1112 (similar to cloud storage 326 of FIG. 3 ) meet one or more predefined notification conditions. These can include such conditions as detecting that a particular process value has exceeded a defined setpoint, detecting a transition to a particular machine state, detecting an alarm condition, determining that a specified production goal has been achieved, or other such conditions that can be detected through analysis of the industrial data 1110 .
- analytics component 1106 can inform notification component 1104 that personnel are to be notified.
- notification component 1104 can identify one or more specific plant employees who are to receive the notification, as well as information identifying a user notification device, phone number, or email address for each person to be notified.
- notification component 1104 can determine this notification information by cross-referencing configuration data 1108 that identifies which personnel are to be notified for a given type of condition, one or more notification methods for each identified person, and/or other relevant information.
- configuration data 1108 can maintain multiple separate personnel lists respectively associated with different types of actionable situations.
- the personnel list selected for a given notification can be at least partly a function of context data associated with the relevant subset of industrial data 1110 . For example, if industrial data 1110 indicates that a process parameter has exceeded a setpoint value, notification component 1104 can identify the list of personnel to receive the notification based on the area or workcell to which the process parameter relates.
- notification component 1104 can deliver notifications 1114 to one or more notification destinations.
- the notification can be sent to an Internet-capable client device 1118 , such as a phone, a tablet computer, a desktop computer, or other suitable devices.
- a cloud application running on the cloud platform can provide a mechanism for notified personnel to communicate with one another via the cloud (e.g., establish a conference call using Voice-over-IP).
- Notification component 1104 can also be configured to send the notification 1114 periodically at a defined frequency until the recipient positively responds to the notification (e.g., by sending a manual acknowledgement via the client device 1118 ).
- the notification component 1104 can also be configured to escalate an urgency of high-priority notifications if an acknowledgment is not received within a predetermined amount of time.
- This urgency escalation can entail sending the notification 1114 at a gradually increasing frequency, sending the notification to devices associated with secondary personnel if the primary personnel do not respond within a defined time period, or other such escalation measures.
- cloud-side processing can be performed by an analytics framework that facilitates agent-based analysis of the collected data.
- the analytics framework can perform this agent-based analysis using agent structures and communication.
- the analytics framework can comprise a set of virtual servers that reside and execute on the cloud platform, and can interface with a distributed file system framework that allows distributed computations to be performed on the large and diverse set of plant data stored on the cloud.
- FIG. 12 illustrates a system that leverages a cloud-based infrastructure to perform agent-based analytics on plant data collected and stored on a cloud platform.
- the analytics system illustrated in FIG. 12 is depicted as working in conjunction with the data gathering systems described above, it is to be appreciated that the agent-based analytics system described herein can be applied to industrial data that has been collected in cloud storage using any suitable data gathering technique.
- an on-premise cloud agent 1212 is configured to collect live or historical plant data from one or more industrial assets in a plant facility 1222 .
- Worker role 1214 can receive the data sent to cloud platform 1220 by on-premise cloud agent 1212 and place the data in cloud storage 1224 (after performing any appropriate processing on the data as defined by a behavior assembly 1226 , as described in previous examples).
- the behavior assembly 1226 may specify, for example, where the data is to be stored in cloud storage 1224 (e.g., which cloud storage partitions).
- the collected data may be packaged into a data packet that includes a header specifying such information as a unique customer ID, a site ID identifying the plant facility 1222 as the source of the data, a virtual support engineer ID, a data priority for the data, a process ID, or other such information.
- cloud storage 1224 can contain a vast amount of real-time and historical data from many disparate sources. Migrating this data to the cloud affords an opportunity to perform remote analysis on these large and disparate data sets.
- cloud platform 1220 includes a framework for performing agent-based analytics on the data placed in cloud storage 1224 .
- the agent-based analytics framework can leverage a plurality of virtual servers 1206 that reside and execute on cloud platform 1220 to analyze the data in cloud storage 1224 in accordance with an analysis application 1204 .
- Analytic functions prescribed by analysis application 1204 can be carried out by cloud-side agents 1202 executing on the virtual servers 1206 .
- agents 1202 can also communicate with on-premise cloud agent 1212 to facilitate coordinated analytics at both the plant level and the cloud level.
- one or more of the cloud-based agents 1202 can push an on-premise request for local analytics to the on-premise cloud agent 1212 .
- the on-premise cloud agent 1212 can perform the requested analytics locally at the plant facility 1222 and return a result to the cloud-side agents 1202 .
- on-premise cloud agent 1212 may access local data at the plant level (e.g., controller data, historian data, status or telemetric data from one or more motor drives or other industrial devices, etc.) and perform all or a portion of the analytics on this local data.
- This localized analytic operation may be part of a larger analytical operation performed on the stored data by virtual servers 1206 , as defined by analysis application 1204 .
- the agent-based analytics framework can operate in conjunction with a distributed file system framework 1208 , which manages processing of the data such that processing functions are distributed across multiple virtual servers 1206 .
- Distributed file system framework 1208 can include a parallel processing model 1210 that facilitates parallel processing of the functions defined by analysis application 1204 across the cluster of virtual servers 1206 .
- FIG. 13 depicts another view of the cloud-based analytics system according to one or more embodiments.
- Analysis application 1204 can be deployed on the cloud platform to perform a prescribed analysis on industrial data stored in cloud storage 1224 .
- the data can be gathered and placed in cloud storage according to any suitable technique, including but not limited to the techniques described above in connection with FIGS. 2-5 .
- analysis application 1204 can be developed to perform industry-specific processing on the stored industrial data. That is, analysis application 1204 can be designed to perform near real-time, historical, or predictive analysis on the plant data in view of one or more industry-specific requirements or considerations. For example, some industries may require that all software used in connection with monitoring and reporting of an industrial process conform to a defined set of standards (e.g., the 21 CFR Part 11 standards applied to the food and drug industry). Accordingly, if the data maintained in cloud storage 1224 comprises data from a pharmaceutical enterprise, analysis application 1204 may comprise a monitoring and reporting application specific to the pharmaceutical industry that conforms to those industry-specific reporting standards.
- a defined set of standards e.g., the 21 CFR Part 11 standards applied to the food and drug industry.
- analysis application 1204 can be pre-configured to perform the industry-prescribed monitoring and reporting.
- analysis application 1204 can be provided as a generic application designed to perform the required industry-specific analysis. The application 1204 can then be deployed for any such system operating in the defined industry after suitable customization to map the application 1204 to the customer's particular data points maintained in cloud storage 1224 .
- analysis application 1204 can also be customized to encapsulate customer-specific machine rules or process rules which further determine how the stored data is analyized.
- analysis application 1204 can be designed to perform near real-time monitoring of the customer's industrial data in the cloud platform and to generate notifications in response to detection of a defined alarm conditions (e.g., via notification component 1104 of FIG. 11 ).
- analysis application 1204 can be designed to perform predictive analysis on the collected data.
- Analysis application 1204 can also be configured to employ machine learning to identify correlations between disparate sets of data stored in cloud storage 1224 . For example, based on an analysis of historical plant data stored in cloud storage (e.g., in historical database 328 of FIG. 3 ), some embodiments of analysis application 1204 can learn event dependencies across a production line or supply chain, and leverage these learned dependencies to associated a detected system event with an upstream event or an event that occurred at an earlier point in time.
- analysis application 1204 may comprise a cross-customer analysis application that assists customers in identifying equipment, configuration, or process modifications that may improve overall system performance based on data mining of multiple sets of data associated with multiple customers.
- customers operating within a given industry and using similar systems may maintain sets of collected industrial data in their respective customer-specific cloud partitions.
- the collected data may include not only production and/or process data generated by the industrial processes, but also data identifying the equipment (e.g., device type, brand, model, etc.) in use at the respective customer facilities, configuration data for the respective devices making up the systems, and other relevant information.
- the customers may agree to make their respective data sets available for confidential collective analysis on the cloud platform.
- Analysis application 1204 can then identify different customer-specific data sets and perform collective analysis on the data sets to identify trends, correlate device configuration settings with particular metrics of system performance, or other such analyses. Analysis application 1204 can then compare results of this analysis with the system, configuration, and/or process data for a given customer, and generate recommendations that are likely to improve one or more identified performance metrics for the customer's system. These recommendations can include, but are not limited to, recommended device configuration settings, recommendations to replace a particular device or machine with a different model, recommended programming changes, suggested process changes to improve product throughput, or other such recommendations.
- Analysis application 1204 may also comprise a risk assessment application that analyzes the customer's historical and/or real-time system data and generates a risk profile that identifies potential risk factors. Such applications can identify, for example, risk of machine downtime, equipment failure, or potential future safety hazards given historical and current operating conditions. In some embodiments, this risk assessment analysis can also consider aspects of the industrial enterprise outside the plant level.
- the customer data maintained on cloud storage 1224 may include business-level data (e.g. purchase order data, inventory data, economic data, etc.) and identify medium- or long-term risks relating to order fulfillment, inventory, lost profit opportunities, etc.
- Analysis application 1204 may cross-reference plant-level and business-level data in order to identify such risk factors (e.g., determine a probability that current production and inventory levels will satisfy current and future product demand, and generate a recommendation for increasing production if the probability drops below a threshold).
- risk factors e.g., determine a probability that current production and inventory levels will satisfy current and future product demand, and generate a recommendation for increasing production if the probability drops below a threshold.
- the agent-based analytics framework can execute analysis application 1204 on a cluster of virtual servers 1206 executing on the cloud platform.
- virtual servers 1206 can be managed by a distributed file system framework 1208 , which facilitates distributed parallel processing of the stored data in accordance with analysis application 1204 .
- the agent-based analytics framework can interface with the distributed file system framework 1208 via a distributed processing framework interface 1302 , which is configured to exchange instructions and data between virtual servers 1206 and distributed file system framework 1208 .
- distributed file system framework 1208 can divide analytical functions of the analysis application 1204 into executable fragments, which can be distributed across virtual servers 1206 for processing.
- Parallel processing model 1210 can coordinate parallel execution of these executable fragments on virtual servers 1206 to rapidly perform the analytical functions in a distributed, parallel manner on the cloud platform. For example, parallel processing model 1210 can assign each processing fragment to a selected virtual server at a selected time based on such criteria as a current status of the respective virtual servers 1206 , a status of the overall processing function being carried out, a required order of operations, or other such considerations.
- Distributed file system framework 1208 can also manage processing redundancy between the virtual servers 1206 .
- distributed file system framework 1208 may duplicate data or processing tasks across more than one of the virtual servers 1206 to reduce the likelihood that a processing failure on one of the virtual servers 1206 will result in lost data or necessitate a re-execution of an operation or executable fragment.
- agents 1202 can reside on the virtual servers 1206 and collaborate to perform the analytical functions prescribed by analysis application 1204 .
- Agents 1202 can comprise individual, autonomous computational elements that exchange data and instructions using a common agent communication language to facilitate collaborative processing across virtual servers 1206 .
- agents 1202 can be deployed by analysis application 1204 to encapsulate the machine rules and/or process rules encoded in the application.
- Agents 1202 can also work in conjunction with the distributed file system framework 1208 to orchestrate parallel processing of stored industrial data on the cloud platform.
- agents 1402 may negotiate to determine which agent (and associated virtual server) is to carry out the requested processing task.
- agent 1402 can communicate with on-premise cloud agents (e.g., agents 306 or 1212 ) via agent communication language to achieve distributed decision-making or to request local analytics to be performed by the on-premise cloud agents.
- FIG. 15 illustrates a logical architecture for such an analytics capability manager.
- analytics capability manager 1502 receives a script request 1504 from an agent 1506 (similar to agents 1402 of FIG. 14 ).
- Analytics capability manager 1502 may determine that the script request 1504 requires calculation of a temperature averaged over a time interval. This determination may be made based in part on information contained in a manifest 1508 .
- Each request to execute a script is handled as an individual thread of execution to retain parallelism in the computation.
- the infrastructure can avoid script execution replication by caching execution context.
- the manifest 1508 can contain customer-specific behavior assemblies that define and implement preferences for processing data collected from the customer's industrial systems and moved to the cloud.
- the manifest 1508 can define a number of classes that collectively represent the desired analytics for a given industrial enterprise, where each class is specific to an application-level capability.
- each application-level capability defined for a given industrial enterprise there is a class encapsulating an access point to a service into a cloud-based application.
- the cloud applications that make up the analytics for a given industrial enterprise can comprise one or more applications associated with each machine or process in use by the enterprise.
- An exemplary organization of analytic functionality is illustrated in FIG. 16 .
- an industrial enterprise 1602 comprises N sites 1604 (e.g., plant facilities at different geographic locations), with each site comprising a number of machines and/or processes 1606 .
- Each machine/process 1606 has associated therewith a set of cloud applications 1608 representing individual analytic functions that can be performed on data collected from the respective machines/processes.
- Each of these cloud applications 1608 can be represented by a class maintained in the cloud platform.
- the class acts as an interface between analytics capability manager 1502 and the associated application.
- Hierarchical structure 1600 can form the basis for the analytics manifest 1508 , which instructs the analytics capability manager 1502 which particular cloud application (as a function of the industrial enterprise and/or machine or process) is to be run in a given circumstance.
- analytics capability manager 1502 invokes a class 1516 (CalculateTemperatureAvg) corresponding to a script for calculating an average temperature over a time interval.
- Communication between analytics capability manager 1502 and class 1516 can be messaged based (e.g. via a message-based packet 1510 ).
- analytics capability manager 1502 can pass context-based parameters to the class. In the present example, these can include parameters specifying the time range over which the average is to be calculated.
- an analytics engine 1415 can extract application-specific parameters from the request, fetch the script corresponding to the class 1516 invoked by analytics capability manager 1502 , and invoke the distributed file system framework (e.g., distributed file system framework 1208 of FIG. 12 ) to facilitate parallel execution of the script using cloud resources.
- the script can be fetched, for example, from a script bank file system using a class discovery and uploading process.
- analytics engine 1514 upon completion of processing by the distributed file system framework, creates a response to analytics manager containing results of the processing (in the present example, results for average temperature and heating/cooling tendency for a machine or process). This result is returned to agent 1506 as a callback 1702 containing the calculated results.
- FIGS. 18-21 illustrate various methodologies in accordance with one or more embodiments of the subject application.
- these executions can be managed by the infrastructure as parallel threads of execution.
- the one or more methodologies shown herein are shown and described as a series of acts, it is to be understood and appreciated that the subject innovation is not limited by the order of acts, as some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein.
- a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram.
- not all illustrated acts may be required to implement a methodology in accordance with the innovation.
- interaction diagram(s) may represent methodologies, or methods, in accordance with the subject disclosure when disparate entities enact disparate portions of the methodologies.
- two or more of the disclosed example methods can be implemented in combination with each other, to accomplish one or more features or advantages described herein.
- FIG. 18 illustrates an example methodology 1800 for moving industrial data from a plant floor to a cloud platform.
- industrial data is collected from one or more industrial devices on a plant floor.
- the industrial data is stored in a compressed file.
- the industrial data can be compressed, for example by collection services of a cloud agent that provides on-premise data collection, packaging, and transmission of industrial data generated by industrial assets on the plant floor.
- the compressed data file is packaged (e.g., by the cloud agent) into a data packet.
- the compressed file is assigned to a message queue based on at least one of a data type or a priority associated with the collected industrial data.
- the message queue comprises a queue defined on a cloud platform for storage and processing of data in accordance with an associated behavior assembly.
- a header is appended to the data packet indicating the message queue assigned at step 1808 .
- the data packet including the header appended at step 1810 is sent to a cloud platform that maintains the assigned message queue.
- the industrial data contained in the data packet is stored in the message queue on the cloud platform in accordance with the header. Once stored in the message queue, the data can be processed on the cloud platform according to predefined processing definitions associated with the assigned message queue.
- FIG. 19 illustrates an example methodology 1900 for creating and using message queues on a cloud platform for storage and processing of industrial data.
- an instruction to create a message queue is received at a cloud platform.
- the instruction can be received, for example, by a cloud agent executing on at an industrial enterprise.
- the message queue is created on the cloud platform in accordance with the instruction received at step 1902 .
- a behavior assembly defining a processing to be associated with the message queue is received at the cloud platform.
- the behavior assembly is maintained in a customer-specific manifest on the cloud platform.
- a data packet containing industrial data and a header specifying the message queue is received at the cloud platform.
- the industrial data contained in the data packet received at step 1910 is assigned to the message queue in accordance with the header.
- the industrial data maintained in the message queue is processed on the cloud platform in accordance with the behavior assembly maintained in the customer-specific manifest.
- FIG. 20 illustrates an example methodology 2000 for analyzing industrial data in a cloud platform.
- data generated by an industrial automation system is migrated to a cloud platform. This can be performed, for example, by an on-premise agent at an industrial facility that gathers, packages, and compresses the industrial data and sends the resulting data packets to the cloud platform.
- the on-premise agent may also perform localized analytics on the data prior to migrating the data to the cloud platform.
- cloud-side analytics are performed on the industrial data using a cluster of virtual servers residing on the cloud platform. The processing can be based on an analytics application that is collectively executed in a distributed parallel manner by the virtual servers on the cloud platform.
- the collected industrial data can be analyzed to facilitate one or more of near real-time monitoring of system events, alarming, trend analysis, risk assessment, or other such analytics.
- a notification output, a recommendation output, or a control output is generated based on the cloud-side analytics performed at step 2004 .
- FIG. 21 illustrates an example methodology 2100 for performing agent-based analysis on industrial data in a cloud platform.
- one or more industry-specific or machine-specific rules are encoded in a cloud-based industrial analysis application.
- analysis agents executing on multiple cloud-based virtual servers are instructed to perform analytics on industrial data stored on a cloud platform in accordance with the industrial analysis application.
- at least one of a notification output, a recommendation output, or a control output is generated based on the analysis performed by the analysis agents.
- Embodiments, systems, and components described herein, as well as industrial control systems and industrial automation environments in which various aspects set forth in the subject specification can be carried out can include computer or network components such as servers, clients, programmable logic controllers (PLCs), communications modules, mobile computers, wireless components, control components and so forth which are capable of interacting across a network.
- Computers and servers include one or more processors—electronic integrated circuits that perform logic operations employing electric signals—configured to execute instructions stored in media such as random access memory (RAM), read only memory (ROM), a hard drives, as well as removable memory devices, which can include memory sticks, memory cards, flash drives, external hard drives, and so on.
- RAM random access memory
- ROM read only memory
- removable memory devices which can include memory sticks, memory cards, flash drives, external hard drives, and so on.
- PLC can include functionality that can be shared across multiple components, systems, and/or networks.
- one or more PLCs can communicate and cooperate with various network devices across the network. This can include substantially any type of control, communications module, computer, Input/Output (I/O) device, sensor, actuator, and human machine interface (HMI) that communicate via the network, which includes control, automation, and/or public networks.
- the PLC can also communicate to and control various other devices such as I/O modules including analog, digital, programmed/intelligent I/O modules, other programmable controllers, communications modules, sensors, actuators, output devices, and the like.
- the network can include public networks such as the internet, intranets, and automation networks such as control and information protocol (CIP) networks including DeviceNet, ControlNet, and Ethernet/IP. Other networks include Ethernet, DH/DH+, Remote I/O, Fieldbus, Modbus, Profibus, CAN, wireless networks, serial protocols, and so forth.
- the network devices can include various possibilities (hardware and/or software components). These include components such as switches with virtual local area network (VLAN) capability, LANs, WANs, proxies, gateways, routers, firewalls, virtual private network (VPN) devices, servers, clients, computers, configuration tools, monitoring tools, and/or other devices.
- VLAN virtual local area network
- WANs wide area network
- proxies gateways
- routers virtual private network
- VPN virtual private network
- FIGS. 22 and 23 are intended to provide a brief, general description of a suitable environment in which the various aspects of the disclosed subject matter may be implemented.
- an example environment 2210 for implementing various aspects of the aforementioned subject matter includes a computer 2212 .
- the computer 2212 includes a processing unit 2214 , a system memory 2216 , and a system bus 2218 .
- the system bus 2218 couples system components including, but not limited to, the system memory 2216 to the processing unit 2214 .
- the processing unit 2214 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as the processing unit 2214 .
- the system bus 2218 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 8-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI).
- ISA Industrial Standard Architecture
- MSA Micro-Channel Architecture
- EISA Extended ISA
- IDE Intelligent Drive Electronics
- VLB VESA Local Bus
- PCI Peripheral Component Interconnect
- USB Universal Serial Bus
- AGP Advanced Graphics Port
- PCMCIA Personal Computer Memory Card International Association bus
- SCSI Small Computer Systems Interface
- the system memory 2216 includes volatile memory 2220 and nonvolatile memory 2222 .
- the basic input/output system (BIOS) containing the basic routines to transfer information between elements within the computer 2212 , such as during start-up, is stored in nonvolatile memory 2222 .
- nonvolatile memory 2222 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), or flash memory.
- Volatile memory 2220 includes random access memory (RAM), which acts as external cache memory.
- RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
- SRAM synchronous RAM
- DRAM dynamic RAM
- SDRAM synchronous DRAM
- DDR SDRAM double data rate SDRAM
- ESDRAM enhanced SDRAM
- SLDRAM Synchlink DRAM
- DRRAM direct Rambus RAM
- Disk storage 2224 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memory stick.
- disk storage 2224 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM).
- an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM).
- a removable or non-removable interface is typically used such as interface 2226 .
- FIG. 22 describes software that acts as an intermediary between users and the basic computer resources described in suitable operating environment 2210 .
- Such software includes an operating system 2228 .
- Operating system 2228 which can be stored on disk storage 2224 , acts to control and allocate resources of the computer 2212 .
- System applications 2230 take advantage of the management of resources by operating system 2228 through program modules 2232 and program data 2234 stored either in system memory 2216 or on disk storage 2224 . It is to be appreciated that one or more embodiments of the subject disclosure can be implemented with various operating systems or combinations of operating systems.
- Input devices 2236 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to the processing unit 2214 through the system bus 2218 via interface port(s) 2238 .
- Interface port(s) 2238 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB).
- Output device(s) 2240 use some of the same type of ports as input device(s) 2236 .
- a USB port may be used to provide input to computer 2212 , and to output information from computer 2212 to an output device 2240 .
- Output adapters 2242 are provided to illustrate that there are some output devices 2240 like monitors, speakers, and printers, among other output devices 2240 , which require special adapters.
- the output adapters 2242 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between the output device 2240 and the system bus 2218 . It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 2244 .
- Computer 2212 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 2244 .
- the remote computer(s) 2244 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative to computer 2212 .
- only a memory storage device 2246 is illustrated with remote computer(s) 2244 .
- Remote computer(s) 2244 is logically connected to computer 2212 through a network interface 2248 and then physically connected via communication connection 2250 .
- Network interface 2248 encompasses communication networks such as local-area networks (LAN) and wide-area networks (WAN).
- LAN technologies include Fiber Distributed Data Interface (I-DDI), Copper Distributed Data Interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and the like.
- WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL).
- ISDN Integrated Services Digital Networks
- DSL Digital Subscriber Lines
- Communication connection(s) 2250 refers to the hardware/software employed to connect the network interface 2248 to the system bus 2218 . While communication connection 2250 is shown for illustrative clarity inside computer 2212 , it can also be external to computer 2212 .
- the hardware/software necessary for connection to the network interface 2248 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards.
- FIG. 23 is a schematic block diagram of a sample-computing environment 2300 with which the disclosed subject matter can interact.
- the sample-computing environment 2300 includes one or more client(s) 2310 .
- the client(s) 2310 can be hardware and/or software (e.g., threads, processes, computing devices).
- the sample-computing environment 2300 also includes one or more server(s) 2330 .
- the server(s) 2330 can also be hardware and/or software (e.g., threads, processes, computing devices).
- the servers 2330 can house threads to perform transformations by employing one or more embodiments as described herein, for example.
- One possible communication between a client 2310 and servers 2330 can be in the form of a data packet adapted to be transmitted between two or more computer processes.
- the sample-computing environment 2300 includes a communication framework 2350 that can be employed to facilitate communications between the client(s) 2310 and the server(s) 2330 .
- the client(s) 2310 are operably connected to one or more client data store(s) 2360 that can be employed to store information local to the client(s) 2310 .
- the server(s) 2330 are operably connected to one or more server data store(s) 2340 that can be employed to store information local to the servers 2330 .
- the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the disclosed subject matter.
- the disclosed subject matter includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the disclosed subject matter.
- exemplary is used to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
- Computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks [e.g., compact disk (CD), digital versatile disk (DVD) . . . ], smart cards, and flash memory devices (e.g., card, stick, key drive . . . ).
- magnetic storage devices e.g., hard disk, floppy disk, magnetic strips . . .
- optical disks e.g., compact disk (CD), digital versatile disk (DVD) . . .
- smart cards e.g., card, stick, key drive . . .
- the terms “component,” “system,” “platform,” “layer,” “controller,” “terminal,” “station,” “node,” “interface” are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities can be either hardware, a combination of hardware and software, software, or software in execution.
- a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removable affixed solid-state storage drives; an object; an executable; a thread of execution; a computer-executable program, and/or a computer.
- affixed e.g., screwed or bolted
- the components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
- a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.
- a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components.
- interface(s) can include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
- I/O input/output
- API Application Programming Interface
- the terms “to infer” and “inference” refer generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example.
- the inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events.
- Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
- the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B.
- the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
- a “set” in the subject disclosure includes one or more elements or entities.
- a set of controllers includes one or more controllers; a set of data resources includes one or more data resources; etc.
- group refers to a collection of one or more entities; e.g., a group of nodes refers to one or more nodes.
Abstract
A cloud-based infrastructure facilitates gathering, transmitting, and remote storage of control and automation data using an agent-based communication channel. The infrastructure collects the industrial data from an industrial enterprise and intelligently sorts and organizes the acquired data based on selected criteria. Message queues can be configured on the cloud platform to segregate the industrial data according to priority, data type, or other criteria. Behavior assemblies stored in customer-specific manifests on the cloud platform define customer-specific preferences for processing data stored in the respective message queues. An agent-based analytics framework in the cloud platform performs desired analytics on the data using distributed parallel processing.
Description
- This application is a continuation of, and claims priority to, U.S. patent application Ser. No. 13/864,011, filed on Apr. 16, 2013, and entitled “REMOTE INDUSTRIAL MONITORING AND ANALYTICS USING A CLOUD INFRASTRUCTURE,” which is a continuation-in-part of U.S. patent application Ser. No. 13/863,976, filed on Apr. 16, 2013, and entitled “REMOTE INDUSTRIAL MONITORING USING A CLOUD INFRASTRUCTURE,” which claims priority to U.S. Provisional Application Ser. No. 61/681,443, filed on Aug. 9, 2012, entitled “REMOTE INDUSTRIAL MONITORING USING A CLOUD INFRASTRUCTURE.” The entireties of these related applications are incorporated herein by reference.
- This disclosure relates generally to systems and methods that provide remote monitoring services for an industrial automation system over a cloud infrastructure
- Industrial controllers and their associated I/O devices are central to the operation of modern automation systems. These controllers interact with field devices on the plant floor to control automated processes relating to such objectives as product manufacture, material handling, batch processing, supervisory control, and other such applications. Industrial controllers store and execute user-defined control programs to effect decision-making in connection with the controlled process. Such programs can include, but are not limited to, ladder logic, sequential function charts, function block diagrams, structured text, or other such programming structures.
- Because of the large number of system variables that must be monitored and controlled in near real-time, industrial automation systems often generate vast amounts of near real-time data. In addition to production statistics, data relating to machine health, alarm statuses, operator feedback (e g, manually entered reason codes associated with a downtime condition), electrical or mechanical load over time, and the like are often monitored, and in some cases recorded, on a continuous basis. This data is generated by the many industrial devices that can make up a given automation system, including the industrial controller and its associated I/O, telemetry devices for near real-time metering, motion control devices (e.g., drives for controlling the motors that make up a motion system), visualization applications, lot traceability systems (e.g., barcode tracking), etc. Moreover, since many industrial facilities operate on a 24-hour basis, their associated automation systems can generate a vast amount of potentially useful data at high rates. For an enterprise with multiple plant facilities, the amount of generated automation data further increases
- The large quantity of data generated by modern automation systems makes it possible to apply a broad range of plant analytics to the automation systems and processes that make up an industrial enterprise or business. However, access to the industrial data is typically limited to applications and devices that share a common network with the industrial controllers that collect and generate the data. As such, plant personnel wishing to leverage the industrial data generated by their systems in another application (e.g., a reporting or analysis tool, notification system, visualization application, backup data storage, etc.) are required to maintain such applications on-site using local resources. Moreover, although a given industrial enterprise may comprise multiple plant facilities at geographically diverse locations (or multiple mobile systems having variable locations), the scope of such applications is limited only to data available on controllers residing on the same local network as the application.
- The above-described deficiencies of today's industrial control and business systems are merely intended to provide an overview of some of the problems of conventional systems, and are not intended to be exhaustive. Other problems with conventional systems and corresponding benefits of the various non-limiting embodiments described herein may become further apparent upon review of the following description
- The following presents a simplified summary in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview nor is intended to identify key/critical elements or to delineate the scope of the various aspects described herein. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is presented later.
- One or more embodiments of the present disclosure relate to deployment of cloud data storage farms for storing alarm, historical, and live automation data using an agent-based communication channel. To this end, a cloud-based infrastructure according to one or more embodiments described herein can facilitate gathering, transmitting, and remotely storing control and automation data and relating information. The infrastructure can collect the industrial data from data collectors in an industrial enterprise, including but not limited to SQL systems, data historians, data tables, or other such plant floor and/or business-level collectors. The cloud-based infrastructure can intelligently sort and organize the acquired data based on selected criteria (e.g., time of occurrence of a plant-floor event, priority, etc.). In order to transfer data from the plant floor to the cloud, the infrastructure can include a data collecting service agent that execute periodic collecting and transmission of serialized data into the cloud domain.
- A network of virtual servers hosts multi-agent systems with agents representing the on-premise machine/process. These multi-agent systems represent agent-based analytics of different degrees and lifecycles. The agent-based analytic framework can facilitate coordination between on-premise agents at the plant facility and high-analytics agents residing on the cloud platform.
- In addition, the collected data can be processed based on agent communication and service discovery capabilities for intelligently directing remote storage of the data into preconditions blobs. In one or more embodiments, agent reasoning and collective bargaining can be used to determine a data stage locale and subsequent retrieval. In such embodiments, the agents assume cloud web role and worker role responsibilities.
- Cloud agents can also discover fundamental associations between the collected data in the cloud infrastructure, and perform actions based in part on the discovered associations. This can include, for example, triggering intelligent alarms, generating recommended courses of action, or initiating a control output in response to a discovered condition based on the learned associations.
- In addition, the cloud-based infrastructure can include an agent-based analytics framework that can perform analytics on large sets of industrial data in the cloud. The agent-based analytics framework can leverage a distributed file system framework facilitate parallel processing of the industrial data using a set of virtual servers deployed on the cloud platform.
- The cloud-based infrastructure can also include a set of web-based and/or browser-based tools for that allow an end user to retrieve, direct, and/or uncompress the data from the cloud.
- To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings. These aspects are indicative of various ways which can be practiced, all of which are intended to be covered herein. Other advantages and novel features may become apparent from the following detailed description when considered in conjunction with the drawings
-
FIG. 1 is a high-level overview of an industrial enterprise that leverages cloud-based services. -
FIG. 2 is a general high-level overview of a cloud computing infrastructure that provides remote monitoring services. -
FIG. 3 illustrates a system that leverages a cloud-based infrastructure to provide Software as a Service (SaaS) for remote monitoring services to customer manufacturing sites. -
FIG. 4 illustrates an exemplary cloud agent that collects, packages, and sends industrial data to a cloud-based remote monitoring system using a generic, unified data packaging schema. -
FIG. 5 illustrates an exemplary data packet generated by a cloud agent for moving industrial data to a cloud-based remote monitoring system. -
FIG. 6A illustrates an exemplary interface display that can be provided by a cloud-based remote monitoring system for rendering an animated graphical representation of an industrial system. -
FIG. 6B illustrates an exemplary interface display that can be provided by a cloud-based remote monitoring system for displaying tag names and associated values. -
FIG. 7 illustrates an exemplary alarm display that can be provided by a cloud-based remote monitoring system. -
FIG. 8 illustrates an exemplary live data display that can be provided by a cloud-based remote monitoring system. -
FIG. 9 illustrates an exemplary interface display that can be provided a cloud-based remote monitoring system for displaying tag history by machine section. -
FIG. 10 illustrates an exemplary alarm summary interface display that can be provided by a cloud-based remote monitoring system. -
FIG. 11 illustrates an exemplary notification architecture that can be leveraged in connection with intelligent alarming. -
FIG. 12 illustrates an exemplary system for performing cloud-side analytics on industrial data. -
FIG. 13 illustrates an exemplary system for executing an analysis application on a set of virtual servers to facilitate distributed processing of industrial data on a cloud platform. -
FIG. 14 illustrates an exemplary system for cloud-side agent-based analysis of industrial data. -
FIG. 15 illustrates a logical architecture for an analytics capability manager that can facilitate execution of cloud-side analytics of industrial data. -
FIG. 16 illustrates an exemplary organization of analytic functionality. -
FIG. 17 illustrates a logical architecture for returning calculated results of cloud-based analysis of industrial data to a cloud-based agent. -
FIG. 18 is a flowchart of an example methodology for moving industrial data from a plant floor to a cloud platform. -
FIG. 19 is a flowchart of an example methodology for creating and using message queues on a cloud platform for storage and processing of industrial data. -
FIG. 20 is a flowchart of an example methodology for analyzing industrial data in a cloud platform. -
FIG. 21 is a flowchart of an example methodology for performing agent-based analysis on industrial data in a cloud platform. -
FIG. 22 is an example computing environment. -
FIG. 23 is an example networking environment. - The subject disclosure is now described with reference to the drawings, wherein like reference numerals are used to refer to like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding thereof. It may be evident, however, that the subject disclosure can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate a description thereof.
- As used in this application, the terms “component,” “system,” “platform,” “layer,” “controller,” “terminal,” “station,” “node,” “interface” are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removably affixed solid-state storage drives; an object; an executable; a thread of execution; a computer-executable program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers. Also, components as described herein can execute from various computer readable storage media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components. As further yet another example, interface(s) can include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
- As used herein, the terms “to infer” and “inference” refer generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
- In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
- Furthermore, the term “set” as employed herein excludes the empty set; e.g., the set with no elements therein. Thus, a “set” in the subject disclosure includes one or more elements or entities. As an illustration, a set of controllers includes one or more controllers; a set of data resources includes one or more data resources; etc. Likewise, the term “group” as utilized herein refers to a collection of one or more entities; e.g., a group of nodes refers to one or more nodes.
- Various aspects or features will be presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. A combination of these approaches also can be used.
-
FIG. 1 illustrates a high-level overview of an industrial enterprise that leverages cloud-based services. The enterprise comprises one or more industrial facilities 104, each having a number of industrial devices 108 and 110 in use. The industrial devices 108 and 110 can make up one or more automation systems operating within the respective facilities 104. Exemplary automation systems can include, but are not limited to, batch control systems (e.g., mixing systems), continuous control systems (e.g., PID control systems), or discrete control systems. Industrial devices 108 and 110 can include such devices as industrial controllers (e.g., programmable logic controllers or other types of programmable automation controllers); field devices such as sensors and meters; motor drives; operator interfaces (e.g., human-machine interfaces, industrial monitors, graphic terminals, message displays, etc.); industrial robots, barcode markers and readers; vision system devices (e.g., vision cameras); smart welders; or other such industrial devices. - Exemplary automation systems can include one or more industrial controllers that facilitate monitoring and control of their respective processes. The controllers exchange data with the field devices using native hardwired I/O or via a plant network such as Ethernet/IP, Data Highway Plus, ControlNet, Devicenet, or the like. A given controller typically receives any combination of digital or analog signals from the field devices indicating a current state of the devices and their associated processes (e.g., temperature, position, part presence or absence, fluid level, etc.), and executes a user-defined control program that performs automated decision-making for the controlled processes based on the received signals. The controller then outputs appropriate digital and/or analog control signaling to the field devices in accordance with the decisions made by the control program. These outputs can include device actuation signals, temperature or position control signals, operational commands to a machining or material handling robot, mixer control signals, motion control signals, and the like. The control program can comprise any suitable type of code used to process input signals read into the controller and to control output signals generated by the controller, including but not limited to ladder logic, sequential function charts, function block diagrams, structured text, or other such platforms.
- Although the exemplary overview illustrated in
FIG. 1 depicts the industrial devices 108 and 110 as residing in fixed-location industrial facilities 104, the industrial devices 108 and 110 may also be part of a mobile control application, such as a system contained in a truck or other service vehicle. - According to one or more embodiments of this disclosure, industrial devices 108 and 110 can be coupled to a
cloud platform 102 in order to leverage cloud-based applications. That is, the industrial devices 108 and 110 can be configured to discover and interact with cloud-basedcomputing services 112 hosted bycloud platform 102.Cloud platform 102 can be any infrastructure that allowscomputing services 112 to be accessed and utilized by cloud-capable devices.Cloud platform 102 can be a public cloud accessible via the Internet by devices having Internet connectivity and appropriate authorizations to utilize theservices 112. In some scenarios,cloud platform 102 can be provided by a cloud provider as a platform-as-a-service (PaaS), and the services 112 (such as the operator interface system described herein) can reside and execute on thecloud platform 102 as a cloud-based service. In some such configurations, access to thecloud platform 102 and theservices 112 can be provided to customers as a subscription service by an owner of theservices 112. Alternatively,cloud platform 102 can be a private cloud operated internally by the enterprise. An exemplary private cloud can comprise a set of servers hosting thecloud services 112 and residing on a corporate network protected by a firewall. - Cloud services 112 can include, but are not limited to, data storage, data analysis, control applications (e.g., applications that can generate and deliver control instructions to industrial devices 108 and 110 based on analysis of real-time system data or other factors), visualization applications such as the cloud-based operator interface system described herein, reporting applications, Enterprise Resource Planning (ERP) applications, notification services, or other such applications. If
cloud platform 102 is a web-based cloud, industrial devices 108 and 110 at the respective industrial facilities 104 may interact withcloud services 112 directly or via the Internet. In an exemplary configuration, industrial devices 108 and 110 may access thecloud services 112 through separate on-premise cloud agents 106 at the respective industrial facilities 104, where the industrial devices 108 and 110 connect to the on-premise cloud agents 106 through a physical or wireless local area network or radio link. In another exemplary configuration, the industrial devices may access the cloud platform directly using an integrated cloud interface. - Providing industrial devices with cloud capability can offer a number of advantages particular to industrial automation. For one, cloud-based storage offered by the cloud platform can be easily scaled to accommodate the large quantities of data generated daily by an industrial enterprise. Moreover, multiple industrial facilities at different geographical locations can migrate their respective automation data to the cloud for aggregation, collation, collective analysis, and enterprise-level reporting without the need to establish a private network between the facilities. Industrial devices 108 and 110 having smart configuration capability can be configured to automatically detect and communicate with the
cloud platform 102 upon installation at any facility, simplifying integration with existing cloud-based data storage, analysis, or reporting applications used by the enterprise. In another exemplary application, cloud-based diagnostic applications can monitor the health of respective automation systems or their associated industrial devices across an entire plant, or across multiple industrial facilities that make up an enterprise. Cloud-based lot control applications can be used to track a unit of product through its stages of production and collect production data for each unit as it passes through each stage (e.g., barcode identifier, production statistics for each stage of production, quality test data, abnormal flags, etc.). These industrial cloud-computing applications are only intended to be exemplary, and the systems and methods described herein are not limited to these particular applications. Thecloud platform 102 can allow software vendors to provide software as a service, removing the burden of software maintenance, upgrading, and backup from their customers. - Maintaining stability and integrity of the physical equipment comprising a manufacturing environment is a high priority for most industrial enterprises. To this end, it would be beneficial to monitor and forecast conditions of the various industrial systems and the devices that make up those systems to prevent harmful or catastrophic events from occurring (e.g., events that may result in machine downtime, sub-standard product quality, etc.). Remote monitoring of these industrial assets would allow plant personnel to view plant data generated by their systems from a remote location, and could facilitate remote notification in response to a detected system event requiring attention. However, on-premise data collection required by such remote monitoring systems consumes large amounts of data storage. Moreover, since such a remote monitoring system could involve transmission of potentially sensitive plant data to a remote viewer, secure data transmission channels would be required.
- Also, some remote monitoring services depend on heavily customized systems and interfaces, which can be monolithic and expensive. Such remote monitoring services using custom-based technology can be expensive and difficult to expand without forcing a full re-programming of the application and its interfaces. For example, if a plant enterprise expanded their automation systems (e.g., by adding a new production line, adding new data points to an existing production line, etc.), it would be necessary to redevelop any customized remote monitoring systems in place to include the new systems or data points. The redeveloped monitoring system would then have to be retested and re-deployed to facilitate monitoring of the newly expanded automation system. Conventionally, these modifications often must be implemented by a hired software developer, and thus would incur additional costs.
- To address these and other issues, one or more embodiments of the present application provide a cloud computing infrastructure for remote monitoring services using infrastructure constructs.
FIG. 2 illustrates a general high-level overview of such a cloud computing infrastructure. In this exemplary architecture, a number of industrial assets reside on aplant network 224 in a manufacturing environment. These assets can includeindustrial controllers O device data server 214, amotor drive 216, and a remote I/O interface 218 that remotely interfaces a group of I/O devices 226 to one or more of theindustrial controllers plant network 224, it is to be appreciated that embodiments of the present application are not limited to interaction with this particular set of industrial equipment, and that the systems and methods described herein are suitable for industrial environments comprising any combination of industrial assets. - Also located on the plant facility is a
cloud agent 208 that provides on-premise data collection, packaging, and transmission of industrial data generated by the industrial assets.Cloud agent 208 acts as a generic gateway to collect data items from the various industrial assets onplant network 224 and packages the collected data according to a generic, uniform data packaging schema used to move the on-premise data to acloud platform 204 via theInternet 206. Once the packaged data has been provided tocloud platform 204, the data can be retrieved or viewed from aremote monitoring center 202.Cloud agent 208 provides a software mechanism to dynamically link on-premise-to-cloud gateways. As will be described in more detail below,cloud agent 208 provides an expandable data type schema that allows new data types to be added without the need to redeploy the monitoring system to the cloud. -
FIG. 3 illustrates a system that leverages a cloud-based infrastructure to provide Software as a Service (SaaS) for remote monitoring services to customer manufacturing sites. This system can provide remote monitoring services in connection with alarm and event notification for critical industrial assets, historical data collection, remote system access, and other such applications. - In the example illustrated in
FIG. 3 , adata historian 304 collects site data from one or more assets (e.g., data generated by one or more industrial controllers, such asindustrial controllers 210 and 220) at a plant facility. For example,data historian 304 can monitor one or more controller tags defined in a tags archive and store data in local storage associated withdata historian 304. This can include both historical data (e.g., alarm history, status history, trend data, etc.) as well as live data values read from the controller(s). - An on-
premise cloud agent 306 is configured to collect and organize the live or historical data from the controllers, either directly or by accessingdata historian 304, and send the collected data to the cloud platform for storage (in some embodiments, on-premise cloud agent 306 can also coordinate decision making with high-analytics agents in the cloud platform, as will be described in more detail below). The process of collecting the data involves intelligent sorting and organizing based on defined criteria, including but not limited to time of occurrence and/or user-defined priorities.Cloud agent 306 can be, for example, a service (e.g., a Windows service) that periodically collects and transmits serialized and compressed data into the cloud domain using standard web services over HTTPS/SSL.Cloud agent 306 can comply with standard agent communication to communicate with other on-premise agents, as well as agents in the cloud platform that perform high-analytics on the industrial data, as will be described in more detail herein.FIG. 3 depictsdata historian 304 as the data source forcloud agent 306. This configuration can be useful when there are a large number of data points to monitor. However, some embodiments ofcloud agent 306 can collect data directly from the manufacturing assets themselves (e.g., through a Common Industrial Protocol link), or through middleware applications such as OPC clients. -
Cloud agent 306 is illustrated in more detail with reference toFIG. 4 . As noted above,site data 410 is collected by adata historian 304 at theplant facility 302.Cloud agent 306 comprisescollection services 414 that collect device data, either fromdata historian 304 or directly from the devices themselves (e.g., variable frequency drives 412 in the illustrated example) via a common industrial protocol (CIP) link or other suitable communication protocol.Collection services 414 can then compress the data and store the data in acompressed data file 422.Queue processing services 416 can read the compressed data file 422 and reference a message queuing database 420, which manages customer site configuration and subscription to the remote monitoring system. Based on configuration information in the message queuing database 420,queue processing services 416 package the compressed data file 422 into a data packet and push thedata packet 320 to the cloud platform. Anexemplary data packet 502 is illustrated inFIG. 5 . In addition to compressed data file 506,data packet 502 can include aheader 504 that includes customer-specific data read from message queuing database 420. For example,header 504 can include a unique customer ID, a site ID representing a particular plant facility, a virtual support engineer ID, a data priority for the data in the compressed data file, a message type, and a process ID. Packaging the data in this way can allow data from diverse data sources to be packaged together using a uniform, generic data packaging schema so that the data can be moved to the cloud infrastructure. - Message queuing database 420 can include site-specific information regarding what tag data are to be collected (e.g., data tag identifiers, etc.), user-defined priorities or data types for the data tags, firewall settings that allow
cloud agent 306 to communicate with the cloud platform, and other such configuration information. Configuration information in message queuing database 420 instructscloud agent 306 how to talk to the data tags and to the remote monitoring service on the cloud platform. - In one or more embodiments, in addition to collection and migration of data,
cloud agent 306 can also perform local analytics on the data prior to moving the data to the cloud platform. This can comprise substantially any type of pre-processing or data refinement that may facilitate more efficient transfer of the data to the cloud, prepare the data for enhanced analysis in the cloud, reduce the amount of cloud storage required to store the data, or other such benefits. For example,cloud agent 306 may be configured to compress the collected data using any suitable data compression algorithm prior to migrating the data to the cloud platform. This can include detection and deletion of redundant data bits, truncation of precision bits, or other suitable compression operations. In another example,cloud agent 306 may be configured to aggregate data by combining related data from multiple sources. For example, data from multiple sensors measuring related aspects of an automation system can be identified and aggregated into a single cloud upload packet bycloud agent 306.Cloud agent 306 may also encrypt sensitive data prior to upload to the cloud. In yet another example,cloud agent 306 may filter the data according to any specified filtering criterion (e.g., filtering criteria defined in a filtering profile). For example, defined filtering criteria may specify that pressure values exceeding a defined setpoint are to be filtered out prior to uploading the pressure values to the cloud. - In some embodiments,
cloud agent 306 may also transform a specified subset of the industrial data from a first format to a second format in accordance with a requirement of a cloud-based analysis application. For example, a cloud-based reporting application may require measured values in ASCII format. Accordingly,cloud agent 306 can convert a selected subset of the gathered data from floating point format to ASCII prior to pushing the data to the cloud platform for storage and processing. Converting the raw data at the industrial device before uploading to the cloud, rather than requiring this transformation to be performed on the cloud, can reduce the amount of processing load on the cloud side. -
Cloud agent 306 may also associate metadata with selected subsets of the data prior to migration to the cloud, thereby contextualizing the data within the industrial environment. For example,cloud agent 306 can tag selected subsets of the data with a time indicator specifying a time at which the data was generated, a quality indicator, a production area indicator specifying a production area within the industrial enterprise from which the data was collected, a machine or process state indicator specifying a state of a machine or process at the time the data was generated, a personnel identifier specifying an employee on duty at the time the data was generated, or other such contextual metadata. In this way,cloud agent 306 can perform layered processing of the collected data to generate meta-level knowledge that can subsequently be leveraged by cloud-based analysis tools to facilitate enhanced analysis of the data in view of a larger plant context.Cloud agent 306 can also send messages to cloud-level agents using agent communication languages to perform multi-layered analytics-boundaries. - Returning now to
FIG. 3 ,cloud agent 306 sendsdata packet 320 to the cloud-based remote-monitoring system oncloud platform 308. Processing of the data is based on agent communication and service discovery capabilities for intelligently directing remote storage of the data into preconditioned cloud blobs 316. The infrastructure can use agent reasoning and collective bargain features to determine a data storage locale and subsequent retrieval. - Through the configuration interface provided by
cloud agent 306, users at theplant facility 302 can dynamically configure one ormore message queues 314 that respectively define how the data is processed in thecloud platform 308. In the present example, separate queues have been defined for alarms, live data, historical data, and motor drive data. The historical data queue relates to time-series records, which can be accessed through an application programming interface (API) (e.g., a structured query language (SQL) API or other suitable API). The alarms queue relates to abnormal situations, where the alarm data can also be accessed through the API. This alarms queue can comprise multiple queues associated with different alarm priorities, to allow for individual processing for different alarms having different levels of criticality. In some embodiments, servers, controllers, switches, etc., can be monitored using a number of protocols, and at a certain point (e.g., at the end of a monitoring cycle) alarms can be queued up andcloud agent 306 can send the alarms to the cloud. Alarms can be reactive (e.g., alarms that trigger when a motor fails, when a CPU crashes, when an interlock is tripped, etc.) or proactive (e.g., track consumables on a machine and generate an alarm when time to reorder, monitor cycle counts on a machine and generate an alarm when to schedule preventative maintenance, generate an alarm when temperatures go out of defined bandwidths, send a notification when a computer's memory is 80% full, etc.). - The live data queue relates to substantially real-time monitored data, such as current temperatures, current pressures, etc. The live data values can also be accessed through the API (e.g., a SQL API). The motor drives queue is specific to motor drive data, and can be accessed, for example, through a deep packet inspection (DPI) protocol to the respective drives in the illustrated example. In some example systems, the motor drive data can relate to alarming and uploading of drive parameter data via a connector that uses the DPI protocol via a .Net class provided by the drives group.
-
Cloud agent 306 can allow the user to define these queues from the on-site location and to define how data in each queue is handled. For example, the user can define, for each queue, an upload frequency, a priority level (e.g., which data queues should take processing priority over other data queues), which cloud partitions or databases data from the respective queues should be placed in, and other such information. In an exemplary scenario, the live data queue may be defined to process live data values that are to be used by a remote operator interface application to view substantially real-time data from theplant facility 302, while historical data queue may be used to process historian data for archival storage in ahistorical database 328 on cloud storage. Accordingly, the live data queue may be assigned a higher priority relative to the historical data queue, since data in the live data queue is more time-critical than data in the historical queue. - Through
cloud agent 306, users can assign priorities to respective data tags or tag groups at the customer site. These priority assignments can be stored in the message queuing database 420 of thecloud agent 306. Accordingly, whenqueue processing services 416 package the collected data to be moved to the cloud platform, the collected data items can be packaged into data packets according to priority (as defined in message queuing database 420), and the respective data packet headers populated with the appropriate priority level. If access to the cloud is disconnected, data will continue to be collected bycollection services 414 and stored locally at local storage associated with collections services. When communication to the cloud is restored, the stored data will be forwarded to cloud storage. Queue processing services can also encrypt and send storage account keys to the cloud platform for user verification. - When
cloud agent 306 sends a data packet to the cloud-based remote monitoring service, the service reads the data header information to determine a priority assigned to the data (e.g., as defined in the data priority field of the data packet) and sends the data packet (or the compressed data therein) to a selected one of the user definedmessage queues 314 based on the priority. On the other side of themessage queues 314, aworker role 322 processes data in the respective queues according to the predefined processing definitions.Worker role 322 determines how the queued data is to be processed based onbehavior assemblies 324 stored in a customer-specific manifest.Behavior assemblies 324 define and implement customer-specific capabilities and preferences for processing monitored data.Behavior assemblies 324 can be dynamically uploaded by a user at theplant facility 302 throughcloud agent 306, which facilitates dynamic extension of SaaS cloud computing capability. - For example, if new data points are to be added to the remote monitoring system that require creation of a new data queue, the user can interact with
cloud agent 306 to configure a new behavior assembly for the new queue that defines such aspects as processing priority for the data, upload frequency for the data, where the data is to be stored withincloud storage 326, and other such information.Cloud agent 306 can then upload the new behavior assembly together with the data (or independently of the data). The new behavior assembly is then added to the customer's manifest with theother behavior assemblies 324 defined for the customer, so thatworker role 322 can leverage the new behavior assembly to determine how data in the new queue is to be processed. This new behavior assembly need only be uploaded to the cloud-based remote monitoring service once. Thereafter, data placed in the new message queue (of message queues 314) will be processed byworker role 322 according to the new behavior assembly stored in the customer's manifest. For example, the behavior assembly may define where the data is to be stored within cloud storage 326 (e.g., inhistorical database 328 or in Alarms and Live Data database 334), and whether processing of the new data queue is to take priority over other data queues. In some embodiments, the manifest may only accept a new behavior assembly if the behavior assembly is accompanied by a unique key associated with the client. - Partitioning of
cloud storage 326 can be configured by amanagement console 332, which can write partitioning definitions to a system database associated with thecloud storage 326. - Once the cloud-based remote monitoring infrastructure has processed and stored the data provided by
cloud agent 306 according to the techniques described above, the data can be made accessible toclient devices 330 for viewing. Data analysis on thecloud platform 308 can provide a set of web-based and browser enabled technologies for retrieving, directing, and uncompressing the data from thecloud platform 308 to theclient devices 330. To this end, reportingservices 318 can deliver data in cloud storage 326 (e.g., from the Alarm andLive Data database 334 or historical database 328) to theclient devices 330 in a defined format. For example, reportingservices 318 can leverage monitored data stored incloud storage 326 to provide remote operator interfaces toclient devices 330 over the Internet. -
FIGS. 6A and 6B illustrate an exemplary interface displays that can be provided by reportingservices 318. Theinterface display 602 ofFIG. 6A displays an animated graphical representation of a section of an industrial system, andinterface display 604 lists a set of relevant data tags and their respective values for data points rendered oninterface display 602. Reportingservices 318 can populateinterface display cloud storage 326 and deliver the display interfaces toclient devices 330 having suitable access permissives to access the data. -
FIG. 7 illustrates an exemplary alarm display 700 that can be provided by reportingservices 318 based on data incloud storage 326. As withdisplays services 318 can deliver alarm display 700 tosuitable client devices 330 having suitable authorization to view the alarm data.FIG. 8 illustrates an exemplary live data display 800 that can be provided by reportingservices 318. The alarm data rendered on alarm display 700 and live data rendered on live data display 800 can be drawn from the Alarms andLive Data database 334 oncloud storage 326. -
FIG. 9 illustrates anexemplary interface display 900 that can be provided by reportingservices 318 and that lists tag history by machine section. Tag data in the respective columns ofinterface display 900 can be drawn fromhistorical database 328 oncloud storage 326. -
FIG. 10 illustrates an exemplary alarmsummary interface display 1000 that can be provided by reportingservices 318. Alarmsummary interface display 1000 can render graphical representations of alarm summaries based on data inhistorical database 328. - It is to be appreciated that the interfaces illustrated in
FIGS. 6-10 are only intended to be exemplary, and that any suitable display format for plant data collected and stored in the cloud infrastructure are within the scope of one or more embodiments of this disclosure. - Using the cloud agent framework described above, users can organize the cloud computing infrastructure at the plant facility through
cloud agent 306 without the need to redevelop, recompile, test, and re-upload the remote monitoring applications.Cloud agent 306 provides a mechanism to integrate industrial devices or historians (such as historian 304) with the remote monitoring cloud infrastructure, where data from plant-side devices and historians can be leveraged by cloud-based applications and services. By offering users the ability to create and upload behavior assemblies for respective data types,cloud agent 306 can facilitate dynamic allocation of cloud computing data storage and computing resources for plant data without the need to redeploy the remote monitoring application whenever functional changes are implemented. This can remove several engineering and architectural costs associated with implementation or re-scaling of a remote monitoring service. - Some embodiments of
cloud agent 306 and the associated remote monitoring infrastructure can also facilitate intelligent alarming. For example,cloud agent 306 can analyze the collected data, discover fundamental associations between data items, and determine a next step of action so that alarms can be processed, notifications can be sent from thecloud platform 308 to theclient devices 330, or other such responses. For example, in some embodiments, the cloud-based remote monitoring infrastructure can generate e-mail notifications sent using a SendGrid service or other such service. -
FIG. 11 illustrates an exemplary notification architecture that can be leveraged in connection with intelligent alarming according to one or more embodiments of this disclosure. In this example system, reporting services 1102 (similar to reportingservices 318 ofFIG. 3 ) residing on the cloud platform can include anotification component 1104 and ananalytics component 1106.Analytics component 1106 can determine whether selected subsets ofindustrial data 1110 stored on cloud storage 1112 (similar tocloud storage 326 ofFIG. 3 ) meet one or more predefined notification conditions. These can include such conditions as detecting that a particular process value has exceeded a defined setpoint, detecting a transition to a particular machine state, detecting an alarm condition, determining that a specified production goal has been achieved, or other such conditions that can be detected through analysis of theindustrial data 1110. When an actionable condition is detected within theindustrial data 1110,analytics component 1106 can informnotification component 1104 that personnel are to be notified. In response,notification component 1104 can identify one or more specific plant employees who are to receive the notification, as well as information identifying a user notification device, phone number, or email address for each person to be notified. - In one or more embodiments,
notification component 1104 can determine this notification information by cross-referencingconfiguration data 1108 that identifies which personnel are to be notified for a given type of condition, one or more notification methods for each identified person, and/or other relevant information. Whenanalytics component 1106 determines that a subset of theindustrial data 1110 requires action to be taken by plant personnel,notification component 1104 can referenceconfiguration data 1108 to determine, for example, which personnel should be notified, which user devices should receive the notification, a required action to be taken by the recipient, a due date for the action, a format for the notification, and/or other relevant information.Configuration data 1108 can maintain multiple separate personnel lists respectively associated with different types of actionable situations. In some embodiments, the personnel list selected for a given notification can be at least partly a function of context data associated with the relevant subset ofindustrial data 1110. For example, ifindustrial data 1110 indicates that a process parameter has exceeded a setpoint value,notification component 1104 can identify the list of personnel to receive the notification based on the area or workcell to which the process parameter relates. - Once the appropriate personnel and devices to be notified have been determined,
notification component 1104 can delivernotifications 1114 to one or more notification destinations. The notification can be sent to an Internet-capable client device 1118, such as a phone, a tablet computer, a desktop computer, or other suitable devices. In some embodiments, a cloud application running on the cloud platform can provide a mechanism for notified personnel to communicate with one another via the cloud (e.g., establish a conference call using Voice-over-IP).Notification component 1104 can also be configured to send thenotification 1114 periodically at a defined frequency until the recipient positively responds to the notification (e.g., by sending a manual acknowledgement via the client device 1118). Thenotification component 1104 can also be configured to escalate an urgency of high-priority notifications if an acknowledgment is not received within a predetermined amount of time. This urgency escalation can entail sending thenotification 1114 at a gradually increasing frequency, sending the notification to devices associated with secondary personnel if the primary personnel do not respond within a defined time period, or other such escalation measures. - As described above, industrial data collected from one or more customer facilities and moved to the cloud platform by the on-premise cloud agent can be placed in a message queue for subsequent processing by a worker role. The processing functions performed on the data can be determined based on a behavior assembly associated with the message queue stored in the customer's manifest. In one or more embodiments, cloud-side processing can be performed by an analytics framework that facilitates agent-based analysis of the collected data. The analytics framework can perform this agent-based analysis using agent structures and communication. As will be described in more detail below, the analytics framework can comprise a set of virtual servers that reside and execute on the cloud platform, and can interface with a distributed file system framework that allows distributed computations to be performed on the large and diverse set of plant data stored on the cloud. In this way, the large and growing volume of continuously collected plant data can be analyzed on the cloud platform quickly, thereby allowing near real-time monitoring and notification applications to be implemented in the cloud. Industry-specific or customer-specific analysis applications can be deployed in the cloud platform (and maintained in the customer's manifest in some embodiments) and applied to the collected set of customer data by the virtual servers. These applications can perform such functions as remote monitoring of the customer's industrial systems and assets; predictive analysis of historical time-series data; alarming; or other such functions.
-
FIG. 12 illustrates a system that leverages a cloud-based infrastructure to perform agent-based analytics on plant data collected and stored on a cloud platform. Although the analytics system illustrated inFIG. 12 is depicted as working in conjunction with the data gathering systems described above, it is to be appreciated that the agent-based analytics system described herein can be applied to industrial data that has been collected in cloud storage using any suitable data gathering technique. - Similar to the system described in connection with
FIG. 3 , an on-premise cloud agent 1212 is configured to collect live or historical plant data from one or more industrial assets in aplant facility 1222.Worker role 1214 can receive the data sent tocloud platform 1220 by on-premise cloud agent 1212 and place the data in cloud storage 1224 (after performing any appropriate processing on the data as defined by abehavior assembly 1226, as described in previous examples). Thebehavior assembly 1226 may specify, for example, where the data is to be stored in cloud storage 1224 (e.g., which cloud storage partitions). As described in previous examples, the collected data may be packaged into a data packet that includes a header specifying such information as a unique customer ID, a site ID identifying theplant facility 1222 as the source of the data, a virtual support engineer ID, a data priority for the data, a process ID, or other such information. - Since the industrial systems comprising
plant facility 1222 may operate continuously and generate real-time data at high frequencies,cloud storage 1224 can contain a vast amount of real-time and historical data from many disparate sources. Migrating this data to the cloud affords an opportunity to perform remote analysis on these large and disparate data sets. To this end,cloud platform 1220 includes a framework for performing agent-based analytics on the data placed incloud storage 1224. The agent-based analytics framework can leverage a plurality ofvirtual servers 1206 that reside and execute oncloud platform 1220 to analyze the data incloud storage 1224 in accordance with ananalysis application 1204. Analytic functions prescribed byanalysis application 1204 can be carried out by cloud-side agents 1202 executing on thevirtual servers 1206. In addition to carrying out execution functions ofanalysis application 1204,agents 1202 can also communicate with on-premise cloud agent 1212 to facilitate coordinated analytics at both the plant level and the cloud level. For example, one or more of the cloud-basedagents 1202 can push an on-premise request for local analytics to the on-premise cloud agent 1212. In response, the on-premise cloud agent 1212 can perform the requested analytics locally at theplant facility 1222 and return a result to the cloud-side agents 1202. To perform the local analytics, on-premise cloud agent 1212 may access local data at the plant level (e.g., controller data, historian data, status or telemetric data from one or more motor drives or other industrial devices, etc.) and perform all or a portion of the analytics on this local data. This localized analytic operation may be part of a larger analytical operation performed on the stored data byvirtual servers 1206, as defined byanalysis application 1204. - To facilitate fast processing times despite the large amount of stored data, the agent-based analytics framework can operate in conjunction with a distributed
file system framework 1208, which manages processing of the data such that processing functions are distributed across multiplevirtual servers 1206. Distributedfile system framework 1208 can include aparallel processing model 1210 that facilitates parallel processing of the functions defined byanalysis application 1204 across the cluster ofvirtual servers 1206. -
FIG. 13 depicts another view of the cloud-based analytics system according to one or more embodiments.Analysis application 1204 can be deployed on the cloud platform to perform a prescribed analysis on industrial data stored incloud storage 1224. The data can be gathered and placed in cloud storage according to any suitable technique, including but not limited to the techniques described above in connection withFIGS. 2-5 . - In one or more embodiments,
analysis application 1204 can be developed to perform industry-specific processing on the stored industrial data. That is,analysis application 1204 can be designed to perform near real-time, historical, or predictive analysis on the plant data in view of one or more industry-specific requirements or considerations. For example, some industries may require that all software used in connection with monitoring and reporting of an industrial process conform to a defined set of standards (e.g., the 21 CFR Part 11 standards applied to the food and drug industry). Accordingly, if the data maintained incloud storage 1224 comprises data from a pharmaceutical enterprise,analysis application 1204 may comprise a monitoring and reporting application specific to the pharmaceutical industry that conforms to those industry-specific reporting standards. In another example, a given industry may commonly require aspects of a manufacturing process (e.g., certain types of equipment, particular phases of a batch process, etc.) to be monitored for particular trigger conditions. For such systems,analysis application 1204 can be pre-configured to perform the industry-prescribed monitoring and reporting. In one or more embodiments,analysis application 1204 can be provided as a generic application designed to perform the required industry-specific analysis. Theapplication 1204 can then be deployed for any such system operating in the defined industry after suitable customization to map theapplication 1204 to the customer's particular data points maintained incloud storage 1224. In some embodiments,analysis application 1204 can also be customized to encapsulate customer-specific machine rules or process rules which further determine how the stored data is analyized. - In an exemplary system,
analysis application 1204 can be designed to perform near real-time monitoring of the customer's industrial data in the cloud platform and to generate notifications in response to detection of a defined alarm conditions (e.g., vianotification component 1104 ofFIG. 11 ). In another exemplary system,analysis application 1204 can be designed to perform predictive analysis on the collected data.Analysis application 1204 can also be configured to employ machine learning to identify correlations between disparate sets of data stored incloud storage 1224. For example, based on an analysis of historical plant data stored in cloud storage (e.g., inhistorical database 328 ofFIG. 3 ), some embodiments ofanalysis application 1204 can learn event dependencies across a production line or supply chain, and leverage these learned dependencies to associated a detected system event with an upstream event or an event that occurred at an earlier point in time. - In yet another example,
analysis application 1204 may comprise a cross-customer analysis application that assists customers in identifying equipment, configuration, or process modifications that may improve overall system performance based on data mining of multiple sets of data associated with multiple customers. In such applications, customers operating within a given industry and using similar systems may maintain sets of collected industrial data in their respective customer-specific cloud partitions. The collected data may include not only production and/or process data generated by the industrial processes, but also data identifying the equipment (e.g., device type, brand, model, etc.) in use at the respective customer facilities, configuration data for the respective devices making up the systems, and other relevant information. The customers may agree to make their respective data sets available for confidential collective analysis on the cloud platform.Analysis application 1204 can then identify different customer-specific data sets and perform collective analysis on the data sets to identify trends, correlate device configuration settings with particular metrics of system performance, or other such analyses.Analysis application 1204 can then compare results of this analysis with the system, configuration, and/or process data for a given customer, and generate recommendations that are likely to improve one or more identified performance metrics for the customer's system. These recommendations can include, but are not limited to, recommended device configuration settings, recommendations to replace a particular device or machine with a different model, recommended programming changes, suggested process changes to improve product throughput, or other such recommendations. -
Analysis application 1204 may also comprise a risk assessment application that analyzes the customer's historical and/or real-time system data and generates a risk profile that identifies potential risk factors. Such applications can identify, for example, risk of machine downtime, equipment failure, or potential future safety hazards given historical and current operating conditions. In some embodiments, this risk assessment analysis can also consider aspects of the industrial enterprise outside the plant level. For example, the customer data maintained oncloud storage 1224 may include business-level data (e.g. purchase order data, inventory data, economic data, etc.) and identify medium- or long-term risks relating to order fulfillment, inventory, lost profit opportunities, etc.Analysis application 1204 may cross-reference plant-level and business-level data in order to identify such risk factors (e.g., determine a probability that current production and inventory levels will satisfy current and future product demand, and generate a recommendation for increasing production if the probability drops below a threshold). - The agent-based analytics framework can execute
analysis application 1204 on a cluster ofvirtual servers 1206 executing on the cloud platform. In order to rapidly process the vast and continuously growing amounts of data residing oncloud storage 1224,virtual servers 1206 can be managed by a distributedfile system framework 1208, which facilitates distributed parallel processing of the stored data in accordance withanalysis application 1204. The agent-based analytics framework can interface with the distributedfile system framework 1208 via a distributedprocessing framework interface 1302, which is configured to exchange instructions and data betweenvirtual servers 1206 and distributedfile system framework 1208. - In operation, distributed
file system framework 1208 can divide analytical functions of theanalysis application 1204 into executable fragments, which can be distributed acrossvirtual servers 1206 for processing.Parallel processing model 1210 can coordinate parallel execution of these executable fragments onvirtual servers 1206 to rapidly perform the analytical functions in a distributed, parallel manner on the cloud platform. For example,parallel processing model 1210 can assign each processing fragment to a selected virtual server at a selected time based on such criteria as a current status of the respectivevirtual servers 1206, a status of the overall processing function being carried out, a required order of operations, or other such considerations. Distributedfile system framework 1208 can also manage processing redundancy between thevirtual servers 1206. For example, distributedfile system framework 1208 may duplicate data or processing tasks across more than one of thevirtual servers 1206 to reduce the likelihood that a processing failure on one of thevirtual servers 1206 will result in lost data or necessitate a re-execution of an operation or executable fragment. - In one or more embodiments, all or portions of the functionality carried out by the agent-based analytics framework can be carried out using agent communication. As illustrated in
FIG. 14 ,agents 1202 can reside on thevirtual servers 1206 and collaborate to perform the analytical functions prescribed byanalysis application 1204.Agents 1202 can comprise individual, autonomous computational elements that exchange data and instructions using a common agent communication language to facilitate collaborative processing acrossvirtual servers 1206. In some embodiments,agents 1202 can be deployed byanalysis application 1204 to encapsulate the machine rules and/or process rules encoded in the application.Agents 1202 can also work in conjunction with the distributedfile system framework 1208 to orchestrate parallel processing of stored industrial data on the cloud platform. For example, if a processing task is requested byanalysis application 1204, agents 1402 may negotiate to determine which agent (and associated virtual server) is to carry out the requested processing task. Moreover, agent 1402 can communicate with on-premise cloud agents (e.g.,agents 306 or 1212) via agent communication language to achieve distributed decision-making or to request local analytics to be performed by the on-premise cloud agents. - Functions of the cloud-based analytics described above can be performed in part by scripts invoked by an analytics capability manager.
FIG. 15 illustrates a logical architecture for such an analytics capability manager. In the illustrated example,analytics capability manager 1502 receives ascript request 1504 from an agent 1506 (similar to agents 1402 ofFIG. 14 ).Analytics capability manager 1502 may determine that thescript request 1504 requires calculation of a temperature averaged over a time interval. This determination may be made based in part on information contained in amanifest 1508. Each request to execute a script is handled as an individual thread of execution to retain parallelism in the computation. The infrastructure can avoid script execution replication by caching execution context. Similar to examples described above, themanifest 1508 can contain customer-specific behavior assemblies that define and implement preferences for processing data collected from the customer's industrial systems and moved to the cloud. For example, themanifest 1508 can define a number of classes that collectively represent the desired analytics for a given industrial enterprise, where each class is specific to an application-level capability. Thus, for each application-level capability defined for a given industrial enterprise there is a class encapsulating an access point to a service into a cloud-based application. - In general, the cloud applications that make up the analytics for a given industrial enterprise can comprise one or more applications associated with each machine or process in use by the enterprise. An exemplary organization of analytic functionality is illustrated in
FIG. 16 . In this example, anindustrial enterprise 1602 comprises N sites 1604 (e.g., plant facilities at different geographic locations), with each site comprising a number of machines and/or processes 1606. Each machine/process 1606 has associated therewith a set ofcloud applications 1608 representing individual analytic functions that can be performed on data collected from the respective machines/processes. Each of thesecloud applications 1608 can be represented by a class maintained in the cloud platform. The class acts as an interface betweenanalytics capability manager 1502 and the associated application.Hierarchical structure 1600 can form the basis for the analytics manifest 1508, which instructs theanalytics capability manager 1502 which particular cloud application (as a function of the industrial enterprise and/or machine or process) is to be run in a given circumstance. - Returning now to
FIG. 15 , based on thescript request 1504 and analytics defined in themanifest 1508,analytics capability manager 1502 invokes a class 1516 (CalculateTemperatureAvg) corresponding to a script for calculating an average temperature over a time interval. Communication betweenanalytics capability manager 1502 andclass 1516 can be messaged based (e.g. via a message-based packet 1510). As part of the invocation,analytics capability manager 1502 can pass context-based parameters to the class. In the present example, these can include parameters specifying the time range over which the average is to be calculated. In one or more embodiments, an analytics engine 1415 can extract application-specific parameters from the request, fetch the script corresponding to theclass 1516 invoked byanalytics capability manager 1502, and invoke the distributed file system framework (e.g., distributedfile system framework 1208 ofFIG. 12 ) to facilitate parallel execution of the script using cloud resources. The script can be fetched, for example, from a script bank file system using a class discovery and uploading process. - As illustrated in
FIG. 17 , upon completion of processing by the distributed file system framework,analytics engine 1514 creates a response to analytics manager containing results of the processing (in the present example, results for average temperature and heating/cooling tendency for a machine or process). This result is returned toagent 1506 as acallback 1702 containing the calculated results. -
FIGS. 18-21 illustrate various methodologies in accordance with one or more embodiments of the subject application. In some embodiments, these executions can be managed by the infrastructure as parallel threads of execution. While, for purposes of simplicity of explanation, the one or more methodologies shown herein are shown and described as a series of acts, it is to be understood and appreciated that the subject innovation is not limited by the order of acts, as some acts may, in accordance therewith, occur in a different order and/or concurrently with other acts from that shown and described herein. For example, those skilled in the art will understand and appreciate that a methodology could alternatively be represented as a series of interrelated states or events, such as in a state diagram. Moreover, not all illustrated acts may be required to implement a methodology in accordance with the innovation. Furthermore, interaction diagram(s) may represent methodologies, or methods, in accordance with the subject disclosure when disparate entities enact disparate portions of the methodologies. Further yet, two or more of the disclosed example methods can be implemented in combination with each other, to accomplish one or more features or advantages described herein. -
FIG. 18 illustrates anexample methodology 1800 for moving industrial data from a plant floor to a cloud platform. Initially, at 1802, industrial data is collected from one or more industrial devices on a plant floor. At 1804, the industrial data is stored in a compressed file. The industrial data can be compressed, for example by collection services of a cloud agent that provides on-premise data collection, packaging, and transmission of industrial data generated by industrial assets on the plant floor. - At 1806, the compressed data file is packaged (e.g., by the cloud agent) into a data packet. At 1808, the compressed file is assigned to a message queue based on at least one of a data type or a priority associated with the collected industrial data. The message queue comprises a queue defined on a cloud platform for storage and processing of data in accordance with an associated behavior assembly.
- At 1810, a header is appended to the data packet indicating the message queue assigned at
step 1808. At 1812, the data packet including the header appended atstep 1810 is sent to a cloud platform that maintains the assigned message queue. At 1814, the industrial data contained in the data packet is stored in the message queue on the cloud platform in accordance with the header. Once stored in the message queue, the data can be processed on the cloud platform according to predefined processing definitions associated with the assigned message queue. -
FIG. 19 illustrates anexample methodology 1900 for creating and using message queues on a cloud platform for storage and processing of industrial data. Initially, at 1902, an instruction to create a message queue is received at a cloud platform. The instruction can be received, for example, by a cloud agent executing on at an industrial enterprise. At 1904, the message queue is created on the cloud platform in accordance with the instruction received atstep 1902. At 1906, a behavior assembly defining a processing to be associated with the message queue is received at the cloud platform. At 1908, the behavior assembly is maintained in a customer-specific manifest on the cloud platform. - At 1910, a data packet containing industrial data and a header specifying the message queue is received at the cloud platform. At 1912, the industrial data contained in the data packet received at
step 1910 is assigned to the message queue in accordance with the header. At 1914, the industrial data maintained in the message queue is processed on the cloud platform in accordance with the behavior assembly maintained in the customer-specific manifest. -
FIG. 20 illustrates anexample methodology 2000 for analyzing industrial data in a cloud platform. Initially, at 2002, data generated by an industrial automation system is migrated to a cloud platform. This can be performed, for example, by an on-premise agent at an industrial facility that gathers, packages, and compresses the industrial data and sends the resulting data packets to the cloud platform. The on-premise agent may also perform localized analytics on the data prior to migrating the data to the cloud platform. At 2004, cloud-side analytics are performed on the industrial data using a cluster of virtual servers residing on the cloud platform. The processing can be based on an analytics application that is collectively executed in a distributed parallel manner by the virtual servers on the cloud platform. For example, the collected industrial data can be analyzed to facilitate one or more of near real-time monitoring of system events, alarming, trend analysis, risk assessment, or other such analytics. At 2006, at least one of a notification output, a recommendation output, or a control output is generated based on the cloud-side analytics performed at step 2004. -
FIG. 21 illustrates anexample methodology 2100 for performing agent-based analysis on industrial data in a cloud platform. Initially, atstep 2102, one or more industry-specific or machine-specific rules are encoded in a cloud-based industrial analysis application. At 2104, analysis agents executing on multiple cloud-based virtual servers are instructed to perform analytics on industrial data stored on a cloud platform in accordance with the industrial analysis application. At 2106, at least one of a notification output, a recommendation output, or a control output is generated based on the analysis performed by the analysis agents. - Embodiments, systems, and components described herein, as well as industrial control systems and industrial automation environments in which various aspects set forth in the subject specification can be carried out, can include computer or network components such as servers, clients, programmable logic controllers (PLCs), communications modules, mobile computers, wireless components, control components and so forth which are capable of interacting across a network. Computers and servers include one or more processors—electronic integrated circuits that perform logic operations employing electric signals—configured to execute instructions stored in media such as random access memory (RAM), read only memory (ROM), a hard drives, as well as removable memory devices, which can include memory sticks, memory cards, flash drives, external hard drives, and so on.
- Similarly, the term PLC as used herein can include functionality that can be shared across multiple components, systems, and/or networks. As an example, one or more PLCs can communicate and cooperate with various network devices across the network. This can include substantially any type of control, communications module, computer, Input/Output (I/O) device, sensor, actuator, and human machine interface (HMI) that communicate via the network, which includes control, automation, and/or public networks. The PLC can also communicate to and control various other devices such as I/O modules including analog, digital, programmed/intelligent I/O modules, other programmable controllers, communications modules, sensors, actuators, output devices, and the like.
- The network can include public networks such as the internet, intranets, and automation networks such as control and information protocol (CIP) networks including DeviceNet, ControlNet, and Ethernet/IP. Other networks include Ethernet, DH/DH+, Remote I/O, Fieldbus, Modbus, Profibus, CAN, wireless networks, serial protocols, and so forth. In addition, the network devices can include various possibilities (hardware and/or software components). These include components such as switches with virtual local area network (VLAN) capability, LANs, WANs, proxies, gateways, routers, firewalls, virtual private network (VPN) devices, servers, clients, computers, configuration tools, monitoring tools, and/or other devices.
- In order to provide a context for the various aspects of the disclosed subject matter,
FIGS. 22 and 23 as well as the following discussion are intended to provide a brief, general description of a suitable environment in which the various aspects of the disclosed subject matter may be implemented. - With reference to
FIG. 22 , anexample environment 2210 for implementing various aspects of the aforementioned subject matter includes acomputer 2212. Thecomputer 2212 includes aprocessing unit 2214, asystem memory 2216, and asystem bus 2218. Thesystem bus 2218 couples system components including, but not limited to, thesystem memory 2216 to theprocessing unit 2214. Theprocessing unit 2214 can be any of various available processors. Dual microprocessors and other multiprocessor architectures also can be employed as theprocessing unit 2214. - The
system bus 2218 can be any of several types of bus structure(s) including the memory bus or memory controller, a peripheral bus or external bus, and/or a local bus using any variety of available bus architectures including, but not limited to, 8-bit bus, Industrial Standard Architecture (ISA), Micro-Channel Architecture (MSA), Extended ISA (EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB), Peripheral Component Interconnect (PCI), Universal Serial Bus (USB), Advanced Graphics Port (AGP), Personal Computer Memory Card International Association bus (PCMCIA), and Small Computer Systems Interface (SCSI). - The
system memory 2216 includesvolatile memory 2220 andnonvolatile memory 2222. The basic input/output system (BIOS), containing the basic routines to transfer information between elements within thecomputer 2212, such as during start-up, is stored innonvolatile memory 2222. By way of illustration, and not limitation,nonvolatile memory 2222 can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable PROM (EEPROM), or flash memory.Volatile memory 2220 includes random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). -
Computer 2212 also includes removable/non-removable, volatile/nonvolatile computer storage media.FIG. 22 illustrates, for example adisk storage 2224.Disk storage 2224 includes, but is not limited to, devices like a magnetic disk drive, floppy disk drive, tape drive, Jaz drive, Zip drive, LS-100 drive, flash memory card, or memory stick. In addition,disk storage 2224 can include storage media separately or in combination with other storage media including, but not limited to, an optical disk drive such as a compact disk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CD rewritable drive (CD-RW Drive) or a digital versatile disk ROM drive (DVD-ROM). To facilitate connection of thedisk storage 2224 to thesystem bus 2218, a removable or non-removable interface is typically used such asinterface 2226. - It is to be appreciated that
FIG. 22 describes software that acts as an intermediary between users and the basic computer resources described insuitable operating environment 2210. Such software includes anoperating system 2228.Operating system 2228, which can be stored ondisk storage 2224, acts to control and allocate resources of thecomputer 2212.System applications 2230 take advantage of the management of resources byoperating system 2228 throughprogram modules 2232 andprogram data 2234 stored either insystem memory 2216 or ondisk storage 2224. It is to be appreciated that one or more embodiments of the subject disclosure can be implemented with various operating systems or combinations of operating systems. - A user enters commands or information into the
computer 2212 through input device(s) 2236.Input devices 2236 include, but are not limited to, a pointing device such as a mouse, trackball, stylus, touch pad, keyboard, microphone, joystick, game pad, satellite dish, scanner, TV tuner card, digital camera, digital video camera, web camera, and the like. These and other input devices connect to theprocessing unit 2214 through thesystem bus 2218 via interface port(s) 2238. Interface port(s) 2238 include, for example, a serial port, a parallel port, a game port, and a universal serial bus (USB). Output device(s) 2240 use some of the same type of ports as input device(s) 2236. Thus, for example, a USB port may be used to provide input tocomputer 2212, and to output information fromcomputer 2212 to anoutput device 2240.Output adapters 2242 are provided to illustrate that there are someoutput devices 2240 like monitors, speakers, and printers, amongother output devices 2240, which require special adapters. Theoutput adapters 2242 include, by way of illustration and not limitation, video and sound cards that provide a means of connection between theoutput device 2240 and thesystem bus 2218. It should be noted that other devices and/or systems of devices provide both input and output capabilities such as remote computer(s) 2244. -
Computer 2212 can operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 2244. The remote computer(s) 2244 can be a personal computer, a server, a router, a network PC, a workstation, a microprocessor based appliance, a peer device or other common network node and the like, and typically includes many or all of the elements described relative tocomputer 2212. For purposes of brevity, only amemory storage device 2246 is illustrated with remote computer(s) 2244. Remote computer(s) 2244 is logically connected tocomputer 2212 through anetwork interface 2248 and then physically connected viacommunication connection 2250.Network interface 2248 encompasses communication networks such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include Fiber Distributed Data Interface (I-DDI), Copper Distributed Data Interface (CDDI), Ethernet/IEEE 802.3, Token Ring/IEEE 802.5 and the like. WAN technologies include, but are not limited to, point-to-point links, circuit switching networks like Integrated Services Digital Networks (ISDN) and variations thereon, packet switching networks, and Digital Subscriber Lines (DSL). - Communication connection(s) 2250 refers to the hardware/software employed to connect the
network interface 2248 to thesystem bus 2218. Whilecommunication connection 2250 is shown for illustrative clarity insidecomputer 2212, it can also be external tocomputer 2212. The hardware/software necessary for connection to thenetwork interface 2248 includes, for exemplary purposes only, internal and external technologies such as, modems including regular telephone grade modems, cable modems and DSL modems, ISDN adapters, and Ethernet cards. -
FIG. 23 is a schematic block diagram of a sample-computing environment 2300 with which the disclosed subject matter can interact. The sample-computing environment 2300 includes one or more client(s) 2310. The client(s) 2310 can be hardware and/or software (e.g., threads, processes, computing devices). The sample-computing environment 2300 also includes one or more server(s) 2330. The server(s) 2330 can also be hardware and/or software (e.g., threads, processes, computing devices). The servers 2330 can house threads to perform transformations by employing one or more embodiments as described herein, for example. One possible communication between aclient 2310 and servers 2330 can be in the form of a data packet adapted to be transmitted between two or more computer processes. The sample-computing environment 2300 includes a communication framework 2350 that can be employed to facilitate communications between the client(s) 2310 and the server(s) 2330. The client(s) 2310 are operably connected to one or more client data store(s) 2360 that can be employed to store information local to the client(s) 2310. Similarly, the server(s) 2330 are operably connected to one or more server data store(s) 2340 that can be employed to store information local to the servers 2330. - What has been described above includes examples of the subject innovation. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing the disclosed subject matter, but one of ordinary skill in the art may recognize that many further combinations and permutations of the subject innovation are possible. Accordingly, the disclosed subject matter is intended to embrace all such alterations, modifications, and variations that fall within the spirit and scope of the appended claims.
- In particular and in regard to the various functions performed by the above described components, devices, circuits, systems and the like, the terms (including a reference to a “means”) used to describe such components are intended to correspond, unless otherwise indicated, to any component which performs the specified function of the described component (e.g., a functional equivalent), even though not structurally equivalent to the disclosed structure, which performs the function in the herein illustrated exemplary aspects of the disclosed subject matter. In this regard, it will also be recognized that the disclosed subject matter includes a system as well as a computer-readable medium having computer-executable instructions for performing the acts and/or events of the various methods of the disclosed subject matter.
- In addition, while a particular feature of the disclosed subject matter may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms “includes,” and “including” and variants thereof are used in either the detailed description or the claims, these terms are intended to be inclusive in a manner similar to the term “comprising.”
- In this application, the word “exemplary” is used to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
- Various aspects or features described herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. For example, computer readable media can include but are not limited to magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips . . . ), optical disks [e.g., compact disk (CD), digital versatile disk (DVD) . . . ], smart cards, and flash memory devices (e.g., card, stick, key drive . . . ).
- As used in this application, the terms “component,” “system,” “platform,” “layer,” “controller,” “terminal,” “station,” “node,” “interface” are intended to refer to a computer-related entity or an entity related to, or that is part of, an operational apparatus with one or more specific functionalities, wherein such entities can be either hardware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to being, a process running on a processor, a processor, a hard disk drive, multiple storage drives (of optical or magnetic storage medium) including affixed (e.g., screwed or bolted) or removable affixed solid-state storage drives; an object; an executable; a thread of execution; a computer-executable program, and/or a computer. By way of illustration, both an application running on a server and the server can be a component. One or more components can reside within a process and/or thread of execution, and a component can be localized on one computer and/or distributed between two or more computers. Also, components as described herein can execute from various computer readable storage media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry which is operated by a software or a firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can include a processor therein to execute software or firmware that provides at least in part the functionality of the electronic components. As further yet another example, interface(s) can include input/output (I/O) components as well as associated processor, application, or Application Programming Interface (API) components. While the foregoing examples are directed to aspects of a component, the exemplified aspects or features also apply to a system, platform, interface, layer, controller, terminal, and the like.
- As used herein, the terms “to infer” and “inference” refer generally to the process of reasoning about or inferring states of the system, environment, and/or user from a set of observations as captured via events and/or data. Inference can be employed to identify a specific context or action, or can generate a probability distribution over states, for example. The inference can be probabilistic—that is, the computation of a probability distribution over states of interest based on a consideration of data and events. Inference can also refer to techniques employed for composing higher-level events from a set of events and/or data. Such inference results in the construction of new events or actions from a set of observed events and/or stored event data, whether or not the events are correlated in close temporal proximity, and whether the events and data come from one or several event and data sources.
- In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless specified otherwise, or clear from the context, the phrase “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, the phrase “X employs A or B” is satisfied by any of the following instances: X employs A; X employs B; or X employs both A and B. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from the context to be directed to a singular form.
- Furthermore, the term “set” as employed herein excludes the empty set; e.g., the set with no elements therein. Thus, a “set” in the subject disclosure includes one or more elements or entities. As an illustration, a set of controllers includes one or more controllers; a set of data resources includes one or more data resources; etc. Likewise, the term “group” as utilized herein refers to a collection of one or more entities; e.g., a group of nodes refers to one or more nodes.
- Various aspects or features will be presented in terms of systems that may include a number of devices, components, modules, and the like. It is to be understood and appreciated that the various systems may include additional devices, components, modules, etc. and/or may not include all of the devices, components, modules etc. discussed in connection with the figures. A combination of these approaches also can be used.
Claims (20)
1. A system for cloud-based analysis of industrial data, comprising:
a memory that stores computer-executable components; and
a processor, operatively coupled to the memory, that executes the computer-executable components, the computer-executable components comprising:
a receiving component configured to receive, at a cloud platform, first industrial data from a first cloud gateway device that resides at a first industrial enterprise and second industrial data from a second cloud gateway device that resides at a second industrial enterprise;
a cloud storage component configured to store the first industrial data the second industrial data on the cloud platform; and
an analytics framework configured to perform an analysis on the first industrial data and the second industrial data based on an analysis application executed on the cloud platform, and to generate recommendation data for the first industrial enterprise based on a result of the analysis, wherein the recommendation data defines at least one of a recommended device configuration, a recommended modification to an industrial process, or a recommended modification to a production schedule.
2. The system of claim 1 , wherein the first industrial data and the second industrial data comprises at least one of production data generated by one or more industrial processes, data identifying equipment in use at the first industrial enterprise and the second industrial enterprise, or configuration data for respective industrial devices in use at the first industrial enterprise and the second industrial enterprise.
3. The system of claim 2 , wherein the result of the analysis comprises at least one of a trend or a correlation of device configuration settings with a metric of system performance.
4. The system of claim 1 , wherein the analytics framework comprises a set of virtual servers that execute the analysis application on the cloud platform.
5. The system of claim 4 , wherein the analytics framework is configured to assign a first processing task associated with the analysis to at least one of the set of virtual servers, and to assign a second processing task associated with the analysis to at least one of the first cloud gateway device or the second cloud gateway device.
6. The system of claim 4 , wherein the analytics framework is further configured to distribute processing tasks associated with the analysis application between at least two of the set of virtual servers.
7. The system of claim 4 , wherein the set of virtual servers execute a plurality of agents that facilitate execution of the analysis application to perform the analysis.
8. The system of claim 7 , wherein the plurality of agents are configured to exchange data with an on-premise cloud agent residing at at least one of the first industrial enterprise or the second industrial enterprise to facilitate localized analytics processing by the on-premise cloud agent.
9. The system of claim 1 , wherein the analytics framework is configured to determine, based on another result of the analysis, whether at least a subset of the first industrial data or the second industrial data meets a defined alarm criterion, and to generate an alarm output based on the other result.
10. The system of claim 1 , wherein the analysis application comprises a predictive analysis application configured to determine, based on the result of the analysis, a probability of a future occurrence of at least one of a machine downtime event, a machine failure, an inventory shortage, a material shortage, or a failure to fulfill a work order.
11. The system of claim 1 , wherein the analysis application is configured to identify, based on the result of the analysis, a dependency between two or more subsets of the first industrial data or the second industrial data.
12. A method for performing cloud-based industrial analysis, comprising:
receiving, by a system executing on a cloud platform and comprising at least one processor, first industrial data from a first cloud gateway device residing at a first plant location and second industrial data from a second cloud gateway device residing at a second plant location;
storing, by the system, the first industrial data and the second industrial data on cloud-based storage;
executing, by the system on the cloud platform, an analysis application that performs an analysis on the first industrial data and the second industrial data; and
generating, by the system, recommendation data for the first plant location based on a result of the analysis, wherein the recommendation data specifies at least one of a recommended device configuration, a recommended modification to an industrial process, or a recommended modification to a production schedule.
13. The method of claim 12 , wherein the receiving comprises receiving at least one of production data generated by one or more industrial processes, data identifying equipment in use at the first plant location and the second plant location, or configuration data for respective industrial devices in use at the first plant location and the second plant location.
14. The method of claim 13 , wherein the executing comprises identifying at least one of a trend or a correlation between device configuration settings and a metric of industrial system performance based on the analysis.
15. The method of claim 12 , wherein the executing comprises assigning a first processing task associated with the analysis to a virtual server residing on the cloud platform and assigning a second processing task associated with the analysis to at least one of the first cloud gateway device or the second cloud gateway device.
16. The method of claim 12 , wherein the executing comprises distributing processing tasks associated with the analysis between at least two virtual servers residing on the cloud platform.
17. The method of claim 16 , wherein the executing comprises executing a plurality of agents associated with the at least two virtual servers, and wherein the plurality of agents facilitate execution of the analysis application.
18. A non-transitory computer-readable medium having stored thereon computer-executable instructions that, in response to execution, cause a computing system to perform operations, the operations comprising:
receiving, at a cloud platform, first industrial data from a first cloud gateway device residing at a first industrial facility and second industrial data from a second cloud gateway device residing at a second industrial facility;
storing, on cloud storage associated with the cloud platform, the first industrial data and the second industrial data;
executing, on the cloud platform, an analysis application that performs an analysis on the first industrial data and the second industrial data; and
generating recommendation data directed to the first industrial facility based on a result of the analysis, wherein the recommendation data identifies at least one of a recommended device configuration, a recommended modification to an industrial process, or a recommended modification to a production schedule
19. The transitory computer-readable medium of claim 18 , wherein the receiving comprises receiving at least one of production data generated by one or more industrial processes, data identifying equipment in use at the first industrial facility and the second industrial facility, or configuration data for respective industrial devices in use at the first industrial facility and the second industrial facility.
20. The computer-readable medium of claim 19 , wherein the executing comprises identifying at least one of a trend or a correlation between device configuration settings and a metric of industrial system performance based on the analysis.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/978,226 US20160112283A1 (en) | 2012-08-09 | 2015-12-22 | Remote industrial monitoring and analytics using a cloud infrastructure |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261681443P | 2012-08-09 | 2012-08-09 | |
US13/864,011 US9253054B2 (en) | 2012-08-09 | 2013-04-16 | Remote industrial monitoring and analytics using a cloud infrastructure |
US13/863,976 US9467500B2 (en) | 2012-08-09 | 2013-04-16 | Remote industrial monitoring using a cloud infrastructure |
US14/978,226 US20160112283A1 (en) | 2012-08-09 | 2015-12-22 | Remote industrial monitoring and analytics using a cloud infrastructure |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/864,011 Continuation US9253054B2 (en) | 2012-08-09 | 2013-04-16 | Remote industrial monitoring and analytics using a cloud infrastructure |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160112283A1 true US20160112283A1 (en) | 2016-04-21 |
Family
ID=50067048
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/864,011 Active 2034-02-15 US9253054B2 (en) | 2012-08-09 | 2013-04-16 | Remote industrial monitoring and analytics using a cloud infrastructure |
US14/978,226 Abandoned US20160112283A1 (en) | 2012-08-09 | 2015-12-22 | Remote industrial monitoring and analytics using a cloud infrastructure |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/864,011 Active 2034-02-15 US9253054B2 (en) | 2012-08-09 | 2013-04-16 | Remote industrial monitoring and analytics using a cloud infrastructure |
Country Status (1)
Country | Link |
---|---|
US (2) | US9253054B2 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341241A (en) * | 2017-07-05 | 2017-11-10 | 深圳市樊溪电子有限公司 | A kind of wind-powered electricity generation big data analysis system based on cloud computing |
CN107436582A (en) * | 2016-05-25 | 2017-12-05 | 西门子公司 | To system, controller and the method for the data closed-loop control of the application based on cloud |
US20180174248A1 (en) * | 2016-12-16 | 2018-06-21 | General Electric Company | Apparatus and Method for Deploying Analytics |
US20180324063A1 (en) * | 2017-05-02 | 2018-11-08 | Finderscopus, Inc. | Cloud-based system for device monitoring and control |
US20190064787A1 (en) * | 2017-08-31 | 2019-02-28 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
US10303128B2 (en) * | 2015-07-30 | 2019-05-28 | Siemens Aktiengesellschaft | System and method for control and/or analytics of an industrial process |
US10334048B2 (en) | 2014-03-26 | 2019-06-25 | Rockwell Automation Technologies, Inc. | On-premise data collection and ingestion using industrial cloud agents |
WO2019134733A1 (en) * | 2018-01-02 | 2019-07-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Robot control monitoring and optimization in mobile networks |
US10482063B2 (en) | 2017-08-14 | 2019-11-19 | Rockwell Automation Technologies, Inc. | Modular control manifest generator for cloud automation |
US10510027B2 (en) | 2014-03-26 | 2019-12-17 | Rockwell Automation Technologies, Inc. | Cloud-based global alarm annunciation system for industrial systems |
US10764255B2 (en) | 2016-09-21 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Secure command execution from a cloud monitoring system to a remote cloud agent |
US10812605B2 (en) | 2017-02-10 | 2020-10-20 | General Electric Company | Message queue-based systems and methods for establishing data communications with industrial machines in multiple locations |
AU2020203326A1 (en) * | 2019-06-14 | 2021-01-07 | Honeywell International Inc. | System for operator messages with contextual data and navigation |
US11086298B2 (en) * | 2019-04-15 | 2021-08-10 | Rockwell Automation Technologies, Inc. | Smart gateway platform for industrial internet of things |
US11144042B2 (en) | 2018-07-09 | 2021-10-12 | Rockwell Automation Technologies, Inc. | Industrial automation information contextualization method and system |
US11169507B2 (en) | 2017-06-08 | 2021-11-09 | Rockwell Automation Technologies, Inc. | Scalable industrial analytics platform |
US11227080B2 (en) | 2017-04-17 | 2022-01-18 | Rockwell Automation Technologies, Inc. | Industrial automation information contextualization method and system |
US11249462B2 (en) | 2020-01-06 | 2022-02-15 | Rockwell Automation Technologies, Inc. | Industrial data services platform |
US11327473B2 (en) | 2017-07-11 | 2022-05-10 | Rockwell Automation Technologies, Inc. | Dynamically reconfigurable data collection agent for fracking pump asset |
US11403541B2 (en) | 2019-02-14 | 2022-08-02 | Rockwell Automation Technologies, Inc. | AI extensions and intelligent model validation for an industrial digital twin |
US11435726B2 (en) | 2019-09-30 | 2022-09-06 | Rockwell Automation Technologies, Inc. | Contextualization of industrial data at the device level |
US11601494B2 (en) * | 2017-04-26 | 2023-03-07 | Siemens Aktiengesellschaft | Method for transferring data from a device to a data management means, switching unit, device and system |
US20230186326A1 (en) * | 2021-12-14 | 2023-06-15 | Hewlett Packard Enterprise Development Lp | Aiops as a cloud-based service |
US11726459B2 (en) | 2020-06-18 | 2023-08-15 | Rockwell Automation Technologies, Inc. | Industrial automation control program generation from computer-aided design |
WO2023198280A1 (en) * | 2022-04-12 | 2023-10-19 | Software Defined Automation Gmbh | Cloud computing system, method and computer program |
US11841699B2 (en) | 2019-09-30 | 2023-12-12 | Rockwell Automation Technologies, Inc. | Artificial intelligence channel for industrial automation |
Families Citing this family (208)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9565275B2 (en) | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
US11270699B2 (en) | 2011-04-22 | 2022-03-08 | Emerging Automotive, Llc | Methods and vehicles for capturing emotion of a human driver and customizing vehicle response |
US9581997B1 (en) | 2011-04-22 | 2017-02-28 | Angel A. Penilla | Method and system for cloud-based communication for automatic driverless movement |
US9348492B1 (en) | 2011-04-22 | 2016-05-24 | Angel A. Penilla | Methods and systems for providing access to specific vehicle controls, functions, environment and applications to guests/passengers via personal mobile devices |
US9365188B1 (en) | 2011-04-22 | 2016-06-14 | Angel A. Penilla | Methods and systems for using cloud services to assign e-keys to access vehicles |
US11370313B2 (en) | 2011-04-25 | 2022-06-28 | Emerging Automotive, Llc | Methods and systems for electric vehicle (EV) charge units and systems for processing connections to charge units |
US9493130B2 (en) | 2011-04-22 | 2016-11-15 | Angel A. Penilla | Methods and systems for communicating content to connected vehicle users based detected tone/mood in voice input |
US9123035B2 (en) | 2011-04-22 | 2015-09-01 | Angel A. Penilla | Electric vehicle (EV) range extending charge systems, distributed networks of charge kiosks, and charge locating mobile apps |
US9171268B1 (en) | 2011-04-22 | 2015-10-27 | Angel A. Penilla | Methods and systems for setting and transferring user profiles to vehicles and temporary sharing of user profiles to shared-use vehicles |
US9229905B1 (en) | 2011-04-22 | 2016-01-05 | Angel A. Penilla | Methods and systems for defining vehicle user profiles and managing user profiles via cloud systems and applying learned settings to user profiles |
US9288270B1 (en) | 2011-04-22 | 2016-03-15 | Angel A. Penilla | Systems for learning user preferences and generating recommendations to make settings at connected vehicles and interfacing with cloud systems |
US10572123B2 (en) | 2011-04-22 | 2020-02-25 | Emerging Automotive, Llc | Vehicle passenger controls via mobile devices |
US9536197B1 (en) | 2011-04-22 | 2017-01-03 | Angel A. Penilla | Methods and systems for processing data streams from data producing objects of vehicle and home entities and generating recommendations and settings |
US9648107B1 (en) | 2011-04-22 | 2017-05-09 | Angel A. Penilla | Methods and cloud systems for using connected object state data for informing and alerting connected vehicle drivers of state changes |
US9809196B1 (en) | 2011-04-22 | 2017-11-07 | Emerging Automotive, Llc | Methods and systems for vehicle security and remote access and safety control interfaces and notifications |
US9139091B1 (en) | 2011-04-22 | 2015-09-22 | Angel A. Penilla | Methods and systems for setting and/or assigning advisor accounts to entities for specific vehicle aspects and cloud management of advisor accounts |
US9371007B1 (en) | 2011-04-22 | 2016-06-21 | Angel A. Penilla | Methods and systems for automatic electric vehicle identification and charging via wireless charging pads |
US9180783B1 (en) | 2011-04-22 | 2015-11-10 | Penilla Angel A | Methods and systems for electric vehicle (EV) charge location color-coded charge state indicators, cloud applications and user notifications |
US9697503B1 (en) | 2011-04-22 | 2017-07-04 | Angel A. Penilla | Methods and systems for providing recommendations to vehicle users to handle alerts associated with the vehicle and a bidding market place for handling alerts/service of the vehicle |
US9230440B1 (en) | 2011-04-22 | 2016-01-05 | Angel A. Penilla | Methods and systems for locating public parking and receiving security ratings for parking locations and generating notifications to vehicle user accounts regarding alerts and cloud access to security information |
US9189900B1 (en) | 2011-04-22 | 2015-11-17 | Angel A. Penilla | Methods and systems for assigning e-keys to users to access and drive vehicles |
US10289288B2 (en) | 2011-04-22 | 2019-05-14 | Emerging Automotive, Llc | Vehicle systems for providing access to vehicle controls, functions, environment and applications to guests/passengers via mobile devices |
US9215274B2 (en) | 2011-04-22 | 2015-12-15 | Angel A. Penilla | Methods and systems for generating recommendations to make settings at vehicles via cloud systems |
US11203355B2 (en) | 2011-04-22 | 2021-12-21 | Emerging Automotive, Llc | Vehicle mode for restricted operation and cloud data monitoring |
US9963145B2 (en) | 2012-04-22 | 2018-05-08 | Emerging Automotive, Llc | Connected vehicle communication with processing alerts related to traffic lights and cloud systems |
US9285944B1 (en) | 2011-04-22 | 2016-03-15 | Angel A. Penilla | Methods and systems for defining custom vehicle user interface configurations and cloud services for managing applications for the user interface and learned setting functions |
US9104537B1 (en) | 2011-04-22 | 2015-08-11 | Angel A. Penilla | Methods and systems for generating setting recommendation to user accounts for registered vehicles via cloud systems and remotely applying settings |
US10217160B2 (en) * | 2012-04-22 | 2019-02-26 | Emerging Automotive, Llc | Methods and systems for processing charge availability and route paths for obtaining charge for electric vehicles |
US11132650B2 (en) | 2011-04-22 | 2021-09-28 | Emerging Automotive, Llc | Communication APIs for remote monitoring and control of vehicle systems |
US10824330B2 (en) | 2011-04-22 | 2020-11-03 | Emerging Automotive, Llc | Methods and systems for vehicle display data integration with mobile device data |
US11294551B2 (en) | 2011-04-22 | 2022-04-05 | Emerging Automotive, Llc | Vehicle passenger controls via mobile devices |
US9346365B1 (en) | 2011-04-22 | 2016-05-24 | Angel A. Penilla | Methods and systems for electric vehicle (EV) charging, charging unit (CU) interfaces, auxiliary batteries, and remote access and user notifications |
US10286919B2 (en) | 2011-04-22 | 2019-05-14 | Emerging Automotive, Llc | Valet mode for restricted operation of a vehicle and cloud access of a history of use made during valet mode use |
US9818088B2 (en) | 2011-04-22 | 2017-11-14 | Emerging Automotive, Llc | Vehicles and cloud systems for providing recommendations to vehicle users to handle alerts associated with the vehicle |
WO2013103383A1 (en) | 2012-01-06 | 2013-07-11 | 1/2)Ge Intelligent Platforms, Inc. | Apparatus and method for third party creation of control logic |
US9477936B2 (en) | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
US9467500B2 (en) | 2012-08-09 | 2016-10-11 | Rockwell Automation Technologies, Inc. | Remote industrial monitoring using a cloud infrastructure |
US9253054B2 (en) * | 2012-08-09 | 2016-02-02 | Rockwell Automation Technologies, Inc. | Remote industrial monitoring and analytics using a cloud infrastructure |
US9892207B2 (en) | 2013-02-01 | 2018-02-13 | Sap Se | Automatic migration for on-premise data objects to on-demand data objects |
US10649424B2 (en) | 2013-03-04 | 2020-05-12 | Fisher-Rosemount Systems, Inc. | Distributed industrial performance monitoring and analytics |
US10373404B2 (en) | 2013-04-22 | 2019-08-06 | Latitude Technologies Corporation | Aircraft flight data monitoring and reporting system and use thereof |
WO2014174340A1 (en) * | 2013-04-22 | 2014-10-30 | Chad Klippert | Aircraft flight data monitoring and reporting system and use thereof |
WO2014172877A1 (en) * | 2013-04-25 | 2014-10-30 | 西门子公司 | Industrial monitoring system |
US9438648B2 (en) * | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US10026049B2 (en) | 2013-05-09 | 2018-07-17 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US9703902B2 (en) | 2013-05-09 | 2017-07-11 | Rockwell Automation Technologies, Inc. | Using cloud-based data for industrial simulation |
US9786197B2 (en) | 2013-05-09 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system |
US9709978B2 (en) | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
US9989958B2 (en) | 2013-05-09 | 2018-06-05 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment |
US20160125068A1 (en) * | 2013-05-13 | 2016-05-05 | Fulcrum Collaborations, Llc | System and method for integrated mission critical ecosystem management |
US20150058078A1 (en) * | 2013-08-26 | 2015-02-26 | Microsoft Corporation | Rule to constraint translator for business application systems |
US20150120224A1 (en) | 2013-10-29 | 2015-04-30 | C3 Energy, Inc. | Systems and methods for processing data relating to energy usage |
US10755003B2 (en) | 2013-11-08 | 2020-08-25 | Rockwell Automation Technologies, Inc. | Time synchronization of signal transmission intervals for simulating a machine in industrial automation |
TWI504274B (en) * | 2013-11-18 | 2015-10-11 | Delta Electronics Inc | Network video monitoring system and auto-configuration method for the monitoring system |
US9791485B2 (en) | 2014-03-10 | 2017-10-17 | Silver Spring Networks, Inc. | Determining electric grid topology via a zero crossing technique |
US9838467B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Dynamically instantiating dual-queue systems |
US9836358B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Ephemeral remote data store for dual-queue systems |
US9838346B2 (en) | 2014-03-17 | 2017-12-05 | Splunk Inc. | Alerting on dual-queue systems |
US9660930B2 (en) | 2014-03-17 | 2017-05-23 | Splunk Inc. | Dynamic data server nodes |
US9753818B2 (en) * | 2014-09-19 | 2017-09-05 | Splunk Inc. | Data forwarding using multiple data pipelines |
US9825949B2 (en) * | 2014-03-26 | 2017-11-21 | Rockwell Automation Technologies, Inc. | Device authentication to facilitate secure cloud management of industrial data |
US9971317B2 (en) | 2014-03-26 | 2018-05-15 | Rockwell Automation Technologies, Inc. | Cloud-level industrial controller loop gain tuning based on industrial application type |
US10208947B2 (en) | 2014-03-26 | 2019-02-19 | Rockwell Automation Technologies, Inc. | Cloud-level analytics for boiler networks |
US9866635B2 (en) | 2014-03-26 | 2018-01-09 | Rockwell Automation Technologies, Inc. | Unified data ingestion adapter for migration of industrial data to a cloud platform |
US9886012B2 (en) | 2014-03-26 | 2018-02-06 | Rockwell Automation Technologies, Inc. | Component factory for human-machine interface migration to a cloud platform |
US9843617B2 (en) | 2014-03-26 | 2017-12-12 | Rockwell Automation Technologies, Inc. | Cloud manifest configuration management system |
US10095202B2 (en) | 2014-03-26 | 2018-10-09 | Rockwell Automation Technologies, Inc. | Multiple controllers configuration management interface for system connectivity |
US9628436B1 (en) * | 2014-04-04 | 2017-04-18 | 8X8, Inc. | User-configurable dynamic DNS mapping for virtual services |
US10331095B2 (en) | 2014-04-29 | 2019-06-25 | Cox Communications | Systems and methods for development of an automation control service |
US9958860B2 (en) * | 2014-05-01 | 2018-05-01 | Rockwell Automation Technologies, Inc. | Systems and methods for broadcasting data and data tags associated with an industrial automation system |
US20150341445A1 (en) * | 2014-05-23 | 2015-11-26 | Radoslav Nikolov | Hybrid applications operating between on-premise and cloud platforms |
CN103984617A (en) * | 2014-05-28 | 2014-08-13 | 浪潮电子信息产业股份有限公司 | Active monitoring data pushing method of server |
JP6417121B2 (en) * | 2014-06-16 | 2018-10-31 | アズビル株式会社 | Gateway device and packet capture method |
US10344567B2 (en) | 2014-06-23 | 2019-07-09 | Rockwell Automation Asia Pacific Business Center Pte. Ltd. | Systems and methods for cloud-based automatic configuration of remote terminal units |
US11120371B2 (en) | 2014-06-23 | 2021-09-14 | Sensia Netherlands B.V. | Systems and methods for cloud-based asset management and analysis regarding well devices |
US10443357B2 (en) | 2014-06-23 | 2019-10-15 | Rockwell Automation Asia Pacific Business Center Pte. Ltd. | Systems and methods for cloud-based commissioning of well devices |
US9686174B2 (en) * | 2014-07-24 | 2017-06-20 | Ca, Inc. | Scalable extendable probe for monitoring host devices |
EP2988183B1 (en) | 2014-08-14 | 2020-04-01 | Siemens Aktiengesellschaft | System for observing and/or controlling a plant |
US11695657B2 (en) | 2014-09-29 | 2023-07-04 | Cisco Technology, Inc. | Network embedded framework for distributed network analytics |
US9774681B2 (en) * | 2014-10-03 | 2017-09-26 | Fair Isaac Corporation | Cloud process for rapid data investigation and data integrity analysis |
US10447676B2 (en) | 2014-10-10 | 2019-10-15 | Adp, Llc | Securing application programming interfaces (APIS) through infrastructure virtualization |
US9646092B2 (en) | 2014-10-10 | 2017-05-09 | Adp, Llc | Centralized application programming interface monitoring tool |
US10235686B2 (en) | 2014-10-30 | 2019-03-19 | Microsoft Technology Licensing, Llc | System forecasting and improvement using mean field |
US11073805B2 (en) * | 2014-11-21 | 2021-07-27 | Fisher-Rosemount Systems, Inc. | Process plant network with secured external access |
US20160179912A1 (en) * | 2014-12-17 | 2016-06-23 | Ge Intelligent Platforms, Inc. | Method and apparatus to map analytics to edge devices |
US20160182309A1 (en) * | 2014-12-22 | 2016-06-23 | Rockwell Automation Technologies, Inc. | Cloud-based emulation and modeling for automation systems |
US10305759B2 (en) * | 2015-01-05 | 2019-05-28 | Cisco Technology, Inc. | Distributed and adaptive computer network analytics |
US11243505B2 (en) * | 2015-03-16 | 2022-02-08 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US11513477B2 (en) * | 2015-03-16 | 2022-11-29 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US11042131B2 (en) | 2015-03-16 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Backup of an industrial automation plant in the cloud |
US10496061B2 (en) | 2015-03-16 | 2019-12-03 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
US10547666B2 (en) * | 2015-03-27 | 2020-01-28 | Rockwell Automation Technologies, Inc. | Systems and methods for exchanging information between devices in an industrial automation environment |
US10078326B2 (en) | 2015-05-14 | 2018-09-18 | Honeywell International Inc. | Apparatus and method for event detection to support mobile notifications related to industrial process control and automation system |
US10466688B2 (en) * | 2015-05-14 | 2019-11-05 | Honeywell International Inc. | Apparatus and method for providing event context with notifications related to industrial process control and automation system |
US10505790B2 (en) | 2015-05-14 | 2019-12-10 | Honeywell International Inc. | Apparatus and method for automated event notification read receipt to support non-repudiated auditing or other functions in industrial process control and automation system |
US10021063B2 (en) * | 2015-05-14 | 2018-07-10 | Honeywell International Inc. | Apparatus and method for protecting proprietary information over public notification infrastructure |
US10021064B2 (en) * | 2015-05-14 | 2018-07-10 | Honeywell International Inc. | Apparatus and method for translating industrial process control and automation system events into mobile notifications |
CA3128629A1 (en) | 2015-06-05 | 2016-07-28 | C3.Ai, Inc. | Systems and methods for data processing and enterprise ai applications |
US9524631B1 (en) * | 2015-06-23 | 2016-12-20 | Motorola Mobility Llc | Method and apparatus for setting a notification readout mode based on proximity detection |
EP3329433A1 (en) * | 2015-07-29 | 2018-06-06 | Illinois Tool Works Inc. | System and method to facilitate welding software as a service |
US10454943B2 (en) * | 2015-08-17 | 2019-10-22 | The Toronto-Dominion Bank | Augmented and virtual reality based process oversight |
JP6278278B2 (en) | 2015-08-27 | 2018-02-14 | 横河電機株式会社 | Wireless relay device, wireless communication system, and wireless communication method |
WO2017035536A1 (en) * | 2015-08-27 | 2017-03-02 | FogHorn Systems, Inc. | Edge intelligence platform, and internet of things sensor streams system |
US10332090B2 (en) * | 2015-08-27 | 2019-06-25 | Acumera, Inc. | Providing secure remote access to a device at a merchant location |
US10007513B2 (en) * | 2015-08-27 | 2018-06-26 | FogHorn Systems, Inc. | Edge intelligence platform, and internet of things sensor streams system |
US10148489B2 (en) * | 2015-09-01 | 2018-12-04 | At&T Intellectual Property I, L.P. | Service impact event analyzer for cloud SDN service assurance |
US11915178B2 (en) * | 2015-09-22 | 2024-02-27 | Nmetric, Llc | Cascading notification system |
US10528021B2 (en) | 2015-10-30 | 2020-01-07 | Rockwell Automation Technologies, Inc. | Automated creation of industrial dashboards and widgets |
US10708387B2 (en) * | 2015-10-30 | 2020-07-07 | Novell, Inc. | Service usage metering techniques |
US10955810B2 (en) * | 2015-11-13 | 2021-03-23 | International Business Machines Corporation | Monitoring communications flow in an industrial system to detect and mitigate hazardous conditions |
WO2017127042A1 (en) * | 2015-12-08 | 2017-07-27 | Sight Machine, Inc. | System and method for monitoring manufacturing |
US10958531B2 (en) | 2015-12-16 | 2021-03-23 | International Business Machines Corporation | On-demand remote predictive monitoring for industrial equipment analysis and cost forecast |
US10313281B2 (en) | 2016-01-04 | 2019-06-04 | Rockwell Automation Technologies, Inc. | Delivery of automated notifications by an industrial asset |
EP3208674A1 (en) * | 2016-02-19 | 2017-08-23 | Siemens Aktiengesellschaft | Network system and method of data transmission in a network system |
US10574739B2 (en) | 2016-02-26 | 2020-02-25 | Honeywell International Inc. | System and method for smart event paging |
US10382312B2 (en) | 2016-03-02 | 2019-08-13 | Fisher-Rosemount Systems, Inc. | Detecting and locating process control communication line faults from a handheld maintenance tool |
EP3433769A4 (en) | 2016-03-23 | 2019-12-18 | Foghorn Systems, Inc. | Composition of pattern-driven reactions in real-time dataflow programming |
US20170278173A1 (en) * | 2016-03-25 | 2017-09-28 | International Business Machines Corporation | Personalized bundle recommendation system and method |
US10412192B2 (en) * | 2016-05-10 | 2019-09-10 | International Business Machines Corporation | Jointly managing a cloud and non-cloud environment |
US20170343996A1 (en) * | 2016-05-24 | 2017-11-30 | Rockwell Automation Technologies, Inc. | Industrial automation asset modeling and synchronization |
US20170351226A1 (en) * | 2016-06-01 | 2017-12-07 | Rockwell Automation Technologies, Inc. | Industrial machine diagnosis and maintenance using a cloud platform |
US10509396B2 (en) * | 2016-06-09 | 2019-12-17 | Rockwell Automation Technologies, Inc. | Scalable analytics architecture for automation control systems |
US10613521B2 (en) * | 2016-06-09 | 2020-04-07 | Rockwell Automation Technologies, Inc. | Scalable analytics architecture for automation control systems |
WO2018004523A1 (en) * | 2016-06-28 | 2018-01-04 | Siemens Aktiengesellschaft | Plc virtual patching and automated distribution of security context |
US11810038B2 (en) * | 2016-07-06 | 2023-11-07 | International Business Machines Corporation | Risk optimization through reinforcement learning |
US10885463B2 (en) | 2016-07-08 | 2021-01-05 | Microsoft Technology Licensing, Llc | Metadata-driven machine learning for systems |
US10554644B2 (en) | 2016-07-20 | 2020-02-04 | Fisher-Rosemount Systems, Inc. | Two-factor authentication for user interface devices in a process plant |
US11605037B2 (en) | 2016-07-20 | 2023-03-14 | Fisher-Rosemount Systems, Inc. | Fleet management system for portable maintenance tools |
US10585422B2 (en) | 2016-07-22 | 2020-03-10 | Fisher-Rosemount Systems, Inc. | Portable field maintenance tool system having interchangeable functional modules |
US10270853B2 (en) | 2016-07-22 | 2019-04-23 | Fisher-Rosemount Systems, Inc. | Process control communication between a portable field maintenance tool and an asset management system |
US10599134B2 (en) | 2016-07-22 | 2020-03-24 | Fisher-Rosemount Systems, Inc. | Portable field maintenance tool configured for multiple process control communication protocols |
US10375162B2 (en) | 2016-07-22 | 2019-08-06 | Fisher-Rosemount Systems, Inc. | Process control communication architecture |
US10374873B2 (en) | 2016-07-22 | 2019-08-06 | Fisher-Rosemount Systems, Inc. | Process control communication between a portable field maintenance tool and a process control instrument |
WO2018017973A1 (en) * | 2016-07-22 | 2018-01-25 | Sri International | Computational analysis of observations for determination of feedback |
US10505585B2 (en) | 2016-07-25 | 2019-12-10 | Fisher-Rosemount Systems, Inc. | Portable field maintenance tool with a bus for powering and communicating with a field device |
US10764083B2 (en) | 2016-07-25 | 2020-09-01 | Fisher-Rosemount Systems, Inc. | Portable field maintenance tool with resistor network for intrinsically safe operation |
US10481627B2 (en) | 2016-07-25 | 2019-11-19 | Fisher-Rosemount Systems, Inc. | Connection check in field maintenance tool |
US10318570B2 (en) | 2016-08-18 | 2019-06-11 | Rockwell Automation Technologies, Inc. | Multimodal search input for an industrial search platform |
US10402227B1 (en) * | 2016-08-31 | 2019-09-03 | Amazon Technologies, Inc. | Task-level optimization with compute environments |
US11315062B2 (en) * | 2016-09-16 | 2022-04-26 | General Electric Company | System and method for autonomous service operation validation |
US20180081341A1 (en) * | 2016-09-22 | 2018-03-22 | General Electric Company | Parallel processing for monitoring and control of plant equipment |
US10545492B2 (en) | 2016-09-26 | 2020-01-28 | Rockwell Automation Technologies, Inc. | Selective online and offline access to searchable industrial automation data |
US10319128B2 (en) | 2016-09-26 | 2019-06-11 | Rockwell Automation Technologies, Inc. | Augmented reality presentation of an industrial environment |
US10401839B2 (en) | 2016-09-26 | 2019-09-03 | Rockwell Automation Technologies, Inc. | Workflow tracking and identification using an industrial monitoring system |
US10768076B1 (en) | 2016-09-30 | 2020-09-08 | Sight Machine, Inc. | System and method for monitoring manufacturing |
GB2555720B (en) * | 2016-10-17 | 2023-04-12 | Fisher Rosemount Systems Inc | Systems and apparatus for distribution of process control data to remote devices |
US10530748B2 (en) | 2016-10-24 | 2020-01-07 | Fisher-Rosemount Systems, Inc. | Publishing data across a data diode for secured process control communications |
US10619760B2 (en) | 2016-10-24 | 2020-04-14 | Fisher Controls International Llc | Time-series analytics for control valve health assessment |
US10257163B2 (en) | 2016-10-24 | 2019-04-09 | Fisher-Rosemount Systems, Inc. | Secured process control communications |
WO2018076930A1 (en) * | 2016-10-24 | 2018-05-03 | 北京亚控科技发展有限公司 | Method for retrieving data object based on spatial-temporal database |
US9934671B1 (en) | 2016-10-24 | 2018-04-03 | Fisher Controls International Llc | Valve service detection through data analysis |
US10877465B2 (en) | 2016-10-24 | 2020-12-29 | Fisher-Rosemount Systems, Inc. | Process device condition and performance monitoring |
US10270745B2 (en) | 2016-10-24 | 2019-04-23 | Fisher-Rosemount Systems, Inc. | Securely transporting data across a data diode for secured process control communications |
US10735691B2 (en) | 2016-11-08 | 2020-08-04 | Rockwell Automation Technologies, Inc. | Virtual reality and augmented reality for industrial automation |
US10388075B2 (en) | 2016-11-08 | 2019-08-20 | Rockwell Automation Technologies, Inc. | Virtual reality and augmented reality for industrial automation |
US10866631B2 (en) | 2016-11-09 | 2020-12-15 | Rockwell Automation Technologies, Inc. | Methods, systems, apparatuses, and techniques for employing augmented reality and virtual reality |
US10380280B2 (en) * | 2016-11-17 | 2019-08-13 | Baker Hughes, A Ge Company, Llc | Optimal storage of load data for lifetime prediction for equipment used in a well operation |
US10372958B2 (en) | 2016-12-06 | 2019-08-06 | Datalogic Ip Tech S.R.L. | In-field data acquisition and formatting |
US10594555B2 (en) | 2016-12-16 | 2020-03-17 | Intelligent Platforms, Llc | Cloud-enabled testing of control systems |
US10466686B2 (en) | 2017-02-17 | 2019-11-05 | Honeywell International Inc. | System and method for automatic configuration of a data collection system and schedule for control system monitoring |
EP3392725B1 (en) * | 2017-04-21 | 2022-10-19 | Siemens Aktiengesellschaft | Suggestion and or creation of agents in an industrial automation system |
EP3460597A1 (en) | 2017-09-21 | 2019-03-27 | Siemens Aktiengesellschaft | Creation of a configuration for establishing a configuration-specific web-based application and generation of such a configuration-specific web-based application |
WO2019058547A1 (en) | 2017-09-25 | 2019-03-28 | 三菱電機株式会社 | Information processing system and information processing method |
US11662719B2 (en) * | 2017-09-29 | 2023-05-30 | Rockwell Automation Technologies, Inc. | Classification modeling for monitoring, diagnostics optimization and control |
US10460748B2 (en) | 2017-10-04 | 2019-10-29 | The Toronto-Dominion Bank | Conversational interface determining lexical personality score for response generation with synonym replacement |
US10339931B2 (en) | 2017-10-04 | 2019-07-02 | The Toronto-Dominion Bank | Persona-based conversational interface personalization using social network preferences |
US10445944B2 (en) | 2017-11-13 | 2019-10-15 | Rockwell Automation Technologies, Inc. | Augmented reality safety automation zone system and method |
US11150622B2 (en) * | 2017-11-16 | 2021-10-19 | Bentley Systems, Incorporated | Quality control isometric for inspection of field welds and flange bolt-up connections |
US10721142B1 (en) * | 2018-03-08 | 2020-07-21 | Palantir Technologies Inc. | Computer network troubleshooting |
DE112019002030T5 (en) | 2018-04-18 | 2021-04-29 | Fisher-Rosemount Systems, Inc. Emerson Process Management | Quality review management system with configurable exception rules |
US11709480B2 (en) | 2018-05-14 | 2023-07-25 | Honeywell International Inc. | System and method for automatic data classification for use with data collection system and process control system |
EP3582521A1 (en) * | 2018-06-14 | 2019-12-18 | Siemens Aktiengesellschaft | Device and method for setting up and/or providing a working environment, in particular used in a machine economy environment |
US10906178B2 (en) * | 2018-07-16 | 2021-02-02 | Kindred Systems Inc. | Systems, devices, and methods for distributed graphical models in robotics |
CN112955831A (en) * | 2018-09-10 | 2021-06-11 | 阿韦瓦软件有限责任公司 | Server system and method using edge module |
US11049055B2 (en) | 2018-09-13 | 2021-06-29 | Blentech Corporation | Digital historian and dashboard for commercial cookers |
EP3629172A1 (en) * | 2018-09-26 | 2020-04-01 | Siemens Aktiengesellschaft | Method and assembly for access between an application of an industrial operating and observation device and at least one service |
CN110969222A (en) * | 2018-09-29 | 2020-04-07 | 西门子股份公司 | Information providing method and system |
US10904115B2 (en) * | 2018-11-16 | 2021-01-26 | Cisco Technology, Inc. | Anonymous integration of cloud based applications and on-premise network analytics |
EP3660611A1 (en) * | 2018-11-29 | 2020-06-03 | Siemens Aktiengesellschaft | Method, apparatus and system for managing alarms |
US11616839B2 (en) | 2019-04-09 | 2023-03-28 | Johnson Controls Tyco IP Holdings LLP | Intelligent edge computing platform with machine learning capability |
EP3723345A1 (en) * | 2019-04-10 | 2020-10-14 | ABB Schweiz AG | Aggregating server and method for forwarding node data |
US10642719B1 (en) | 2019-06-27 | 2020-05-05 | Capital One Services, Llc | Intelligent services for application dependency discovery, reporting, and management tool |
US11354222B2 (en) | 2019-06-27 | 2022-06-07 | Capital One Services, Llc | Discovery crawler for application dependency discovery, reporting, and management tool |
US10747544B1 (en) | 2019-06-27 | 2020-08-18 | Capital One Services, Llc | Dependency analyzer in application dependency discovery, reporting, and management tool |
US11379292B2 (en) | 2019-06-27 | 2022-07-05 | Capital One Services, Llc | Baseline modeling for application dependency discovery, reporting, and management tool |
US10521235B1 (en) | 2019-06-27 | 2019-12-31 | Capital One Services, Llc | Determining problem dependencies in application dependency discovery, reporting, and management tool |
US10915428B2 (en) | 2019-06-27 | 2021-02-09 | Capital One Services, Llc | Intelligent services and training agent for application dependency discovery, reporting, and management tool |
US11093378B2 (en) | 2019-06-27 | 2021-08-17 | Capital One Services, Llc | Testing agent for application dependency discovery, reporting, and management tool |
EP3761188A1 (en) * | 2019-07-02 | 2021-01-06 | Siemens Aktiengesellschaft | Method and assembly for providing data of an industrial automation system to an external arrangement |
US11400537B2 (en) | 2019-09-12 | 2022-08-02 | Illinois Tool Works Inc. | System and methods for labeling weld monitoring time periods using machine learning techniques |
US10715524B1 (en) * | 2019-11-14 | 2020-07-14 | Snowflake Inc. | External credential-less stages for data warehouse integrations |
JP2023505594A (en) * | 2019-12-13 | 2023-02-09 | ビーエーエスエフ ソシエタス・ヨーロピア | Method for monitoring and/or controlling one or more chemical plants |
EP4073606A1 (en) * | 2019-12-13 | 2022-10-19 | Basf Se | Manufacturing system for monitoring and/or controlling one or more chemical plant(s) |
WO2021116122A1 (en) * | 2019-12-13 | 2021-06-17 | Basf Se | Manufacturing system for monitoring and/or controlling one or more chemical plant(s) |
CN111984692B (en) * | 2020-02-28 | 2022-12-02 | 合肥力拓云计算科技有限公司 | Chemical data analysis system based on industrial big data |
US11573546B2 (en) | 2020-05-29 | 2023-02-07 | Honeywell International Inc. | Remote discovery of building management system metadata |
US11487274B2 (en) | 2020-05-29 | 2022-11-01 | Honeywell International Inc. | Cloud-based building management system |
US20220044494A1 (en) * | 2020-08-06 | 2022-02-10 | Transportation Ip Holdings, Llc | Data extraction for machine learning systems and methods |
US11449028B2 (en) * | 2020-09-03 | 2022-09-20 | Rockwell Automation Technologies, Inc. | Industrial automation asset and control project analysis |
US20240129252A1 (en) | 2021-03-17 | 2024-04-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Technique for Message Handling in an Industrial Control Procedure |
US20230024419A1 (en) * | 2021-07-23 | 2023-01-26 | GM Global Technology Operations LLC | System and method for dynamically configurable remote data collection from a vehicle |
CN113612970A (en) * | 2021-07-30 | 2021-11-05 | 国电汉川发电有限公司 | Safety event intelligent analysis management and control platform for industrial monitoring video |
CN113671887B (en) * | 2021-08-30 | 2022-08-19 | 济南诚博信息科技有限公司 | Multi-piece equipment state monitoring system based on point inspection customized repair reference |
US11902081B1 (en) * | 2022-01-31 | 2024-02-13 | Splunk Inc. | Managing collection agents via an agent controller |
US20230393555A1 (en) * | 2022-06-02 | 2023-12-07 | Rockwell Automation Technologies, Inc. | Industrial automation edge as a service |
CN114979268B (en) * | 2022-07-29 | 2022-10-28 | 广州市华达石化有限公司 | Data transmission method, device, server and system for industrial gas enterprise |
CN115567557B (en) * | 2022-09-20 | 2024-04-16 | 中国联合网络通信集团有限公司 | Multi-target reporting method, device and system for industrial data |
CN115293460B (en) * | 2022-09-28 | 2023-02-03 | 上海交大智邦科技有限公司 | Equipment management task queue optimization method and system |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100257228A1 (en) * | 2009-04-01 | 2010-10-07 | Honeywell International Inc. | Cloud computing for an industrial automation and manufacturing system |
US20100256794A1 (en) * | 2009-04-01 | 2010-10-07 | Honeywell International Inc. | Cloud computing for a manufacturing execution system |
US20110082596A1 (en) * | 2009-10-01 | 2011-04-07 | Edsa Micro Corporation | Real time microgrid power analytics portal for mission critical power systems |
US8204717B2 (en) * | 2009-04-01 | 2012-06-19 | Honeywell International Inc. | Cloud computing as a basis for equipment health monitoring service |
US20130077775A1 (en) * | 2011-09-22 | 2013-03-28 | At&T Intellectual Property I, L.P. | Implementing a network of intelligent virtual service agents to provide personalized automated responses |
US20130339104A1 (en) * | 2012-06-15 | 2013-12-19 | Sam G. Bose | Technical platform |
US20150207720A1 (en) * | 2012-07-13 | 2015-07-23 | Adaptive Spectrum And Signal Alignment, Inc. | Method and system for using a downloadable agent for a communication system, device, or link |
US9253054B2 (en) * | 2012-08-09 | 2016-02-02 | Rockwell Automation Technologies, Inc. | Remote industrial monitoring and analytics using a cloud infrastructure |
US20160182309A1 (en) * | 2014-12-22 | 2016-06-23 | Rockwell Automation Technologies, Inc. | Cloud-based emulation and modeling for automation systems |
US9438648B2 (en) * | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US20160274558A1 (en) * | 2015-03-16 | 2016-09-22 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US20160274552A1 (en) * | 2015-03-16 | 2016-09-22 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US20160274553A1 (en) * | 2015-03-16 | 2016-09-22 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
US20160351043A1 (en) * | 2005-12-08 | 2016-12-01 | Google Inc. | System and method for interactive security |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633575B1 (en) | 1999-04-07 | 2003-10-14 | Nokia Corporation | Method and apparatus for avoiding packet reordering in multiple-class, multiple-priority networks using a queue |
US20030212818A1 (en) | 2002-05-08 | 2003-11-13 | Johannes Klein | Content based message dispatch |
US7151966B1 (en) | 2002-06-04 | 2006-12-19 | Rockwell Automation Technologies, Inc. | System and methodology providing open interface and distributed processing in an industrial controller environment |
US7512906B1 (en) | 2002-06-04 | 2009-03-31 | Rockwell Automation Technologies, Inc. | System and methodology providing adaptive interface in an industrial controller environment |
US9565275B2 (en) * | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
WO2009046095A1 (en) * | 2007-10-01 | 2009-04-09 | Iconics, Inc. | Visualization of process control data |
US9135133B2 (en) * | 2009-09-28 | 2015-09-15 | Softlayer Technologies, Inc. | Metric object tracking system |
US20110319056A1 (en) | 2010-06-29 | 2011-12-29 | Enterproid Hk Ltd | Remote access to a mobile device |
US9338238B2 (en) | 2010-12-03 | 2016-05-10 | Siemens Industry, Inc. | Operation scheduler for a building automation system |
US9861027B2 (en) * | 2010-12-08 | 2018-01-09 | Bayer Cropscience, Lp | Seed treatment systems and methods |
WO2012083303A2 (en) * | 2010-12-17 | 2012-06-21 | Jeffrey Trumble | Automated fault analysis and response system |
JP5754704B2 (en) | 2011-04-19 | 2015-07-29 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | System that controls communication between multiple industrial control systems |
US9350824B2 (en) | 2011-10-08 | 2016-05-24 | Broadcom Corporation | Social device service and support via automatic group association |
US20130225151A1 (en) | 2011-12-23 | 2013-08-29 | Microsoft Corporation | Mobile device parental control |
US20130174040A1 (en) * | 2011-12-30 | 2013-07-04 | Jerome Dale Johnson | Methods, apparatus and systems for generating, updating and executing a crop-planting plan |
US9183230B2 (en) * | 2012-01-11 | 2015-11-10 | International Business Machines Corporation | Content analytics system configured to support multiple tenants |
US9477936B2 (en) * | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
-
2013
- 2013-04-16 US US13/864,011 patent/US9253054B2/en active Active
-
2015
- 2015-12-22 US US14/978,226 patent/US20160112283A1/en not_active Abandoned
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160351043A1 (en) * | 2005-12-08 | 2016-12-01 | Google Inc. | System and method for interactive security |
US20100256794A1 (en) * | 2009-04-01 | 2010-10-07 | Honeywell International Inc. | Cloud computing for a manufacturing execution system |
US8204717B2 (en) * | 2009-04-01 | 2012-06-19 | Honeywell International Inc. | Cloud computing as a basis for equipment health monitoring service |
US20100257228A1 (en) * | 2009-04-01 | 2010-10-07 | Honeywell International Inc. | Cloud computing for an industrial automation and manufacturing system |
US20110082596A1 (en) * | 2009-10-01 | 2011-04-07 | Edsa Micro Corporation | Real time microgrid power analytics portal for mission critical power systems |
US20130077775A1 (en) * | 2011-09-22 | 2013-03-28 | At&T Intellectual Property I, L.P. | Implementing a network of intelligent virtual service agents to provide personalized automated responses |
US20130339104A1 (en) * | 2012-06-15 | 2013-12-19 | Sam G. Bose | Technical platform |
US20150207720A1 (en) * | 2012-07-13 | 2015-07-23 | Adaptive Spectrum And Signal Alignment, Inc. | Method and system for using a downloadable agent for a communication system, device, or link |
US9253054B2 (en) * | 2012-08-09 | 2016-02-02 | Rockwell Automation Technologies, Inc. | Remote industrial monitoring and analytics using a cloud infrastructure |
US9438648B2 (en) * | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US20160182309A1 (en) * | 2014-12-22 | 2016-06-23 | Rockwell Automation Technologies, Inc. | Cloud-based emulation and modeling for automation systems |
US20160179993A1 (en) * | 2014-12-22 | 2016-06-23 | Rockwell Automation Technologies, Inc. | Predictive analysis having data source integration for industrial automation |
US20160274558A1 (en) * | 2015-03-16 | 2016-09-22 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US20160274552A1 (en) * | 2015-03-16 | 2016-09-22 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US20160274553A1 (en) * | 2015-03-16 | 2016-09-22 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10510027B2 (en) | 2014-03-26 | 2019-12-17 | Rockwell Automation Technologies, Inc. | Cloud-based global alarm annunciation system for industrial systems |
US10334048B2 (en) | 2014-03-26 | 2019-06-25 | Rockwell Automation Technologies, Inc. | On-premise data collection and ingestion using industrial cloud agents |
US10303128B2 (en) * | 2015-07-30 | 2019-05-28 | Siemens Aktiengesellschaft | System and method for control and/or analytics of an industrial process |
CN107436582A (en) * | 2016-05-25 | 2017-12-05 | 西门子公司 | To system, controller and the method for the data closed-loop control of the application based on cloud |
US10764255B2 (en) | 2016-09-21 | 2020-09-01 | Rockwell Automation Technologies, Inc. | Secure command execution from a cloud monitoring system to a remote cloud agent |
US20180174248A1 (en) * | 2016-12-16 | 2018-06-21 | General Electric Company | Apparatus and Method for Deploying Analytics |
US10489867B2 (en) * | 2016-12-16 | 2019-11-26 | General Electric Company | Apparatus and method for deploying analytics |
US10812605B2 (en) | 2017-02-10 | 2020-10-20 | General Electric Company | Message queue-based systems and methods for establishing data communications with industrial machines in multiple locations |
US11227080B2 (en) | 2017-04-17 | 2022-01-18 | Rockwell Automation Technologies, Inc. | Industrial automation information contextualization method and system |
US11601494B2 (en) * | 2017-04-26 | 2023-03-07 | Siemens Aktiengesellschaft | Method for transferring data from a device to a data management means, switching unit, device and system |
US20180324063A1 (en) * | 2017-05-02 | 2018-11-08 | Finderscopus, Inc. | Cloud-based system for device monitoring and control |
US11340591B2 (en) | 2017-06-08 | 2022-05-24 | Rockwell Automation Technologies, Inc. | Predictive maintenance and process supervision using a scalable industrial analytics platform |
US11169507B2 (en) | 2017-06-08 | 2021-11-09 | Rockwell Automation Technologies, Inc. | Scalable industrial analytics platform |
CN107341241A (en) * | 2017-07-05 | 2017-11-10 | 深圳市樊溪电子有限公司 | A kind of wind-powered electricity generation big data analysis system based on cloud computing |
US11327473B2 (en) | 2017-07-11 | 2022-05-10 | Rockwell Automation Technologies, Inc. | Dynamically reconfigurable data collection agent for fracking pump asset |
US10740293B2 (en) | 2017-08-14 | 2020-08-11 | Rockwell Automation Technologies, Inc. | Modular control manifest generator for cloud automation |
US10482063B2 (en) | 2017-08-14 | 2019-11-19 | Rockwell Automation Technologies, Inc. | Modular control manifest generator for cloud automation |
US11500363B2 (en) | 2017-08-31 | 2022-11-15 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
US10866582B2 (en) | 2017-08-31 | 2020-12-15 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
US10416660B2 (en) * | 2017-08-31 | 2019-09-17 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
US20190064787A1 (en) * | 2017-08-31 | 2019-02-28 | Rockwell Automation Technologies, Inc. | Discrete manufacturing hybrid cloud solution architecture |
WO2019134733A1 (en) * | 2018-01-02 | 2019-07-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Robot control monitoring and optimization in mobile networks |
US11140051B2 (en) | 2018-01-02 | 2021-10-05 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for monitoring and optimization of remote robot control using mobile networks |
US11144042B2 (en) | 2018-07-09 | 2021-10-12 | Rockwell Automation Technologies, Inc. | Industrial automation information contextualization method and system |
US11900277B2 (en) | 2019-02-14 | 2024-02-13 | Rockwell Automation Technologies, Inc. | AI extensions and intelligent model validation for an industrial digital twin |
US11403541B2 (en) | 2019-02-14 | 2022-08-02 | Rockwell Automation Technologies, Inc. | AI extensions and intelligent model validation for an industrial digital twin |
US20210341905A1 (en) * | 2019-04-15 | 2021-11-04 | Rockwell Automation Technologies, Inc. | Smart gateway platform for industrial internet of things |
US11086298B2 (en) * | 2019-04-15 | 2021-08-10 | Rockwell Automation Technologies, Inc. | Smart gateway platform for industrial internet of things |
US11774946B2 (en) * | 2019-04-15 | 2023-10-03 | Rockwell Automation Technologies, Inc. | Smart gateway platform for industrial internet of things |
AU2020203326A1 (en) * | 2019-06-14 | 2021-01-07 | Honeywell International Inc. | System for operator messages with contextual data and navigation |
US11347207B2 (en) | 2019-06-14 | 2022-05-31 | Honeywell International Inc. | System for operator messages with contextual data and navigation |
AU2020203326B2 (en) * | 2019-06-14 | 2021-10-28 | Honeywell International Inc. | System for operator messages with contextual data and navigation |
US11435726B2 (en) | 2019-09-30 | 2022-09-06 | Rockwell Automation Technologies, Inc. | Contextualization of industrial data at the device level |
US11709481B2 (en) | 2019-09-30 | 2023-07-25 | Rockwell Automation Technologies, Inc. | Contextualization of industrial data at the device level |
US11841699B2 (en) | 2019-09-30 | 2023-12-12 | Rockwell Automation Technologies, Inc. | Artificial intelligence channel for industrial automation |
US11733683B2 (en) | 2020-01-06 | 2023-08-22 | Rockwell Automation Technologies, Inc. | Industrial data services platform |
US11249462B2 (en) | 2020-01-06 | 2022-02-15 | Rockwell Automation Technologies, Inc. | Industrial data services platform |
US11726459B2 (en) | 2020-06-18 | 2023-08-15 | Rockwell Automation Technologies, Inc. | Industrial automation control program generation from computer-aided design |
US20230186326A1 (en) * | 2021-12-14 | 2023-06-15 | Hewlett Packard Enterprise Development Lp | Aiops as a cloud-based service |
WO2023198280A1 (en) * | 2022-04-12 | 2023-10-19 | Software Defined Automation Gmbh | Cloud computing system, method and computer program |
Also Published As
Publication number | Publication date |
---|---|
US9253054B2 (en) | 2016-02-02 |
US20140047107A1 (en) | 2014-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9253054B2 (en) | Remote industrial monitoring and analytics using a cloud infrastructure | |
US9800667B2 (en) | Remote industrial monitoring using a cloud infrastructure | |
US10726428B2 (en) | Industrial data analytics in a cloud platform | |
US10135705B2 (en) | Industrial internet of things data pipeline for a data lake | |
US10250438B2 (en) | Cloud based drive monitoring solution | |
US10764255B2 (en) | Secure command execution from a cloud monitoring system to a remote cloud agent | |
CN107491045B (en) | Extensible analysis architecture for automation control systems | |
US10482063B2 (en) | Modular control manifest generator for cloud automation | |
EP3037901B1 (en) | Cloud-based emulation and modeling for automation systems | |
US9843617B2 (en) | Cloud manifest configuration management system | |
CN107491044B (en) | Extensible analysis architecture for automation control systems | |
US9866635B2 (en) | Unified data ingestion adapter for migration of industrial data to a cloud platform | |
CN107272608B (en) | Industrial device and system attestation in a cloud platform | |
EP2801938A1 (en) | Predictive maintenance for industrial products using big data | |
US20150276208A1 (en) | Cloud-level analytics for boiler networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ROCKWELL AUTOMATION TECHNOLOGIES, INC., OHIO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MATURANA, FRANCISCO;ASENJO, JUAN L.;SIGNING DATES FROM 20130418 TO 20130427;REEL/FRAME:037350/0072 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |