TECHNICAL FIELD
[0001] The subject invention relates generally to industrial network systems that employ
network traffic analyzers, and more particularly to subscribing events and corresponding
logs, to display desired items based on predetermined classifications, and hence facilitate
process optimization.
BACKGROUND
[0002] Advances in computer network technologies continue to make sharing of information
between systems increasingly efficient and affordable. Such advances have resulted
in an increasing exploitation of networked systems, wherein new transmission infrastructures
have emerged including wireless networks. As the quantity, speed, and complexity of
networked systems have increased, corresponding network problems emerge. Typically,
introduction of a dedicated, stand-alone, diagnostic device to the network commonly
known as a network traffic analyzer can facilitate resolving network problems.
[0003] In general, a network traffic analyzer obtains key information about network traffic
parameters and is capable of capturing and recording such data to provide a permanent
record of communications on the network bus. Network traffic analyzers are capable
of being controlled to begin and/or end recording based on the presence of certain
conditions. Traditionally, a network traffic analyzer is a separate, dedicated piece
of support equipment. Network traffic analyzers are generally PC based or are a specialized
instrument and require specific network interface hardware and software modules to
adapt to a particular network standard or configuration. Often the network should
be analyzed and the diagnostic information collected while the network is being utilized
by users in a live environment. Trouble-shooting network problems requires configuring
a network traffic analyzer with an appropriate network interface module and associated
software.
[0004] Moreover, in the industrial environment manufacturers typically require collection,
analysis, and optimization of real time data from a plurality of sites that are located
globally. One common solution for recording such data includes providing a local recording
module(s) that often occupies a slot(s) in a control system's backplane, or which
resides in another network. For example, a device(s) that acts as a historian(s) can
communicate with controllers directly through the backplane, or can communicate remotely
via a network interface. In addition, such historian can enable archiving data from the
controller to an Archive Engine which provides additional storage capabilities.
[0005] In distributed control systems controller hardware configuration can be facilitated
by separating the industrial controller into a number of control elements, each of
which can perform a different function. Particular control modules needed for the
control task can be connected together on a common backplane within a rack and/or
through a network or other communications medium. Various control modules can also
be spatially distributed along a common communication link in several locations. Such
modular construction can further accommodate different applications that require various
numbers and types of input/output (I/O) circuits, as can be determined by the particular
device or process being controlled. Such stored control program runs in real-time
to provide outputs to the controlled process (
e.g., electrical signals to outputs such as actuators and the like.)
[0006] Data can be communicated with these remote modules over a common communication link,
or network, wherein any or all modules on the network communicate
via a common and/or an industrial communications protocol. Controllers within a control
system can communicate with each other, with controllers residing in other control
systems or with systems or applications outside of a control environment (
e.g., business related systems and applications). Accordingly, management processes;
such as diagnostic/prognostic measures for failure control, are becoming increasingly
complex.
[0007] Moreover, in such environments, analysis and collaboration typically require interaction
of two information streams, namely "internal" data (which is collected from an industrial
unit(s), such as
via historians, log collectors, and the like), and "external" data (which is associated
with data traffic for network services.) In conventional systems, such two information
streams are collected independently and analyzed separately -
e.g., a first set of devices/analyzers collect internal data from the modules/units,
and a second set of devices/analyzers gather data on network traffic. In general,
available relation ships (
e.g., timing relationships, sequence counting, and the like) between such two data streams
are not readily apparent and are often deduced manually, hence adding to system inefficiencies.
SUMMARY
[0008] 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.
[0009] The subject innovation provides for systems and methods of recording information
associated with proprietary processes in sufficient detail,
via employing a subscription and notification component that supplies subscribers direct
access to the data and enables tracking of such processes for an optimization thereof
by third parties. Moreover, a visualization component can display the information
in a variety of formats (
e.g., phase displays for process operation, machine states/stages of operation, time
sequences), and present such data per a level of granularity/detail as requested by
the third party. In addition, various events (
e.g., diagnostic events, alarm events, audit events) can be defined for the industrial
process, wherein each event can subscribe to a corresponding log (
e.g., a diagnostic log, alarm log, and the like), and vice versa - to display desired
items based on predetermined classifications, and hence facilitate process optimization.
Accordingly, the systems can be readily scaled, while at the same time correlation
and/or causal relationship determination between seemingly random events are established
- (relationships deduced from "internal" data and "external" data that are synchronized
together, for example).
[0010] Such subscription and notification component enables inputs and outputs, to be recorded
in an I/O table in processor memory. Such input values can be asynchronously read
from one or more input modules and output values written to the I/O table for subsequent
communication to users by specialized communications circuitry (
e.g., back plane interface, communications module.) In a related aspect, users can consume
such data directly, typically without a controller involved in the process, wherein
data internal to the I/O can be historized and be directly available to the users.
[0011] The various data or data sets for such an industrial system can include data from
the "internal" data stream(s) (
e.g., history data collected from an industrial unit, automation or process data, and
the like), and "external" data stream(s) (
e.g., traffic data on one or more networks, or communication data, and the like), wherein
data can be collected based in part on the criticality/importance criteria assigned
to each collection stage. For example, a higher sample rate can be employed when collecting
data from the network during an operation stage that is deemed more critical (
e.g., dynamic attribution of predetermined importance factors) than other stages of the
operation.
[0012] In a related aspect, a coordination component can collect and analyze both the "internal"
data stream(s) and the "external" data stream(s) simultaneously. It is to be appreciated
that each of such data streams can further include a plurality of data streams that
are associated with the industrial automation system. The coordination component can
synchronize and maintain timing and sequence relationships between events and network
traffic, hence readily evaluating/determining a correlation or causal relationship
between seemingly random events within the plurality of streams, for example. Similarly,
such coordination component can synchronize and maintain timing and sequence relationships
between events in a plurality or mix of internal and external data streams, hence
readily evaluating/determining a correlation or causal relationship between seemingly
random events within a plurality of data streams, some of which have impact on the
events and others which do not. The coordination component can further initially weave
data records together (
e.g., based on sequence relationships, time stamps), and subsequently presents such interrelated
data to a user based on predetermined levels of data granularity (
e.g., nano-second interval, milli-second interval. In a related aspect, a matching component
can subscribe modules/industrial zones with predetermined triggering events within
such synchronized industrial setting. Data can subsequently be displayed to users
based on defined zones and/or event triggers.
[0013] According to a further aspect, the automated industrial system of the subject innovation
can include a recognition component that analyzes both the "internal" data stream(s)
and the "external" data stream(s), to identify patterns in data trends that affect
industrial processes. Such pattern identification can be based on: predetermined scenarios
(
e.g. comparison of operation status for the industrial plant with quality of previous
batch out comes), and/or interpreting control programs that are routinely updated.
The recognition component can further employ explicit correlations (
e.g., predetermined models that are set by a user/external data sources), and/or implicit
correlations that are dynamically deduced among events/possible causation links.
[0014] In addition, a centralized, or distributed, data collection system that exploits
synchronization capabilities between history data (
e.g., internal logs of units) and network traffic analyzer data, can form a unified repository
of data (
e.g., a single log file in compressed format, binary data in flat file, various forms
of databases, and the like). Accordingly, history data can be persisted for future
prognostic diagnostic trouble shooting events, wherein data resources are not burdened
at a display level (
e.g., unscrambling data at required granularity levels), and not at the collection stage.
Such centralized data collection system associated with the dual information streams
can selectively decay stored data (
e.g., a gradual purge) based on data importance, likelihood of use, and the like. Accordingly,
interfacing with the network can be facilitated, wherein various configurations of
a network interface for ControlNet, DeviceNet, Ethernet, Wireless networking, and
the like can be employed
[0015] Furthermore, the subscriber information (as well as event information if desired)
can be abstracted to high-level classes (
e.g., data fields), which can provide for modeling notification related information when
querying and requesting information from data collectors (
e.g., historians) of the internal data stream(s) and external data streams(s). Subscription
applications can thus be developed at high levels, wherein complex subscription queries
and subscriber information can be defined as data fields, for example. Historians
associated with such data fields can be propagated with subscription/subscriber specific
information. By modeling the notification related information (
e.g., subscription queries, subscriber information, event information...) as data and
leveraging the power of database systems to perform set-oriented manipulations on
this data efficiently, the subject innovation enables for a highly scalable and efficient
subscription and notification system.
[0016] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Fig. 1 illustrates a schematic block diagram of a subscription and notification component
for an industrial system in accordance with an aspect of the subject innovation.
[0018] Fig. 2 illustrates a block diagram of a coordination component that facilitates data
collection and management processes for the industrial system of the subject innovation.
[0019] Fig. 3 illustrates a network interface with an embedded network traffic analyzer
that can interact with the subscription and notification component of the subject
innovation.
[0020] Fig. 4 illustrates a matching component as part of an industrial system of the subject
innovation.
[0021] Fig. 5 illustrates a recognition component that identifies patterns in data trends
that affect an industrial process in accordance with an aspect of the subject innovation.
[0022] Figs. 6a & 6b illustrate an industrial system in accordance with an aspect of the
subject innovation with an embedded network analyzer.
[0023] Fig. 7 illustrates a related methodology of displaying data to subscribers in accordance
with a particular aspect of the subject innovation.
[0024] Fig. 8 illustrates a further methodology for subscription in accordance with an aspect
of the subject innovation.
[0025] Figs. 9a & 9b illustrate exemplary industrial automation networks that employ a subscription
and notification component to optimize processes in accordance with an aspect of the
subject innovation.
[0026] Fig. 10 illustrates an exemplary computing environment that can be employed to implement
various aspects of the subject innovation.
[0027] Fig. 11 illustrates an industrial setting with a backplane and associated modules
that can employ a subscription and notification and subscription component in accordance
with an aspect of the subject innovation.
DETAILED DESCRIPTION
[0028] The various aspects of the subject innovation are now described with reference to
the annexed drawings, wherein like numerals refer to like or corresponding elements
throughout. It should be understood, however, that the drawings and detailed description
relating thereto are not intended to limit the claimed subject matter to the particular
form disclosed. Rather, the intention is to cover all modifications, equivalents and
alternatives falling within the spirit and scope of the claimed subject matter.
[0029] Fig. 1 illustrates an industrial system 100 that facilitates delivery of information
to subscribers 112, 114, 116 that have subscribed to the data collectors (
e.g., historians) that collect data from the multiple data streams 102, 104. The subscription
and notification component 110 enables inputs and outputs to be recorded in an I/O
table 120 in processor memory, wherein input values can be asynchronously read from
one or more input modules and output values written to the I/O table for subsequent
communication to users by specialized communications circuitry (
e.g., back plane interface, communications module.) In a related aspect, users can consume
such data directly, typically without a controller involved in the process, wherein
data internal to the I/O can be historized and be directly available to the users.
The I/O module can include a publishing component that can publish data that is stored
in the I/O on the network, and a memory medium for storing the historized data. The
I/O module can further include a point to point closure therein, to allow for high
speeds and publishing of diagnostic data regarding the health/operation of the industrial
unit that the I/O is associated with.
[0030] The system 100 provides for high-scalability and affords for disseminating information
to subscribers 112, 114, 116 (1 thru L, L being an integer) according to specific
subscriber preferences (
e.g., form of display, notifications, and the like.) Such subscriber can be in form of
an entity (
e.g., a person or application) that has subscribed to the industrial system 100. A subscription
in accordance with the subject innovation can be an expressed interest in certain
information (
e.g., manufacturing data, processing data and other historian data), and the specification
of a delivery mode (
e.g., e-mail, voice mail, delivery
via PDA, desktop computer, cellular telephone, television, and the like). In addition,
various events 150 (
e.g., diagnostic events, alarm events, audit events, 1 thru t, where t is an integer)
can be defined for the industrial process, wherein each event can subscribe to a corresponding
log (
e.g., a diagnostic log, alarm log, and the like) 125, 127 (1 thru n, n being an integer),
and vice versa - to display desired items based on predetermined classifications,
and hence facilitate process optimization. The subscription and notification component
110 can employ data sets from the "internal" data stream 102 (
e.g., history data collected from an industrial unit) and an "external" data stream 104
(
e.g., traffic data on network services).
[0031] Fig. 2 illustrates a coordination component 220 can collect and analyze both the
"internal" data stream 202 and the "external" data stream 204 simultaneously. Such
coordination component 220 can synchronize and maintain timing and sequence relationships
between events and network traffic, hence readily evaluating/determining a correlation
or causal relationship between seemingly random events within the two streams 202,
204. It is to be appreciated that such synchronization and maintaining of timing and
sequence relationships can also occur between, multiple internal data streams, multiple
external data streams, and the like. Moreover, the data streams can include data related
to controller alarms, events and audit, wherein alarm and events in such data stream
can further be correlated to a change in the system.
[0032] The coordination component 220 can further initially weave data records from the
internal data stream 202 and the external data stream 204 together (
e.g., based on sequence relationships, time stamps), and subsequently presents such interrelated
data to a user based on predetermined levels of data granularity (
e.g., nano-second interval, milli-second interval). The coordination component 220 can
interact with the subscription and notification component 210, which can dynamically
modify deliver modes given the type of information requested and that is to be delivered,
the criticality associated with the information, the subscriber's present state, and
the deliver preferences given other parameters, and the like. Information that subscribers
are interested in can be collected as events, and various subscription classes can
then be defined for type of data and notifications that are to be provided.
[0033] Hence, the subscriber information (as well as event information if desired) can be
abstracted to high-level classes (
e.g., data fields), which can provide for modeling notification related information when
querying and requesting information from the historians. Subscription applications
can thus be developed at high levels, wherein complex subscription queries and subscriber
information can be defined as data fields for example. By modeling the notification
related information (
e.g., subscription queries, subscriber information, event information...) as data and
leveraging the power of database systems to perform set-oriented manipulations on
this data efficiently, the subject innovation enables for a highly scalable and efficient
subscription and notification system.
[0034] Fig. 3 illustrates a network interface 320 with an embedded network traffic analyzer
that can interact with the subscription and notification component of the subject
innovation. In general, many embedded devices have an event logging mechanism to track
interesting and/or anomalous behavior within the device, wherein such event information
can be downloaded to a PC for evaluation and analysis when a problem occurs. Likewise,
many communication and control networks have traffic analyzer capability that allows
network traffic to be captured by or downloaded to a PC for evaluation and analysis
when a problem occurs.
[0035] As explained earlier, in traditional systems such two information streams are gathered
separately, usually using different pieces of equipment and software. Once gathered,
conventionally they are analyzed separately and timing relationships between events
in the log and network traffic is implied and should be determined manually (if possible
to do so). Fig. 3 illustrates the relationships between: the network interface that
implements the traffic analyzer functionality, the host CPU that implements the event
logging functionality, the shared TimeStamp/Sequence Count Generator 370, and the
external RAM 332 that holds both the Traffic Analyzer (TA) data and event log data.
The coordination associated with the industrial system of the subject innovation can
gather both the event log and network traffic data streams and coordinate their relationships
via a common timestamp/sequence count generator 370. Such coordination maintains the
timing and sequence relationships between events and network traffic, providing a
mechanism for determining cause and effect between the two data streams. Put differently,
both the event logger and traffic analyzer share a common timestamp/sequence count
generator to tag the individual pieces of data collected. By tagging the data with
a common set of identifiers as it is collected, the sequence of what occurred can
be recreated by application software in a PC even if the event log and traffic analyzer
data streams are gathered and uploaded independently, for example. Furthermore, data
streams uploaded from multiple modules can be coordinated, provided that the timestamp/sequence
count generators are synchronized (e.g. via IEEE 1588).
[0036] Network interface 320 can include various components that implement standard network
interface protocol along with additional components required to implement an embedded
network traffic analyzer in accordance with an aspect of the subject innovation. The
standard components can include a receive modem 322, a receiver screeners/filters
324 (or addresses for Ethernet), a network operation control component 326, a memory
interface 328 and a transmit modem 330, for example. The receive modem 322 can be
coupled to the network bus 340 to receive signals transmitted onto the network bus
by other devices. Similarly, the transmit modem 330 can be coupled to a network bus
340 to transmit signals to the network from the device containing the network interface.
Although the receive modem 322 and transmit modem 330 are illustrated as separate
components, it is understood that both components can be implemented in a single transceiver
component capable of both transmitting and receiving information to and from the network
bus. The receive modem 322 can be coupled to the receive screeners/filters 324. The
receive screeners/filters 324 determine whether the information placed on the network
is intended for this particular device. Each device on the network is typically assigned
a unique identifier. The receive screeners/filters 324 recognize the unique identifier
and determine whether the information on the network is intended for the respective
device. The receiver screener/filter 324 can further be coupled to the receive modem
322, the network operation control component 326 and the memory interface 328. Once
determined that the data on the network is intended for the device in question, then
the network operation control component 326 interprets and responds to the information
accordingly. The memory interface 328 is coupled to receive screeners/filters 324,
normal operation control component 326, transmit modem 330, and external random access
memory (RAM) 332. Although the RAM 332 is illustrated as being external to the network
interface, it is understood that the RAM can be implemented internally as well, or
RAM 332 can be implemented as a combination of both internal memory and external memory.
As direct by network operation control component 326, memory interface 328 uploads
data from RAM 332 or downloads data to RAM 332 as necessary. Data is then passed as
necessary from RAM 332 through memory interface 328 to transmit modem 330 and onto
the network or from the receive screeners/filters 324 and through the memory interface
328 and into RAM 332.
[0037] The network interface 320 with embedded network traffic analyzer can be implemented
as an Application Specific Integrated Circuit (ASIC). The particular makeup of the
components of the ASIC varies in accordance with the requirements for the intended
network standard and protocol. Although illustrated as being implemented in an ASIC,
it is understood that the present invention can be implemented with standard integrated
circuits, discreet components, more than one ASIC, a combination thereof, or in any
manner which replicates the required function and the present invention is intended
to encompass all such configurations.
[0038] By adding the additional components 334 to the network interface, any suitable device
comprising the network interface with the additional components can be employed as
a network traffic analyzer. The additional components 334 are comprised of traffic
analyzer filters component 336 and traffic analyzer control component 338. Data on
the network is received by the receive modem 322 and passed to the traffic analyzer
filters component (not shown). It is to be appreciated that Fig. 3 is exemplary in
nature, and other implementations such as an external device that contains an external
analyzer device can be connected to the network.
[0039] Such traffic analyzer filters component can include for example, a source media access
control (MAC) identifier (ID) filter component, a destination MAC ID filter component,
a packet type filter component (scheduled, unscheduled,
etc.), and other filter components to capture information pertinent to the network protocol
or IP addresses/broadcast addresses for Ethernet scenarios. For example, such other
filter components can include, a sequence number filter component, a packet length
filter component, a checksum data component, and typically any other information pertinent
to the given network protocol. The combination of all the filters allow the network
interface to determine which device is the source of data being transmitted, which
device is the destination for the data being transmitted, the type of information
being transmitted, the length of the data being transmitted and other information
pertinent to diagnosing network problems. Control of the network traffic analyzer
is accomplished by the traffic analyzer control component 338. Such traffic analyzer
control component 338 can further include a monitoring component, a collection start/stop
component, a memory configuration and status component, and a memory upload/download
component. The monitoring component monitors the normal device operations to determine
available processor and memory access bandwidth which can be utilized for network
traffic analyzer functions. The collection start/stop component determines conditions
for which data collection will start and stop. Start and stop conditions can be triggered
by many different conditions including, but not limited to, time, duration, presence
of a particular condition, packet type, or data or absence of a particular condition,
packet type or data. The memory configuration and status components along with the
memory upload/download components help control the management of collected data to
and from memory.
[0040] The added components can include hardware and firmware to fulfill the operation as
an embedded network traffic analyzer. The added firmware includes an interface to
the network traffic analyzer. The additional firmware comprises necessary information
for the particular network including filter configuration, memory configuration an
associated status, collection start and stop, and network traffic analyzer memory
upload. With the additional hardware and firmware components, the interface device
can start and stop collecting, recording and analyzing data in accordance with a prescribed
set of conditions.
[0041] Fig. 4 illustrates a matching component 410 as part of an industrial system 400 of
the subject innovation. A matching component 410 can subscribe modules/industrial
zones with predetermined triggering events within such synchronized industrial setting.
Data can subsequently be displayed to users based on defined zones and/or event triggers.
The industrial zones 411,413,415 can be designated and/or identified zones within
an industrial automation environment 400. Any number of zones (1 to m, wherein m is
an integer) can be designated for zone recognition, and each of such zones 411, 413,
415 can be any shape, size,
etc. and/or can be associated with any machine, process, as part of the industrial system
- wherein each zone can remain static at all times, change over time, and the like.
[0042] The triggering event 421, 423, and 425 (1 to k, k being an integer) can include events
such as; receiving a message to execute a particular functional block, locating data
input for a functional block, executing a predetermined order for the functional block,
and the like, for example. In a related aspect, rate of data collection can automatically
start at onset of activities relating to a function block by the triggering event.
Likewise, data collection can automatically stop upon completion of the function block.
Accordingly, relevant data to various performance stages can automatically be gathered,
even though users (
e.g., unit operators, plant engineers) may not necessarily know what data is important
to collect for addressing future trouble-shooting.
[0043] Fig. 5 illustrates an industrial system 500 in accordance with an aspect of the subject
innovation, which further includes recognition component. The recognition component
510 identifies patterns in data trends that affect an industrial process in accordance
with an aspect of the subject innovation. Moreover, the recognition component 510
can analyze both the "internal" data stream 511 and the "external" data stream 512,
to identify patterns in data trends that affect industrial processes. Such pattern
identification for events (1 to L, where L is an integer) can be based on: predetermined
scenarios (
e.g. comparison of operation status for the industrial plant with quality of previous
batch out comes), and/or interpreting control programs that are routinely updated.
The recognition component 510 can further employ explicit correlations 514 (
e.g., predetermined models that are set by a user/external data sources), and/or implicit
correlations 515 that are dynamically deduced among events/possible causation links.
[0044] Fig. 6a illustrates an industrial system in accordance with an aspect of the subject
innovation, which employs an embedded traffic network analyzer- wherein by adding
the added components to a device with a network interface, the device is configurable
as a network traffic analyzer. The system 600 includes a processor 602 and a network
interface 604 with an embedded network traffic analyzer 606 in accordance with the
subject innovation. The embedded network traffic analyzer 606 can further include
a traffic analyzer filter component 608 and traffic analyzer control component 610,
both hardware and associated firmware. When connected to a network, the device will
function as a network traffic analyzer for the network to which it is connected. Such
is illustrated in Fig. 6b where device 650 includes a network interface with embedded
network traffic analyzer 652 is coupled to a network 654. The device 650 can be a
standard PC, a network printer, a network scanner, or any device with a network interface
to which the network traffic analyzer components have been added. In accordance with
one aspect of the invention, the device 650 can be operated in different modes. For
example, in one mode the operation of device 650 is dedicated to a normal function
(
e.g. a PC, printing, scanning,
etc.). In another mode the device 650 can operate as a dedicated network traffic analyzer.
While in yet another mode, the device 650 combines its normal function(s) with network
traffic analyzer functionalities. In such mode, priority is generally given to the
devices' normal operation; the network traffic analyzer functions can utilize excess
device resources such as processor and memory bandwidth. In any mode, complex sorting
and searching tasks can be performed at a later point in time, for example as post
processing operations on a computer comprising the subject innovation, or the data
gathered by the device can be transferred
via the network to another processor for post processing and analysis.
[0045] Fig. 7 illustrates a related methodology 700 of gathering data based on a plurality
of granularity levels for the industrial process. While the exemplary method is illustrated
and described herein as a series of blocks representative of various events and/or
acts, the present invention is not limited by the illustrated ordering of such blocks.
For instance, some acts or events may occur in different orders and/or concurrently
with other acts or events, apart from the ordering illustrated herein, in accordance
with the invention. In addition, not all illustrated blocks, events or acts, may be
required to implement a methodology in accordance with the present invention. Moreover,
it will be appreciated that the exemplary method and other methods according to the
invention may be implemented in association with the method illustrated and described
herein, as well as in association with other systems and apparatus not illustrated
or described. Initially and at 710, users can initially determine type of data to
be collected from the internal data streams and the external data streams. Subsequently,
and at 720 data collectors (
e.g., historians) can be notified for collection of such data type. At 730 data can initiate
collection of data or access a collection of such data type. Subsequently, the data
collectors can be acquired, supplied and reported to the subscribers at 740.
[0046] Fig. 8 illustrates a related methodology 800 of supplying data to subscribed users
and data collection,
via a plurality of embedded historians that are locatable throughout the industrial system.
Initially, and at 810, subscribers can directly subscribe to data collectors (
e.g., historians), and hence bypass other components (
e.g., controllers) for access to the internal data stream(s) and external data stream(s)
in accordance with an aspect of the subject innovation. Next and 820, a trail of data
can be employed to locate a desired data collector. Such can further include employing
a directory to determine where the source or destination for a particular data structure
is located. At 830, embedded historian functionality can be associated with the common
data structure as part of the internal data stream, wherein the controller can specify
that such data is to be collected by an embedded historian component. Similarly, data
can be exposed to data collectors according to its metadata or other determined data
context. At 840, data is collected across various levels of an organization according
to the plant data model and
via the associated directory service, for display to subscribers.
[0047] As explained earlier, it is to be appreciated that while two data streams are described
in Fig 8 and Figs 9a & 9b, multiple data streams can also be employed for analysis
utilizing the aspects of the subject innovation. Moreover, while the subject innovation
is primarily described in context of an internal and external data stream, it is to
be appreciated that the data streams can also include any combination of: multiple
internal; multiple external; internal and external or multiple internal and external
data streams.
[0048] Fig. 9a illustrates an exemplary industrial automation network that employs a subscription
and notification component 965 that enables various events (
e.g., diagnostic events, alarm events, audit events) to be defined for the industrial
process, wherein each event can subscribe to a corresponding log (
e.g., a diagnostic log, alarm log, and the like), and vice versa - to display desired
items based on predetermined classifications, and hence facilitate process optimization.
[0049] In one aspect, the subscription and notification component can be part of the modules
955. The industrial setting 900 can further include a database 910, a human machine
interface (HMI) 920 and a programmable logic controller (PLC) 930, and a directory
interface 940, for example. The subscription and notification component 965 can further
associate with an Artificial Intelligence (AI) component 950 to facilitate optimization
based on the collected data, (
e.g., via the embedded historians for the internal data stream.)
[0050] For example, in connection with process optimization the subject innovation can employ
various artificial intelligence schemes. A process for learning explicitly or implicitly
whether data from a historian should be downloaded, can be facilitated
via an automatic classification system and process. Classification can employ a probabilistic
and/or statistical-based analysis (
e.g., factoring into the analysis utilities and costs) to prognose or infer an action
that a user desires to be automatically performed. For example, a support vector machine
(SVM) classifier can be employed. Other classification approaches include Bayesian
networks, decision trees, and probabilistic classification models providing different
patterns of independence can be employed. Classification as used herein also is inclusive
of statistical regression that is utilized to develop models of priority.
[0051] As will be readily appreciated from the subject specification, the subject innovation
can employ classifiers that are explicitly trained (
e.g.,
via a generic training data) as well as implicitly trained (
e.g.,
via observing user behavior, receiving extrinsic information) so that the classifier
is used to automatically determine according to a predetermined criteria which answer
to return to a question. For example, with respect to SVM's that are well understood,
SVM's are configured
via a learning or training phase within a classifier constructor and feature selection
module. A classifier is a function that maps an input attribute vector, x = (x1, x2,
x3, x4,
xn), to a confidence that the input belongs to a class - that is, f(x) =
confidence(
class). As shown in Fig. 9a, an artificial intelligence (AI) component 950 can be employed
to facilitate inferring and/or determining when, where, how to optimize processes.
The AI component 950 can employ any of a variety of suitable AI-based schemes as described
supra in connection with facilitating various aspects of the subject innovation.
[0052] In addition, the directory interface 940 can be employed to provide data from an
appropriate location such as the data source 960, a server 970 and/or a proxy server
980. Accordingly, the directory interface 940 can point to a source of data based
upon role and requirements (needs) of a requester (
e.g., database 910, HMI 920, PLC 930, and the like.) The database 910 can be any number
of various types such as a relational, network, flat-file or hierarchical systems.
Typically, such databases can be employed in connection with various enterprise resource
planning (ERP) applications that can service any number of various business related
processes within a company. For example, ERP applications can be related to human
resources, budgeting, forecasting, purchasing and the like. In this regard, particular
ERP applications may require data that has certain desired attributes associated therewith.
Thus, in accordance with an aspect of the subject invention, the directory interface
940 can provide data to the database 910 from the server 970, which provides data
with the attributes desired by the database 910.
[0053] Moreover, the HMI 920 can employ the directory interface 940 to point to data located
within the system 900. The HMI 920 can be employed to graphically display various
aspects of a process, system, factory,
etc. to provide a simplistic and/or user-friendly view of the system. Accordingly, various
data points within a system can be displayed as graphical (
e.g., bitmaps, jpegs, vector based graphics, clip art and the like) representations with
desired color schemes, animation, and layout.
[0054] The HMI 920 can request data to have particular visualization attributes associated
with data in order to easily display such data thereto. For example, the HMI 920 can
query the directory interface 940 for a particular data point that has associated
visualization attributes. The directory interface 940 can determine the proxy server
980 contains the attributed data point with the desired visualization attributes.
For instance, the attributed data point can have a particular graphic that is either
referenced or sent along with the data such that this graphic appears within the HMI
environment instead of or along with the data value.
[0055] The PLC 930 can be any number of models such as Allen Bradley Logix, PLC5, SLC-500,
MicoLogix, and the like. The PLC 930 is generally defined as a specialized device
employed to provide high-speed, low-level control of a process and/or system. The
PLC 930 can be programmed using ladder logic or some form of structured language or
other appropriate language. Typically, the PLC 930 can utilize process data directly
from a data source (
e.g., process data source 990 or data source 960) that can be a sensor, encoder, measurement
sensor, switch, valve and the like. The data sources 990 or 960 can provide data to
a register in a PLC and such data can be stored in the PLC if desired. Additionally,
data can be updated (
e.g., based on a clock cycle) and/or output to other devices for further processing.
[0056] Fig. 9b illustrates a related exemplary industrial setting 901 that can include:
a programmable logic controller (PLC) 911, a computer (PC) 921, an industrial network
bridge 931 and two industrial network adapters 951 and 961 with their associated I/O
modules. Such components/modules can be interfaced together
via two industrial automation networks 971 and 981. The subscription and notification
and AI components can be positioned on one module (
e.g., industrial network bridge 931), and control the data collection components of another
module (
e.g., the historian and traffic analyzer (TA) of industrial network adapter 951. Likewise,
the subscription and notification and AI components of the PC 921 can control the
data collection components of PLC 911 and industrial network adapter 961, for example.
It is to be appreciated that the subscription and notification and AI components need
not be positioned together within the same module/component. Nor do the internal and
external data stream collection mechanisms need to be located together within the
same module/component. For example, the internal data stream of one module (
e.g., a module that has a historian but not a TA) can be correlated with the external
data stream of another module that has a TA.
[0057] Fig. 10 illustrates an exemplary environment 1010 for implementing various aspects
of the subject innovation, which can include computer 1012, as part of the subscription
and notification component. The computer 1012 includes a processing unit 1014, a system
memory 1016, and a system bus 1018. The system bus 1018 couples system components
including, but not limited to, the system memory 1016 to the processing unit 1014.
The processing unit 1014 can be any of various available processors. Dual microprocessors
and other multiprocessor architectures also can be employed as the processing unit
1014.
[0058] The system bus 1018 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,
9-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), Small Computer
Systems Interface (SCSI) or other proprietary bus.
[0059] The system memory 1016 includes volatile memory 1020 and nonvolatile memory 1022.
The basic input/output system (BIOS), containing the basic routines to transfer information
between elements within the computer 1012, such as during start-up, is stored in nonvolatile
memory 1022. For example, nonvolatile memory 1022 can include read only memory (ROM),
programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable
ROM (EEPROM), or flash memory. Volatile memory 1020 includes random access memory
(RAM), which acts as external cache memory. Moreover, 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).
[0060] Computer 1012 also includes removable/non-removable, volatile/non-volatile computer
storage media. Fig. 10 illustrates, for example a disk storage 1024. Disk storage
1024 includes, but is not limited to, devices like a magnetic disk drive, floppy disk
drive, tape drive, Jaz drive, Zip drive, LS-60 drive, flash memory card, or memory
stick. In addition, disk storage 1024 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 the disk storage devices 1024 to the system bus 1018, a removable or
non-removable interface is typically used such as interface 1026.
[0061] It is to be appreciated that Fig. 10 describes software that acts as an intermediary
between users and the basic computer resources described in suitable operating environment
1010. Such software includes an operating system 1028. Operating system 1028, which
can be stored on disk storage 1024, acts to control and allocate resources of the
computer system 1012. System applications 1030 take advantage of the management of
resources by operating system 1028 through program modules 1032 and program data 1034
stored either in system memory 1016 or on disk storage 1024. It is to be appreciated
that various components described herein can be implemented with various operating
systems or combinations of operating systems.
[0062] A user enters commands or information into the computer 1012 through input device(s)
1036. Input devices 1036 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 1014 through
the system bus 1018
via interface port(s) 1038. Interface port(s) 1038 include, for example, a serial port,
a parallel port, a game port, and a universal serial bus (USB). Output device(s) 1040
use some of the same type of ports as input device(s) 1036. Thus, for example, a USB
port may be used to provide input to computer 1012, and to output information from
computer 1012 to an output device 1040. Output adapter 1042 is provided to illustrate
that there are some output devices 1040 like monitors, speakers, and printers, among
other output devices 1040 that require special adapters. The output adapters 1042
include, by way of illustration and not limitation, video and sound cards that provide
a means of connection between the output device 1040 and the system bus 1018. It should
be noted that other devices and/or systems of devices provide both input and output
capabilities such as remote computer(s) 1044.
[0063] Computer 1012 can operate in a networked environment using logical connections to
one or more remote computers, such as remote computer(s) 1044. The remote computer(s)
1044 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
1012. For purposes of brevity, only a memory storage device 1046 is illustrated with
remote computer(s) 1044. Remote computer(s) 1044 is logically connected to computer
1012 through a network interface 1048 and then physically connected
via communication connection 1050. Network interface 1048 encompasses communication networks
such as local-area networks (LAN) and wide-area networks (WAN). LAN technologies include
Fiber Distributed Data Interface (FDDI), 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).
[0064] Communication connection(s) 1050 refers to the hardware/software employed to connect
the network interface 1048 to the bus 1018. While communication connection 1050 is
shown for illustrative clarity inside computer 1012, it can also be external to computer
1012. The hardware/software necessary for connection to the network interface 1048
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.
[0065] As used herein, the terms "component," "system" and the like can also refer to a
computer-related entity, either hardware, a combination of hardware and software,
software, or software in execution, in addition to electro-mechanical devices. For
example, a component may be, but is not limited to being, a process running on a processor,
a processor, an object, an executable, a thread of execution, a program, and/or a
computer. By way of illustration, both an application running on computer and the
computer can be a component. One or more components may reside within a process and/or
thread of execution and a component may be localized on one computer and/or distributed
between two or more computers. The word "exemplary" is used herein 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.
[0066] Fig. 11 also illustrates an exemplary environment that can employ a subscription
and notification component to collect data in accordance with various aspects of the
subject innovation. Each functional module 1114 is attached to the backplane 1116
by means of a separable electrical connector 1130 that permits the removal of the
module 1114 from the backplane 1116 so that it may be replaced or repaired without
disturbing the other modules 1114. The backplane 1116 provides the module 1114 with
both power and a communication channel to the other modules 1114. Local communication
with the other modules 1114 through the backplane 1116 is accomplished by means of
a backplane interface 1132 which electrically connects the backplane 1116 through
connector 1130. The backplane interface 1132 monitors messages on the backplane 1116
to identify those messages intended for the particular module 1114, based on a message
address being part of the message and indicating the message destination. Messages
received by the backplane interface 1132 are conveyed to an internal bus 1134 in the
module 1114.
[0067] The internal bus 1134 joins the backplane interface 1132 with a memory 1136, a microprocessor
1128, front panel circuitry 1138, I/O interface circuitry 1139 and communication network
interface circuitry 1141. The microprocessor 1128 can be a general purpose microprocessor
providing for the sequential or parallel execution of instructions included within
the memory 1136 and the reading and writing of data to and from the memory 1136 and
the other devices associated with the internal bus 1134. The microprocessor 1128 includes
an internal clock circuit (not shown) providing the timing of the microprocessor 1128
but may also communicate with an external clock 1143 of improved precision. This clock
1143 may be a crystal controlled oscillator or other time standard including a radio
link to an external time standard. The precision of the clock 1143 may be recorded
in the memory 1136 as a quality factor. The panel circuitry 1138 includes status indication
lights such as are well known in the art and manually operable switches such as for
locking the module 1114 in the off state.
[0068] The memory 1136 can comprise control programs or routines executed by the microprocessor
1128 to provide control functions, as well as variables and data necessary for the
execution of those programs or routines. For I/O modules, the memory 1136 may also
include an I/O table holding the current state of inputs and outputs received from
and transmitted to the industrial controller 1110
via the I/O modules 1120, shown here located on I/O network 1122, for example. The module
1114 can be adapted to perform the various methodologies of the innovation,
via hardware configuration techniques and/or by software programming techniques.
[0069] It is to be appreciated that while various aspects have been primarily described
in context of two data streams, the subject innovation is not so limited and multiple
data streams fall within the realm of the subject innovation. Furthermore, while an
internal data stream and an external data stream are described, it is to be appreciated
that the data streams can include any combination of multiple internal, multiple external,
internal and external or multiple internal and external data streams. What has been
described above includes various exemplary aspects. It is, of course, not possible
to describe every conceivable combination of components or methodologies for purposes
of describing these aspects, but one of ordinary skill in the art may recognize that
many further combinations and permutations are possible. In particular regard to the
various functions performed by the above described components (assemblies, devices,
circuits, systems, etc.), 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., that is functionally equivalent), even though not structurally equivalent to the
disclosed structure, which performs the function in the herein illustrated exemplary
aspects of the innovation. In this regard, it will also be recognized that the innovation
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 innovation.
Furthermore, to the extent that the term "includes" is used in either the detailed
description or the claims, such term is intended to be inclusive in a manner similar
to the term "comprising" as "comprising" is interpreted when employed as a transitional
word in a claim.