Redundant Event Stream

In a system setup which uses multiple streams to ensure data ingegrity for Alarms & Events by redundancy, the Redundant Event Stream object identifies individual Alarms & Events and sorts out doublets of the same message, which have reached the core through different streams.

To prevent data loss in the event of a loss of service, the Redundant Event Stream object is linked to multiple redundant instances of Event Stream or Script Event objects. If the event source for one of the Event Stream objects fails, the other stream provides backup ensuring that the Redundant Event Stream doesn’t miss any events. Events for the Redundant Event Stream can be historized like any other Event Stream or Script Event object.

Redundant Event Stream objects are created in the I/O Model and events can be visualized in the Event View display.

Use Cases

  • Providing redundancy functionality for Event Streams

Quick Configuration

  1. Redundant Event Stream objects build upon multiple Event Stream objects which are linked to the same stream of events. To try out the functionality, it is therefore useful to have at least two independent Event Stream objects underneath different Connectors (corresponding to different Connector services) that are connected to the same event source (for instance, an OPC A&E server).

  2. To create a new Redundant Event Stream object, in the I/O Model right-click on the Core object and then select Admin  New  Event  Redundant Event Stream from the context menu.

  3. Give the object a unique name and enter a description if necessary. Select the Event Historization checkbox to ensure that all events are archived.

  4. The Archive Selector property allows you to select the data store which the events are archived. Users can select the System Event (A&E) Data Store or All Top Level Event Stores (this means the data will be stored in any custom event stores that exist in the tree above the object AND the System Event (A&E) Data Store). Any other event data stores or Generic Event Buffer objects that have been configured in the Core Data Store Sets table property will also be available for selection here.

  5. To connect Event Stream objects to the Redundant Event Stream Object you have to create a reference to the event stream in the Redundant Event Stream object. Such a reference will be created when you drag & drop an Event Stream Object to the Redundant Event Stream object in the I/O Model. Repeat for all Event Stream Objects which represent the same stream of events.

  6. To display the Redundant Event Stream right click on the Redundant Event Stream object and and select Add item(s) to …​  Event View

Information regarding the status of an existing Redundant Event Stream can be found in the Properties section of Object Properties panel, by expanding A&E Redundancy Information.

Advanced Configuration

Each A&E message is only sent once through each channel. Thus, two messages coming through the same channel have to be two individual messages. If messages reach the core through different streams, the system has to investigate if they are copies of a message, which is already known, or if they are new messages.

Redundant Event Stream objects provide the means for a meticulous configuration to differentiate between individual messages and multiple copies of the same message.

Redundancy Investigation

The criteria for the Redundancy Investigation Strategy can be configured in the subsection of the same name, which can be found underneath Common section in the Object Properties Panel for the selected Redundant Event Stream object.

If selected, the entries for a specific criterion will be compared when testing for doublets. If all selected criteria have the same value for the investigated messages, these are regarded as doublets and only one of them will be treated as an individual A&E message. The more criteria are selected for investigation, the more precise the differentiation between individual messages and the doublets will be. Most of the criteria available for selection correspond to the columns in the Event View Display.

A&E Redundancy Buffer Settings

This compound allows to limit the redundancy investigation by time and number of messages. Messages which arrive within these limits will be investigated for redundancy; messages arriving outside these limits are regarded as individual messages.

Table 1. A&E Redundancy Buffer Settings

Time Period

The maximum number of minutes for which messages are buffered for comparison. If messages arrive more than this number of minutes apart, they are not investigated as potential doublets but treated as individual messages.

Max Hashes

The maximum number of message to be buffered for comparison. If the number of messages in the buffer has reached this limit, the oldest message will be discarded whenever a new one arrives. If the number of messages between the arrival of two similar messages exceeds this number, the new message can no longer be compared to the older message and is therefore treated as an individual message.

Logging

To enable logging for the Redundant Event Stream object, check the Enable Disk Log property in the Common section for this object in the Property Panel. If enabled, the system writes a log file for this object to the system’s log folder.

Object Properties

Common

Object Name

The user-modifiable object name. This name overrides the name which has been supplied by the external system. It must be unique within the collection of objects of the parent object.

Object Description

This is the user-modifiable object description. This text overrides the description which has been supplied by the external system.

Display Alias

Alternate label for objects to be used for easier identification in the displays.

Enable Disk Log

If enabled, this object will log detail operations to the disk log folder.

Event Historization

This setting defines whether a certain Event Stream shall historize raw events.

Archive Selection

Select default archive of the master core or a custom set of data stores.

A&E Routing Information

A&E Routing Information.

Redundancy Investigation Strategy

The flag mask which indicates the strategy for OPC classic-born alarm & event redundancy resolution.

  • Investigate Timestamp: If this flag is checked the timestamp will be included in the redundancy investigation.

  • Investigate Event Type: If this flag is checked the event type will be included in the redundancy investigation.

  • Investigate Quality: If this flag is checked the quality will be included in the redundancy investigation.

  • Investigate Severity: If this flag is checked the severity will be included in the redundancy investigation.

  • Investigate Active Time: If this flag is checked the active time will be included in the redundancy investigation.

  • Investigate Category: If this flag is checked the category will be included in the redundancy investigation.

  • Investigate Condition: If this flag is checked the condition will be included in the redundancy investigation.

  • Investigate Subcondition: If this flag is checked the subcondition will be included in the redundancy investigation.

  • Investigate Change Mask: If this flag is checked the change mask will be included in the redundancy investigation.

  • Investigate NewState: If this flag is checked the NewState will be included in the redundancy investigation.

  • Investigate Message: If this flag is checked the message will be included in the redundancy investigation.

  • Investigate Attributes: If this flag is checked the attributes will be included in the redundancy investigation.

  • Investigate Cookie: If this flag is checked the source server cookie will be included in the redundancy investigation.

Attachments

File attachments stored in MongoDB file store.

A&E Redundancy Information

The current information about event selection in the redundant event stream.

Number of Events

Current number of events processed by the redundant event stream.

Forwarded Events

Current number of events forwarded by the event stream, which equals the number of events which have been considered non-redundant.

Active Timestamp

Current active timestamp for redundant event filtering.

Active Reference Name

Current active reference name for redundant event filtering.

Active Connector Name

Current active connector name for redundant event filtering.

Active Datasource Name

Current active datasource name for redundant event filtering.

Active Stream Name

Current active stream name for redundant event filtering.

A&E Redundancy Buffer Settings

Adjustments of the working buffer size.

Time Period

The maximum time period to keep hashed events in memory.

Max Hashes

The absolute maximum of hashes to keep in memory.

Auxiliary State Management

Configurable settings for auxiliary state management.

Strategy

Specifies how auxiliary state changes are handled.

  • Inherit: Inherit the setting from the parent object. In case of no parent object, the "Persist" mode is used.

  • Persist: All object auxiliary states are indicated and persisted to the archive.

  • Volatile: Auxiliary state changes are volatile and not persisted.

  • Inhibit: Inhibit all auxiliary state changes.

Custom Options

Compound to hold various structures to customize the object and to be read and written to by Lua-Script code or external interfaces.

Custom String

A generic string buffer to be used programmatically for custom purposes.

Custom Properties

This is an extensible set of named strings which can be used programmatically for custom purposes.

Property Name

A custom property name which can be used programmatically.

Property Value

The value of the custom property which can be read and written programmatically.

Custom Tables

This is an extensible set of named tables which can be used programmatically for custom purposes.

Table Name

A custom table name which can be used programmatically.

Table Data

Handles an entire table organized in columns and rows. The data can easily (cut, copy and paste) be exchanged with table-oriented data of other software products, e.g. MS Excel.